diff --git a/server/schema/resources.schema.json b/server/schema/resources.schema.json index 99b268e1..fedf1c55 100644 --- a/server/schema/resources.schema.json +++ b/server/schema/resources.schema.json @@ -32,9 +32,9 @@ ], "additionalProperties": false }, - "AWS_ServiceCatalog_LaunchNotificationConstraint": { + "AWS_NetworkManager_TransitGatewayPeering": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::ServiceCatalog::LaunchNotificationConstraint \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicecatalog-launchnotificationconstraint.html)", + "markdownDescription": "AWS::NetworkManager::TransitGatewayPeering Resoruce Type. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkmanager-transitgatewaypeering.html)", "allOf": [ { "type": "object", @@ -42,14 +42,14 @@ "Type": { "type": "string", "enum": [ - "AWS::ServiceCatalog::LaunchNotificationConstraint" + "AWS::NetworkManager::TransitGatewayPeering" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::ServiceCatalog::LaunchNotificationConstraint \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicecatalog-launchnotificationconstraint.html)" + "AWS::NetworkManager::TransitGatewayPeering Resoruce Type. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkmanager-transitgatewaypeering.html)" ] }, "Properties": { - "$ref": "resources/aws-servicecatalog-launchnotificationconstraint.json" + "$ref": "resources/aws-networkmanager-transitgatewaypeering.json" } }, "required": [ @@ -63,9 +63,9 @@ ], "additionalProperties": false }, - "AWS_QuickSight_Template": { + "AWS_XRay_Group": { "type": "object", - "markdownDescription": "Definition of the AWS::QuickSight::Template Resource Type. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-quicksight-template.html)", + "markdownDescription": "This schema provides construct and validation rules for AWS-XRay Group resource parameters. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-xray-group.html)", "allOf": [ { "type": "object", @@ -73,14 +73,14 @@ "Type": { "type": "string", "enum": [ - "AWS::QuickSight::Template" + "AWS::XRay::Group" ], "markdownEnumDescriptions": [ - "Definition of the AWS::QuickSight::Template Resource Type. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-quicksight-template.html)" + "This schema provides construct and validation rules for AWS-XRay Group resource parameters. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-xray-group.html)" ] }, "Properties": { - "$ref": "resources/aws-quicksight-template.json" + "$ref": "resources/aws-xray-group.json" } }, "required": [ @@ -94,9 +94,9 @@ ], "additionalProperties": false }, - "AWS_AppMesh_Mesh": { + "AWS_MediaLive_EventBridgeRuleTemplateGroup": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::AppMesh::Mesh \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appmesh-mesh.html)", + "markdownDescription": "Definition of AWS::MediaLive::EventBridgeRuleTemplateGroup Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-medialive-eventbridgeruletemplategroup.html)", "allOf": [ { "type": "object", @@ -104,18 +104,19 @@ "Type": { "type": "string", "enum": [ - "AWS::AppMesh::Mesh" + "AWS::MediaLive::EventBridgeRuleTemplateGroup" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::AppMesh::Mesh \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appmesh-mesh.html)" + "Definition of AWS::MediaLive::EventBridgeRuleTemplateGroup Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-medialive-eventbridgeruletemplategroup.html)" ] }, "Properties": { - "$ref": "resources/aws-appmesh-mesh.json" + "$ref": "resources/aws-medialive-eventbridgeruletemplategroup.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -124,9 +125,9 @@ ], "additionalProperties": false }, - "AWS_AppFlow_Flow": { + "AWS_Greengrass_LoggerDefinitionVersion": { "type": "object", - "markdownDescription": "Resource schema for AWS::AppFlow::Flow. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appflow-flow.html)", + "markdownDescription": "Resource Type definition for AWS::Greengrass::LoggerDefinitionVersion \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-loggerdefinitionversion.html)", "allOf": [ { "type": "object", @@ -134,14 +135,14 @@ "Type": { "type": "string", "enum": [ - "AWS::AppFlow::Flow" + "AWS::Greengrass::LoggerDefinitionVersion" ], "markdownEnumDescriptions": [ - "Resource schema for AWS::AppFlow::Flow. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appflow-flow.html)" + "Resource Type definition for AWS::Greengrass::LoggerDefinitionVersion \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-loggerdefinitionversion.html)" ] }, "Properties": { - "$ref": "resources/aws-appflow-flow.json" + "$ref": "resources/aws-greengrass-loggerdefinitionversion.json" } }, "required": [ @@ -155,9 +156,9 @@ ], "additionalProperties": false }, - "AWS_Greengrass_DeviceDefinitionVersion": { + "AWS_EC2_VerifiedAccessTrustProvider": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::Greengrass::DeviceDefinitionVersion \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-devicedefinitionversion.html)", + "markdownDescription": "The AWS::EC2::VerifiedAccessTrustProvider type describes a verified access trust provider \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-verifiedaccesstrustprovider.html)", "allOf": [ { "type": "object", @@ -165,14 +166,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Greengrass::DeviceDefinitionVersion" + "AWS::EC2::VerifiedAccessTrustProvider" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::Greengrass::DeviceDefinitionVersion \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-devicedefinitionversion.html)" + "The AWS::EC2::VerifiedAccessTrustProvider type describes a verified access trust provider \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-verifiedaccesstrustprovider.html)" ] }, "Properties": { - "$ref": "resources/aws-greengrass-devicedefinitionversion.json" + "$ref": "resources/aws-ec2-verifiedaccesstrustprovider.json" } }, "required": [ @@ -186,9 +187,9 @@ ], "additionalProperties": false }, - "AWS_EC2_LocalGatewayRouteTableVPCAssociation": { + "AWS_RDS_DBInstance": { "type": "object", - "markdownDescription": "Describes an association between a local gateway route table and a VPC. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-localgatewayroutetablevpcassociation.html)", + "markdownDescription": "The ``AWS::RDS::DBInstance`` resource creates an Amazon DB instance. The new DB instance can be an RDS DB instance, or it can be a DB instance in an Aurora DB cluster.\n For more information about creating an RDS DB instance, see [Creating an Amazon RDS DB instance](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_CreateDBInstance.html) in the *Amazon RDS User Guide*.\n For more information about creating a DB instance in an Aurora DB cluster, see [Creating an Amazon Aurora DB cluster](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/Aurora.CreateInstance.html) in the *Amazon Aurora User Guide*.\n If you import an existing DB instance, and the template configuration doesn't match the actual configuration of the DB instance, AWS CloudFormation applies the changes in the template during the import operation.\n If a DB instance is deleted or replaced during an update, AWS CloudFormation deletes all automated snapshots. However, it retains manual DB snapshots. During an update that requires replacement, you can apply a stack policy to prevent DB instances from being replaced. For more information, see [Prevent Updates to Stack Resources](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/protect-stack-resources.html).\n *Updating DB instances* \n When properties labeled \"*Update requires:* [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)\" are updated, AWS CloudFormation first creates a replacement DB instance, then changes references from other dependent resources to point to the replacement DB instance, and finally deletes the old DB instance.\n We highly recommend that you take a snapshot of the database before updating the stack. If you don't, you lose the data when AWS CloudFormation replaces your DB instance. To preserve your data, perform the following procedure:\n 1. Deactivate any applications that are using the DB instance so that there's no activity on the DB instance.\n 1. Create a snapshot of the DB instance. For more information, see [Creating a DB Snapshot](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_CreateSnapshot.html).\n 1. If you want to restore your instance using a DB snapshot, modify the updated template with your DB instance changes and add the ``DBSnapshotIdentifier`` property with the ID of the DB snapshot that you want to use.\n After you restore a DB instance with a ``DBSnapshotIdentifier`` property, you can delete the ``DBSnapshotIdentifier`` property. When you specify this property for an update, the DB instance is not restored from the DB snapshot again, and the data in the database is not changed. However, if you don't specify the ``DBSnapshotIdentifier`` property, an empty DB instance is created, and the original DB instance is deleted. If you specify a property that is different from the previous snapshot restore property, a new DB instance is restored from the specified ``DBSnapshotIdentifier`` property, and the original DB instance is deleted.\n 1. Update the stack.\n \n For more information about updating other properties of this resource, see ``ModifyDBInstance``. For more information about updating stacks, see [CloudFormation Stacks Updates](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks.html).\n *Deleting DB instances* \n For DB instances that are part of an Aurora DB cluster, you can set a deletion policy for your DB instance to control how AWS CloudFormation handles the DB instance when the stack is deleted. For Amazon RDS DB instances, you can choose to *retain* the DB instance, to *delete* the DB instance, or to *create a snapshot* of the DB instance. The default AWS CloudFormation behavior depends on the ``DBClusterIdentifier`` property:\n 1. For ``AWS::RDS::DBInstance`` resources that don't specify the ``DBClusterIdentifier`` property, AWS CloudFormation saves a snapshot of the DB instance.\n 1. For ``AWS::RDS::DBInstance`` resources that do specify the ``DBClusterIdentifier`` property, AWS CloudFormation deletes the DB instance.\n \n For more information, see [DeletionPolicy Attribute](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-deletionpolicy.html). \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbinstance.html)", "allOf": [ { "type": "object", @@ -196,19 +197,18 @@ "Type": { "type": "string", "enum": [ - "AWS::EC2::LocalGatewayRouteTableVPCAssociation" + "AWS::RDS::DBInstance" ], "markdownEnumDescriptions": [ - "Describes an association between a local gateway route table and a VPC. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-localgatewayroutetablevpcassociation.html)" + "The ``AWS::RDS::DBInstance`` resource creates an Amazon DB instance. The new DB instance can be an RDS DB instance, or it can be a DB instance in an Aurora DB cluster.\n For more information about creating an RDS DB instance, see [Creating an Amazon RDS DB instance](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_CreateDBInstance.html) in the *Amazon RDS User Guide*.\n For more information about creating a DB instance in an Aurora DB cluster, see [Creating an Amazon Aurora DB cluster](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/Aurora.CreateInstance.html) in the *Amazon Aurora User Guide*.\n If you import an existing DB instance, and the template configuration doesn't match the actual configuration of the DB instance, AWS CloudFormation applies the changes in the template during the import operation.\n If a DB instance is deleted or replaced during an update, AWS CloudFormation deletes all automated snapshots. However, it retains manual DB snapshots. During an update that requires replacement, you can apply a stack policy to prevent DB instances from being replaced. For more information, see [Prevent Updates to Stack Resources](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/protect-stack-resources.html).\n *Updating DB instances* \n When properties labeled \"*Update requires:* [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)\" are updated, AWS CloudFormation first creates a replacement DB instance, then changes references from other dependent resources to point to the replacement DB instance, and finally deletes the old DB instance.\n We highly recommend that you take a snapshot of the database before updating the stack. If you don't, you lose the data when AWS CloudFormation replaces your DB instance. To preserve your data, perform the following procedure:\n 1. Deactivate any applications that are using the DB instance so that there's no activity on the DB instance.\n 1. Create a snapshot of the DB instance. For more information, see [Creating a DB Snapshot](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_CreateSnapshot.html).\n 1. If you want to restore your instance using a DB snapshot, modify the updated template with your DB instance changes and add the ``DBSnapshotIdentifier`` property with the ID of the DB snapshot that you want to use.\n After you restore a DB instance with a ``DBSnapshotIdentifier`` property, you can delete the ``DBSnapshotIdentifier`` property. When you specify this property for an update, the DB instance is not restored from the DB snapshot again, and the data in the database is not changed. However, if you don't specify the ``DBSnapshotIdentifier`` property, an empty DB instance is created, and the original DB instance is deleted. If you specify a property that is different from the previous snapshot restore property, a new DB instance is restored from the specified ``DBSnapshotIdentifier`` property, and the original DB instance is deleted.\n 1. Update the stack.\n \n For more information about updating other properties of this resource, see ``ModifyDBInstance``. For more information about updating stacks, see [CloudFormation Stacks Updates](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks.html).\n *Deleting DB instances* \n For DB instances that are part of an Aurora DB cluster, you can set a deletion policy for your DB instance to control how AWS CloudFormation handles the DB instance when the stack is deleted. For Amazon RDS DB instances, you can choose to *retain* the DB instance, to *delete* the DB instance, or to *create a snapshot* of the DB instance. The default AWS CloudFormation behavior depends on the ``DBClusterIdentifier`` property:\n 1. For ``AWS::RDS::DBInstance`` resources that don't specify the ``DBClusterIdentifier`` property, AWS CloudFormation saves a snapshot of the DB instance.\n 1. For ``AWS::RDS::DBInstance`` resources that do specify the ``DBClusterIdentifier`` property, AWS CloudFormation deletes the DB instance.\n \n For more information, see [DeletionPolicy Attribute](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-deletionpolicy.html). \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbinstance.html)" ] }, "Properties": { - "$ref": "resources/aws-ec2-localgatewayroutetablevpcassociation.json" + "$ref": "resources/aws-rds-dbinstance.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -217,9 +217,9 @@ ], "additionalProperties": false }, - "AWS_EC2_ClientVpnRoute": { + "AWS_FraudDetector_EventType": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::EC2::ClientVpnRoute \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-clientvpnroute.html)", + "markdownDescription": "A resource schema for an EventType in Amazon Fraud Detector. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-frauddetector-eventtype.html)", "allOf": [ { "type": "object", @@ -227,14 +227,14 @@ "Type": { "type": "string", "enum": [ - "AWS::EC2::ClientVpnRoute" + "AWS::FraudDetector::EventType" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::EC2::ClientVpnRoute \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-clientvpnroute.html)" + "A resource schema for an EventType in Amazon Fraud Detector. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-frauddetector-eventtype.html)" ] }, "Properties": { - "$ref": "resources/aws-ec2-clientvpnroute.json" + "$ref": "resources/aws-frauddetector-eventtype.json" } }, "required": [ @@ -248,9 +248,9 @@ ], "additionalProperties": false }, - "AWS_Redshift_ClusterSubnetGroup": { + "AWS_MediaConnect_Bridge": { "type": "object", - "markdownDescription": "Specifies an Amazon Redshift subnet group. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-redshift-clustersubnetgroup.html)", + "markdownDescription": "Resource schema for AWS::MediaConnect::Bridge \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediaconnect-bridge.html)", "allOf": [ { "type": "object", @@ -258,14 +258,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Redshift::ClusterSubnetGroup" + "AWS::MediaConnect::Bridge" ], "markdownEnumDescriptions": [ - "Specifies an Amazon Redshift subnet group. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-redshift-clustersubnetgroup.html)" + "Resource schema for AWS::MediaConnect::Bridge \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediaconnect-bridge.html)" ] }, "Properties": { - "$ref": "resources/aws-redshift-clustersubnetgroup.json" + "$ref": "resources/aws-mediaconnect-bridge.json" } }, "required": [ @@ -279,9 +279,9 @@ ], "additionalProperties": false }, - "AWS_KinesisAnalyticsV2_ApplicationCloudWatchLoggingOption": { + "AWS_Wisdom_AIAgent": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::KinesisAnalyticsV2::ApplicationCloudWatchLoggingOption \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kinesisanalyticsv2-applicationcloudwatchloggingoption.html)", + "markdownDescription": "Definition of AWS::Wisdom::AIAgent Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-wisdom-aiagent.html)", "allOf": [ { "type": "object", @@ -289,14 +289,14 @@ "Type": { "type": "string", "enum": [ - "AWS::KinesisAnalyticsV2::ApplicationCloudWatchLoggingOption" + "AWS::Wisdom::AIAgent" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::KinesisAnalyticsV2::ApplicationCloudWatchLoggingOption \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kinesisanalyticsv2-applicationcloudwatchloggingoption.html)" + "Definition of AWS::Wisdom::AIAgent Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-wisdom-aiagent.html)" ] }, "Properties": { - "$ref": "resources/aws-kinesisanalyticsv2-applicationcloudwatchloggingoption.json" + "$ref": "resources/aws-wisdom-aiagent.json" } }, "required": [ @@ -310,9 +310,9 @@ ], "additionalProperties": false }, - "AWS_Connect_UserHierarchyStructure": { + "AWS_Batch_SchedulingPolicy": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::Connect::UserHierarchyStructure \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-connect-userhierarchystructure.html)", + "markdownDescription": "Resource Type schema for AWS::Batch::SchedulingPolicy \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-batch-schedulingpolicy.html)", "allOf": [ { "type": "object", @@ -320,19 +320,18 @@ "Type": { "type": "string", "enum": [ - "AWS::Connect::UserHierarchyStructure" + "AWS::Batch::SchedulingPolicy" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::Connect::UserHierarchyStructure \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-connect-userhierarchystructure.html)" + "Resource Type schema for AWS::Batch::SchedulingPolicy \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-batch-schedulingpolicy.html)" ] }, "Properties": { - "$ref": "resources/aws-connect-userhierarchystructure.json" + "$ref": "resources/aws-batch-schedulingpolicy.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -341,9 +340,9 @@ ], "additionalProperties": false }, - "AWS_DataSync_LocationFSxONTAP": { + "AWS_SecurityHub_PolicyAssociation": { "type": "object", - "markdownDescription": "Resource schema for AWS::DataSync::LocationFSxONTAP. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datasync-locationfsxontap.html)", + "markdownDescription": "The AWS::SecurityHub::PolicyAssociation resource represents the AWS Security Hub Central Configuration Policy associations in your Target. Only the AWS Security Hub delegated administrator can create the resouce from the home region. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-securityhub-policyassociation.html)", "allOf": [ { "type": "object", @@ -351,14 +350,14 @@ "Type": { "type": "string", "enum": [ - "AWS::DataSync::LocationFSxONTAP" + "AWS::SecurityHub::PolicyAssociation" ], "markdownEnumDescriptions": [ - "Resource schema for AWS::DataSync::LocationFSxONTAP. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datasync-locationfsxontap.html)" + "The AWS::SecurityHub::PolicyAssociation resource represents the AWS Security Hub Central Configuration Policy associations in your Target. Only the AWS Security Hub delegated administrator can create the resouce from the home region. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-securityhub-policyassociation.html)" ] }, "Properties": { - "$ref": "resources/aws-datasync-locationfsxontap.json" + "$ref": "resources/aws-securityhub-policyassociation.json" } }, "required": [ @@ -372,9 +371,9 @@ ], "additionalProperties": false }, - "AWS_Glue_SchemaVersionMetadata": { + "AWS_AppMesh_VirtualNode": { "type": "object", - "markdownDescription": "This resource adds Key-Value metadata to a Schema version of Glue Schema Registry. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-schemaversionmetadata.html)", + "markdownDescription": "Resource Type definition for AWS::AppMesh::VirtualNode \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appmesh-virtualnode.html)", "allOf": [ { "type": "object", @@ -382,14 +381,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Glue::SchemaVersionMetadata" + "AWS::AppMesh::VirtualNode" ], "markdownEnumDescriptions": [ - "This resource adds Key-Value metadata to a Schema version of Glue Schema Registry. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-schemaversionmetadata.html)" + "Resource Type definition for AWS::AppMesh::VirtualNode \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appmesh-virtualnode.html)" ] }, "Properties": { - "$ref": "resources/aws-glue-schemaversionmetadata.json" + "$ref": "resources/aws-appmesh-virtualnode.json" } }, "required": [ @@ -403,9 +402,9 @@ ], "additionalProperties": false }, - "AWS_Route53Resolver_ResolverRuleAssociation": { + "AWS_FMS_ResourceSet": { "type": "object", - "markdownDescription": "In the response to an [AssociateResolverRule](https://docs.aws.amazon.com/Route53/latest/APIReference/API_route53resolver_AssociateResolverRule.html), [DisassociateResolverRule](https://docs.aws.amazon.com/Route53/latest/APIReference/API_route53resolver_DisassociateResolverRule.html), or [ListResolverRuleAssociations](https://docs.aws.amazon.com/Route53/latest/APIReference/API_route53resolver_ListResolverRuleAssociations.html) request, provides information about an association between a resolver rule and a VPC. The association determines which DNS queries that originate in the VPC are forwarded to your network. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53resolver-resolverruleassociation.html)", + "markdownDescription": "Creates an AWS Firewall Manager resource set. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-fms-resourceset.html)", "allOf": [ { "type": "object", @@ -413,14 +412,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Route53Resolver::ResolverRuleAssociation" + "AWS::FMS::ResourceSet" ], "markdownEnumDescriptions": [ - "In the response to an [AssociateResolverRule](https://docs.aws.amazon.com/Route53/latest/APIReference/API_route53resolver_AssociateResolverRule.html), [DisassociateResolverRule](https://docs.aws.amazon.com/Route53/latest/APIReference/API_route53resolver_DisassociateResolverRule.html), or [ListResolverRuleAssociations](https://docs.aws.amazon.com/Route53/latest/APIReference/API_route53resolver_ListResolverRuleAssociations.html) request, provides information about an association between a resolver rule and a VPC. The association determines which DNS queries that originate in the VPC are forwarded to your network. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53resolver-resolverruleassociation.html)" + "Creates an AWS Firewall Manager resource set. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-fms-resourceset.html)" ] }, "Properties": { - "$ref": "resources/aws-route53resolver-resolverruleassociation.json" + "$ref": "resources/aws-fms-resourceset.json" } }, "required": [ @@ -434,9 +433,9 @@ ], "additionalProperties": false }, - "AWS_Logs_DeliverySource": { + "AWS_Config_DeliveryChannel": { "type": "object", - "markdownDescription": " A delivery source is an AWS resource that sends logs to an AWS destination. The destination can be CloudWatch Logs, Amazon S3, or Kinesis Data Firehose.\n\nOnly some AWS services support being configured as a delivery source. These services are listed as Supported [V2 Permissions] in the table at [Enabling logging from AWS services](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/AWS-logs-and-resource-policy.html). \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-logs-deliverysource.html)", + "markdownDescription": "Resource Type definition for AWS::Config::DeliveryChannel \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-config-deliverychannel.html)", "allOf": [ { "type": "object", @@ -444,14 +443,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Logs::DeliverySource" + "AWS::Config::DeliveryChannel" ], "markdownEnumDescriptions": [ - " A delivery source is an AWS resource that sends logs to an AWS destination. The destination can be CloudWatch Logs, Amazon S3, or Kinesis Data Firehose.\n\nOnly some AWS services support being configured as a delivery source. These services are listed as Supported [V2 Permissions] in the table at [Enabling logging from AWS services](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/AWS-logs-and-resource-policy.html). \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-logs-deliverysource.html)" + "Resource Type definition for AWS::Config::DeliveryChannel \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-config-deliverychannel.html)" ] }, "Properties": { - "$ref": "resources/aws-logs-deliverysource.json" + "$ref": "resources/aws-config-deliverychannel.json" } }, "required": [ @@ -465,9 +464,9 @@ ], "additionalProperties": false }, - "AWS_Rekognition_Project": { + "AWS_ElasticLoadBalancingV2_TrustStoreRevocation": { "type": "object", - "markdownDescription": "The AWS::Rekognition::Project type creates an Amazon Rekognition CustomLabels Project. A project is a grouping of the resources needed to create and manage Dataset and ProjectVersions. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rekognition-project.html)", + "markdownDescription": "Resource Type definition for AWS::ElasticLoadBalancingV2::TrustStoreRevocation \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticloadbalancingv2-truststorerevocation.html)", "allOf": [ { "type": "object", @@ -475,19 +474,18 @@ "Type": { "type": "string", "enum": [ - "AWS::Rekognition::Project" + "AWS::ElasticLoadBalancingV2::TrustStoreRevocation" ], "markdownEnumDescriptions": [ - "The AWS::Rekognition::Project type creates an Amazon Rekognition CustomLabels Project. A project is a grouping of the resources needed to create and manage Dataset and ProjectVersions. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rekognition-project.html)" + "Resource Type definition for AWS::ElasticLoadBalancingV2::TrustStoreRevocation \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticloadbalancingv2-truststorerevocation.html)" ] }, "Properties": { - "$ref": "resources/aws-rekognition-project.json" + "$ref": "resources/aws-elasticloadbalancingv2-truststorerevocation.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -496,9 +494,9 @@ ], "additionalProperties": false }, - "AWS_DataSync_LocationFSxOpenZFS": { + "AWS_EKS_AccessEntry": { "type": "object", - "markdownDescription": "Resource schema for AWS::DataSync::LocationFSxOpenZFS. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datasync-locationfsxopenzfs.html)", + "markdownDescription": "An object representing an Amazon EKS AccessEntry. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-eks-accessentry.html)", "allOf": [ { "type": "object", @@ -506,14 +504,14 @@ "Type": { "type": "string", "enum": [ - "AWS::DataSync::LocationFSxOpenZFS" + "AWS::EKS::AccessEntry" ], "markdownEnumDescriptions": [ - "Resource schema for AWS::DataSync::LocationFSxOpenZFS. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datasync-locationfsxopenzfs.html)" + "An object representing an Amazon EKS AccessEntry. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-eks-accessentry.html)" ] }, "Properties": { - "$ref": "resources/aws-datasync-locationfsxopenzfs.json" + "$ref": "resources/aws-eks-accessentry.json" } }, "required": [ @@ -527,9 +525,9 @@ ], "additionalProperties": false }, - "AWS_SSM_MaintenanceWindow": { + "AWS_ServiceDiscovery_Instance": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::SSM::MaintenanceWindow \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-maintenancewindow.html)", + "markdownDescription": "Resource Type definition for AWS::ServiceDiscovery::Instance \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicediscovery-instance.html)", "allOf": [ { "type": "object", @@ -537,14 +535,14 @@ "Type": { "type": "string", "enum": [ - "AWS::SSM::MaintenanceWindow" + "AWS::ServiceDiscovery::Instance" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::SSM::MaintenanceWindow \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-maintenancewindow.html)" + "Resource Type definition for AWS::ServiceDiscovery::Instance \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicediscovery-instance.html)" ] }, "Properties": { - "$ref": "resources/aws-ssm-maintenancewindow.json" + "$ref": "resources/aws-servicediscovery-instance.json" } }, "required": [ @@ -558,9 +556,9 @@ ], "additionalProperties": false }, - "AWS_ResourceExplorer2_View": { + "AWS_CodeBuild_SourceCredential": { "type": "object", - "markdownDescription": "Definition of AWS::ResourceExplorer2::View Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-resourceexplorer2-view.html)", + "markdownDescription": "Resource Type definition for AWS::CodeBuild::SourceCredential \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codebuild-sourcecredential.html)", "allOf": [ { "type": "object", @@ -568,14 +566,14 @@ "Type": { "type": "string", "enum": [ - "AWS::ResourceExplorer2::View" + "AWS::CodeBuild::SourceCredential" ], "markdownEnumDescriptions": [ - "Definition of AWS::ResourceExplorer2::View Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-resourceexplorer2-view.html)" + "Resource Type definition for AWS::CodeBuild::SourceCredential \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codebuild-sourcecredential.html)" ] }, "Properties": { - "$ref": "resources/aws-resourceexplorer2-view.json" + "$ref": "resources/aws-codebuild-sourcecredential.json" } }, "required": [ @@ -589,9 +587,9 @@ ], "additionalProperties": false }, - "AWS_CustomerProfiles_ObjectType": { + "AWS_Logs_ResourcePolicy": { "type": "object", - "markdownDescription": "An ObjectType resource of Amazon Connect Customer Profiles \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-customerprofiles-objecttype.html)", + "markdownDescription": "The resource schema for AWSLogs ResourcePolicy \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-logs-resourcepolicy.html)", "allOf": [ { "type": "object", @@ -599,14 +597,14 @@ "Type": { "type": "string", "enum": [ - "AWS::CustomerProfiles::ObjectType" + "AWS::Logs::ResourcePolicy" ], "markdownEnumDescriptions": [ - "An ObjectType resource of Amazon Connect Customer Profiles \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-customerprofiles-objecttype.html)" + "The resource schema for AWSLogs ResourcePolicy \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-logs-resourcepolicy.html)" ] }, "Properties": { - "$ref": "resources/aws-customerprofiles-objecttype.json" + "$ref": "resources/aws-logs-resourcepolicy.json" } }, "required": [ @@ -620,9 +618,9 @@ ], "additionalProperties": false }, - "AWS_EC2_PrefixList": { + "AWS_FraudDetector_Variable": { "type": "object", - "markdownDescription": "Resource schema of AWS::EC2::PrefixList Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-prefixlist.html)", + "markdownDescription": "A resource schema for a Variable in Amazon Fraud Detector. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-frauddetector-variable.html)", "allOf": [ { "type": "object", @@ -630,14 +628,14 @@ "Type": { "type": "string", "enum": [ - "AWS::EC2::PrefixList" + "AWS::FraudDetector::Variable" ], "markdownEnumDescriptions": [ - "Resource schema of AWS::EC2::PrefixList Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-prefixlist.html)" + "A resource schema for a Variable in Amazon Fraud Detector. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-frauddetector-variable.html)" ] }, "Properties": { - "$ref": "resources/aws-ec2-prefixlist.json" + "$ref": "resources/aws-frauddetector-variable.json" } }, "required": [ @@ -651,9 +649,9 @@ ], "additionalProperties": false }, - "AWS_SageMaker_DeviceFleet": { + "AWS_IAM_User": { "type": "object", - "markdownDescription": "Resource schema for AWS::SageMaker::DeviceFleet \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-devicefleet.html)", + "markdownDescription": "Creates a new IAM user for your AWS-account.\n For information about quotas for the number of IAM users you can create, see [IAM and quotas](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_iam-quotas.html) in the *IAM User Guide*. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-user.html)", "allOf": [ { "type": "object", @@ -661,19 +659,18 @@ "Type": { "type": "string", "enum": [ - "AWS::SageMaker::DeviceFleet" + "AWS::IAM::User" ], "markdownEnumDescriptions": [ - "Resource schema for AWS::SageMaker::DeviceFleet \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-devicefleet.html)" + "Creates a new IAM user for your AWS-account.\n For information about quotas for the number of IAM users you can create, see [IAM and quotas](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_iam-quotas.html) in the *IAM User Guide*. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-user.html)" ] }, "Properties": { - "$ref": "resources/aws-sagemaker-devicefleet.json" + "$ref": "resources/aws-iam-user.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -682,9 +679,9 @@ ], "additionalProperties": false }, - "AWS_BillingConductor_PricingPlan": { + "AWS_CloudFormation_Stack": { "type": "object", - "markdownDescription": "Pricing Plan enables you to customize your billing details consistent with the usage that accrues in each of your billing groups. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-billingconductor-pricingplan.html)", + "markdownDescription": "The AWS::CloudFormation::Stack resource nests a stack as a resource in a top-level template. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudformation-stack.html)", "allOf": [ { "type": "object", @@ -692,14 +689,14 @@ "Type": { "type": "string", "enum": [ - "AWS::BillingConductor::PricingPlan" + "AWS::CloudFormation::Stack" ], "markdownEnumDescriptions": [ - "Pricing Plan enables you to customize your billing details consistent with the usage that accrues in each of your billing groups. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-billingconductor-pricingplan.html)" + "The AWS::CloudFormation::Stack resource nests a stack as a resource in a top-level template. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudformation-stack.html)" ] }, "Properties": { - "$ref": "resources/aws-billingconductor-pricingplan.json" + "$ref": "resources/aws-cloudformation-stack.json" } }, "required": [ @@ -713,9 +710,9 @@ ], "additionalProperties": false }, - "AWS_Cognito_UserPoolUser": { + "AWS_SQS_Queue": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::Cognito::UserPoolUser \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpooluser.html)", + "markdownDescription": "The ``AWS::SQS::Queue`` resource creates an SQS standard or FIFO queue.\n Keep the following caveats in mind:\n + If you don't specify the ``FifoQueue`` property, SQS creates a standard queue.\n You can't change the queue type after you create it and you can't convert an existing standard queue into a FIFO queue. You must either create a new FIFO queue for your application or delete your existing standard queue and recreate it as a FIFO queue. For more information, see [Moving from a standard queue to a FIFO queue](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/FIFO-queues-moving.html) in the *Developer Guide*. \n + If you don't provide a value for a property, the queue is created with the default value for the property.\n + If you delete a queue, you must wait at least 60 seconds before creating a queue with the same name.\n + To successfully create a new queue, you must provide a queue name that adheres to the [limits related to queues](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/limits-queues.html) and is unique within the scope of your queues.\n \n For more information about creating FIFO (first-in-first-out) queues, see [Creating an queue ()](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/create-queue-cloudformation.html) in the *Developer Guide*. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sqs-queue.html)", "allOf": [ { "type": "object", @@ -723,19 +720,18 @@ "Type": { "type": "string", "enum": [ - "AWS::Cognito::UserPoolUser" + "AWS::SQS::Queue" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::Cognito::UserPoolUser \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpooluser.html)" + "The ``AWS::SQS::Queue`` resource creates an SQS standard or FIFO queue.\n Keep the following caveats in mind:\n + If you don't specify the ``FifoQueue`` property, SQS creates a standard queue.\n You can't change the queue type after you create it and you can't convert an existing standard queue into a FIFO queue. You must either create a new FIFO queue for your application or delete your existing standard queue and recreate it as a FIFO queue. For more information, see [Moving from a standard queue to a FIFO queue](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/FIFO-queues-moving.html) in the *Developer Guide*. \n + If you don't provide a value for a property, the queue is created with the default value for the property.\n + If you delete a queue, you must wait at least 60 seconds before creating a queue with the same name.\n + To successfully create a new queue, you must provide a queue name that adheres to the [limits related to queues](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/limits-queues.html) and is unique within the scope of your queues.\n \n For more information about creating FIFO (first-in-first-out) queues, see [Creating an queue ()](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/create-queue-cloudformation.html) in the *Developer Guide*. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sqs-queue.html)" ] }, "Properties": { - "$ref": "resources/aws-cognito-userpooluser.json" + "$ref": "resources/aws-sqs-queue.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -744,9 +740,9 @@ ], "additionalProperties": false }, - "AWS_Organizations_ResourcePolicy": { + "AWS_CloudFormation_CustomResource": { "type": "object", - "markdownDescription": "You can use AWS::Organizations::ResourcePolicy to delegate policy management for AWS Organizations to specified member accounts to perform policy actions that are by default available only to the management account. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-organizations-resourcepolicy.html)", + "markdownDescription": "Resource Type definition for AWS::CloudFormation::CustomResource \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudformation-customresource.html)", "allOf": [ { "type": "object", @@ -754,14 +750,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Organizations::ResourcePolicy" + "AWS::CloudFormation::CustomResource" ], "markdownEnumDescriptions": [ - "You can use AWS::Organizations::ResourcePolicy to delegate policy management for AWS Organizations to specified member accounts to perform policy actions that are by default available only to the management account. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-organizations-resourcepolicy.html)" + "Resource Type definition for AWS::CloudFormation::CustomResource \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudformation-customresource.html)" ] }, "Properties": { - "$ref": "resources/aws-organizations-resourcepolicy.json" + "$ref": "resources/aws-cloudformation-customresource.json" } }, "required": [ @@ -775,9 +771,9 @@ ], "additionalProperties": false }, - "AWS_SecurityHub_FindingAggregator": { + "AWS_MediaLive_Input": { "type": "object", - "markdownDescription": "The ``AWS::SecurityHub::FindingAggregator`` resource enables cross-Region aggregation. When cross-Region aggregation is enabled, you can aggregate findings, finding updates, insights, control compliance statuses, and security scores from one or more linked Regions to a single aggregation Region. You can then view and manage all of this data from the aggregation Region. For more details about cross-Region aggregation, see [Cross-Region aggregation](https://docs.aws.amazon.com/securityhub/latest/userguide/finding-aggregation.html) in the *User Guide* \n This resource must be created in the Region that you want to designate as your aggregation Region.\n Cross-Region aggregation is also a prerequisite for using [central configuration](https://docs.aws.amazon.com/securityhub/latest/userguide/central-configuration-intro.html) in ASH. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-securityhub-findingaggregator.html)", + "markdownDescription": "Resource Type definition for AWS::MediaLive::Input \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-medialive-input.html)", "allOf": [ { "type": "object", @@ -785,19 +781,18 @@ "Type": { "type": "string", "enum": [ - "AWS::SecurityHub::FindingAggregator" + "AWS::MediaLive::Input" ], "markdownEnumDescriptions": [ - "The ``AWS::SecurityHub::FindingAggregator`` resource enables cross-Region aggregation. When cross-Region aggregation is enabled, you can aggregate findings, finding updates, insights, control compliance statuses, and security scores from one or more linked Regions to a single aggregation Region. You can then view and manage all of this data from the aggregation Region. For more details about cross-Region aggregation, see [Cross-Region aggregation](https://docs.aws.amazon.com/securityhub/latest/userguide/finding-aggregation.html) in the *User Guide* \n This resource must be created in the Region that you want to designate as your aggregation Region.\n Cross-Region aggregation is also a prerequisite for using [central configuration](https://docs.aws.amazon.com/securityhub/latest/userguide/central-configuration-intro.html) in ASH. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-securityhub-findingaggregator.html)" + "Resource Type definition for AWS::MediaLive::Input \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-medialive-input.html)" ] }, "Properties": { - "$ref": "resources/aws-securityhub-findingaggregator.json" + "$ref": "resources/aws-medialive-input.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -806,9 +801,9 @@ ], "additionalProperties": false }, - "AWS_Pinpoint_APNSVoipSandboxChannel": { + "AWS_Logs_Destination": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::Pinpoint::APNSVoipSandboxChannel \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-apnsvoipsandboxchannel.html)", + "markdownDescription": "The AWS::Logs::Destination resource specifies a CloudWatch Logs destination. A destination encapsulates a physical resource (such as an Amazon Kinesis data stream) and enables you to subscribe that resource to a stream of log events. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-logs-destination.html)", "allOf": [ { "type": "object", @@ -816,14 +811,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Pinpoint::APNSVoipSandboxChannel" + "AWS::Logs::Destination" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::Pinpoint::APNSVoipSandboxChannel \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-apnsvoipsandboxchannel.html)" + "The AWS::Logs::Destination resource specifies a CloudWatch Logs destination. A destination encapsulates a physical resource (such as an Amazon Kinesis data stream) and enables you to subscribe that resource to a stream of log events. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-logs-destination.html)" ] }, "Properties": { - "$ref": "resources/aws-pinpoint-apnsvoipsandboxchannel.json" + "$ref": "resources/aws-logs-destination.json" } }, "required": [ @@ -837,9 +832,9 @@ ], "additionalProperties": false }, - "AWS_KafkaConnect_CustomPlugin": { + "AWS_SecurityHub_ConfigurationPolicy": { "type": "object", - "markdownDescription": "An example resource schema demonstrating some basic constructs and validation rules. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kafkaconnect-customplugin.html)", + "markdownDescription": "The AWS::SecurityHub::ConfigurationPolicy resource represents the Central Configuration Policy in your account. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-securityhub-configurationpolicy.html)", "allOf": [ { "type": "object", @@ -847,14 +842,14 @@ "Type": { "type": "string", "enum": [ - "AWS::KafkaConnect::CustomPlugin" + "AWS::SecurityHub::ConfigurationPolicy" ], "markdownEnumDescriptions": [ - "An example resource schema demonstrating some basic constructs and validation rules. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kafkaconnect-customplugin.html)" + "The AWS::SecurityHub::ConfigurationPolicy resource represents the Central Configuration Policy in your account. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-securityhub-configurationpolicy.html)" ] }, "Properties": { - "$ref": "resources/aws-kafkaconnect-customplugin.json" + "$ref": "resources/aws-securityhub-configurationpolicy.json" } }, "required": [ @@ -868,9 +863,9 @@ ], "additionalProperties": false }, - "AWS_IoT_TopicRule": { + "AWS_AppRunner_AutoScalingConfiguration": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::IoT::TopicRule \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-topicrule.html)", + "markdownDescription": "Describes an AWS App Runner automatic configuration resource that enables automatic scaling of instances used to process web requests. You can share an auto scaling configuration across multiple services. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apprunner-autoscalingconfiguration.html)", "allOf": [ { "type": "object", @@ -878,19 +873,18 @@ "Type": { "type": "string", "enum": [ - "AWS::IoT::TopicRule" + "AWS::AppRunner::AutoScalingConfiguration" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::IoT::TopicRule \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-topicrule.html)" + "Describes an AWS App Runner automatic configuration resource that enables automatic scaling of instances used to process web requests. You can share an auto scaling configuration across multiple services. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apprunner-autoscalingconfiguration.html)" ] }, "Properties": { - "$ref": "resources/aws-iot-topicrule.json" + "$ref": "resources/aws-apprunner-autoscalingconfiguration.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -899,9 +893,9 @@ ], "additionalProperties": false }, - "AWS_Cognito_UserPoolIdentityProvider": { + "AWS_Greengrass_ResourceDefinitionVersion": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::Cognito::UserPoolIdentityProvider \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpoolidentityprovider.html)", + "markdownDescription": "Resource Type definition for AWS::Greengrass::ResourceDefinitionVersion \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-resourcedefinitionversion.html)", "allOf": [ { "type": "object", @@ -909,14 +903,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Cognito::UserPoolIdentityProvider" + "AWS::Greengrass::ResourceDefinitionVersion" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::Cognito::UserPoolIdentityProvider \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpoolidentityprovider.html)" + "Resource Type definition for AWS::Greengrass::ResourceDefinitionVersion \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-resourcedefinitionversion.html)" ] }, "Properties": { - "$ref": "resources/aws-cognito-userpoolidentityprovider.json" + "$ref": "resources/aws-greengrass-resourcedefinitionversion.json" } }, "required": [ @@ -930,9 +924,9 @@ ], "additionalProperties": false }, - "AWS_DataBrew_Recipe": { + "AWS_PCAConnectorAD_Connector": { "type": "object", - "markdownDescription": "Resource schema for AWS::DataBrew::Recipe. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-databrew-recipe.html)", + "markdownDescription": "Definition of AWS::PCAConnectorAD::Connector Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pcaconnectorad-connector.html)", "allOf": [ { "type": "object", @@ -940,14 +934,14 @@ "Type": { "type": "string", "enum": [ - "AWS::DataBrew::Recipe" + "AWS::PCAConnectorAD::Connector" ], "markdownEnumDescriptions": [ - "Resource schema for AWS::DataBrew::Recipe. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-databrew-recipe.html)" + "Definition of AWS::PCAConnectorAD::Connector Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pcaconnectorad-connector.html)" ] }, "Properties": { - "$ref": "resources/aws-databrew-recipe.json" + "$ref": "resources/aws-pcaconnectorad-connector.json" } }, "required": [ @@ -961,9 +955,9 @@ ], "additionalProperties": false }, - "AWS_Detective_MemberInvitation": { + "AWS_QuickSight_Analysis": { "type": "object", - "markdownDescription": "Resource schema for AWS::Detective::MemberInvitation \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-detective-memberinvitation.html)", + "markdownDescription": "Definition of the AWS::QuickSight::Analysis Resource Type. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-quicksight-analysis.html)", "allOf": [ { "type": "object", @@ -971,14 +965,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Detective::MemberInvitation" + "AWS::QuickSight::Analysis" ], "markdownEnumDescriptions": [ - "Resource schema for AWS::Detective::MemberInvitation \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-detective-memberinvitation.html)" + "Definition of the AWS::QuickSight::Analysis Resource Type. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-quicksight-analysis.html)" ] }, "Properties": { - "$ref": "resources/aws-detective-memberinvitation.json" + "$ref": "resources/aws-quicksight-analysis.json" } }, "required": [ @@ -992,9 +986,9 @@ ], "additionalProperties": false }, - "AWS_Logs_SubscriptionFilter": { + "AWS_KMS_ReplicaKey": { "type": "object", - "markdownDescription": "The ``AWS::Logs::SubscriptionFilter`` resource specifies a subscription filter and associates it with the specified log group. Subscription filters allow you to subscribe to a real-time stream of log events and have them delivered to a specific destination. Currently, the supported destinations are:\n + An Amazon Kinesis data stream belonging to the same account as the subscription filter, for same-account delivery.\n + A logical destination that belongs to a different account, for cross-account delivery.\n + An Amazon Kinesis Firehose delivery stream that belongs to the same account as the subscription filter, for same-account delivery.\n + An LAMlong function that belongs to the same account as the subscription filter, for same-account delivery.\n \n There can be as many as two subscription filters associated with a log group. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-logs-subscriptionfilter.html)", + "markdownDescription": "The AWS::KMS::ReplicaKey resource specifies a multi-region replica AWS KMS key in AWS Key Management Service (AWS KMS). \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kms-replicakey.html)", "allOf": [ { "type": "object", @@ -1002,14 +996,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Logs::SubscriptionFilter" + "AWS::KMS::ReplicaKey" ], "markdownEnumDescriptions": [ - "The ``AWS::Logs::SubscriptionFilter`` resource specifies a subscription filter and associates it with the specified log group. Subscription filters allow you to subscribe to a real-time stream of log events and have them delivered to a specific destination. Currently, the supported destinations are:\n + An Amazon Kinesis data stream belonging to the same account as the subscription filter, for same-account delivery.\n + A logical destination that belongs to a different account, for cross-account delivery.\n + An Amazon Kinesis Firehose delivery stream that belongs to the same account as the subscription filter, for same-account delivery.\n + An LAMlong function that belongs to the same account as the subscription filter, for same-account delivery.\n \n There can be as many as two subscription filters associated with a log group. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-logs-subscriptionfilter.html)" + "The AWS::KMS::ReplicaKey resource specifies a multi-region replica AWS KMS key in AWS Key Management Service (AWS KMS). \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kms-replicakey.html)" ] }, "Properties": { - "$ref": "resources/aws-logs-subscriptionfilter.json" + "$ref": "resources/aws-kms-replicakey.json" } }, "required": [ @@ -1023,9 +1017,9 @@ ], "additionalProperties": false }, - "AWS_AccessAnalyzer_Analyzer": { + "AWS_ElastiCache_CacheCluster": { "type": "object", - "markdownDescription": "The AWS::AccessAnalyzer::Analyzer type specifies an analyzer of the user's account \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-accessanalyzer-analyzer.html)", + "markdownDescription": "Resource Type definition for AWS::ElastiCache::CacheCluster \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticache-cachecluster.html)", "allOf": [ { "type": "object", @@ -1033,14 +1027,14 @@ "Type": { "type": "string", "enum": [ - "AWS::AccessAnalyzer::Analyzer" + "AWS::ElastiCache::CacheCluster" ], "markdownEnumDescriptions": [ - "The AWS::AccessAnalyzer::Analyzer type specifies an analyzer of the user's account \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-accessanalyzer-analyzer.html)" + "Resource Type definition for AWS::ElastiCache::CacheCluster \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticache-cachecluster.html)" ] }, "Properties": { - "$ref": "resources/aws-accessanalyzer-analyzer.json" + "$ref": "resources/aws-elasticache-cachecluster.json" } }, "required": [ @@ -1054,9 +1048,9 @@ ], "additionalProperties": false }, - "AWS_EC2_NetworkInterfaceAttachment": { + "AWS_DirectoryService_MicrosoftAD": { "type": "object", - "markdownDescription": "Attaches an elastic network interface (ENI) to an Amazon EC2 instance. You can use this resource type to attach additional network interfaces to an instance without interruption. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-networkinterfaceattachment.html)", + "markdownDescription": "Resource Type definition for AWS::DirectoryService::MicrosoftAD \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-directoryservice-microsoftad.html)", "allOf": [ { "type": "object", @@ -1064,14 +1058,14 @@ "Type": { "type": "string", "enum": [ - "AWS::EC2::NetworkInterfaceAttachment" + "AWS::DirectoryService::MicrosoftAD" ], "markdownEnumDescriptions": [ - "Attaches an elastic network interface (ENI) to an Amazon EC2 instance. You can use this resource type to attach additional network interfaces to an instance without interruption. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-networkinterfaceattachment.html)" + "Resource Type definition for AWS::DirectoryService::MicrosoftAD \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-directoryservice-microsoftad.html)" ] }, "Properties": { - "$ref": "resources/aws-ec2-networkinterfaceattachment.json" + "$ref": "resources/aws-directoryservice-microsoftad.json" } }, "required": [ @@ -1085,9 +1079,9 @@ ], "additionalProperties": false }, - "AWS_OpenSearchServerless_AccessPolicy": { + "AWS_ApiGatewayV2_Stage": { "type": "object", - "markdownDescription": "Amazon OpenSearchServerless access policy resource \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opensearchserverless-accesspolicy.html)", + "markdownDescription": "Resource Type definition for AWS::ApiGatewayV2::Stage \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-stage.html)", "allOf": [ { "type": "object", @@ -1095,14 +1089,14 @@ "Type": { "type": "string", "enum": [ - "AWS::OpenSearchServerless::AccessPolicy" + "AWS::ApiGatewayV2::Stage" ], "markdownEnumDescriptions": [ - "Amazon OpenSearchServerless access policy resource \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opensearchserverless-accesspolicy.html)" + "Resource Type definition for AWS::ApiGatewayV2::Stage \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-stage.html)" ] }, "Properties": { - "$ref": "resources/aws-opensearchserverless-accesspolicy.json" + "$ref": "resources/aws-apigatewayv2-stage.json" } }, "required": [ @@ -1116,9 +1110,9 @@ ], "additionalProperties": false }, - "AWS_SecurityLake_SubscriberNotification": { + "AWS_Glue_UsageProfile": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::SecurityLake::SubscriberNotification \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-securitylake-subscribernotification.html)", + "markdownDescription": "This creates a Resource of UsageProfile type. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-usageprofile.html)", "allOf": [ { "type": "object", @@ -1126,14 +1120,14 @@ "Type": { "type": "string", "enum": [ - "AWS::SecurityLake::SubscriberNotification" + "AWS::Glue::UsageProfile" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::SecurityLake::SubscriberNotification \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-securitylake-subscribernotification.html)" + "This creates a Resource of UsageProfile type. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-usageprofile.html)" ] }, "Properties": { - "$ref": "resources/aws-securitylake-subscribernotification.json" + "$ref": "resources/aws-glue-usageprofile.json" } }, "required": [ @@ -1147,9 +1141,9 @@ ], "additionalProperties": false }, - "AWS_CleanRooms_IdMappingTable": { + "AWS_WAFv2_IPSet": { "type": "object", - "markdownDescription": "Represents an association between an ID mapping workflow and a collaboration \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cleanrooms-idmappingtable.html)", + "markdownDescription": "Contains a list of IP addresses. This can be either IPV4 or IPV6. The list will be mutually \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-wafv2-ipset.html)", "allOf": [ { "type": "object", @@ -1157,14 +1151,14 @@ "Type": { "type": "string", "enum": [ - "AWS::CleanRooms::IdMappingTable" + "AWS::WAFv2::IPSet" ], "markdownEnumDescriptions": [ - "Represents an association between an ID mapping workflow and a collaboration \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cleanrooms-idmappingtable.html)" + "Contains a list of IP addresses. This can be either IPV4 or IPV6. The list will be mutually \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-wafv2-ipset.html)" ] }, "Properties": { - "$ref": "resources/aws-cleanrooms-idmappingtable.json" + "$ref": "resources/aws-wafv2-ipset.json" } }, "required": [ @@ -1178,9 +1172,9 @@ ], "additionalProperties": false }, - "AWS_IoT_ResourceSpecificLogging": { + "AWS_AppSync_ChannelNamespace": { "type": "object", - "markdownDescription": "Resource-specific logging allows you to specify a logging level for a specific thing group. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-resourcespecificlogging.html)", + "markdownDescription": "Resource schema for AppSync ChannelNamespace \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-channelnamespace.html)", "allOf": [ { "type": "object", @@ -1188,14 +1182,14 @@ "Type": { "type": "string", "enum": [ - "AWS::IoT::ResourceSpecificLogging" + "AWS::AppSync::ChannelNamespace" ], "markdownEnumDescriptions": [ - "Resource-specific logging allows you to specify a logging level for a specific thing group. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-resourcespecificlogging.html)" + "Resource schema for AppSync ChannelNamespace \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-channelnamespace.html)" ] }, "Properties": { - "$ref": "resources/aws-iot-resourcespecificlogging.json" + "$ref": "resources/aws-appsync-channelnamespace.json" } }, "required": [ @@ -1209,9 +1203,9 @@ ], "additionalProperties": false }, - "AWS_ApiGatewayV2_Model": { + "AWS_APS_Workspace": { "type": "object", - "markdownDescription": "The ``AWS::ApiGatewayV2::Model`` resource updates data model for a WebSocket API. For more information, see [Model Selection Expressions](https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-websocket-api-selection-expressions.html#apigateway-websocket-api-model-selection-expressions) in the *API Gateway Developer Guide*. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-model.html)", + "markdownDescription": "Resource Type definition for AWS::APS::Workspace \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-aps-workspace.html)", "allOf": [ { "type": "object", @@ -1219,19 +1213,18 @@ "Type": { "type": "string", "enum": [ - "AWS::ApiGatewayV2::Model" + "AWS::APS::Workspace" ], "markdownEnumDescriptions": [ - "The ``AWS::ApiGatewayV2::Model`` resource updates data model for a WebSocket API. For more information, see [Model Selection Expressions](https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-websocket-api-selection-expressions.html#apigateway-websocket-api-model-selection-expressions) in the *API Gateway Developer Guide*. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-model.html)" + "Resource Type definition for AWS::APS::Workspace \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-aps-workspace.html)" ] }, "Properties": { - "$ref": "resources/aws-apigatewayv2-model.json" + "$ref": "resources/aws-aps-workspace.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -1240,9 +1233,9 @@ ], "additionalProperties": false }, - "AWS_Amplify_Domain": { + "AWS_FSx_FileSystem": { "type": "object", - "markdownDescription": "The AWS::Amplify::Domain resource allows you to connect a custom domain to your app. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-amplify-domain.html)", + "markdownDescription": "Resource Type definition for AWS::FSx::FileSystem \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-fsx-filesystem.html)", "allOf": [ { "type": "object", @@ -1250,14 +1243,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Amplify::Domain" + "AWS::FSx::FileSystem" ], "markdownEnumDescriptions": [ - "The AWS::Amplify::Domain resource allows you to connect a custom domain to your app. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-amplify-domain.html)" + "Resource Type definition for AWS::FSx::FileSystem \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-fsx-filesystem.html)" ] }, "Properties": { - "$ref": "resources/aws-amplify-domain.json" + "$ref": "resources/aws-fsx-filesystem.json" } }, "required": [ @@ -1271,9 +1264,9 @@ ], "additionalProperties": false }, - "AWS_EC2_VPCDHCPOptionsAssociation": { + "AWS_EC2_NetworkInterfaceAttachment": { "type": "object", - "markdownDescription": "Associates a set of DHCP options with a VPC, or associates no DHCP options with the VPC. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpcdhcpoptionsassociation.html)", + "markdownDescription": "Attaches an elastic network interface (ENI) to an Amazon EC2 instance. You can use this resource type to attach additional network interfaces to an instance without interruption. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-networkinterfaceattachment.html)", "allOf": [ { "type": "object", @@ -1281,14 +1274,14 @@ "Type": { "type": "string", "enum": [ - "AWS::EC2::VPCDHCPOptionsAssociation" + "AWS::EC2::NetworkInterfaceAttachment" ], "markdownEnumDescriptions": [ - "Associates a set of DHCP options with a VPC, or associates no DHCP options with the VPC. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpcdhcpoptionsassociation.html)" + "Attaches an elastic network interface (ENI) to an Amazon EC2 instance. You can use this resource type to attach additional network interfaces to an instance without interruption. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-networkinterfaceattachment.html)" ] }, "Properties": { - "$ref": "resources/aws-ec2-vpcdhcpoptionsassociation.json" + "$ref": "resources/aws-ec2-networkinterfaceattachment.json" } }, "required": [ @@ -1302,9 +1295,9 @@ ], "additionalProperties": false }, - "AWS_NetworkFirewall_Firewall": { + "AWS_CloudWatch_AnomalyDetector": { "type": "object", - "markdownDescription": "Resource type definition for AWS::NetworkFirewall::Firewall \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkfirewall-firewall.html)", + "markdownDescription": "Resource Type definition for AWS::CloudWatch::AnomalyDetector \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudwatch-anomalydetector.html)", "allOf": [ { "type": "object", @@ -1312,19 +1305,18 @@ "Type": { "type": "string", "enum": [ - "AWS::NetworkFirewall::Firewall" + "AWS::CloudWatch::AnomalyDetector" ], "markdownEnumDescriptions": [ - "Resource type definition for AWS::NetworkFirewall::Firewall \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkfirewall-firewall.html)" + "Resource Type definition for AWS::CloudWatch::AnomalyDetector \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudwatch-anomalydetector.html)" ] }, "Properties": { - "$ref": "resources/aws-networkfirewall-firewall.json" + "$ref": "resources/aws-cloudwatch-anomalydetector.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -1333,9 +1325,9 @@ ], "additionalProperties": false }, - "AWS_DMS_MigrationProject": { + "AWS_Connect_UserHierarchyGroup": { "type": "object", - "markdownDescription": "Resource schema for AWS::DMS::MigrationProject \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dms-migrationproject.html)", + "markdownDescription": "Resource Type definition for AWS::Connect::UserHierarchyGroup \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-connect-userhierarchygroup.html)", "allOf": [ { "type": "object", @@ -1343,18 +1335,19 @@ "Type": { "type": "string", "enum": [ - "AWS::DMS::MigrationProject" + "AWS::Connect::UserHierarchyGroup" ], "markdownEnumDescriptions": [ - "Resource schema for AWS::DMS::MigrationProject \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dms-migrationproject.html)" + "Resource Type definition for AWS::Connect::UserHierarchyGroup \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-connect-userhierarchygroup.html)" ] }, "Properties": { - "$ref": "resources/aws-dms-migrationproject.json" + "$ref": "resources/aws-connect-userhierarchygroup.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -1363,9 +1356,9 @@ ], "additionalProperties": false }, - "AWS_SageMaker_FeatureGroup": { + "AWS_EventSchemas_Schema": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::SageMaker::FeatureGroup \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-featuregroup.html)", + "markdownDescription": "Resource Type definition for AWS::EventSchemas::Schema \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-eventschemas-schema.html)", "allOf": [ { "type": "object", @@ -1373,14 +1366,14 @@ "Type": { "type": "string", "enum": [ - "AWS::SageMaker::FeatureGroup" + "AWS::EventSchemas::Schema" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::SageMaker::FeatureGroup \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-featuregroup.html)" + "Resource Type definition for AWS::EventSchemas::Schema \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-eventschemas-schema.html)" ] }, "Properties": { - "$ref": "resources/aws-sagemaker-featuregroup.json" + "$ref": "resources/aws-eventschemas-schema.json" } }, "required": [ @@ -1394,9 +1387,9 @@ ], "additionalProperties": false }, - "AWS_ApiGatewayV2_Stage": { + "AWS_ImageBuilder_DistributionConfiguration": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::ApiGatewayV2::Stage \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-stage.html)", + "markdownDescription": "Resource schema for AWS::ImageBuilder::DistributionConfiguration \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-imagebuilder-distributionconfiguration.html)", "allOf": [ { "type": "object", @@ -1404,14 +1397,14 @@ "Type": { "type": "string", "enum": [ - "AWS::ApiGatewayV2::Stage" + "AWS::ImageBuilder::DistributionConfiguration" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::ApiGatewayV2::Stage \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-stage.html)" + "Resource schema for AWS::ImageBuilder::DistributionConfiguration \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-imagebuilder-distributionconfiguration.html)" ] }, "Properties": { - "$ref": "resources/aws-apigatewayv2-stage.json" + "$ref": "resources/aws-imagebuilder-distributionconfiguration.json" } }, "required": [ @@ -1425,9 +1418,9 @@ ], "additionalProperties": false }, - "AWS_Pinpoint_SmsTemplate": { + "AWS_CodeBuild_Project": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::Pinpoint::SmsTemplate \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-smstemplate.html)", + "markdownDescription": "Resource Type definition for AWS::CodeBuild::Project \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codebuild-project.html)", "allOf": [ { "type": "object", @@ -1435,14 +1428,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Pinpoint::SmsTemplate" + "AWS::CodeBuild::Project" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::Pinpoint::SmsTemplate \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-smstemplate.html)" + "Resource Type definition for AWS::CodeBuild::Project \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codebuild-project.html)" ] }, "Properties": { - "$ref": "resources/aws-pinpoint-smstemplate.json" + "$ref": "resources/aws-codebuild-project.json" } }, "required": [ @@ -1456,9 +1449,9 @@ ], "additionalProperties": false }, - "AWS_IoTFleetWise_SignalCatalog": { + "AWS_IdentityStore_GroupMembership": { "type": "object", - "markdownDescription": "Definition of AWS::IoTFleetWise::SignalCatalog Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotfleetwise-signalcatalog.html)", + "markdownDescription": "Resource Type Definition for AWS:IdentityStore::GroupMembership \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-identitystore-groupmembership.html)", "allOf": [ { "type": "object", @@ -1466,18 +1459,19 @@ "Type": { "type": "string", "enum": [ - "AWS::IoTFleetWise::SignalCatalog" + "AWS::IdentityStore::GroupMembership" ], "markdownEnumDescriptions": [ - "Definition of AWS::IoTFleetWise::SignalCatalog Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotfleetwise-signalcatalog.html)" + "Resource Type Definition for AWS:IdentityStore::GroupMembership \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-identitystore-groupmembership.html)" ] }, "Properties": { - "$ref": "resources/aws-iotfleetwise-signalcatalog.json" + "$ref": "resources/aws-identitystore-groupmembership.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -1486,9 +1480,9 @@ ], "additionalProperties": false }, - "AWS_Personalize_Schema": { + "AWS_IAM_InstanceProfile": { "type": "object", - "markdownDescription": "Resource schema for AWS::Personalize::Schema. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-personalize-schema.html)", + "markdownDescription": "Creates a new instance profile. For information about instance profiles, see [Using instance profiles](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use_switch-role-ec2_instance-profiles.html).\n For information about the number of instance profiles you can create, see [object quotas](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_iam-quotas.html) in the *User Guide*. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-instanceprofile.html)", "allOf": [ { "type": "object", @@ -1496,14 +1490,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Personalize::Schema" + "AWS::IAM::InstanceProfile" ], "markdownEnumDescriptions": [ - "Resource schema for AWS::Personalize::Schema. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-personalize-schema.html)" + "Creates a new instance profile. For information about instance profiles, see [Using instance profiles](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use_switch-role-ec2_instance-profiles.html).\n For information about the number of instance profiles you can create, see [object quotas](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_iam-quotas.html) in the *User Guide*. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-instanceprofile.html)" ] }, "Properties": { - "$ref": "resources/aws-personalize-schema.json" + "$ref": "resources/aws-iam-instanceprofile.json" } }, "required": [ @@ -1517,9 +1511,9 @@ ], "additionalProperties": false }, - "AWS_EC2_SecurityGroupIngress": { + "AWS_CloudFormation_LambdaHook": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::EC2::SecurityGroupIngress \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-securitygroupingress.html)", + "markdownDescription": "This is a CloudFormation resource for the first-party AWS::Hooks::LambdaHook. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudformation-lambdahook.html)", "allOf": [ { "type": "object", @@ -1527,14 +1521,14 @@ "Type": { "type": "string", "enum": [ - "AWS::EC2::SecurityGroupIngress" + "AWS::CloudFormation::LambdaHook" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::EC2::SecurityGroupIngress \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-securitygroupingress.html)" + "This is a CloudFormation resource for the first-party AWS::Hooks::LambdaHook. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudformation-lambdahook.html)" ] }, "Properties": { - "$ref": "resources/aws-ec2-securitygroupingress.json" + "$ref": "resources/aws-cloudformation-lambdahook.json" } }, "required": [ @@ -1548,9 +1542,9 @@ ], "additionalProperties": false }, - "AWS_FSx_Volume": { + "AWS_Oam_Sink": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::FSx::Volume \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-fsx-volume.html)", + "markdownDescription": "Resource Type definition for AWS::Oam::Sink \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-oam-sink.html)", "allOf": [ { "type": "object", @@ -1558,14 +1552,14 @@ "Type": { "type": "string", "enum": [ - "AWS::FSx::Volume" + "AWS::Oam::Sink" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::FSx::Volume \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-fsx-volume.html)" + "Resource Type definition for AWS::Oam::Sink \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-oam-sink.html)" ] }, "Properties": { - "$ref": "resources/aws-fsx-volume.json" + "$ref": "resources/aws-oam-sink.json" } }, "required": [ @@ -1579,9 +1573,9 @@ ], "additionalProperties": false }, - "AWS_Pinpoint_APNSVoipChannel": { + "AWS_EKS_Nodegroup": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::Pinpoint::APNSVoipChannel \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-apnsvoipchannel.html)", + "markdownDescription": "Resource schema for AWS::EKS::Nodegroup \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-eks-nodegroup.html)", "allOf": [ { "type": "object", @@ -1589,14 +1583,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Pinpoint::APNSVoipChannel" + "AWS::EKS::Nodegroup" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::Pinpoint::APNSVoipChannel \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-apnsvoipchannel.html)" + "Resource schema for AWS::EKS::Nodegroup \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-eks-nodegroup.html)" ] }, "Properties": { - "$ref": "resources/aws-pinpoint-apnsvoipchannel.json" + "$ref": "resources/aws-eks-nodegroup.json" } }, "required": [ @@ -1610,9 +1604,9 @@ ], "additionalProperties": false }, - "AWS_ElastiCache_SubnetGroup": { + "AWS_EC2_RouteTable": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::ElastiCache::SubnetGroup \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticache-subnetgroup.html)", + "markdownDescription": "Specifies a route table for the specified VPC. After you create a route table, you can add routes and associate the table with a subnet.\n For more information, see [Route tables](https://docs.aws.amazon.com/vpc/latest/userguide/VPC_Route_Tables.html) in the *Amazon VPC User Guide*. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-routetable.html)", "allOf": [ { "type": "object", @@ -1620,14 +1614,14 @@ "Type": { "type": "string", "enum": [ - "AWS::ElastiCache::SubnetGroup" + "AWS::EC2::RouteTable" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::ElastiCache::SubnetGroup \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticache-subnetgroup.html)" + "Specifies a route table for the specified VPC. After you create a route table, you can add routes and associate the table with a subnet.\n For more information, see [Route tables](https://docs.aws.amazon.com/vpc/latest/userguide/VPC_Route_Tables.html) in the *Amazon VPC User Guide*. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-routetable.html)" ] }, "Properties": { - "$ref": "resources/aws-elasticache-subnetgroup.json" + "$ref": "resources/aws-ec2-routetable.json" } }, "required": [ @@ -1641,9 +1635,9 @@ ], "additionalProperties": false }, - "AWS_Evidently_Experiment": { + "AWS_ImageBuilder_Image": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::Evidently::Experiment. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-evidently-experiment.html)", + "markdownDescription": "Resource schema for AWS::ImageBuilder::Image \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-imagebuilder-image.html)", "allOf": [ { "type": "object", @@ -1651,19 +1645,18 @@ "Type": { "type": "string", "enum": [ - "AWS::Evidently::Experiment" + "AWS::ImageBuilder::Image" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::Evidently::Experiment. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-evidently-experiment.html)" + "Resource schema for AWS::ImageBuilder::Image \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-imagebuilder-image.html)" ] }, "Properties": { - "$ref": "resources/aws-evidently-experiment.json" + "$ref": "resources/aws-imagebuilder-image.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -1672,9 +1665,9 @@ ], "additionalProperties": false }, - "AWS_Transfer_Agreement": { + "AWS_MediaPackageV2_ChannelGroup": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::Transfer::Agreement \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-transfer-agreement.html)", + "markdownDescription": "

Represents a channel group that facilitates the grouping of multiple channels.

\n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediapackagev2-channelgroup.html)", "allOf": [ { "type": "object", @@ -1682,14 +1675,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Transfer::Agreement" + "AWS::MediaPackageV2::ChannelGroup" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::Transfer::Agreement \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-transfer-agreement.html)" + "

Represents a channel group that facilitates the grouping of multiple channels.

\n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediapackagev2-channelgroup.html)" ] }, "Properties": { - "$ref": "resources/aws-transfer-agreement.json" + "$ref": "resources/aws-mediapackagev2-channelgroup.json" } }, "required": [ @@ -1703,9 +1696,9 @@ ], "additionalProperties": false }, - "AWS_AppIntegrations_EventIntegration": { + "AWS_Redshift_ClusterSecurityGroup": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::AppIntegrations::EventIntegration \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appintegrations-eventintegration.html)", + "markdownDescription": "Resource Type definition for AWS::Redshift::ClusterSecurityGroup \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-redshift-clustersecuritygroup.html)", "allOf": [ { "type": "object", @@ -1713,14 +1706,14 @@ "Type": { "type": "string", "enum": [ - "AWS::AppIntegrations::EventIntegration" + "AWS::Redshift::ClusterSecurityGroup" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::AppIntegrations::EventIntegration \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appintegrations-eventintegration.html)" + "Resource Type definition for AWS::Redshift::ClusterSecurityGroup \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-redshift-clustersecuritygroup.html)" ] }, "Properties": { - "$ref": "resources/aws-appintegrations-eventintegration.json" + "$ref": "resources/aws-redshift-clustersecuritygroup.json" } }, "required": [ @@ -1734,9 +1727,9 @@ ], "additionalProperties": false }, - "AWS_Kinesis_StreamConsumer": { + "AWS_Macie_CustomDataIdentifier": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::Kinesis::StreamConsumer \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kinesis-streamconsumer.html)", + "markdownDescription": "Macie CustomDataIdentifier resource schema \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-macie-customdataidentifier.html)", "allOf": [ { "type": "object", @@ -1744,14 +1737,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Kinesis::StreamConsumer" + "AWS::Macie::CustomDataIdentifier" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::Kinesis::StreamConsumer \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kinesis-streamconsumer.html)" + "Macie CustomDataIdentifier resource schema \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-macie-customdataidentifier.html)" ] }, "Properties": { - "$ref": "resources/aws-kinesis-streamconsumer.json" + "$ref": "resources/aws-macie-customdataidentifier.json" } }, "required": [ @@ -1765,9 +1758,9 @@ ], "additionalProperties": false }, - "AWS_DataZone_Project": { + "AWS_ApiGateway_Model": { "type": "object", - "markdownDescription": "Amazon DataZone projects are business use case\u2013based groupings of people, assets (data), and tools used to simplify access to the AWS analytics. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datazone-project.html)", + "markdownDescription": "The ``AWS::ApiGateway::Model`` resource defines the structure of a request or response payload for an API method. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-model.html)", "allOf": [ { "type": "object", @@ -1775,14 +1768,14 @@ "Type": { "type": "string", "enum": [ - "AWS::DataZone::Project" + "AWS::ApiGateway::Model" ], "markdownEnumDescriptions": [ - "Amazon DataZone projects are business use case\u2013based groupings of people, assets (data), and tools used to simplify access to the AWS analytics. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datazone-project.html)" + "The ``AWS::ApiGateway::Model`` resource defines the structure of a request or response payload for an API method. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-model.html)" ] }, "Properties": { - "$ref": "resources/aws-datazone-project.json" + "$ref": "resources/aws-apigateway-model.json" } }, "required": [ @@ -1796,9 +1789,9 @@ ], "additionalProperties": false }, - "AWS_Athena_WorkGroup": { + "AWS_EC2_Volume": { "type": "object", - "markdownDescription": "Resource schema for AWS::Athena::WorkGroup \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-athena-workgroup.html)", + "markdownDescription": "Specifies an Amazon Elastic Block Store (Amazon EBS) volume.\n When you use CFNlong to update an Amazon EBS volume that modifies ``Iops``, ``Size``, or ``VolumeType``, there is a cooldown period before another operation can occur. This can cause your stack to report being in ``UPDATE_IN_PROGRESS`` or ``UPDATE_ROLLBACK_IN_PROGRESS`` for long periods of time.\n Amazon EBS does not support sizing down an Amazon EBS volume. CFNlong does not attempt to modify an Amazon EBS volume to a smaller size on rollback.\n Some common scenarios when you might encounter a cooldown period for Amazon EBS include:\n + You successfully update an Amazon EBS volume and the update succeeds. When you attempt another update within the cooldown window, that update will be subject to a cooldown period.\n + You successfully update an Amazon EBS volume and the update succeeds but another change in your ``update-stack`` call fails. The rollback will be subject to a cooldown period.\n \n For more information, see [Requirements for EBS volume modifications](https://docs.aws.amazon.com/ebs/latest/userguide/modify-volume-requirements.html).\n *DeletionPolicy attribute* \n To control how CFNlong handles the volume when the stack is deleted, set a deletion policy for your volume. You can choose to retain the volume, to delete the volume, or to create a snapshot of the volume. For more information, see [DeletionPolicy attribute](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-deletionpolicy.html).\n If you set a deletion policy that creates a snapshot, all tags on the volume are included in the snapshot. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-volume.html)", "allOf": [ { "type": "object", @@ -1806,14 +1799,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Athena::WorkGroup" + "AWS::EC2::Volume" ], "markdownEnumDescriptions": [ - "Resource schema for AWS::Athena::WorkGroup \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-athena-workgroup.html)" + "Specifies an Amazon Elastic Block Store (Amazon EBS) volume.\n When you use CFNlong to update an Amazon EBS volume that modifies ``Iops``, ``Size``, or ``VolumeType``, there is a cooldown period before another operation can occur. This can cause your stack to report being in ``UPDATE_IN_PROGRESS`` or ``UPDATE_ROLLBACK_IN_PROGRESS`` for long periods of time.\n Amazon EBS does not support sizing down an Amazon EBS volume. CFNlong does not attempt to modify an Amazon EBS volume to a smaller size on rollback.\n Some common scenarios when you might encounter a cooldown period for Amazon EBS include:\n + You successfully update an Amazon EBS volume and the update succeeds. When you attempt another update within the cooldown window, that update will be subject to a cooldown period.\n + You successfully update an Amazon EBS volume and the update succeeds but another change in your ``update-stack`` call fails. The rollback will be subject to a cooldown period.\n \n For more information, see [Requirements for EBS volume modifications](https://docs.aws.amazon.com/ebs/latest/userguide/modify-volume-requirements.html).\n *DeletionPolicy attribute* \n To control how CFNlong handles the volume when the stack is deleted, set a deletion policy for your volume. You can choose to retain the volume, to delete the volume, or to create a snapshot of the volume. For more information, see [DeletionPolicy attribute](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-deletionpolicy.html).\n If you set a deletion policy that creates a snapshot, all tags on the volume are included in the snapshot. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-volume.html)" ] }, "Properties": { - "$ref": "resources/aws-athena-workgroup.json" + "$ref": "resources/aws-ec2-volume.json" } }, "required": [ @@ -1827,9 +1820,9 @@ ], "additionalProperties": false }, - "AWS_Signer_SigningProfile": { + "AWS_ElasticBeanstalk_ConfigurationTemplate": { "type": "object", - "markdownDescription": "A signing profile is a signing template that can be used to carry out a pre-defined signing job. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-signer-signingprofile.html)", + "markdownDescription": "Resource Type definition for AWS::ElasticBeanstalk::ConfigurationTemplate \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticbeanstalk-configurationtemplate.html)", "allOf": [ { "type": "object", @@ -1837,14 +1830,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Signer::SigningProfile" + "AWS::ElasticBeanstalk::ConfigurationTemplate" ], "markdownEnumDescriptions": [ - "A signing profile is a signing template that can be used to carry out a pre-defined signing job. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-signer-signingprofile.html)" + "Resource Type definition for AWS::ElasticBeanstalk::ConfigurationTemplate \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticbeanstalk-configurationtemplate.html)" ] }, "Properties": { - "$ref": "resources/aws-signer-signingprofile.json" + "$ref": "resources/aws-elasticbeanstalk-configurationtemplate.json" } }, "required": [ @@ -1858,9 +1851,9 @@ ], "additionalProperties": false }, - "AWS_NetworkManager_CoreNetwork": { + "AWS_Deadline_Monitor": { "type": "object", - "markdownDescription": "AWS::NetworkManager::CoreNetwork Resource Type Definition. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkmanager-corenetwork.html)", + "markdownDescription": "Definition of AWS::Deadline::Monitor Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-deadline-monitor.html)", "allOf": [ { "type": "object", @@ -1868,14 +1861,14 @@ "Type": { "type": "string", "enum": [ - "AWS::NetworkManager::CoreNetwork" + "AWS::Deadline::Monitor" ], "markdownEnumDescriptions": [ - "AWS::NetworkManager::CoreNetwork Resource Type Definition. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkmanager-corenetwork.html)" + "Definition of AWS::Deadline::Monitor Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-deadline-monitor.html)" ] }, "Properties": { - "$ref": "resources/aws-networkmanager-corenetwork.json" + "$ref": "resources/aws-deadline-monitor.json" } }, "required": [ @@ -1889,9 +1882,9 @@ ], "additionalProperties": false }, - "AWS_Logs_LogAnomalyDetector": { + "AWS_Budgets_Budget": { "type": "object", - "markdownDescription": "The AWS::Logs::LogAnomalyDetector resource specifies a CloudWatch Logs LogAnomalyDetector. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-logs-loganomalydetector.html)", + "markdownDescription": "Resource Type definition for AWS::Budgets::Budget \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-budgets-budget.html)", "allOf": [ { "type": "object", @@ -1899,18 +1892,19 @@ "Type": { "type": "string", "enum": [ - "AWS::Logs::LogAnomalyDetector" + "AWS::Budgets::Budget" ], "markdownEnumDescriptions": [ - "The AWS::Logs::LogAnomalyDetector resource specifies a CloudWatch Logs LogAnomalyDetector. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-logs-loganomalydetector.html)" + "Resource Type definition for AWS::Budgets::Budget \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-budgets-budget.html)" ] }, "Properties": { - "$ref": "resources/aws-logs-loganomalydetector.json" + "$ref": "resources/aws-budgets-budget.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -1919,9 +1913,9 @@ ], "additionalProperties": false }, - "AWS_Omics_SequenceStore": { + "AWS_B2BI_Capability": { "type": "object", - "markdownDescription": "Definition of AWS::Omics::SequenceStore Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-omics-sequencestore.html)", + "markdownDescription": "Definition of AWS::B2BI::Capability Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-b2bi-capability.html)", "allOf": [ { "type": "object", @@ -1929,14 +1923,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Omics::SequenceStore" + "AWS::B2BI::Capability" ], "markdownEnumDescriptions": [ - "Definition of AWS::Omics::SequenceStore Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-omics-sequencestore.html)" + "Definition of AWS::B2BI::Capability Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-b2bi-capability.html)" ] }, "Properties": { - "$ref": "resources/aws-omics-sequencestore.json" + "$ref": "resources/aws-b2bi-capability.json" } }, "required": [ @@ -1950,9 +1944,9 @@ ], "additionalProperties": false }, - "AWS_SES_ConfigurationSetEventDestination": { + "AWS_QuickSight_DataSet": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::SES::ConfigurationSetEventDestination \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ses-configurationseteventdestination.html)", + "markdownDescription": "Definition of the AWS::QuickSight::DataSet Resource Type. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-quicksight-dataset.html)", "allOf": [ { "type": "object", @@ -1960,19 +1954,18 @@ "Type": { "type": "string", "enum": [ - "AWS::SES::ConfigurationSetEventDestination" + "AWS::QuickSight::DataSet" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::SES::ConfigurationSetEventDestination \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ses-configurationseteventdestination.html)" + "Definition of the AWS::QuickSight::DataSet Resource Type. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-quicksight-dataset.html)" ] }, "Properties": { - "$ref": "resources/aws-ses-configurationseteventdestination.json" + "$ref": "resources/aws-quicksight-dataset.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -1981,9 +1974,9 @@ ], "additionalProperties": false }, - "AWS_DataSync_LocationHDFS": { + "AWS_CodeConnections_Connection": { "type": "object", - "markdownDescription": "Resource schema for AWS::DataSync::LocationHDFS. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datasync-locationhdfs.html)", + "markdownDescription": "Schema for AWS::CodeConnections::Connection resource which can be used to connect external source providers with other AWS services (i.e. AWS CodePipeline) \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codeconnections-connection.html)", "allOf": [ { "type": "object", @@ -1991,14 +1984,14 @@ "Type": { "type": "string", "enum": [ - "AWS::DataSync::LocationHDFS" + "AWS::CodeConnections::Connection" ], "markdownEnumDescriptions": [ - "Resource schema for AWS::DataSync::LocationHDFS. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datasync-locationhdfs.html)" + "Schema for AWS::CodeConnections::Connection resource which can be used to connect external source providers with other AWS services (i.e. AWS CodePipeline) \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codeconnections-connection.html)" ] }, "Properties": { - "$ref": "resources/aws-datasync-locationhdfs.json" + "$ref": "resources/aws-codeconnections-connection.json" } }, "required": [ @@ -2012,9 +2005,9 @@ ], "additionalProperties": false }, - "AWS_SSO_PermissionSet": { + "AWS_S3Express_BucketPolicy": { "type": "object", - "markdownDescription": "Resource Type definition for SSO PermissionSet \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sso-permissionset.html)", + "markdownDescription": "Resource Type definition for AWS::S3Express::BucketPolicy. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-s3express-bucketpolicy.html)", "allOf": [ { "type": "object", @@ -2022,14 +2015,14 @@ "Type": { "type": "string", "enum": [ - "AWS::SSO::PermissionSet" + "AWS::S3Express::BucketPolicy" ], "markdownEnumDescriptions": [ - "Resource Type definition for SSO PermissionSet \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sso-permissionset.html)" + "Resource Type definition for AWS::S3Express::BucketPolicy. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-s3express-bucketpolicy.html)" ] }, "Properties": { - "$ref": "resources/aws-sso-permissionset.json" + "$ref": "resources/aws-s3express-bucketpolicy.json" } }, "required": [ @@ -2043,9 +2036,9 @@ ], "additionalProperties": false }, - "AWS_CodeStar_GitHubRepository": { + "AWS_ApiGateway_UsagePlanKey": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::CodeStar::GitHubRepository \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codestar-githubrepository.html)", + "markdownDescription": "The ``AWS::ApiGateway::UsagePlanKey`` resource associates an API key with a usage plan. This association determines which users the usage plan is applied to. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-usageplankey.html)", "allOf": [ { "type": "object", @@ -2053,14 +2046,14 @@ "Type": { "type": "string", "enum": [ - "AWS::CodeStar::GitHubRepository" + "AWS::ApiGateway::UsagePlanKey" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::CodeStar::GitHubRepository \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codestar-githubrepository.html)" + "The ``AWS::ApiGateway::UsagePlanKey`` resource associates an API key with a usage plan. This association determines which users the usage plan is applied to. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-usageplankey.html)" ] }, "Properties": { - "$ref": "resources/aws-codestar-githubrepository.json" + "$ref": "resources/aws-apigateway-usageplankey.json" } }, "required": [ @@ -2074,9 +2067,9 @@ ], "additionalProperties": false }, - "AWS_NetworkFirewall_RuleGroup": { + "AWS_IoT_BillingGroup": { "type": "object", - "markdownDescription": "Resource type definition for AWS::NetworkFirewall::RuleGroup \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkfirewall-rulegroup.html)", + "markdownDescription": "Resource Type definition for AWS::IoT::BillingGroup \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-billinggroup.html)", "allOf": [ { "type": "object", @@ -2084,19 +2077,18 @@ "Type": { "type": "string", "enum": [ - "AWS::NetworkFirewall::RuleGroup" + "AWS::IoT::BillingGroup" ], "markdownEnumDescriptions": [ - "Resource type definition for AWS::NetworkFirewall::RuleGroup \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkfirewall-rulegroup.html)" + "Resource Type definition for AWS::IoT::BillingGroup \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-billinggroup.html)" ] }, "Properties": { - "$ref": "resources/aws-networkfirewall-rulegroup.json" + "$ref": "resources/aws-iot-billinggroup.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -2105,9 +2097,9 @@ ], "additionalProperties": false }, - "AWS_Pinpoint_BaiduChannel": { + "AWS_DataSync_LocationFSxONTAP": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::Pinpoint::BaiduChannel \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-baiduchannel.html)", + "markdownDescription": "Resource schema for AWS::DataSync::LocationFSxONTAP. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datasync-locationfsxontap.html)", "allOf": [ { "type": "object", @@ -2115,14 +2107,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Pinpoint::BaiduChannel" + "AWS::DataSync::LocationFSxONTAP" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::Pinpoint::BaiduChannel \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-baiduchannel.html)" + "Resource schema for AWS::DataSync::LocationFSxONTAP. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datasync-locationfsxontap.html)" ] }, "Properties": { - "$ref": "resources/aws-pinpoint-baiduchannel.json" + "$ref": "resources/aws-datasync-locationfsxontap.json" } }, "required": [ @@ -2136,9 +2128,9 @@ ], "additionalProperties": false }, - "AWS_IoT_ThingType": { + "AWS_Shield_DRTAccess": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::IoT::ThingType \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-thingtype.html)", + "markdownDescription": "Config the role and list of Amazon S3 log buckets used by the Shield Response Team (SRT) to access your AWS account while assisting with attack mitigation. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-shield-drtaccess.html)", "allOf": [ { "type": "object", @@ -2146,18 +2138,19 @@ "Type": { "type": "string", "enum": [ - "AWS::IoT::ThingType" + "AWS::Shield::DRTAccess" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::IoT::ThingType \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-thingtype.html)" + "Config the role and list of Amazon S3 log buckets used by the Shield Response Team (SRT) to access your AWS account while assisting with attack mitigation. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-shield-drtaccess.html)" ] }, "Properties": { - "$ref": "resources/aws-iot-thingtype.json" + "$ref": "resources/aws-shield-drtaccess.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -2166,9 +2159,9 @@ ], "additionalProperties": false }, - "AWS_B2BI_Profile": { + "AWS_GameLift_ContainerFleet": { "type": "object", - "markdownDescription": "Definition of AWS::B2BI::Profile Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-b2bi-profile.html)", + "markdownDescription": "The AWS::GameLift::ContainerFleet resource creates an Amazon GameLift (GameLift) container fleet to host game servers. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-gamelift-containerfleet.html)", "allOf": [ { "type": "object", @@ -2176,14 +2169,14 @@ "Type": { "type": "string", "enum": [ - "AWS::B2BI::Profile" + "AWS::GameLift::ContainerFleet" ], "markdownEnumDescriptions": [ - "Definition of AWS::B2BI::Profile Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-b2bi-profile.html)" + "The AWS::GameLift::ContainerFleet resource creates an Amazon GameLift (GameLift) container fleet to host game servers. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-gamelift-containerfleet.html)" ] }, "Properties": { - "$ref": "resources/aws-b2bi-profile.json" + "$ref": "resources/aws-gamelift-containerfleet.json" } }, "required": [ @@ -2197,9 +2190,9 @@ ], "additionalProperties": false }, - "AWS_Oam_Sink": { + "AWS_RolesAnywhere_Profile": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::Oam::Sink \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-oam-sink.html)", + "markdownDescription": "Definition of AWS::RolesAnywhere::Profile Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rolesanywhere-profile.html)", "allOf": [ { "type": "object", @@ -2207,14 +2200,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Oam::Sink" + "AWS::RolesAnywhere::Profile" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::Oam::Sink \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-oam-sink.html)" + "Definition of AWS::RolesAnywhere::Profile Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rolesanywhere-profile.html)" ] }, "Properties": { - "$ref": "resources/aws-oam-sink.json" + "$ref": "resources/aws-rolesanywhere-profile.json" } }, "required": [ @@ -2228,9 +2221,9 @@ ], "additionalProperties": false }, - "AWS_GuardDuty_ThreatIntelSet": { + "AWS_ApiGateway_Authorizer": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::GuardDuty::ThreatIntelSet \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-guardduty-threatintelset.html)", + "markdownDescription": "The ``AWS::ApiGateway::Authorizer`` resource creates an authorization layer that API Gateway activates for methods that have authorization enabled. API Gateway activates the authorizer when a client calls those methods. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-authorizer.html)", "allOf": [ { "type": "object", @@ -2238,14 +2231,14 @@ "Type": { "type": "string", "enum": [ - "AWS::GuardDuty::ThreatIntelSet" + "AWS::ApiGateway::Authorizer" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::GuardDuty::ThreatIntelSet \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-guardduty-threatintelset.html)" + "The ``AWS::ApiGateway::Authorizer`` resource creates an authorization layer that API Gateway activates for methods that have authorization enabled. API Gateway activates the authorizer when a client calls those methods. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-authorizer.html)" ] }, "Properties": { - "$ref": "resources/aws-guardduty-threatintelset.json" + "$ref": "resources/aws-apigateway-authorizer.json" } }, "required": [ @@ -2259,9 +2252,9 @@ ], "additionalProperties": false }, - "AWS_SES_DedicatedIpPool": { + "AWS_KMS_Alias": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::SES::DedicatedIpPool \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ses-dedicatedippool.html)", + "markdownDescription": "The ``AWS::KMS::Alias`` resource specifies a display name for a [KMS key](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#kms_keys). You can use an alias to identify a KMS key in the KMS console, in the [DescribeKey](https://docs.aws.amazon.com/kms/latest/APIReference/API_DescribeKey.html) operation, and in [cryptographic operations](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#cryptographic-operations), such as [Decrypt](https://docs.aws.amazon.com/kms/latest/APIReference/API_Decrypt.html) and [GenerateDataKey](https://docs.aws.amazon.com/kms/latest/APIReference/API_GenerateDataKey.html).\n Adding, deleting, or updating an alias can allow or deny permission to the KMS key. For details, see [ABAC for](https://docs.aws.amazon.com/kms/latest/developerguide/abac.html) in the *Developer Guide*.\n Using an alias to refer to a KMS key can help you simplify key management. For example, an alias in your code can be associated with different KMS keys in different AWS-Regions. For more information, see [Using aliases](https://docs.aws.amazon.com/kms/latest/developerguide/kms-alias.html) in the *Developer Guide*.\n When specifying an alias, observe the following rules.\n + Each alias is associated with one KMS key, but multiple aliases can be associated with the same KMS key.\n + The alias and its associated KMS key must be in the same AWS-account and Region.\n + The alias name must be unique in the AWS-account and Region. However, you can create aliases with the same name in different AWS-Regions. For example, you can have an ``alias/projectKey`` in multiple Regions, each of which is associated with a KMS key in its Region.\n + Each alias name must begin with ``alias/`` followed by a name, such as ``alias/exampleKey``. The alias name can contain only alphanumeric characters, forward slashes (/), underscores (_), and dashes (-). Alias names cannot begin with ``alias/aws/``. That alias name prefix is reserved for [](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#aws-managed-cmk).\n \n *Regions* \n KMS CloudFormation resources are available in all AWS-Regions in which KMS and CFN are supported. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kms-alias.html)", "allOf": [ { "type": "object", @@ -2269,18 +2262,19 @@ "Type": { "type": "string", "enum": [ - "AWS::SES::DedicatedIpPool" + "AWS::KMS::Alias" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::SES::DedicatedIpPool \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ses-dedicatedippool.html)" + "The ``AWS::KMS::Alias`` resource specifies a display name for a [KMS key](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#kms_keys). You can use an alias to identify a KMS key in the KMS console, in the [DescribeKey](https://docs.aws.amazon.com/kms/latest/APIReference/API_DescribeKey.html) operation, and in [cryptographic operations](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#cryptographic-operations), such as [Decrypt](https://docs.aws.amazon.com/kms/latest/APIReference/API_Decrypt.html) and [GenerateDataKey](https://docs.aws.amazon.com/kms/latest/APIReference/API_GenerateDataKey.html).\n Adding, deleting, or updating an alias can allow or deny permission to the KMS key. For details, see [ABAC for](https://docs.aws.amazon.com/kms/latest/developerguide/abac.html) in the *Developer Guide*.\n Using an alias to refer to a KMS key can help you simplify key management. For example, an alias in your code can be associated with different KMS keys in different AWS-Regions. For more information, see [Using aliases](https://docs.aws.amazon.com/kms/latest/developerguide/kms-alias.html) in the *Developer Guide*.\n When specifying an alias, observe the following rules.\n + Each alias is associated with one KMS key, but multiple aliases can be associated with the same KMS key.\n + The alias and its associated KMS key must be in the same AWS-account and Region.\n + The alias name must be unique in the AWS-account and Region. However, you can create aliases with the same name in different AWS-Regions. For example, you can have an ``alias/projectKey`` in multiple Regions, each of which is associated with a KMS key in its Region.\n + Each alias name must begin with ``alias/`` followed by a name, such as ``alias/exampleKey``. The alias name can contain only alphanumeric characters, forward slashes (/), underscores (_), and dashes (-). Alias names cannot begin with ``alias/aws/``. That alias name prefix is reserved for [](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#aws-managed-cmk).\n \n *Regions* \n KMS CloudFormation resources are available in all AWS-Regions in which KMS and CFN are supported. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kms-alias.html)" ] }, "Properties": { - "$ref": "resources/aws-ses-dedicatedippool.json" + "$ref": "resources/aws-kms-alias.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -2289,9 +2283,9 @@ ], "additionalProperties": false }, - "AWS_Timestream_Database": { + "AWS_RedshiftServerless_Namespace": { "type": "object", - "markdownDescription": "The AWS::Timestream::Database resource creates a Timestream database. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-timestream-database.html)", + "markdownDescription": "Definition of AWS::RedshiftServerless::Namespace Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-redshiftserverless-namespace.html)", "allOf": [ { "type": "object", @@ -2299,18 +2293,19 @@ "Type": { "type": "string", "enum": [ - "AWS::Timestream::Database" + "AWS::RedshiftServerless::Namespace" ], "markdownEnumDescriptions": [ - "The AWS::Timestream::Database resource creates a Timestream database. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-timestream-database.html)" + "Definition of AWS::RedshiftServerless::Namespace Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-redshiftserverless-namespace.html)" ] }, "Properties": { - "$ref": "resources/aws-timestream-database.json" + "$ref": "resources/aws-redshiftserverless-namespace.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -2319,9 +2314,9 @@ ], "additionalProperties": false }, - "AWS_IoTSiteWise_Project": { + "AWS_CloudFormation_ModuleDefaultVersion": { "type": "object", - "markdownDescription": "Resource schema for AWS::IoTSiteWise::Project \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotsitewise-project.html)", + "markdownDescription": "A module that has been registered in the CloudFormation registry as the default version \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudformation-moduledefaultversion.html)", "allOf": [ { "type": "object", @@ -2329,19 +2324,18 @@ "Type": { "type": "string", "enum": [ - "AWS::IoTSiteWise::Project" + "AWS::CloudFormation::ModuleDefaultVersion" ], "markdownEnumDescriptions": [ - "Resource schema for AWS::IoTSiteWise::Project \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotsitewise-project.html)" + "A module that has been registered in the CloudFormation registry as the default version \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudformation-moduledefaultversion.html)" ] }, "Properties": { - "$ref": "resources/aws-iotsitewise-project.json" + "$ref": "resources/aws-cloudformation-moduledefaultversion.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -2350,9 +2344,9 @@ ], "additionalProperties": false }, - "AWS_SSMContacts_Rotation": { + "AWS_ServiceCatalog_PortfolioPrincipalAssociation": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::SSMContacts::Rotation. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssmcontacts-rotation.html)", + "markdownDescription": "Resource Type definition for AWS::ServiceCatalog::PortfolioPrincipalAssociation \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicecatalog-portfolioprincipalassociation.html)", "allOf": [ { "type": "object", @@ -2360,14 +2354,14 @@ "Type": { "type": "string", "enum": [ - "AWS::SSMContacts::Rotation" + "AWS::ServiceCatalog::PortfolioPrincipalAssociation" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::SSMContacts::Rotation. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssmcontacts-rotation.html)" + "Resource Type definition for AWS::ServiceCatalog::PortfolioPrincipalAssociation \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicecatalog-portfolioprincipalassociation.html)" ] }, "Properties": { - "$ref": "resources/aws-ssmcontacts-rotation.json" + "$ref": "resources/aws-servicecatalog-portfolioprincipalassociation.json" } }, "required": [ @@ -2381,9 +2375,9 @@ ], "additionalProperties": false }, - "AWS_IoTCoreDeviceAdvisor_SuiteDefinition": { + "AWS_EventSchemas_Registry": { "type": "object", - "markdownDescription": "An example resource schema demonstrating some basic constructs and validation rules. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotcoredeviceadvisor-suitedefinition.html)", + "markdownDescription": "Resource Type definition for AWS::EventSchemas::Registry \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-eventschemas-registry.html)", "allOf": [ { "type": "object", @@ -2391,19 +2385,18 @@ "Type": { "type": "string", "enum": [ - "AWS::IoTCoreDeviceAdvisor::SuiteDefinition" + "AWS::EventSchemas::Registry" ], "markdownEnumDescriptions": [ - "An example resource schema demonstrating some basic constructs and validation rules. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotcoredeviceadvisor-suitedefinition.html)" + "Resource Type definition for AWS::EventSchemas::Registry \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-eventschemas-registry.html)" ] }, "Properties": { - "$ref": "resources/aws-iotcoredeviceadvisor-suitedefinition.json" + "$ref": "resources/aws-eventschemas-registry.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -2412,9 +2405,9 @@ ], "additionalProperties": false }, - "AWS_PinpointEmail_ConfigurationSetEventDestination": { + "AWS_ECS_CapacityProvider": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::PinpointEmail::ConfigurationSetEventDestination \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpointemail-configurationseteventdestination.html)", + "markdownDescription": "Resource Type definition for AWS::ECS::CapacityProvider. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ecs-capacityprovider.html)", "allOf": [ { "type": "object", @@ -2422,19 +2415,18 @@ "Type": { "type": "string", "enum": [ - "AWS::PinpointEmail::ConfigurationSetEventDestination" + "AWS::ECS::CapacityProvider" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::PinpointEmail::ConfigurationSetEventDestination \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpointemail-configurationseteventdestination.html)" + "Resource Type definition for AWS::ECS::CapacityProvider. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ecs-capacityprovider.html)" ] }, "Properties": { - "$ref": "resources/aws-pinpointemail-configurationseteventdestination.json" + "$ref": "resources/aws-ecs-capacityprovider.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -2443,9 +2435,9 @@ ], "additionalProperties": false }, - "AWS_B2BI_Partnership": { + "AWS_Kinesis_Stream": { "type": "object", - "markdownDescription": "Definition of AWS::B2BI::Partnership Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-b2bi-partnership.html)", + "markdownDescription": "Resource Type definition for AWS::Kinesis::Stream \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kinesis-stream.html)", "allOf": [ { "type": "object", @@ -2453,19 +2445,18 @@ "Type": { "type": "string", "enum": [ - "AWS::B2BI::Partnership" + "AWS::Kinesis::Stream" ], "markdownEnumDescriptions": [ - "Definition of AWS::B2BI::Partnership Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-b2bi-partnership.html)" + "Resource Type definition for AWS::Kinesis::Stream \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kinesis-stream.html)" ] }, "Properties": { - "$ref": "resources/aws-b2bi-partnership.json" + "$ref": "resources/aws-kinesis-stream.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -2474,9 +2465,9 @@ ], "additionalProperties": false }, - "AWS_SES_ReceiptFilter": { + "AWS_Glue_Job": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::SES::ReceiptFilter \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ses-receiptfilter.html)", + "markdownDescription": "Resource Type definition for AWS::Glue::Job \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-job.html)", "allOf": [ { "type": "object", @@ -2484,14 +2475,14 @@ "Type": { "type": "string", "enum": [ - "AWS::SES::ReceiptFilter" + "AWS::Glue::Job" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::SES::ReceiptFilter \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ses-receiptfilter.html)" + "Resource Type definition for AWS::Glue::Job \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-job.html)" ] }, "Properties": { - "$ref": "resources/aws-ses-receiptfilter.json" + "$ref": "resources/aws-glue-job.json" } }, "required": [ @@ -2505,9 +2496,9 @@ ], "additionalProperties": false }, - "AWS_EKS_AccessEntry": { + "AWS_EC2_VPCEndpointServicePermissions": { "type": "object", - "markdownDescription": "An object representing an Amazon EKS AccessEntry. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-eks-accessentry.html)", + "markdownDescription": "Resource Type definition for AWS::EC2::VPCEndpointServicePermissions \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpcendpointservicepermissions.html)", "allOf": [ { "type": "object", @@ -2515,14 +2506,14 @@ "Type": { "type": "string", "enum": [ - "AWS::EKS::AccessEntry" + "AWS::EC2::VPCEndpointServicePermissions" ], "markdownEnumDescriptions": [ - "An object representing an Amazon EKS AccessEntry. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-eks-accessentry.html)" + "Resource Type definition for AWS::EC2::VPCEndpointServicePermissions \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpcendpointservicepermissions.html)" ] }, "Properties": { - "$ref": "resources/aws-eks-accessentry.json" + "$ref": "resources/aws-ec2-vpcendpointservicepermissions.json" } }, "required": [ @@ -2536,9 +2527,9 @@ ], "additionalProperties": false }, - "AWS_Pinpoint_EmailChannel": { + "AWS_Panorama_PackageVersion": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::Pinpoint::EmailChannel \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-emailchannel.html)", + "markdownDescription": "Registers a package version. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-panorama-packageversion.html)", "allOf": [ { "type": "object", @@ -2546,14 +2537,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Pinpoint::EmailChannel" + "AWS::Panorama::PackageVersion" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::Pinpoint::EmailChannel \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-emailchannel.html)" + "Registers a package version. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-panorama-packageversion.html)" ] }, "Properties": { - "$ref": "resources/aws-pinpoint-emailchannel.json" + "$ref": "resources/aws-panorama-packageversion.json" } }, "required": [ @@ -2567,9 +2558,9 @@ ], "additionalProperties": false }, - "AWS_IoTEvents_AlarmModel": { + "AWS_Glue_SchemaVersion": { "type": "object", - "markdownDescription": "The AWS::IoTEvents::AlarmModel resource creates a alarm model. AWS IoT Events alarms help you monitor your data for changes. The data can be metrics that you measure for your equipment and processes. You can create alarms that send notifications when a threshold is breached. Alarms help you detect issues, streamline maintenance, and optimize performance of your equipment and processes.\n\nAlarms are instances of alarm models. The alarm model specifies what to detect, when to send notifications, who gets notified, and more. You can also specify one or more supported actions that occur when the alarm state changes. AWS IoT Events routes input attributes derived from your data to the appropriate alarms. If the data that you're monitoring is outside the specified range, the alarm is invoked. You can also acknowledge the alarms or set them to the snooze mode. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotevents-alarmmodel.html)", + "markdownDescription": "This resource represents an individual schema version of a schema defined in Glue Schema Registry. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-schemaversion.html)", "allOf": [ { "type": "object", @@ -2577,14 +2568,14 @@ "Type": { "type": "string", "enum": [ - "AWS::IoTEvents::AlarmModel" + "AWS::Glue::SchemaVersion" ], "markdownEnumDescriptions": [ - "The AWS::IoTEvents::AlarmModel resource creates a alarm model. AWS IoT Events alarms help you monitor your data for changes. The data can be metrics that you measure for your equipment and processes. You can create alarms that send notifications when a threshold is breached. Alarms help you detect issues, streamline maintenance, and optimize performance of your equipment and processes.\n\nAlarms are instances of alarm models. The alarm model specifies what to detect, when to send notifications, who gets notified, and more. You can also specify one or more supported actions that occur when the alarm state changes. AWS IoT Events routes input attributes derived from your data to the appropriate alarms. If the data that you're monitoring is outside the specified range, the alarm is invoked. You can also acknowledge the alarms or set them to the snooze mode. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotevents-alarmmodel.html)" + "This resource represents an individual schema version of a schema defined in Glue Schema Registry. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-schemaversion.html)" ] }, "Properties": { - "$ref": "resources/aws-iotevents-alarmmodel.json" + "$ref": "resources/aws-glue-schemaversion.json" } }, "required": [ @@ -2598,9 +2589,9 @@ ], "additionalProperties": false }, - "AWS_NetworkManager_TransitGatewayRouteTableAttachment": { + "AWS_DAX_Cluster": { "type": "object", - "markdownDescription": "AWS::NetworkManager::TransitGatewayRouteTableAttachment Resource Type definition. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkmanager-transitgatewayroutetableattachment.html)", + "markdownDescription": "Resource Type definition for AWS::DAX::Cluster \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dax-cluster.html)", "allOf": [ { "type": "object", @@ -2608,14 +2599,14 @@ "Type": { "type": "string", "enum": [ - "AWS::NetworkManager::TransitGatewayRouteTableAttachment" + "AWS::DAX::Cluster" ], "markdownEnumDescriptions": [ - "AWS::NetworkManager::TransitGatewayRouteTableAttachment Resource Type definition. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkmanager-transitgatewayroutetableattachment.html)" + "Resource Type definition for AWS::DAX::Cluster \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dax-cluster.html)" ] }, "Properties": { - "$ref": "resources/aws-networkmanager-transitgatewayroutetableattachment.json" + "$ref": "resources/aws-dax-cluster.json" } }, "required": [ @@ -2629,9 +2620,9 @@ ], "additionalProperties": false }, - "AWS_EC2_ClientVpnAuthorizationRule": { + "AWS_GameLift_Fleet": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::EC2::ClientVpnAuthorizationRule \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-clientvpnauthorizationrule.html)", + "markdownDescription": "The AWS::GameLift::Fleet resource creates an Amazon GameLift (GameLift) fleet to host game servers. A fleet is a set of EC2 or Anywhere instances, each of which can host multiple game sessions. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-gamelift-fleet.html)", "allOf": [ { "type": "object", @@ -2639,14 +2630,14 @@ "Type": { "type": "string", "enum": [ - "AWS::EC2::ClientVpnAuthorizationRule" + "AWS::GameLift::Fleet" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::EC2::ClientVpnAuthorizationRule \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-clientvpnauthorizationrule.html)" + "The AWS::GameLift::Fleet resource creates an Amazon GameLift (GameLift) fleet to host game servers. A fleet is a set of EC2 or Anywhere instances, each of which can host multiple game sessions. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-gamelift-fleet.html)" ] }, "Properties": { - "$ref": "resources/aws-ec2-clientvpnauthorizationrule.json" + "$ref": "resources/aws-gamelift-fleet.json" } }, "required": [ @@ -2660,9 +2651,9 @@ ], "additionalProperties": false }, - "AWS_Events_ApiDestination": { + "AWS_MediaLive_ChannelPlacementGroup": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::Events::ApiDestination. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-apidestination.html)", + "markdownDescription": "Definition of AWS::MediaLive::ChannelPlacementGroup Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-medialive-channelplacementgroup.html)", "allOf": [ { "type": "object", @@ -2670,19 +2661,18 @@ "Type": { "type": "string", "enum": [ - "AWS::Events::ApiDestination" + "AWS::MediaLive::ChannelPlacementGroup" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::Events::ApiDestination. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-apidestination.html)" + "Definition of AWS::MediaLive::ChannelPlacementGroup Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-medialive-channelplacementgroup.html)" ] }, "Properties": { - "$ref": "resources/aws-events-apidestination.json" + "$ref": "resources/aws-medialive-channelplacementgroup.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -2691,9 +2681,9 @@ ], "additionalProperties": false }, - "AWS_MSK_Replicator": { + "AWS_Glue_DataCatalogEncryptionSettings": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::MSK::Replicator \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-msk-replicator.html)", + "markdownDescription": "Resource Type definition for AWS::Glue::DataCatalogEncryptionSettings \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-datacatalogencryptionsettings.html)", "allOf": [ { "type": "object", @@ -2701,14 +2691,14 @@ "Type": { "type": "string", "enum": [ - "AWS::MSK::Replicator" + "AWS::Glue::DataCatalogEncryptionSettings" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::MSK::Replicator \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-msk-replicator.html)" + "Resource Type definition for AWS::Glue::DataCatalogEncryptionSettings \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-datacatalogencryptionsettings.html)" ] }, "Properties": { - "$ref": "resources/aws-msk-replicator.json" + "$ref": "resources/aws-glue-datacatalogencryptionsettings.json" } }, "required": [ @@ -2722,9 +2712,9 @@ ], "additionalProperties": false }, - "AWS_FIS_TargetAccountConfiguration": { + "AWS_Logs_Delivery": { "type": "object", - "markdownDescription": "Resource schema for AWS::FIS::TargetAccountConfiguration \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-fis-targetaccountconfiguration.html)", + "markdownDescription": "This structure contains information about one delivery in your account.\n\nA delivery is a connection between a logical delivery source and a logical delivery destination.\n\nFor more information, see [CreateDelivery](https://docs.aws.amazon.com/AmazonCloudWatchLogs/latest/APIReference/API_CreateDelivery.html). \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-logs-delivery.html)", "allOf": [ { "type": "object", @@ -2732,14 +2722,14 @@ "Type": { "type": "string", "enum": [ - "AWS::FIS::TargetAccountConfiguration" + "AWS::Logs::Delivery" ], "markdownEnumDescriptions": [ - "Resource schema for AWS::FIS::TargetAccountConfiguration \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-fis-targetaccountconfiguration.html)" + "This structure contains information about one delivery in your account.\n\nA delivery is a connection between a logical delivery source and a logical delivery destination.\n\nFor more information, see [CreateDelivery](https://docs.aws.amazon.com/AmazonCloudWatchLogs/latest/APIReference/API_CreateDelivery.html). \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-logs-delivery.html)" ] }, "Properties": { - "$ref": "resources/aws-fis-targetaccountconfiguration.json" + "$ref": "resources/aws-logs-delivery.json" } }, "required": [ @@ -2753,9 +2743,9 @@ ], "additionalProperties": false }, - "AWS_MediaPackageV2_ChannelGroup": { + "AWS_CleanRooms_Collaboration": { "type": "object", - "markdownDescription": "

Represents a channel group that facilitates the grouping of multiple channels.

\n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediapackagev2-channelgroup.html)", + "markdownDescription": "Represents a collaboration between AWS accounts that allows for secure data collaboration \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cleanrooms-collaboration.html)", "allOf": [ { "type": "object", @@ -2763,14 +2753,14 @@ "Type": { "type": "string", "enum": [ - "AWS::MediaPackageV2::ChannelGroup" + "AWS::CleanRooms::Collaboration" ], "markdownEnumDescriptions": [ - "

Represents a channel group that facilitates the grouping of multiple channels.

\n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediapackagev2-channelgroup.html)" + "Represents a collaboration between AWS accounts that allows for secure data collaboration \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cleanrooms-collaboration.html)" ] }, "Properties": { - "$ref": "resources/aws-mediapackagev2-channelgroup.json" + "$ref": "resources/aws-cleanrooms-collaboration.json" } }, "required": [ @@ -2784,9 +2774,9 @@ ], "additionalProperties": false }, - "AWS_CloudWatch_AnomalyDetector": { + "AWS_Greengrass_DeviceDefinitionVersion": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::CloudWatch::AnomalyDetector \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudwatch-anomalydetector.html)", + "markdownDescription": "Resource Type definition for AWS::Greengrass::DeviceDefinitionVersion \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-devicedefinitionversion.html)", "allOf": [ { "type": "object", @@ -2794,18 +2784,19 @@ "Type": { "type": "string", "enum": [ - "AWS::CloudWatch::AnomalyDetector" + "AWS::Greengrass::DeviceDefinitionVersion" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::CloudWatch::AnomalyDetector \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudwatch-anomalydetector.html)" + "Resource Type definition for AWS::Greengrass::DeviceDefinitionVersion \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-devicedefinitionversion.html)" ] }, "Properties": { - "$ref": "resources/aws-cloudwatch-anomalydetector.json" + "$ref": "resources/aws-greengrass-devicedefinitionversion.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -2814,9 +2805,9 @@ ], "additionalProperties": false }, - "AWS_ApiGateway_DocumentationPart": { + "AWS_VerifiedPermissions_PolicyStore": { "type": "object", - "markdownDescription": "The ``AWS::ApiGateway::DocumentationPart`` resource creates a documentation part for an API. For more information, see [Representation of API Documentation in API Gateway](https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-documenting-api-content-representation.html) in the *API Gateway Developer Guide*. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-documentationpart.html)", + "markdownDescription": "Represents a policy store that you can place schema, policies, and policy templates in to validate authorization requests \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-verifiedpermissions-policystore.html)", "allOf": [ { "type": "object", @@ -2824,14 +2815,14 @@ "Type": { "type": "string", "enum": [ - "AWS::ApiGateway::DocumentationPart" + "AWS::VerifiedPermissions::PolicyStore" ], "markdownEnumDescriptions": [ - "The ``AWS::ApiGateway::DocumentationPart`` resource creates a documentation part for an API. For more information, see [Representation of API Documentation in API Gateway](https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-documenting-api-content-representation.html) in the *API Gateway Developer Guide*. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-documentationpart.html)" + "Represents a policy store that you can place schema, policies, and policy templates in to validate authorization requests \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-verifiedpermissions-policystore.html)" ] }, "Properties": { - "$ref": "resources/aws-apigateway-documentationpart.json" + "$ref": "resources/aws-verifiedpermissions-policystore.json" } }, "required": [ @@ -2845,9 +2836,9 @@ ], "additionalProperties": false }, - "AWS_Deadline_QueueEnvironment": { + "AWS_MediaTailor_PlaybackConfiguration": { "type": "object", - "markdownDescription": "Definition of AWS::Deadline::QueueEnvironment Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-deadline-queueenvironment.html)", + "markdownDescription": "Resource schema for AWS::MediaTailor::PlaybackConfiguration \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediatailor-playbackconfiguration.html)", "allOf": [ { "type": "object", @@ -2855,14 +2846,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Deadline::QueueEnvironment" + "AWS::MediaTailor::PlaybackConfiguration" ], "markdownEnumDescriptions": [ - "Definition of AWS::Deadline::QueueEnvironment Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-deadline-queueenvironment.html)" + "Resource schema for AWS::MediaTailor::PlaybackConfiguration \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediatailor-playbackconfiguration.html)" ] }, "Properties": { - "$ref": "resources/aws-deadline-queueenvironment.json" + "$ref": "resources/aws-mediatailor-playbackconfiguration.json" } }, "required": [ @@ -2876,9 +2867,9 @@ ], "additionalProperties": false }, - "AWS_EC2_CustomerGateway": { + "AWS_EC2_TransitGatewayMulticastDomain": { "type": "object", - "markdownDescription": "Specifies a customer gateway. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-customergateway.html)", + "markdownDescription": "The AWS::EC2::TransitGatewayMulticastDomain type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-transitgatewaymulticastdomain.html)", "allOf": [ { "type": "object", @@ -2886,14 +2877,14 @@ "Type": { "type": "string", "enum": [ - "AWS::EC2::CustomerGateway" + "AWS::EC2::TransitGatewayMulticastDomain" ], "markdownEnumDescriptions": [ - "Specifies a customer gateway. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-customergateway.html)" + "The AWS::EC2::TransitGatewayMulticastDomain type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-transitgatewaymulticastdomain.html)" ] }, "Properties": { - "$ref": "resources/aws-ec2-customergateway.json" + "$ref": "resources/aws-ec2-transitgatewaymulticastdomain.json" } }, "required": [ @@ -2907,9 +2898,9 @@ ], "additionalProperties": false }, - "AWS_Cognito_IdentityPoolPrincipalTag": { + "AWS_WorkSpacesThinClient_Environment": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::Cognito::IdentityPoolPrincipalTag \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-identitypoolprincipaltag.html)", + "markdownDescription": "Resource type definition for AWS::WorkSpacesThinClient::Environment. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-workspacesthinclient-environment.html)", "allOf": [ { "type": "object", @@ -2917,14 +2908,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Cognito::IdentityPoolPrincipalTag" + "AWS::WorkSpacesThinClient::Environment" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::Cognito::IdentityPoolPrincipalTag \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-identitypoolprincipaltag.html)" + "Resource type definition for AWS::WorkSpacesThinClient::Environment. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-workspacesthinclient-environment.html)" ] }, "Properties": { - "$ref": "resources/aws-cognito-identitypoolprincipaltag.json" + "$ref": "resources/aws-workspacesthinclient-environment.json" } }, "required": [ @@ -2938,9 +2929,9 @@ ], "additionalProperties": false }, - "AWS_Chatbot_SlackChannelConfiguration": { + "AWS_Pinpoint_EmailTemplate": { "type": "object", - "markdownDescription": "Resource schema for AWS::Chatbot::SlackChannelConfiguration. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-chatbot-slackchannelconfiguration.html)", + "markdownDescription": "Resource Type definition for AWS::Pinpoint::EmailTemplate \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-emailtemplate.html)", "allOf": [ { "type": "object", @@ -2948,14 +2939,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Chatbot::SlackChannelConfiguration" + "AWS::Pinpoint::EmailTemplate" ], "markdownEnumDescriptions": [ - "Resource schema for AWS::Chatbot::SlackChannelConfiguration. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-chatbot-slackchannelconfiguration.html)" + "Resource Type definition for AWS::Pinpoint::EmailTemplate \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-emailtemplate.html)" ] }, "Properties": { - "$ref": "resources/aws-chatbot-slackchannelconfiguration.json" + "$ref": "resources/aws-pinpoint-emailtemplate.json" } }, "required": [ @@ -2969,9 +2960,9 @@ ], "additionalProperties": false }, - "AWS_ApiGateway_Account": { + "AWS_Bedrock_AgentAlias": { "type": "object", - "markdownDescription": "The ``AWS::ApiGateway::Account`` resource specifies the IAM role that Amazon API Gateway uses to write API logs to Amazon CloudWatch Logs. To avoid overwriting other roles, you should only have one ``AWS::ApiGateway::Account`` resource per region per account. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-account.html)", + "markdownDescription": "Definition of AWS::Bedrock::AgentAlias Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-bedrock-agentalias.html)", "allOf": [ { "type": "object", @@ -2979,18 +2970,19 @@ "Type": { "type": "string", "enum": [ - "AWS::ApiGateway::Account" + "AWS::Bedrock::AgentAlias" ], "markdownEnumDescriptions": [ - "The ``AWS::ApiGateway::Account`` resource specifies the IAM role that Amazon API Gateway uses to write API logs to Amazon CloudWatch Logs. To avoid overwriting other roles, you should only have one ``AWS::ApiGateway::Account`` resource per region per account. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-account.html)" + "Definition of AWS::Bedrock::AgentAlias Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-bedrock-agentalias.html)" ] }, "Properties": { - "$ref": "resources/aws-apigateway-account.json" + "$ref": "resources/aws-bedrock-agentalias.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -2999,9 +2991,9 @@ ], "additionalProperties": false }, - "AWS_ImageBuilder_ImagePipeline": { + "AWS_EC2_IPAMPoolCidr": { "type": "object", - "markdownDescription": "Resource schema for AWS::ImageBuilder::ImagePipeline \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-imagebuilder-imagepipeline.html)", + "markdownDescription": "Resource Schema of AWS::EC2::IPAMPoolCidr Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-ipampoolcidr.html)", "allOf": [ { "type": "object", @@ -3009,18 +3001,19 @@ "Type": { "type": "string", "enum": [ - "AWS::ImageBuilder::ImagePipeline" + "AWS::EC2::IPAMPoolCidr" ], "markdownEnumDescriptions": [ - "Resource schema for AWS::ImageBuilder::ImagePipeline \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-imagebuilder-imagepipeline.html)" + "Resource Schema of AWS::EC2::IPAMPoolCidr Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-ipampoolcidr.html)" ] }, "Properties": { - "$ref": "resources/aws-imagebuilder-imagepipeline.json" + "$ref": "resources/aws-ec2-ipampoolcidr.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -3029,9 +3022,9 @@ ], "additionalProperties": false }, - "AWS_CleanRooms_ConfiguredTableAssociation": { + "AWS_SupportApp_SlackWorkspaceConfiguration": { "type": "object", - "markdownDescription": "Represents a table that can be queried within a collaboration \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cleanrooms-configuredtableassociation.html)", + "markdownDescription": "An AWS Support App resource that creates, updates, lists, and deletes Slack workspace configurations. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-supportapp-slackworkspaceconfiguration.html)", "allOf": [ { "type": "object", @@ -3039,14 +3032,14 @@ "Type": { "type": "string", "enum": [ - "AWS::CleanRooms::ConfiguredTableAssociation" + "AWS::SupportApp::SlackWorkspaceConfiguration" ], "markdownEnumDescriptions": [ - "Represents a table that can be queried within a collaboration \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cleanrooms-configuredtableassociation.html)" + "An AWS Support App resource that creates, updates, lists, and deletes Slack workspace configurations. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-supportapp-slackworkspaceconfiguration.html)" ] }, "Properties": { - "$ref": "resources/aws-cleanrooms-configuredtableassociation.json" + "$ref": "resources/aws-supportapp-slackworkspaceconfiguration.json" } }, "required": [ @@ -3060,9 +3053,9 @@ ], "additionalProperties": false }, - "AWS_CleanRoomsML_TrainingDataset": { + "AWS_Deadline_LicenseEndpoint": { "type": "object", - "markdownDescription": "Definition of AWS::CleanRoomsML::TrainingDataset Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cleanroomsml-trainingdataset.html)", + "markdownDescription": "Definition of AWS::Deadline::LicenseEndpoint Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-deadline-licenseendpoint.html)", "allOf": [ { "type": "object", @@ -3070,14 +3063,14 @@ "Type": { "type": "string", "enum": [ - "AWS::CleanRoomsML::TrainingDataset" + "AWS::Deadline::LicenseEndpoint" ], "markdownEnumDescriptions": [ - "Definition of AWS::CleanRoomsML::TrainingDataset Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cleanroomsml-trainingdataset.html)" + "Definition of AWS::Deadline::LicenseEndpoint Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-deadline-licenseendpoint.html)" ] }, "Properties": { - "$ref": "resources/aws-cleanroomsml-trainingdataset.json" + "$ref": "resources/aws-deadline-licenseendpoint.json" } }, "required": [ @@ -3091,9 +3084,9 @@ ], "additionalProperties": false }, - "AWS_DataSync_LocationAzureBlob": { + "AWS_Organizations_Organization": { "type": "object", - "markdownDescription": "Resource schema for AWS::DataSync::LocationAzureBlob. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datasync-locationazureblob.html)", + "markdownDescription": "Resource schema for AWS::Organizations::Organization \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-organizations-organization.html)", "allOf": [ { "type": "object", @@ -3101,19 +3094,18 @@ "Type": { "type": "string", "enum": [ - "AWS::DataSync::LocationAzureBlob" + "AWS::Organizations::Organization" ], "markdownEnumDescriptions": [ - "Resource schema for AWS::DataSync::LocationAzureBlob. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datasync-locationazureblob.html)" + "Resource schema for AWS::Organizations::Organization \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-organizations-organization.html)" ] }, "Properties": { - "$ref": "resources/aws-datasync-locationazureblob.json" + "$ref": "resources/aws-organizations-organization.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -3122,9 +3114,9 @@ ], "additionalProperties": false }, - "AWS_Budgets_BudgetsAction": { + "AWS_NetworkFirewall_FirewallPolicy": { "type": "object", - "markdownDescription": "An example resource schema demonstrating some basic constructs and validation rules. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-budgets-budgetsaction.html)", + "markdownDescription": "Resource type definition for AWS::NetworkFirewall::FirewallPolicy \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkfirewall-firewallpolicy.html)", "allOf": [ { "type": "object", @@ -3132,14 +3124,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Budgets::BudgetsAction" + "AWS::NetworkFirewall::FirewallPolicy" ], "markdownEnumDescriptions": [ - "An example resource schema demonstrating some basic constructs and validation rules. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-budgets-budgetsaction.html)" + "Resource type definition for AWS::NetworkFirewall::FirewallPolicy \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkfirewall-firewallpolicy.html)" ] }, "Properties": { - "$ref": "resources/aws-budgets-budgetsaction.json" + "$ref": "resources/aws-networkfirewall-firewallpolicy.json" } }, "required": [ @@ -3153,9 +3145,9 @@ ], "additionalProperties": false }, - "AWS_GroundStation_Config": { + "AWS_EKS_Addon": { "type": "object", - "markdownDescription": "AWS Ground Station config resource type for CloudFormation. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-groundstation-config.html)", + "markdownDescription": "Resource Schema for AWS::EKS::Addon \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-eks-addon.html)", "allOf": [ { "type": "object", @@ -3163,14 +3155,14 @@ "Type": { "type": "string", "enum": [ - "AWS::GroundStation::Config" + "AWS::EKS::Addon" ], "markdownEnumDescriptions": [ - "AWS Ground Station config resource type for CloudFormation. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-groundstation-config.html)" + "Resource Schema for AWS::EKS::Addon \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-eks-addon.html)" ] }, "Properties": { - "$ref": "resources/aws-groundstation-config.json" + "$ref": "resources/aws-eks-addon.json" } }, "required": [ @@ -3184,9 +3176,9 @@ ], "additionalProperties": false }, - "AWS_IoTSiteWise_Portal": { + "AWS_Glue_Crawler": { "type": "object", - "markdownDescription": "Resource schema for AWS::IoTSiteWise::Portal \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotsitewise-portal.html)", + "markdownDescription": "Resource Type definition for AWS::Glue::Crawler \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-crawler.html)", "allOf": [ { "type": "object", @@ -3194,14 +3186,14 @@ "Type": { "type": "string", "enum": [ - "AWS::IoTSiteWise::Portal" + "AWS::Glue::Crawler" ], "markdownEnumDescriptions": [ - "Resource schema for AWS::IoTSiteWise::Portal \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotsitewise-portal.html)" + "Resource Type definition for AWS::Glue::Crawler \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-crawler.html)" ] }, "Properties": { - "$ref": "resources/aws-iotsitewise-portal.json" + "$ref": "resources/aws-glue-crawler.json" } }, "required": [ @@ -3215,9 +3207,9 @@ ], "additionalProperties": false }, - "AWS_IVSChat_LoggingConfiguration": { + "AWS_Redshift_EndpointAuthorization": { "type": "object", - "markdownDescription": "Resource type definition for AWS::IVSChat::LoggingConfiguration. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ivschat-loggingconfiguration.html)", + "markdownDescription": "Describes an endpoint authorization for authorizing Redshift-managed VPC endpoint access to a cluster across AWS accounts. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-redshift-endpointauthorization.html)", "allOf": [ { "type": "object", @@ -3225,14 +3217,14 @@ "Type": { "type": "string", "enum": [ - "AWS::IVSChat::LoggingConfiguration" + "AWS::Redshift::EndpointAuthorization" ], "markdownEnumDescriptions": [ - "Resource type definition for AWS::IVSChat::LoggingConfiguration. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ivschat-loggingconfiguration.html)" + "Describes an endpoint authorization for authorizing Redshift-managed VPC endpoint access to a cluster across AWS accounts. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-redshift-endpointauthorization.html)" ] }, "Properties": { - "$ref": "resources/aws-ivschat-loggingconfiguration.json" + "$ref": "resources/aws-redshift-endpointauthorization.json" } }, "required": [ @@ -3246,9 +3238,9 @@ ], "additionalProperties": false }, - "AWS_SageMaker_ModelPackage": { + "AWS_ECR_Repository": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::SageMaker::ModelPackage \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-modelpackage.html)", + "markdownDescription": "The ``AWS::ECR::Repository`` resource specifies an Amazon Elastic Container Registry (Amazon ECR) repository, where users can push and pull Docker images, Open Container Initiative (OCI) images, and OCI compatible artifacts. For more information, see [Amazon ECR private repositories](https://docs.aws.amazon.com/AmazonECR/latest/userguide/Repositories.html) in the *Amazon ECR User Guide*. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ecr-repository.html)", "allOf": [ { "type": "object", @@ -3256,14 +3248,14 @@ "Type": { "type": "string", "enum": [ - "AWS::SageMaker::ModelPackage" + "AWS::ECR::Repository" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::SageMaker::ModelPackage \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-modelpackage.html)" + "The ``AWS::ECR::Repository`` resource specifies an Amazon Elastic Container Registry (Amazon ECR) repository, where users can push and pull Docker images, Open Container Initiative (OCI) images, and OCI compatible artifacts. For more information, see [Amazon ECR private repositories](https://docs.aws.amazon.com/AmazonECR/latest/userguide/Repositories.html) in the *Amazon ECR User Guide*. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ecr-repository.html)" ] }, "Properties": { - "$ref": "resources/aws-sagemaker-modelpackage.json" + "$ref": "resources/aws-ecr-repository.json" } }, "required": [ @@ -3276,9 +3268,9 @@ ], "additionalProperties": false }, - "AWS_EC2_FlowLog": { + "AWS_Connect_TaskTemplate": { "type": "object", - "markdownDescription": "Specifies a VPC flow log, which enables you to capture IP traffic for a specific network interface, subnet, or VPC. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-flowlog.html)", + "markdownDescription": "Resource Type definition for AWS::Connect::TaskTemplate. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-connect-tasktemplate.html)", "allOf": [ { "type": "object", @@ -3286,14 +3278,14 @@ "Type": { "type": "string", "enum": [ - "AWS::EC2::FlowLog" + "AWS::Connect::TaskTemplate" ], "markdownEnumDescriptions": [ - "Specifies a VPC flow log, which enables you to capture IP traffic for a specific network interface, subnet, or VPC. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-flowlog.html)" + "Resource Type definition for AWS::Connect::TaskTemplate. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-connect-tasktemplate.html)" ] }, "Properties": { - "$ref": "resources/aws-ec2-flowlog.json" + "$ref": "resources/aws-connect-tasktemplate.json" } }, "required": [ @@ -3307,9 +3299,9 @@ ], "additionalProperties": false }, - "AWS_CE_CostCategory": { + "AWS_AppConfig_ConfigurationProfile": { "type": "object", - "markdownDescription": "Cost Category enables you to map your cost and usage into meaningful categories. You can use Cost Category to organize your costs using a rule-based engine. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ce-costcategory.html)", + "markdownDescription": "An example resource schema demonstrating some basic constructs and validation rules. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appconfig-configurationprofile.html)", "allOf": [ { "type": "object", @@ -3317,14 +3309,14 @@ "Type": { "type": "string", "enum": [ - "AWS::CE::CostCategory" + "AWS::AppConfig::ConfigurationProfile" ], "markdownEnumDescriptions": [ - "Cost Category enables you to map your cost and usage into meaningful categories. You can use Cost Category to organize your costs using a rule-based engine. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ce-costcategory.html)" + "An example resource schema demonstrating some basic constructs and validation rules. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appconfig-configurationprofile.html)" ] }, "Properties": { - "$ref": "resources/aws-ce-costcategory.json" + "$ref": "resources/aws-appconfig-configurationprofile.json" } }, "required": [ @@ -3338,9 +3330,9 @@ ], "additionalProperties": false }, - "AWS_ServiceCatalog_PortfolioProductAssociation": { + "AWS_Greengrass_SubscriptionDefinitionVersion": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::ServiceCatalog::PortfolioProductAssociation \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicecatalog-portfolioproductassociation.html)", + "markdownDescription": "Resource Type definition for AWS::Greengrass::SubscriptionDefinitionVersion \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-subscriptiondefinitionversion.html)", "allOf": [ { "type": "object", @@ -3348,14 +3340,14 @@ "Type": { "type": "string", "enum": [ - "AWS::ServiceCatalog::PortfolioProductAssociation" + "AWS::Greengrass::SubscriptionDefinitionVersion" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::ServiceCatalog::PortfolioProductAssociation \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicecatalog-portfolioproductassociation.html)" + "Resource Type definition for AWS::Greengrass::SubscriptionDefinitionVersion \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-subscriptiondefinitionversion.html)" ] }, "Properties": { - "$ref": "resources/aws-servicecatalog-portfolioproductassociation.json" + "$ref": "resources/aws-greengrass-subscriptiondefinitionversion.json" } }, "required": [ @@ -3369,9 +3361,9 @@ ], "additionalProperties": false }, - "AWS_Bedrock_FlowAlias": { + "AWS_IAM_SAMLProvider": { "type": "object", - "markdownDescription": "Definition of AWS::Bedrock::FlowAlias Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-bedrock-flowalias.html)", + "markdownDescription": "Resource Type definition for AWS::IAM::SAMLProvider \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-samlprovider.html)", "allOf": [ { "type": "object", @@ -3379,14 +3371,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Bedrock::FlowAlias" + "AWS::IAM::SAMLProvider" ], "markdownEnumDescriptions": [ - "Definition of AWS::Bedrock::FlowAlias Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-bedrock-flowalias.html)" + "Resource Type definition for AWS::IAM::SAMLProvider \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-samlprovider.html)" ] }, "Properties": { - "$ref": "resources/aws-bedrock-flowalias.json" + "$ref": "resources/aws-iam-samlprovider.json" } }, "required": [ @@ -3400,9 +3392,9 @@ ], "additionalProperties": false }, - "AWS_Pinpoint_EventStream": { + "AWS_SecretsManager_Secret": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::Pinpoint::EventStream \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-eventstream.html)", + "markdownDescription": "Creates a new secret. A *secret* can be a password, a set of credentials such as a user name and password, an OAuth token, or other secret information that you store in an encrypted form in Secrets Manager.\n For RDS master user credentials, see [AWS::RDS::DBCluster MasterUserSecret](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rds-dbcluster-masterusersecret.html).\n For RS admin user credentials, see [AWS::Redshift::Cluster](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-redshift-cluster.html).\n To retrieve a secret in a CFNshort template, use a *dynamic reference*. For more information, see [Retrieve a secret in an resource](https://docs.aws.amazon.com/secretsmanager/latest/userguide/cfn-example_reference-secret.html).\n For information about creating a secret in the console, see [Create a secret](https://docs.aws.amazon.com/secretsmanager/latest/userguide/manage_create-basic-secret.html). For information about creating a secret using the CLI or SDK, see [CreateSecret](https://docs.aws.amazon.com/secretsmanager/latest/apireference/API_CreateSecret.html).\n For information about retrieving a secret in code, see [Retrieve secrets from Secrets Manager](https://docs.aws.amazon.com/secretsmanager/latest/userguide/retrieving-secrets.html). \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-secretsmanager-secret.html)", "allOf": [ { "type": "object", @@ -3410,19 +3402,18 @@ "Type": { "type": "string", "enum": [ - "AWS::Pinpoint::EventStream" + "AWS::SecretsManager::Secret" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::Pinpoint::EventStream \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-eventstream.html)" + "Creates a new secret. A *secret* can be a password, a set of credentials such as a user name and password, an OAuth token, or other secret information that you store in an encrypted form in Secrets Manager.\n For RDS master user credentials, see [AWS::RDS::DBCluster MasterUserSecret](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rds-dbcluster-masterusersecret.html).\n For RS admin user credentials, see [AWS::Redshift::Cluster](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-redshift-cluster.html).\n To retrieve a secret in a CFNshort template, use a *dynamic reference*. For more information, see [Retrieve a secret in an resource](https://docs.aws.amazon.com/secretsmanager/latest/userguide/cfn-example_reference-secret.html).\n For information about creating a secret in the console, see [Create a secret](https://docs.aws.amazon.com/secretsmanager/latest/userguide/manage_create-basic-secret.html). For information about creating a secret using the CLI or SDK, see [CreateSecret](https://docs.aws.amazon.com/secretsmanager/latest/apireference/API_CreateSecret.html).\n For information about retrieving a secret in code, see [Retrieve secrets from Secrets Manager](https://docs.aws.amazon.com/secretsmanager/latest/userguide/retrieving-secrets.html). \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-secretsmanager-secret.html)" ] }, "Properties": { - "$ref": "resources/aws-pinpoint-eventstream.json" + "$ref": "resources/aws-secretsmanager-secret.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -3431,9 +3422,9 @@ ], "additionalProperties": false }, - "AWS_SecurityHub_ConfigurationPolicy": { + "AWS_NetworkManager_Site": { "type": "object", - "markdownDescription": "The AWS::SecurityHub::ConfigurationPolicy resource represents the Central Configuration Policy in your account. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-securityhub-configurationpolicy.html)", + "markdownDescription": "The AWS::NetworkManager::Site type describes a site. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkmanager-site.html)", "allOf": [ { "type": "object", @@ -3441,14 +3432,14 @@ "Type": { "type": "string", "enum": [ - "AWS::SecurityHub::ConfigurationPolicy" + "AWS::NetworkManager::Site" ], "markdownEnumDescriptions": [ - "The AWS::SecurityHub::ConfigurationPolicy resource represents the Central Configuration Policy in your account. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-securityhub-configurationpolicy.html)" + "The AWS::NetworkManager::Site type describes a site. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkmanager-site.html)" ] }, "Properties": { - "$ref": "resources/aws-securityhub-configurationpolicy.json" + "$ref": "resources/aws-networkmanager-site.json" } }, "required": [ @@ -3462,9 +3453,9 @@ ], "additionalProperties": false }, - "AWS_SecurityHub_Hub": { + "AWS_IoT_TopicRule": { "type": "object", - "markdownDescription": "The AWS::SecurityHub::Hub resource represents the implementation of the AWS Security Hub service in your account. One hub resource is created for each Region in which you enable Security Hub.\n\n \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-securityhub-hub.html)", + "markdownDescription": "Resource Type definition for AWS::IoT::TopicRule \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-topicrule.html)", "allOf": [ { "type": "object", @@ -3472,18 +3463,19 @@ "Type": { "type": "string", "enum": [ - "AWS::SecurityHub::Hub" + "AWS::IoT::TopicRule" ], "markdownEnumDescriptions": [ - "The AWS::SecurityHub::Hub resource represents the implementation of the AWS Security Hub service in your account. One hub resource is created for each Region in which you enable Security Hub.\n\n \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-securityhub-hub.html)" + "Resource Type definition for AWS::IoT::TopicRule \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-topicrule.html)" ] }, "Properties": { - "$ref": "resources/aws-securityhub-hub.json" + "$ref": "resources/aws-iot-topicrule.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -3492,9 +3484,9 @@ ], "additionalProperties": false }, - "AWS_Macie_Session": { + "AWS_DataSync_LocationFSxOpenZFS": { "type": "object", - "markdownDescription": "The AWS::Macie::Session resource specifies a new Amazon Macie session. A session is an object that represents the Amazon Macie service. A session is required for Amazon Macie to become operational. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-macie-session.html)", + "markdownDescription": "Resource schema for AWS::DataSync::LocationFSxOpenZFS. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datasync-locationfsxopenzfs.html)", "allOf": [ { "type": "object", @@ -3502,18 +3494,19 @@ "Type": { "type": "string", "enum": [ - "AWS::Macie::Session" + "AWS::DataSync::LocationFSxOpenZFS" ], "markdownEnumDescriptions": [ - "The AWS::Macie::Session resource specifies a new Amazon Macie session. A session is an object that represents the Amazon Macie service. A session is required for Amazon Macie to become operational. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-macie-session.html)" + "Resource schema for AWS::DataSync::LocationFSxOpenZFS. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datasync-locationfsxopenzfs.html)" ] }, "Properties": { - "$ref": "resources/aws-macie-session.json" + "$ref": "resources/aws-datasync-locationfsxopenzfs.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -3522,9 +3515,9 @@ ], "additionalProperties": false }, - "AWS_CleanRooms_PrivacyBudgetTemplate": { + "AWS_SageMaker_MlflowTrackingServer": { "type": "object", - "markdownDescription": "Represents a privacy budget within a collaboration \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cleanrooms-privacybudgettemplate.html)", + "markdownDescription": "Resource Type definition for AWS::SageMaker::MlflowTrackingServer \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-mlflowtrackingserver.html)", "allOf": [ { "type": "object", @@ -3532,14 +3525,14 @@ "Type": { "type": "string", "enum": [ - "AWS::CleanRooms::PrivacyBudgetTemplate" + "AWS::SageMaker::MlflowTrackingServer" ], "markdownEnumDescriptions": [ - "Represents a privacy budget within a collaboration \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cleanrooms-privacybudgettemplate.html)" + "Resource Type definition for AWS::SageMaker::MlflowTrackingServer \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-mlflowtrackingserver.html)" ] }, "Properties": { - "$ref": "resources/aws-cleanrooms-privacybudgettemplate.json" + "$ref": "resources/aws-sagemaker-mlflowtrackingserver.json" } }, "required": [ @@ -3553,9 +3546,9 @@ ], "additionalProperties": false }, - "AWS_Lambda_Version": { + "AWS_EC2_VPCEndpoint": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::Lambda::Version \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-version.html)", + "markdownDescription": "Specifies a VPC endpoint. A VPC endpoint provides a private connection between your VPC and an endpoint service. You can use an endpoint service provided by AWS, an MKT Partner, or another AWS accounts in your organization. For more information, see the [User Guide](https://docs.aws.amazon.com/vpc/latest/privatelink/).\n An endpoint of type ``Interface`` establishes connections between the subnets in your VPC and an AWS-service, your own service, or a service hosted by another AWS-account. With an interface VPC endpoint, you specify the subnets in which to create the endpoint and the security groups to associate with the endpoint network interfaces.\n An endpoint of type ``gateway`` serves as a target for a route in your route table for traffic destined for S3 or DDB. You can specify an endpoint policy for the endpoint, which controls access to the service from your VPC. You can also specify the VPC route tables that use the endpoint. For more information about connectivity to S3, see [Why can't I connect to an S3 bucket using a gateway VPC endpoint?](https://docs.aws.amazon.com/premiumsupport/knowledge-center/connect-s3-vpc-endpoint) \n An endpoint of type ``GatewayLoadBalancer`` provides private connectivity between your VPC and virtual appliances from a service provider. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpcendpoint.html)", "allOf": [ { "type": "object", @@ -3563,14 +3556,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Lambda::Version" + "AWS::EC2::VPCEndpoint" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::Lambda::Version \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-version.html)" + "Specifies a VPC endpoint. A VPC endpoint provides a private connection between your VPC and an endpoint service. You can use an endpoint service provided by AWS, an MKT Partner, or another AWS accounts in your organization. For more information, see the [User Guide](https://docs.aws.amazon.com/vpc/latest/privatelink/).\n An endpoint of type ``Interface`` establishes connections between the subnets in your VPC and an AWS-service, your own service, or a service hosted by another AWS-account. With an interface VPC endpoint, you specify the subnets in which to create the endpoint and the security groups to associate with the endpoint network interfaces.\n An endpoint of type ``gateway`` serves as a target for a route in your route table for traffic destined for S3 or DDB. You can specify an endpoint policy for the endpoint, which controls access to the service from your VPC. You can also specify the VPC route tables that use the endpoint. For more information about connectivity to S3, see [Why can't I connect to an S3 bucket using a gateway VPC endpoint?](https://docs.aws.amazon.com/premiumsupport/knowledge-center/connect-s3-vpc-endpoint) \n An endpoint of type ``GatewayLoadBalancer`` provides private connectivity between your VPC and virtual appliances from a service provider. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpcendpoint.html)" ] }, "Properties": { - "$ref": "resources/aws-lambda-version.json" + "$ref": "resources/aws-ec2-vpcendpoint.json" } }, "required": [ @@ -3584,9 +3577,9 @@ ], "additionalProperties": false }, - "AWS_CustomerProfiles_Integration": { + "AWS_Lightsail_LoadBalancerTlsCertificate": { "type": "object", - "markdownDescription": "The resource schema for creating an Amazon Connect Customer Profiles Integration. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-customerprofiles-integration.html)", + "markdownDescription": "Resource Type definition for AWS::Lightsail::LoadBalancerTlsCertificate \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lightsail-loadbalancertlscertificate.html)", "allOf": [ { "type": "object", @@ -3594,14 +3587,14 @@ "Type": { "type": "string", "enum": [ - "AWS::CustomerProfiles::Integration" + "AWS::Lightsail::LoadBalancerTlsCertificate" ], "markdownEnumDescriptions": [ - "The resource schema for creating an Amazon Connect Customer Profiles Integration. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-customerprofiles-integration.html)" + "Resource Type definition for AWS::Lightsail::LoadBalancerTlsCertificate \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lightsail-loadbalancertlscertificate.html)" ] }, "Properties": { - "$ref": "resources/aws-customerprofiles-integration.json" + "$ref": "resources/aws-lightsail-loadbalancertlscertificate.json" } }, "required": [ @@ -3615,9 +3608,9 @@ ], "additionalProperties": false }, - "AWS_DMS_ReplicationTask": { + "AWS_MemoryDB_Cluster": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::DMS::ReplicationTask \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dms-replicationtask.html)", + "markdownDescription": "The AWS::MemoryDB::Cluster resource creates an Amazon MemoryDB Cluster. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-memorydb-cluster.html)", "allOf": [ { "type": "object", @@ -3625,14 +3618,14 @@ "Type": { "type": "string", "enum": [ - "AWS::DMS::ReplicationTask" + "AWS::MemoryDB::Cluster" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::DMS::ReplicationTask \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dms-replicationtask.html)" + "The AWS::MemoryDB::Cluster resource creates an Amazon MemoryDB Cluster. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-memorydb-cluster.html)" ] }, "Properties": { - "$ref": "resources/aws-dms-replicationtask.json" + "$ref": "resources/aws-memorydb-cluster.json" } }, "required": [ @@ -3646,9 +3639,9 @@ ], "additionalProperties": false }, - "AWS_CodeBuild_ReportGroup": { + "AWS_IoTAnalytics_Dataset": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::CodeBuild::ReportGroup \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codebuild-reportgroup.html)", + "markdownDescription": "Resource Type definition for AWS::IoTAnalytics::Dataset \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotanalytics-dataset.html)", "allOf": [ { "type": "object", @@ -3656,14 +3649,14 @@ "Type": { "type": "string", "enum": [ - "AWS::CodeBuild::ReportGroup" + "AWS::IoTAnalytics::Dataset" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::CodeBuild::ReportGroup \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codebuild-reportgroup.html)" + "Resource Type definition for AWS::IoTAnalytics::Dataset \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotanalytics-dataset.html)" ] }, "Properties": { - "$ref": "resources/aws-codebuild-reportgroup.json" + "$ref": "resources/aws-iotanalytics-dataset.json" } }, "required": [ @@ -3677,9 +3670,9 @@ ], "additionalProperties": false }, - "AWS_CloudFront_ContinuousDeploymentPolicy": { + "AWS_ServiceDiscovery_PublicDnsNamespace": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::CloudFront::ContinuousDeploymentPolicy \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudfront-continuousdeploymentpolicy.html)", + "markdownDescription": "Resource Type definition for AWS::ServiceDiscovery::PublicDnsNamespace \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicediscovery-publicdnsnamespace.html)", "allOf": [ { "type": "object", @@ -3687,14 +3680,14 @@ "Type": { "type": "string", "enum": [ - "AWS::CloudFront::ContinuousDeploymentPolicy" + "AWS::ServiceDiscovery::PublicDnsNamespace" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::CloudFront::ContinuousDeploymentPolicy \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudfront-continuousdeploymentpolicy.html)" + "Resource Type definition for AWS::ServiceDiscovery::PublicDnsNamespace \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicediscovery-publicdnsnamespace.html)" ] }, "Properties": { - "$ref": "resources/aws-cloudfront-continuousdeploymentpolicy.json" + "$ref": "resources/aws-servicediscovery-publicdnsnamespace.json" } }, "required": [ @@ -3708,9 +3701,9 @@ ], "additionalProperties": false }, - "AWS_KinesisAnalytics_ApplicationReferenceDataSource": { + "AWS_EC2_NetworkAcl": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::KinesisAnalytics::ApplicationReferenceDataSource \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kinesisanalytics-applicationreferencedatasource.html)", + "markdownDescription": "Specifies a network ACL for your VPC. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-networkacl.html)", "allOf": [ { "type": "object", @@ -3718,14 +3711,14 @@ "Type": { "type": "string", "enum": [ - "AWS::KinesisAnalytics::ApplicationReferenceDataSource" + "AWS::EC2::NetworkAcl" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::KinesisAnalytics::ApplicationReferenceDataSource \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kinesisanalytics-applicationreferencedatasource.html)" + "Specifies a network ACL for your VPC. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-networkacl.html)" ] }, "Properties": { - "$ref": "resources/aws-kinesisanalytics-applicationreferencedatasource.json" + "$ref": "resources/aws-ec2-networkacl.json" } }, "required": [ @@ -3739,9 +3732,9 @@ ], "additionalProperties": false }, - "AWS_Lightsail_Database": { + "AWS_Greengrass_FunctionDefinitionVersion": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::Lightsail::Database \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lightsail-database.html)", + "markdownDescription": "Resource Type definition for AWS::Greengrass::FunctionDefinitionVersion \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-functiondefinitionversion.html)", "allOf": [ { "type": "object", @@ -3749,14 +3742,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Lightsail::Database" + "AWS::Greengrass::FunctionDefinitionVersion" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::Lightsail::Database \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lightsail-database.html)" + "Resource Type definition for AWS::Greengrass::FunctionDefinitionVersion \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-functiondefinitionversion.html)" ] }, "Properties": { - "$ref": "resources/aws-lightsail-database.json" + "$ref": "resources/aws-greengrass-functiondefinitionversion.json" } }, "required": [ @@ -3770,9 +3763,9 @@ ], "additionalProperties": false }, - "AWS_SageMaker_Domain": { + "AWS_AutoScaling_LifecycleHook": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::SageMaker::Domain \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-domain.html)", + "markdownDescription": "Resource Type definition for AWS::AutoScaling::LifecycleHook \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-autoscaling-lifecyclehook.html)", "allOf": [ { "type": "object", @@ -3780,14 +3773,14 @@ "Type": { "type": "string", "enum": [ - "AWS::SageMaker::Domain" + "AWS::AutoScaling::LifecycleHook" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::SageMaker::Domain \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-domain.html)" + "Resource Type definition for AWS::AutoScaling::LifecycleHook \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-autoscaling-lifecyclehook.html)" ] }, "Properties": { - "$ref": "resources/aws-sagemaker-domain.json" + "$ref": "resources/aws-autoscaling-lifecyclehook.json" } }, "required": [ @@ -3801,9 +3794,9 @@ ], "additionalProperties": false }, - "AWS_PaymentCryptography_Key": { + "AWS_AutoScaling_ScalingPolicy": { "type": "object", - "markdownDescription": "Definition of AWS::PaymentCryptography::Key Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-paymentcryptography-key.html)", + "markdownDescription": "The AWS::AutoScaling::ScalingPolicy resource specifies an Amazon EC2 Auto Scaling scaling policy so that the Auto Scaling group can scale the number of instances available for your application. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-autoscaling-scalingpolicy.html)", "allOf": [ { "type": "object", @@ -3811,14 +3804,14 @@ "Type": { "type": "string", "enum": [ - "AWS::PaymentCryptography::Key" + "AWS::AutoScaling::ScalingPolicy" ], "markdownEnumDescriptions": [ - "Definition of AWS::PaymentCryptography::Key Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-paymentcryptography-key.html)" + "The AWS::AutoScaling::ScalingPolicy resource specifies an Amazon EC2 Auto Scaling scaling policy so that the Auto Scaling group can scale the number of instances available for your application. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-autoscaling-scalingpolicy.html)" ] }, "Properties": { - "$ref": "resources/aws-paymentcryptography-key.json" + "$ref": "resources/aws-autoscaling-scalingpolicy.json" } }, "required": [ @@ -3832,9 +3825,9 @@ ], "additionalProperties": false }, - "AWS_SSM_ResourceDataSync": { + "AWS_WAFv2_LoggingConfiguration": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::SSM::ResourceDataSync \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-resourcedatasync.html)", + "markdownDescription": "A WAFv2 Logging Configuration Resource Provider \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-wafv2-loggingconfiguration.html)", "allOf": [ { "type": "object", @@ -3842,14 +3835,14 @@ "Type": { "type": "string", "enum": [ - "AWS::SSM::ResourceDataSync" + "AWS::WAFv2::LoggingConfiguration" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::SSM::ResourceDataSync \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-resourcedatasync.html)" + "A WAFv2 Logging Configuration Resource Provider \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-wafv2-loggingconfiguration.html)" ] }, "Properties": { - "$ref": "resources/aws-ssm-resourcedatasync.json" + "$ref": "resources/aws-wafv2-loggingconfiguration.json" } }, "required": [ @@ -3863,9 +3856,9 @@ ], "additionalProperties": false }, - "AWS_WAFRegional_XssMatchSet": { + "AWS_IoT_JobTemplate": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::WAFRegional::XssMatchSet \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-wafregional-xssmatchset.html)", + "markdownDescription": "Job templates enable you to preconfigure jobs so that you can deploy them to multiple sets of target devices. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-jobtemplate.html)", "allOf": [ { "type": "object", @@ -3873,14 +3866,14 @@ "Type": { "type": "string", "enum": [ - "AWS::WAFRegional::XssMatchSet" + "AWS::IoT::JobTemplate" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::WAFRegional::XssMatchSet \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-wafregional-xssmatchset.html)" + "Job templates enable you to preconfigure jobs so that you can deploy them to multiple sets of target devices. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-jobtemplate.html)" ] }, "Properties": { - "$ref": "resources/aws-wafregional-xssmatchset.json" + "$ref": "resources/aws-iot-jobtemplate.json" } }, "required": [ @@ -3894,9 +3887,9 @@ ], "additionalProperties": false }, - "AWS_AppMesh_VirtualGateway": { + "AWS_CloudFormation_StackSet": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::AppMesh::VirtualGateway \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appmesh-virtualgateway.html)", + "markdownDescription": "StackSet as a resource provides one-click experience for provisioning a StackSet and StackInstances \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudformation-stackset.html)", "allOf": [ { "type": "object", @@ -3904,14 +3897,14 @@ "Type": { "type": "string", "enum": [ - "AWS::AppMesh::VirtualGateway" + "AWS::CloudFormation::StackSet" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::AppMesh::VirtualGateway \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appmesh-virtualgateway.html)" + "StackSet as a resource provides one-click experience for provisioning a StackSet and StackInstances \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudformation-stackset.html)" ] }, "Properties": { - "$ref": "resources/aws-appmesh-virtualgateway.json" + "$ref": "resources/aws-cloudformation-stackset.json" } }, "required": [ @@ -3925,9 +3918,9 @@ ], "additionalProperties": false }, - "AWS_Batch_JobDefinition": { + "AWS_NetworkManager_TransitGatewayRegistration": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::Batch::JobDefinition \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-batch-jobdefinition.html)", + "markdownDescription": "The AWS::NetworkManager::TransitGatewayRegistration type registers a transit gateway in your global network. The transit gateway can be in any AWS Region, but it must be owned by the same AWS account that owns the global network. You cannot register a transit gateway in more than one global network. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkmanager-transitgatewayregistration.html)", "allOf": [ { "type": "object", @@ -3935,14 +3928,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Batch::JobDefinition" + "AWS::NetworkManager::TransitGatewayRegistration" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::Batch::JobDefinition \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-batch-jobdefinition.html)" + "The AWS::NetworkManager::TransitGatewayRegistration type registers a transit gateway in your global network. The transit gateway can be in any AWS Region, but it must be owned by the same AWS account that owns the global network. You cannot register a transit gateway in more than one global network. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkmanager-transitgatewayregistration.html)" ] }, "Properties": { - "$ref": "resources/aws-batch-jobdefinition.json" + "$ref": "resources/aws-networkmanager-transitgatewayregistration.json" } }, "required": [ @@ -3956,9 +3949,9 @@ ], "additionalProperties": false }, - "AWS_QBusiness_Application": { + "AWS_ApiGatewayV2_ApiGatewayManagedOverrides": { "type": "object", - "markdownDescription": "Definition of AWS::QBusiness::Application Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-qbusiness-application.html)", + "markdownDescription": "Resource Type definition for AWS::ApiGatewayV2::ApiGatewayManagedOverrides \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-apigatewaymanagedoverrides.html)", "allOf": [ { "type": "object", @@ -3966,14 +3959,14 @@ "Type": { "type": "string", "enum": [ - "AWS::QBusiness::Application" + "AWS::ApiGatewayV2::ApiGatewayManagedOverrides" ], "markdownEnumDescriptions": [ - "Definition of AWS::QBusiness::Application Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-qbusiness-application.html)" + "Resource Type definition for AWS::ApiGatewayV2::ApiGatewayManagedOverrides \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-apigatewaymanagedoverrides.html)" ] }, "Properties": { - "$ref": "resources/aws-qbusiness-application.json" + "$ref": "resources/aws-apigatewayv2-apigatewaymanagedoverrides.json" } }, "required": [ @@ -3987,9 +3980,9 @@ ], "additionalProperties": false }, - "AWS_RDS_Integration": { + "AWS_EC2_TransitGatewayConnect": { "type": "object", - "markdownDescription": "A zero-ETL integration with Amazon Redshift. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-integration.html)", + "markdownDescription": "The AWS::EC2::TransitGatewayConnect type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-transitgatewayconnect.html)", "allOf": [ { "type": "object", @@ -3997,14 +3990,14 @@ "Type": { "type": "string", "enum": [ - "AWS::RDS::Integration" + "AWS::EC2::TransitGatewayConnect" ], "markdownEnumDescriptions": [ - "A zero-ETL integration with Amazon Redshift. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-integration.html)" + "The AWS::EC2::TransitGatewayConnect type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-transitgatewayconnect.html)" ] }, "Properties": { - "$ref": "resources/aws-rds-integration.json" + "$ref": "resources/aws-ec2-transitgatewayconnect.json" } }, "required": [ @@ -4018,9 +4011,9 @@ ], "additionalProperties": false }, - "AWS_CloudWatch_Alarm": { + "AWS_SageMaker_ModelQualityJobDefinition": { "type": "object", - "markdownDescription": "The ``AWS::CloudWatch::Alarm`` type specifies an alarm and associates it with the specified metric or metric math expression.\n When this operation creates an alarm, the alarm state is immediately set to ``INSUFFICIENT_DATA``. The alarm is then evaluated and its state is set appropriately. Any actions associated with the new state are then executed.\n When you update an existing alarm, its state is left unchanged, but the update completely overwrites the previous configuration of the alarm. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudwatch-alarm.html)", + "markdownDescription": "Resource Type definition for AWS::SageMaker::ModelQualityJobDefinition \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-modelqualityjobdefinition.html)", "allOf": [ { "type": "object", @@ -4028,14 +4021,14 @@ "Type": { "type": "string", "enum": [ - "AWS::CloudWatch::Alarm" + "AWS::SageMaker::ModelQualityJobDefinition" ], "markdownEnumDescriptions": [ - "The ``AWS::CloudWatch::Alarm`` type specifies an alarm and associates it with the specified metric or metric math expression.\n When this operation creates an alarm, the alarm state is immediately set to ``INSUFFICIENT_DATA``. The alarm is then evaluated and its state is set appropriately. Any actions associated with the new state are then executed.\n When you update an existing alarm, its state is left unchanged, but the update completely overwrites the previous configuration of the alarm. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudwatch-alarm.html)" + "Resource Type definition for AWS::SageMaker::ModelQualityJobDefinition \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-modelqualityjobdefinition.html)" ] }, "Properties": { - "$ref": "resources/aws-cloudwatch-alarm.json" + "$ref": "resources/aws-sagemaker-modelqualityjobdefinition.json" } }, "required": [ @@ -4049,9 +4042,9 @@ ], "additionalProperties": false }, - "AWS_QBusiness_Plugin": { + "AWS_WAF_WebACL": { "type": "object", - "markdownDescription": "Definition of AWS::QBusiness::Plugin Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-qbusiness-plugin.html)", + "markdownDescription": "Resource Type definition for AWS::WAF::WebACL \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-waf-webacl.html)", "allOf": [ { "type": "object", @@ -4059,14 +4052,14 @@ "Type": { "type": "string", "enum": [ - "AWS::QBusiness::Plugin" + "AWS::WAF::WebACL" ], "markdownEnumDescriptions": [ - "Definition of AWS::QBusiness::Plugin Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-qbusiness-plugin.html)" + "Resource Type definition for AWS::WAF::WebACL \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-waf-webacl.html)" ] }, "Properties": { - "$ref": "resources/aws-qbusiness-plugin.json" + "$ref": "resources/aws-waf-webacl.json" } }, "required": [ @@ -4080,9 +4073,9 @@ ], "additionalProperties": false }, - "AWS_QBusiness_Retriever": { + "AWS_ECS_TaskSet": { "type": "object", - "markdownDescription": "Definition of AWS::QBusiness::Retriever Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-qbusiness-retriever.html)", + "markdownDescription": "Create a task set in the specified cluster and service. This is used when a service uses the EXTERNAL deployment controller type. For more information, see https://docs.aws.amazon.com/AmazonECS/latest/developerguide/deployment-types.htmlin the Amazon Elastic Container Service Developer Guide. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ecs-taskset.html)", "allOf": [ { "type": "object", @@ -4090,14 +4083,14 @@ "Type": { "type": "string", "enum": [ - "AWS::QBusiness::Retriever" + "AWS::ECS::TaskSet" ], "markdownEnumDescriptions": [ - "Definition of AWS::QBusiness::Retriever Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-qbusiness-retriever.html)" + "Create a task set in the specified cluster and service. This is used when a service uses the EXTERNAL deployment controller type. For more information, see https://docs.aws.amazon.com/AmazonECS/latest/developerguide/deployment-types.htmlin the Amazon Elastic Container Service Developer Guide. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ecs-taskset.html)" ] }, "Properties": { - "$ref": "resources/aws-qbusiness-retriever.json" + "$ref": "resources/aws-ecs-taskset.json" } }, "required": [ @@ -4111,9 +4104,9 @@ ], "additionalProperties": false }, - "AWS_CloudFront_ResponseHeadersPolicy": { + "AWS_Redshift_ClusterSecurityGroupIngress": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::CloudFront::ResponseHeadersPolicy \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudfront-responseheaderspolicy.html)", + "markdownDescription": "Resource Type definition for AWS::Redshift::ClusterSecurityGroupIngress \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-redshift-clustersecuritygroupingress.html)", "allOf": [ { "type": "object", @@ -4121,14 +4114,14 @@ "Type": { "type": "string", "enum": [ - "AWS::CloudFront::ResponseHeadersPolicy" + "AWS::Redshift::ClusterSecurityGroupIngress" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::CloudFront::ResponseHeadersPolicy \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudfront-responseheaderspolicy.html)" + "Resource Type definition for AWS::Redshift::ClusterSecurityGroupIngress \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-redshift-clustersecuritygroupingress.html)" ] }, "Properties": { - "$ref": "resources/aws-cloudfront-responseheaderspolicy.json" + "$ref": "resources/aws-redshift-clustersecuritygroupingress.json" } }, "required": [ @@ -4142,9 +4135,9 @@ ], "additionalProperties": false }, - "AWS_ApiGateway_Deployment": { + "AWS_EC2_VPCEndpointService": { "type": "object", - "markdownDescription": "The ``AWS::ApiGateway::Deployment`` resource deploys an API Gateway ``RestApi`` resource to a stage so that clients can call the API over the internet. The stage acts as an environment. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-deployment.html)", + "markdownDescription": "Resource Type definition for AWS::EC2::VPCEndpointService \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpcendpointservice.html)", "allOf": [ { "type": "object", @@ -4152,19 +4145,18 @@ "Type": { "type": "string", "enum": [ - "AWS::ApiGateway::Deployment" + "AWS::EC2::VPCEndpointService" ], "markdownEnumDescriptions": [ - "The ``AWS::ApiGateway::Deployment`` resource deploys an API Gateway ``RestApi`` resource to a stage so that clients can call the API over the internet. The stage acts as an environment. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-deployment.html)" + "Resource Type definition for AWS::EC2::VPCEndpointService \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpcendpointservice.html)" ] }, "Properties": { - "$ref": "resources/aws-apigateway-deployment.json" + "$ref": "resources/aws-ec2-vpcendpointservice.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -4173,9 +4165,9 @@ ], "additionalProperties": false }, - "AWS_WAF_XssMatchSet": { + "AWS_NetworkManager_LinkAssociation": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::WAF::XssMatchSet \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-waf-xssmatchset.html)", + "markdownDescription": "The AWS::NetworkManager::LinkAssociation type associates a link to a device. The device and link must be in the same global network and the same site. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkmanager-linkassociation.html)", "allOf": [ { "type": "object", @@ -4183,14 +4175,14 @@ "Type": { "type": "string", "enum": [ - "AWS::WAF::XssMatchSet" + "AWS::NetworkManager::LinkAssociation" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::WAF::XssMatchSet \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-waf-xssmatchset.html)" + "The AWS::NetworkManager::LinkAssociation type associates a link to a device. The device and link must be in the same global network and the same site. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkmanager-linkassociation.html)" ] }, "Properties": { - "$ref": "resources/aws-waf-xssmatchset.json" + "$ref": "resources/aws-networkmanager-linkassociation.json" } }, "required": [ @@ -4204,9 +4196,9 @@ ], "additionalProperties": false }, - "AWS_Chatbot_MicrosoftTeamsChannelConfiguration": { + "AWS_RefactorSpaces_Environment": { "type": "object", - "markdownDescription": "Resource schema for AWS::Chatbot::MicrosoftTeamsChannelConfiguration. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-chatbot-microsoftteamschannelconfiguration.html)", + "markdownDescription": "Definition of AWS::RefactorSpaces::Environment Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-refactorspaces-environment.html)", "allOf": [ { "type": "object", @@ -4214,19 +4206,18 @@ "Type": { "type": "string", "enum": [ - "AWS::Chatbot::MicrosoftTeamsChannelConfiguration" + "AWS::RefactorSpaces::Environment" ], "markdownEnumDescriptions": [ - "Resource schema for AWS::Chatbot::MicrosoftTeamsChannelConfiguration. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-chatbot-microsoftteamschannelconfiguration.html)" + "Definition of AWS::RefactorSpaces::Environment Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-refactorspaces-environment.html)" ] }, "Properties": { - "$ref": "resources/aws-chatbot-microsoftteamschannelconfiguration.json" + "$ref": "resources/aws-refactorspaces-environment.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -4235,9 +4226,9 @@ ], "additionalProperties": false }, - "AWS_CodeStarConnections_Connection": { + "AWS_Backup_ReportPlan": { "type": "object", - "markdownDescription": "Schema for AWS::CodeStarConnections::Connection resource which can be used to connect external source providers with AWS CodePipeline \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codestarconnections-connection.html)", + "markdownDescription": "Contains detailed information about a report plan in AWS Backup Audit Manager. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-backup-reportplan.html)", "allOf": [ { "type": "object", @@ -4245,14 +4236,14 @@ "Type": { "type": "string", "enum": [ - "AWS::CodeStarConnections::Connection" + "AWS::Backup::ReportPlan" ], "markdownEnumDescriptions": [ - "Schema for AWS::CodeStarConnections::Connection resource which can be used to connect external source providers with AWS CodePipeline \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codestarconnections-connection.html)" + "Contains detailed information about a report plan in AWS Backup Audit Manager. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-backup-reportplan.html)" ] }, "Properties": { - "$ref": "resources/aws-codestarconnections-connection.json" + "$ref": "resources/aws-backup-reportplan.json" } }, "required": [ @@ -4266,9 +4257,9 @@ ], "additionalProperties": false }, - "AWS_Rekognition_StreamProcessor": { + "AWS_IoT1Click_Project": { "type": "object", - "markdownDescription": "The AWS::Rekognition::StreamProcessor type is used to create an Amazon Rekognition StreamProcessor that you can use to analyze streaming videos.\n\n \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rekognition-streamprocessor.html)", + "markdownDescription": "Resource Type definition for AWS::IoT1Click::Project \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot1click-project.html)", "allOf": [ { "type": "object", @@ -4276,14 +4267,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Rekognition::StreamProcessor" + "AWS::IoT1Click::Project" ], "markdownEnumDescriptions": [ - "The AWS::Rekognition::StreamProcessor type is used to create an Amazon Rekognition StreamProcessor that you can use to analyze streaming videos.\n\n \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rekognition-streamprocessor.html)" + "Resource Type definition for AWS::IoT1Click::Project \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot1click-project.html)" ] }, "Properties": { - "$ref": "resources/aws-rekognition-streamprocessor.json" + "$ref": "resources/aws-iot1click-project.json" } }, "required": [ @@ -4297,9 +4288,9 @@ ], "additionalProperties": false }, - "AWS_BillingConductor_CustomLineItem": { + "AWS_Timestream_InfluxDBInstance": { "type": "object", - "markdownDescription": "A custom line item is an one time charge that is applied to a specific billing group's bill. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-billingconductor-customlineitem.html)", + "markdownDescription": "The AWS::Timestream::InfluxDBInstance resource creates an InfluxDB instance. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-timestream-influxdbinstance.html)", "allOf": [ { "type": "object", @@ -4307,19 +4298,18 @@ "Type": { "type": "string", "enum": [ - "AWS::BillingConductor::CustomLineItem" + "AWS::Timestream::InfluxDBInstance" ], "markdownEnumDescriptions": [ - "A custom line item is an one time charge that is applied to a specific billing group's bill. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-billingconductor-customlineitem.html)" + "The AWS::Timestream::InfluxDBInstance resource creates an InfluxDB instance. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-timestream-influxdbinstance.html)" ] }, "Properties": { - "$ref": "resources/aws-billingconductor-customlineitem.json" + "$ref": "resources/aws-timestream-influxdbinstance.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -4328,9 +4318,9 @@ ], "additionalProperties": false }, - "AWS_RDS_DBSecurityGroupIngress": { + "AWS_RDS_DBCluster": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::RDS::DBSecurityGroupIngress \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbsecuritygroupingress.html)", + "markdownDescription": "The ``AWS::RDS::DBCluster`` resource creates an Amazon Aurora DB cluster or Multi-AZ DB cluster.\n For more information about creating an Aurora DB cluster, see [Creating an Amazon Aurora DB cluster](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/Aurora.CreateInstance.html) in the *Amazon Aurora User Guide*.\n For more information about creating a Multi-AZ DB cluster, see [Creating a Multi-AZ DB cluster](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/create-multi-az-db-cluster.html) in the *Amazon RDS User Guide*.\n You can only create this resource in AWS Regions where Amazon Aurora or Multi-AZ DB clusters are supported.\n *Updating DB clusters* \n When properties labeled \"*Update requires:* [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)\" are updated, AWS CloudFormation first creates a replacement DB cluster, then changes references from other dependent resources to point to the replacement DB cluster, and finally deletes the old DB cluster.\n We highly recommend that you take a snapshot of the database before updating the stack. If you don't, you lose the data when AWS CloudFormation replaces your DB cluster. To preserve your data, perform the following procedure:\n 1. Deactivate any applications that are using the DB cluster so that there's no activity on the DB instance.\n 1. Create a snapshot of the DB cluster. For more information, see [Creating a DB cluster snapshot](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/USER_CreateSnapshotCluster.html).\n 1. If you want to restore your DB cluster using a DB cluster snapshot, modify the updated template with your DB cluster changes and add the ``SnapshotIdentifier`` property with the ID of the DB cluster snapshot that you want to use.\n After you restore a DB cluster with a ``SnapshotIdentifier`` property, you must specify the same ``SnapshotIdentifier`` property for any future updates to the DB cluster. When you specify this property for an update, the DB cluster is not restored from the DB cluster snapshot again, and the data in the database is not changed. However, if you don't specify the ``SnapshotIdentifier`` property, an empty DB cluster is created, and the original DB cluster is deleted. If you specify a property that is different from the previous snapshot restore property, a new DB cluster is restored from the specified ``SnapshotIdentifier`` property, and the original DB cluster is deleted.\n 1. Update the stack.\n \n Currently, when you are updating the stack for an Aurora Serverless DB cluster, you can't include changes to any other properties when you specify one of the following properties: ``PreferredBackupWindow``, ``PreferredMaintenanceWindow``, and ``Port``. This limitation doesn't apply to provisioned DB clusters.\n For more information about updating other properties of this resource, see ``ModifyDBCluster``. For more information about updating stacks, see [CloudFormation Stacks Updates](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks.html).\n *Deleting DB clusters* \n The default ``DeletionPolicy`` for ``AWS::RDS::DBCluster`` resources is ``Snapshot``. For more information about how AWS CloudFormation deletes resources, see [DeletionPolicy Attribute](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-deletionpolicy.html). \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbcluster.html)", "allOf": [ { "type": "object", @@ -4338,19 +4328,18 @@ "Type": { "type": "string", "enum": [ - "AWS::RDS::DBSecurityGroupIngress" + "AWS::RDS::DBCluster" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::RDS::DBSecurityGroupIngress \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbsecuritygroupingress.html)" + "The ``AWS::RDS::DBCluster`` resource creates an Amazon Aurora DB cluster or Multi-AZ DB cluster.\n For more information about creating an Aurora DB cluster, see [Creating an Amazon Aurora DB cluster](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/Aurora.CreateInstance.html) in the *Amazon Aurora User Guide*.\n For more information about creating a Multi-AZ DB cluster, see [Creating a Multi-AZ DB cluster](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/create-multi-az-db-cluster.html) in the *Amazon RDS User Guide*.\n You can only create this resource in AWS Regions where Amazon Aurora or Multi-AZ DB clusters are supported.\n *Updating DB clusters* \n When properties labeled \"*Update requires:* [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)\" are updated, AWS CloudFormation first creates a replacement DB cluster, then changes references from other dependent resources to point to the replacement DB cluster, and finally deletes the old DB cluster.\n We highly recommend that you take a snapshot of the database before updating the stack. If you don't, you lose the data when AWS CloudFormation replaces your DB cluster. To preserve your data, perform the following procedure:\n 1. Deactivate any applications that are using the DB cluster so that there's no activity on the DB instance.\n 1. Create a snapshot of the DB cluster. For more information, see [Creating a DB cluster snapshot](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/USER_CreateSnapshotCluster.html).\n 1. If you want to restore your DB cluster using a DB cluster snapshot, modify the updated template with your DB cluster changes and add the ``SnapshotIdentifier`` property with the ID of the DB cluster snapshot that you want to use.\n After you restore a DB cluster with a ``SnapshotIdentifier`` property, you must specify the same ``SnapshotIdentifier`` property for any future updates to the DB cluster. When you specify this property for an update, the DB cluster is not restored from the DB cluster snapshot again, and the data in the database is not changed. However, if you don't specify the ``SnapshotIdentifier`` property, an empty DB cluster is created, and the original DB cluster is deleted. If you specify a property that is different from the previous snapshot restore property, a new DB cluster is restored from the specified ``SnapshotIdentifier`` property, and the original DB cluster is deleted.\n 1. Update the stack.\n \n Currently, when you are updating the stack for an Aurora Serverless DB cluster, you can't include changes to any other properties when you specify one of the following properties: ``PreferredBackupWindow``, ``PreferredMaintenanceWindow``, and ``Port``. This limitation doesn't apply to provisioned DB clusters.\n For more information about updating other properties of this resource, see ``ModifyDBCluster``. For more information about updating stacks, see [CloudFormation Stacks Updates](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks.html).\n *Deleting DB clusters* \n The default ``DeletionPolicy`` for ``AWS::RDS::DBCluster`` resources is ``Snapshot``. For more information about how AWS CloudFormation deletes resources, see [DeletionPolicy Attribute](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-deletionpolicy.html). \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbcluster.html)" ] }, "Properties": { - "$ref": "resources/aws-rds-dbsecuritygroupingress.json" + "$ref": "resources/aws-rds-dbcluster.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -4359,9 +4348,9 @@ ], "additionalProperties": false }, - "AWS_GreengrassV2_Deployment": { + "AWS_SystemsManagerSAP_Application": { "type": "object", - "markdownDescription": "Resource for Greengrass V2 deployment. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrassv2-deployment.html)", + "markdownDescription": "Resource schema for AWS::SystemsManagerSAP::Application \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-systemsmanagersap-application.html)", "allOf": [ { "type": "object", @@ -4369,14 +4358,14 @@ "Type": { "type": "string", "enum": [ - "AWS::GreengrassV2::Deployment" + "AWS::SystemsManagerSAP::Application" ], "markdownEnumDescriptions": [ - "Resource for Greengrass V2 deployment. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrassv2-deployment.html)" + "Resource schema for AWS::SystemsManagerSAP::Application \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-systemsmanagersap-application.html)" ] }, "Properties": { - "$ref": "resources/aws-greengrassv2-deployment.json" + "$ref": "resources/aws-systemsmanagersap-application.json" } }, "required": [ @@ -4390,9 +4379,9 @@ ], "additionalProperties": false }, - "AWS_AppFlow_ConnectorProfile": { + "AWS_SNS_TopicPolicy": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::AppFlow::ConnectorProfile \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appflow-connectorprofile.html)", + "markdownDescription": "The ``AWS::SNS::TopicPolicy`` resource associates SNS topics with a policy. For an example snippet, see [Declaring an policy](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/quickref-iam.html#scenario-sns-policy) in the *User Guide*. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sns-topicpolicy.html)", "allOf": [ { "type": "object", @@ -4400,14 +4389,14 @@ "Type": { "type": "string", "enum": [ - "AWS::AppFlow::ConnectorProfile" + "AWS::SNS::TopicPolicy" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::AppFlow::ConnectorProfile \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appflow-connectorprofile.html)" + "The ``AWS::SNS::TopicPolicy`` resource associates SNS topics with a policy. For an example snippet, see [Declaring an policy](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/quickref-iam.html#scenario-sns-policy) in the *User Guide*. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sns-topicpolicy.html)" ] }, "Properties": { - "$ref": "resources/aws-appflow-connectorprofile.json" + "$ref": "resources/aws-sns-topicpolicy.json" } }, "required": [ @@ -4421,9 +4410,9 @@ ], "additionalProperties": false }, - "AWS_Cassandra_Table": { + "AWS_Location_APIKey": { "type": "object", - "markdownDescription": "Resource schema for AWS::Cassandra::Table \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cassandra-table.html)", + "markdownDescription": "Definition of AWS::Location::APIKey Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-location-apikey.html)", "allOf": [ { "type": "object", @@ -4431,14 +4420,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Cassandra::Table" + "AWS::Location::APIKey" ], "markdownEnumDescriptions": [ - "Resource schema for AWS::Cassandra::Table \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cassandra-table.html)" + "Definition of AWS::Location::APIKey Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-location-apikey.html)" ] }, "Properties": { - "$ref": "resources/aws-cassandra-table.json" + "$ref": "resources/aws-location-apikey.json" } }, "required": [ @@ -4452,9 +4441,9 @@ ], "additionalProperties": false }, - "AWS_DataBrew_Schedule": { + "AWS_S3_StorageLensGroup": { "type": "object", - "markdownDescription": "Resource schema for AWS::DataBrew::Schedule. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-databrew-schedule.html)", + "markdownDescription": "The AWS::S3::StorageLensGroup resource is an Amazon S3 resource type that you can use to create Storage Lens Group. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-s3-storagelensgroup.html)", "allOf": [ { "type": "object", @@ -4462,14 +4451,14 @@ "Type": { "type": "string", "enum": [ - "AWS::DataBrew::Schedule" + "AWS::S3::StorageLensGroup" ], "markdownEnumDescriptions": [ - "Resource schema for AWS::DataBrew::Schedule. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-databrew-schedule.html)" + "The AWS::S3::StorageLensGroup resource is an Amazon S3 resource type that you can use to create Storage Lens Group. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-s3-storagelensgroup.html)" ] }, "Properties": { - "$ref": "resources/aws-databrew-schedule.json" + "$ref": "resources/aws-s3-storagelensgroup.json" } }, "required": [ @@ -4483,9 +4472,9 @@ ], "additionalProperties": false }, - "AWS_StepFunctions_StateMachineVersion": { + "AWS_CloudFront_StreamingDistribution": { "type": "object", - "markdownDescription": "Resource schema for StateMachineVersion \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-stepfunctions-statemachineversion.html)", + "markdownDescription": "Resource Type definition for AWS::CloudFront::StreamingDistribution \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudfront-streamingdistribution.html)", "allOf": [ { "type": "object", @@ -4493,14 +4482,14 @@ "Type": { "type": "string", "enum": [ - "AWS::StepFunctions::StateMachineVersion" + "AWS::CloudFront::StreamingDistribution" ], "markdownEnumDescriptions": [ - "Resource schema for StateMachineVersion \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-stepfunctions-statemachineversion.html)" + "Resource Type definition for AWS::CloudFront::StreamingDistribution \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudfront-streamingdistribution.html)" ] }, "Properties": { - "$ref": "resources/aws-stepfunctions-statemachineversion.json" + "$ref": "resources/aws-cloudfront-streamingdistribution.json" } }, "required": [ @@ -4514,9 +4503,9 @@ ], "additionalProperties": false }, - "AWS_BillingConductor_PricingRule": { + "AWS_NetworkManager_CustomerGatewayAssociation": { "type": "object", - "markdownDescription": "A markup/discount that is defined for a specific set of services that can later be associated with a pricing plan. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-billingconductor-pricingrule.html)", + "markdownDescription": "The AWS::NetworkManager::CustomerGatewayAssociation type associates a customer gateway with a device and optionally, with a link. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkmanager-customergatewayassociation.html)", "allOf": [ { "type": "object", @@ -4524,14 +4513,14 @@ "Type": { "type": "string", "enum": [ - "AWS::BillingConductor::PricingRule" + "AWS::NetworkManager::CustomerGatewayAssociation" ], "markdownEnumDescriptions": [ - "A markup/discount that is defined for a specific set of services that can later be associated with a pricing plan. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-billingconductor-pricingrule.html)" + "The AWS::NetworkManager::CustomerGatewayAssociation type associates a customer gateway with a device and optionally, with a link. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkmanager-customergatewayassociation.html)" ] }, "Properties": { - "$ref": "resources/aws-billingconductor-pricingrule.json" + "$ref": "resources/aws-networkmanager-customergatewayassociation.json" } }, "required": [ @@ -4545,9 +4534,9 @@ ], "additionalProperties": false }, - "AWS_EC2_VPCEndpoint": { + "AWS_ACMPCA_CertificateAuthority": { "type": "object", - "markdownDescription": "Specifies a VPC endpoint. A VPC endpoint provides a private connection between your VPC and an endpoint service. You can use an endpoint service provided by AWS, an MKT Partner, or another AWS accounts in your organization. For more information, see the [User Guide](https://docs.aws.amazon.com/vpc/latest/privatelink/).\n An endpoint of type ``Interface`` establishes connections between the subnets in your VPC and an AWS-service, your own service, or a service hosted by another AWS-account. With an interface VPC endpoint, you specify the subnets in which to create the endpoint and the security groups to associate with the endpoint network interfaces.\n An endpoint of type ``gateway`` serves as a target for a route in your route table for traffic destined for S3 or DDB. You can specify an endpoint policy for the endpoint, which controls access to the service from your VPC. You can also specify the VPC route tables that use the endpoint. For more information about connectivity to S3, see [Why can't I connect to an S3 bucket using a gateway VPC endpoint?](https://docs.aws.amazon.com/premiumsupport/knowledge-center/connect-s3-vpc-endpoint) \n An endpoint of type ``GatewayLoadBalancer`` provides private connectivity between your VPC and virtual appliances from a service provider. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpcendpoint.html)", + "markdownDescription": "Private certificate authority. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-acmpca-certificateauthority.html)", "allOf": [ { "type": "object", @@ -4555,14 +4544,14 @@ "Type": { "type": "string", "enum": [ - "AWS::EC2::VPCEndpoint" + "AWS::ACMPCA::CertificateAuthority" ], "markdownEnumDescriptions": [ - "Specifies a VPC endpoint. A VPC endpoint provides a private connection between your VPC and an endpoint service. You can use an endpoint service provided by AWS, an MKT Partner, or another AWS accounts in your organization. For more information, see the [User Guide](https://docs.aws.amazon.com/vpc/latest/privatelink/).\n An endpoint of type ``Interface`` establishes connections between the subnets in your VPC and an AWS-service, your own service, or a service hosted by another AWS-account. With an interface VPC endpoint, you specify the subnets in which to create the endpoint and the security groups to associate with the endpoint network interfaces.\n An endpoint of type ``gateway`` serves as a target for a route in your route table for traffic destined for S3 or DDB. You can specify an endpoint policy for the endpoint, which controls access to the service from your VPC. You can also specify the VPC route tables that use the endpoint. For more information about connectivity to S3, see [Why can't I connect to an S3 bucket using a gateway VPC endpoint?](https://docs.aws.amazon.com/premiumsupport/knowledge-center/connect-s3-vpc-endpoint) \n An endpoint of type ``GatewayLoadBalancer`` provides private connectivity between your VPC and virtual appliances from a service provider. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpcendpoint.html)" + "Private certificate authority. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-acmpca-certificateauthority.html)" ] }, "Properties": { - "$ref": "resources/aws-ec2-vpcendpoint.json" + "$ref": "resources/aws-acmpca-certificateauthority.json" } }, "required": [ @@ -4576,9 +4565,9 @@ ], "additionalProperties": false }, - "AWS_AutoScaling_LaunchConfiguration": { + "AWS_DMS_Certificate": { "type": "object", - "markdownDescription": "The AWS::AutoScaling::LaunchConfiguration resource specifies the launch configuration that can be used by an Auto Scaling group to configure Amazon EC2 instances. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-autoscaling-launchconfiguration.html)", + "markdownDescription": "Resource Type definition for AWS::DMS::Certificate \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dms-certificate.html)", "allOf": [ { "type": "object", @@ -4586,19 +4575,18 @@ "Type": { "type": "string", "enum": [ - "AWS::AutoScaling::LaunchConfiguration" + "AWS::DMS::Certificate" ], "markdownEnumDescriptions": [ - "The AWS::AutoScaling::LaunchConfiguration resource specifies the launch configuration that can be used by an Auto Scaling group to configure Amazon EC2 instances. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-autoscaling-launchconfiguration.html)" + "Resource Type definition for AWS::DMS::Certificate \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dms-certificate.html)" ] }, "Properties": { - "$ref": "resources/aws-autoscaling-launchconfiguration.json" + "$ref": "resources/aws-dms-certificate.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -4607,9 +4595,9 @@ ], "additionalProperties": false }, - "AWS_MWAA_Environment": { + "AWS_QLDB_Stream": { "type": "object", - "markdownDescription": "Resource schema for AWS::MWAA::Environment \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mwaa-environment.html)", + "markdownDescription": "Resource schema for AWS::QLDB::Stream. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-qldb-stream.html)", "allOf": [ { "type": "object", @@ -4617,14 +4605,14 @@ "Type": { "type": "string", "enum": [ - "AWS::MWAA::Environment" + "AWS::QLDB::Stream" ], "markdownEnumDescriptions": [ - "Resource schema for AWS::MWAA::Environment \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mwaa-environment.html)" + "Resource schema for AWS::QLDB::Stream. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-qldb-stream.html)" ] }, "Properties": { - "$ref": "resources/aws-mwaa-environment.json" + "$ref": "resources/aws-qldb-stream.json" } }, "required": [ @@ -4638,9 +4626,9 @@ ], "additionalProperties": false }, - "AWS_CloudWatch_Dashboard": { + "AWS_NetworkManager_Link": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::CloudWatch::Dashboard \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudwatch-dashboard.html)", + "markdownDescription": "The AWS::NetworkManager::Link type describes a link. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkmanager-link.html)", "allOf": [ { "type": "object", @@ -4648,14 +4636,14 @@ "Type": { "type": "string", "enum": [ - "AWS::CloudWatch::Dashboard" + "AWS::NetworkManager::Link" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::CloudWatch::Dashboard \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudwatch-dashboard.html)" + "The AWS::NetworkManager::Link type describes a link. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkmanager-link.html)" ] }, "Properties": { - "$ref": "resources/aws-cloudwatch-dashboard.json" + "$ref": "resources/aws-networkmanager-link.json" } }, "required": [ @@ -4669,9 +4657,9 @@ ], "additionalProperties": false }, - "AWS_Evidently_Segment": { + "AWS_QuickSight_VPCConnection": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::Evidently::Segment \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-evidently-segment.html)", + "markdownDescription": "Definition of the AWS::QuickSight::VPCConnection Resource Type. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-quicksight-vpcconnection.html)", "allOf": [ { "type": "object", @@ -4679,19 +4667,18 @@ "Type": { "type": "string", "enum": [ - "AWS::Evidently::Segment" + "AWS::QuickSight::VPCConnection" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::Evidently::Segment \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-evidently-segment.html)" + "Definition of the AWS::QuickSight::VPCConnection Resource Type. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-quicksight-vpcconnection.html)" ] }, "Properties": { - "$ref": "resources/aws-evidently-segment.json" + "$ref": "resources/aws-quicksight-vpcconnection.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -4700,9 +4687,9 @@ ], "additionalProperties": false }, - "AWS_IoT_SoftwarePackage": { + "AWS_Kendra_Faq": { "type": "object", - "markdownDescription": "resource definition \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-softwarepackage.html)", + "markdownDescription": "A Kendra FAQ resource \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kendra-faq.html)", "allOf": [ { "type": "object", @@ -4710,18 +4697,19 @@ "Type": { "type": "string", "enum": [ - "AWS::IoT::SoftwarePackage" + "AWS::Kendra::Faq" ], "markdownEnumDescriptions": [ - "resource definition \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-softwarepackage.html)" + "A Kendra FAQ resource \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kendra-faq.html)" ] }, "Properties": { - "$ref": "resources/aws-iot-softwarepackage.json" + "$ref": "resources/aws-kendra-faq.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -4730,9 +4718,9 @@ ], "additionalProperties": false }, - "AWS_EC2_VPCGatewayAttachment": { + "AWS_CloudFormation_ResourceVersion": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::EC2::VPCGatewayAttachment \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpcgatewayattachment.html)", + "markdownDescription": "A resource that has been registered in the CloudFormation Registry. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudformation-resourceversion.html)", "allOf": [ { "type": "object", @@ -4740,14 +4728,14 @@ "Type": { "type": "string", "enum": [ - "AWS::EC2::VPCGatewayAttachment" + "AWS::CloudFormation::ResourceVersion" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::EC2::VPCGatewayAttachment \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpcgatewayattachment.html)" + "A resource that has been registered in the CloudFormation Registry. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudformation-resourceversion.html)" ] }, "Properties": { - "$ref": "resources/aws-ec2-vpcgatewayattachment.json" + "$ref": "resources/aws-cloudformation-resourceversion.json" } }, "required": [ @@ -4761,9 +4749,9 @@ ], "additionalProperties": false }, - "AWS_EC2_TransitGatewayMulticastGroupSource": { + "AWS_IoTFleetWise_Vehicle": { "type": "object", - "markdownDescription": "The AWS::EC2::TransitGatewayMulticastGroupSource registers and deregisters members and sources (network interfaces) with the transit gateway multicast group \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-transitgatewaymulticastgroupsource.html)", + "markdownDescription": "Definition of AWS::IoTFleetWise::Vehicle Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotfleetwise-vehicle.html)", "allOf": [ { "type": "object", @@ -4771,14 +4759,14 @@ "Type": { "type": "string", "enum": [ - "AWS::EC2::TransitGatewayMulticastGroupSource" + "AWS::IoTFleetWise::Vehicle" ], "markdownEnumDescriptions": [ - "The AWS::EC2::TransitGatewayMulticastGroupSource registers and deregisters members and sources (network interfaces) with the transit gateway multicast group \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-transitgatewaymulticastgroupsource.html)" + "Definition of AWS::IoTFleetWise::Vehicle Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotfleetwise-vehicle.html)" ] }, "Properties": { - "$ref": "resources/aws-ec2-transitgatewaymulticastgroupsource.json" + "$ref": "resources/aws-iotfleetwise-vehicle.json" } }, "required": [ @@ -4792,9 +4780,9 @@ ], "additionalProperties": false }, - "AWS_S3Outposts_Endpoint": { + "AWS_OpsWorks_Instance": { "type": "object", - "markdownDescription": "Resource Type Definition for AWS::S3Outposts::Endpoint \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-s3outposts-endpoint.html)", + "markdownDescription": "Resource Type definition for AWS::OpsWorks::Instance \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opsworks-instance.html)", "allOf": [ { "type": "object", @@ -4802,14 +4790,14 @@ "Type": { "type": "string", "enum": [ - "AWS::S3Outposts::Endpoint" + "AWS::OpsWorks::Instance" ], "markdownEnumDescriptions": [ - "Resource Type Definition for AWS::S3Outposts::Endpoint \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-s3outposts-endpoint.html)" + "Resource Type definition for AWS::OpsWorks::Instance \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opsworks-instance.html)" ] }, "Properties": { - "$ref": "resources/aws-s3outposts-endpoint.json" + "$ref": "resources/aws-opsworks-instance.json" } }, "required": [ @@ -4823,9 +4811,9 @@ ], "additionalProperties": false }, - "AWS_AppStream_StackFleetAssociation": { + "AWS_IVS_Channel": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::AppStream::StackFleetAssociation \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appstream-stackfleetassociation.html)", + "markdownDescription": "Resource Type definition for AWS::IVS::Channel \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ivs-channel.html)", "allOf": [ { "type": "object", @@ -4833,19 +4821,18 @@ "Type": { "type": "string", "enum": [ - "AWS::AppStream::StackFleetAssociation" + "AWS::IVS::Channel" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::AppStream::StackFleetAssociation \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appstream-stackfleetassociation.html)" + "Resource Type definition for AWS::IVS::Channel \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ivs-channel.html)" ] }, "Properties": { - "$ref": "resources/aws-appstream-stackfleetassociation.json" + "$ref": "resources/aws-ivs-channel.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -4854,9 +4841,9 @@ ], "additionalProperties": false }, - "AWS_ServiceDiscovery_PublicDnsNamespace": { + "AWS_EntityResolution_SchemaMapping": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::ServiceDiscovery::PublicDnsNamespace \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicediscovery-publicdnsnamespace.html)", + "markdownDescription": "SchemaMapping defined in AWS Entity Resolution service \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-entityresolution-schemamapping.html)", "allOf": [ { "type": "object", @@ -4864,14 +4851,14 @@ "Type": { "type": "string", "enum": [ - "AWS::ServiceDiscovery::PublicDnsNamespace" + "AWS::EntityResolution::SchemaMapping" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::ServiceDiscovery::PublicDnsNamespace \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicediscovery-publicdnsnamespace.html)" + "SchemaMapping defined in AWS Entity Resolution service \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-entityresolution-schemamapping.html)" ] }, "Properties": { - "$ref": "resources/aws-servicediscovery-publicdnsnamespace.json" + "$ref": "resources/aws-entityresolution-schemamapping.json" } }, "required": [ @@ -4885,9 +4872,9 @@ ], "additionalProperties": false }, - "AWS_DocDB_DBClusterParameterGroup": { + "AWS_Amplify_Branch": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::DocDB::DBClusterParameterGroup \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-docdb-dbclusterparametergroup.html)", + "markdownDescription": "The AWS::Amplify::Branch resource creates a new branch within an app. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-amplify-branch.html)", "allOf": [ { "type": "object", @@ -4895,14 +4882,14 @@ "Type": { "type": "string", "enum": [ - "AWS::DocDB::DBClusterParameterGroup" + "AWS::Amplify::Branch" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::DocDB::DBClusterParameterGroup \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-docdb-dbclusterparametergroup.html)" + "The AWS::Amplify::Branch resource creates a new branch within an app. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-amplify-branch.html)" ] }, "Properties": { - "$ref": "resources/aws-docdb-dbclusterparametergroup.json" + "$ref": "resources/aws-amplify-branch.json" } }, "required": [ @@ -4916,9 +4903,9 @@ ], "additionalProperties": false }, - "AWS_AutoScaling_ScheduledAction": { + "AWS_S3Outposts_AccessPoint": { "type": "object", - "markdownDescription": "The AWS::AutoScaling::ScheduledAction resource specifies an Amazon EC2 Auto Scaling scheduled action so that the Auto Scaling group can change the number of instances available for your application in response to predictable load changes. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-autoscaling-scheduledaction.html)", + "markdownDescription": "Resource Type Definition for AWS::S3Outposts::AccessPoint \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-s3outposts-accesspoint.html)", "allOf": [ { "type": "object", @@ -4926,14 +4913,14 @@ "Type": { "type": "string", "enum": [ - "AWS::AutoScaling::ScheduledAction" + "AWS::S3Outposts::AccessPoint" ], "markdownEnumDescriptions": [ - "The AWS::AutoScaling::ScheduledAction resource specifies an Amazon EC2 Auto Scaling scheduled action so that the Auto Scaling group can change the number of instances available for your application in response to predictable load changes. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-autoscaling-scheduledaction.html)" + "Resource Type Definition for AWS::S3Outposts::AccessPoint \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-s3outposts-accesspoint.html)" ] }, "Properties": { - "$ref": "resources/aws-autoscaling-scheduledaction.json" + "$ref": "resources/aws-s3outposts-accesspoint.json" } }, "required": [ @@ -4947,9 +4934,9 @@ ], "additionalProperties": false }, - "AWS_SecretsManager_Secret": { + "AWS_GuardDuty_Filter": { "type": "object", - "markdownDescription": "Creates a new secret. A *secret* can be a password, a set of credentials such as a user name and password, an OAuth token, or other secret information that you store in an encrypted form in Secrets Manager.\n For RDS master user credentials, see [AWS::RDS::DBCluster MasterUserSecret](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rds-dbcluster-masterusersecret.html).\n For RS admin user credentials, see [AWS::Redshift::Cluster](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-redshift-cluster.html).\n To retrieve a secret in a CFNshort template, use a *dynamic reference*. For more information, see [Retrieve a secret in an resource](https://docs.aws.amazon.com/secretsmanager/latest/userguide/cfn-example_reference-secret.html).\n For information about creating a secret in the console, see [Create a secret](https://docs.aws.amazon.com/secretsmanager/latest/userguide/manage_create-basic-secret.html). For information about creating a secret using the CLI or SDK, see [CreateSecret](https://docs.aws.amazon.com/secretsmanager/latest/apireference/API_CreateSecret.html).\n For information about retrieving a secret in code, see [Retrieve secrets from Secrets Manager](https://docs.aws.amazon.com/secretsmanager/latest/userguide/retrieving-secrets.html). \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-secretsmanager-secret.html)", + "markdownDescription": "Resource Type definition for AWS::GuardDuty::Filter \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-guardduty-filter.html)", "allOf": [ { "type": "object", @@ -4957,18 +4944,19 @@ "Type": { "type": "string", "enum": [ - "AWS::SecretsManager::Secret" + "AWS::GuardDuty::Filter" ], "markdownEnumDescriptions": [ - "Creates a new secret. A *secret* can be a password, a set of credentials such as a user name and password, an OAuth token, or other secret information that you store in an encrypted form in Secrets Manager.\n For RDS master user credentials, see [AWS::RDS::DBCluster MasterUserSecret](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rds-dbcluster-masterusersecret.html).\n For RS admin user credentials, see [AWS::Redshift::Cluster](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-redshift-cluster.html).\n To retrieve a secret in a CFNshort template, use a *dynamic reference*. For more information, see [Retrieve a secret in an resource](https://docs.aws.amazon.com/secretsmanager/latest/userguide/cfn-example_reference-secret.html).\n For information about creating a secret in the console, see [Create a secret](https://docs.aws.amazon.com/secretsmanager/latest/userguide/manage_create-basic-secret.html). For information about creating a secret using the CLI or SDK, see [CreateSecret](https://docs.aws.amazon.com/secretsmanager/latest/apireference/API_CreateSecret.html).\n For information about retrieving a secret in code, see [Retrieve secrets from Secrets Manager](https://docs.aws.amazon.com/secretsmanager/latest/userguide/retrieving-secrets.html). \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-secretsmanager-secret.html)" + "Resource Type definition for AWS::GuardDuty::Filter \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-guardduty-filter.html)" ] }, "Properties": { - "$ref": "resources/aws-secretsmanager-secret.json" + "$ref": "resources/aws-guardduty-filter.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -4977,9 +4965,9 @@ ], "additionalProperties": false }, - "AWS_EC2_SpotFleet": { + "AWS_WorkSpacesWeb_UserSettings": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::EC2::SpotFleet \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-spotfleet.html)", + "markdownDescription": "Definition of AWS::WorkSpacesWeb::UserSettings Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-workspacesweb-usersettings.html)", "allOf": [ { "type": "object", @@ -4987,14 +4975,14 @@ "Type": { "type": "string", "enum": [ - "AWS::EC2::SpotFleet" + "AWS::WorkSpacesWeb::UserSettings" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::EC2::SpotFleet \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-spotfleet.html)" + "Definition of AWS::WorkSpacesWeb::UserSettings Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-workspacesweb-usersettings.html)" ] }, "Properties": { - "$ref": "resources/aws-ec2-spotfleet.json" + "$ref": "resources/aws-workspacesweb-usersettings.json" } }, "required": [ @@ -5008,9 +4996,9 @@ ], "additionalProperties": false }, - "AWS_ConnectCampaigns_Campaign": { + "AWS_ElastiCache_SubnetGroup": { "type": "object", - "markdownDescription": "Definition of AWS::ConnectCampaigns::Campaign Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-connectcampaigns-campaign.html)", + "markdownDescription": "Resource Type definition for AWS::ElastiCache::SubnetGroup \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticache-subnetgroup.html)", "allOf": [ { "type": "object", @@ -5018,14 +5006,14 @@ "Type": { "type": "string", "enum": [ - "AWS::ConnectCampaigns::Campaign" + "AWS::ElastiCache::SubnetGroup" ], "markdownEnumDescriptions": [ - "Definition of AWS::ConnectCampaigns::Campaign Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-connectcampaigns-campaign.html)" + "Resource Type definition for AWS::ElastiCache::SubnetGroup \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticache-subnetgroup.html)" ] }, "Properties": { - "$ref": "resources/aws-connectcampaigns-campaign.json" + "$ref": "resources/aws-elasticache-subnetgroup.json" } }, "required": [ @@ -5039,9 +5027,9 @@ ], "additionalProperties": false }, - "AWS_ApiGatewayV2_DomainName": { + "AWS_LicenseManager_Grant": { "type": "object", - "markdownDescription": "The ``AWS::ApiGatewayV2::DomainName`` resource specifies a custom domain name for your API in Amazon API Gateway (API Gateway). \n You can use a custom domain name to provide a URL that's more intuitive and easier to recall. For more information about using custom domain names, see [Set up Custom Domain Name for an API in API Gateway](https://docs.aws.amazon.com/apigateway/latest/developerguide/how-to-custom-domains.html) in the *API Gateway Developer Guide*. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-domainname.html)", + "markdownDescription": "An example resource schema demonstrating some basic constructs and validation rules. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-licensemanager-grant.html)", "allOf": [ { "type": "object", @@ -5049,19 +5037,18 @@ "Type": { "type": "string", "enum": [ - "AWS::ApiGatewayV2::DomainName" + "AWS::LicenseManager::Grant" ], "markdownEnumDescriptions": [ - "The ``AWS::ApiGatewayV2::DomainName`` resource specifies a custom domain name for your API in Amazon API Gateway (API Gateway). \n You can use a custom domain name to provide a URL that's more intuitive and easier to recall. For more information about using custom domain names, see [Set up Custom Domain Name for an API in API Gateway](https://docs.aws.amazon.com/apigateway/latest/developerguide/how-to-custom-domains.html) in the *API Gateway Developer Guide*. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-domainname.html)" + "An example resource schema demonstrating some basic constructs and validation rules. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-licensemanager-grant.html)" ] }, "Properties": { - "$ref": "resources/aws-apigatewayv2-domainname.json" + "$ref": "resources/aws-licensemanager-grant.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -5070,9 +5057,9 @@ ], "additionalProperties": false }, - "AWS_Proton_ServiceTemplate": { + "AWS_Connect_SecurityProfile": { "type": "object", - "markdownDescription": "Definition of AWS::Proton::ServiceTemplate Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-proton-servicetemplate.html)", + "markdownDescription": "Resource Type definition for AWS::Connect::SecurityProfile \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-connect-securityprofile.html)", "allOf": [ { "type": "object", @@ -5080,18 +5067,19 @@ "Type": { "type": "string", "enum": [ - "AWS::Proton::ServiceTemplate" + "AWS::Connect::SecurityProfile" ], "markdownEnumDescriptions": [ - "Definition of AWS::Proton::ServiceTemplate Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-proton-servicetemplate.html)" + "Resource Type definition for AWS::Connect::SecurityProfile \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-connect-securityprofile.html)" ] }, "Properties": { - "$ref": "resources/aws-proton-servicetemplate.json" + "$ref": "resources/aws-connect-securityprofile.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -5100,9 +5088,9 @@ ], "additionalProperties": false }, - "AWS_AppStream_ApplicationEntitlementAssociation": { + "AWS_MediaConnect_FlowVpcInterface": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::AppStream::ApplicationEntitlementAssociation \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appstream-applicationentitlementassociation.html)", + "markdownDescription": "Resource schema for AWS::MediaConnect::FlowVpcInterface \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediaconnect-flowvpcinterface.html)", "allOf": [ { "type": "object", @@ -5110,14 +5098,14 @@ "Type": { "type": "string", "enum": [ - "AWS::AppStream::ApplicationEntitlementAssociation" + "AWS::MediaConnect::FlowVpcInterface" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::AppStream::ApplicationEntitlementAssociation \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appstream-applicationentitlementassociation.html)" + "Resource schema for AWS::MediaConnect::FlowVpcInterface \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediaconnect-flowvpcinterface.html)" ] }, "Properties": { - "$ref": "resources/aws-appstream-applicationentitlementassociation.json" + "$ref": "resources/aws-mediaconnect-flowvpcinterface.json" } }, "required": [ @@ -5131,9 +5119,9 @@ ], "additionalProperties": false }, - "AWS_Logs_LogGroup": { + "AWS_Glue_MLTransform": { "type": "object", - "markdownDescription": "The ``AWS::Logs::LogGroup`` resource specifies a log group. A log group defines common properties for log streams, such as their retention and access control rules. Each log stream must belong to one log group.\n You can create up to 1,000,000 log groups per Region per account. You must use the following guidelines when naming a log group:\n + Log group names must be unique within a Region for an AWS account.\n + Log group names can be between 1 and 512 characters long.\n + Log group names consist of the following characters: a-z, A-Z, 0-9, '_' (underscore), '-' (hyphen), '/' (forward slash), and '.' (period). \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-logs-loggroup.html)", + "markdownDescription": "Resource Type definition for AWS::Glue::MLTransform \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-mltransform.html)", "allOf": [ { "type": "object", @@ -5141,18 +5129,19 @@ "Type": { "type": "string", "enum": [ - "AWS::Logs::LogGroup" + "AWS::Glue::MLTransform" ], "markdownEnumDescriptions": [ - "The ``AWS::Logs::LogGroup`` resource specifies a log group. A log group defines common properties for log streams, such as their retention and access control rules. Each log stream must belong to one log group.\n You can create up to 1,000,000 log groups per Region per account. You must use the following guidelines when naming a log group:\n + Log group names must be unique within a Region for an AWS account.\n + Log group names can be between 1 and 512 characters long.\n + Log group names consist of the following characters: a-z, A-Z, 0-9, '_' (underscore), '-' (hyphen), '/' (forward slash), and '.' (period). \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-logs-loggroup.html)" + "Resource Type definition for AWS::Glue::MLTransform \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-mltransform.html)" ] }, "Properties": { - "$ref": "resources/aws-logs-loggroup.json" + "$ref": "resources/aws-glue-mltransform.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -5161,9 +5150,9 @@ ], "additionalProperties": false }, - "AWS_Proton_EnvironmentTemplate": { + "AWS_Route53Profiles_ProfileAssociation": { "type": "object", - "markdownDescription": "Definition of AWS::Proton::EnvironmentTemplate Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-proton-environmenttemplate.html)", + "markdownDescription": "Resource Type definition for AWS::Route53Profiles::ProfileAssociation \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53profiles-profileassociation.html)", "allOf": [ { "type": "object", @@ -5171,18 +5160,19 @@ "Type": { "type": "string", "enum": [ - "AWS::Proton::EnvironmentTemplate" + "AWS::Route53Profiles::ProfileAssociation" ], "markdownEnumDescriptions": [ - "Definition of AWS::Proton::EnvironmentTemplate Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-proton-environmenttemplate.html)" + "Resource Type definition for AWS::Route53Profiles::ProfileAssociation \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53profiles-profileassociation.html)" ] }, "Properties": { - "$ref": "resources/aws-proton-environmenttemplate.json" + "$ref": "resources/aws-route53profiles-profileassociation.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -5191,9 +5181,9 @@ ], "additionalProperties": false }, - "AWS_S3ObjectLambda_AccessPoint": { + "AWS_Logs_QueryDefinition": { "type": "object", - "markdownDescription": "The AWS::S3ObjectLambda::AccessPoint resource is an Amazon S3ObjectLambda resource type that you can use to add computation to S3 actions \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-s3objectlambda-accesspoint.html)", + "markdownDescription": "The resource schema for AWSLogs QueryDefinition \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-logs-querydefinition.html)", "allOf": [ { "type": "object", @@ -5201,14 +5191,14 @@ "Type": { "type": "string", "enum": [ - "AWS::S3ObjectLambda::AccessPoint" + "AWS::Logs::QueryDefinition" ], "markdownEnumDescriptions": [ - "The AWS::S3ObjectLambda::AccessPoint resource is an Amazon S3ObjectLambda resource type that you can use to add computation to S3 actions \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-s3objectlambda-accesspoint.html)" + "The resource schema for AWSLogs QueryDefinition \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-logs-querydefinition.html)" ] }, "Properties": { - "$ref": "resources/aws-s3objectlambda-accesspoint.json" + "$ref": "resources/aws-logs-querydefinition.json" } }, "required": [ @@ -5222,9 +5212,9 @@ ], "additionalProperties": false }, - "AWS_DMS_ReplicationConfig": { + "AWS_CE_AnomalyMonitor": { "type": "object", - "markdownDescription": "A replication configuration that you later provide to configure and start a AWS DMS Serverless replication \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dms-replicationconfig.html)", + "markdownDescription": "AWS Cost Anomaly Detection leverages advanced Machine Learning technologies to identify anomalous spend and root causes, so you can quickly take action. You can use Cost Anomaly Detection by creating monitor. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ce-anomalymonitor.html)", "allOf": [ { "type": "object", @@ -5232,14 +5222,14 @@ "Type": { "type": "string", "enum": [ - "AWS::DMS::ReplicationConfig" + "AWS::CE::AnomalyMonitor" ], "markdownEnumDescriptions": [ - "A replication configuration that you later provide to configure and start a AWS DMS Serverless replication \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dms-replicationconfig.html)" + "AWS Cost Anomaly Detection leverages advanced Machine Learning technologies to identify anomalous spend and root causes, so you can quickly take action. You can use Cost Anomaly Detection by creating monitor. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ce-anomalymonitor.html)" ] }, "Properties": { - "$ref": "resources/aws-dms-replicationconfig.json" + "$ref": "resources/aws-ce-anomalymonitor.json" } }, "required": [ @@ -5253,9 +5243,9 @@ ], "additionalProperties": false }, - "AWS_IoTFleetWise_Campaign": { + "AWS_ApplicationInsights_Application": { "type": "object", - "markdownDescription": "Definition of AWS::IoTFleetWise::Campaign Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotfleetwise-campaign.html)", + "markdownDescription": "Resource schema for AWS::ApplicationInsights::Application \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-applicationinsights-application.html)", "allOf": [ { "type": "object", @@ -5263,14 +5253,14 @@ "Type": { "type": "string", "enum": [ - "AWS::IoTFleetWise::Campaign" + "AWS::ApplicationInsights::Application" ], "markdownEnumDescriptions": [ - "Definition of AWS::IoTFleetWise::Campaign Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotfleetwise-campaign.html)" + "Resource schema for AWS::ApplicationInsights::Application \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-applicationinsights-application.html)" ] }, "Properties": { - "$ref": "resources/aws-iotfleetwise-campaign.json" + "$ref": "resources/aws-applicationinsights-application.json" } }, "required": [ @@ -5284,9 +5274,9 @@ ], "additionalProperties": false }, - "AWS_SQS_QueueInlinePolicy": { + "AWS_VpcLattice_Rule": { "type": "object", - "markdownDescription": "Schema for SQS QueueInlinePolicy \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sqs-queueinlinepolicy.html)", + "markdownDescription": "Creates a listener rule. Each listener has a default rule for checking connection requests, but you can define additional rules. Each rule consists of a priority, one or more actions, and one or more conditions. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-vpclattice-rule.html)", "allOf": [ { "type": "object", @@ -5294,14 +5284,14 @@ "Type": { "type": "string", "enum": [ - "AWS::SQS::QueueInlinePolicy" + "AWS::VpcLattice::Rule" ], "markdownEnumDescriptions": [ - "Schema for SQS QueueInlinePolicy \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sqs-queueinlinepolicy.html)" + "Creates a listener rule. Each listener has a default rule for checking connection requests, but you can define additional rules. Each rule consists of a priority, one or more actions, and one or more conditions. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-vpclattice-rule.html)" ] }, "Properties": { - "$ref": "resources/aws-sqs-queueinlinepolicy.json" + "$ref": "resources/aws-vpclattice-rule.json" } }, "required": [ @@ -5315,9 +5305,9 @@ ], "additionalProperties": false }, - "AWS_IVS_PlaybackKeyPair": { + "AWS_Organizations_Account": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::IVS::PlaybackKeyPair \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ivs-playbackkeypair.html)", + "markdownDescription": "You can use AWS::Organizations::Account to manage accounts in organization. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-organizations-account.html)", "allOf": [ { "type": "object", @@ -5325,18 +5315,19 @@ "Type": { "type": "string", "enum": [ - "AWS::IVS::PlaybackKeyPair" + "AWS::Organizations::Account" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::IVS::PlaybackKeyPair \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ivs-playbackkeypair.html)" + "You can use AWS::Organizations::Account to manage accounts in organization. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-organizations-account.html)" ] }, "Properties": { - "$ref": "resources/aws-ivs-playbackkeypair.json" + "$ref": "resources/aws-organizations-account.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -5345,9 +5336,9 @@ ], "additionalProperties": false }, - "AWS_Comprehend_DocumentClassifier": { + "AWS_Connect_ViewVersion": { "type": "object", - "markdownDescription": "Document Classifier enables training document classifier models. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-comprehend-documentclassifier.html)", + "markdownDescription": "Resource Type definition for AWS::Connect::ViewVersion \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-connect-viewversion.html)", "allOf": [ { "type": "object", @@ -5355,14 +5346,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Comprehend::DocumentClassifier" + "AWS::Connect::ViewVersion" ], "markdownEnumDescriptions": [ - "Document Classifier enables training document classifier models. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-comprehend-documentclassifier.html)" + "Resource Type definition for AWS::Connect::ViewVersion \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-connect-viewversion.html)" ] }, "Properties": { - "$ref": "resources/aws-comprehend-documentclassifier.json" + "$ref": "resources/aws-connect-viewversion.json" } }, "required": [ @@ -5376,9 +5367,9 @@ ], "additionalProperties": false }, - "AWS_Detective_Graph": { + "AWS_ServiceDiscovery_Service": { "type": "object", - "markdownDescription": "Resource schema for AWS::Detective::Graph \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-detective-graph.html)", + "markdownDescription": "Resource Type definition for AWS::ServiceDiscovery::Service \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicediscovery-service.html)", "allOf": [ { "type": "object", @@ -5386,14 +5377,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Detective::Graph" + "AWS::ServiceDiscovery::Service" ], "markdownEnumDescriptions": [ - "Resource schema for AWS::Detective::Graph \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-detective-graph.html)" + "Resource Type definition for AWS::ServiceDiscovery::Service \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicediscovery-service.html)" ] }, "Properties": { - "$ref": "resources/aws-detective-graph.json" + "$ref": "resources/aws-servicediscovery-service.json" } }, "required": [ @@ -5406,9 +5397,9 @@ ], "additionalProperties": false }, - "AWS_RDS_DBCluster": { + "AWS_IoTSiteWise_Asset": { "type": "object", - "markdownDescription": "The ``AWS::RDS::DBCluster`` resource creates an Amazon Aurora DB cluster or Multi-AZ DB cluster.\n For more information about creating an Aurora DB cluster, see [Creating an Amazon Aurora DB cluster](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/Aurora.CreateInstance.html) in the *Amazon Aurora User Guide*.\n For more information about creating a Multi-AZ DB cluster, see [Creating a Multi-AZ DB cluster](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/create-multi-az-db-cluster.html) in the *Amazon RDS User Guide*.\n You can only create this resource in AWS Regions where Amazon Aurora or Multi-AZ DB clusters are supported.\n *Updating DB clusters* \n When properties labeled \"*Update requires:* [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)\" are updated, AWS CloudFormation first creates a replacement DB cluster, then changes references from other dependent resources to point to the replacement DB cluster, and finally deletes the old DB cluster.\n We highly recommend that you take a snapshot of the database before updating the stack. If you don't, you lose the data when AWS CloudFormation replaces your DB cluster. To preserve your data, perform the following procedure:\n 1. Deactivate any applications that are using the DB cluster so that there's no activity on the DB instance.\n 1. Create a snapshot of the DB cluster. For more information, see [Creating a DB cluster snapshot](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/USER_CreateSnapshotCluster.html).\n 1. If you want to restore your DB cluster using a DB cluster snapshot, modify the updated template with your DB cluster changes and add the ``SnapshotIdentifier`` property with the ID of the DB cluster snapshot that you want to use.\n After you restore a DB cluster with a ``SnapshotIdentifier`` property, you must specify the same ``SnapshotIdentifier`` property for any future updates to the DB cluster. When you specify this property for an update, the DB cluster is not restored from the DB cluster snapshot again, and the data in the database is not changed. However, if you don't specify the ``SnapshotIdentifier`` property, an empty DB cluster is created, and the original DB cluster is deleted. If you specify a property that is different from the previous snapshot restore property, a new DB cluster is restored from the specified ``SnapshotIdentifier`` property, and the original DB cluster is deleted.\n 1. Update the stack.\n \n Currently, when you are updating the stack for an Aurora Serverless DB cluster, you can't include changes to any other properties when you specify one of the following properties: ``PreferredBackupWindow``, ``PreferredMaintenanceWindow``, and ``Port``. This limitation doesn't apply to provisioned DB clusters.\n For more information about updating other properties of this resource, see ``ModifyDBCluster``. For more information about updating stacks, see [CloudFormation Stacks Updates](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks.html).\n *Deleting DB clusters* \n The default ``DeletionPolicy`` for ``AWS::RDS::DBCluster`` resources is ``Snapshot``. For more information about how AWS CloudFormation deletes resources, see [DeletionPolicy Attribute](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-deletionpolicy.html). \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbcluster.html)", + "markdownDescription": "Resource schema for AWS::IoTSiteWise::Asset \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotsitewise-asset.html)", "allOf": [ { "type": "object", @@ -5416,18 +5407,19 @@ "Type": { "type": "string", "enum": [ - "AWS::RDS::DBCluster" + "AWS::IoTSiteWise::Asset" ], "markdownEnumDescriptions": [ - "The ``AWS::RDS::DBCluster`` resource creates an Amazon Aurora DB cluster or Multi-AZ DB cluster.\n For more information about creating an Aurora DB cluster, see [Creating an Amazon Aurora DB cluster](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/Aurora.CreateInstance.html) in the *Amazon Aurora User Guide*.\n For more information about creating a Multi-AZ DB cluster, see [Creating a Multi-AZ DB cluster](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/create-multi-az-db-cluster.html) in the *Amazon RDS User Guide*.\n You can only create this resource in AWS Regions where Amazon Aurora or Multi-AZ DB clusters are supported.\n *Updating DB clusters* \n When properties labeled \"*Update requires:* [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)\" are updated, AWS CloudFormation first creates a replacement DB cluster, then changes references from other dependent resources to point to the replacement DB cluster, and finally deletes the old DB cluster.\n We highly recommend that you take a snapshot of the database before updating the stack. If you don't, you lose the data when AWS CloudFormation replaces your DB cluster. To preserve your data, perform the following procedure:\n 1. Deactivate any applications that are using the DB cluster so that there's no activity on the DB instance.\n 1. Create a snapshot of the DB cluster. For more information, see [Creating a DB cluster snapshot](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/USER_CreateSnapshotCluster.html).\n 1. If you want to restore your DB cluster using a DB cluster snapshot, modify the updated template with your DB cluster changes and add the ``SnapshotIdentifier`` property with the ID of the DB cluster snapshot that you want to use.\n After you restore a DB cluster with a ``SnapshotIdentifier`` property, you must specify the same ``SnapshotIdentifier`` property for any future updates to the DB cluster. When you specify this property for an update, the DB cluster is not restored from the DB cluster snapshot again, and the data in the database is not changed. However, if you don't specify the ``SnapshotIdentifier`` property, an empty DB cluster is created, and the original DB cluster is deleted. If you specify a property that is different from the previous snapshot restore property, a new DB cluster is restored from the specified ``SnapshotIdentifier`` property, and the original DB cluster is deleted.\n 1. Update the stack.\n \n Currently, when you are updating the stack for an Aurora Serverless DB cluster, you can't include changes to any other properties when you specify one of the following properties: ``PreferredBackupWindow``, ``PreferredMaintenanceWindow``, and ``Port``. This limitation doesn't apply to provisioned DB clusters.\n For more information about updating other properties of this resource, see ``ModifyDBCluster``. For more information about updating stacks, see [CloudFormation Stacks Updates](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks.html).\n *Deleting DB clusters* \n The default ``DeletionPolicy`` for ``AWS::RDS::DBCluster`` resources is ``Snapshot``. For more information about how AWS CloudFormation deletes resources, see [DeletionPolicy Attribute](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-deletionpolicy.html). \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbcluster.html)" + "Resource schema for AWS::IoTSiteWise::Asset \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotsitewise-asset.html)" ] }, "Properties": { - "$ref": "resources/aws-rds-dbcluster.json" + "$ref": "resources/aws-iotsitewise-asset.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -5436,9 +5428,9 @@ ], "additionalProperties": false }, - "AWS_RolesAnywhere_CRL": { + "AWS_SageMaker_Model": { "type": "object", - "markdownDescription": "Definition of AWS::RolesAnywhere::CRL Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rolesanywhere-crl.html)", + "markdownDescription": "Resource Type definition for AWS::SageMaker::Model \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-model.html)", "allOf": [ { "type": "object", @@ -5446,19 +5438,18 @@ "Type": { "type": "string", "enum": [ - "AWS::RolesAnywhere::CRL" + "AWS::SageMaker::Model" ], "markdownEnumDescriptions": [ - "Definition of AWS::RolesAnywhere::CRL Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rolesanywhere-crl.html)" + "Resource Type definition for AWS::SageMaker::Model \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-model.html)" ] }, "Properties": { - "$ref": "resources/aws-rolesanywhere-crl.json" + "$ref": "resources/aws-sagemaker-model.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -5467,9 +5458,9 @@ ], "additionalProperties": false }, - "AWS_Athena_NamedQuery": { + "AWS_ImageBuilder_ImageRecipe": { "type": "object", - "markdownDescription": "Resource schema for AWS::Athena::NamedQuery \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-athena-namedquery.html)", + "markdownDescription": "Resource schema for AWS::ImageBuilder::ImageRecipe \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-imagebuilder-imagerecipe.html)", "allOf": [ { "type": "object", @@ -5477,14 +5468,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Athena::NamedQuery" + "AWS::ImageBuilder::ImageRecipe" ], "markdownEnumDescriptions": [ - "Resource schema for AWS::Athena::NamedQuery \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-athena-namedquery.html)" + "Resource schema for AWS::ImageBuilder::ImageRecipe \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-imagebuilder-imagerecipe.html)" ] }, "Properties": { - "$ref": "resources/aws-athena-namedquery.json" + "$ref": "resources/aws-imagebuilder-imagerecipe.json" } }, "required": [ @@ -5498,9 +5489,9 @@ ], "additionalProperties": false }, - "AWS_Config_ConformancePack": { + "AWS_Cognito_UserPoolGroup": { "type": "object", - "markdownDescription": "A conformance pack is a collection of AWS Config rules and remediation actions that can be easily deployed as a single entity in an account and a region or across an entire AWS Organization. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-config-conformancepack.html)", + "markdownDescription": "Resource Type definition for AWS::Cognito::UserPoolGroup \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpoolgroup.html)", "allOf": [ { "type": "object", @@ -5508,14 +5499,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Config::ConformancePack" + "AWS::Cognito::UserPoolGroup" ], "markdownEnumDescriptions": [ - "A conformance pack is a collection of AWS Config rules and remediation actions that can be easily deployed as a single entity in an account and a region or across an entire AWS Organization. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-config-conformancepack.html)" + "Resource Type definition for AWS::Cognito::UserPoolGroup \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpoolgroup.html)" ] }, "Properties": { - "$ref": "resources/aws-config-conformancepack.json" + "$ref": "resources/aws-cognito-userpoolgroup.json" } }, "required": [ @@ -5529,9 +5520,9 @@ ], "additionalProperties": false }, - "AWS_CloudWatch_MetricStream": { + "AWS_RoboMaker_SimulationApplicationVersion": { "type": "object", - "markdownDescription": "Resource Type definition for Metric Stream \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudwatch-metricstream.html)", + "markdownDescription": "AWS::RoboMaker::SimulationApplicationVersion resource creates an AWS RoboMaker SimulationApplicationVersion. This helps you control which code your simulation uses. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-robomaker-simulationapplicationversion.html)", "allOf": [ { "type": "object", @@ -5539,18 +5530,19 @@ "Type": { "type": "string", "enum": [ - "AWS::CloudWatch::MetricStream" + "AWS::RoboMaker::SimulationApplicationVersion" ], "markdownEnumDescriptions": [ - "Resource Type definition for Metric Stream \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudwatch-metricstream.html)" + "AWS::RoboMaker::SimulationApplicationVersion resource creates an AWS RoboMaker SimulationApplicationVersion. This helps you control which code your simulation uses. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-robomaker-simulationapplicationversion.html)" ] }, "Properties": { - "$ref": "resources/aws-cloudwatch-metricstream.json" + "$ref": "resources/aws-robomaker-simulationapplicationversion.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -5559,9 +5551,9 @@ ], "additionalProperties": false }, - "AWS_SSO_InstanceAccessControlAttributeConfiguration": { + "AWS_IoT_Thing": { "type": "object", - "markdownDescription": "Resource Type definition for SSO InstanceAccessControlAttributeConfiguration \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sso-instanceaccesscontrolattributeconfiguration.html)", + "markdownDescription": "Resource Type definition for AWS::IoT::Thing \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-thing.html)", "allOf": [ { "type": "object", @@ -5569,19 +5561,18 @@ "Type": { "type": "string", "enum": [ - "AWS::SSO::InstanceAccessControlAttributeConfiguration" + "AWS::IoT::Thing" ], "markdownEnumDescriptions": [ - "Resource Type definition for SSO InstanceAccessControlAttributeConfiguration \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sso-instanceaccesscontrolattributeconfiguration.html)" + "Resource Type definition for AWS::IoT::Thing \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-thing.html)" ] }, "Properties": { - "$ref": "resources/aws-sso-instanceaccesscontrolattributeconfiguration.json" + "$ref": "resources/aws-iot-thing.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -5590,9 +5581,9 @@ ], "additionalProperties": false }, - "AWS_EC2_NetworkInsightsAccessScopeAnalysis": { + "AWS_GlobalAccelerator_Listener": { "type": "object", - "markdownDescription": "Resource schema for AWS::EC2::NetworkInsightsAccessScopeAnalysis \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-networkinsightsaccessscopeanalysis.html)", + "markdownDescription": "Resource Type definition for AWS::GlobalAccelerator::Listener \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-globalaccelerator-listener.html)", "allOf": [ { "type": "object", @@ -5600,14 +5591,14 @@ "Type": { "type": "string", "enum": [ - "AWS::EC2::NetworkInsightsAccessScopeAnalysis" + "AWS::GlobalAccelerator::Listener" ], "markdownEnumDescriptions": [ - "Resource schema for AWS::EC2::NetworkInsightsAccessScopeAnalysis \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-networkinsightsaccessscopeanalysis.html)" + "Resource Type definition for AWS::GlobalAccelerator::Listener \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-globalaccelerator-listener.html)" ] }, "Properties": { - "$ref": "resources/aws-ec2-networkinsightsaccessscopeanalysis.json" + "$ref": "resources/aws-globalaccelerator-listener.json" } }, "required": [ @@ -5621,9 +5612,9 @@ ], "additionalProperties": false }, - "AWS_ApiGatewayV2_Route": { + "AWS_Lambda_Permission": { "type": "object", - "markdownDescription": "The ``AWS::ApiGatewayV2::Route`` resource creates a route for an API. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-route.html)", + "markdownDescription": "The ``AWS::Lambda::Permission`` resource grants an AWS service or another account permission to use a function. You can apply the policy at the function level, or specify a qualifier to restrict access to a single version or alias. If you use a qualifier, the invoker must use the full Amazon Resource Name (ARN) of that version or alias to invoke the function.\n To grant permission to another account, specify the account ID as the ``Principal``. To grant permission to an organization defined in AOlong, specify the organization ID as the ``PrincipalOrgID``. For AWS services, the principal is a domain-style identifier defined by the service, like ``s3.amazonaws.com`` or ``sns.amazonaws.com``. For AWS services, you can also specify the ARN of the associated resource as the ``SourceArn``. If you grant permission to a service principal without specifying the source, other accounts could potentially configure resources in their account to invoke your Lambda function.\n If your function has a function URL, you can specify the ``FunctionUrlAuthType`` parameter. This adds a condition to your permission that only applies when your function URL's ``AuthType`` matches the specified ``FunctionUrlAuthType``. For more information about the ``AuthType`` parameter, see [Security and auth model for function URLs](https://docs.aws.amazon.com/lambda/latest/dg/urls-auth.html).\n This resource adds a statement to a resource-based permission policy for the function. For more information about function policies, see [Lambda Function Policies](https://docs.aws.amazon.com/lambda/latest/dg/access-control-resource-based.html). \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-permission.html)", "allOf": [ { "type": "object", @@ -5631,14 +5622,14 @@ "Type": { "type": "string", "enum": [ - "AWS::ApiGatewayV2::Route" + "AWS::Lambda::Permission" ], "markdownEnumDescriptions": [ - "The ``AWS::ApiGatewayV2::Route`` resource creates a route for an API. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-route.html)" + "The ``AWS::Lambda::Permission`` resource grants an AWS service or another account permission to use a function. You can apply the policy at the function level, or specify a qualifier to restrict access to a single version or alias. If you use a qualifier, the invoker must use the full Amazon Resource Name (ARN) of that version or alias to invoke the function.\n To grant permission to another account, specify the account ID as the ``Principal``. To grant permission to an organization defined in AOlong, specify the organization ID as the ``PrincipalOrgID``. For AWS services, the principal is a domain-style identifier defined by the service, like ``s3.amazonaws.com`` or ``sns.amazonaws.com``. For AWS services, you can also specify the ARN of the associated resource as the ``SourceArn``. If you grant permission to a service principal without specifying the source, other accounts could potentially configure resources in their account to invoke your Lambda function.\n If your function has a function URL, you can specify the ``FunctionUrlAuthType`` parameter. This adds a condition to your permission that only applies when your function URL's ``AuthType`` matches the specified ``FunctionUrlAuthType``. For more information about the ``AuthType`` parameter, see [Security and auth model for function URLs](https://docs.aws.amazon.com/lambda/latest/dg/urls-auth.html).\n This resource adds a statement to a resource-based permission policy for the function. For more information about function policies, see [Lambda Function Policies](https://docs.aws.amazon.com/lambda/latest/dg/access-control-resource-based.html). \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-permission.html)" ] }, "Properties": { - "$ref": "resources/aws-apigatewayv2-route.json" + "$ref": "resources/aws-lambda-permission.json" } }, "required": [ @@ -5652,9 +5643,9 @@ ], "additionalProperties": false }, - "AWS_IAM_AccessKey": { + "AWS_SecurityLake_DataLake": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::IAM::AccessKey \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-accesskey.html)", + "markdownDescription": "Resource Type definition for AWS::SecurityLake::DataLake \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-securitylake-datalake.html)", "allOf": [ { "type": "object", @@ -5662,19 +5653,18 @@ "Type": { "type": "string", "enum": [ - "AWS::IAM::AccessKey" + "AWS::SecurityLake::DataLake" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::IAM::AccessKey \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-accesskey.html)" + "Resource Type definition for AWS::SecurityLake::DataLake \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-securitylake-datalake.html)" ] }, "Properties": { - "$ref": "resources/aws-iam-accesskey.json" + "$ref": "resources/aws-securitylake-datalake.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -5683,9 +5673,9 @@ ], "additionalProperties": false }, - "AWS_SageMaker_App": { + "AWS_ImageBuilder_Workflow": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::SageMaker::App \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-app.html)", + "markdownDescription": "Resource schema for AWS::ImageBuilder::Workflow \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-imagebuilder-workflow.html)", "allOf": [ { "type": "object", @@ -5693,14 +5683,14 @@ "Type": { "type": "string", "enum": [ - "AWS::SageMaker::App" + "AWS::ImageBuilder::Workflow" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::SageMaker::App \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-app.html)" + "Resource schema for AWS::ImageBuilder::Workflow \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-imagebuilder-workflow.html)" ] }, "Properties": { - "$ref": "resources/aws-sagemaker-app.json" + "$ref": "resources/aws-imagebuilder-workflow.json" } }, "required": [ @@ -5714,9 +5704,9 @@ ], "additionalProperties": false }, - "AWS_VpcLattice_ServiceNetwork": { + "AWS_Route53RecoveryControl_ControlPanel": { "type": "object", - "markdownDescription": "A service network is a logical boundary for a collection of services. You can associate services and VPCs with a service network. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-vpclattice-servicenetwork.html)", + "markdownDescription": "AWS Route53 Recovery Control Control Panel resource schema . \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53recoverycontrol-controlpanel.html)", "allOf": [ { "type": "object", @@ -5724,18 +5714,19 @@ "Type": { "type": "string", "enum": [ - "AWS::VpcLattice::ServiceNetwork" + "AWS::Route53RecoveryControl::ControlPanel" ], "markdownEnumDescriptions": [ - "A service network is a logical boundary for a collection of services. You can associate services and VPCs with a service network. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-vpclattice-servicenetwork.html)" + "AWS Route53 Recovery Control Control Panel resource schema . \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53recoverycontrol-controlpanel.html)" ] }, "Properties": { - "$ref": "resources/aws-vpclattice-servicenetwork.json" + "$ref": "resources/aws-route53recoverycontrol-controlpanel.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -5744,9 +5735,9 @@ ], "additionalProperties": false }, - "AWS_EC2_VPNConnection": { + "AWS_EC2_VPCGatewayAttachment": { "type": "object", - "markdownDescription": "Specifies a VPN connection between a virtual private gateway and a VPN customer gateway or a transit gateway and a VPN customer gateway.\n To specify a VPN connection between a transit gateway and customer gateway, use the ``TransitGatewayId`` and ``CustomerGatewayId`` properties.\n To specify a VPN connection between a virtual private gateway and customer gateway, use the ``VpnGatewayId`` and ``CustomerGatewayId`` properties.\n For more information, see [](https://docs.aws.amazon.com/vpn/latest/s2svpn/VPC_VPN.html) in the *User Guide*. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpnconnection.html)", + "markdownDescription": "Resource Type definition for AWS::EC2::VPCGatewayAttachment \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpcgatewayattachment.html)", "allOf": [ { "type": "object", @@ -5754,14 +5745,14 @@ "Type": { "type": "string", "enum": [ - "AWS::EC2::VPNConnection" + "AWS::EC2::VPCGatewayAttachment" ], "markdownEnumDescriptions": [ - "Specifies a VPN connection between a virtual private gateway and a VPN customer gateway or a transit gateway and a VPN customer gateway.\n To specify a VPN connection between a transit gateway and customer gateway, use the ``TransitGatewayId`` and ``CustomerGatewayId`` properties.\n To specify a VPN connection between a virtual private gateway and customer gateway, use the ``VpnGatewayId`` and ``CustomerGatewayId`` properties.\n For more information, see [](https://docs.aws.amazon.com/vpn/latest/s2svpn/VPC_VPN.html) in the *User Guide*. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpnconnection.html)" + "Resource Type definition for AWS::EC2::VPCGatewayAttachment \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpcgatewayattachment.html)" ] }, "Properties": { - "$ref": "resources/aws-ec2-vpnconnection.json" + "$ref": "resources/aws-ec2-vpcgatewayattachment.json" } }, "required": [ @@ -5775,9 +5766,9 @@ ], "additionalProperties": false }, - "AWS_IoT_Certificate": { + "AWS_Chatbot_SlackChannelConfiguration": { "type": "object", - "markdownDescription": "Use the AWS::IoT::Certificate resource to declare an AWS IoT X.509 certificate. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-certificate.html)", + "markdownDescription": "Resource schema for AWS::Chatbot::SlackChannelConfiguration. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-chatbot-slackchannelconfiguration.html)", "allOf": [ { "type": "object", @@ -5785,14 +5776,14 @@ "Type": { "type": "string", "enum": [ - "AWS::IoT::Certificate" + "AWS::Chatbot::SlackChannelConfiguration" ], "markdownEnumDescriptions": [ - "Use the AWS::IoT::Certificate resource to declare an AWS IoT X.509 certificate. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-certificate.html)" + "Resource schema for AWS::Chatbot::SlackChannelConfiguration. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-chatbot-slackchannelconfiguration.html)" ] }, "Properties": { - "$ref": "resources/aws-iot-certificate.json" + "$ref": "resources/aws-chatbot-slackchannelconfiguration.json" } }, "required": [ @@ -5806,9 +5797,9 @@ ], "additionalProperties": false }, - "AWS_EC2_SubnetCidrBlock": { + "AWS_MSK_Configuration": { "type": "object", - "markdownDescription": "The AWS::EC2::SubnetCidrBlock resource creates association between subnet and IPv6 CIDR \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-subnetcidrblock.html)", + "markdownDescription": "Resource Type definition for AWS::MSK::Configuration \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-msk-configuration.html)", "allOf": [ { "type": "object", @@ -5816,14 +5807,14 @@ "Type": { "type": "string", "enum": [ - "AWS::EC2::SubnetCidrBlock" + "AWS::MSK::Configuration" ], "markdownEnumDescriptions": [ - "The AWS::EC2::SubnetCidrBlock resource creates association between subnet and IPv6 CIDR \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-subnetcidrblock.html)" + "Resource Type definition for AWS::MSK::Configuration \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-msk-configuration.html)" ] }, "Properties": { - "$ref": "resources/aws-ec2-subnetcidrblock.json" + "$ref": "resources/aws-msk-configuration.json" } }, "required": [ @@ -5837,9 +5828,9 @@ ], "additionalProperties": false }, - "AWS_IoT_ScheduledAudit": { + "AWS_ServiceCatalog_TagOptionAssociation": { "type": "object", - "markdownDescription": "Scheduled audits can be used to specify the checks you want to perform during an audit and how often the audit should be run. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-scheduledaudit.html)", + "markdownDescription": "Resource Type definition for AWS::ServiceCatalog::TagOptionAssociation \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicecatalog-tagoptionassociation.html)", "allOf": [ { "type": "object", @@ -5847,14 +5838,14 @@ "Type": { "type": "string", "enum": [ - "AWS::IoT::ScheduledAudit" + "AWS::ServiceCatalog::TagOptionAssociation" ], "markdownEnumDescriptions": [ - "Scheduled audits can be used to specify the checks you want to perform during an audit and how often the audit should be run. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-scheduledaudit.html)" + "Resource Type definition for AWS::ServiceCatalog::TagOptionAssociation \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicecatalog-tagoptionassociation.html)" ] }, "Properties": { - "$ref": "resources/aws-iot-scheduledaudit.json" + "$ref": "resources/aws-servicecatalog-tagoptionassociation.json" } }, "required": [ @@ -5868,9 +5859,9 @@ ], "additionalProperties": false }, - "AWS_RefactorSpaces_Environment": { + "AWS_HealthImaging_Datastore": { "type": "object", - "markdownDescription": "Definition of AWS::RefactorSpaces::Environment Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-refactorspaces-environment.html)", + "markdownDescription": "Definition of AWS::HealthImaging::Datastore Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-healthimaging-datastore.html)", "allOf": [ { "type": "object", @@ -5878,19 +5869,18 @@ "Type": { "type": "string", "enum": [ - "AWS::RefactorSpaces::Environment" + "AWS::HealthImaging::Datastore" ], "markdownEnumDescriptions": [ - "Definition of AWS::RefactorSpaces::Environment Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-refactorspaces-environment.html)" + "Definition of AWS::HealthImaging::Datastore Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-healthimaging-datastore.html)" ] }, "Properties": { - "$ref": "resources/aws-refactorspaces-environment.json" + "$ref": "resources/aws-healthimaging-datastore.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -5899,9 +5889,9 @@ ], "additionalProperties": false }, - "AWS_HealthLake_FHIRDatastore": { + "AWS_Config_ConformancePack": { "type": "object", - "markdownDescription": "HealthLake FHIR Datastore \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-healthlake-fhirdatastore.html)", + "markdownDescription": "A conformance pack is a collection of AWS Config rules and remediation actions that can be easily deployed as a single entity in an account and a region or across an entire AWS Organization. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-config-conformancepack.html)", "allOf": [ { "type": "object", @@ -5909,14 +5899,14 @@ "Type": { "type": "string", "enum": [ - "AWS::HealthLake::FHIRDatastore" + "AWS::Config::ConformancePack" ], "markdownEnumDescriptions": [ - "HealthLake FHIR Datastore \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-healthlake-fhirdatastore.html)" + "A conformance pack is a collection of AWS Config rules and remediation actions that can be easily deployed as a single entity in an account and a region or across an entire AWS Organization. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-config-conformancepack.html)" ] }, "Properties": { - "$ref": "resources/aws-healthlake-fhirdatastore.json" + "$ref": "resources/aws-config-conformancepack.json" } }, "required": [ @@ -5930,9 +5920,9 @@ ], "additionalProperties": false }, - "AWS_Glue_Registry": { + "AWS_Evidently_Segment": { "type": "object", - "markdownDescription": "This resource creates a Registry for authoring schemas as part of Glue Schema Registry. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-registry.html)", + "markdownDescription": "Resource Type definition for AWS::Evidently::Segment \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-evidently-segment.html)", "allOf": [ { "type": "object", @@ -5940,14 +5930,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Glue::Registry" + "AWS::Evidently::Segment" ], "markdownEnumDescriptions": [ - "This resource creates a Registry for authoring schemas as part of Glue Schema Registry. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-registry.html)" + "Resource Type definition for AWS::Evidently::Segment \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-evidently-segment.html)" ] }, "Properties": { - "$ref": "resources/aws-glue-registry.json" + "$ref": "resources/aws-evidently-segment.json" } }, "required": [ @@ -5961,9 +5951,9 @@ ], "additionalProperties": false }, - "AWS_Backup_Framework": { + "AWS_PaymentCryptography_Alias": { "type": "object", - "markdownDescription": "Contains detailed information about a framework. Frameworks contain controls, which evaluate and report on your backup events and resources. Frameworks generate daily compliance results. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-backup-framework.html)", + "markdownDescription": "Definition of AWS::PaymentCryptography::Alias Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-paymentcryptography-alias.html)", "allOf": [ { "type": "object", @@ -5971,14 +5961,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Backup::Framework" + "AWS::PaymentCryptography::Alias" ], "markdownEnumDescriptions": [ - "Contains detailed information about a framework. Frameworks contain controls, which evaluate and report on your backup events and resources. Frameworks generate daily compliance results. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-backup-framework.html)" + "Definition of AWS::PaymentCryptography::Alias Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-paymentcryptography-alias.html)" ] }, "Properties": { - "$ref": "resources/aws-backup-framework.json" + "$ref": "resources/aws-paymentcryptography-alias.json" } }, "required": [ @@ -5992,9 +5982,9 @@ ], "additionalProperties": false }, - "AWS_Events_Connection": { + "AWS_CloudFormation_ModuleVersion": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::Events::Connection. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-connection.html)", + "markdownDescription": "A module that has been registered in the CloudFormation registry. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudformation-moduleversion.html)", "allOf": [ { "type": "object", @@ -6002,18 +5992,19 @@ "Type": { "type": "string", "enum": [ - "AWS::Events::Connection" + "AWS::CloudFormation::ModuleVersion" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::Events::Connection. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-connection.html)" + "A module that has been registered in the CloudFormation registry. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudformation-moduleversion.html)" ] }, "Properties": { - "$ref": "resources/aws-events-connection.json" + "$ref": "resources/aws-cloudformation-moduleversion.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -6022,9 +6013,9 @@ ], "additionalProperties": false }, - "AWS_SQS_QueuePolicy": { + "AWS_IoT_ThingGroup": { "type": "object", - "markdownDescription": "The ``AWS::SQS::QueuePolicy`` type applies a policy to SQS queues. For an example snippet, see [Declaring an policy](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/quickref-iam.html#scenario-sqs-policy) in the *User Guide*. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sqs-queuepolicy.html)", + "markdownDescription": "Resource Type definition for AWS::IoT::ThingGroup \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-thinggroup.html)", "allOf": [ { "type": "object", @@ -6032,19 +6023,18 @@ "Type": { "type": "string", "enum": [ - "AWS::SQS::QueuePolicy" + "AWS::IoT::ThingGroup" ], "markdownEnumDescriptions": [ - "The ``AWS::SQS::QueuePolicy`` type applies a policy to SQS queues. For an example snippet, see [Declaring an policy](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/quickref-iam.html#scenario-sqs-policy) in the *User Guide*. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sqs-queuepolicy.html)" + "Resource Type definition for AWS::IoT::ThingGroup \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-thinggroup.html)" ] }, "Properties": { - "$ref": "resources/aws-sqs-queuepolicy.json" + "$ref": "resources/aws-iot-thinggroup.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -6053,9 +6043,9 @@ ], "additionalProperties": false }, - "AWS_EC2_TransitGateway": { + "AWS_ServiceCatalog_AcceptedPortfolioShare": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::EC2::TransitGateway \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-transitgateway.html)", + "markdownDescription": "Resource Type definition for AWS::ServiceCatalog::AcceptedPortfolioShare \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicecatalog-acceptedportfolioshare.html)", "allOf": [ { "type": "object", @@ -6063,18 +6053,19 @@ "Type": { "type": "string", "enum": [ - "AWS::EC2::TransitGateway" + "AWS::ServiceCatalog::AcceptedPortfolioShare" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::EC2::TransitGateway \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-transitgateway.html)" + "Resource Type definition for AWS::ServiceCatalog::AcceptedPortfolioShare \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicecatalog-acceptedportfolioshare.html)" ] }, "Properties": { - "$ref": "resources/aws-ec2-transitgateway.json" + "$ref": "resources/aws-servicecatalog-acceptedportfolioshare.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -6083,9 +6074,9 @@ ], "additionalProperties": false }, - "AWS_CodeArtifact_Repository": { + "AWS_Personalize_Solution": { "type": "object", - "markdownDescription": "The resource schema to create a CodeArtifact repository. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codeartifact-repository.html)", + "markdownDescription": "Resource schema for AWS::Personalize::Solution. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-personalize-solution.html)", "allOf": [ { "type": "object", @@ -6093,14 +6084,14 @@ "Type": { "type": "string", "enum": [ - "AWS::CodeArtifact::Repository" + "AWS::Personalize::Solution" ], "markdownEnumDescriptions": [ - "The resource schema to create a CodeArtifact repository. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codeartifact-repository.html)" + "Resource schema for AWS::Personalize::Solution. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-personalize-solution.html)" ] }, "Properties": { - "$ref": "resources/aws-codeartifact-repository.json" + "$ref": "resources/aws-personalize-solution.json" } }, "required": [ @@ -6114,9 +6105,9 @@ ], "additionalProperties": false }, - "AWS_WorkSpacesWeb_BrowserSettings": { + "AWS_ApiGateway_DocumentationVersion": { "type": "object", - "markdownDescription": "Definition of AWS::WorkSpacesWeb::BrowserSettings Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-workspacesweb-browsersettings.html)", + "markdownDescription": "The ``AWS::ApiGateway::DocumentationVersion`` resource creates a snapshot of the documentation for an API. For more information, see [Representation of API Documentation in API Gateway](https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-documenting-api-content-representation.html) in the *API Gateway Developer Guide*. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-documentationversion.html)", "allOf": [ { "type": "object", @@ -6124,18 +6115,19 @@ "Type": { "type": "string", "enum": [ - "AWS::WorkSpacesWeb::BrowserSettings" + "AWS::ApiGateway::DocumentationVersion" ], "markdownEnumDescriptions": [ - "Definition of AWS::WorkSpacesWeb::BrowserSettings Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-workspacesweb-browsersettings.html)" + "The ``AWS::ApiGateway::DocumentationVersion`` resource creates a snapshot of the documentation for an API. For more information, see [Representation of API Documentation in API Gateway](https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-documenting-api-content-representation.html) in the *API Gateway Developer Guide*. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-documentationversion.html)" ] }, "Properties": { - "$ref": "resources/aws-workspacesweb-browsersettings.json" + "$ref": "resources/aws-apigateway-documentationversion.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -6144,9 +6136,9 @@ ], "additionalProperties": false }, - "AWS_Athena_PreparedStatement": { + "AWS_EC2_VPNGateway": { "type": "object", - "markdownDescription": "Resource schema for AWS::Athena::PreparedStatement \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-athena-preparedstatement.html)", + "markdownDescription": "Specifies a virtual private gateway. A virtual private gateway is the endpoint on the VPC side of your VPN connection. You can create a virtual private gateway before creating the VPC itself.\n For more information, see [](https://docs.aws.amazon.com/vpn/latest/s2svpn/VPC_VPN.html) in the *User Guide*. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpngateway.html)", "allOf": [ { "type": "object", @@ -6154,14 +6146,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Athena::PreparedStatement" + "AWS::EC2::VPNGateway" ], "markdownEnumDescriptions": [ - "Resource schema for AWS::Athena::PreparedStatement \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-athena-preparedstatement.html)" + "Specifies a virtual private gateway. A virtual private gateway is the endpoint on the VPC side of your VPN connection. You can create a virtual private gateway before creating the VPC itself.\n For more information, see [](https://docs.aws.amazon.com/vpn/latest/s2svpn/VPC_VPN.html) in the *User Guide*. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpngateway.html)" ] }, "Properties": { - "$ref": "resources/aws-athena-preparedstatement.json" + "$ref": "resources/aws-ec2-vpngateway.json" } }, "required": [ @@ -6175,9 +6167,9 @@ ], "additionalProperties": false }, - "AWS_FMS_NotificationChannel": { + "AWS_Forecast_DatasetGroup": { "type": "object", - "markdownDescription": "Designates the IAM role and Amazon Simple Notification Service (SNS) topic that AWS Firewall Manager uses to record SNS logs. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-fms-notificationchannel.html)", + "markdownDescription": "Represents a dataset group that holds a collection of related datasets \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-forecast-datasetgroup.html)", "allOf": [ { "type": "object", @@ -6185,14 +6177,14 @@ "Type": { "type": "string", "enum": [ - "AWS::FMS::NotificationChannel" + "AWS::Forecast::DatasetGroup" ], "markdownEnumDescriptions": [ - "Designates the IAM role and Amazon Simple Notification Service (SNS) topic that AWS Firewall Manager uses to record SNS logs. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-fms-notificationchannel.html)" + "Represents a dataset group that holds a collection of related datasets \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-forecast-datasetgroup.html)" ] }, "Properties": { - "$ref": "resources/aws-fms-notificationchannel.json" + "$ref": "resources/aws-forecast-datasetgroup.json" } }, "required": [ @@ -6206,9 +6198,9 @@ ], "additionalProperties": false }, - "AWS_EC2_TransitGatewayMulticastDomain": { + "AWS_LakeFormation_PrincipalPermissions": { "type": "object", - "markdownDescription": "The AWS::EC2::TransitGatewayMulticastDomain type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-transitgatewaymulticastdomain.html)", + "markdownDescription": "The ``AWS::LakeFormation::PrincipalPermissions`` resource represents the permissions that a principal has on a GLUDC resource (such as GLUlong databases or GLUlong tables). When you create a ``PrincipalPermissions`` resource, the permissions are granted via the LFlong ``GrantPermissions`` API operation. When you delete a ``PrincipalPermissions`` resource, the permissions on principal-resource pair are revoked via the LFlong ``RevokePermissions`` API operation. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lakeformation-principalpermissions.html)", "allOf": [ { "type": "object", @@ -6216,14 +6208,14 @@ "Type": { "type": "string", "enum": [ - "AWS::EC2::TransitGatewayMulticastDomain" + "AWS::LakeFormation::PrincipalPermissions" ], "markdownEnumDescriptions": [ - "The AWS::EC2::TransitGatewayMulticastDomain type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-transitgatewaymulticastdomain.html)" + "The ``AWS::LakeFormation::PrincipalPermissions`` resource represents the permissions that a principal has on a GLUDC resource (such as GLUlong databases or GLUlong tables). When you create a ``PrincipalPermissions`` resource, the permissions are granted via the LFlong ``GrantPermissions`` API operation. When you delete a ``PrincipalPermissions`` resource, the permissions on principal-resource pair are revoked via the LFlong ``RevokePermissions`` API operation. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lakeformation-principalpermissions.html)" ] }, "Properties": { - "$ref": "resources/aws-ec2-transitgatewaymulticastdomain.json" + "$ref": "resources/aws-lakeformation-principalpermissions.json" } }, "required": [ @@ -6237,9 +6229,9 @@ ], "additionalProperties": false }, - "AWS_AppStream_User": { + "AWS_CertificateManager_Certificate": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::AppStream::User \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appstream-user.html)", + "markdownDescription": "Resource Type definition for AWS::CertificateManager::Certificate \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-certificatemanager-certificate.html)", "allOf": [ { "type": "object", @@ -6247,14 +6239,14 @@ "Type": { "type": "string", "enum": [ - "AWS::AppStream::User" + "AWS::CertificateManager::Certificate" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::AppStream::User \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appstream-user.html)" + "Resource Type definition for AWS::CertificateManager::Certificate \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-certificatemanager-certificate.html)" ] }, "Properties": { - "$ref": "resources/aws-appstream-user.json" + "$ref": "resources/aws-certificatemanager-certificate.json" } }, "required": [ @@ -6268,9 +6260,9 @@ ], "additionalProperties": false }, - "AWS_ServiceCatalog_ServiceActionAssociation": { + "AWS_WorkSpacesWeb_IdentityProvider": { "type": "object", - "markdownDescription": "Resource Schema for AWS::ServiceCatalog::ServiceActionAssociation \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicecatalog-serviceactionassociation.html)", + "markdownDescription": "Definition of AWS::WorkSpacesWeb::IdentityProvider Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-workspacesweb-identityprovider.html)", "allOf": [ { "type": "object", @@ -6278,14 +6270,14 @@ "Type": { "type": "string", "enum": [ - "AWS::ServiceCatalog::ServiceActionAssociation" + "AWS::WorkSpacesWeb::IdentityProvider" ], "markdownEnumDescriptions": [ - "Resource Schema for AWS::ServiceCatalog::ServiceActionAssociation \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicecatalog-serviceactionassociation.html)" + "Definition of AWS::WorkSpacesWeb::IdentityProvider Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-workspacesweb-identityprovider.html)" ] }, "Properties": { - "$ref": "resources/aws-servicecatalog-serviceactionassociation.json" + "$ref": "resources/aws-workspacesweb-identityprovider.json" } }, "required": [ @@ -6299,9 +6291,9 @@ ], "additionalProperties": false }, - "AWS_ElasticBeanstalk_ApplicationVersion": { + "AWS_WAF_IPSet": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::ElasticBeanstalk::ApplicationVersion \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticbeanstalk-applicationversion.html)", + "markdownDescription": "Resource Type definition for AWS::WAF::IPSet \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-waf-ipset.html)", "allOf": [ { "type": "object", @@ -6309,14 +6301,14 @@ "Type": { "type": "string", "enum": [ - "AWS::ElasticBeanstalk::ApplicationVersion" + "AWS::WAF::IPSet" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::ElasticBeanstalk::ApplicationVersion \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticbeanstalk-applicationversion.html)" + "Resource Type definition for AWS::WAF::IPSet \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-waf-ipset.html)" ] }, "Properties": { - "$ref": "resources/aws-elasticbeanstalk-applicationversion.json" + "$ref": "resources/aws-waf-ipset.json" } }, "required": [ @@ -6330,9 +6322,9 @@ ], "additionalProperties": false }, - "AWS_BillingConductor_BillingGroup": { + "AWS_ServiceCatalogAppRegistry_ResourceAssociation": { "type": "object", - "markdownDescription": "A billing group is a set of linked account which belong to the same end customer. It can be seen as a virtual consolidated billing family. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-billingconductor-billinggroup.html)", + "markdownDescription": "Resource Schema for AWS::ServiceCatalogAppRegistry::ResourceAssociation \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicecatalogappregistry-resourceassociation.html)", "allOf": [ { "type": "object", @@ -6340,14 +6332,14 @@ "Type": { "type": "string", "enum": [ - "AWS::BillingConductor::BillingGroup" + "AWS::ServiceCatalogAppRegistry::ResourceAssociation" ], "markdownEnumDescriptions": [ - "A billing group is a set of linked account which belong to the same end customer. It can be seen as a virtual consolidated billing family. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-billingconductor-billinggroup.html)" + "Resource Schema for AWS::ServiceCatalogAppRegistry::ResourceAssociation \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicecatalogappregistry-resourceassociation.html)" ] }, "Properties": { - "$ref": "resources/aws-billingconductor-billinggroup.json" + "$ref": "resources/aws-servicecatalogappregistry-resourceassociation.json" } }, "required": [ @@ -6361,9 +6353,9 @@ ], "additionalProperties": false }, - "AWS_SSM_MaintenanceWindowTask": { + "AWS_MediaStore_Container": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::SSM::MaintenanceWindowTask \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-maintenancewindowtask.html)", + "markdownDescription": "Resource Type definition for AWS::MediaStore::Container \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediastore-container.html)", "allOf": [ { "type": "object", @@ -6371,14 +6363,14 @@ "Type": { "type": "string", "enum": [ - "AWS::SSM::MaintenanceWindowTask" + "AWS::MediaStore::Container" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::SSM::MaintenanceWindowTask \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-maintenancewindowtask.html)" + "Resource Type definition for AWS::MediaStore::Container \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediastore-container.html)" ] }, "Properties": { - "$ref": "resources/aws-ssm-maintenancewindowtask.json" + "$ref": "resources/aws-mediastore-container.json" } }, "required": [ @@ -6392,9 +6384,9 @@ ], "additionalProperties": false }, - "AWS_ServiceDiscovery_Service": { + "AWS_Pinpoint_BaiduChannel": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::ServiceDiscovery::Service \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicediscovery-service.html)", + "markdownDescription": "Resource Type definition for AWS::Pinpoint::BaiduChannel \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-baiduchannel.html)", "allOf": [ { "type": "object", @@ -6402,18 +6394,19 @@ "Type": { "type": "string", "enum": [ - "AWS::ServiceDiscovery::Service" + "AWS::Pinpoint::BaiduChannel" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::ServiceDiscovery::Service \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicediscovery-service.html)" + "Resource Type definition for AWS::Pinpoint::BaiduChannel \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-baiduchannel.html)" ] }, "Properties": { - "$ref": "resources/aws-servicediscovery-service.json" + "$ref": "resources/aws-pinpoint-baiduchannel.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -6422,9 +6415,9 @@ ], "additionalProperties": false }, - "AWS_DAX_Cluster": { + "AWS_FMS_Policy": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::DAX::Cluster \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dax-cluster.html)", + "markdownDescription": "Creates an AWS Firewall Manager policy. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-fms-policy.html)", "allOf": [ { "type": "object", @@ -6432,14 +6425,14 @@ "Type": { "type": "string", "enum": [ - "AWS::DAX::Cluster" + "AWS::FMS::Policy" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::DAX::Cluster \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dax-cluster.html)" + "Creates an AWS Firewall Manager policy. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-fms-policy.html)" ] }, "Properties": { - "$ref": "resources/aws-dax-cluster.json" + "$ref": "resources/aws-fms-policy.json" } }, "required": [ @@ -6453,9 +6446,9 @@ ], "additionalProperties": false }, - "AWS_FraudDetector_Label": { + "AWS_Cloud9_EnvironmentEC2": { "type": "object", - "markdownDescription": "An label for fraud detector. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-frauddetector-label.html)", + "markdownDescription": "Resource Type definition for AWS::Cloud9::EnvironmentEC2 \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloud9-environmentec2.html)", "allOf": [ { "type": "object", @@ -6463,14 +6456,14 @@ "Type": { "type": "string", "enum": [ - "AWS::FraudDetector::Label" + "AWS::Cloud9::EnvironmentEC2" ], "markdownEnumDescriptions": [ - "An label for fraud detector. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-frauddetector-label.html)" + "Resource Type definition for AWS::Cloud9::EnvironmentEC2 \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloud9-environmentec2.html)" ] }, "Properties": { - "$ref": "resources/aws-frauddetector-label.json" + "$ref": "resources/aws-cloud9-environmentec2.json" } }, "required": [ @@ -6484,9 +6477,9 @@ ], "additionalProperties": false }, - "AWS_ResourceGroups_Group": { + "AWS_GameLift_GameServerGroup": { "type": "object", - "markdownDescription": "Schema for ResourceGroups::Group \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-resourcegroups-group.html)", + "markdownDescription": "The AWS::GameLift::GameServerGroup resource creates an Amazon GameLift (GameLift) GameServerGroup. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-gamelift-gameservergroup.html)", "allOf": [ { "type": "object", @@ -6494,14 +6487,14 @@ "Type": { "type": "string", "enum": [ - "AWS::ResourceGroups::Group" + "AWS::GameLift::GameServerGroup" ], "markdownEnumDescriptions": [ - "Schema for ResourceGroups::Group \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-resourcegroups-group.html)" + "The AWS::GameLift::GameServerGroup resource creates an Amazon GameLift (GameLift) GameServerGroup. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-gamelift-gameservergroup.html)" ] }, "Properties": { - "$ref": "resources/aws-resourcegroups-group.json" + "$ref": "resources/aws-gamelift-gameservergroup.json" } }, "required": [ @@ -6515,9 +6508,9 @@ ], "additionalProperties": false }, - "AWS_Route53Profiles_Profile": { + "AWS_ImageBuilder_ContainerRecipe": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::Route53Profiles::Profile \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53profiles-profile.html)", + "markdownDescription": "Resource schema for AWS::ImageBuilder::ContainerRecipe \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-imagebuilder-containerrecipe.html)", "allOf": [ { "type": "object", @@ -6525,19 +6518,18 @@ "Type": { "type": "string", "enum": [ - "AWS::Route53Profiles::Profile" + "AWS::ImageBuilder::ContainerRecipe" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::Route53Profiles::Profile \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53profiles-profile.html)" + "Resource schema for AWS::ImageBuilder::ContainerRecipe \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-imagebuilder-containerrecipe.html)" ] }, "Properties": { - "$ref": "resources/aws-route53profiles-profile.json" + "$ref": "resources/aws-imagebuilder-containerrecipe.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -6546,9 +6538,9 @@ ], "additionalProperties": false }, - "AWS_Inspector_AssessmentTarget": { + "AWS_Glue_Connection": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::Inspector::AssessmentTarget \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-inspector-assessmenttarget.html)", + "markdownDescription": "Resource Type definition for AWS::Glue::Connection \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-connection.html)", "allOf": [ { "type": "object", @@ -6556,18 +6548,19 @@ "Type": { "type": "string", "enum": [ - "AWS::Inspector::AssessmentTarget" + "AWS::Glue::Connection" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::Inspector::AssessmentTarget \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-inspector-assessmenttarget.html)" + "Resource Type definition for AWS::Glue::Connection \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-connection.html)" ] }, "Properties": { - "$ref": "resources/aws-inspector-assessmenttarget.json" + "$ref": "resources/aws-glue-connection.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -6576,9 +6569,9 @@ ], "additionalProperties": false }, - "AWS_AutoScaling_WarmPool": { + "AWS_Connect_AgentStatus": { "type": "object", - "markdownDescription": "Resource schema for AWS::AutoScaling::WarmPool. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-autoscaling-warmpool.html)", + "markdownDescription": "Resource Type definition for AWS::Connect::AgentStatus \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-connect-agentstatus.html)", "allOf": [ { "type": "object", @@ -6586,14 +6579,14 @@ "Type": { "type": "string", "enum": [ - "AWS::AutoScaling::WarmPool" + "AWS::Connect::AgentStatus" ], "markdownEnumDescriptions": [ - "Resource schema for AWS::AutoScaling::WarmPool. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-autoscaling-warmpool.html)" + "Resource Type definition for AWS::Connect::AgentStatus \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-connect-agentstatus.html)" ] }, "Properties": { - "$ref": "resources/aws-autoscaling-warmpool.json" + "$ref": "resources/aws-connect-agentstatus.json" } }, "required": [ @@ -6607,9 +6600,9 @@ ], "additionalProperties": false }, - "AWS_IoTSiteWise_AccessPolicy": { + "AWS_Lightsail_Certificate": { "type": "object", - "markdownDescription": "Resource schema for AWS::IoTSiteWise::AccessPolicy \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotsitewise-accesspolicy.html)", + "markdownDescription": "Resource Type definition for AWS::Lightsail::Certificate. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lightsail-certificate.html)", "allOf": [ { "type": "object", @@ -6617,14 +6610,14 @@ "Type": { "type": "string", "enum": [ - "AWS::IoTSiteWise::AccessPolicy" + "AWS::Lightsail::Certificate" ], "markdownEnumDescriptions": [ - "Resource schema for AWS::IoTSiteWise::AccessPolicy \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotsitewise-accesspolicy.html)" + "Resource Type definition for AWS::Lightsail::Certificate. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lightsail-certificate.html)" ] }, "Properties": { - "$ref": "resources/aws-iotsitewise-accesspolicy.json" + "$ref": "resources/aws-lightsail-certificate.json" } }, "required": [ @@ -6638,9 +6631,9 @@ ], "additionalProperties": false }, - "AWS_CloudFormation_ModuleVersion": { + "AWS_S3Outposts_Bucket": { "type": "object", - "markdownDescription": "A module that has been registered in the CloudFormation registry. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudformation-moduleversion.html)", + "markdownDescription": "Resource Type Definition for AWS::S3Outposts::Bucket \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-s3outposts-bucket.html)", "allOf": [ { "type": "object", @@ -6648,14 +6641,14 @@ "Type": { "type": "string", "enum": [ - "AWS::CloudFormation::ModuleVersion" + "AWS::S3Outposts::Bucket" ], "markdownEnumDescriptions": [ - "A module that has been registered in the CloudFormation registry. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudformation-moduleversion.html)" + "Resource Type Definition for AWS::S3Outposts::Bucket \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-s3outposts-bucket.html)" ] }, "Properties": { - "$ref": "resources/aws-cloudformation-moduleversion.json" + "$ref": "resources/aws-s3outposts-bucket.json" } }, "required": [ @@ -6669,9 +6662,9 @@ ], "additionalProperties": false }, - "AWS_Redshift_ClusterSecurityGroup": { + "AWS_Events_Endpoint": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::Redshift::ClusterSecurityGroup \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-redshift-clustersecuritygroup.html)", + "markdownDescription": "Resource Type definition for AWS::Events::Endpoint. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-endpoint.html)", "allOf": [ { "type": "object", @@ -6679,14 +6672,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Redshift::ClusterSecurityGroup" + "AWS::Events::Endpoint" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::Redshift::ClusterSecurityGroup \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-redshift-clustersecuritygroup.html)" + "Resource Type definition for AWS::Events::Endpoint. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-endpoint.html)" ] }, "Properties": { - "$ref": "resources/aws-redshift-clustersecuritygroup.json" + "$ref": "resources/aws-events-endpoint.json" } }, "required": [ @@ -6700,9 +6693,9 @@ ], "additionalProperties": false }, - "AWS_Glue_Trigger": { + "AWS_RedshiftServerless_Workgroup": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::Glue::Trigger \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-trigger.html)", + "markdownDescription": "Definition of AWS::RedshiftServerless::Workgroup Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-redshiftserverless-workgroup.html)", "allOf": [ { "type": "object", @@ -6710,14 +6703,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Glue::Trigger" + "AWS::RedshiftServerless::Workgroup" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::Glue::Trigger \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-trigger.html)" + "Definition of AWS::RedshiftServerless::Workgroup Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-redshiftserverless-workgroup.html)" ] }, "Properties": { - "$ref": "resources/aws-glue-trigger.json" + "$ref": "resources/aws-redshiftserverless-workgroup.json" } }, "required": [ @@ -6731,9 +6724,9 @@ ], "additionalProperties": false }, - "AWS_IAM_VirtualMFADevice": { + "AWS_IoTEvents_Input": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::IAM::VirtualMFADevice \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-virtualmfadevice.html)", + "markdownDescription": "The AWS::IoTEvents::Input resource creates an input. To monitor your devices and processes, they must have a way to get telemetry data into ITE. This is done by sending messages as *inputs* to ITE. For more information, see [How to Use](https://docs.aws.amazon.com/iotevents/latest/developerguide/how-to-use-iotevents.html) in the *Developer Guide*. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotevents-input.html)", "allOf": [ { "type": "object", @@ -6741,14 +6734,14 @@ "Type": { "type": "string", "enum": [ - "AWS::IAM::VirtualMFADevice" + "AWS::IoTEvents::Input" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::IAM::VirtualMFADevice \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-virtualmfadevice.html)" + "The AWS::IoTEvents::Input resource creates an input. To monitor your devices and processes, they must have a way to get telemetry data into ITE. This is done by sending messages as *inputs* to ITE. For more information, see [How to Use](https://docs.aws.amazon.com/iotevents/latest/developerguide/how-to-use-iotevents.html) in the *Developer Guide*. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotevents-input.html)" ] }, "Properties": { - "$ref": "resources/aws-iam-virtualmfadevice.json" + "$ref": "resources/aws-iotevents-input.json" } }, "required": [ @@ -6762,9 +6755,9 @@ ], "additionalProperties": false }, - "AWS_Connect_AgentStatus": { + "AWS_IoT_Certificate": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::Connect::AgentStatus \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-connect-agentstatus.html)", + "markdownDescription": "Use the AWS::IoT::Certificate resource to declare an AWS IoT X.509 certificate. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-certificate.html)", "allOf": [ { "type": "object", @@ -6772,14 +6765,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Connect::AgentStatus" + "AWS::IoT::Certificate" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::Connect::AgentStatus \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-connect-agentstatus.html)" + "Use the AWS::IoT::Certificate resource to declare an AWS IoT X.509 certificate. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-certificate.html)" ] }, "Properties": { - "$ref": "resources/aws-connect-agentstatus.json" + "$ref": "resources/aws-iot-certificate.json" } }, "required": [ @@ -6793,9 +6786,9 @@ ], "additionalProperties": false }, - "AWS_Connect_SecurityKey": { + "AWS_WAFv2_WebACL": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::Connect::SecurityKey \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-connect-securitykey.html)", + "markdownDescription": "Contains the Rules that identify the requests that you want to allow, block, or count. In a WebACL, you also specify a default action (ALLOW or BLOCK), and the action for each Rule that you add to a WebACL, for example, block requests from specified IP addresses or block requests from specified referrers. You also associate the WebACL with a CloudFront distribution to identify the requests that you want AWS WAF to filter. If you add more than one Rule to a WebACL, a request needs to match only one of the specifications to be allowed, blocked, or counted. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-wafv2-webacl.html)", "allOf": [ { "type": "object", @@ -6803,14 +6796,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Connect::SecurityKey" + "AWS::WAFv2::WebACL" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::Connect::SecurityKey \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-connect-securitykey.html)" + "Contains the Rules that identify the requests that you want to allow, block, or count. In a WebACL, you also specify a default action (ALLOW or BLOCK), and the action for each Rule that you add to a WebACL, for example, block requests from specified IP addresses or block requests from specified referrers. You also associate the WebACL with a CloudFront distribution to identify the requests that you want AWS WAF to filter. If you add more than one Rule to a WebACL, a request needs to match only one of the specifications to be allowed, blocked, or counted. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-wafv2-webacl.html)" ] }, "Properties": { - "$ref": "resources/aws-connect-securitykey.json" + "$ref": "resources/aws-wafv2-webacl.json" } }, "required": [ @@ -6824,9 +6817,9 @@ ], "additionalProperties": false }, - "AWS_IoT_PolicyPrincipalAttachment": { + "AWS_CodePipeline_CustomActionType": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::IoT::PolicyPrincipalAttachment \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-policyprincipalattachment.html)", + "markdownDescription": "The AWS::CodePipeline::CustomActionType resource creates a custom action for activities that aren't included in the CodePipeline default actions, such as running an internally developed build process or a test suite. You can use these custom actions in the stage of a pipeline. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codepipeline-customactiontype.html)", "allOf": [ { "type": "object", @@ -6834,14 +6827,14 @@ "Type": { "type": "string", "enum": [ - "AWS::IoT::PolicyPrincipalAttachment" + "AWS::CodePipeline::CustomActionType" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::IoT::PolicyPrincipalAttachment \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-policyprincipalattachment.html)" + "The AWS::CodePipeline::CustomActionType resource creates a custom action for activities that aren't included in the CodePipeline default actions, such as running an internally developed build process or a test suite. You can use these custom actions in the stage of a pipeline. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codepipeline-customactiontype.html)" ] }, "Properties": { - "$ref": "resources/aws-iot-policyprincipalattachment.json" + "$ref": "resources/aws-codepipeline-customactiontype.json" } }, "required": [ @@ -6855,9 +6848,9 @@ ], "additionalProperties": false }, - "AWS_Timestream_Table": { + "AWS_KinesisVideo_SignalingChannel": { "type": "object", - "markdownDescription": "The AWS::Timestream::Table resource creates a Timestream Table. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-timestream-table.html)", + "markdownDescription": "Resource Type Definition for AWS::KinesisVideo::SignalingChannel \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kinesisvideo-signalingchannel.html)", "allOf": [ { "type": "object", @@ -6865,19 +6858,18 @@ "Type": { "type": "string", "enum": [ - "AWS::Timestream::Table" + "AWS::KinesisVideo::SignalingChannel" ], "markdownEnumDescriptions": [ - "The AWS::Timestream::Table resource creates a Timestream Table. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-timestream-table.html)" + "Resource Type Definition for AWS::KinesisVideo::SignalingChannel \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kinesisvideo-signalingchannel.html)" ] }, "Properties": { - "$ref": "resources/aws-timestream-table.json" + "$ref": "resources/aws-kinesisvideo-signalingchannel.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -6886,9 +6878,9 @@ ], "additionalProperties": false }, - "AWS_Inspector_AssessmentTemplate": { + "Alexa_ASK_Skill": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::Inspector::AssessmentTemplate \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-inspector-assessmenttemplate.html)", + "markdownDescription": "Resource Type definition for Alexa::ASK::Skill \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-alexa-ask-skill.html)", "allOf": [ { "type": "object", @@ -6896,14 +6888,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Inspector::AssessmentTemplate" + "Alexa::ASK::Skill" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::Inspector::AssessmentTemplate \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-inspector-assessmenttemplate.html)" + "Resource Type definition for Alexa::ASK::Skill \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-alexa-ask-skill.html)" ] }, "Properties": { - "$ref": "resources/aws-inspector-assessmenttemplate.json" + "$ref": "resources/alexa-ask-skill.json" } }, "required": [ @@ -6917,9 +6909,9 @@ ], "additionalProperties": false }, - "AWS_Route53Resolver_ResolverQueryLoggingConfig": { + "AWS_EKS_PodIdentityAssociation": { "type": "object", - "markdownDescription": "Resource schema for AWS::Route53Resolver::ResolverQueryLoggingConfig. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53resolver-resolverqueryloggingconfig.html)", + "markdownDescription": "An object representing an Amazon EKS PodIdentityAssociation. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-eks-podidentityassociation.html)", "allOf": [ { "type": "object", @@ -6927,18 +6919,19 @@ "Type": { "type": "string", "enum": [ - "AWS::Route53Resolver::ResolverQueryLoggingConfig" + "AWS::EKS::PodIdentityAssociation" ], "markdownEnumDescriptions": [ - "Resource schema for AWS::Route53Resolver::ResolverQueryLoggingConfig. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53resolver-resolverqueryloggingconfig.html)" + "An object representing an Amazon EKS PodIdentityAssociation. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-eks-podidentityassociation.html)" ] }, "Properties": { - "$ref": "resources/aws-route53resolver-resolverqueryloggingconfig.json" + "$ref": "resources/aws-eks-podidentityassociation.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -6947,9 +6940,9 @@ ], "additionalProperties": false }, - "AWS_ApiGateway_Model": { + "AWS_Inspector_ResourceGroup": { "type": "object", - "markdownDescription": "The ``AWS::ApiGateway::Model`` resource defines the structure of a request or response payload for an API method. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-model.html)", + "markdownDescription": "Resource Type definition for AWS::Inspector::ResourceGroup \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-inspector-resourcegroup.html)", "allOf": [ { "type": "object", @@ -6957,14 +6950,14 @@ "Type": { "type": "string", "enum": [ - "AWS::ApiGateway::Model" + "AWS::Inspector::ResourceGroup" ], "markdownEnumDescriptions": [ - "The ``AWS::ApiGateway::Model`` resource defines the structure of a request or response payload for an API method. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-model.html)" + "Resource Type definition for AWS::Inspector::ResourceGroup \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-inspector-resourcegroup.html)" ] }, "Properties": { - "$ref": "resources/aws-apigateway-model.json" + "$ref": "resources/aws-inspector-resourcegroup.json" } }, "required": [ @@ -6978,9 +6971,9 @@ ], "additionalProperties": false }, - "AWS_CloudFormation_ModuleDefaultVersion": { + "AWS_Greengrass_CoreDefinitionVersion": { "type": "object", - "markdownDescription": "A module that has been registered in the CloudFormation registry as the default version \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudformation-moduledefaultversion.html)", + "markdownDescription": "Resource Type definition for AWS::Greengrass::CoreDefinitionVersion \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-coredefinitionversion.html)", "allOf": [ { "type": "object", @@ -6988,18 +6981,19 @@ "Type": { "type": "string", "enum": [ - "AWS::CloudFormation::ModuleDefaultVersion" + "AWS::Greengrass::CoreDefinitionVersion" ], "markdownEnumDescriptions": [ - "A module that has been registered in the CloudFormation registry as the default version \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudformation-moduledefaultversion.html)" + "Resource Type definition for AWS::Greengrass::CoreDefinitionVersion \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-coredefinitionversion.html)" ] }, "Properties": { - "$ref": "resources/aws-cloudformation-moduledefaultversion.json" + "$ref": "resources/aws-greengrass-coredefinitionversion.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -7008,9 +7002,9 @@ ], "additionalProperties": false }, - "AWS_IoTTwinMaker_Scene": { + "AWS_ECS_PrimaryTaskSet": { "type": "object", - "markdownDescription": "Resource schema for AWS::IoTTwinMaker::Scene \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iottwinmaker-scene.html)", + "markdownDescription": "A pseudo-resource that manages which of your ECS task sets is primary. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ecs-primarytaskset.html)", "allOf": [ { "type": "object", @@ -7018,14 +7012,14 @@ "Type": { "type": "string", "enum": [ - "AWS::IoTTwinMaker::Scene" + "AWS::ECS::PrimaryTaskSet" ], "markdownEnumDescriptions": [ - "Resource schema for AWS::IoTTwinMaker::Scene \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iottwinmaker-scene.html)" + "A pseudo-resource that manages which of your ECS task sets is primary. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ecs-primarytaskset.html)" ] }, "Properties": { - "$ref": "resources/aws-iottwinmaker-scene.json" + "$ref": "resources/aws-ecs-primarytaskset.json" } }, "required": [ @@ -7039,9 +7033,9 @@ ], "additionalProperties": false }, - "AWS_SupportApp_AccountAlias": { + "AWS_AppConfig_Application": { "type": "object", - "markdownDescription": "An AWS Support App resource that creates, updates, reads, and deletes a customer's account alias. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-supportapp-accountalias.html)", + "markdownDescription": "Resource Type definition for AWS::AppConfig::Application \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appconfig-application.html)", "allOf": [ { "type": "object", @@ -7049,14 +7043,14 @@ "Type": { "type": "string", "enum": [ - "AWS::SupportApp::AccountAlias" + "AWS::AppConfig::Application" ], "markdownEnumDescriptions": [ - "An AWS Support App resource that creates, updates, reads, and deletes a customer's account alias. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-supportapp-accountalias.html)" + "Resource Type definition for AWS::AppConfig::Application \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appconfig-application.html)" ] }, "Properties": { - "$ref": "resources/aws-supportapp-accountalias.json" + "$ref": "resources/aws-appconfig-application.json" } }, "required": [ @@ -7070,9 +7064,9 @@ ], "additionalProperties": false }, - "AWS_SageMaker_DataQualityJobDefinition": { + "AWS_HealthLake_FHIRDatastore": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::SageMaker::DataQualityJobDefinition \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-dataqualityjobdefinition.html)", + "markdownDescription": "HealthLake FHIR Datastore \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-healthlake-fhirdatastore.html)", "allOf": [ { "type": "object", @@ -7080,14 +7074,14 @@ "Type": { "type": "string", "enum": [ - "AWS::SageMaker::DataQualityJobDefinition" + "AWS::HealthLake::FHIRDatastore" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::SageMaker::DataQualityJobDefinition \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-dataqualityjobdefinition.html)" + "HealthLake FHIR Datastore \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-healthlake-fhirdatastore.html)" ] }, "Properties": { - "$ref": "resources/aws-sagemaker-dataqualityjobdefinition.json" + "$ref": "resources/aws-healthlake-fhirdatastore.json" } }, "required": [ @@ -7101,9 +7095,9 @@ ], "additionalProperties": false }, - "AWS_VpcLattice_Service": { + "AWS_Cognito_IdentityPoolRoleAttachment": { "type": "object", - "markdownDescription": "A service is any software application that can run on instances containers, or serverless functions within an account or virtual private cloud (VPC). \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-vpclattice-service.html)", + "markdownDescription": "Resource Type definition for AWS::Cognito::IdentityPoolRoleAttachment \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-identitypoolroleattachment.html)", "allOf": [ { "type": "object", @@ -7111,18 +7105,19 @@ "Type": { "type": "string", "enum": [ - "AWS::VpcLattice::Service" + "AWS::Cognito::IdentityPoolRoleAttachment" ], "markdownEnumDescriptions": [ - "A service is any software application that can run on instances containers, or serverless functions within an account or virtual private cloud (VPC). \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-vpclattice-service.html)" + "Resource Type definition for AWS::Cognito::IdentityPoolRoleAttachment \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-identitypoolroleattachment.html)" ] }, "Properties": { - "$ref": "resources/aws-vpclattice-service.json" + "$ref": "resources/aws-cognito-identitypoolroleattachment.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -7131,9 +7126,9 @@ ], "additionalProperties": false }, - "AWS_AppRunner_Service": { + "AWS_RDS_DBClusterParameterGroup": { "type": "object", - "markdownDescription": "The AWS::AppRunner::Service resource specifies an AppRunner Service. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apprunner-service.html)", + "markdownDescription": "The ``AWS::RDS::DBClusterParameterGroup`` resource creates a new Amazon RDS DB cluster parameter group.\n For information about configuring parameters for Amazon Aurora DB clusters, see [Working with parameter groups](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/USER_WorkingWithParamGroups.html) in the *Amazon Aurora User Guide*.\n If you apply a parameter group to a DB cluster, then its DB instances might need to reboot. This can result in an outage while the DB instances are rebooting.\n If you apply a change to parameter group associated with a stopped DB cluster, then the updated stack waits until the DB cluster is started. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbclusterparametergroup.html)", "allOf": [ { "type": "object", @@ -7141,14 +7136,14 @@ "Type": { "type": "string", "enum": [ - "AWS::AppRunner::Service" + "AWS::RDS::DBClusterParameterGroup" ], "markdownEnumDescriptions": [ - "The AWS::AppRunner::Service resource specifies an AppRunner Service. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apprunner-service.html)" + "The ``AWS::RDS::DBClusterParameterGroup`` resource creates a new Amazon RDS DB cluster parameter group.\n For information about configuring parameters for Amazon Aurora DB clusters, see [Working with parameter groups](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/USER_WorkingWithParamGroups.html) in the *Amazon Aurora User Guide*.\n If you apply a parameter group to a DB cluster, then its DB instances might need to reboot. This can result in an outage while the DB instances are rebooting.\n If you apply a change to parameter group associated with a stopped DB cluster, then the updated stack waits until the DB cluster is started. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbclusterparametergroup.html)" ] }, "Properties": { - "$ref": "resources/aws-apprunner-service.json" + "$ref": "resources/aws-rds-dbclusterparametergroup.json" } }, "required": [ @@ -7162,9 +7157,9 @@ ], "additionalProperties": false }, - "AWS_EC2_NetworkInterface": { + "AWS_SecurityHub_DelegatedAdmin": { "type": "object", - "markdownDescription": "The AWS::EC2::NetworkInterface resource creates network interface \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-networkinterface.html)", + "markdownDescription": "The ``AWS::SecurityHub::DelegatedAdmin`` resource designates the delegated ASHlong administrator account for an organization. You must enable the integration between ASH and AOlong before you can designate a delegated ASH administrator. Only the management account for an organization can designate the delegated ASH administrator account. For more information, see [Designating the delegated administrator](https://docs.aws.amazon.com/securityhub/latest/userguide/designate-orgs-admin-account.html#designate-admin-instructions) in the *User Guide*.\n To change the delegated administrator account, remove the current delegated administrator account, and then designate the new account.\n To designate multiple delegated administrators in different organizations and AWS-Regions, we recommend using [mappings](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/mappings-section-structure.html).\n Tags aren't supported for this resource. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-securityhub-delegatedadmin.html)", "allOf": [ { "type": "object", @@ -7172,14 +7167,14 @@ "Type": { "type": "string", "enum": [ - "AWS::EC2::NetworkInterface" + "AWS::SecurityHub::DelegatedAdmin" ], "markdownEnumDescriptions": [ - "The AWS::EC2::NetworkInterface resource creates network interface \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-networkinterface.html)" + "The ``AWS::SecurityHub::DelegatedAdmin`` resource designates the delegated ASHlong administrator account for an organization. You must enable the integration between ASH and AOlong before you can designate a delegated ASH administrator. Only the management account for an organization can designate the delegated ASH administrator account. For more information, see [Designating the delegated administrator](https://docs.aws.amazon.com/securityhub/latest/userguide/designate-orgs-admin-account.html#designate-admin-instructions) in the *User Guide*.\n To change the delegated administrator account, remove the current delegated administrator account, and then designate the new account.\n To designate multiple delegated administrators in different organizations and AWS-Regions, we recommend using [mappings](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/mappings-section-structure.html).\n Tags aren't supported for this resource. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-securityhub-delegatedadmin.html)" ] }, "Properties": { - "$ref": "resources/aws-ec2-networkinterface.json" + "$ref": "resources/aws-securityhub-delegatedadmin.json" } }, "required": [ @@ -7193,9 +7188,9 @@ ], "additionalProperties": false }, - "AWS_SageMaker_EndpointConfig": { + "AWS_SageMaker_ImageVersion": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::SageMaker::EndpointConfig \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-endpointconfig.html)", + "markdownDescription": "Resource Type definition for AWS::SageMaker::ImageVersion \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-imageversion.html)", "allOf": [ { "type": "object", @@ -7203,14 +7198,14 @@ "Type": { "type": "string", "enum": [ - "AWS::SageMaker::EndpointConfig" + "AWS::SageMaker::ImageVersion" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::SageMaker::EndpointConfig \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-endpointconfig.html)" + "Resource Type definition for AWS::SageMaker::ImageVersion \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-imageversion.html)" ] }, "Properties": { - "$ref": "resources/aws-sagemaker-endpointconfig.json" + "$ref": "resources/aws-sagemaker-imageversion.json" } }, "required": [ @@ -7224,9 +7219,9 @@ ], "additionalProperties": false }, - "AWS_Greengrass_LoggerDefinitionVersion": { + "AWS_WorkSpaces_Workspace": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::Greengrass::LoggerDefinitionVersion \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-loggerdefinitionversion.html)", + "markdownDescription": "Resource Type definition for AWS::WorkSpaces::Workspace \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-workspaces-workspace.html)", "allOf": [ { "type": "object", @@ -7234,14 +7229,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Greengrass::LoggerDefinitionVersion" + "AWS::WorkSpaces::Workspace" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::Greengrass::LoggerDefinitionVersion \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-loggerdefinitionversion.html)" + "Resource Type definition for AWS::WorkSpaces::Workspace \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-workspaces-workspace.html)" ] }, "Properties": { - "$ref": "resources/aws-greengrass-loggerdefinitionversion.json" + "$ref": "resources/aws-workspaces-workspace.json" } }, "required": [ @@ -7255,9 +7250,9 @@ ], "additionalProperties": false }, - "AWS_Route53Resolver_OutpostResolver": { + "AWS_ApiGateway_GatewayResponse": { "type": "object", - "markdownDescription": "Resource schema for AWS::Route53Resolver::OutpostResolver. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53resolver-outpostresolver.html)", + "markdownDescription": "The ``AWS::ApiGateway::GatewayResponse`` resource creates a gateway response for your API. For more information, see [API Gateway Responses](https://docs.aws.amazon.com/apigateway/latest/developerguide/customize-gateway-responses.html#api-gateway-gatewayResponse-definition) in the *API Gateway Developer Guide*. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-gatewayresponse.html)", "allOf": [ { "type": "object", @@ -7265,14 +7260,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Route53Resolver::OutpostResolver" + "AWS::ApiGateway::GatewayResponse" ], "markdownEnumDescriptions": [ - "Resource schema for AWS::Route53Resolver::OutpostResolver. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53resolver-outpostresolver.html)" + "The ``AWS::ApiGateway::GatewayResponse`` resource creates a gateway response for your API. For more information, see [API Gateway Responses](https://docs.aws.amazon.com/apigateway/latest/developerguide/customize-gateway-responses.html#api-gateway-gatewayResponse-definition) in the *API Gateway Developer Guide*. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-gatewayresponse.html)" ] }, "Properties": { - "$ref": "resources/aws-route53resolver-outpostresolver.json" + "$ref": "resources/aws-apigateway-gatewayresponse.json" } }, "required": [ @@ -7286,9 +7281,9 @@ ], "additionalProperties": false }, - "AWS_QuickSight_RefreshSchedule": { + "AWS_Pinpoint_InAppTemplate": { "type": "object", - "markdownDescription": "Definition of the AWS::QuickSight::RefreshSchedule Resource Type. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-quicksight-refreshschedule.html)", + "markdownDescription": "Resource Type definition for AWS::Pinpoint::InAppTemplate \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-inapptemplate.html)", "allOf": [ { "type": "object", @@ -7296,18 +7291,19 @@ "Type": { "type": "string", "enum": [ - "AWS::QuickSight::RefreshSchedule" + "AWS::Pinpoint::InAppTemplate" ], "markdownEnumDescriptions": [ - "Definition of the AWS::QuickSight::RefreshSchedule Resource Type. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-quicksight-refreshschedule.html)" + "Resource Type definition for AWS::Pinpoint::InAppTemplate \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-inapptemplate.html)" ] }, "Properties": { - "$ref": "resources/aws-quicksight-refreshschedule.json" + "$ref": "resources/aws-pinpoint-inapptemplate.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -7316,9 +7312,9 @@ ], "additionalProperties": false }, - "AWS_MSK_ServerlessCluster": { + "AWS_SageMaker_CodeRepository": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::MSK::ServerlessCluster \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-msk-serverlesscluster.html)", + "markdownDescription": "Resource Type definition for AWS::SageMaker::CodeRepository \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-coderepository.html)", "allOf": [ { "type": "object", @@ -7326,14 +7322,14 @@ "Type": { "type": "string", "enum": [ - "AWS::MSK::ServerlessCluster" + "AWS::SageMaker::CodeRepository" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::MSK::ServerlessCluster \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-msk-serverlesscluster.html)" + "Resource Type definition for AWS::SageMaker::CodeRepository \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-coderepository.html)" ] }, "Properties": { - "$ref": "resources/aws-msk-serverlesscluster.json" + "$ref": "resources/aws-sagemaker-coderepository.json" } }, "required": [ @@ -7347,9 +7343,9 @@ ], "additionalProperties": false }, - "AWS_FMS_Policy": { + "AWS_DocDB_DBInstance": { "type": "object", - "markdownDescription": "Creates an AWS Firewall Manager policy. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-fms-policy.html)", + "markdownDescription": "Resource Type definition for AWS::DocDB::DBInstance \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-docdb-dbinstance.html)", "allOf": [ { "type": "object", @@ -7357,14 +7353,14 @@ "Type": { "type": "string", "enum": [ - "AWS::FMS::Policy" + "AWS::DocDB::DBInstance" ], "markdownEnumDescriptions": [ - "Creates an AWS Firewall Manager policy. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-fms-policy.html)" + "Resource Type definition for AWS::DocDB::DBInstance \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-docdb-dbinstance.html)" ] }, "Properties": { - "$ref": "resources/aws-fms-policy.json" + "$ref": "resources/aws-docdb-dbinstance.json" } }, "required": [ @@ -7378,9 +7374,9 @@ ], "additionalProperties": false }, - "AWS_ElasticLoadBalancingV2_LoadBalancer": { + "AWS_Deadline_Queue": { "type": "object", - "markdownDescription": "Specifies an Application Load Balancer, a Network Load Balancer, or a Gateway Load Balancer. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticloadbalancingv2-loadbalancer.html)", + "markdownDescription": "Definition of AWS::Deadline::Queue Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-deadline-queue.html)", "allOf": [ { "type": "object", @@ -7388,18 +7384,19 @@ "Type": { "type": "string", "enum": [ - "AWS::ElasticLoadBalancingV2::LoadBalancer" + "AWS::Deadline::Queue" ], "markdownEnumDescriptions": [ - "Specifies an Application Load Balancer, a Network Load Balancer, or a Gateway Load Balancer. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticloadbalancingv2-loadbalancer.html)" + "Definition of AWS::Deadline::Queue Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-deadline-queue.html)" ] }, "Properties": { - "$ref": "resources/aws-elasticloadbalancingv2-loadbalancer.json" + "$ref": "resources/aws-deadline-queue.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -7408,9 +7405,9 @@ ], "additionalProperties": false }, - "AWS_CloudFormation_WaitConditionHandle": { + "AWS_Athena_WorkGroup": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::CloudFormation::WaitConditionHandle \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudformation-waitconditionhandle.html)", + "markdownDescription": "Resource schema for AWS::Athena::WorkGroup \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-athena-workgroup.html)", "allOf": [ { "type": "object", @@ -7418,18 +7415,19 @@ "Type": { "type": "string", "enum": [ - "AWS::CloudFormation::WaitConditionHandle" + "AWS::Athena::WorkGroup" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::CloudFormation::WaitConditionHandle \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudformation-waitconditionhandle.html)" + "Resource schema for AWS::Athena::WorkGroup \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-athena-workgroup.html)" ] }, "Properties": { - "$ref": "resources/aws-cloudformation-waitconditionhandle.json" + "$ref": "resources/aws-athena-workgroup.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -7438,9 +7436,9 @@ ], "additionalProperties": false }, - "AWS_Route53RecoveryControl_SafetyRule": { + "AWS_DataSync_LocationNFS": { "type": "object", - "markdownDescription": "Resource schema for AWS Route53 Recovery Control basic constructs and validation rules. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53recoverycontrol-safetyrule.html)", + "markdownDescription": "Resource schema for AWS::DataSync::LocationNFS \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datasync-locationnfs.html)", "allOf": [ { "type": "object", @@ -7448,18 +7446,19 @@ "Type": { "type": "string", "enum": [ - "AWS::Route53RecoveryControl::SafetyRule" + "AWS::DataSync::LocationNFS" ], "markdownEnumDescriptions": [ - "Resource schema for AWS Route53 Recovery Control basic constructs and validation rules. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53recoverycontrol-safetyrule.html)" + "Resource schema for AWS::DataSync::LocationNFS \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datasync-locationnfs.html)" ] }, "Properties": { - "$ref": "resources/aws-route53recoverycontrol-safetyrule.json" + "$ref": "resources/aws-datasync-locationnfs.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -7468,9 +7467,9 @@ ], "additionalProperties": false }, - "AWS_MediaPackageV2_OriginEndpoint": { + "AWS_Greengrass_GroupVersion": { "type": "object", - "markdownDescription": "

Represents an origin endpoint that is associated with a channel, offering a dynamically repackaged version of its content through various streaming media protocols. The content can be efficiently disseminated to end-users via a Content Delivery Network (CDN), like Amazon CloudFront.

\n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediapackagev2-originendpoint.html)", + "markdownDescription": "Resource Type definition for AWS::Greengrass::GroupVersion \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-groupversion.html)", "allOf": [ { "type": "object", @@ -7478,14 +7477,14 @@ "Type": { "type": "string", "enum": [ - "AWS::MediaPackageV2::OriginEndpoint" + "AWS::Greengrass::GroupVersion" ], "markdownEnumDescriptions": [ - "

Represents an origin endpoint that is associated with a channel, offering a dynamically repackaged version of its content through various streaming media protocols. The content can be efficiently disseminated to end-users via a Content Delivery Network (CDN), like Amazon CloudFront.

\n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediapackagev2-originendpoint.html)" + "Resource Type definition for AWS::Greengrass::GroupVersion \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-groupversion.html)" ] }, "Properties": { - "$ref": "resources/aws-mediapackagev2-originendpoint.json" + "$ref": "resources/aws-greengrass-groupversion.json" } }, "required": [ @@ -7499,9 +7498,9 @@ ], "additionalProperties": false }, - "AWS_SageMaker_InferenceExperiment": { + "AWS_ServiceCatalog_PortfolioProductAssociation": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::SageMaker::InferenceExperiment \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-inferenceexperiment.html)", + "markdownDescription": "Resource Type definition for AWS::ServiceCatalog::PortfolioProductAssociation \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicecatalog-portfolioproductassociation.html)", "allOf": [ { "type": "object", @@ -7509,14 +7508,14 @@ "Type": { "type": "string", "enum": [ - "AWS::SageMaker::InferenceExperiment" + "AWS::ServiceCatalog::PortfolioProductAssociation" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::SageMaker::InferenceExperiment \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-inferenceexperiment.html)" + "Resource Type definition for AWS::ServiceCatalog::PortfolioProductAssociation \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicecatalog-portfolioproductassociation.html)" ] }, "Properties": { - "$ref": "resources/aws-sagemaker-inferenceexperiment.json" + "$ref": "resources/aws-servicecatalog-portfolioproductassociation.json" } }, "required": [ @@ -7530,9 +7529,9 @@ ], "additionalProperties": false }, - "AWS_MediaPackage_Asset": { + "AWS_RDS_OptionGroup": { "type": "object", - "markdownDescription": "Resource schema for AWS::MediaPackage::Asset \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediapackage-asset.html)", + "markdownDescription": "The ``AWS::RDS::OptionGroup`` resource creates or updates an option group, to enable and configure features that are specific to a particular DB engine. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-optiongroup.html)", "allOf": [ { "type": "object", @@ -7540,14 +7539,14 @@ "Type": { "type": "string", "enum": [ - "AWS::MediaPackage::Asset" + "AWS::RDS::OptionGroup" ], "markdownEnumDescriptions": [ - "Resource schema for AWS::MediaPackage::Asset \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediapackage-asset.html)" + "The ``AWS::RDS::OptionGroup`` resource creates or updates an option group, to enable and configure features that are specific to a particular DB engine. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-optiongroup.html)" ] }, "Properties": { - "$ref": "resources/aws-mediapackage-asset.json" + "$ref": "resources/aws-rds-optiongroup.json" } }, "required": [ @@ -7561,9 +7560,9 @@ ], "additionalProperties": false }, - "AWS_Connect_ContactFlowModule": { + "AWS_MediaConnect_FlowEntitlement": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::Connect::ContactFlowModule. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-connect-contactflowmodule.html)", + "markdownDescription": "Resource schema for AWS::MediaConnect::FlowEntitlement \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediaconnect-flowentitlement.html)", "allOf": [ { "type": "object", @@ -7571,14 +7570,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Connect::ContactFlowModule" + "AWS::MediaConnect::FlowEntitlement" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::Connect::ContactFlowModule. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-connect-contactflowmodule.html)" + "Resource schema for AWS::MediaConnect::FlowEntitlement \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediaconnect-flowentitlement.html)" ] }, "Properties": { - "$ref": "resources/aws-connect-contactflowmodule.json" + "$ref": "resources/aws-mediaconnect-flowentitlement.json" } }, "required": [ @@ -7592,9 +7591,9 @@ ], "additionalProperties": false }, - "AWS_FSx_DataRepositoryAssociation": { + "AWS_Glue_Trigger": { "type": "object", - "markdownDescription": "Creates an Amazon FSx for Lustre data repository association (DRA). A data repository association is a link between a directory on the file system and an Amazon S3 bucket or prefix. You can have a maximum of 8 data repository associations on a file system. Data repository associations are supported on all FSx for Lustre 2.12 and newer file systems, excluding ``scratch_1`` deployment type. \n Each data repository association must have a unique Amazon FSx file system directory and a unique S3 bucket or prefix associated with it. You can configure a data repository association for automatic import only, for automatic export only, or for both. To learn more about linking a data repository to your file system, see [Linking your file system to an S3 bucket](https://docs.aws.amazon.com/fsx/latest/LustreGuide/create-dra-linked-data-repo.html). \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-fsx-datarepositoryassociation.html)", + "markdownDescription": "Resource Type definition for AWS::Glue::Trigger \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-trigger.html)", "allOf": [ { "type": "object", @@ -7602,14 +7601,14 @@ "Type": { "type": "string", "enum": [ - "AWS::FSx::DataRepositoryAssociation" + "AWS::Glue::Trigger" ], "markdownEnumDescriptions": [ - "Creates an Amazon FSx for Lustre data repository association (DRA). A data repository association is a link between a directory on the file system and an Amazon S3 bucket or prefix. You can have a maximum of 8 data repository associations on a file system. Data repository associations are supported on all FSx for Lustre 2.12 and newer file systems, excluding ``scratch_1`` deployment type. \n Each data repository association must have a unique Amazon FSx file system directory and a unique S3 bucket or prefix associated with it. You can configure a data repository association for automatic import only, for automatic export only, or for both. To learn more about linking a data repository to your file system, see [Linking your file system to an S3 bucket](https://docs.aws.amazon.com/fsx/latest/LustreGuide/create-dra-linked-data-repo.html). \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-fsx-datarepositoryassociation.html)" + "Resource Type definition for AWS::Glue::Trigger \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-trigger.html)" ] }, "Properties": { - "$ref": "resources/aws-fsx-datarepositoryassociation.json" + "$ref": "resources/aws-glue-trigger.json" } }, "required": [ @@ -7623,9 +7622,9 @@ ], "additionalProperties": false }, - "AWS_EC2_SubnetRouteTableAssociation": { + "AWS_Omics_ReferenceStore": { "type": "object", - "markdownDescription": "Associates a subnet with a route table. The subnet and route table must be in the same VPC. This association causes traffic originating from the subnet to be routed according to the routes in the route table. A route table can be associated with multiple subnets. To create a route table, see [AWS::EC2::RouteTable](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-routetable.html). \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-subnetroutetableassociation.html)", + "markdownDescription": "Definition of AWS::Omics::ReferenceStore Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-omics-referencestore.html)", "allOf": [ { "type": "object", @@ -7633,14 +7632,14 @@ "Type": { "type": "string", "enum": [ - "AWS::EC2::SubnetRouteTableAssociation" + "AWS::Omics::ReferenceStore" ], "markdownEnumDescriptions": [ - "Associates a subnet with a route table. The subnet and route table must be in the same VPC. This association causes traffic originating from the subnet to be routed according to the routes in the route table. A route table can be associated with multiple subnets. To create a route table, see [AWS::EC2::RouteTable](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-routetable.html). \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-subnetroutetableassociation.html)" + "Definition of AWS::Omics::ReferenceStore Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-omics-referencestore.html)" ] }, "Properties": { - "$ref": "resources/aws-ec2-subnetroutetableassociation.json" + "$ref": "resources/aws-omics-referencestore.json" } }, "required": [ @@ -7654,9 +7653,9 @@ ], "additionalProperties": false }, - "AWS_MediaPackageV2_ChannelPolicy": { + "AWS_Lightsail_Bucket": { "type": "object", - "markdownDescription": "

Represents a resource-based policy that allows or denies access to a channel.

\n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediapackagev2-channelpolicy.html)", + "markdownDescription": "Resource Type definition for AWS::Lightsail::Bucket \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lightsail-bucket.html)", "allOf": [ { "type": "object", @@ -7664,14 +7663,14 @@ "Type": { "type": "string", "enum": [ - "AWS::MediaPackageV2::ChannelPolicy" + "AWS::Lightsail::Bucket" ], "markdownEnumDescriptions": [ - "

Represents a resource-based policy that allows or denies access to a channel.

\n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediapackagev2-channelpolicy.html)" + "Resource Type definition for AWS::Lightsail::Bucket \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lightsail-bucket.html)" ] }, "Properties": { - "$ref": "resources/aws-mediapackagev2-channelpolicy.json" + "$ref": "resources/aws-lightsail-bucket.json" } }, "required": [ @@ -7685,9 +7684,9 @@ ], "additionalProperties": false }, - "AWS_NetworkManager_ConnectPeer": { + "AWS_DocDB_EventSubscription": { "type": "object", - "markdownDescription": "AWS::NetworkManager::ConnectPeer Resource Type Definition. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkmanager-connectpeer.html)", + "markdownDescription": "Resource Type definition for AWS::DocDB::EventSubscription \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-docdb-eventsubscription.html)", "allOf": [ { "type": "object", @@ -7695,14 +7694,14 @@ "Type": { "type": "string", "enum": [ - "AWS::NetworkManager::ConnectPeer" + "AWS::DocDB::EventSubscription" ], "markdownEnumDescriptions": [ - "AWS::NetworkManager::ConnectPeer Resource Type Definition. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkmanager-connectpeer.html)" + "Resource Type definition for AWS::DocDB::EventSubscription \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-docdb-eventsubscription.html)" ] }, "Properties": { - "$ref": "resources/aws-networkmanager-connectpeer.json" + "$ref": "resources/aws-docdb-eventsubscription.json" } }, "required": [ @@ -7716,9 +7715,9 @@ ], "additionalProperties": false }, - "AWS_IoT_DomainConfiguration": { + "AWS_ServiceCatalogAppRegistry_AttributeGroup": { "type": "object", - "markdownDescription": "Create and manage a Domain Configuration \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-domainconfiguration.html)", + "markdownDescription": "Resource Schema for AWS::ServiceCatalogAppRegistry::AttributeGroup. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicecatalogappregistry-attributegroup.html)", "allOf": [ { "type": "object", @@ -7726,18 +7725,19 @@ "Type": { "type": "string", "enum": [ - "AWS::IoT::DomainConfiguration" + "AWS::ServiceCatalogAppRegistry::AttributeGroup" ], "markdownEnumDescriptions": [ - "Create and manage a Domain Configuration \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-domainconfiguration.html)" + "Resource Schema for AWS::ServiceCatalogAppRegistry::AttributeGroup. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicecatalogappregistry-attributegroup.html)" ] }, "Properties": { - "$ref": "resources/aws-iot-domainconfiguration.json" + "$ref": "resources/aws-servicecatalogappregistry-attributegroup.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -7746,9 +7746,9 @@ ], "additionalProperties": false }, - "AWS_ServiceDiscovery_PrivateDnsNamespace": { + "AWS_Greengrass_ConnectorDefinition": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::ServiceDiscovery::PrivateDnsNamespace \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicediscovery-privatednsnamespace.html)", + "markdownDescription": "Resource Type definition for AWS::Greengrass::ConnectorDefinition \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-connectordefinition.html)", "allOf": [ { "type": "object", @@ -7756,14 +7756,14 @@ "Type": { "type": "string", "enum": [ - "AWS::ServiceDiscovery::PrivateDnsNamespace" + "AWS::Greengrass::ConnectorDefinition" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::ServiceDiscovery::PrivateDnsNamespace \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicediscovery-privatednsnamespace.html)" + "Resource Type definition for AWS::Greengrass::ConnectorDefinition \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-connectordefinition.html)" ] }, "Properties": { - "$ref": "resources/aws-servicediscovery-privatednsnamespace.json" + "$ref": "resources/aws-greengrass-connectordefinition.json" } }, "required": [ @@ -7777,9 +7777,9 @@ ], "additionalProperties": false }, - "AWS_NetworkFirewall_FirewallPolicy": { + "AWS_SageMaker_App": { "type": "object", - "markdownDescription": "Resource type definition for AWS::NetworkFirewall::FirewallPolicy \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkfirewall-firewallpolicy.html)", + "markdownDescription": "Resource Type definition for AWS::SageMaker::App \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-app.html)", "allOf": [ { "type": "object", @@ -7787,14 +7787,14 @@ "Type": { "type": "string", "enum": [ - "AWS::NetworkFirewall::FirewallPolicy" + "AWS::SageMaker::App" ], "markdownEnumDescriptions": [ - "Resource type definition for AWS::NetworkFirewall::FirewallPolicy \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkfirewall-firewallpolicy.html)" + "Resource Type definition for AWS::SageMaker::App \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-app.html)" ] }, "Properties": { - "$ref": "resources/aws-networkfirewall-firewallpolicy.json" + "$ref": "resources/aws-sagemaker-app.json" } }, "required": [ @@ -7808,9 +7808,9 @@ ], "additionalProperties": false }, - "AWS_Amplify_App": { + "AWS_FraudDetector_EntityType": { "type": "object", - "markdownDescription": "The AWS::Amplify::App resource creates Apps in the Amplify Console. An App is a collection of branches. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-amplify-app.html)", + "markdownDescription": "An entity type for fraud detector. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-frauddetector-entitytype.html)", "allOf": [ { "type": "object", @@ -7818,14 +7818,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Amplify::App" + "AWS::FraudDetector::EntityType" ], "markdownEnumDescriptions": [ - "The AWS::Amplify::App resource creates Apps in the Amplify Console. An App is a collection of branches. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-amplify-app.html)" + "An entity type for fraud detector. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-frauddetector-entitytype.html)" ] }, "Properties": { - "$ref": "resources/aws-amplify-app.json" + "$ref": "resources/aws-frauddetector-entitytype.json" } }, "required": [ @@ -7839,9 +7839,9 @@ ], "additionalProperties": false }, - "AWS_ECS_TaskDefinition": { + "AWS_IoTEvents_DetectorModel": { "type": "object", - "markdownDescription": "Registers a new task definition from the supplied ``family`` and ``containerDefinitions``. Optionally, you can add data volumes to your containers with the ``volumes`` parameter. For more information about task definition parameters and defaults, see [Amazon ECS Task Definitions](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task_defintions.html) in the *Amazon Elastic Container Service Developer Guide*.\n You can specify a role for your task with the ``taskRoleArn`` parameter. When you specify a role for a task, its containers can then use the latest versions of the CLI or SDKs to make API requests to the AWS services that are specified in the policy that's associated with the role. For more information, see [IAM Roles for Tasks](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-iam-roles.html) in the *Amazon Elastic Container Service Developer Guide*.\n You can specify a Docker networking mode for the containers in your task definition with the ``networkMode`` parameter. If you specify the ``awsvpc`` network mode, the task is allocated an elastic network interface, and you must specify a [NetworkConfiguration](https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_NetworkConfiguration.html) when you create a service or run a task with the task definition. For more information, see [Task Networking](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-networking.html) in the *Amazon Elastic Container Service Developer Guide*.\n In the following example or examples, the Authorization header contents (``AUTHPARAMS``) must be replaced with an AWS Signature Version 4 signature. For more information, see [Signature Version 4 Signing Process](https://docs.aws.amazon.com/general/latest/gr/signature-version-4.html) in the *General Reference*.\n You only need to learn how to sign HTTP requests if you intend to create them manually. When you use the [](https://docs.aws.amazon.com/cli/) or one of the [SDKs](https://docs.aws.amazon.com/tools/) to make requests to AWS, these tools automatically sign the requests for you, with the access key that you specify when you configure the tools. When you use these tools, you don't have to sign requests yourself. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ecs-taskdefinition.html)", + "markdownDescription": "The AWS::IoTEvents::DetectorModel resource creates a detector model. You create a *detector model* (a model of your equipment or process) using *states*. For each state, you define conditional (Boolean) logic that evaluates the incoming inputs to detect significant events. When an event is detected, it can change the state or trigger custom-built or predefined actions using other AWS services. You can define additional events that trigger actions when entering or exiting a state and, optionally, when a condition is met. For more information, see [How to Use](https://docs.aws.amazon.com/iotevents/latest/developerguide/how-to-use-iotevents.html) in the *Developer Guide*.\n When you successfully update a detector model (using the ITE console, ITE API or CLI commands, or CFN) all detector instances created by the model are reset to their initial states. (The detector's ``state``, and the values of any variables and timers are reset.)\n When you successfully update a detector model (using the ITE console, ITE API or CLI commands, or CFN) the version number of the detector model is incremented. (A detector model with version number 1 before the update has version number 2 after the update succeeds.)\n If you attempt to update a detector model using CFN and the update does not succeed, the system may, in some cases, restore the original detector model. When this occurs, the detector model's version is incremented twice (for example, from version 1 to version 3) and the detector instances are reset.\n Also, be aware that if you attempt to update several detector models at once using CFN, some updates may succeed and others fail. In this case, the effects on each detector model's detector instances and version number depend on whether the update succeeded or failed, with the results as stated. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotevents-detectormodel.html)", "allOf": [ { "type": "object", @@ -7849,18 +7849,19 @@ "Type": { "type": "string", "enum": [ - "AWS::ECS::TaskDefinition" + "AWS::IoTEvents::DetectorModel" ], "markdownEnumDescriptions": [ - "Registers a new task definition from the supplied ``family`` and ``containerDefinitions``. Optionally, you can add data volumes to your containers with the ``volumes`` parameter. For more information about task definition parameters and defaults, see [Amazon ECS Task Definitions](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task_defintions.html) in the *Amazon Elastic Container Service Developer Guide*.\n You can specify a role for your task with the ``taskRoleArn`` parameter. When you specify a role for a task, its containers can then use the latest versions of the CLI or SDKs to make API requests to the AWS services that are specified in the policy that's associated with the role. For more information, see [IAM Roles for Tasks](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-iam-roles.html) in the *Amazon Elastic Container Service Developer Guide*.\n You can specify a Docker networking mode for the containers in your task definition with the ``networkMode`` parameter. If you specify the ``awsvpc`` network mode, the task is allocated an elastic network interface, and you must specify a [NetworkConfiguration](https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_NetworkConfiguration.html) when you create a service or run a task with the task definition. For more information, see [Task Networking](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-networking.html) in the *Amazon Elastic Container Service Developer Guide*.\n In the following example or examples, the Authorization header contents (``AUTHPARAMS``) must be replaced with an AWS Signature Version 4 signature. For more information, see [Signature Version 4 Signing Process](https://docs.aws.amazon.com/general/latest/gr/signature-version-4.html) in the *General Reference*.\n You only need to learn how to sign HTTP requests if you intend to create them manually. When you use the [](https://docs.aws.amazon.com/cli/) or one of the [SDKs](https://docs.aws.amazon.com/tools/) to make requests to AWS, these tools automatically sign the requests for you, with the access key that you specify when you configure the tools. When you use these tools, you don't have to sign requests yourself. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ecs-taskdefinition.html)" + "The AWS::IoTEvents::DetectorModel resource creates a detector model. You create a *detector model* (a model of your equipment or process) using *states*. For each state, you define conditional (Boolean) logic that evaluates the incoming inputs to detect significant events. When an event is detected, it can change the state or trigger custom-built or predefined actions using other AWS services. You can define additional events that trigger actions when entering or exiting a state and, optionally, when a condition is met. For more information, see [How to Use](https://docs.aws.amazon.com/iotevents/latest/developerguide/how-to-use-iotevents.html) in the *Developer Guide*.\n When you successfully update a detector model (using the ITE console, ITE API or CLI commands, or CFN) all detector instances created by the model are reset to their initial states. (The detector's ``state``, and the values of any variables and timers are reset.)\n When you successfully update a detector model (using the ITE console, ITE API or CLI commands, or CFN) the version number of the detector model is incremented. (A detector model with version number 1 before the update has version number 2 after the update succeeds.)\n If you attempt to update a detector model using CFN and the update does not succeed, the system may, in some cases, restore the original detector model. When this occurs, the detector model's version is incremented twice (for example, from version 1 to version 3) and the detector instances are reset.\n Also, be aware that if you attempt to update several detector models at once using CFN, some updates may succeed and others fail. In this case, the effects on each detector model's detector instances and version number depend on whether the update succeeded or failed, with the results as stated. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotevents-detectormodel.html)" ] }, "Properties": { - "$ref": "resources/aws-ecs-taskdefinition.json" + "$ref": "resources/aws-iotevents-detectormodel.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -7869,9 +7870,9 @@ ], "additionalProperties": false }, - "AWS_VpcLattice_Listener": { + "AWS_IVS_Stage": { "type": "object", - "markdownDescription": "Creates a listener for a service. Before you start using your Amazon VPC Lattice service, you must add one or more listeners. A listener is a process that checks for connection requests to your services. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-vpclattice-listener.html)", + "markdownDescription": "Resource Definition for type AWS::IVS::Stage. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ivs-stage.html)", "allOf": [ { "type": "object", @@ -7879,19 +7880,18 @@ "Type": { "type": "string", "enum": [ - "AWS::VpcLattice::Listener" + "AWS::IVS::Stage" ], "markdownEnumDescriptions": [ - "Creates a listener for a service. Before you start using your Amazon VPC Lattice service, you must add one or more listeners. A listener is a process that checks for connection requests to your services. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-vpclattice-listener.html)" + "Resource Definition for type AWS::IVS::Stage. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ivs-stage.html)" ] }, "Properties": { - "$ref": "resources/aws-vpclattice-listener.json" + "$ref": "resources/aws-ivs-stage.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -7900,9 +7900,9 @@ ], "additionalProperties": false }, - "AWS_DMS_ReplicationInstance": { + "AWS_SES_MailManagerRuleSet": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::DMS::ReplicationInstance \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dms-replicationinstance.html)", + "markdownDescription": "Definition of AWS::SES::MailManagerRuleSet Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ses-mailmanagerruleset.html)", "allOf": [ { "type": "object", @@ -7910,14 +7910,14 @@ "Type": { "type": "string", "enum": [ - "AWS::DMS::ReplicationInstance" + "AWS::SES::MailManagerRuleSet" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::DMS::ReplicationInstance \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dms-replicationinstance.html)" + "Definition of AWS::SES::MailManagerRuleSet Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ses-mailmanagerruleset.html)" ] }, "Properties": { - "$ref": "resources/aws-dms-replicationinstance.json" + "$ref": "resources/aws-ses-mailmanagerruleset.json" } }, "required": [ @@ -7931,9 +7931,9 @@ ], "additionalProperties": false }, - "AWS_SageMaker_Endpoint": { + "AWS_EMR_Cluster": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::SageMaker::Endpoint \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-endpoint.html)", + "markdownDescription": "Resource Type definition for AWS::EMR::Cluster \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-emr-cluster.html)", "allOf": [ { "type": "object", @@ -7941,14 +7941,14 @@ "Type": { "type": "string", "enum": [ - "AWS::SageMaker::Endpoint" + "AWS::EMR::Cluster" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::SageMaker::Endpoint \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-endpoint.html)" + "Resource Type definition for AWS::EMR::Cluster \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-emr-cluster.html)" ] }, "Properties": { - "$ref": "resources/aws-sagemaker-endpoint.json" + "$ref": "resources/aws-emr-cluster.json" } }, "required": [ @@ -7962,9 +7962,9 @@ ], "additionalProperties": false }, - "AWS_SageMaker_ModelQualityJobDefinition": { + "AWS_ResourceGroups_Group": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::SageMaker::ModelQualityJobDefinition \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-modelqualityjobdefinition.html)", + "markdownDescription": "Schema for ResourceGroups::Group \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-resourcegroups-group.html)", "allOf": [ { "type": "object", @@ -7972,14 +7972,14 @@ "Type": { "type": "string", "enum": [ - "AWS::SageMaker::ModelQualityJobDefinition" + "AWS::ResourceGroups::Group" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::SageMaker::ModelQualityJobDefinition \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-modelqualityjobdefinition.html)" + "Schema for ResourceGroups::Group \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-resourcegroups-group.html)" ] }, "Properties": { - "$ref": "resources/aws-sagemaker-modelqualityjobdefinition.json" + "$ref": "resources/aws-resourcegroups-group.json" } }, "required": [ @@ -7993,9 +7993,9 @@ ], "additionalProperties": false }, - "AWS_EntityResolution_IdNamespace": { + "AWS_FSx_DataRepositoryAssociation": { "type": "object", - "markdownDescription": "IdNamespace defined in AWS Entity Resolution service \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-entityresolution-idnamespace.html)", + "markdownDescription": "Creates an Amazon FSx for Lustre data repository association (DRA). A data repository association is a link between a directory on the file system and an Amazon S3 bucket or prefix. You can have a maximum of 8 data repository associations on a file system. Data repository associations are supported on all FSx for Lustre 2.12 and newer file systems, excluding ``scratch_1`` deployment type. \n Each data repository association must have a unique Amazon FSx file system directory and a unique S3 bucket or prefix associated with it. You can configure a data repository association for automatic import only, for automatic export only, or for both. To learn more about linking a data repository to your file system, see [Linking your file system to an S3 bucket](https://docs.aws.amazon.com/fsx/latest/LustreGuide/create-dra-linked-data-repo.html). \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-fsx-datarepositoryassociation.html)", "allOf": [ { "type": "object", @@ -8003,14 +8003,14 @@ "Type": { "type": "string", "enum": [ - "AWS::EntityResolution::IdNamespace" + "AWS::FSx::DataRepositoryAssociation" ], "markdownEnumDescriptions": [ - "IdNamespace defined in AWS Entity Resolution service \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-entityresolution-idnamespace.html)" + "Creates an Amazon FSx for Lustre data repository association (DRA). A data repository association is a link between a directory on the file system and an Amazon S3 bucket or prefix. You can have a maximum of 8 data repository associations on a file system. Data repository associations are supported on all FSx for Lustre 2.12 and newer file systems, excluding ``scratch_1`` deployment type. \n Each data repository association must have a unique Amazon FSx file system directory and a unique S3 bucket or prefix associated with it. You can configure a data repository association for automatic import only, for automatic export only, or for both. To learn more about linking a data repository to your file system, see [Linking your file system to an S3 bucket](https://docs.aws.amazon.com/fsx/latest/LustreGuide/create-dra-linked-data-repo.html). \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-fsx-datarepositoryassociation.html)" ] }, "Properties": { - "$ref": "resources/aws-entityresolution-idnamespace.json" + "$ref": "resources/aws-fsx-datarepositoryassociation.json" } }, "required": [ @@ -8024,9 +8024,9 @@ ], "additionalProperties": false }, - "AWS_Backup_ReportPlan": { + "AWS_EKS_Cluster": { "type": "object", - "markdownDescription": "Contains detailed information about a report plan in AWS Backup Audit Manager. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-backup-reportplan.html)", + "markdownDescription": "An object representing an Amazon EKS cluster. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-eks-cluster.html)", "allOf": [ { "type": "object", @@ -8034,14 +8034,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Backup::ReportPlan" + "AWS::EKS::Cluster" ], "markdownEnumDescriptions": [ - "Contains detailed information about a report plan in AWS Backup Audit Manager. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-backup-reportplan.html)" + "An object representing an Amazon EKS cluster. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-eks-cluster.html)" ] }, "Properties": { - "$ref": "resources/aws-backup-reportplan.json" + "$ref": "resources/aws-eks-cluster.json" } }, "required": [ @@ -8055,9 +8055,9 @@ ], "additionalProperties": false }, - "AWS_CertificateManager_Account": { + "AWS_ECR_RegistryPolicy": { "type": "object", - "markdownDescription": "Resource schema for AWS::CertificateManager::Account. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-certificatemanager-account.html)", + "markdownDescription": "The ``AWS::ECR::RegistryPolicy`` resource creates or updates the permissions policy for a private registry.\n A private registry policy is used to specify permissions for another AWS-account and is used when configuring cross-account replication. For more information, see [Registry permissions](https://docs.aws.amazon.com/AmazonECR/latest/userguide/registry-permissions.html) in the *Amazon Elastic Container Registry User Guide*. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ecr-registrypolicy.html)", "allOf": [ { "type": "object", @@ -8065,14 +8065,14 @@ "Type": { "type": "string", "enum": [ - "AWS::CertificateManager::Account" + "AWS::ECR::RegistryPolicy" ], "markdownEnumDescriptions": [ - "Resource schema for AWS::CertificateManager::Account. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-certificatemanager-account.html)" + "The ``AWS::ECR::RegistryPolicy`` resource creates or updates the permissions policy for a private registry.\n A private registry policy is used to specify permissions for another AWS-account and is used when configuring cross-account replication. For more information, see [Registry permissions](https://docs.aws.amazon.com/AmazonECR/latest/userguide/registry-permissions.html) in the *Amazon Elastic Container Registry User Guide*. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ecr-registrypolicy.html)" ] }, "Properties": { - "$ref": "resources/aws-certificatemanager-account.json" + "$ref": "resources/aws-ecr-registrypolicy.json" } }, "required": [ @@ -8086,9 +8086,9 @@ ], "additionalProperties": false }, - "AWS_SecurityHub_Insight": { + "AWS_Pinpoint_VoiceChannel": { "type": "object", - "markdownDescription": "The AWS::SecurityHub::Insight resource represents the AWS Security Hub Insight in your account. An AWS Security Hub insight is a collection of related findings. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-securityhub-insight.html)", + "markdownDescription": "Resource Type definition for AWS::Pinpoint::VoiceChannel \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-voicechannel.html)", "allOf": [ { "type": "object", @@ -8096,14 +8096,14 @@ "Type": { "type": "string", "enum": [ - "AWS::SecurityHub::Insight" + "AWS::Pinpoint::VoiceChannel" ], "markdownEnumDescriptions": [ - "The AWS::SecurityHub::Insight resource represents the AWS Security Hub Insight in your account. An AWS Security Hub insight is a collection of related findings. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-securityhub-insight.html)" + "Resource Type definition for AWS::Pinpoint::VoiceChannel \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-voicechannel.html)" ] }, "Properties": { - "$ref": "resources/aws-securityhub-insight.json" + "$ref": "resources/aws-pinpoint-voicechannel.json" } }, "required": [ @@ -8117,9 +8117,9 @@ ], "additionalProperties": false }, - "AWS_FraudDetector_EntityType": { + "AWS_Macie_FindingsFilter": { "type": "object", - "markdownDescription": "An entity type for fraud detector. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-frauddetector-entitytype.html)", + "markdownDescription": "Macie FindingsFilter resource schema. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-macie-findingsfilter.html)", "allOf": [ { "type": "object", @@ -8127,14 +8127,14 @@ "Type": { "type": "string", "enum": [ - "AWS::FraudDetector::EntityType" + "AWS::Macie::FindingsFilter" ], "markdownEnumDescriptions": [ - "An entity type for fraud detector. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-frauddetector-entitytype.html)" + "Macie FindingsFilter resource schema. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-macie-findingsfilter.html)" ] }, "Properties": { - "$ref": "resources/aws-frauddetector-entitytype.json" + "$ref": "resources/aws-macie-findingsfilter.json" } }, "required": [ @@ -8148,9 +8148,9 @@ ], "additionalProperties": false }, - "AWS_ElasticLoadBalancingV2_Listener": { + "AWS_VpcLattice_ResourcePolicy": { "type": "object", - "markdownDescription": "Specifies a listener for an Application Load Balancer, Network Load Balancer, or Gateway Load Balancer. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticloadbalancingv2-listener.html)", + "markdownDescription": "Retrieves information about the resource policy. The resource policy is an IAM policy created by AWS RAM on behalf of the resource owner when they share a resource. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-vpclattice-resourcepolicy.html)", "allOf": [ { "type": "object", @@ -8158,14 +8158,14 @@ "Type": { "type": "string", "enum": [ - "AWS::ElasticLoadBalancingV2::Listener" + "AWS::VpcLattice::ResourcePolicy" ], "markdownEnumDescriptions": [ - "Specifies a listener for an Application Load Balancer, Network Load Balancer, or Gateway Load Balancer. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticloadbalancingv2-listener.html)" + "Retrieves information about the resource policy. The resource policy is an IAM policy created by AWS RAM on behalf of the resource owner when they share a resource. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-vpclattice-resourcepolicy.html)" ] }, "Properties": { - "$ref": "resources/aws-elasticloadbalancingv2-listener.json" + "$ref": "resources/aws-vpclattice-resourcepolicy.json" } }, "required": [ @@ -8179,9 +8179,9 @@ ], "additionalProperties": false }, - "AWS_EC2_IPAM": { + "AWS_Glue_Classifier": { "type": "object", - "markdownDescription": "Resource Schema of AWS::EC2::IPAM Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-ipam.html)", + "markdownDescription": "Resource Type definition for AWS::Glue::Classifier \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-classifier.html)", "allOf": [ { "type": "object", @@ -8189,14 +8189,14 @@ "Type": { "type": "string", "enum": [ - "AWS::EC2::IPAM" + "AWS::Glue::Classifier" ], "markdownEnumDescriptions": [ - "Resource Schema of AWS::EC2::IPAM Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-ipam.html)" + "Resource Type definition for AWS::Glue::Classifier \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-classifier.html)" ] }, "Properties": { - "$ref": "resources/aws-ec2-ipam.json" + "$ref": "resources/aws-glue-classifier.json" } }, "required": [ @@ -8209,9 +8209,9 @@ ], "additionalProperties": false }, - "AWS_Connect_EvaluationForm": { + "AWS_Detective_Graph": { "type": "object", - "markdownDescription": "Creates an evaluation form for the specified CON instance. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-connect-evaluationform.html)", + "markdownDescription": "Resource schema for AWS::Detective::Graph \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-detective-graph.html)", "allOf": [ { "type": "object", @@ -8219,19 +8219,18 @@ "Type": { "type": "string", "enum": [ - "AWS::Connect::EvaluationForm" + "AWS::Detective::Graph" ], "markdownEnumDescriptions": [ - "Creates an evaluation form for the specified CON instance. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-connect-evaluationform.html)" + "Resource schema for AWS::Detective::Graph \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-detective-graph.html)" ] }, "Properties": { - "$ref": "resources/aws-connect-evaluationform.json" + "$ref": "resources/aws-detective-graph.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -8240,9 +8239,9 @@ ], "additionalProperties": false }, - "AWS_IoT_CustomMetric": { + "AWS_EC2_TrafficMirrorFilterRule": { "type": "object", - "markdownDescription": "A custom metric published by your devices to Device Defender. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-custommetric.html)", + "markdownDescription": "Resource Type definition for AWS::EC2::TrafficMirrorFilterRule \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-trafficmirrorfilterrule.html)", "allOf": [ { "type": "object", @@ -8250,14 +8249,14 @@ "Type": { "type": "string", "enum": [ - "AWS::IoT::CustomMetric" + "AWS::EC2::TrafficMirrorFilterRule" ], "markdownEnumDescriptions": [ - "A custom metric published by your devices to Device Defender. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-custommetric.html)" + "Resource Type definition for AWS::EC2::TrafficMirrorFilterRule \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-trafficmirrorfilterrule.html)" ] }, "Properties": { - "$ref": "resources/aws-iot-custommetric.json" + "$ref": "resources/aws-ec2-trafficmirrorfilterrule.json" } }, "required": [ @@ -8271,9 +8270,9 @@ ], "additionalProperties": false }, - "AWS_EMR_InstanceFleetConfig": { + "AWS_GuardDuty_IPSet": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::EMR::InstanceFleetConfig \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-emr-instancefleetconfig.html)", + "markdownDescription": "Resource Type definition for AWS::GuardDuty::IPSet \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-guardduty-ipset.html)", "allOf": [ { "type": "object", @@ -8281,14 +8280,14 @@ "Type": { "type": "string", "enum": [ - "AWS::EMR::InstanceFleetConfig" + "AWS::GuardDuty::IPSet" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::EMR::InstanceFleetConfig \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-emr-instancefleetconfig.html)" + "Resource Type definition for AWS::GuardDuty::IPSet \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-guardduty-ipset.html)" ] }, "Properties": { - "$ref": "resources/aws-emr-instancefleetconfig.json" + "$ref": "resources/aws-guardduty-ipset.json" } }, "required": [ @@ -8302,9 +8301,9 @@ ], "additionalProperties": false }, - "AWS_PCAConnectorAD_ServicePrincipalName": { + "AWS_Batch_JobDefinition": { "type": "object", - "markdownDescription": "Definition of AWS::PCAConnectorAD::ServicePrincipalName Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pcaconnectorad-serviceprincipalname.html)", + "markdownDescription": "Resource Type definition for AWS::Batch::JobDefinition \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-batch-jobdefinition.html)", "allOf": [ { "type": "object", @@ -8312,18 +8311,19 @@ "Type": { "type": "string", "enum": [ - "AWS::PCAConnectorAD::ServicePrincipalName" + "AWS::Batch::JobDefinition" ], "markdownEnumDescriptions": [ - "Definition of AWS::PCAConnectorAD::ServicePrincipalName Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pcaconnectorad-serviceprincipalname.html)" + "Resource Type definition for AWS::Batch::JobDefinition \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-batch-jobdefinition.html)" ] }, "Properties": { - "$ref": "resources/aws-pcaconnectorad-serviceprincipalname.json" + "$ref": "resources/aws-batch-jobdefinition.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -8332,9 +8332,9 @@ ], "additionalProperties": false }, - "AWS_MediaTailor_LiveSource": { + "AWS_FSx_Snapshot": { "type": "object", - "markdownDescription": "Definition of AWS::MediaTailor::LiveSource Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediatailor-livesource.html)", + "markdownDescription": "Resource Type definition for AWS::FSx::Snapshot \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-fsx-snapshot.html)", "allOf": [ { "type": "object", @@ -8342,14 +8342,14 @@ "Type": { "type": "string", "enum": [ - "AWS::MediaTailor::LiveSource" + "AWS::FSx::Snapshot" ], "markdownEnumDescriptions": [ - "Definition of AWS::MediaTailor::LiveSource Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediatailor-livesource.html)" + "Resource Type definition for AWS::FSx::Snapshot \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-fsx-snapshot.html)" ] }, "Properties": { - "$ref": "resources/aws-mediatailor-livesource.json" + "$ref": "resources/aws-fsx-snapshot.json" } }, "required": [ @@ -8363,9 +8363,9 @@ ], "additionalProperties": false }, - "AWS_IoTAnalytics_Datastore": { + "AWS_CloudFront_OriginAccessControl": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::IoTAnalytics::Datastore \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotanalytics-datastore.html)", + "markdownDescription": "Resource Type definition for AWS::CloudFront::OriginAccessControl \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudfront-originaccesscontrol.html)", "allOf": [ { "type": "object", @@ -8373,18 +8373,19 @@ "Type": { "type": "string", "enum": [ - "AWS::IoTAnalytics::Datastore" + "AWS::CloudFront::OriginAccessControl" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::IoTAnalytics::Datastore \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotanalytics-datastore.html)" + "Resource Type definition for AWS::CloudFront::OriginAccessControl \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudfront-originaccesscontrol.html)" ] }, "Properties": { - "$ref": "resources/aws-iotanalytics-datastore.json" + "$ref": "resources/aws-cloudfront-originaccesscontrol.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -8393,9 +8394,9 @@ ], "additionalProperties": false }, - "AWS_EC2_LocalGatewayRouteTableVirtualInterfaceGroupAssociation": { + "AWS_SSMContacts_Contact": { "type": "object", - "markdownDescription": "Describes a local gateway route table virtual interface group association for a local gateway. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-localgatewayroutetablevirtualinterfacegroupassociation.html)", + "markdownDescription": "Resource Type definition for AWS::SSMContacts::Contact \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssmcontacts-contact.html)", "allOf": [ { "type": "object", @@ -8403,14 +8404,14 @@ "Type": { "type": "string", "enum": [ - "AWS::EC2::LocalGatewayRouteTableVirtualInterfaceGroupAssociation" + "AWS::SSMContacts::Contact" ], "markdownEnumDescriptions": [ - "Describes a local gateway route table virtual interface group association for a local gateway. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-localgatewayroutetablevirtualinterfacegroupassociation.html)" + "Resource Type definition for AWS::SSMContacts::Contact \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssmcontacts-contact.html)" ] }, "Properties": { - "$ref": "resources/aws-ec2-localgatewayroutetablevirtualinterfacegroupassociation.json" + "$ref": "resources/aws-ssmcontacts-contact.json" } }, "required": [ @@ -8424,9 +8425,9 @@ ], "additionalProperties": false }, - "AWS_S3Express_DirectoryBucket": { + "AWS_AppRunner_Service": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::S3Express::DirectoryBucket. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-s3express-directorybucket.html)", + "markdownDescription": "The AWS::AppRunner::Service resource specifies an AppRunner Service. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apprunner-service.html)", "allOf": [ { "type": "object", @@ -8434,14 +8435,14 @@ "Type": { "type": "string", "enum": [ - "AWS::S3Express::DirectoryBucket" + "AWS::AppRunner::Service" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::S3Express::DirectoryBucket. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-s3express-directorybucket.html)" + "The AWS::AppRunner::Service resource specifies an AppRunner Service. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apprunner-service.html)" ] }, "Properties": { - "$ref": "resources/aws-s3express-directorybucket.json" + "$ref": "resources/aws-apprunner-service.json" } }, "required": [ @@ -8455,9 +8456,9 @@ ], "additionalProperties": false }, - "AWS_Lex_BotAlias": { + "AWS_Events_Connection": { "type": "object", - "markdownDescription": "A Bot Alias enables you to change the version of a bot without updating applications that use the bot \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lex-botalias.html)", + "markdownDescription": "Resource Type definition for AWS::Events::Connection. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-connection.html)", "allOf": [ { "type": "object", @@ -8465,19 +8466,18 @@ "Type": { "type": "string", "enum": [ - "AWS::Lex::BotAlias" + "AWS::Events::Connection" ], "markdownEnumDescriptions": [ - "A Bot Alias enables you to change the version of a bot without updating applications that use the bot \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lex-botalias.html)" + "Resource Type definition for AWS::Events::Connection. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-connection.html)" ] }, "Properties": { - "$ref": "resources/aws-lex-botalias.json" + "$ref": "resources/aws-events-connection.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -8486,9 +8486,9 @@ ], "additionalProperties": false }, - "AWS_IoT_Authorizer": { + "AWS_EC2_NetworkInsightsAnalysis": { "type": "object", - "markdownDescription": "Creates an authorizer. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-authorizer.html)", + "markdownDescription": "Resource schema for AWS::EC2::NetworkInsightsAnalysis \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-networkinsightsanalysis.html)", "allOf": [ { "type": "object", @@ -8496,14 +8496,14 @@ "Type": { "type": "string", "enum": [ - "AWS::IoT::Authorizer" + "AWS::EC2::NetworkInsightsAnalysis" ], "markdownEnumDescriptions": [ - "Creates an authorizer. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-authorizer.html)" + "Resource schema for AWS::EC2::NetworkInsightsAnalysis \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-networkinsightsanalysis.html)" ] }, "Properties": { - "$ref": "resources/aws-iot-authorizer.json" + "$ref": "resources/aws-ec2-networkinsightsanalysis.json" } }, "required": [ @@ -8517,9 +8517,9 @@ ], "additionalProperties": false }, - "AWS_Neptune_DBCluster": { + "AWS_WAF_ByteMatchSet": { "type": "object", - "markdownDescription": "The AWS::Neptune::DBCluster resource creates an Amazon Neptune DB cluster. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-neptune-dbcluster.html)", + "markdownDescription": "Resource Type definition for AWS::WAF::ByteMatchSet \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-waf-bytematchset.html)", "allOf": [ { "type": "object", @@ -8527,18 +8527,19 @@ "Type": { "type": "string", "enum": [ - "AWS::Neptune::DBCluster" + "AWS::WAF::ByteMatchSet" ], "markdownEnumDescriptions": [ - "The AWS::Neptune::DBCluster resource creates an Amazon Neptune DB cluster. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-neptune-dbcluster.html)" + "Resource Type definition for AWS::WAF::ByteMatchSet \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-waf-bytematchset.html)" ] }, "Properties": { - "$ref": "resources/aws-neptune-dbcluster.json" + "$ref": "resources/aws-waf-bytematchset.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -8547,9 +8548,9 @@ ], "additionalProperties": false }, - "AWS_MediaPackage_PackagingGroup": { + "AWS_CodeGuruProfiler_ProfilingGroup": { "type": "object", - "markdownDescription": "Resource schema for AWS::MediaPackage::PackagingGroup \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediapackage-packaginggroup.html)", + "markdownDescription": "This resource schema represents the Profiling Group resource in the Amazon CodeGuru Profiler service. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codeguruprofiler-profilinggroup.html)", "allOf": [ { "type": "object", @@ -8557,14 +8558,14 @@ "Type": { "type": "string", "enum": [ - "AWS::MediaPackage::PackagingGroup" + "AWS::CodeGuruProfiler::ProfilingGroup" ], "markdownEnumDescriptions": [ - "Resource schema for AWS::MediaPackage::PackagingGroup \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediapackage-packaginggroup.html)" + "This resource schema represents the Profiling Group resource in the Amazon CodeGuru Profiler service. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codeguruprofiler-profilinggroup.html)" ] }, "Properties": { - "$ref": "resources/aws-mediapackage-packaginggroup.json" + "$ref": "resources/aws-codeguruprofiler-profilinggroup.json" } }, "required": [ @@ -8578,9 +8579,9 @@ ], "additionalProperties": false }, - "AWS_CloudFormation_ResourceVersion": { + "AWS_CloudTrail_ResourcePolicy": { "type": "object", - "markdownDescription": "A resource that has been registered in the CloudFormation Registry. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudformation-resourceversion.html)", + "markdownDescription": "Resource Type definition for AWS::CloudTrail::ResourcePolicy \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudtrail-resourcepolicy.html)", "allOf": [ { "type": "object", @@ -8588,14 +8589,14 @@ "Type": { "type": "string", "enum": [ - "AWS::CloudFormation::ResourceVersion" + "AWS::CloudTrail::ResourcePolicy" ], "markdownEnumDescriptions": [ - "A resource that has been registered in the CloudFormation Registry. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudformation-resourceversion.html)" + "Resource Type definition for AWS::CloudTrail::ResourcePolicy \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudtrail-resourcepolicy.html)" ] }, "Properties": { - "$ref": "resources/aws-cloudformation-resourceversion.json" + "$ref": "resources/aws-cloudtrail-resourcepolicy.json" } }, "required": [ @@ -8609,9 +8610,9 @@ ], "additionalProperties": false }, - "AWS_Transfer_Certificate": { + "AWS_Pinpoint_PushTemplate": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::Transfer::Certificate \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-transfer-certificate.html)", + "markdownDescription": "Resource Type definition for AWS::Pinpoint::PushTemplate \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-pushtemplate.html)", "allOf": [ { "type": "object", @@ -8619,14 +8620,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Transfer::Certificate" + "AWS::Pinpoint::PushTemplate" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::Transfer::Certificate \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-transfer-certificate.html)" + "Resource Type definition for AWS::Pinpoint::PushTemplate \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-pushtemplate.html)" ] }, "Properties": { - "$ref": "resources/aws-transfer-certificate.json" + "$ref": "resources/aws-pinpoint-pushtemplate.json" } }, "required": [ @@ -8640,9 +8641,9 @@ ], "additionalProperties": false }, - "AWS_Events_Rule": { + "AWS_EC2_TransitGatewayAttachment": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::Events::Rule \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-rule.html)", + "markdownDescription": "Resource Type definition for AWS::EC2::TransitGatewayAttachment \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-transitgatewayattachment.html)", "allOf": [ { "type": "object", @@ -8650,18 +8651,19 @@ "Type": { "type": "string", "enum": [ - "AWS::Events::Rule" + "AWS::EC2::TransitGatewayAttachment" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::Events::Rule \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-rule.html)" + "Resource Type definition for AWS::EC2::TransitGatewayAttachment \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-transitgatewayattachment.html)" ] }, "Properties": { - "$ref": "resources/aws-events-rule.json" + "$ref": "resources/aws-ec2-transitgatewayattachment.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -8670,9 +8672,9 @@ ], "additionalProperties": false }, - "AWS_ServiceCatalog_PortfolioShare": { + "AWS_AppRunner_VpcIngressConnection": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::ServiceCatalog::PortfolioShare \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicecatalog-portfolioshare.html)", + "markdownDescription": "The AWS::AppRunner::VpcIngressConnection resource is an App Runner resource that specifies an App Runner VpcIngressConnection. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apprunner-vpcingressconnection.html)", "allOf": [ { "type": "object", @@ -8680,14 +8682,14 @@ "Type": { "type": "string", "enum": [ - "AWS::ServiceCatalog::PortfolioShare" + "AWS::AppRunner::VpcIngressConnection" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::ServiceCatalog::PortfolioShare \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicecatalog-portfolioshare.html)" + "The AWS::AppRunner::VpcIngressConnection resource is an App Runner resource that specifies an App Runner VpcIngressConnection. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apprunner-vpcingressconnection.html)" ] }, "Properties": { - "$ref": "resources/aws-servicecatalog-portfolioshare.json" + "$ref": "resources/aws-apprunner-vpcingressconnection.json" } }, "required": [ @@ -8701,9 +8703,9 @@ ], "additionalProperties": false }, - "AWS_AutoScalingPlans_ScalingPlan": { + "AWS_LaunchWizard_Deployment": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::AutoScalingPlans::ScalingPlan \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-autoscalingplans-scalingplan.html)", + "markdownDescription": "Definition of AWS::LaunchWizard::Deployment Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-launchwizard-deployment.html)", "allOf": [ { "type": "object", @@ -8711,14 +8713,14 @@ "Type": { "type": "string", "enum": [ - "AWS::AutoScalingPlans::ScalingPlan" + "AWS::LaunchWizard::Deployment" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::AutoScalingPlans::ScalingPlan \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-autoscalingplans-scalingplan.html)" + "Definition of AWS::LaunchWizard::Deployment Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-launchwizard-deployment.html)" ] }, "Properties": { - "$ref": "resources/aws-autoscalingplans-scalingplan.json" + "$ref": "resources/aws-launchwizard-deployment.json" } }, "required": [ @@ -8732,9 +8734,9 @@ ], "additionalProperties": false }, - "AWS_NetworkManager_CustomerGatewayAssociation": { + "AWS_AppFlow_Flow": { "type": "object", - "markdownDescription": "The AWS::NetworkManager::CustomerGatewayAssociation type associates a customer gateway with a device and optionally, with a link. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkmanager-customergatewayassociation.html)", + "markdownDescription": "Resource schema for AWS::AppFlow::Flow. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appflow-flow.html)", "allOf": [ { "type": "object", @@ -8742,14 +8744,14 @@ "Type": { "type": "string", "enum": [ - "AWS::NetworkManager::CustomerGatewayAssociation" + "AWS::AppFlow::Flow" ], "markdownEnumDescriptions": [ - "The AWS::NetworkManager::CustomerGatewayAssociation type associates a customer gateway with a device and optionally, with a link. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkmanager-customergatewayassociation.html)" + "Resource schema for AWS::AppFlow::Flow. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appflow-flow.html)" ] }, "Properties": { - "$ref": "resources/aws-networkmanager-customergatewayassociation.json" + "$ref": "resources/aws-appflow-flow.json" } }, "required": [ @@ -8763,9 +8765,9 @@ ], "additionalProperties": false }, - "AWS_FraudDetector_Detector": { + "AWS_SSO_Instance": { "type": "object", - "markdownDescription": "A resource schema for a Detector in Amazon Fraud Detector. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-frauddetector-detector.html)", + "markdownDescription": "Resource Type definition for Identity Center (SSO) Instance \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sso-instance.html)", "allOf": [ { "type": "object", @@ -8773,19 +8775,18 @@ "Type": { "type": "string", "enum": [ - "AWS::FraudDetector::Detector" + "AWS::SSO::Instance" ], "markdownEnumDescriptions": [ - "A resource schema for a Detector in Amazon Fraud Detector. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-frauddetector-detector.html)" + "Resource Type definition for Identity Center (SSO) Instance \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sso-instance.html)" ] }, "Properties": { - "$ref": "resources/aws-frauddetector-detector.json" + "$ref": "resources/aws-sso-instance.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -8794,9 +8795,9 @@ ], "additionalProperties": false }, - "AWS_SecurityLake_AwsLogSource": { + "AWS_CustomerProfiles_ObjectType": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::SecurityLake::AwsLogSource \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-securitylake-awslogsource.html)", + "markdownDescription": "An ObjectType resource of Amazon Connect Customer Profiles \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-customerprofiles-objecttype.html)", "allOf": [ { "type": "object", @@ -8804,14 +8805,14 @@ "Type": { "type": "string", "enum": [ - "AWS::SecurityLake::AwsLogSource" + "AWS::CustomerProfiles::ObjectType" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::SecurityLake::AwsLogSource \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-securitylake-awslogsource.html)" + "An ObjectType resource of Amazon Connect Customer Profiles \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-customerprofiles-objecttype.html)" ] }, "Properties": { - "$ref": "resources/aws-securitylake-awslogsource.json" + "$ref": "resources/aws-customerprofiles-objecttype.json" } }, "required": [ @@ -8825,9 +8826,9 @@ ], "additionalProperties": false }, - "AWS_AppSync_ApiKey": { + "AWS_ManagedBlockchain_Member": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::AppSync::ApiKey \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-apikey.html)", + "markdownDescription": "Resource Type definition for AWS::ManagedBlockchain::Member \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-managedblockchain-member.html)", "allOf": [ { "type": "object", @@ -8835,14 +8836,14 @@ "Type": { "type": "string", "enum": [ - "AWS::AppSync::ApiKey" + "AWS::ManagedBlockchain::Member" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::AppSync::ApiKey \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-apikey.html)" + "Resource Type definition for AWS::ManagedBlockchain::Member \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-managedblockchain-member.html)" ] }, "Properties": { - "$ref": "resources/aws-appsync-apikey.json" + "$ref": "resources/aws-managedblockchain-member.json" } }, "required": [ @@ -8856,9 +8857,9 @@ ], "additionalProperties": false }, - "AWS_RoboMaker_RobotApplication": { + "AWS_Connect_User": { "type": "object", - "markdownDescription": "This schema is for testing purpose only. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-robomaker-robotapplication.html)", + "markdownDescription": "Resource Type definition for AWS::Connect::User \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-connect-user.html)", "allOf": [ { "type": "object", @@ -8866,14 +8867,14 @@ "Type": { "type": "string", "enum": [ - "AWS::RoboMaker::RobotApplication" + "AWS::Connect::User" ], "markdownEnumDescriptions": [ - "This schema is for testing purpose only. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-robomaker-robotapplication.html)" + "Resource Type definition for AWS::Connect::User \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-connect-user.html)" ] }, "Properties": { - "$ref": "resources/aws-robomaker-robotapplication.json" + "$ref": "resources/aws-connect-user.json" } }, "required": [ @@ -8887,9 +8888,9 @@ ], "additionalProperties": false }, - "AWS_Transfer_Server": { + "AWS_DataZone_EnvironmentBlueprintConfiguration": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::Transfer::Server \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-transfer-server.html)", + "markdownDescription": "Definition of AWS::DataZone::EnvironmentBlueprintConfiguration Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datazone-environmentblueprintconfiguration.html)", "allOf": [ { "type": "object", @@ -8897,18 +8898,19 @@ "Type": { "type": "string", "enum": [ - "AWS::Transfer::Server" + "AWS::DataZone::EnvironmentBlueprintConfiguration" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::Transfer::Server \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-transfer-server.html)" + "Definition of AWS::DataZone::EnvironmentBlueprintConfiguration Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datazone-environmentblueprintconfiguration.html)" ] }, "Properties": { - "$ref": "resources/aws-transfer-server.json" + "$ref": "resources/aws-datazone-environmentblueprintconfiguration.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -8917,9 +8919,9 @@ ], "additionalProperties": false }, - "AWS_Connect_Rule": { + "AWS_Transfer_User": { "type": "object", - "markdownDescription": "Resource Type definition for AWS:Connect::Rule \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-connect-rule.html)", + "markdownDescription": "Definition of AWS::Transfer::User Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-transfer-user.html)", "allOf": [ { "type": "object", @@ -8927,14 +8929,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Connect::Rule" + "AWS::Transfer::User" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS:Connect::Rule \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-connect-rule.html)" + "Definition of AWS::Transfer::User Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-transfer-user.html)" ] }, "Properties": { - "$ref": "resources/aws-connect-rule.json" + "$ref": "resources/aws-transfer-user.json" } }, "required": [ @@ -8948,9 +8950,9 @@ ], "additionalProperties": false }, - "AWS_Route53Profiles_ProfileResourceAssociation": { + "AWS_EFS_AccessPoint": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::Route53Profiles::ProfileResourceAssociation \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53profiles-profileresourceassociation.html)", + "markdownDescription": "The ``AWS::EFS::AccessPoint`` resource creates an EFS access point. An access point is an application-specific view into an EFS file system that applies an operating system user and group, and a file system path, to any file system request made through the access point. The operating system user and group override any identity information provided by the NFS client. The file system path is exposed as the access point's root directory. Applications using the access point can only access data in its own directory and below. To learn more, see [Mounting a file system using EFS access points](https://docs.aws.amazon.com/efs/latest/ug/efs-access-points.html).\n This operation requires permissions for the ``elasticfilesystem:CreateAccessPoint`` action. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-efs-accesspoint.html)", "allOf": [ { "type": "object", @@ -8958,14 +8960,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Route53Profiles::ProfileResourceAssociation" + "AWS::EFS::AccessPoint" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::Route53Profiles::ProfileResourceAssociation \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53profiles-profileresourceassociation.html)" + "The ``AWS::EFS::AccessPoint`` resource creates an EFS access point. An access point is an application-specific view into an EFS file system that applies an operating system user and group, and a file system path, to any file system request made through the access point. The operating system user and group override any identity information provided by the NFS client. The file system path is exposed as the access point's root directory. Applications using the access point can only access data in its own directory and below. To learn more, see [Mounting a file system using EFS access points](https://docs.aws.amazon.com/efs/latest/ug/efs-access-points.html).\n This operation requires permissions for the ``elasticfilesystem:CreateAccessPoint`` action. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-efs-accesspoint.html)" ] }, "Properties": { - "$ref": "resources/aws-route53profiles-profileresourceassociation.json" + "$ref": "resources/aws-efs-accesspoint.json" } }, "required": [ @@ -8979,9 +8981,9 @@ ], "additionalProperties": false }, - "AWS_AppSync_FunctionConfiguration": { + "AWS_SageMaker_Image": { "type": "object", - "markdownDescription": "An example resource schema demonstrating some basic constructs and validation rules. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-functionconfiguration.html)", + "markdownDescription": "Resource Type definition for AWS::SageMaker::Image \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-image.html)", "allOf": [ { "type": "object", @@ -8989,14 +8991,14 @@ "Type": { "type": "string", "enum": [ - "AWS::AppSync::FunctionConfiguration" + "AWS::SageMaker::Image" ], "markdownEnumDescriptions": [ - "An example resource schema demonstrating some basic constructs and validation rules. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-functionconfiguration.html)" + "Resource Type definition for AWS::SageMaker::Image \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-image.html)" ] }, "Properties": { - "$ref": "resources/aws-appsync-functionconfiguration.json" + "$ref": "resources/aws-sagemaker-image.json" } }, "required": [ @@ -9010,9 +9012,9 @@ ], "additionalProperties": false }, - "AWS_SSO_ApplicationAssignment": { + "AWS_DataZone_UserProfile": { "type": "object", - "markdownDescription": "Resource Type definition for SSO application access grant to a user or group. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sso-applicationassignment.html)", + "markdownDescription": "A user profile represents Amazon DataZone users. Amazon DataZone supports both IAM roles and SSO identities to interact with the Amazon DataZone Management Console and the data portal for different purposes. Domain administrators use IAM roles to perform the initial administrative domain-related work in the Amazon DataZone Management Console, including creating new Amazon DataZone domains, configuring metadata form types, and implementing policies. Data workers use their SSO corporate identities via Identity Center to log into the Amazon DataZone Data Portal and access projects where they have memberships. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datazone-userprofile.html)", "allOf": [ { "type": "object", @@ -9020,14 +9022,14 @@ "Type": { "type": "string", "enum": [ - "AWS::SSO::ApplicationAssignment" + "AWS::DataZone::UserProfile" ], "markdownEnumDescriptions": [ - "Resource Type definition for SSO application access grant to a user or group. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sso-applicationassignment.html)" + "A user profile represents Amazon DataZone users. Amazon DataZone supports both IAM roles and SSO identities to interact with the Amazon DataZone Management Console and the data portal for different purposes. Domain administrators use IAM roles to perform the initial administrative domain-related work in the Amazon DataZone Management Console, including creating new Amazon DataZone domains, configuring metadata form types, and implementing policies. Data workers use their SSO corporate identities via Identity Center to log into the Amazon DataZone Data Portal and access projects where they have memberships. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datazone-userprofile.html)" ] }, "Properties": { - "$ref": "resources/aws-sso-applicationassignment.json" + "$ref": "resources/aws-datazone-userprofile.json" } }, "required": [ @@ -9041,9 +9043,9 @@ ], "additionalProperties": false }, - "AWS_EC2_LocalGatewayRoute": { + "AWS_Cognito_IdentityPoolPrincipalTag": { "type": "object", - "markdownDescription": "Describes a route for a local gateway route table. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-localgatewayroute.html)", + "markdownDescription": "Resource Type definition for AWS::Cognito::IdentityPoolPrincipalTag \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-identitypoolprincipaltag.html)", "allOf": [ { "type": "object", @@ -9051,18 +9053,19 @@ "Type": { "type": "string", "enum": [ - "AWS::EC2::LocalGatewayRoute" + "AWS::Cognito::IdentityPoolPrincipalTag" ], "markdownEnumDescriptions": [ - "Describes a route for a local gateway route table. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-localgatewayroute.html)" + "Resource Type definition for AWS::Cognito::IdentityPoolPrincipalTag \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-identitypoolprincipaltag.html)" ] }, "Properties": { - "$ref": "resources/aws-ec2-localgatewayroute.json" + "$ref": "resources/aws-cognito-identitypoolprincipaltag.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -9071,9 +9074,9 @@ ], "additionalProperties": false }, - "AWS_LakeFormation_PrincipalPermissions": { + "AWS_AppStream_AppBlock": { "type": "object", - "markdownDescription": "The ``AWS::LakeFormation::PrincipalPermissions`` resource represents the permissions that a principal has on a GLUDC resource (such as GLUlong databases or GLUlong tables). When you create a ``PrincipalPermissions`` resource, the permissions are granted via the LFlong ``GrantPermissions`` API operation. When you delete a ``PrincipalPermissions`` resource, the permissions on principal-resource pair are revoked via the LFlong ``RevokePermissions`` API operation. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lakeformation-principalpermissions.html)", + "markdownDescription": "Resource Type definition for AWS::AppStream::AppBlock \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appstream-appblock.html)", "allOf": [ { "type": "object", @@ -9081,14 +9084,14 @@ "Type": { "type": "string", "enum": [ - "AWS::LakeFormation::PrincipalPermissions" + "AWS::AppStream::AppBlock" ], "markdownEnumDescriptions": [ - "The ``AWS::LakeFormation::PrincipalPermissions`` resource represents the permissions that a principal has on a GLUDC resource (such as GLUlong databases or GLUlong tables). When you create a ``PrincipalPermissions`` resource, the permissions are granted via the LFlong ``GrantPermissions`` API operation. When you delete a ``PrincipalPermissions`` resource, the permissions on principal-resource pair are revoked via the LFlong ``RevokePermissions`` API operation. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lakeformation-principalpermissions.html)" + "Resource Type definition for AWS::AppStream::AppBlock \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appstream-appblock.html)" ] }, "Properties": { - "$ref": "resources/aws-lakeformation-principalpermissions.json" + "$ref": "resources/aws-appstream-appblock.json" } }, "required": [ @@ -9102,9 +9105,9 @@ ], "additionalProperties": false }, - "AWS_FSx_Snapshot": { + "AWS_MediaLive_CloudWatchAlarmTemplateGroup": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::FSx::Snapshot \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-fsx-snapshot.html)", + "markdownDescription": "Definition of AWS::MediaLive::CloudWatchAlarmTemplateGroup Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-medialive-cloudwatchalarmtemplategroup.html)", "allOf": [ { "type": "object", @@ -9112,14 +9115,14 @@ "Type": { "type": "string", "enum": [ - "AWS::FSx::Snapshot" + "AWS::MediaLive::CloudWatchAlarmTemplateGroup" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::FSx::Snapshot \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-fsx-snapshot.html)" + "Definition of AWS::MediaLive::CloudWatchAlarmTemplateGroup Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-medialive-cloudwatchalarmtemplategroup.html)" ] }, "Properties": { - "$ref": "resources/aws-fsx-snapshot.json" + "$ref": "resources/aws-medialive-cloudwatchalarmtemplategroup.json" } }, "required": [ @@ -9133,9 +9136,9 @@ ], "additionalProperties": false }, - "AWS_EC2_EIPAssociation": { + "AWS_IoTWireless_FuotaTask": { "type": "object", - "markdownDescription": "Associates an Elastic IP address with an instance or a network interface. Before you can use an Elastic IP address, you must allocate it to your account. For more information about working with Elastic IP addresses, see [Elastic IP address concepts and rules](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-eips.html#vpc-eip-overview).\n You must specify ``AllocationId`` and either ``InstanceId``, ``NetworkInterfaceId``, or ``PrivateIpAddress``. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-eipassociation.html)", + "markdownDescription": "Create and manage FUOTA tasks. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotwireless-fuotatask.html)", "allOf": [ { "type": "object", @@ -9143,18 +9146,19 @@ "Type": { "type": "string", "enum": [ - "AWS::EC2::EIPAssociation" + "AWS::IoTWireless::FuotaTask" ], "markdownEnumDescriptions": [ - "Associates an Elastic IP address with an instance or a network interface. Before you can use an Elastic IP address, you must allocate it to your account. For more information about working with Elastic IP addresses, see [Elastic IP address concepts and rules](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-eips.html#vpc-eip-overview).\n You must specify ``AllocationId`` and either ``InstanceId``, ``NetworkInterfaceId``, or ``PrivateIpAddress``. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-eipassociation.html)" + "Create and manage FUOTA tasks. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotwireless-fuotatask.html)" ] }, "Properties": { - "$ref": "resources/aws-ec2-eipassociation.json" + "$ref": "resources/aws-iotwireless-fuotatask.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -9163,9 +9167,9 @@ ], "additionalProperties": false }, - "AWS_EC2_IPAMResourceDiscoveryAssociation": { + "AWS_QBusiness_Retriever": { "type": "object", - "markdownDescription": "Resource Schema of AWS::EC2::IPAMResourceDiscoveryAssociation Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-ipamresourcediscoveryassociation.html)", + "markdownDescription": "Definition of AWS::QBusiness::Retriever Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-qbusiness-retriever.html)", "allOf": [ { "type": "object", @@ -9173,14 +9177,14 @@ "Type": { "type": "string", "enum": [ - "AWS::EC2::IPAMResourceDiscoveryAssociation" + "AWS::QBusiness::Retriever" ], "markdownEnumDescriptions": [ - "Resource Schema of AWS::EC2::IPAMResourceDiscoveryAssociation Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-ipamresourcediscoveryassociation.html)" + "Definition of AWS::QBusiness::Retriever Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-qbusiness-retriever.html)" ] }, "Properties": { - "$ref": "resources/aws-ec2-ipamresourcediscoveryassociation.json" + "$ref": "resources/aws-qbusiness-retriever.json" } }, "required": [ @@ -9194,9 +9198,9 @@ ], "additionalProperties": false }, - "AWS_MSK_VpcConnection": { + "AWS_DataBrew_Dataset": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::MSK::VpcConnection \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-msk-vpcconnection.html)", + "markdownDescription": "Resource schema for AWS::DataBrew::Dataset. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-databrew-dataset.html)", "allOf": [ { "type": "object", @@ -9204,14 +9208,14 @@ "Type": { "type": "string", "enum": [ - "AWS::MSK::VpcConnection" + "AWS::DataBrew::Dataset" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::MSK::VpcConnection \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-msk-vpcconnection.html)" + "Resource schema for AWS::DataBrew::Dataset. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-databrew-dataset.html)" ] }, "Properties": { - "$ref": "resources/aws-msk-vpcconnection.json" + "$ref": "resources/aws-databrew-dataset.json" } }, "required": [ @@ -9225,9 +9229,9 @@ ], "additionalProperties": false }, - "AWS_LookoutMetrics_Alert": { + "AWS_GameLift_Alias": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::LookoutMetrics::Alert \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lookoutmetrics-alert.html)", + "markdownDescription": "The AWS::GameLift::Alias resource creates an alias for an Amazon GameLift (GameLift) fleet destination. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-gamelift-alias.html)", "allOf": [ { "type": "object", @@ -9235,14 +9239,14 @@ "Type": { "type": "string", "enum": [ - "AWS::LookoutMetrics::Alert" + "AWS::GameLift::Alias" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::LookoutMetrics::Alert \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lookoutmetrics-alert.html)" + "The AWS::GameLift::Alias resource creates an alias for an Amazon GameLift (GameLift) fleet destination. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-gamelift-alias.html)" ] }, "Properties": { - "$ref": "resources/aws-lookoutmetrics-alert.json" + "$ref": "resources/aws-gamelift-alias.json" } }, "required": [ @@ -9256,9 +9260,9 @@ ], "additionalProperties": false }, - "AWS_CloudFormation_PublicTypeVersion": { + "AWS_Redshift_ClusterSubnetGroup": { "type": "object", - "markdownDescription": "Test and Publish a resource that has been registered in the CloudFormation Registry. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudformation-publictypeversion.html)", + "markdownDescription": "Specifies an Amazon Redshift subnet group. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-redshift-clustersubnetgroup.html)", "allOf": [ { "type": "object", @@ -9266,18 +9270,19 @@ "Type": { "type": "string", "enum": [ - "AWS::CloudFormation::PublicTypeVersion" + "AWS::Redshift::ClusterSubnetGroup" ], "markdownEnumDescriptions": [ - "Test and Publish a resource that has been registered in the CloudFormation Registry. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudformation-publictypeversion.html)" + "Specifies an Amazon Redshift subnet group. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-redshift-clustersubnetgroup.html)" ] }, "Properties": { - "$ref": "resources/aws-cloudformation-publictypeversion.json" + "$ref": "resources/aws-redshift-clustersubnetgroup.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -9286,9 +9291,9 @@ ], "additionalProperties": false }, - "AWS_DataSync_LocationSMB": { + "AWS_Cognito_UserPoolClient": { "type": "object", - "markdownDescription": "Resource schema for AWS::DataSync::LocationSMB. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datasync-locationsmb.html)", + "markdownDescription": "Resource Type definition for AWS::Cognito::UserPoolClient \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpoolclient.html)", "allOf": [ { "type": "object", @@ -9296,14 +9301,14 @@ "Type": { "type": "string", "enum": [ - "AWS::DataSync::LocationSMB" + "AWS::Cognito::UserPoolClient" ], "markdownEnumDescriptions": [ - "Resource schema for AWS::DataSync::LocationSMB. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datasync-locationsmb.html)" + "Resource Type definition for AWS::Cognito::UserPoolClient \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpoolclient.html)" ] }, "Properties": { - "$ref": "resources/aws-datasync-locationsmb.json" + "$ref": "resources/aws-cognito-userpoolclient.json" } }, "required": [ @@ -9317,9 +9322,9 @@ ], "additionalProperties": false }, - "AWS_DataZone_GroupProfile": { + "AWS_MediaConnect_Gateway": { "type": "object", - "markdownDescription": "Group profiles represent groups of Amazon DataZone users. Groups can be manually created, or mapped to Active Directory groups of enterprise customers. In Amazon DataZone, groups serve two purposes. First, a group can map to a team of users in the organizational chart, and thus reduce the administrative work of a Amazon DataZone project owner when there are new employees joining or leaving a team. Second, corporate administrators use Active Directory groups to manage and update user statuses and so Amazon DataZone domain administrators can use these group memberships to implement Amazon DataZone domain policies. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datazone-groupprofile.html)", + "markdownDescription": "Resource schema for AWS::MediaConnect::Gateway \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediaconnect-gateway.html)", "allOf": [ { "type": "object", @@ -9327,14 +9332,14 @@ "Type": { "type": "string", "enum": [ - "AWS::DataZone::GroupProfile" + "AWS::MediaConnect::Gateway" ], "markdownEnumDescriptions": [ - "Group profiles represent groups of Amazon DataZone users. Groups can be manually created, or mapped to Active Directory groups of enterprise customers. In Amazon DataZone, groups serve two purposes. First, a group can map to a team of users in the organizational chart, and thus reduce the administrative work of a Amazon DataZone project owner when there are new employees joining or leaving a team. Second, corporate administrators use Active Directory groups to manage and update user statuses and so Amazon DataZone domain administrators can use these group memberships to implement Amazon DataZone domain policies. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datazone-groupprofile.html)" + "Resource schema for AWS::MediaConnect::Gateway \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediaconnect-gateway.html)" ] }, "Properties": { - "$ref": "resources/aws-datazone-groupprofile.json" + "$ref": "resources/aws-mediaconnect-gateway.json" } }, "required": [ @@ -9348,9 +9353,9 @@ ], "additionalProperties": false }, - "AWS_ECR_Repository": { + "AWS_ApiGateway_DomainName": { "type": "object", - "markdownDescription": "The ``AWS::ECR::Repository`` resource specifies an Amazon Elastic Container Registry (Amazon ECR) repository, where users can push and pull Docker images, Open Container Initiative (OCI) images, and OCI compatible artifacts. For more information, see [Amazon ECR private repositories](https://docs.aws.amazon.com/AmazonECR/latest/userguide/Repositories.html) in the *Amazon ECR User Guide*. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ecr-repository.html)", + "markdownDescription": "Resource Type definition for AWS::ApiGateway::DomainName. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-domainname.html)", "allOf": [ { "type": "object", @@ -9358,14 +9363,14 @@ "Type": { "type": "string", "enum": [ - "AWS::ECR::Repository" + "AWS::ApiGateway::DomainName" ], "markdownEnumDescriptions": [ - "The ``AWS::ECR::Repository`` resource specifies an Amazon Elastic Container Registry (Amazon ECR) repository, where users can push and pull Docker images, Open Container Initiative (OCI) images, and OCI compatible artifacts. For more information, see [Amazon ECR private repositories](https://docs.aws.amazon.com/AmazonECR/latest/userguide/Repositories.html) in the *Amazon ECR User Guide*. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ecr-repository.html)" + "Resource Type definition for AWS::ApiGateway::DomainName. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-domainname.html)" ] }, "Properties": { - "$ref": "resources/aws-ecr-repository.json" + "$ref": "resources/aws-apigateway-domainname.json" } }, "required": [ @@ -9378,9 +9383,9 @@ ], "additionalProperties": false }, - "AWS_Shield_ProtectionGroup": { + "AWS_ApiGateway_RestApi": { "type": "object", - "markdownDescription": "A grouping of protected resources so they can be handled as a collective. This resource grouping improves the accuracy of detection and reduces false positives. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-shield-protectiongroup.html)", + "markdownDescription": "The ``AWS::ApiGateway::RestApi`` resource creates a REST API. For more information, see [restapi:create](https://docs.aws.amazon.com/apigateway/latest/api/API_CreateRestApi.html) in the *Amazon API Gateway REST API Reference*.\n On January 1, 2016, the Swagger Specification was donated to the [OpenAPI initiative](https://docs.aws.amazon.com/https://www.openapis.org/), becoming the foundation of the OpenAPI Specification. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-restapi.html)", "allOf": [ { "type": "object", @@ -9388,19 +9393,18 @@ "Type": { "type": "string", "enum": [ - "AWS::Shield::ProtectionGroup" + "AWS::ApiGateway::RestApi" ], "markdownEnumDescriptions": [ - "A grouping of protected resources so they can be handled as a collective. This resource grouping improves the accuracy of detection and reduces false positives. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-shield-protectiongroup.html)" + "The ``AWS::ApiGateway::RestApi`` resource creates a REST API. For more information, see [restapi:create](https://docs.aws.amazon.com/apigateway/latest/api/API_CreateRestApi.html) in the *Amazon API Gateway REST API Reference*.\n On January 1, 2016, the Swagger Specification was donated to the [OpenAPI initiative](https://docs.aws.amazon.com/https://www.openapis.org/), becoming the foundation of the OpenAPI Specification. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-restapi.html)" ] }, "Properties": { - "$ref": "resources/aws-shield-protectiongroup.json" + "$ref": "resources/aws-apigateway-restapi.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -9409,9 +9413,9 @@ ], "additionalProperties": false }, - "AWS_DevOpsGuru_LogAnomalyDetectionIntegration": { + "AWS_S3Outposts_BucketPolicy": { "type": "object", - "markdownDescription": "This resource schema represents the LogAnomalyDetectionIntegration resource in the Amazon DevOps Guru. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-devopsguru-loganomalydetectionintegration.html)", + "markdownDescription": "Resource Type Definition for AWS::S3Outposts::BucketPolicy \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-s3outposts-bucketpolicy.html)", "allOf": [ { "type": "object", @@ -9419,18 +9423,19 @@ "Type": { "type": "string", "enum": [ - "AWS::DevOpsGuru::LogAnomalyDetectionIntegration" + "AWS::S3Outposts::BucketPolicy" ], "markdownEnumDescriptions": [ - "This resource schema represents the LogAnomalyDetectionIntegration resource in the Amazon DevOps Guru. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-devopsguru-loganomalydetectionintegration.html)" + "Resource Type Definition for AWS::S3Outposts::BucketPolicy \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-s3outposts-bucketpolicy.html)" ] }, "Properties": { - "$ref": "resources/aws-devopsguru-loganomalydetectionintegration.json" + "$ref": "resources/aws-s3outposts-bucketpolicy.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -9439,9 +9444,9 @@ ], "additionalProperties": false }, - "AWS_IoTWireless_WirelessDevice": { + "AWS_IoTAnalytics_Channel": { "type": "object", - "markdownDescription": "Create and manage wireless gateways, including LoRa gateways. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotwireless-wirelessdevice.html)", + "markdownDescription": "Resource Type definition for AWS::IoTAnalytics::Channel \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotanalytics-channel.html)", "allOf": [ { "type": "object", @@ -9449,19 +9454,18 @@ "Type": { "type": "string", "enum": [ - "AWS::IoTWireless::WirelessDevice" + "AWS::IoTAnalytics::Channel" ], "markdownEnumDescriptions": [ - "Create and manage wireless gateways, including LoRa gateways. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotwireless-wirelessdevice.html)" + "Resource Type definition for AWS::IoTAnalytics::Channel \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotanalytics-channel.html)" ] }, "Properties": { - "$ref": "resources/aws-iotwireless-wirelessdevice.json" + "$ref": "resources/aws-iotanalytics-channel.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -9470,9 +9474,9 @@ ], "additionalProperties": false }, - "AWS_EFS_MountTarget": { + "AWS_Timestream_ScheduledQuery": { "type": "object", - "markdownDescription": "The ``AWS::EFS::MountTarget`` resource is an Amazon EFS resource that creates a mount target for an EFS file system. You can then mount the file system on Amazon EC2 instances or other resources by using the mount target. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-efs-mounttarget.html)", + "markdownDescription": "The AWS::Timestream::ScheduledQuery resource creates a Timestream Scheduled Query. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-timestream-scheduledquery.html)", "allOf": [ { "type": "object", @@ -9480,14 +9484,14 @@ "Type": { "type": "string", "enum": [ - "AWS::EFS::MountTarget" + "AWS::Timestream::ScheduledQuery" ], "markdownEnumDescriptions": [ - "The ``AWS::EFS::MountTarget`` resource is an Amazon EFS resource that creates a mount target for an EFS file system. You can then mount the file system on Amazon EC2 instances or other resources by using the mount target. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-efs-mounttarget.html)" + "The AWS::Timestream::ScheduledQuery resource creates a Timestream Scheduled Query. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-timestream-scheduledquery.html)" ] }, "Properties": { - "$ref": "resources/aws-efs-mounttarget.json" + "$ref": "resources/aws-timestream-scheduledquery.json" } }, "required": [ @@ -9501,9 +9505,9 @@ ], "additionalProperties": false }, - "AWS_Logs_Delivery": { + "AWS_DataSync_Agent": { "type": "object", - "markdownDescription": "This structure contains information about one delivery in your account.\n\nA delivery is a connection between a logical delivery source and a logical delivery destination.\n\nFor more information, see [CreateDelivery](https://docs.aws.amazon.com/AmazonCloudWatchLogs/latest/APIReference/API_CreateDelivery.html). \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-logs-delivery.html)", + "markdownDescription": "Resource schema for AWS::DataSync::Agent. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datasync-agent.html)", "allOf": [ { "type": "object", @@ -9511,19 +9515,18 @@ "Type": { "type": "string", "enum": [ - "AWS::Logs::Delivery" + "AWS::DataSync::Agent" ], "markdownEnumDescriptions": [ - "This structure contains information about one delivery in your account.\n\nA delivery is a connection between a logical delivery source and a logical delivery destination.\n\nFor more information, see [CreateDelivery](https://docs.aws.amazon.com/AmazonCloudWatchLogs/latest/APIReference/API_CreateDelivery.html). \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-logs-delivery.html)" + "Resource schema for AWS::DataSync::Agent. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datasync-agent.html)" ] }, "Properties": { - "$ref": "resources/aws-logs-delivery.json" + "$ref": "resources/aws-datasync-agent.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -9532,9 +9535,9 @@ ], "additionalProperties": false }, - "AWS_HealthImaging_Datastore": { + "AWS_ApiGatewayV2_ApiMapping": { "type": "object", - "markdownDescription": "Definition of AWS::HealthImaging::Datastore Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-healthimaging-datastore.html)", + "markdownDescription": "The ``AWS::ApiGatewayV2::ApiMapping`` resource contains an API mapping. An API mapping relates a path of your custom domain name to a stage of your API. A custom domain name can have multiple API mappings, but the paths can't overlap. A custom domain can map only to APIs of the same protocol type. For more information, see [CreateApiMapping](https://docs.aws.amazon.com/apigatewayv2/latest/api-reference/domainnames-domainname-apimappings.html#CreateApiMapping) in the *Amazon API Gateway V2 API Reference*. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-apimapping.html)", "allOf": [ { "type": "object", @@ -9542,18 +9545,19 @@ "Type": { "type": "string", "enum": [ - "AWS::HealthImaging::Datastore" + "AWS::ApiGatewayV2::ApiMapping" ], "markdownEnumDescriptions": [ - "Definition of AWS::HealthImaging::Datastore Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-healthimaging-datastore.html)" + "The ``AWS::ApiGatewayV2::ApiMapping`` resource contains an API mapping. An API mapping relates a path of your custom domain name to a stage of your API. A custom domain name can have multiple API mappings, but the paths can't overlap. A custom domain can map only to APIs of the same protocol type. For more information, see [CreateApiMapping](https://docs.aws.amazon.com/apigatewayv2/latest/api-reference/domainnames-domainname-apimappings.html#CreateApiMapping) in the *Amazon API Gateway V2 API Reference*. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-apimapping.html)" ] }, "Properties": { - "$ref": "resources/aws-healthimaging-datastore.json" + "$ref": "resources/aws-apigatewayv2-apimapping.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -9562,9 +9566,9 @@ ], "additionalProperties": false }, - "AWS_Kinesis_Stream": { + "AWS_CloudFront_CloudFrontOriginAccessIdentity": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::Kinesis::Stream \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kinesis-stream.html)", + "markdownDescription": "Resource Type definition for AWS::CloudFront::CloudFrontOriginAccessIdentity \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudfront-cloudfrontoriginaccessidentity.html)", "allOf": [ { "type": "object", @@ -9572,18 +9576,19 @@ "Type": { "type": "string", "enum": [ - "AWS::Kinesis::Stream" + "AWS::CloudFront::CloudFrontOriginAccessIdentity" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::Kinesis::Stream \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kinesis-stream.html)" + "Resource Type definition for AWS::CloudFront::CloudFrontOriginAccessIdentity \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudfront-cloudfrontoriginaccessidentity.html)" ] }, "Properties": { - "$ref": "resources/aws-kinesis-stream.json" + "$ref": "resources/aws-cloudfront-cloudfrontoriginaccessidentity.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -9592,9 +9597,9 @@ ], "additionalProperties": false }, - "AWS_AppStream_ApplicationFleetAssociation": { + "AWS_DMS_ReplicationInstance": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::AppStream::ApplicationFleetAssociation \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appstream-applicationfleetassociation.html)", + "markdownDescription": "Resource Type definition for AWS::DMS::ReplicationInstance \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dms-replicationinstance.html)", "allOf": [ { "type": "object", @@ -9602,14 +9607,14 @@ "Type": { "type": "string", "enum": [ - "AWS::AppStream::ApplicationFleetAssociation" + "AWS::DMS::ReplicationInstance" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::AppStream::ApplicationFleetAssociation \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appstream-applicationfleetassociation.html)" + "Resource Type definition for AWS::DMS::ReplicationInstance \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dms-replicationinstance.html)" ] }, "Properties": { - "$ref": "resources/aws-appstream-applicationfleetassociation.json" + "$ref": "resources/aws-dms-replicationinstance.json" } }, "required": [ @@ -9623,9 +9628,9 @@ ], "additionalProperties": false }, - "AWS_EFS_FileSystem": { + "AWS_IoT_Logging": { "type": "object", - "markdownDescription": "The ``AWS::EFS::FileSystem`` resource creates a new, empty file system in EFSlong (EFS). You must create a mount target ([AWS::EFS::MountTarget](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-efs-mounttarget.html)) to mount your EFS file system on an EC2 or other AWS cloud compute resource. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-efs-filesystem.html)", + "markdownDescription": "Logging Options enable you to configure your IoT V2 logging role and default logging level so that you can monitor progress events logs as it passes from your devices through Iot core service. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-logging.html)", "allOf": [ { "type": "object", @@ -9633,18 +9638,19 @@ "Type": { "type": "string", "enum": [ - "AWS::EFS::FileSystem" + "AWS::IoT::Logging" ], "markdownEnumDescriptions": [ - "The ``AWS::EFS::FileSystem`` resource creates a new, empty file system in EFSlong (EFS). You must create a mount target ([AWS::EFS::MountTarget](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-efs-mounttarget.html)) to mount your EFS file system on an EC2 or other AWS cloud compute resource. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-efs-filesystem.html)" + "Logging Options enable you to configure your IoT V2 logging role and default logging level so that you can monitor progress events logs as it passes from your devices through Iot core service. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-logging.html)" ] }, "Properties": { - "$ref": "resources/aws-efs-filesystem.json" + "$ref": "resources/aws-iot-logging.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -9653,9 +9659,9 @@ ], "additionalProperties": false }, - "AWS_Pinpoint_APNSSandboxChannel": { + "AWS_DMS_InstanceProfile": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::Pinpoint::APNSSandboxChannel \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-apnssandboxchannel.html)", + "markdownDescription": "Resource schema for AWS::DMS::InstanceProfile. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dms-instanceprofile.html)", "allOf": [ { "type": "object", @@ -9663,19 +9669,18 @@ "Type": { "type": "string", "enum": [ - "AWS::Pinpoint::APNSSandboxChannel" + "AWS::DMS::InstanceProfile" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::Pinpoint::APNSSandboxChannel \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-apnssandboxchannel.html)" + "Resource schema for AWS::DMS::InstanceProfile. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dms-instanceprofile.html)" ] }, "Properties": { - "$ref": "resources/aws-pinpoint-apnssandboxchannel.json" + "$ref": "resources/aws-dms-instanceprofile.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -9684,9 +9689,9 @@ ], "additionalProperties": false }, - "AWS_Deadline_MeteredProduct": { + "AWS_MediaPackageV2_OriginEndpointPolicy": { "type": "object", - "markdownDescription": "Definition of AWS::Deadline::MeteredProduct Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-deadline-meteredproduct.html)", + "markdownDescription": "

Represents a resource policy that allows or denies access to an origin endpoint.

\n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediapackagev2-originendpointpolicy.html)", "allOf": [ { "type": "object", @@ -9694,18 +9699,19 @@ "Type": { "type": "string", "enum": [ - "AWS::Deadline::MeteredProduct" + "AWS::MediaPackageV2::OriginEndpointPolicy" ], "markdownEnumDescriptions": [ - "Definition of AWS::Deadline::MeteredProduct Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-deadline-meteredproduct.html)" + "

Represents a resource policy that allows or denies access to an origin endpoint.

\n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediapackagev2-originendpointpolicy.html)" ] }, "Properties": { - "$ref": "resources/aws-deadline-meteredproduct.json" + "$ref": "resources/aws-mediapackagev2-originendpointpolicy.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -9714,9 +9720,9 @@ ], "additionalProperties": false }, - "AWS_LakeFormation_DataLakeSettings": { + "AWS_SES_MailManagerRelay": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::LakeFormation::DataLakeSettings \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lakeformation-datalakesettings.html)", + "markdownDescription": "Definition of AWS::SES::MailManagerRelay Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ses-mailmanagerrelay.html)", "allOf": [ { "type": "object", @@ -9724,18 +9730,19 @@ "Type": { "type": "string", "enum": [ - "AWS::LakeFormation::DataLakeSettings" + "AWS::SES::MailManagerRelay" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::LakeFormation::DataLakeSettings \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lakeformation-datalakesettings.html)" + "Definition of AWS::SES::MailManagerRelay Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ses-mailmanagerrelay.html)" ] }, "Properties": { - "$ref": "resources/aws-lakeformation-datalakesettings.json" + "$ref": "resources/aws-ses-mailmanagerrelay.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -9744,9 +9751,9 @@ ], "additionalProperties": false }, - "AWS_Glue_SchemaVersion": { + "AWS_QBusiness_Application": { "type": "object", - "markdownDescription": "This resource represents an individual schema version of a schema defined in Glue Schema Registry. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-schemaversion.html)", + "markdownDescription": "Definition of AWS::QBusiness::Application Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-qbusiness-application.html)", "allOf": [ { "type": "object", @@ -9754,14 +9761,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Glue::SchemaVersion" + "AWS::QBusiness::Application" ], "markdownEnumDescriptions": [ - "This resource represents an individual schema version of a schema defined in Glue Schema Registry. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-schemaversion.html)" + "Definition of AWS::QBusiness::Application Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-qbusiness-application.html)" ] }, "Properties": { - "$ref": "resources/aws-glue-schemaversion.json" + "$ref": "resources/aws-qbusiness-application.json" } }, "required": [ @@ -9775,9 +9782,9 @@ ], "additionalProperties": false }, - "AWS_EC2_VPCPeeringConnection": { + "AWS_LakeFormation_Resource": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::EC2::VPCPeeringConnection \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpcpeeringconnection.html)", + "markdownDescription": "Resource Type definition for AWS::LakeFormation::Resource \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lakeformation-resource.html)", "allOf": [ { "type": "object", @@ -9785,14 +9792,14 @@ "Type": { "type": "string", "enum": [ - "AWS::EC2::VPCPeeringConnection" + "AWS::LakeFormation::Resource" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::EC2::VPCPeeringConnection \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpcpeeringconnection.html)" + "Resource Type definition for AWS::LakeFormation::Resource \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lakeformation-resource.html)" ] }, "Properties": { - "$ref": "resources/aws-ec2-vpcpeeringconnection.json" + "$ref": "resources/aws-lakeformation-resource.json" } }, "required": [ @@ -9806,9 +9813,9 @@ ], "additionalProperties": false }, - "AWS_Pinpoint_ADMChannel": { + "AWS_SSO_Assignment": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::Pinpoint::ADMChannel \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-admchannel.html)", + "markdownDescription": "Resource Type definition for SSO assignmet \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sso-assignment.html)", "allOf": [ { "type": "object", @@ -9816,14 +9823,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Pinpoint::ADMChannel" + "AWS::SSO::Assignment" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::Pinpoint::ADMChannel \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-admchannel.html)" + "Resource Type definition for SSO assignmet \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sso-assignment.html)" ] }, "Properties": { - "$ref": "resources/aws-pinpoint-admchannel.json" + "$ref": "resources/aws-sso-assignment.json" } }, "required": [ @@ -9837,9 +9844,9 @@ ], "additionalProperties": false }, - "AWS_Neptune_EventSubscription": { + "AWS_Logs_LogStream": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::Neptune::EventSubscription \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-neptune-eventsubscription.html)", + "markdownDescription": "Resource Type definition for AWS::Logs::LogStream \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-logs-logstream.html)", "allOf": [ { "type": "object", @@ -9847,18 +9854,19 @@ "Type": { "type": "string", "enum": [ - "AWS::Neptune::EventSubscription" + "AWS::Logs::LogStream" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::Neptune::EventSubscription \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-neptune-eventsubscription.html)" + "Resource Type definition for AWS::Logs::LogStream \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-logs-logstream.html)" ] }, "Properties": { - "$ref": "resources/aws-neptune-eventsubscription.json" + "$ref": "resources/aws-logs-logstream.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -9867,9 +9875,9 @@ ], "additionalProperties": false }, - "AWS_SSMContacts_Plan": { + "AWS_Glue_Workflow": { "type": "object", - "markdownDescription": "Engagement Plan for a SSM Incident Manager Contact. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssmcontacts-plan.html)", + "markdownDescription": "Resource Type definition for AWS::Glue::Workflow \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-workflow.html)", "allOf": [ { "type": "object", @@ -9877,14 +9885,14 @@ "Type": { "type": "string", "enum": [ - "AWS::SSMContacts::Plan" + "AWS::Glue::Workflow" ], "markdownEnumDescriptions": [ - "Engagement Plan for a SSM Incident Manager Contact. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssmcontacts-plan.html)" + "Resource Type definition for AWS::Glue::Workflow \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-workflow.html)" ] }, "Properties": { - "$ref": "resources/aws-ssmcontacts-plan.json" + "$ref": "resources/aws-glue-workflow.json" } }, "required": [ @@ -9897,9 +9905,9 @@ ], "additionalProperties": false }, - "AWS_Backup_BackupSelection": { + "AWS_WorkSpacesWeb_TrustStore": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::Backup::BackupSelection \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-backup-backupselection.html)", + "markdownDescription": "Definition of AWS::WorkSpacesWeb::TrustStore Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-workspacesweb-truststore.html)", "allOf": [ { "type": "object", @@ -9907,14 +9915,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Backup::BackupSelection" + "AWS::WorkSpacesWeb::TrustStore" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::Backup::BackupSelection \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-backup-backupselection.html)" + "Definition of AWS::WorkSpacesWeb::TrustStore Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-workspacesweb-truststore.html)" ] }, "Properties": { - "$ref": "resources/aws-backup-backupselection.json" + "$ref": "resources/aws-workspacesweb-truststore.json" } }, "required": [ @@ -9928,9 +9936,9 @@ ], "additionalProperties": false }, - "AWS_RAM_ResourceShare": { + "AWS_NetworkFirewall_TLSInspectionConfiguration": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::RAM::ResourceShare \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ram-resourceshare.html)", + "markdownDescription": "Resource type definition for AWS::NetworkFirewall::TLSInspectionConfiguration \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkfirewall-tlsinspectionconfiguration.html)", "allOf": [ { "type": "object", @@ -9938,14 +9946,14 @@ "Type": { "type": "string", "enum": [ - "AWS::RAM::ResourceShare" + "AWS::NetworkFirewall::TLSInspectionConfiguration" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::RAM::ResourceShare \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ram-resourceshare.html)" + "Resource type definition for AWS::NetworkFirewall::TLSInspectionConfiguration \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkfirewall-tlsinspectionconfiguration.html)" ] }, "Properties": { - "$ref": "resources/aws-ram-resourceshare.json" + "$ref": "resources/aws-networkfirewall-tlsinspectionconfiguration.json" } }, "required": [ @@ -9959,9 +9967,9 @@ ], "additionalProperties": false }, - "AWS_EC2_ClientVpnTargetNetworkAssociation": { + "AWS_RDS_EventSubscription": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::EC2::ClientVpnTargetNetworkAssociation \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-clientvpntargetnetworkassociation.html)", + "markdownDescription": "The ``AWS::RDS::EventSubscription`` resource allows you to receive notifications for Amazon Relational Database Service events through the Amazon Simple Notification Service (Amazon SNS). For more information, see [Using Amazon RDS Event Notification](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Events.html) in the *Amazon RDS User Guide*. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-eventsubscription.html)", "allOf": [ { "type": "object", @@ -9969,14 +9977,14 @@ "Type": { "type": "string", "enum": [ - "AWS::EC2::ClientVpnTargetNetworkAssociation" + "AWS::RDS::EventSubscription" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::EC2::ClientVpnTargetNetworkAssociation \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-clientvpntargetnetworkassociation.html)" + "The ``AWS::RDS::EventSubscription`` resource allows you to receive notifications for Amazon Relational Database Service events through the Amazon Simple Notification Service (Amazon SNS). For more information, see [Using Amazon RDS Event Notification](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Events.html) in the *Amazon RDS User Guide*. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-eventsubscription.html)" ] }, "Properties": { - "$ref": "resources/aws-ec2-clientvpntargetnetworkassociation.json" + "$ref": "resources/aws-rds-eventsubscription.json" } }, "required": [ @@ -9990,9 +9998,9 @@ ], "additionalProperties": false }, - "AWS_Neptune_DBClusterParameterGroup": { + "AWS_EC2_NetworkInterfacePermission": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::Neptune::DBClusterParameterGroup \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-neptune-dbclusterparametergroup.html)", + "markdownDescription": "Resource Type definition for AWS::EC2::NetworkInterfacePermission \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-networkinterfacepermission.html)", "allOf": [ { "type": "object", @@ -10000,14 +10008,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Neptune::DBClusterParameterGroup" + "AWS::EC2::NetworkInterfacePermission" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::Neptune::DBClusterParameterGroup \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-neptune-dbclusterparametergroup.html)" + "Resource Type definition for AWS::EC2::NetworkInterfacePermission \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-networkinterfacepermission.html)" ] }, "Properties": { - "$ref": "resources/aws-neptune-dbclusterparametergroup.json" + "$ref": "resources/aws-ec2-networkinterfacepermission.json" } }, "required": [ @@ -10021,9 +10029,9 @@ ], "additionalProperties": false }, - "AWS_Pinpoint_Segment": { + "AWS_Lex_BotVersion": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::Pinpoint::Segment \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-segment.html)", + "markdownDescription": "A version is a numbered snapshot of your work that you can publish for use in different parts of your workflow, such as development, beta deployment, and production. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lex-botversion.html)", "allOf": [ { "type": "object", @@ -10031,14 +10039,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Pinpoint::Segment" + "AWS::Lex::BotVersion" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::Pinpoint::Segment \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-segment.html)" + "A version is a numbered snapshot of your work that you can publish for use in different parts of your workflow, such as development, beta deployment, and production. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lex-botversion.html)" ] }, "Properties": { - "$ref": "resources/aws-pinpoint-segment.json" + "$ref": "resources/aws-lex-botversion.json" } }, "required": [ @@ -10052,9 +10060,9 @@ ], "additionalProperties": false }, - "AWS_Connect_Queue": { + "AWS_Transfer_Workflow": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::Connect::Queue \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-connect-queue.html)", + "markdownDescription": "Resource Type definition for AWS::Transfer::Workflow \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-transfer-workflow.html)", "allOf": [ { "type": "object", @@ -10062,14 +10070,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Connect::Queue" + "AWS::Transfer::Workflow" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::Connect::Queue \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-connect-queue.html)" + "Resource Type definition for AWS::Transfer::Workflow \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-transfer-workflow.html)" ] }, "Properties": { - "$ref": "resources/aws-connect-queue.json" + "$ref": "resources/aws-transfer-workflow.json" } }, "required": [ @@ -10083,9 +10091,9 @@ ], "additionalProperties": false }, - "AWS_WAFRegional_Rule": { + "AWS_EC2_SnapshotBlockPublicAccess": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::WAFRegional::Rule \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-wafregional-rule.html)", + "markdownDescription": "Resource Type definition for AWS::EC2::SnapshotBlockPublicAccess \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-snapshotblockpublicaccess.html)", "allOf": [ { "type": "object", @@ -10093,14 +10101,14 @@ "Type": { "type": "string", "enum": [ - "AWS::WAFRegional::Rule" + "AWS::EC2::SnapshotBlockPublicAccess" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::WAFRegional::Rule \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-wafregional-rule.html)" + "Resource Type definition for AWS::EC2::SnapshotBlockPublicAccess \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-snapshotblockpublicaccess.html)" ] }, "Properties": { - "$ref": "resources/aws-wafregional-rule.json" + "$ref": "resources/aws-ec2-snapshotblockpublicaccess.json" } }, "required": [ @@ -10114,9 +10122,9 @@ ], "additionalProperties": false }, - "AWS_Logs_Destination": { + "AWS_SageMaker_ModelExplainabilityJobDefinition": { "type": "object", - "markdownDescription": "The AWS::Logs::Destination resource specifies a CloudWatch Logs destination. A destination encapsulates a physical resource (such as an Amazon Kinesis data stream) and enables you to subscribe that resource to a stream of log events. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-logs-destination.html)", + "markdownDescription": "Resource Type definition for AWS::SageMaker::ModelExplainabilityJobDefinition \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-modelexplainabilityjobdefinition.html)", "allOf": [ { "type": "object", @@ -10124,14 +10132,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Logs::Destination" + "AWS::SageMaker::ModelExplainabilityJobDefinition" ], "markdownEnumDescriptions": [ - "The AWS::Logs::Destination resource specifies a CloudWatch Logs destination. A destination encapsulates a physical resource (such as an Amazon Kinesis data stream) and enables you to subscribe that resource to a stream of log events. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-logs-destination.html)" + "Resource Type definition for AWS::SageMaker::ModelExplainabilityJobDefinition \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-modelexplainabilityjobdefinition.html)" ] }, "Properties": { - "$ref": "resources/aws-logs-destination.json" + "$ref": "resources/aws-sagemaker-modelexplainabilityjobdefinition.json" } }, "required": [ @@ -10145,9 +10153,9 @@ ], "additionalProperties": false }, - "AWS_LakeFormation_Resource": { + "AWS_MSK_Replicator": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::LakeFormation::Resource \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lakeformation-resource.html)", + "markdownDescription": "Resource Type definition for AWS::MSK::Replicator \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-msk-replicator.html)", "allOf": [ { "type": "object", @@ -10155,14 +10163,14 @@ "Type": { "type": "string", "enum": [ - "AWS::LakeFormation::Resource" + "AWS::MSK::Replicator" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::LakeFormation::Resource \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lakeformation-resource.html)" + "Resource Type definition for AWS::MSK::Replicator \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-msk-replicator.html)" ] }, "Properties": { - "$ref": "resources/aws-lakeformation-resource.json" + "$ref": "resources/aws-msk-replicator.json" } }, "required": [ @@ -10176,9 +10184,9 @@ ], "additionalProperties": false }, - "AWS_Route53_DNSSEC": { + "AWS_M2_Application": { "type": "object", - "markdownDescription": "Resource used to control (enable/disable) DNSSEC in a specific hosted zone. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53-dnssec.html)", + "markdownDescription": "Represents an application that runs on an AWS Mainframe Modernization Environment \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-m2-application.html)", "allOf": [ { "type": "object", @@ -10186,14 +10194,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Route53::DNSSEC" + "AWS::M2::Application" ], "markdownEnumDescriptions": [ - "Resource used to control (enable/disable) DNSSEC in a specific hosted zone. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53-dnssec.html)" + "Represents an application that runs on an AWS Mainframe Modernization Environment \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-m2-application.html)" ] }, "Properties": { - "$ref": "resources/aws-route53-dnssec.json" + "$ref": "resources/aws-m2-application.json" } }, "required": [ @@ -10207,9 +10215,9 @@ ], "additionalProperties": false }, - "AWS_FIS_ExperimentTemplate": { + "AWS_Pipes_Pipe": { "type": "object", - "markdownDescription": "Resource schema for AWS::FIS::ExperimentTemplate \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-fis-experimenttemplate.html)", + "markdownDescription": "Definition of AWS::Pipes::Pipe Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pipes-pipe.html)", "allOf": [ { "type": "object", @@ -10217,14 +10225,14 @@ "Type": { "type": "string", "enum": [ - "AWS::FIS::ExperimentTemplate" + "AWS::Pipes::Pipe" ], "markdownEnumDescriptions": [ - "Resource schema for AWS::FIS::ExperimentTemplate \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-fis-experimenttemplate.html)" + "Definition of AWS::Pipes::Pipe Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pipes-pipe.html)" ] }, "Properties": { - "$ref": "resources/aws-fis-experimenttemplate.json" + "$ref": "resources/aws-pipes-pipe.json" } }, "required": [ @@ -10238,9 +10246,9 @@ ], "additionalProperties": false }, - "AWS_SageMaker_ModelCard": { + "AWS_GroundStation_Config": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::SageMaker::ModelCard. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-modelcard.html)", + "markdownDescription": "AWS Ground Station config resource type for CloudFormation. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-groundstation-config.html)", "allOf": [ { "type": "object", @@ -10248,14 +10256,14 @@ "Type": { "type": "string", "enum": [ - "AWS::SageMaker::ModelCard" + "AWS::GroundStation::Config" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::SageMaker::ModelCard. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-modelcard.html)" + "AWS Ground Station config resource type for CloudFormation. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-groundstation-config.html)" ] }, "Properties": { - "$ref": "resources/aws-sagemaker-modelcard.json" + "$ref": "resources/aws-groundstation-config.json" } }, "required": [ @@ -10269,9 +10277,9 @@ ], "additionalProperties": false }, - "AWS_Glue_Job": { + "AWS_Backup_RestoreTestingPlan": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::Glue::Job \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-job.html)", + "markdownDescription": "Definition of AWS::Backup::RestoreTestingPlan Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-backup-restoretestingplan.html)", "allOf": [ { "type": "object", @@ -10279,14 +10287,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Glue::Job" + "AWS::Backup::RestoreTestingPlan" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::Glue::Job \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-job.html)" + "Definition of AWS::Backup::RestoreTestingPlan Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-backup-restoretestingplan.html)" ] }, "Properties": { - "$ref": "resources/aws-glue-job.json" + "$ref": "resources/aws-backup-restoretestingplan.json" } }, "required": [ @@ -10300,9 +10308,9 @@ ], "additionalProperties": false }, - "AWS_SSO_Instance": { + "AWS_ServiceCatalog_ServiceAction": { "type": "object", - "markdownDescription": "Resource Type definition for Identity Center (SSO) Instance \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sso-instance.html)", + "markdownDescription": "Resource Schema for AWS::ServiceCatalog::ServiceAction \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicecatalog-serviceaction.html)", "allOf": [ { "type": "object", @@ -10310,44 +10318,14 @@ "Type": { "type": "string", "enum": [ - "AWS::SSO::Instance" + "AWS::ServiceCatalog::ServiceAction" ], "markdownEnumDescriptions": [ - "Resource Type definition for Identity Center (SSO) Instance \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sso-instance.html)" + "Resource Schema for AWS::ServiceCatalog::ServiceAction \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicecatalog-serviceaction.html)" ] }, "Properties": { - "$ref": "resources/aws-sso-instance.json" - } - }, - "required": [ - "Type" - ] - }, - { - "$ref": "resource.attributes.schema.json#/definitions/ResourceAttributes" - } - ], - "additionalProperties": false - }, - "AWS_WAF_SqlInjectionMatchSet": { - "type": "object", - "markdownDescription": "Resource Type definition for AWS::WAF::SqlInjectionMatchSet \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-waf-sqlinjectionmatchset.html)", - "allOf": [ - { - "type": "object", - "properties": { - "Type": { - "type": "string", - "enum": [ - "AWS::WAF::SqlInjectionMatchSet" - ], - "markdownEnumDescriptions": [ - "Resource Type definition for AWS::WAF::SqlInjectionMatchSet \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-waf-sqlinjectionmatchset.html)" - ] - }, - "Properties": { - "$ref": "resources/aws-waf-sqlinjectionmatchset.json" + "$ref": "resources/aws-servicecatalog-serviceaction.json" } }, "required": [ @@ -10361,9 +10339,9 @@ ], "additionalProperties": false }, - "AWS_DevOpsGuru_NotificationChannel": { + "AWS_AmazonMQ_Broker": { "type": "object", - "markdownDescription": "This resource schema represents the NotificationChannel resource in the Amazon DevOps Guru. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-devopsguru-notificationchannel.html)", + "markdownDescription": "Resource Type definition for AWS::AmazonMQ::Broker \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-amazonmq-broker.html)", "allOf": [ { "type": "object", @@ -10371,14 +10349,14 @@ "Type": { "type": "string", "enum": [ - "AWS::DevOpsGuru::NotificationChannel" + "AWS::AmazonMQ::Broker" ], "markdownEnumDescriptions": [ - "This resource schema represents the NotificationChannel resource in the Amazon DevOps Guru. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-devopsguru-notificationchannel.html)" + "Resource Type definition for AWS::AmazonMQ::Broker \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-amazonmq-broker.html)" ] }, "Properties": { - "$ref": "resources/aws-devopsguru-notificationchannel.json" + "$ref": "resources/aws-amazonmq-broker.json" } }, "required": [ @@ -10392,9 +10370,9 @@ ], "additionalProperties": false }, - "AWS_MediaLive_EventBridgeRuleTemplate": { + "AWS_GuardDuty_Member": { "type": "object", - "markdownDescription": "Definition of AWS::MediaLive::EventBridgeRuleTemplate Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-medialive-eventbridgeruletemplate.html)", + "markdownDescription": "Resource Type definition for AWS::GuardDuty::Member \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-guardduty-member.html)", "allOf": [ { "type": "object", @@ -10402,14 +10380,14 @@ "Type": { "type": "string", "enum": [ - "AWS::MediaLive::EventBridgeRuleTemplate" + "AWS::GuardDuty::Member" ], "markdownEnumDescriptions": [ - "Definition of AWS::MediaLive::EventBridgeRuleTemplate Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-medialive-eventbridgeruletemplate.html)" + "Resource Type definition for AWS::GuardDuty::Member \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-guardduty-member.html)" ] }, "Properties": { - "$ref": "resources/aws-medialive-eventbridgeruletemplate.json" + "$ref": "resources/aws-guardduty-member.json" } }, "required": [ @@ -10423,9 +10401,9 @@ ], "additionalProperties": false }, - "AWS_EC2_PlacementGroup": { + "AWS_ServiceCatalog_CloudFormationProvisionedProduct": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::EC2::PlacementGroup \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-placementgroup.html)", + "markdownDescription": "Resource Schema for AWS::ServiceCatalog::CloudFormationProvisionedProduct \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicecatalog-cloudformationprovisionedproduct.html)", "allOf": [ { "type": "object", @@ -10433,14 +10411,14 @@ "Type": { "type": "string", "enum": [ - "AWS::EC2::PlacementGroup" + "AWS::ServiceCatalog::CloudFormationProvisionedProduct" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::EC2::PlacementGroup \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-placementgroup.html)" + "Resource Schema for AWS::ServiceCatalog::CloudFormationProvisionedProduct \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicecatalog-cloudformationprovisionedproduct.html)" ] }, "Properties": { - "$ref": "resources/aws-ec2-placementgroup.json" + "$ref": "resources/aws-servicecatalog-cloudformationprovisionedproduct.json" } }, "required": [ @@ -10453,9 +10431,9 @@ ], "additionalProperties": false }, - "AWS_Route53RecoveryControl_RoutingControl": { + "AWS_Batch_JobQueue": { "type": "object", - "markdownDescription": "AWS Route53 Recovery Control Routing Control resource schema . \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53recoverycontrol-routingcontrol.html)", + "markdownDescription": "Resource Type definition for AWS::Batch::JobQueue \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-batch-jobqueue.html)", "allOf": [ { "type": "object", @@ -10463,14 +10441,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Route53RecoveryControl::RoutingControl" + "AWS::Batch::JobQueue" ], "markdownEnumDescriptions": [ - "AWS Route53 Recovery Control Routing Control resource schema . \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53recoverycontrol-routingcontrol.html)" + "Resource Type definition for AWS::Batch::JobQueue \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-batch-jobqueue.html)" ] }, "Properties": { - "$ref": "resources/aws-route53recoverycontrol-routingcontrol.json" + "$ref": "resources/aws-batch-jobqueue.json" } }, "required": [ @@ -10484,9 +10462,9 @@ ], "additionalProperties": false }, - "AWS_StepFunctions_Activity": { + "AWS_LakeFormation_DataLakeSettings": { "type": "object", - "markdownDescription": "Resource schema for Activity \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-stepfunctions-activity.html)", + "markdownDescription": "Resource Type definition for AWS::LakeFormation::DataLakeSettings \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lakeformation-datalakesettings.html)", "allOf": [ { "type": "object", @@ -10494,19 +10472,18 @@ "Type": { "type": "string", "enum": [ - "AWS::StepFunctions::Activity" + "AWS::LakeFormation::DataLakeSettings" ], "markdownEnumDescriptions": [ - "Resource schema for Activity \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-stepfunctions-activity.html)" + "Resource Type definition for AWS::LakeFormation::DataLakeSettings \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lakeformation-datalakesettings.html)" ] }, "Properties": { - "$ref": "resources/aws-stepfunctions-activity.json" + "$ref": "resources/aws-lakeformation-datalakesettings.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -10515,9 +10492,9 @@ ], "additionalProperties": false }, - "AWS_CloudFront_PublicKey": { + "AWS_Greengrass_ResourceDefinition": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::CloudFront::PublicKey \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudfront-publickey.html)", + "markdownDescription": "Resource Type definition for AWS::Greengrass::ResourceDefinition \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-resourcedefinition.html)", "allOf": [ { "type": "object", @@ -10525,14 +10502,14 @@ "Type": { "type": "string", "enum": [ - "AWS::CloudFront::PublicKey" + "AWS::Greengrass::ResourceDefinition" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::CloudFront::PublicKey \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudfront-publickey.html)" + "Resource Type definition for AWS::Greengrass::ResourceDefinition \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-resourcedefinition.html)" ] }, "Properties": { - "$ref": "resources/aws-cloudfront-publickey.json" + "$ref": "resources/aws-greengrass-resourcedefinition.json" } }, "required": [ @@ -10546,9 +10523,9 @@ ], "additionalProperties": false }, - "AWS_ServiceCatalogAppRegistry_AttributeGroup": { + "AWS_KinesisAnalytics_Application": { "type": "object", - "markdownDescription": "Resource Schema for AWS::ServiceCatalogAppRegistry::AttributeGroup. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicecatalogappregistry-attributegroup.html)", + "markdownDescription": "Resource Type definition for AWS::KinesisAnalytics::Application \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kinesisanalytics-application.html)", "allOf": [ { "type": "object", @@ -10556,14 +10533,14 @@ "Type": { "type": "string", "enum": [ - "AWS::ServiceCatalogAppRegistry::AttributeGroup" + "AWS::KinesisAnalytics::Application" ], "markdownEnumDescriptions": [ - "Resource Schema for AWS::ServiceCatalogAppRegistry::AttributeGroup. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicecatalogappregistry-attributegroup.html)" + "Resource Type definition for AWS::KinesisAnalytics::Application \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kinesisanalytics-application.html)" ] }, "Properties": { - "$ref": "resources/aws-servicecatalogappregistry-attributegroup.json" + "$ref": "resources/aws-kinesisanalytics-application.json" } }, "required": [ @@ -10577,9 +10554,9 @@ ], "additionalProperties": false }, - "AWS_ApiGatewayV2_ApiMapping": { + "AWS_Logs_SubscriptionFilter": { "type": "object", - "markdownDescription": "The ``AWS::ApiGatewayV2::ApiMapping`` resource contains an API mapping. An API mapping relates a path of your custom domain name to a stage of your API. A custom domain name can have multiple API mappings, but the paths can't overlap. A custom domain can map only to APIs of the same protocol type. For more information, see [CreateApiMapping](https://docs.aws.amazon.com/apigatewayv2/latest/api-reference/domainnames-domainname-apimappings.html#CreateApiMapping) in the *Amazon API Gateway V2 API Reference*. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-apimapping.html)", + "markdownDescription": "The ``AWS::Logs::SubscriptionFilter`` resource specifies a subscription filter and associates it with the specified log group. Subscription filters allow you to subscribe to a real-time stream of log events and have them delivered to a specific destination. Currently, the supported destinations are:\n + An Amazon Kinesis data stream belonging to the same account as the subscription filter, for same-account delivery.\n + A logical destination that belongs to a different account, for cross-account delivery.\n + An Amazon Kinesis Firehose delivery stream that belongs to the same account as the subscription filter, for same-account delivery.\n + An LAMlong function that belongs to the same account as the subscription filter, for same-account delivery.\n \n There can be as many as two subscription filters associated with a log group. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-logs-subscriptionfilter.html)", "allOf": [ { "type": "object", @@ -10587,14 +10564,14 @@ "Type": { "type": "string", "enum": [ - "AWS::ApiGatewayV2::ApiMapping" + "AWS::Logs::SubscriptionFilter" ], "markdownEnumDescriptions": [ - "The ``AWS::ApiGatewayV2::ApiMapping`` resource contains an API mapping. An API mapping relates a path of your custom domain name to a stage of your API. A custom domain name can have multiple API mappings, but the paths can't overlap. A custom domain can map only to APIs of the same protocol type. For more information, see [CreateApiMapping](https://docs.aws.amazon.com/apigatewayv2/latest/api-reference/domainnames-domainname-apimappings.html#CreateApiMapping) in the *Amazon API Gateway V2 API Reference*. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-apimapping.html)" + "The ``AWS::Logs::SubscriptionFilter`` resource specifies a subscription filter and associates it with the specified log group. Subscription filters allow you to subscribe to a real-time stream of log events and have them delivered to a specific destination. Currently, the supported destinations are:\n + An Amazon Kinesis data stream belonging to the same account as the subscription filter, for same-account delivery.\n + A logical destination that belongs to a different account, for cross-account delivery.\n + An Amazon Kinesis Firehose delivery stream that belongs to the same account as the subscription filter, for same-account delivery.\n + An LAMlong function that belongs to the same account as the subscription filter, for same-account delivery.\n \n There can be as many as two subscription filters associated with a log group. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-logs-subscriptionfilter.html)" ] }, "Properties": { - "$ref": "resources/aws-apigatewayv2-apimapping.json" + "$ref": "resources/aws-logs-subscriptionfilter.json" } }, "required": [ @@ -10608,9 +10585,9 @@ ], "additionalProperties": false }, - "AWS_RDS_DBSubnetGroup": { + "AWS_EC2_EIPAssociation": { "type": "object", - "markdownDescription": "The ``AWS::RDS::DBSubnetGroup`` resource creates a database subnet group. Subnet groups must contain at least two subnets in two different Availability Zones in the same region. \n For more information, see [Working with DB subnet groups](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_VPC.WorkingWithRDSInstanceinaVPC.html#USER_VPC.Subnets) in the *Amazon RDS User Guide*. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbsubnetgroup.html)", + "markdownDescription": "Associates an Elastic IP address with an instance or a network interface. Before you can use an Elastic IP address, you must allocate it to your account. For more information about working with Elastic IP addresses, see [Elastic IP address concepts and rules](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-eips.html#vpc-eip-overview).\n You must specify ``AllocationId`` and either ``InstanceId``, ``NetworkInterfaceId``, or ``PrivateIpAddress``. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-eipassociation.html)", "allOf": [ { "type": "object", @@ -10618,19 +10595,18 @@ "Type": { "type": "string", "enum": [ - "AWS::RDS::DBSubnetGroup" + "AWS::EC2::EIPAssociation" ], "markdownEnumDescriptions": [ - "The ``AWS::RDS::DBSubnetGroup`` resource creates a database subnet group. Subnet groups must contain at least two subnets in two different Availability Zones in the same region. \n For more information, see [Working with DB subnet groups](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_VPC.WorkingWithRDSInstanceinaVPC.html#USER_VPC.Subnets) in the *Amazon RDS User Guide*. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbsubnetgroup.html)" + "Associates an Elastic IP address with an instance or a network interface. Before you can use an Elastic IP address, you must allocate it to your account. For more information about working with Elastic IP addresses, see [Elastic IP address concepts and rules](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-eips.html#vpc-eip-overview).\n You must specify ``AllocationId`` and either ``InstanceId``, ``NetworkInterfaceId``, or ``PrivateIpAddress``. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-eipassociation.html)" ] }, "Properties": { - "$ref": "resources/aws-rds-dbsubnetgroup.json" + "$ref": "resources/aws-ec2-eipassociation.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -10639,9 +10615,9 @@ ], "additionalProperties": false }, - "AWS_S3_AccessGrant": { + "AWS_ServiceCatalogAppRegistry_AttributeGroupAssociation": { "type": "object", - "markdownDescription": "The AWS::S3::AccessGrant resource is an Amazon S3 resource type representing permissions to a specific S3 bucket or prefix hosted in an S3 Access Grants instance. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-s3-accessgrant.html)", + "markdownDescription": "Resource Schema for AWS::ServiceCatalogAppRegistry::AttributeGroupAssociation. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicecatalogappregistry-attributegroupassociation.html)", "allOf": [ { "type": "object", @@ -10649,14 +10625,14 @@ "Type": { "type": "string", "enum": [ - "AWS::S3::AccessGrant" + "AWS::ServiceCatalogAppRegistry::AttributeGroupAssociation" ], "markdownEnumDescriptions": [ - "The AWS::S3::AccessGrant resource is an Amazon S3 resource type representing permissions to a specific S3 bucket or prefix hosted in an S3 Access Grants instance. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-s3-accessgrant.html)" + "Resource Schema for AWS::ServiceCatalogAppRegistry::AttributeGroupAssociation. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicecatalogappregistry-attributegroupassociation.html)" ] }, "Properties": { - "$ref": "resources/aws-s3-accessgrant.json" + "$ref": "resources/aws-servicecatalogappregistry-attributegroupassociation.json" } }, "required": [ @@ -10670,9 +10646,9 @@ ], "additionalProperties": false }, - "AWS_SES_MailManagerRuleSet": { + "AWS_QBusiness_DataSource": { "type": "object", - "markdownDescription": "Definition of AWS::SES::MailManagerRuleSet Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ses-mailmanagerruleset.html)", + "markdownDescription": "Definition of AWS::QBusiness::DataSource Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-qbusiness-datasource.html)", "allOf": [ { "type": "object", @@ -10680,14 +10656,14 @@ "Type": { "type": "string", "enum": [ - "AWS::SES::MailManagerRuleSet" + "AWS::QBusiness::DataSource" ], "markdownEnumDescriptions": [ - "Definition of AWS::SES::MailManagerRuleSet Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ses-mailmanagerruleset.html)" + "Definition of AWS::QBusiness::DataSource Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-qbusiness-datasource.html)" ] }, "Properties": { - "$ref": "resources/aws-ses-mailmanagerruleset.json" + "$ref": "resources/aws-qbusiness-datasource.json" } }, "required": [ @@ -10701,9 +10677,9 @@ ], "additionalProperties": false }, - "AWS_GuardDuty_IPSet": { + "AWS_MWAA_Environment": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::GuardDuty::IPSet \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-guardduty-ipset.html)", + "markdownDescription": "Resource schema for AWS::MWAA::Environment \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mwaa-environment.html)", "allOf": [ { "type": "object", @@ -10711,14 +10687,14 @@ "Type": { "type": "string", "enum": [ - "AWS::GuardDuty::IPSet" + "AWS::MWAA::Environment" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::GuardDuty::IPSet \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-guardduty-ipset.html)" + "Resource schema for AWS::MWAA::Environment \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mwaa-environment.html)" ] }, "Properties": { - "$ref": "resources/aws-guardduty-ipset.json" + "$ref": "resources/aws-mwaa-environment.json" } }, "required": [ @@ -10732,9 +10708,9 @@ ], "additionalProperties": false }, - "AWS_AppSync_SourceApiAssociation": { + "AWS_MediaConnect_BridgeOutput": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::AppSync::SourceApiAssociation \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-sourceapiassociation.html)", + "markdownDescription": "Resource schema for AWS::MediaConnect::BridgeOutput \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediaconnect-bridgeoutput.html)", "allOf": [ { "type": "object", @@ -10742,18 +10718,19 @@ "Type": { "type": "string", "enum": [ - "AWS::AppSync::SourceApiAssociation" + "AWS::MediaConnect::BridgeOutput" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::AppSync::SourceApiAssociation \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-sourceapiassociation.html)" + "Resource schema for AWS::MediaConnect::BridgeOutput \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediaconnect-bridgeoutput.html)" ] }, "Properties": { - "$ref": "resources/aws-appsync-sourceapiassociation.json" + "$ref": "resources/aws-mediaconnect-bridgeoutput.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -10762,9 +10739,9 @@ ], "additionalProperties": false }, - "AWS_Shield_ProactiveEngagement": { + "AWS_Organizations_OrganizationalUnit": { "type": "object", - "markdownDescription": "Authorizes the Shield Response Team (SRT) to use email and phone to notify contacts about escalations to the SRT and to initiate proactive customer support. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-shield-proactiveengagement.html)", + "markdownDescription": "You can use organizational units (OUs) to group accounts together to administer as a single unit. This greatly simplifies the management of your accounts. For example, you can attach a policy-based control to an OU, and all accounts within the OU automatically inherit the policy. You can create multiple OUs within a single organization, and you can create OUs within other OUs. Each OU can contain multiple accounts, and you can move accounts from one OU to another. However, OU names must be unique within a parent OU or root. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-organizations-organizationalunit.html)", "allOf": [ { "type": "object", @@ -10772,14 +10749,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Shield::ProactiveEngagement" + "AWS::Organizations::OrganizationalUnit" ], "markdownEnumDescriptions": [ - "Authorizes the Shield Response Team (SRT) to use email and phone to notify contacts about escalations to the SRT and to initiate proactive customer support. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-shield-proactiveengagement.html)" + "You can use organizational units (OUs) to group accounts together to administer as a single unit. This greatly simplifies the management of your accounts. For example, you can attach a policy-based control to an OU, and all accounts within the OU automatically inherit the policy. You can create multiple OUs within a single organization, and you can create OUs within other OUs. Each OU can contain multiple accounts, and you can move accounts from one OU to another. However, OU names must be unique within a parent OU or root. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-organizations-organizationalunit.html)" ] }, "Properties": { - "$ref": "resources/aws-shield-proactiveengagement.json" + "$ref": "resources/aws-organizations-organizationalunit.json" } }, "required": [ @@ -10793,9 +10770,9 @@ ], "additionalProperties": false }, - "AWS_ApiGateway_Authorizer": { + "AWS_OpenSearchServerless_SecurityConfig": { "type": "object", - "markdownDescription": "The ``AWS::ApiGateway::Authorizer`` resource creates an authorization layer that API Gateway activates for methods that have authorization enabled. API Gateway activates the authorizer when a client calls those methods. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-authorizer.html)", + "markdownDescription": "Amazon OpenSearchServerless security config resource \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opensearchserverless-securityconfig.html)", "allOf": [ { "type": "object", @@ -10803,19 +10780,18 @@ "Type": { "type": "string", "enum": [ - "AWS::ApiGateway::Authorizer" + "AWS::OpenSearchServerless::SecurityConfig" ], "markdownEnumDescriptions": [ - "The ``AWS::ApiGateway::Authorizer`` resource creates an authorization layer that API Gateway activates for methods that have authorization enabled. API Gateway activates the authorizer when a client calls those methods. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-authorizer.html)" + "Amazon OpenSearchServerless security config resource \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opensearchserverless-securityconfig.html)" ] }, "Properties": { - "$ref": "resources/aws-apigateway-authorizer.json" + "$ref": "resources/aws-opensearchserverless-securityconfig.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -10824,9 +10800,9 @@ ], "additionalProperties": false }, - "AWS_IVS_PlaybackRestrictionPolicy": { + "AWS_MediaConnect_FlowSource": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::IVS::PlaybackRestrictionPolicy. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ivs-playbackrestrictionpolicy.html)", + "markdownDescription": "Resource schema for AWS::MediaConnect::FlowSource \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediaconnect-flowsource.html)", "allOf": [ { "type": "object", @@ -10834,14 +10810,14 @@ "Type": { "type": "string", "enum": [ - "AWS::IVS::PlaybackRestrictionPolicy" + "AWS::MediaConnect::FlowSource" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::IVS::PlaybackRestrictionPolicy. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ivs-playbackrestrictionpolicy.html)" + "Resource schema for AWS::MediaConnect::FlowSource \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediaconnect-flowsource.html)" ] }, "Properties": { - "$ref": "resources/aws-ivs-playbackrestrictionpolicy.json" + "$ref": "resources/aws-mediaconnect-flowsource.json" } }, "required": [ @@ -10855,9 +10831,9 @@ ], "additionalProperties": false }, - "AWS_GroundStation_DataflowEndpointGroup": { + "AWS_Connect_TrafficDistributionGroup": { "type": "object", - "markdownDescription": "AWS Ground Station DataflowEndpointGroup schema for CloudFormation \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-groundstation-dataflowendpointgroup.html)", + "markdownDescription": "Resource Type definition for AWS::Connect::TrafficDistributionGroup \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-connect-trafficdistributiongroup.html)", "allOf": [ { "type": "object", @@ -10865,14 +10841,14 @@ "Type": { "type": "string", "enum": [ - "AWS::GroundStation::DataflowEndpointGroup" + "AWS::Connect::TrafficDistributionGroup" ], "markdownEnumDescriptions": [ - "AWS Ground Station DataflowEndpointGroup schema for CloudFormation \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-groundstation-dataflowendpointgroup.html)" + "Resource Type definition for AWS::Connect::TrafficDistributionGroup \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-connect-trafficdistributiongroup.html)" ] }, "Properties": { - "$ref": "resources/aws-groundstation-dataflowendpointgroup.json" + "$ref": "resources/aws-connect-trafficdistributiongroup.json" } }, "required": [ @@ -10886,9 +10862,9 @@ ], "additionalProperties": false }, - "AWS_IAM_Group": { + "AWS_EC2_EgressOnlyInternetGateway": { "type": "object", - "markdownDescription": "Creates a new group.\n For information about the number of groups you can create, see [Limitations on Entities](https://docs.aws.amazon.com/IAM/latest/UserGuide/LimitationsOnEntities.html) in the *User Guide*. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-group.html)", + "markdownDescription": "Resource Type definition for AWS::EC2::EgressOnlyInternetGateway \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-egressonlyinternetgateway.html)", "allOf": [ { "type": "object", @@ -10896,18 +10872,19 @@ "Type": { "type": "string", "enum": [ - "AWS::IAM::Group" + "AWS::EC2::EgressOnlyInternetGateway" ], "markdownEnumDescriptions": [ - "Creates a new group.\n For information about the number of groups you can create, see [Limitations on Entities](https://docs.aws.amazon.com/IAM/latest/UserGuide/LimitationsOnEntities.html) in the *User Guide*. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-group.html)" + "Resource Type definition for AWS::EC2::EgressOnlyInternetGateway \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-egressonlyinternetgateway.html)" ] }, "Properties": { - "$ref": "resources/aws-iam-group.json" + "$ref": "resources/aws-ec2-egressonlyinternetgateway.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -10916,9 +10893,9 @@ ], "additionalProperties": false }, - "AWS_EC2_DHCPOptions": { + "AWS_MediaConvert_JobTemplate": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::EC2::DHCPOptions \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-dhcpoptions.html)", + "markdownDescription": "Resource Type definition for AWS::MediaConvert::JobTemplate \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediaconvert-jobtemplate.html)", "allOf": [ { "type": "object", @@ -10926,18 +10903,19 @@ "Type": { "type": "string", "enum": [ - "AWS::EC2::DHCPOptions" + "AWS::MediaConvert::JobTemplate" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::EC2::DHCPOptions \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-dhcpoptions.html)" + "Resource Type definition for AWS::MediaConvert::JobTemplate \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediaconvert-jobtemplate.html)" ] }, "Properties": { - "$ref": "resources/aws-ec2-dhcpoptions.json" + "$ref": "resources/aws-mediaconvert-jobtemplate.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -10946,9 +10924,9 @@ ], "additionalProperties": false }, - "AWS_ApiGateway_UsagePlanKey": { + "AWS_DataZone_EnvironmentActions": { "type": "object", - "markdownDescription": "The ``AWS::ApiGateway::UsagePlanKey`` resource associates an API key with a usage plan. This association determines which users the usage plan is applied to. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-usageplankey.html)", + "markdownDescription": "Definition of AWS::DataZone::EnvironmentActions Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datazone-environmentactions.html)", "allOf": [ { "type": "object", @@ -10956,14 +10934,14 @@ "Type": { "type": "string", "enum": [ - "AWS::ApiGateway::UsagePlanKey" + "AWS::DataZone::EnvironmentActions" ], "markdownEnumDescriptions": [ - "The ``AWS::ApiGateway::UsagePlanKey`` resource associates an API key with a usage plan. This association determines which users the usage plan is applied to. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-usageplankey.html)" + "Definition of AWS::DataZone::EnvironmentActions Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datazone-environmentactions.html)" ] }, "Properties": { - "$ref": "resources/aws-apigateway-usageplankey.json" + "$ref": "resources/aws-datazone-environmentactions.json" } }, "required": [ @@ -10977,9 +10955,9 @@ ], "additionalProperties": false }, - "AWS_Glue_Classifier": { + "AWS_ServiceCatalog_LaunchRoleConstraint": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::Glue::Classifier \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-classifier.html)", + "markdownDescription": "Resource Type definition for AWS::ServiceCatalog::LaunchRoleConstraint \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicecatalog-launchroleconstraint.html)", "allOf": [ { "type": "object", @@ -10987,18 +10965,19 @@ "Type": { "type": "string", "enum": [ - "AWS::Glue::Classifier" + "AWS::ServiceCatalog::LaunchRoleConstraint" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::Glue::Classifier \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-classifier.html)" + "Resource Type definition for AWS::ServiceCatalog::LaunchRoleConstraint \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicecatalog-launchroleconstraint.html)" ] }, "Properties": { - "$ref": "resources/aws-glue-classifier.json" + "$ref": "resources/aws-servicecatalog-launchroleconstraint.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -11007,9 +10986,9 @@ ], "additionalProperties": false }, - "AWS_ResilienceHub_App": { + "AWS_Lightsail_Distribution": { "type": "object", - "markdownDescription": "Resource Type Definition for AWS::ResilienceHub::App. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-resiliencehub-app.html)", + "markdownDescription": "Resource Type definition for AWS::Lightsail::Distribution \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lightsail-distribution.html)", "allOf": [ { "type": "object", @@ -11017,14 +10996,14 @@ "Type": { "type": "string", "enum": [ - "AWS::ResilienceHub::App" + "AWS::Lightsail::Distribution" ], "markdownEnumDescriptions": [ - "Resource Type Definition for AWS::ResilienceHub::App. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-resiliencehub-app.html)" + "Resource Type definition for AWS::Lightsail::Distribution \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lightsail-distribution.html)" ] }, "Properties": { - "$ref": "resources/aws-resiliencehub-app.json" + "$ref": "resources/aws-lightsail-distribution.json" } }, "required": [ @@ -11038,9 +11017,9 @@ ], "additionalProperties": false }, - "AWS_ApplicationSignals_ServiceLevelObjective": { + "AWS_Lightsail_LoadBalancer": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::ApplicationSignals::ServiceLevelObjective \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-applicationsignals-servicelevelobjective.html)", + "markdownDescription": "Resource Type definition for AWS::Lightsail::LoadBalancer \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lightsail-loadbalancer.html)", "allOf": [ { "type": "object", @@ -11048,14 +11027,14 @@ "Type": { "type": "string", "enum": [ - "AWS::ApplicationSignals::ServiceLevelObjective" + "AWS::Lightsail::LoadBalancer" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::ApplicationSignals::ServiceLevelObjective \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-applicationsignals-servicelevelobjective.html)" + "Resource Type definition for AWS::Lightsail::LoadBalancer \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lightsail-loadbalancer.html)" ] }, "Properties": { - "$ref": "resources/aws-applicationsignals-servicelevelobjective.json" + "$ref": "resources/aws-lightsail-loadbalancer.json" } }, "required": [ @@ -11069,9 +11048,9 @@ ], "additionalProperties": false }, - "AWS_Scheduler_ScheduleGroup": { + "AWS_CloudFront_RealtimeLogConfig": { "type": "object", - "markdownDescription": "Definition of AWS::Scheduler::ScheduleGroup Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-scheduler-schedulegroup.html)", + "markdownDescription": "Resource Type definition for AWS::CloudFront::RealtimeLogConfig \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudfront-realtimelogconfig.html)", "allOf": [ { "type": "object", @@ -11079,18 +11058,19 @@ "Type": { "type": "string", "enum": [ - "AWS::Scheduler::ScheduleGroup" + "AWS::CloudFront::RealtimeLogConfig" ], "markdownEnumDescriptions": [ - "Definition of AWS::Scheduler::ScheduleGroup Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-scheduler-schedulegroup.html)" + "Resource Type definition for AWS::CloudFront::RealtimeLogConfig \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudfront-realtimelogconfig.html)" ] }, "Properties": { - "$ref": "resources/aws-scheduler-schedulegroup.json" + "$ref": "resources/aws-cloudfront-realtimelogconfig.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -11099,9 +11079,9 @@ ], "additionalProperties": false }, - "AWS_CloudFront_KeyValueStore": { + "AWS_EC2_NetworkPerformanceMetricSubscription": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::CloudFront::KeyValueStore \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudfront-keyvaluestore.html)", + "markdownDescription": "Resource Type definition for AWS::EC2::NetworkPerformanceMetricSubscription \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-networkperformancemetricsubscription.html)", "allOf": [ { "type": "object", @@ -11109,14 +11089,14 @@ "Type": { "type": "string", "enum": [ - "AWS::CloudFront::KeyValueStore" + "AWS::EC2::NetworkPerformanceMetricSubscription" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::CloudFront::KeyValueStore \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudfront-keyvaluestore.html)" + "Resource Type definition for AWS::EC2::NetworkPerformanceMetricSubscription \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-networkperformancemetricsubscription.html)" ] }, "Properties": { - "$ref": "resources/aws-cloudfront-keyvaluestore.json" + "$ref": "resources/aws-ec2-networkperformancemetricsubscription.json" } }, "required": [ @@ -11130,9 +11110,9 @@ ], "additionalProperties": false }, - "AWS_EC2_NetworkInsightsAnalysis": { + "AWS_SES_VdmAttributes": { "type": "object", - "markdownDescription": "Resource schema for AWS::EC2::NetworkInsightsAnalysis \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-networkinsightsanalysis.html)", + "markdownDescription": "Resource Type definition for AWS::SES::VdmAttributes \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ses-vdmattributes.html)", "allOf": [ { "type": "object", @@ -11140,19 +11120,18 @@ "Type": { "type": "string", "enum": [ - "AWS::EC2::NetworkInsightsAnalysis" + "AWS::SES::VdmAttributes" ], "markdownEnumDescriptions": [ - "Resource schema for AWS::EC2::NetworkInsightsAnalysis \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-networkinsightsanalysis.html)" + "Resource Type definition for AWS::SES::VdmAttributes \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ses-vdmattributes.html)" ] }, "Properties": { - "$ref": "resources/aws-ec2-networkinsightsanalysis.json" + "$ref": "resources/aws-ses-vdmattributes.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -11161,9 +11140,9 @@ ], "additionalProperties": false }, - "AWS_Redshift_ScheduledAction": { + "AWS_AppSync_DataSource": { "type": "object", - "markdownDescription": "The `AWS::Redshift::ScheduledAction` resource creates an Amazon Redshift Scheduled Action. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-redshift-scheduledaction.html)", + "markdownDescription": "Resource Type definition for AWS::AppSync::DataSource \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-datasource.html)", "allOf": [ { "type": "object", @@ -11171,14 +11150,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Redshift::ScheduledAction" + "AWS::AppSync::DataSource" ], "markdownEnumDescriptions": [ - "The `AWS::Redshift::ScheduledAction` resource creates an Amazon Redshift Scheduled Action. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-redshift-scheduledaction.html)" + "Resource Type definition for AWS::AppSync::DataSource \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-datasource.html)" ] }, "Properties": { - "$ref": "resources/aws-redshift-scheduledaction.json" + "$ref": "resources/aws-appsync-datasource.json" } }, "required": [ @@ -11192,9 +11171,9 @@ ], "additionalProperties": false }, - "AWS_S3_StorageLens": { + "AWS_EC2_VPC": { "type": "object", - "markdownDescription": "The AWS::S3::StorageLens resource is an Amazon S3 resource type that you can use to create Storage Lens configurations. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-s3-storagelens.html)", + "markdownDescription": "Specifies a virtual private cloud (VPC).\n To add an IPv6 CIDR block to the VPC, see [AWS::EC2::VPCCidrBlock](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpccidrblock.html).\n For more information, see [Virtual private clouds (VPC)](https://docs.aws.amazon.com/vpc/latest/userguide/configure-your-vpc.html) in the *Amazon VPC User Guide*. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpc.html)", "allOf": [ { "type": "object", @@ -11202,19 +11181,18 @@ "Type": { "type": "string", "enum": [ - "AWS::S3::StorageLens" + "AWS::EC2::VPC" ], "markdownEnumDescriptions": [ - "The AWS::S3::StorageLens resource is an Amazon S3 resource type that you can use to create Storage Lens configurations. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-s3-storagelens.html)" + "Specifies a virtual private cloud (VPC).\n To add an IPv6 CIDR block to the VPC, see [AWS::EC2::VPCCidrBlock](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpccidrblock.html).\n For more information, see [Virtual private clouds (VPC)](https://docs.aws.amazon.com/vpc/latest/userguide/configure-your-vpc.html) in the *Amazon VPC User Guide*. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpc.html)" ] }, "Properties": { - "$ref": "resources/aws-s3-storagelens.json" + "$ref": "resources/aws-ec2-vpc.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -11223,9 +11201,9 @@ ], "additionalProperties": false }, - "AWS_Config_OrganizationConformancePack": { + "AWS_OpsWorks_ElasticLoadBalancerAttachment": { "type": "object", - "markdownDescription": "Resource schema for AWS::Config::OrganizationConformancePack. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-config-organizationconformancepack.html)", + "markdownDescription": "Resource Type definition for AWS::OpsWorks::ElasticLoadBalancerAttachment \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opsworks-elasticloadbalancerattachment.html)", "allOf": [ { "type": "object", @@ -11233,14 +11211,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Config::OrganizationConformancePack" + "AWS::OpsWorks::ElasticLoadBalancerAttachment" ], "markdownEnumDescriptions": [ - "Resource schema for AWS::Config::OrganizationConformancePack. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-config-organizationconformancepack.html)" + "Resource Type definition for AWS::OpsWorks::ElasticLoadBalancerAttachment \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opsworks-elasticloadbalancerattachment.html)" ] }, "Properties": { - "$ref": "resources/aws-config-organizationconformancepack.json" + "$ref": "resources/aws-opsworks-elasticloadbalancerattachment.json" } }, "required": [ @@ -11254,9 +11232,9 @@ ], "additionalProperties": false }, - "AWS_ImageBuilder_ContainerRecipe": { + "AWS_ElasticLoadBalancing_LoadBalancer": { "type": "object", - "markdownDescription": "Resource schema for AWS::ImageBuilder::ContainerRecipe \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-imagebuilder-containerrecipe.html)", + "markdownDescription": "Resource Type definition for AWS::ElasticLoadBalancing::LoadBalancer \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticloadbalancing-loadbalancer.html)", "allOf": [ { "type": "object", @@ -11264,18 +11242,19 @@ "Type": { "type": "string", "enum": [ - "AWS::ImageBuilder::ContainerRecipe" + "AWS::ElasticLoadBalancing::LoadBalancer" ], "markdownEnumDescriptions": [ - "Resource schema for AWS::ImageBuilder::ContainerRecipe \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-imagebuilder-containerrecipe.html)" + "Resource Type definition for AWS::ElasticLoadBalancing::LoadBalancer \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticloadbalancing-loadbalancer.html)" ] }, "Properties": { - "$ref": "resources/aws-imagebuilder-containerrecipe.json" + "$ref": "resources/aws-elasticloadbalancing-loadbalancer.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -11284,9 +11263,9 @@ ], "additionalProperties": false }, - "AWS_SecurityHub_Standard": { + "AWS_MSK_BatchScramSecret": { "type": "object", - "markdownDescription": "The ``AWS::SecurityHub::Standard`` resource specifies the enablement of a security standard. The standard is identified by the ``StandardsArn`` property. To view a list of ASH standards and their Amazon Resource Names (ARNs), use the [DescribeStandards](https://docs.aws.amazon.com/securityhub/1.0/APIReference/API_DescribeStandards.html) API operation.\n You must create a separate ``AWS::SecurityHub::Standard`` resource for each standard that you want to enable.\n For more information about ASH standards, see [standards reference](https://docs.aws.amazon.com/securityhub/latest/userguide/standards-reference.html) in the *User Guide*. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-securityhub-standard.html)", + "markdownDescription": "Resource Type definition for AWS::MSK::BatchScramSecret \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-msk-batchscramsecret.html)", "allOf": [ { "type": "object", @@ -11294,14 +11273,14 @@ "Type": { "type": "string", "enum": [ - "AWS::SecurityHub::Standard" + "AWS::MSK::BatchScramSecret" ], "markdownEnumDescriptions": [ - "The ``AWS::SecurityHub::Standard`` resource specifies the enablement of a security standard. The standard is identified by the ``StandardsArn`` property. To view a list of ASH standards and their Amazon Resource Names (ARNs), use the [DescribeStandards](https://docs.aws.amazon.com/securityhub/1.0/APIReference/API_DescribeStandards.html) API operation.\n You must create a separate ``AWS::SecurityHub::Standard`` resource for each standard that you want to enable.\n For more information about ASH standards, see [standards reference](https://docs.aws.amazon.com/securityhub/latest/userguide/standards-reference.html) in the *User Guide*. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-securityhub-standard.html)" + "Resource Type definition for AWS::MSK::BatchScramSecret \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-msk-batchscramsecret.html)" ] }, "Properties": { - "$ref": "resources/aws-securityhub-standard.json" + "$ref": "resources/aws-msk-batchscramsecret.json" } }, "required": [ @@ -11315,9 +11294,9 @@ ], "additionalProperties": false }, - "AWS_ElastiCache_CacheCluster": { + "AWS_IoTTwinMaker_ComponentType": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::ElastiCache::CacheCluster \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticache-cachecluster.html)", + "markdownDescription": "Resource schema for AWS::IoTTwinMaker::ComponentType \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iottwinmaker-componenttype.html)", "allOf": [ { "type": "object", @@ -11325,14 +11304,14 @@ "Type": { "type": "string", "enum": [ - "AWS::ElastiCache::CacheCluster" + "AWS::IoTTwinMaker::ComponentType" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::ElastiCache::CacheCluster \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticache-cachecluster.html)" + "Resource schema for AWS::IoTTwinMaker::ComponentType \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iottwinmaker-componenttype.html)" ] }, "Properties": { - "$ref": "resources/aws-elasticache-cachecluster.json" + "$ref": "resources/aws-iottwinmaker-componenttype.json" } }, "required": [ @@ -11346,9 +11325,9 @@ ], "additionalProperties": false }, - "AWS_SecurityHub_SecurityControl": { + "AWS_EMR_StudioSessionMapping": { "type": "object", - "markdownDescription": "A security control in Security Hub describes a security best practice related to a specific resource. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-securityhub-securitycontrol.html)", + "markdownDescription": "An example resource schema demonstrating some basic constructs and validation rules. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-emr-studiosessionmapping.html)", "allOf": [ { "type": "object", @@ -11356,14 +11335,14 @@ "Type": { "type": "string", "enum": [ - "AWS::SecurityHub::SecurityControl" + "AWS::EMR::StudioSessionMapping" ], "markdownEnumDescriptions": [ - "A security control in Security Hub describes a security best practice related to a specific resource. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-securityhub-securitycontrol.html)" + "An example resource schema demonstrating some basic constructs and validation rules. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-emr-studiosessionmapping.html)" ] }, "Properties": { - "$ref": "resources/aws-securityhub-securitycontrol.json" + "$ref": "resources/aws-emr-studiosessionmapping.json" } }, "required": [ @@ -11377,9 +11356,9 @@ ], "additionalProperties": false }, - "AWS_SageMaker_ModelPackageGroup": { + "AWS_KafkaConnect_Connector": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::SageMaker::ModelPackageGroup \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-modelpackagegroup.html)", + "markdownDescription": "Resource Type definition for AWS::KafkaConnect::Connector \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kafkaconnect-connector.html)", "allOf": [ { "type": "object", @@ -11387,14 +11366,14 @@ "Type": { "type": "string", "enum": [ - "AWS::SageMaker::ModelPackageGroup" + "AWS::KafkaConnect::Connector" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::SageMaker::ModelPackageGroup \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-modelpackagegroup.html)" + "Resource Type definition for AWS::KafkaConnect::Connector \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kafkaconnect-connector.html)" ] }, "Properties": { - "$ref": "resources/aws-sagemaker-modelpackagegroup.json" + "$ref": "resources/aws-kafkaconnect-connector.json" } }, "required": [ @@ -11408,9 +11387,9 @@ ], "additionalProperties": false }, - "AWS_SecurityHub_PolicyAssociation": { + "AWS_SSM_ResourceDataSync": { "type": "object", - "markdownDescription": "The AWS::SecurityHub::PolicyAssociation resource represents the AWS Security Hub Central Configuration Policy associations in your Target. Only the AWS Security Hub delegated administrator can create the resouce from the home region. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-securityhub-policyassociation.html)", + "markdownDescription": "Resource Type definition for AWS::SSM::ResourceDataSync \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-resourcedatasync.html)", "allOf": [ { "type": "object", @@ -11418,14 +11397,14 @@ "Type": { "type": "string", "enum": [ - "AWS::SecurityHub::PolicyAssociation" + "AWS::SSM::ResourceDataSync" ], "markdownEnumDescriptions": [ - "The AWS::SecurityHub::PolicyAssociation resource represents the AWS Security Hub Central Configuration Policy associations in your Target. Only the AWS Security Hub delegated administrator can create the resouce from the home region. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-securityhub-policyassociation.html)" + "Resource Type definition for AWS::SSM::ResourceDataSync \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-resourcedatasync.html)" ] }, "Properties": { - "$ref": "resources/aws-securityhub-policyassociation.json" + "$ref": "resources/aws-ssm-resourcedatasync.json" } }, "required": [ @@ -11439,9 +11418,9 @@ ], "additionalProperties": false }, - "AWS_SES_Template": { + "AWS_CloudFormation_HookVersion": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::SES::Template \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ses-template.html)", + "markdownDescription": "Publishes new or first hook version to AWS CloudFormation Registry. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudformation-hookversion.html)", "allOf": [ { "type": "object", @@ -11449,18 +11428,19 @@ "Type": { "type": "string", "enum": [ - "AWS::SES::Template" + "AWS::CloudFormation::HookVersion" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::SES::Template \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ses-template.html)" + "Publishes new or first hook version to AWS CloudFormation Registry. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudformation-hookversion.html)" ] }, "Properties": { - "$ref": "resources/aws-ses-template.json" + "$ref": "resources/aws-cloudformation-hookversion.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -11469,9 +11449,9 @@ ], "additionalProperties": false }, - "AWS_IoTWireless_Destination": { + "AWS_S3_BucketPolicy": { "type": "object", - "markdownDescription": "Destination's resource schema demonstrating some basic constructs and validation rules. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotwireless-destination.html)", + "markdownDescription": "Applies an Amazon S3 bucket policy to an Amazon S3 bucket. If you are using an identity other than the root user of the AWS-account that owns the bucket, the calling identity must have the ``PutBucketPolicy`` permissions on the specified bucket and belong to the bucket owner's account in order to use this operation.\n If you don't have ``PutBucketPolicy`` permissions, Amazon S3 returns a ``403 Access Denied`` error. If you have the correct permissions, but you're not using an identity that belongs to the bucket owner's account, Amazon S3 returns a ``405 Method Not Allowed`` error.\n As a security precaution, the root user of the AWS-account that owns a bucket can always use this operation, even if the policy explicitly denies the root user the ability to perform this action. \n For more information, see [Bucket policy examples](https://docs.aws.amazon.com/AmazonS3/latest/userguide/example-bucket-policies.html).\n The following operations are related to ``PutBucketPolicy``:\n + [CreateBucket](https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateBucket.html) \n + [DeleteBucket](https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucket.html) \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-s3-bucketpolicy.html)", "allOf": [ { "type": "object", @@ -11479,14 +11459,14 @@ "Type": { "type": "string", "enum": [ - "AWS::IoTWireless::Destination" + "AWS::S3::BucketPolicy" ], "markdownEnumDescriptions": [ - "Destination's resource schema demonstrating some basic constructs and validation rules. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotwireless-destination.html)" + "Applies an Amazon S3 bucket policy to an Amazon S3 bucket. If you are using an identity other than the root user of the AWS-account that owns the bucket, the calling identity must have the ``PutBucketPolicy`` permissions on the specified bucket and belong to the bucket owner's account in order to use this operation.\n If you don't have ``PutBucketPolicy`` permissions, Amazon S3 returns a ``403 Access Denied`` error. If you have the correct permissions, but you're not using an identity that belongs to the bucket owner's account, Amazon S3 returns a ``405 Method Not Allowed`` error.\n As a security precaution, the root user of the AWS-account that owns a bucket can always use this operation, even if the policy explicitly denies the root user the ability to perform this action. \n For more information, see [Bucket policy examples](https://docs.aws.amazon.com/AmazonS3/latest/userguide/example-bucket-policies.html).\n The following operations are related to ``PutBucketPolicy``:\n + [CreateBucket](https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateBucket.html) \n + [DeleteBucket](https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucket.html) \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-s3-bucketpolicy.html)" ] }, "Properties": { - "$ref": "resources/aws-iotwireless-destination.json" + "$ref": "resources/aws-s3-bucketpolicy.json" } }, "required": [ @@ -11500,9 +11480,9 @@ ], "additionalProperties": false }, - "AWS_Macie_CustomDataIdentifier": { + "AWS_SageMaker_MonitoringSchedule": { "type": "object", - "markdownDescription": "Macie CustomDataIdentifier resource schema \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-macie-customdataidentifier.html)", + "markdownDescription": "Resource Type definition for AWS::SageMaker::MonitoringSchedule \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-monitoringschedule.html)", "allOf": [ { "type": "object", @@ -11510,14 +11490,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Macie::CustomDataIdentifier" + "AWS::SageMaker::MonitoringSchedule" ], "markdownEnumDescriptions": [ - "Macie CustomDataIdentifier resource schema \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-macie-customdataidentifier.html)" + "Resource Type definition for AWS::SageMaker::MonitoringSchedule \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-monitoringschedule.html)" ] }, "Properties": { - "$ref": "resources/aws-macie-customdataidentifier.json" + "$ref": "resources/aws-sagemaker-monitoringschedule.json" } }, "required": [ @@ -11531,9 +11511,9 @@ ], "additionalProperties": false }, - "AWS_EC2_TrafficMirrorSession": { + "AWS_DataZone_ProjectMembership": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::EC2::TrafficMirrorSession \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-trafficmirrorsession.html)", + "markdownDescription": "Definition of AWS::DataZone::ProjectMembership Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datazone-projectmembership.html)", "allOf": [ { "type": "object", @@ -11541,14 +11521,14 @@ "Type": { "type": "string", "enum": [ - "AWS::EC2::TrafficMirrorSession" + "AWS::DataZone::ProjectMembership" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::EC2::TrafficMirrorSession \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-trafficmirrorsession.html)" + "Definition of AWS::DataZone::ProjectMembership Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datazone-projectmembership.html)" ] }, "Properties": { - "$ref": "resources/aws-ec2-trafficmirrorsession.json" + "$ref": "resources/aws-datazone-projectmembership.json" } }, "required": [ @@ -11562,9 +11542,9 @@ ], "additionalProperties": false }, - "AWS_ImageBuilder_LifecyclePolicy": { + "AWS_EC2_CarrierGateway": { "type": "object", - "markdownDescription": "Resource schema for AWS::ImageBuilder::LifecyclePolicy \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-imagebuilder-lifecyclepolicy.html)", + "markdownDescription": "An example resource schema demonstrating some basic constructs and validation rules. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-carriergateway.html)", "allOf": [ { "type": "object", @@ -11572,14 +11552,14 @@ "Type": { "type": "string", "enum": [ - "AWS::ImageBuilder::LifecyclePolicy" + "AWS::EC2::CarrierGateway" ], "markdownEnumDescriptions": [ - "Resource schema for AWS::ImageBuilder::LifecyclePolicy \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-imagebuilder-lifecyclepolicy.html)" + "An example resource schema demonstrating some basic constructs and validation rules. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-carriergateway.html)" ] }, "Properties": { - "$ref": "resources/aws-imagebuilder-lifecyclepolicy.json" + "$ref": "resources/aws-ec2-carriergateway.json" } }, "required": [ @@ -11593,9 +11573,9 @@ ], "additionalProperties": false }, - "AWS_Deadline_Fleet": { + "AWS_Glue_SchemaVersionMetadata": { "type": "object", - "markdownDescription": "Definition of AWS::Deadline::Fleet Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-deadline-fleet.html)", + "markdownDescription": "This resource adds Key-Value metadata to a Schema version of Glue Schema Registry. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-schemaversionmetadata.html)", "allOf": [ { "type": "object", @@ -11603,14 +11583,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Deadline::Fleet" + "AWS::Glue::SchemaVersionMetadata" ], "markdownEnumDescriptions": [ - "Definition of AWS::Deadline::Fleet Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-deadline-fleet.html)" + "This resource adds Key-Value metadata to a Schema version of Glue Schema Registry. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-schemaversionmetadata.html)" ] }, "Properties": { - "$ref": "resources/aws-deadline-fleet.json" + "$ref": "resources/aws-glue-schemaversionmetadata.json" } }, "required": [ @@ -11624,9 +11604,9 @@ ], "additionalProperties": false }, - "AWS_ACMPCA_CertificateAuthorityActivation": { + "AWS_XRay_SamplingRule": { "type": "object", - "markdownDescription": "Used to install the certificate authority certificate and update the certificate authority status. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-acmpca-certificateauthorityactivation.html)", + "markdownDescription": "This schema provides construct and validation rules for AWS-XRay SamplingRule resource parameters. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-xray-samplingrule.html)", "allOf": [ { "type": "object", @@ -11634,19 +11614,18 @@ "Type": { "type": "string", "enum": [ - "AWS::ACMPCA::CertificateAuthorityActivation" + "AWS::XRay::SamplingRule" ], "markdownEnumDescriptions": [ - "Used to install the certificate authority certificate and update the certificate authority status. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-acmpca-certificateauthorityactivation.html)" + "This schema provides construct and validation rules for AWS-XRay SamplingRule resource parameters. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-xray-samplingrule.html)" ] }, "Properties": { - "$ref": "resources/aws-acmpca-certificateauthorityactivation.json" + "$ref": "resources/aws-xray-samplingrule.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -11655,9 +11634,9 @@ ], "additionalProperties": false }, - "AWS_AppSync_DomainNameApiAssociation": { + "AWS_Omics_VariantStore": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::AppSync::DomainNameApiAssociation \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-domainnameapiassociation.html)", + "markdownDescription": "Definition of AWS::Omics::VariantStore Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-omics-variantstore.html)", "allOf": [ { "type": "object", @@ -11665,14 +11644,14 @@ "Type": { "type": "string", "enum": [ - "AWS::AppSync::DomainNameApiAssociation" + "AWS::Omics::VariantStore" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::AppSync::DomainNameApiAssociation \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-domainnameapiassociation.html)" + "Definition of AWS::Omics::VariantStore Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-omics-variantstore.html)" ] }, "Properties": { - "$ref": "resources/aws-appsync-domainnameapiassociation.json" + "$ref": "resources/aws-omics-variantstore.json" } }, "required": [ @@ -11686,9 +11665,9 @@ ], "additionalProperties": false }, - "AWS_ECS_ClusterCapacityProviderAssociations": { + "AWS_ElasticLoadBalancingV2_ListenerRule": { "type": "object", - "markdownDescription": "Associate a set of ECS Capacity Providers with a specified ECS Cluster \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ecs-clustercapacityproviderassociations.html)", + "markdownDescription": "Specifies a listener rule. The listener must be associated with an Application Load Balancer. Each rule consists of a priority, one or more actions, and one or more conditions.\n For more information, see [Quotas for your Application Load Balancers](https://docs.aws.amazon.com/elasticloadbalancing/latest/application/load-balancer-limits.html) in the *User Guide for Application Load Balancers*. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticloadbalancingv2-listenerrule.html)", "allOf": [ { "type": "object", @@ -11696,14 +11675,14 @@ "Type": { "type": "string", "enum": [ - "AWS::ECS::ClusterCapacityProviderAssociations" + "AWS::ElasticLoadBalancingV2::ListenerRule" ], "markdownEnumDescriptions": [ - "Associate a set of ECS Capacity Providers with a specified ECS Cluster \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ecs-clustercapacityproviderassociations.html)" + "Specifies a listener rule. The listener must be associated with an Application Load Balancer. Each rule consists of a priority, one or more actions, and one or more conditions.\n For more information, see [Quotas for your Application Load Balancers](https://docs.aws.amazon.com/elasticloadbalancing/latest/application/load-balancer-limits.html) in the *User Guide for Application Load Balancers*. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticloadbalancingv2-listenerrule.html)" ] }, "Properties": { - "$ref": "resources/aws-ecs-clustercapacityproviderassociations.json" + "$ref": "resources/aws-elasticloadbalancingv2-listenerrule.json" } }, "required": [ @@ -11748,9 +11727,9 @@ ], "additionalProperties": false }, - "AWS_IoTSiteWise_Asset": { + "AWS_WorkSpacesWeb_NetworkSettings": { "type": "object", - "markdownDescription": "Resource schema for AWS::IoTSiteWise::Asset \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotsitewise-asset.html)", + "markdownDescription": "Definition of AWS::WorkSpacesWeb::NetworkSettings Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-workspacesweb-networksettings.html)", "allOf": [ { "type": "object", @@ -11758,14 +11737,14 @@ "Type": { "type": "string", "enum": [ - "AWS::IoTSiteWise::Asset" + "AWS::WorkSpacesWeb::NetworkSettings" ], "markdownEnumDescriptions": [ - "Resource schema for AWS::IoTSiteWise::Asset \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotsitewise-asset.html)" + "Definition of AWS::WorkSpacesWeb::NetworkSettings Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-workspacesweb-networksettings.html)" ] }, "Properties": { - "$ref": "resources/aws-iotsitewise-asset.json" + "$ref": "resources/aws-workspacesweb-networksettings.json" } }, "required": [ @@ -11779,9 +11758,9 @@ ], "additionalProperties": false }, - "AWS_SupportApp_SlackChannelConfiguration": { + "AWS_RefactorSpaces_Service": { "type": "object", - "markdownDescription": "An AWS Support App resource that creates, updates, lists and deletes Slack channel configurations. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-supportapp-slackchannelconfiguration.html)", + "markdownDescription": "Definition of AWS::RefactorSpaces::Service Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-refactorspaces-service.html)", "allOf": [ { "type": "object", @@ -11789,14 +11768,14 @@ "Type": { "type": "string", "enum": [ - "AWS::SupportApp::SlackChannelConfiguration" + "AWS::RefactorSpaces::Service" ], "markdownEnumDescriptions": [ - "An AWS Support App resource that creates, updates, lists and deletes Slack channel configurations. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-supportapp-slackchannelconfiguration.html)" + "Definition of AWS::RefactorSpaces::Service Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-refactorspaces-service.html)" ] }, "Properties": { - "$ref": "resources/aws-supportapp-slackchannelconfiguration.json" + "$ref": "resources/aws-refactorspaces-service.json" } }, "required": [ @@ -11810,9 +11789,9 @@ ], "additionalProperties": false }, - "AWS_Glue_CustomEntityType": { + "AWS_CodeStarConnections_RepositoryLink": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::Glue::CustomEntityType \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-customentitytype.html)", + "markdownDescription": "Schema for AWS::CodeStarConnections::RepositoryLink resource which is used to aggregate repository metadata relevant to synchronizing source provider content to AWS Resources. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codestarconnections-repositorylink.html)", "allOf": [ { "type": "object", @@ -11820,18 +11799,19 @@ "Type": { "type": "string", "enum": [ - "AWS::Glue::CustomEntityType" + "AWS::CodeStarConnections::RepositoryLink" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::Glue::CustomEntityType \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-customentitytype.html)" + "Schema for AWS::CodeStarConnections::RepositoryLink resource which is used to aggregate repository metadata relevant to synchronizing source provider content to AWS Resources. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codestarconnections-repositorylink.html)" ] }, "Properties": { - "$ref": "resources/aws-glue-customentitytype.json" + "$ref": "resources/aws-codestarconnections-repositorylink.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -11840,9 +11820,9 @@ ], "additionalProperties": false }, - "AWS_IVS_Channel": { + "AWS_Forecast_Dataset": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::IVS::Channel \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ivs-channel.html)", + "markdownDescription": "Resource Type Definition for AWS::Forecast::Dataset \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-forecast-dataset.html)", "allOf": [ { "type": "object", @@ -11850,18 +11830,19 @@ "Type": { "type": "string", "enum": [ - "AWS::IVS::Channel" + "AWS::Forecast::Dataset" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::IVS::Channel \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ivs-channel.html)" + "Resource Type Definition for AWS::Forecast::Dataset \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-forecast-dataset.html)" ] }, "Properties": { - "$ref": "resources/aws-ivs-channel.json" + "$ref": "resources/aws-forecast-dataset.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -11870,9 +11851,9 @@ ], "additionalProperties": false }, - "AWS_IoT_TopicRuleDestination": { + "AWS_AutoScaling_ScheduledAction": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::IoT::TopicRuleDestination \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-topicruledestination.html)", + "markdownDescription": "The AWS::AutoScaling::ScheduledAction resource specifies an Amazon EC2 Auto Scaling scheduled action so that the Auto Scaling group can change the number of instances available for your application in response to predictable load changes. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-autoscaling-scheduledaction.html)", "allOf": [ { "type": "object", @@ -11880,18 +11861,19 @@ "Type": { "type": "string", "enum": [ - "AWS::IoT::TopicRuleDestination" + "AWS::AutoScaling::ScheduledAction" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::IoT::TopicRuleDestination \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-topicruledestination.html)" + "The AWS::AutoScaling::ScheduledAction resource specifies an Amazon EC2 Auto Scaling scheduled action so that the Auto Scaling group can change the number of instances available for your application in response to predictable load changes. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-autoscaling-scheduledaction.html)" ] }, "Properties": { - "$ref": "resources/aws-iot-topicruledestination.json" + "$ref": "resources/aws-autoscaling-scheduledaction.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -11900,9 +11882,9 @@ ], "additionalProperties": false }, - "AWS_Route53Resolver_ResolverRule": { + "AWS_CleanRooms_ConfiguredTableAssociation": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::Route53Resolver::ResolverRule \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53resolver-resolverrule.html)", + "markdownDescription": "Represents a table that can be queried within a collaboration \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cleanrooms-configuredtableassociation.html)", "allOf": [ { "type": "object", @@ -11910,14 +11892,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Route53Resolver::ResolverRule" + "AWS::CleanRooms::ConfiguredTableAssociation" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::Route53Resolver::ResolverRule \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53resolver-resolverrule.html)" + "Represents a table that can be queried within a collaboration \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cleanrooms-configuredtableassociation.html)" ] }, "Properties": { - "$ref": "resources/aws-route53resolver-resolverrule.json" + "$ref": "resources/aws-cleanrooms-configuredtableassociation.json" } }, "required": [ @@ -11931,9 +11913,9 @@ ], "additionalProperties": false }, - "AWS_Organizations_Policy": { + "AWS_OpenSearchServerless_VpcEndpoint": { "type": "object", - "markdownDescription": "Policies in AWS Organizations enable you to manage different features of the AWS accounts in your organization. You can use policies when all features are enabled in your organization. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-organizations-policy.html)", + "markdownDescription": "Amazon OpenSearchServerless vpc endpoint resource \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opensearchserverless-vpcendpoint.html)", "allOf": [ { "type": "object", @@ -11941,14 +11923,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Organizations::Policy" + "AWS::OpenSearchServerless::VpcEndpoint" ], "markdownEnumDescriptions": [ - "Policies in AWS Organizations enable you to manage different features of the AWS accounts in your organization. You can use policies when all features are enabled in your organization. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-organizations-policy.html)" + "Amazon OpenSearchServerless vpc endpoint resource \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opensearchserverless-vpcendpoint.html)" ] }, "Properties": { - "$ref": "resources/aws-organizations-policy.json" + "$ref": "resources/aws-opensearchserverless-vpcendpoint.json" } }, "required": [ @@ -11962,9 +11944,9 @@ ], "additionalProperties": false }, - "AWS_Panorama_ApplicationInstance": { + "AWS_EC2_VPCPeeringConnection": { "type": "object", - "markdownDescription": "Creates an application instance and deploys it to a device. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-panorama-applicationinstance.html)", + "markdownDescription": "Resource Type definition for AWS::EC2::VPCPeeringConnection \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpcpeeringconnection.html)", "allOf": [ { "type": "object", @@ -11972,14 +11954,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Panorama::ApplicationInstance" + "AWS::EC2::VPCPeeringConnection" ], "markdownEnumDescriptions": [ - "Creates an application instance and deploys it to a device. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-panorama-applicationinstance.html)" + "Resource Type definition for AWS::EC2::VPCPeeringConnection \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpcpeeringconnection.html)" ] }, "Properties": { - "$ref": "resources/aws-panorama-applicationinstance.json" + "$ref": "resources/aws-ec2-vpcpeeringconnection.json" } }, "required": [ @@ -11993,9 +11975,9 @@ ], "additionalProperties": false }, - "AWS_LookoutVision_Project": { + "AWS_FraudDetector_Detector": { "type": "object", - "markdownDescription": "The AWS::LookoutVision::Project type creates an Amazon Lookout for Vision project. A project is a grouping of the resources needed to create and manage a Lookout for Vision model. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lookoutvision-project.html)", + "markdownDescription": "A resource schema for a Detector in Amazon Fraud Detector. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-frauddetector-detector.html)", "allOf": [ { "type": "object", @@ -12003,14 +11985,14 @@ "Type": { "type": "string", "enum": [ - "AWS::LookoutVision::Project" + "AWS::FraudDetector::Detector" ], "markdownEnumDescriptions": [ - "The AWS::LookoutVision::Project type creates an Amazon Lookout for Vision project. A project is a grouping of the resources needed to create and manage a Lookout for Vision model. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lookoutvision-project.html)" + "A resource schema for a Detector in Amazon Fraud Detector. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-frauddetector-detector.html)" ] }, "Properties": { - "$ref": "resources/aws-lookoutvision-project.json" + "$ref": "resources/aws-frauddetector-detector.json" } }, "required": [ @@ -12024,9 +12006,9 @@ ], "additionalProperties": false }, - "AWS_MediaLive_Multiplex": { + "AWS_Route53Resolver_ResolverConfig": { "type": "object", - "markdownDescription": "Resource schema for AWS::MediaLive::Multiplex \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-medialive-multiplex.html)", + "markdownDescription": "Resource schema for AWS::Route53Resolver::ResolverConfig. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53resolver-resolverconfig.html)", "allOf": [ { "type": "object", @@ -12034,14 +12016,14 @@ "Type": { "type": "string", "enum": [ - "AWS::MediaLive::Multiplex" + "AWS::Route53Resolver::ResolverConfig" ], "markdownEnumDescriptions": [ - "Resource schema for AWS::MediaLive::Multiplex \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-medialive-multiplex.html)" + "Resource schema for AWS::Route53Resolver::ResolverConfig. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53resolver-resolverconfig.html)" ] }, "Properties": { - "$ref": "resources/aws-medialive-multiplex.json" + "$ref": "resources/aws-route53resolver-resolverconfig.json" } }, "required": [ @@ -12055,9 +12037,9 @@ ], "additionalProperties": false }, - "AWS_Batch_SchedulingPolicy": { + "AWS_Lex_BotAlias": { "type": "object", - "markdownDescription": "Resource Type schema for AWS::Batch::SchedulingPolicy \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-batch-schedulingpolicy.html)", + "markdownDescription": "A Bot Alias enables you to change the version of a bot without updating applications that use the bot \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lex-botalias.html)", "allOf": [ { "type": "object", @@ -12065,18 +12047,19 @@ "Type": { "type": "string", "enum": [ - "AWS::Batch::SchedulingPolicy" + "AWS::Lex::BotAlias" ], "markdownEnumDescriptions": [ - "Resource Type schema for AWS::Batch::SchedulingPolicy \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-batch-schedulingpolicy.html)" + "A Bot Alias enables you to change the version of a bot without updating applications that use the bot \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lex-botalias.html)" ] }, "Properties": { - "$ref": "resources/aws-batch-schedulingpolicy.json" + "$ref": "resources/aws-lex-botalias.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -12085,9 +12068,9 @@ ], "additionalProperties": false }, - "AWS_IoTWireless_NetworkAnalyzerConfiguration": { + "AWS_Wisdom_AIPrompt": { "type": "object", - "markdownDescription": "Create and manage NetworkAnalyzerConfiguration resource. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotwireless-networkanalyzerconfiguration.html)", + "markdownDescription": "Definition of AWS::Wisdom::AIPrompt Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-wisdom-aiprompt.html)", "allOf": [ { "type": "object", @@ -12095,14 +12078,14 @@ "Type": { "type": "string", "enum": [ - "AWS::IoTWireless::NetworkAnalyzerConfiguration" + "AWS::Wisdom::AIPrompt" ], "markdownEnumDescriptions": [ - "Create and manage NetworkAnalyzerConfiguration resource. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotwireless-networkanalyzerconfiguration.html)" + "Definition of AWS::Wisdom::AIPrompt Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-wisdom-aiprompt.html)" ] }, "Properties": { - "$ref": "resources/aws-iotwireless-networkanalyzerconfiguration.json" + "$ref": "resources/aws-wisdom-aiprompt.json" } }, "required": [ @@ -12116,9 +12099,9 @@ ], "additionalProperties": false }, - "AWS_EKS_PodIdentityAssociation": { + "AWS_QuickSight_Dashboard": { "type": "object", - "markdownDescription": "An object representing an Amazon EKS PodIdentityAssociation. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-eks-podidentityassociation.html)", + "markdownDescription": "Definition of the AWS::QuickSight::Dashboard Resource Type. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-quicksight-dashboard.html)", "allOf": [ { "type": "object", @@ -12126,14 +12109,14 @@ "Type": { "type": "string", "enum": [ - "AWS::EKS::PodIdentityAssociation" + "AWS::QuickSight::Dashboard" ], "markdownEnumDescriptions": [ - "An object representing an Amazon EKS PodIdentityAssociation. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-eks-podidentityassociation.html)" + "Definition of the AWS::QuickSight::Dashboard Resource Type. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-quicksight-dashboard.html)" ] }, "Properties": { - "$ref": "resources/aws-eks-podidentityassociation.json" + "$ref": "resources/aws-quicksight-dashboard.json" } }, "required": [ @@ -12147,9 +12130,9 @@ ], "additionalProperties": false }, - "AWS_RDS_DBSecurityGroup": { + "AWS_EMRContainers_VirtualCluster": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::RDS::DBSecurityGroup \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbsecuritygroup.html)", + "markdownDescription": "Resource Schema of AWS::EMRContainers::VirtualCluster Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-emrcontainers-virtualcluster.html)", "allOf": [ { "type": "object", @@ -12157,14 +12140,14 @@ "Type": { "type": "string", "enum": [ - "AWS::RDS::DBSecurityGroup" + "AWS::EMRContainers::VirtualCluster" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::RDS::DBSecurityGroup \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbsecuritygroup.html)" + "Resource Schema of AWS::EMRContainers::VirtualCluster Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-emrcontainers-virtualcluster.html)" ] }, "Properties": { - "$ref": "resources/aws-rds-dbsecuritygroup.json" + "$ref": "resources/aws-emrcontainers-virtualcluster.json" } }, "required": [ @@ -12178,9 +12161,9 @@ ], "additionalProperties": false }, - "AWS_S3_BucketPolicy": { + "AWS_EC2_InternetGateway": { "type": "object", - "markdownDescription": "Applies an Amazon S3 bucket policy to an Amazon S3 bucket. If you are using an identity other than the root user of the AWS-account that owns the bucket, the calling identity must have the ``PutBucketPolicy`` permissions on the specified bucket and belong to the bucket owner's account in order to use this operation.\n If you don't have ``PutBucketPolicy`` permissions, Amazon S3 returns a ``403 Access Denied`` error. If you have the correct permissions, but you're not using an identity that belongs to the bucket owner's account, Amazon S3 returns a ``405 Method Not Allowed`` error.\n As a security precaution, the root user of the AWS-account that owns a bucket can always use this operation, even if the policy explicitly denies the root user the ability to perform this action. \n For more information, see [Bucket policy examples](https://docs.aws.amazon.com/AmazonS3/latest/userguide/example-bucket-policies.html).\n The following operations are related to ``PutBucketPolicy``:\n + [CreateBucket](https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateBucket.html) \n + [DeleteBucket](https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucket.html) \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-s3-bucketpolicy.html)", + "markdownDescription": "Allocates an internet gateway for use with a VPC. After creating the Internet gateway, you then attach it to a VPC. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-internetgateway.html)", "allOf": [ { "type": "object", @@ -12188,19 +12171,18 @@ "Type": { "type": "string", "enum": [ - "AWS::S3::BucketPolicy" + "AWS::EC2::InternetGateway" ], "markdownEnumDescriptions": [ - "Applies an Amazon S3 bucket policy to an Amazon S3 bucket. If you are using an identity other than the root user of the AWS-account that owns the bucket, the calling identity must have the ``PutBucketPolicy`` permissions on the specified bucket and belong to the bucket owner's account in order to use this operation.\n If you don't have ``PutBucketPolicy`` permissions, Amazon S3 returns a ``403 Access Denied`` error. If you have the correct permissions, but you're not using an identity that belongs to the bucket owner's account, Amazon S3 returns a ``405 Method Not Allowed`` error.\n As a security precaution, the root user of the AWS-account that owns a bucket can always use this operation, even if the policy explicitly denies the root user the ability to perform this action. \n For more information, see [Bucket policy examples](https://docs.aws.amazon.com/AmazonS3/latest/userguide/example-bucket-policies.html).\n The following operations are related to ``PutBucketPolicy``:\n + [CreateBucket](https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateBucket.html) \n + [DeleteBucket](https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucket.html) \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-s3-bucketpolicy.html)" + "Allocates an internet gateway for use with a VPC. After creating the Internet gateway, you then attach it to a VPC. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-internetgateway.html)" ] }, "Properties": { - "$ref": "resources/aws-s3-bucketpolicy.json" + "$ref": "resources/aws-ec2-internetgateway.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -12209,9 +12191,9 @@ ], "additionalProperties": false }, - "AWS_Forecast_DatasetGroup": { + "AWS_IVSChat_LoggingConfiguration": { "type": "object", - "markdownDescription": "Represents a dataset group that holds a collection of related datasets \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-forecast-datasetgroup.html)", + "markdownDescription": "Resource type definition for AWS::IVSChat::LoggingConfiguration. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ivschat-loggingconfiguration.html)", "allOf": [ { "type": "object", @@ -12219,14 +12201,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Forecast::DatasetGroup" + "AWS::IVSChat::LoggingConfiguration" ], "markdownEnumDescriptions": [ - "Represents a dataset group that holds a collection of related datasets \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-forecast-datasetgroup.html)" + "Resource type definition for AWS::IVSChat::LoggingConfiguration. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ivschat-loggingconfiguration.html)" ] }, "Properties": { - "$ref": "resources/aws-forecast-datasetgroup.json" + "$ref": "resources/aws-ivschat-loggingconfiguration.json" } }, "required": [ @@ -12240,9 +12222,9 @@ ], "additionalProperties": false }, - "AWS_Synthetics_Canary": { + "AWS_ElastiCache_SecurityGroup": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::Synthetics::Canary \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-synthetics-canary.html)", + "markdownDescription": "Resource Type definition for AWS::ElastiCache::SecurityGroup \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticache-securitygroup.html)", "allOf": [ { "type": "object", @@ -12250,14 +12232,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Synthetics::Canary" + "AWS::ElastiCache::SecurityGroup" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::Synthetics::Canary \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-synthetics-canary.html)" + "Resource Type definition for AWS::ElastiCache::SecurityGroup \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticache-securitygroup.html)" ] }, "Properties": { - "$ref": "resources/aws-synthetics-canary.json" + "$ref": "resources/aws-elasticache-securitygroup.json" } }, "required": [ @@ -12271,9 +12253,9 @@ ], "additionalProperties": false }, - "AWS_EC2_CarrierGateway": { + "AWS_ApiGateway_Resource": { "type": "object", - "markdownDescription": "An example resource schema demonstrating some basic constructs and validation rules. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-carriergateway.html)", + "markdownDescription": "The ``AWS::ApiGateway::Resource`` resource creates a resource in an API. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-resource.html)", "allOf": [ { "type": "object", @@ -12281,14 +12263,14 @@ "Type": { "type": "string", "enum": [ - "AWS::EC2::CarrierGateway" + "AWS::ApiGateway::Resource" ], "markdownEnumDescriptions": [ - "An example resource schema demonstrating some basic constructs and validation rules. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-carriergateway.html)" + "The ``AWS::ApiGateway::Resource`` resource creates a resource in an API. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-resource.html)" ] }, "Properties": { - "$ref": "resources/aws-ec2-carriergateway.json" + "$ref": "resources/aws-apigateway-resource.json" } }, "required": [ @@ -12302,9 +12284,9 @@ ], "additionalProperties": false }, - "AWS_Lightsail_Instance": { + "AWS_ImageBuilder_InfrastructureConfiguration": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::Lightsail::Instance \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lightsail-instance.html)", + "markdownDescription": "Resource schema for AWS::ImageBuilder::InfrastructureConfiguration \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-imagebuilder-infrastructureconfiguration.html)", "allOf": [ { "type": "object", @@ -12312,14 +12294,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Lightsail::Instance" + "AWS::ImageBuilder::InfrastructureConfiguration" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::Lightsail::Instance \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lightsail-instance.html)" + "Resource schema for AWS::ImageBuilder::InfrastructureConfiguration \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-imagebuilder-infrastructureconfiguration.html)" ] }, "Properties": { - "$ref": "resources/aws-lightsail-instance.json" + "$ref": "resources/aws-imagebuilder-infrastructureconfiguration.json" } }, "required": [ @@ -12333,9 +12315,9 @@ ], "additionalProperties": false }, - "AWS_EMRContainers_VirtualCluster": { + "AWS_CodeArtifact_PackageGroup": { "type": "object", - "markdownDescription": "Resource Schema of AWS::EMRContainers::VirtualCluster Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-emrcontainers-virtualcluster.html)", + "markdownDescription": "The resource schema to create a CodeArtifact package group. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codeartifact-packagegroup.html)", "allOf": [ { "type": "object", @@ -12343,14 +12325,14 @@ "Type": { "type": "string", "enum": [ - "AWS::EMRContainers::VirtualCluster" + "AWS::CodeArtifact::PackageGroup" ], "markdownEnumDescriptions": [ - "Resource Schema of AWS::EMRContainers::VirtualCluster Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-emrcontainers-virtualcluster.html)" + "The resource schema to create a CodeArtifact package group. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codeartifact-packagegroup.html)" ] }, "Properties": { - "$ref": "resources/aws-emrcontainers-virtualcluster.json" + "$ref": "resources/aws-codeartifact-packagegroup.json" } }, "required": [ @@ -12364,9 +12346,9 @@ ], "additionalProperties": false }, - "AWS_S3ObjectLambda_AccessPointPolicy": { + "AWS_Personalize_Schema": { "type": "object", - "markdownDescription": "AWS::S3ObjectLambda::AccessPointPolicy resource is an Amazon S3ObjectLambda policy type that you can use to control permissions for your S3ObjectLambda \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-s3objectlambda-accesspointpolicy.html)", + "markdownDescription": "Resource schema for AWS::Personalize::Schema. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-personalize-schema.html)", "allOf": [ { "type": "object", @@ -12374,14 +12356,14 @@ "Type": { "type": "string", "enum": [ - "AWS::S3ObjectLambda::AccessPointPolicy" + "AWS::Personalize::Schema" ], "markdownEnumDescriptions": [ - "AWS::S3ObjectLambda::AccessPointPolicy resource is an Amazon S3ObjectLambda policy type that you can use to control permissions for your S3ObjectLambda \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-s3objectlambda-accesspointpolicy.html)" + "Resource schema for AWS::Personalize::Schema. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-personalize-schema.html)" ] }, "Properties": { - "$ref": "resources/aws-s3objectlambda-accesspointpolicy.json" + "$ref": "resources/aws-personalize-schema.json" } }, "required": [ @@ -12395,9 +12377,9 @@ ], "additionalProperties": false }, - "AWS_Route53_KeySigningKey": { + "AWS_Route53Resolver_ResolverQueryLoggingConfigAssociation": { "type": "object", - "markdownDescription": "Represents a key signing key (KSK) associated with a hosted zone. You can only have two KSKs per hosted zone. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53-keysigningkey.html)", + "markdownDescription": "Resource schema for AWS::Route53Resolver::ResolverQueryLoggingConfigAssociation. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53resolver-resolverqueryloggingconfigassociation.html)", "allOf": [ { "type": "object", @@ -12405,19 +12387,18 @@ "Type": { "type": "string", "enum": [ - "AWS::Route53::KeySigningKey" + "AWS::Route53Resolver::ResolverQueryLoggingConfigAssociation" ], "markdownEnumDescriptions": [ - "Represents a key signing key (KSK) associated with a hosted zone. You can only have two KSKs per hosted zone. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53-keysigningkey.html)" + "Resource schema for AWS::Route53Resolver::ResolverQueryLoggingConfigAssociation. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53resolver-resolverqueryloggingconfigassociation.html)" ] }, "Properties": { - "$ref": "resources/aws-route53-keysigningkey.json" + "$ref": "resources/aws-route53resolver-resolverqueryloggingconfigassociation.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -12426,9 +12407,9 @@ ], "additionalProperties": false }, - "AWS_Glue_Database": { + "AWS_ApiGateway_BasePathMapping": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::Glue::Database \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-database.html)", + "markdownDescription": "The ``AWS::ApiGateway::BasePathMapping`` resource creates a base path that clients who call your API must use in the invocation URL. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-basepathmapping.html)", "allOf": [ { "type": "object", @@ -12436,14 +12417,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Glue::Database" + "AWS::ApiGateway::BasePathMapping" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::Glue::Database \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-database.html)" + "The ``AWS::ApiGateway::BasePathMapping`` resource creates a base path that clients who call your API must use in the invocation URL. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-basepathmapping.html)" ] }, "Properties": { - "$ref": "resources/aws-glue-database.json" + "$ref": "resources/aws-apigateway-basepathmapping.json" } }, "required": [ @@ -12457,9 +12438,9 @@ ], "additionalProperties": false }, - "AWS_Timestream_InfluxDBInstance": { + "AWS_ApiGatewayV2_RouteResponse": { "type": "object", - "markdownDescription": "The AWS::Timestream::InfluxDBInstance resource creates an InfluxDB instance. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-timestream-influxdbinstance.html)", + "markdownDescription": "The ``AWS::ApiGatewayV2::RouteResponse`` resource creates a route response for a WebSocket API. For more information, see [Set up Route Responses for a WebSocket API in API Gateway](https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-websocket-api-route-response.html) in the *API Gateway Developer Guide*. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-routeresponse.html)", "allOf": [ { "type": "object", @@ -12467,18 +12448,19 @@ "Type": { "type": "string", "enum": [ - "AWS::Timestream::InfluxDBInstance" + "AWS::ApiGatewayV2::RouteResponse" ], "markdownEnumDescriptions": [ - "The AWS::Timestream::InfluxDBInstance resource creates an InfluxDB instance. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-timestream-influxdbinstance.html)" + "The ``AWS::ApiGatewayV2::RouteResponse`` resource creates a route response for a WebSocket API. For more information, see [Set up Route Responses for a WebSocket API in API Gateway](https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-websocket-api-route-response.html) in the *API Gateway Developer Guide*. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-routeresponse.html)" ] }, "Properties": { - "$ref": "resources/aws-timestream-influxdbinstance.json" + "$ref": "resources/aws-apigatewayv2-routeresponse.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -12487,9 +12469,9 @@ ], "additionalProperties": false }, - "AWS_Bedrock_KnowledgeBase": { + "AWS_Glue_Schema": { "type": "object", - "markdownDescription": "Definition of AWS::Bedrock::KnowledgeBase Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-bedrock-knowledgebase.html)", + "markdownDescription": "This resource represents a schema of Glue Schema Registry. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-schema.html)", "allOf": [ { "type": "object", @@ -12497,14 +12479,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Bedrock::KnowledgeBase" + "AWS::Glue::Schema" ], "markdownEnumDescriptions": [ - "Definition of AWS::Bedrock::KnowledgeBase Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-bedrock-knowledgebase.html)" + "This resource represents a schema of Glue Schema Registry. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-schema.html)" ] }, "Properties": { - "$ref": "resources/aws-bedrock-knowledgebase.json" + "$ref": "resources/aws-glue-schema.json" } }, "required": [ @@ -12518,9 +12500,9 @@ ], "additionalProperties": false }, - "AWS_EKS_IdentityProviderConfig": { + "AWS_NetworkFirewall_RuleGroup": { "type": "object", - "markdownDescription": "An object representing an Amazon EKS IdentityProviderConfig. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-eks-identityproviderconfig.html)", + "markdownDescription": "Resource type definition for AWS::NetworkFirewall::RuleGroup \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkfirewall-rulegroup.html)", "allOf": [ { "type": "object", @@ -12528,14 +12510,14 @@ "Type": { "type": "string", "enum": [ - "AWS::EKS::IdentityProviderConfig" + "AWS::NetworkFirewall::RuleGroup" ], "markdownEnumDescriptions": [ - "An object representing an Amazon EKS IdentityProviderConfig. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-eks-identityproviderconfig.html)" + "Resource type definition for AWS::NetworkFirewall::RuleGroup \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkfirewall-rulegroup.html)" ] }, "Properties": { - "$ref": "resources/aws-eks-identityproviderconfig.json" + "$ref": "resources/aws-networkfirewall-rulegroup.json" } }, "required": [ @@ -12549,9 +12531,9 @@ ], "additionalProperties": false }, - "AWS_Athena_DataCatalog": { + "AWS_DataZone_Environment": { "type": "object", - "markdownDescription": "Resource schema for AWS::Athena::DataCatalog \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-athena-datacatalog.html)", + "markdownDescription": "Definition of AWS::DataZone::Environment Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datazone-environment.html)", "allOf": [ { "type": "object", @@ -12559,14 +12541,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Athena::DataCatalog" + "AWS::DataZone::Environment" ], "markdownEnumDescriptions": [ - "Resource schema for AWS::Athena::DataCatalog \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-athena-datacatalog.html)" + "Definition of AWS::DataZone::Environment Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datazone-environment.html)" ] }, "Properties": { - "$ref": "resources/aws-athena-datacatalog.json" + "$ref": "resources/aws-datazone-environment.json" } }, "required": [ @@ -12580,9 +12562,9 @@ ], "additionalProperties": false }, - "AWS_SageMaker_MonitoringSchedule": { + "AWS_WorkSpacesWeb_UserAccessLoggingSettings": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::SageMaker::MonitoringSchedule \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-monitoringschedule.html)", + "markdownDescription": "Definition of AWS::WorkSpacesWeb::UserAccessLoggingSettings Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-workspacesweb-useraccessloggingsettings.html)", "allOf": [ { "type": "object", @@ -12590,14 +12572,14 @@ "Type": { "type": "string", "enum": [ - "AWS::SageMaker::MonitoringSchedule" + "AWS::WorkSpacesWeb::UserAccessLoggingSettings" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::SageMaker::MonitoringSchedule \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-monitoringschedule.html)" + "Definition of AWS::WorkSpacesWeb::UserAccessLoggingSettings Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-workspacesweb-useraccessloggingsettings.html)" ] }, "Properties": { - "$ref": "resources/aws-sagemaker-monitoringschedule.json" + "$ref": "resources/aws-workspacesweb-useraccessloggingsettings.json" } }, "required": [ @@ -12611,9 +12593,9 @@ ], "additionalProperties": false }, - "AWS_CloudFormation_HookVersion": { + "AWS_ApiGateway_VpcLink": { "type": "object", - "markdownDescription": "Publishes new or first hook version to AWS CloudFormation Registry. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudformation-hookversion.html)", + "markdownDescription": "The ``AWS::ApiGateway::VpcLink`` resource creates an API Gateway VPC link for a REST API to access resources in an Amazon Virtual Private Cloud (VPC). For more information, see [vpclink:create](https://docs.aws.amazon.com/apigateway/latest/api/API_CreateVpcLink.html) in the ``Amazon API Gateway REST API Reference``. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-vpclink.html)", "allOf": [ { "type": "object", @@ -12621,14 +12603,14 @@ "Type": { "type": "string", "enum": [ - "AWS::CloudFormation::HookVersion" + "AWS::ApiGateway::VpcLink" ], "markdownEnumDescriptions": [ - "Publishes new or first hook version to AWS CloudFormation Registry. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudformation-hookversion.html)" + "The ``AWS::ApiGateway::VpcLink`` resource creates an API Gateway VPC link for a REST API to access resources in an Amazon Virtual Private Cloud (VPC). For more information, see [vpclink:create](https://docs.aws.amazon.com/apigateway/latest/api/API_CreateVpcLink.html) in the ``Amazon API Gateway REST API Reference``. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-vpclink.html)" ] }, "Properties": { - "$ref": "resources/aws-cloudformation-hookversion.json" + "$ref": "resources/aws-apigateway-vpclink.json" } }, "required": [ @@ -12642,9 +12624,9 @@ ], "additionalProperties": false }, - "AWS_AutoScaling_AutoScalingGroup": { + "AWS_Route53RecoveryReadiness_RecoveryGroup": { "type": "object", - "markdownDescription": "The ``AWS::AutoScaling::AutoScalingGroup`` resource defines an Amazon EC2 Auto Scaling group, which is a collection of Amazon EC2 instances that are treated as a logical grouping for the purposes of automatic scaling and management. \n For more information about Amazon EC2 Auto Scaling, see the [Amazon EC2 Auto Scaling User Guide](https://docs.aws.amazon.com/autoscaling/ec2/userguide/what-is-amazon-ec2-auto-scaling.html). \n Amazon EC2 Auto Scaling configures instances launched as part of an Auto Scaling group using either a [launch template](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-launchtemplate.html) or a launch configuration. We strongly recommend that you do not use launch configurations. For more information, see [Launch configurations](https://docs.aws.amazon.com/autoscaling/ec2/userguide/launch-configurations.html) in the *Amazon EC2 Auto Scaling User Guide*.\n For help migrating from launch configurations to launch templates, see [Migrate CloudFormation stacks from launch configurations to launch templates](https://docs.aws.amazon.com/autoscaling/ec2/userguide/migrate-launch-configurations-with-cloudformation.html) in the *Amazon EC2 Auto Scaling User Guide*. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-autoscaling-autoscalinggroup.html)", + "markdownDescription": "AWS Route53 Recovery Readiness Recovery Group Schema and API specifications. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53recoveryreadiness-recoverygroup.html)", "allOf": [ { "type": "object", @@ -12652,19 +12634,18 @@ "Type": { "type": "string", "enum": [ - "AWS::AutoScaling::AutoScalingGroup" + "AWS::Route53RecoveryReadiness::RecoveryGroup" ], "markdownEnumDescriptions": [ - "The ``AWS::AutoScaling::AutoScalingGroup`` resource defines an Amazon EC2 Auto Scaling group, which is a collection of Amazon EC2 instances that are treated as a logical grouping for the purposes of automatic scaling and management. \n For more information about Amazon EC2 Auto Scaling, see the [Amazon EC2 Auto Scaling User Guide](https://docs.aws.amazon.com/autoscaling/ec2/userguide/what-is-amazon-ec2-auto-scaling.html). \n Amazon EC2 Auto Scaling configures instances launched as part of an Auto Scaling group using either a [launch template](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-launchtemplate.html) or a launch configuration. We strongly recommend that you do not use launch configurations. For more information, see [Launch configurations](https://docs.aws.amazon.com/autoscaling/ec2/userguide/launch-configurations.html) in the *Amazon EC2 Auto Scaling User Guide*.\n For help migrating from launch configurations to launch templates, see [Migrate CloudFormation stacks from launch configurations to launch templates](https://docs.aws.amazon.com/autoscaling/ec2/userguide/migrate-launch-configurations-with-cloudformation.html) in the *Amazon EC2 Auto Scaling User Guide*. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-autoscaling-autoscalinggroup.html)" + "AWS Route53 Recovery Readiness Recovery Group Schema and API specifications. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53recoveryreadiness-recoverygroup.html)" ] }, "Properties": { - "$ref": "resources/aws-autoscaling-autoscalinggroup.json" + "$ref": "resources/aws-route53recoveryreadiness-recoverygroup.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -12673,9 +12654,9 @@ ], "additionalProperties": false }, - "AWS_GuardDuty_Filter": { + "AWS_Connect_ContactFlow": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::GuardDuty::Filter \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-guardduty-filter.html)", + "markdownDescription": "Resource Type definition for AWS::Connect::ContactFlow \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-connect-contactflow.html)", "allOf": [ { "type": "object", @@ -12683,14 +12664,14 @@ "Type": { "type": "string", "enum": [ - "AWS::GuardDuty::Filter" + "AWS::Connect::ContactFlow" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::GuardDuty::Filter \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-guardduty-filter.html)" + "Resource Type definition for AWS::Connect::ContactFlow \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-connect-contactflow.html)" ] }, "Properties": { - "$ref": "resources/aws-guardduty-filter.json" + "$ref": "resources/aws-connect-contactflow.json" } }, "required": [ @@ -12704,9 +12685,9 @@ ], "additionalProperties": false }, - "AWS_AmplifyUIBuilder_Theme": { + "AWS_Shield_ProactiveEngagement": { "type": "object", - "markdownDescription": "Definition of AWS::AmplifyUIBuilder::Theme Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-amplifyuibuilder-theme.html)", + "markdownDescription": "Authorizes the Shield Response Team (SRT) to use email and phone to notify contacts about escalations to the SRT and to initiate proactive customer support. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-shield-proactiveengagement.html)", "allOf": [ { "type": "object", @@ -12714,18 +12695,19 @@ "Type": { "type": "string", "enum": [ - "AWS::AmplifyUIBuilder::Theme" + "AWS::Shield::ProactiveEngagement" ], "markdownEnumDescriptions": [ - "Definition of AWS::AmplifyUIBuilder::Theme Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-amplifyuibuilder-theme.html)" + "Authorizes the Shield Response Team (SRT) to use email and phone to notify contacts about escalations to the SRT and to initiate proactive customer support. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-shield-proactiveengagement.html)" ] }, "Properties": { - "$ref": "resources/aws-amplifyuibuilder-theme.json" + "$ref": "resources/aws-shield-proactiveengagement.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -12734,9 +12716,9 @@ ], "additionalProperties": false }, - "AWS_ImageBuilder_InfrastructureConfiguration": { + "AWS_Route53Profiles_ProfileResourceAssociation": { "type": "object", - "markdownDescription": "Resource schema for AWS::ImageBuilder::InfrastructureConfiguration \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-imagebuilder-infrastructureconfiguration.html)", + "markdownDescription": "Resource Type definition for AWS::Route53Profiles::ProfileResourceAssociation \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53profiles-profileresourceassociation.html)", "allOf": [ { "type": "object", @@ -12744,14 +12726,14 @@ "Type": { "type": "string", "enum": [ - "AWS::ImageBuilder::InfrastructureConfiguration" + "AWS::Route53Profiles::ProfileResourceAssociation" ], "markdownEnumDescriptions": [ - "Resource schema for AWS::ImageBuilder::InfrastructureConfiguration \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-imagebuilder-infrastructureconfiguration.html)" + "Resource Type definition for AWS::Route53Profiles::ProfileResourceAssociation \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53profiles-profileresourceassociation.html)" ] }, "Properties": { - "$ref": "resources/aws-imagebuilder-infrastructureconfiguration.json" + "$ref": "resources/aws-route53profiles-profileresourceassociation.json" } }, "required": [ @@ -12765,9 +12747,9 @@ ], "additionalProperties": false }, - "AWS_NimbleStudio_StudioComponent": { + "AWS_ServiceCatalog_CloudFormationProduct": { "type": "object", - "markdownDescription": "Represents a studio component that connects a non-Nimble Studio resource in your account to your studio \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-nimblestudio-studiocomponent.html)", + "markdownDescription": "Resource Type definition for AWS::ServiceCatalog::CloudFormationProduct \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicecatalog-cloudformationproduct.html)", "allOf": [ { "type": "object", @@ -12775,14 +12757,14 @@ "Type": { "type": "string", "enum": [ - "AWS::NimbleStudio::StudioComponent" + "AWS::ServiceCatalog::CloudFormationProduct" ], "markdownEnumDescriptions": [ - "Represents a studio component that connects a non-Nimble Studio resource in your account to your studio \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-nimblestudio-studiocomponent.html)" + "Resource Type definition for AWS::ServiceCatalog::CloudFormationProduct \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicecatalog-cloudformationproduct.html)" ] }, "Properties": { - "$ref": "resources/aws-nimblestudio-studiocomponent.json" + "$ref": "resources/aws-servicecatalog-cloudformationproduct.json" } }, "required": [ @@ -12796,9 +12778,9 @@ ], "additionalProperties": false }, - "AWS_S3_AccessPoint": { + "AWS_MediaLive_Network": { "type": "object", - "markdownDescription": "The AWS::S3::AccessPoint resource is an Amazon S3 resource type that you can use to access buckets. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-s3-accesspoint.html)", + "markdownDescription": "Resource schema for AWS::MediaLive::Network. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-medialive-network.html)", "allOf": [ { "type": "object", @@ -12806,14 +12788,14 @@ "Type": { "type": "string", "enum": [ - "AWS::S3::AccessPoint" + "AWS::MediaLive::Network" ], "markdownEnumDescriptions": [ - "The AWS::S3::AccessPoint resource is an Amazon S3 resource type that you can use to access buckets. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-s3-accesspoint.html)" + "Resource schema for AWS::MediaLive::Network. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-medialive-network.html)" ] }, "Properties": { - "$ref": "resources/aws-s3-accesspoint.json" + "$ref": "resources/aws-medialive-network.json" } }, "required": [ @@ -12827,9 +12809,9 @@ ], "additionalProperties": false }, - "AWS_IoTWireless_PartnerAccount": { + "AWS_RDS_DBSecurityGroup": { "type": "object", - "markdownDescription": "Create and manage partner account \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotwireless-partneraccount.html)", + "markdownDescription": "Resource Type definition for AWS::RDS::DBSecurityGroup \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbsecuritygroup.html)", "allOf": [ { "type": "object", @@ -12837,18 +12819,19 @@ "Type": { "type": "string", "enum": [ - "AWS::IoTWireless::PartnerAccount" + "AWS::RDS::DBSecurityGroup" ], "markdownEnumDescriptions": [ - "Create and manage partner account \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotwireless-partneraccount.html)" + "Resource Type definition for AWS::RDS::DBSecurityGroup \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbsecuritygroup.html)" ] }, "Properties": { - "$ref": "resources/aws-iotwireless-partneraccount.json" + "$ref": "resources/aws-rds-dbsecuritygroup.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -12857,9 +12840,9 @@ ], "additionalProperties": false }, - "AWS_AppRunner_VpcConnector": { + "AWS_IoT_SecurityProfile": { "type": "object", - "markdownDescription": "The AWS::AppRunner::VpcConnector resource specifies an App Runner VpcConnector. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apprunner-vpcconnector.html)", + "markdownDescription": "A security profile defines a set of expected behaviors for devices in your account. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-securityprofile.html)", "allOf": [ { "type": "object", @@ -12867,19 +12850,18 @@ "Type": { "type": "string", "enum": [ - "AWS::AppRunner::VpcConnector" + "AWS::IoT::SecurityProfile" ], "markdownEnumDescriptions": [ - "The AWS::AppRunner::VpcConnector resource specifies an App Runner VpcConnector. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apprunner-vpcconnector.html)" + "A security profile defines a set of expected behaviors for devices in your account. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-securityprofile.html)" ] }, "Properties": { - "$ref": "resources/aws-apprunner-vpcconnector.json" + "$ref": "resources/aws-iot-securityprofile.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -12888,9 +12870,9 @@ ], "additionalProperties": false }, - "AWS_FraudDetector_List": { + "AWS_Connect_View": { "type": "object", - "markdownDescription": "A resource schema for a List in Amazon Fraud Detector. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-frauddetector-list.html)", + "markdownDescription": "Resource Type definition for AWS::Connect::View \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-connect-view.html)", "allOf": [ { "type": "object", @@ -12898,14 +12880,14 @@ "Type": { "type": "string", "enum": [ - "AWS::FraudDetector::List" + "AWS::Connect::View" ], "markdownEnumDescriptions": [ - "A resource schema for a List in Amazon Fraud Detector. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-frauddetector-list.html)" + "Resource Type definition for AWS::Connect::View \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-connect-view.html)" ] }, "Properties": { - "$ref": "resources/aws-frauddetector-list.json" + "$ref": "resources/aws-connect-view.json" } }, "required": [ @@ -12919,9 +12901,9 @@ ], "additionalProperties": false }, - "AWS_DataZone_DataSource": { + "AWS_Redshift_EndpointAccess": { "type": "object", - "markdownDescription": "A data source is used to import technical metadata of assets (data) from the source databases or data warehouses into Amazon DataZone. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datazone-datasource.html)", + "markdownDescription": "Resource schema for a Redshift-managed VPC endpoint. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-redshift-endpointaccess.html)", "allOf": [ { "type": "object", @@ -12929,14 +12911,14 @@ "Type": { "type": "string", "enum": [ - "AWS::DataZone::DataSource" + "AWS::Redshift::EndpointAccess" ], "markdownEnumDescriptions": [ - "A data source is used to import technical metadata of assets (data) from the source databases or data warehouses into Amazon DataZone. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datazone-datasource.html)" + "Resource schema for a Redshift-managed VPC endpoint. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-redshift-endpointaccess.html)" ] }, "Properties": { - "$ref": "resources/aws-datazone-datasource.json" + "$ref": "resources/aws-redshift-endpointaccess.json" } }, "required": [ @@ -12950,9 +12932,9 @@ ], "additionalProperties": false }, - "AWS_Evidently_Project": { + "AWS_AppSync_DomainName": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::Evidently::Project \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-evidently-project.html)", + "markdownDescription": "Resource Type definition for AWS::AppSync::DomainName \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-domainname.html)", "allOf": [ { "type": "object", @@ -12960,14 +12942,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Evidently::Project" + "AWS::AppSync::DomainName" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::Evidently::Project \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-evidently-project.html)" + "Resource Type definition for AWS::AppSync::DomainName \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-domainname.html)" ] }, "Properties": { - "$ref": "resources/aws-evidently-project.json" + "$ref": "resources/aws-appsync-domainname.json" } }, "required": [ @@ -12981,9 +12963,9 @@ ], "additionalProperties": false }, - "AWS_GreengrassV2_ComponentVersion": { + "AWS_StepFunctions_StateMachineAlias": { "type": "object", - "markdownDescription": "Resource for Greengrass component version. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrassv2-componentversion.html)", + "markdownDescription": "Resource schema for StateMachineAlias \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-stepfunctions-statemachinealias.html)", "allOf": [ { "type": "object", @@ -12991,14 +12973,14 @@ "Type": { "type": "string", "enum": [ - "AWS::GreengrassV2::ComponentVersion" + "AWS::StepFunctions::StateMachineAlias" ], "markdownEnumDescriptions": [ - "Resource for Greengrass component version. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrassv2-componentversion.html)" + "Resource schema for StateMachineAlias \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-stepfunctions-statemachinealias.html)" ] }, "Properties": { - "$ref": "resources/aws-greengrassv2-componentversion.json" + "$ref": "resources/aws-stepfunctions-statemachinealias.json" } }, "required": [ @@ -13011,9 +12993,9 @@ ], "additionalProperties": false }, - "AWS_ACMPCA_CertificateAuthority": { + "AWS_CloudFormation_HookTypeConfig": { "type": "object", - "markdownDescription": "Private certificate authority. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-acmpca-certificateauthority.html)", + "markdownDescription": "Specifies the configuration data for a registered hook in CloudFormation Registry. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudformation-hooktypeconfig.html)", "allOf": [ { "type": "object", @@ -13021,19 +13003,18 @@ "Type": { "type": "string", "enum": [ - "AWS::ACMPCA::CertificateAuthority" + "AWS::CloudFormation::HookTypeConfig" ], "markdownEnumDescriptions": [ - "Private certificate authority. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-acmpca-certificateauthority.html)" + "Specifies the configuration data for a registered hook in CloudFormation Registry. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudformation-hooktypeconfig.html)" ] }, "Properties": { - "$ref": "resources/aws-acmpca-certificateauthority.json" + "$ref": "resources/aws-cloudformation-hooktypeconfig.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -13042,9 +13023,9 @@ ], "additionalProperties": false }, - "AWS_Events_EventBusPolicy": { + "AWS_AppSync_FunctionConfiguration": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::Events::EventBusPolicy \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-eventbuspolicy.html)", + "markdownDescription": "An example resource schema demonstrating some basic constructs and validation rules. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-functionconfiguration.html)", "allOf": [ { "type": "object", @@ -13052,14 +13033,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Events::EventBusPolicy" + "AWS::AppSync::FunctionConfiguration" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::Events::EventBusPolicy \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-eventbuspolicy.html)" + "An example resource schema demonstrating some basic constructs and validation rules. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-functionconfiguration.html)" ] }, "Properties": { - "$ref": "resources/aws-events-eventbuspolicy.json" + "$ref": "resources/aws-appsync-functionconfiguration.json" } }, "required": [ @@ -13073,9 +13054,9 @@ ], "additionalProperties": false }, - "AWS_MediaConnect_Gateway": { + "AWS_AppMesh_VirtualGateway": { "type": "object", - "markdownDescription": "Resource schema for AWS::MediaConnect::Gateway \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediaconnect-gateway.html)", + "markdownDescription": "Resource Type definition for AWS::AppMesh::VirtualGateway \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appmesh-virtualgateway.html)", "allOf": [ { "type": "object", @@ -13083,14 +13064,14 @@ "Type": { "type": "string", "enum": [ - "AWS::MediaConnect::Gateway" + "AWS::AppMesh::VirtualGateway" ], "markdownEnumDescriptions": [ - "Resource schema for AWS::MediaConnect::Gateway \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediaconnect-gateway.html)" + "Resource Type definition for AWS::AppMesh::VirtualGateway \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appmesh-virtualgateway.html)" ] }, "Properties": { - "$ref": "resources/aws-mediaconnect-gateway.json" + "$ref": "resources/aws-appmesh-virtualgateway.json" } }, "required": [ @@ -13104,9 +13085,9 @@ ], "additionalProperties": false }, - "AWS_Connect_QuickConnect": { + "AWS_AppMesh_Route": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::Connect::QuickConnect \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-connect-quickconnect.html)", + "markdownDescription": "Resource Type definition for AWS::AppMesh::Route \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appmesh-route.html)", "allOf": [ { "type": "object", @@ -13114,14 +13095,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Connect::QuickConnect" + "AWS::AppMesh::Route" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::Connect::QuickConnect \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-connect-quickconnect.html)" + "Resource Type definition for AWS::AppMesh::Route \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appmesh-route.html)" ] }, "Properties": { - "$ref": "resources/aws-connect-quickconnect.json" + "$ref": "resources/aws-appmesh-route.json" } }, "required": [ @@ -13135,9 +13116,9 @@ ], "additionalProperties": false }, - "AWS_OpsWorksCM_Server": { + "AWS_DataSync_LocationS3": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::OpsWorksCM::Server \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opsworkscm-server.html)", + "markdownDescription": "Resource schema for AWS::DataSync::LocationS3 \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datasync-locations3.html)", "allOf": [ { "type": "object", @@ -13145,14 +13126,14 @@ "Type": { "type": "string", "enum": [ - "AWS::OpsWorksCM::Server" + "AWS::DataSync::LocationS3" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::OpsWorksCM::Server \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opsworkscm-server.html)" + "Resource schema for AWS::DataSync::LocationS3 \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datasync-locations3.html)" ] }, "Properties": { - "$ref": "resources/aws-opsworkscm-server.json" + "$ref": "resources/aws-datasync-locations3.json" } }, "required": [ @@ -13166,9 +13147,9 @@ ], "additionalProperties": false }, - "AWS_EC2_VPNGatewayRoutePropagation": { + "AWS_NetworkManager_CoreNetwork": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::EC2::VPNGatewayRoutePropagation \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpngatewayroutepropagation.html)", + "markdownDescription": "AWS::NetworkManager::CoreNetwork Resource Type Definition. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkmanager-corenetwork.html)", "allOf": [ { "type": "object", @@ -13176,14 +13157,14 @@ "Type": { "type": "string", "enum": [ - "AWS::EC2::VPNGatewayRoutePropagation" + "AWS::NetworkManager::CoreNetwork" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::EC2::VPNGatewayRoutePropagation \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpngatewayroutepropagation.html)" + "AWS::NetworkManager::CoreNetwork Resource Type Definition. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkmanager-corenetwork.html)" ] }, "Properties": { - "$ref": "resources/aws-ec2-vpngatewayroutepropagation.json" + "$ref": "resources/aws-networkmanager-corenetwork.json" } }, "required": [ @@ -13197,9 +13178,9 @@ ], "additionalProperties": false }, - "AWS_GameLift_GameSessionQueue": { + "AWS_SageMaker_ModelBiasJobDefinition": { "type": "object", - "markdownDescription": "The AWS::GameLift::GameSessionQueue resource creates an Amazon GameLift (GameLift) game session queue. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-gamelift-gamesessionqueue.html)", + "markdownDescription": "Resource Type definition for AWS::SageMaker::ModelBiasJobDefinition \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-modelbiasjobdefinition.html)", "allOf": [ { "type": "object", @@ -13207,14 +13188,14 @@ "Type": { "type": "string", "enum": [ - "AWS::GameLift::GameSessionQueue" + "AWS::SageMaker::ModelBiasJobDefinition" ], "markdownEnumDescriptions": [ - "The AWS::GameLift::GameSessionQueue resource creates an Amazon GameLift (GameLift) game session queue. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-gamelift-gamesessionqueue.html)" + "Resource Type definition for AWS::SageMaker::ModelBiasJobDefinition \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-modelbiasjobdefinition.html)" ] }, "Properties": { - "$ref": "resources/aws-gamelift-gamesessionqueue.json" + "$ref": "resources/aws-sagemaker-modelbiasjobdefinition.json" } }, "required": [ @@ -13228,9 +13209,9 @@ ], "additionalProperties": false }, - "AWS_Lightsail_LoadBalancerTlsCertificate": { + "AWS_EC2_TransitGatewayMulticastGroupSource": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::Lightsail::LoadBalancerTlsCertificate \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lightsail-loadbalancertlscertificate.html)", + "markdownDescription": "The AWS::EC2::TransitGatewayMulticastGroupSource registers and deregisters members and sources (network interfaces) with the transit gateway multicast group \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-transitgatewaymulticastgroupsource.html)", "allOf": [ { "type": "object", @@ -13238,14 +13219,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Lightsail::LoadBalancerTlsCertificate" + "AWS::EC2::TransitGatewayMulticastGroupSource" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::Lightsail::LoadBalancerTlsCertificate \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lightsail-loadbalancertlscertificate.html)" + "The AWS::EC2::TransitGatewayMulticastGroupSource registers and deregisters members and sources (network interfaces) with the transit gateway multicast group \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-transitgatewaymulticastgroupsource.html)" ] }, "Properties": { - "$ref": "resources/aws-lightsail-loadbalancertlscertificate.json" + "$ref": "resources/aws-ec2-transitgatewaymulticastgroupsource.json" } }, "required": [ @@ -13259,9 +13240,9 @@ ], "additionalProperties": false }, - "AWS_Lambda_Alias": { + "AWS_ServiceCatalog_LaunchTemplateConstraint": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::Lambda::Alias \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-alias.html)", + "markdownDescription": "Resource Type definition for AWS::ServiceCatalog::LaunchTemplateConstraint \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicecatalog-launchtemplateconstraint.html)", "allOf": [ { "type": "object", @@ -13269,14 +13250,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Lambda::Alias" + "AWS::ServiceCatalog::LaunchTemplateConstraint" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::Lambda::Alias \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-alias.html)" + "Resource Type definition for AWS::ServiceCatalog::LaunchTemplateConstraint \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicecatalog-launchtemplateconstraint.html)" ] }, "Properties": { - "$ref": "resources/aws-lambda-alias.json" + "$ref": "resources/aws-servicecatalog-launchtemplateconstraint.json" } }, "required": [ @@ -13290,9 +13271,9 @@ ], "additionalProperties": false }, - "AWS_CodeDeploy_Application": { + "AWS_SageMaker_EndpointConfig": { "type": "object", - "markdownDescription": "The AWS::CodeDeploy::Application resource creates an AWS CodeDeploy application \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codedeploy-application.html)", + "markdownDescription": "Resource Type definition for AWS::SageMaker::EndpointConfig \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-endpointconfig.html)", "allOf": [ { "type": "object", @@ -13300,18 +13281,19 @@ "Type": { "type": "string", "enum": [ - "AWS::CodeDeploy::Application" + "AWS::SageMaker::EndpointConfig" ], "markdownEnumDescriptions": [ - "The AWS::CodeDeploy::Application resource creates an AWS CodeDeploy application \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codedeploy-application.html)" + "Resource Type definition for AWS::SageMaker::EndpointConfig \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-endpointconfig.html)" ] }, "Properties": { - "$ref": "resources/aws-codedeploy-application.json" + "$ref": "resources/aws-sagemaker-endpointconfig.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -13320,9 +13302,9 @@ ], "additionalProperties": false }, - "AWS_MediaLive_Input": { + "AWS_Glue_Database": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::MediaLive::Input \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-medialive-input.html)", + "markdownDescription": "Resource Type definition for AWS::Glue::Database \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-database.html)", "allOf": [ { "type": "object", @@ -13330,18 +13312,19 @@ "Type": { "type": "string", "enum": [ - "AWS::MediaLive::Input" + "AWS::Glue::Database" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::MediaLive::Input \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-medialive-input.html)" + "Resource Type definition for AWS::Glue::Database \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-database.html)" ] }, "Properties": { - "$ref": "resources/aws-medialive-input.json" + "$ref": "resources/aws-glue-database.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -13350,9 +13333,9 @@ ], "additionalProperties": false }, - "AWS_Greengrass_LoggerDefinition": { + "AWS_Route53Resolver_ResolverEndpoint": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::Greengrass::LoggerDefinition \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-loggerdefinition.html)", + "markdownDescription": "Resource Type definition for AWS::Route53Resolver::ResolverEndpoint \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53resolver-resolverendpoint.html)", "allOf": [ { "type": "object", @@ -13360,14 +13343,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Greengrass::LoggerDefinition" + "AWS::Route53Resolver::ResolverEndpoint" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::Greengrass::LoggerDefinition \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-loggerdefinition.html)" + "Resource Type definition for AWS::Route53Resolver::ResolverEndpoint \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53resolver-resolverendpoint.html)" ] }, "Properties": { - "$ref": "resources/aws-greengrass-loggerdefinition.json" + "$ref": "resources/aws-route53resolver-resolverendpoint.json" } }, "required": [ @@ -13381,9 +13364,9 @@ ], "additionalProperties": false }, - "AWS_DataBrew_Project": { + "AWS_WAFRegional_IPSet": { "type": "object", - "markdownDescription": "Resource schema for AWS::DataBrew::Project. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-databrew-project.html)", + "markdownDescription": "Resource Type definition for AWS::WAFRegional::IPSet \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-wafregional-ipset.html)", "allOf": [ { "type": "object", @@ -13391,14 +13374,14 @@ "Type": { "type": "string", "enum": [ - "AWS::DataBrew::Project" + "AWS::WAFRegional::IPSet" ], "markdownEnumDescriptions": [ - "Resource schema for AWS::DataBrew::Project. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-databrew-project.html)" + "Resource Type definition for AWS::WAFRegional::IPSet \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-wafregional-ipset.html)" ] }, "Properties": { - "$ref": "resources/aws-databrew-project.json" + "$ref": "resources/aws-wafregional-ipset.json" } }, "required": [ @@ -13412,9 +13395,9 @@ ], "additionalProperties": false }, - "AWS_WorkSpacesWeb_IpAccessSettings": { + "AWS_AppMesh_VirtualService": { "type": "object", - "markdownDescription": "Definition of AWS::WorkSpacesWeb::IpAccessSettings Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-workspacesweb-ipaccesssettings.html)", + "markdownDescription": "Resource Type definition for AWS::AppMesh::VirtualService \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appmesh-virtualservice.html)", "allOf": [ { "type": "object", @@ -13422,14 +13405,14 @@ "Type": { "type": "string", "enum": [ - "AWS::WorkSpacesWeb::IpAccessSettings" + "AWS::AppMesh::VirtualService" ], "markdownEnumDescriptions": [ - "Definition of AWS::WorkSpacesWeb::IpAccessSettings Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-workspacesweb-ipaccesssettings.html)" + "Resource Type definition for AWS::AppMesh::VirtualService \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appmesh-virtualservice.html)" ] }, "Properties": { - "$ref": "resources/aws-workspacesweb-ipaccesssettings.json" + "$ref": "resources/aws-appmesh-virtualservice.json" } }, "required": [ @@ -13443,9 +13426,9 @@ ], "additionalProperties": false }, - "AWS_MemoryDB_User": { + "AWS_GameLift_MatchmakingConfiguration": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::MemoryDB::User \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-memorydb-user.html)", + "markdownDescription": "The AWS::GameLift::MatchmakingConfiguration resource creates an Amazon GameLift (GameLift) matchmaking configuration. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-gamelift-matchmakingconfiguration.html)", "allOf": [ { "type": "object", @@ -13453,14 +13436,14 @@ "Type": { "type": "string", "enum": [ - "AWS::MemoryDB::User" + "AWS::GameLift::MatchmakingConfiguration" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::MemoryDB::User \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-memorydb-user.html)" + "The AWS::GameLift::MatchmakingConfiguration resource creates an Amazon GameLift (GameLift) matchmaking configuration. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-gamelift-matchmakingconfiguration.html)" ] }, "Properties": { - "$ref": "resources/aws-memorydb-user.json" + "$ref": "resources/aws-gamelift-matchmakingconfiguration.json" } }, "required": [ @@ -13474,9 +13457,9 @@ ], "additionalProperties": false }, - "AWS_EventSchemas_Registry": { + "AWS_SSMContacts_ContactChannel": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::EventSchemas::Registry \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-eventschemas-registry.html)", + "markdownDescription": "Resource Type definition for AWS::SSMContacts::ContactChannel \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssmcontacts-contactchannel.html)", "allOf": [ { "type": "object", @@ -13484,14 +13467,14 @@ "Type": { "type": "string", "enum": [ - "AWS::EventSchemas::Registry" + "AWS::SSMContacts::ContactChannel" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::EventSchemas::Registry \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-eventschemas-registry.html)" + "Resource Type definition for AWS::SSMContacts::ContactChannel \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssmcontacts-contactchannel.html)" ] }, "Properties": { - "$ref": "resources/aws-eventschemas-registry.json" + "$ref": "resources/aws-ssmcontacts-contactchannel.json" } }, "required": [ @@ -13504,9 +13487,9 @@ ], "additionalProperties": false }, - "AWS_MediaConnect_Flow": { + "AWS_MediaPackage_Channel": { "type": "object", - "markdownDescription": "Resource schema for AWS::MediaConnect::Flow \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediaconnect-flow.html)", + "markdownDescription": "Resource schema for AWS::MediaPackage::Channel \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediapackage-channel.html)", "allOf": [ { "type": "object", @@ -13514,14 +13497,14 @@ "Type": { "type": "string", "enum": [ - "AWS::MediaConnect::Flow" + "AWS::MediaPackage::Channel" ], "markdownEnumDescriptions": [ - "Resource schema for AWS::MediaConnect::Flow \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediaconnect-flow.html)" + "Resource schema for AWS::MediaPackage::Channel \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediapackage-channel.html)" ] }, "Properties": { - "$ref": "resources/aws-mediaconnect-flow.json" + "$ref": "resources/aws-mediapackage-channel.json" } }, "required": [ @@ -13535,9 +13518,9 @@ ], "additionalProperties": false }, - "AWS_GameLift_Location": { + "AWS_SES_MailManagerAddonSubscription": { "type": "object", - "markdownDescription": "The AWS::GameLift::Location resource creates an Amazon GameLift (GameLift) custom location. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-gamelift-location.html)", + "markdownDescription": "Definition of AWS::SES::MailManagerAddonSubscription Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ses-mailmanageraddonsubscription.html)", "allOf": [ { "type": "object", @@ -13545,14 +13528,14 @@ "Type": { "type": "string", "enum": [ - "AWS::GameLift::Location" + "AWS::SES::MailManagerAddonSubscription" ], "markdownEnumDescriptions": [ - "The AWS::GameLift::Location resource creates an Amazon GameLift (GameLift) custom location. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-gamelift-location.html)" + "Definition of AWS::SES::MailManagerAddonSubscription Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ses-mailmanageraddonsubscription.html)" ] }, "Properties": { - "$ref": "resources/aws-gamelift-location.json" + "$ref": "resources/aws-ses-mailmanageraddonsubscription.json" } }, "required": [ @@ -13566,9 +13549,9 @@ ], "additionalProperties": false }, - "AWS_AppRunner_VpcIngressConnection": { + "AWS_IoT_AccountAuditConfiguration": { "type": "object", - "markdownDescription": "The AWS::AppRunner::VpcIngressConnection resource is an App Runner resource that specifies an App Runner VpcIngressConnection. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apprunner-vpcingressconnection.html)", + "markdownDescription": "Configures the Device Defender audit settings for this account. Settings include how audit notifications are sent and which audit checks are enabled or disabled. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-accountauditconfiguration.html)", "allOf": [ { "type": "object", @@ -13576,14 +13559,14 @@ "Type": { "type": "string", "enum": [ - "AWS::AppRunner::VpcIngressConnection" + "AWS::IoT::AccountAuditConfiguration" ], "markdownEnumDescriptions": [ - "The AWS::AppRunner::VpcIngressConnection resource is an App Runner resource that specifies an App Runner VpcIngressConnection. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apprunner-vpcingressconnection.html)" + "Configures the Device Defender audit settings for this account. Settings include how audit notifications are sent and which audit checks are enabled or disabled. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-accountauditconfiguration.html)" ] }, "Properties": { - "$ref": "resources/aws-apprunner-vpcingressconnection.json" + "$ref": "resources/aws-iot-accountauditconfiguration.json" } }, "required": [ @@ -13597,9 +13580,9 @@ ], "additionalProperties": false }, - "AWS_StepFunctions_StateMachineAlias": { + "AWS_CodeDeploy_Application": { "type": "object", - "markdownDescription": "Resource schema for StateMachineAlias \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-stepfunctions-statemachinealias.html)", + "markdownDescription": "The AWS::CodeDeploy::Application resource creates an AWS CodeDeploy application \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codedeploy-application.html)", "allOf": [ { "type": "object", @@ -13607,14 +13590,14 @@ "Type": { "type": "string", "enum": [ - "AWS::StepFunctions::StateMachineAlias" + "AWS::CodeDeploy::Application" ], "markdownEnumDescriptions": [ - "Resource schema for StateMachineAlias \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-stepfunctions-statemachinealias.html)" + "The AWS::CodeDeploy::Application resource creates an AWS CodeDeploy application \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codedeploy-application.html)" ] }, "Properties": { - "$ref": "resources/aws-stepfunctions-statemachinealias.json" + "$ref": "resources/aws-codedeploy-application.json" } }, "required": [ @@ -13627,9 +13610,9 @@ ], "additionalProperties": false }, - "AWS_ApiGateway_ClientCertificate": { + "AWS_Panorama_ApplicationInstance": { "type": "object", - "markdownDescription": "The ``AWS::ApiGateway::ClientCertificate`` resource creates a client certificate that API Gateway uses to configure client-side SSL authentication for sending requests to the integration endpoint. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-clientcertificate.html)", + "markdownDescription": "Creates an application instance and deploys it to a device. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-panorama-applicationinstance.html)", "allOf": [ { "type": "object", @@ -13637,18 +13620,19 @@ "Type": { "type": "string", "enum": [ - "AWS::ApiGateway::ClientCertificate" + "AWS::Panorama::ApplicationInstance" ], "markdownEnumDescriptions": [ - "The ``AWS::ApiGateway::ClientCertificate`` resource creates a client certificate that API Gateway uses to configure client-side SSL authentication for sending requests to the integration endpoint. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-clientcertificate.html)" + "Creates an application instance and deploys it to a device. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-panorama-applicationinstance.html)" ] }, "Properties": { - "$ref": "resources/aws-apigateway-clientcertificate.json" + "$ref": "resources/aws-panorama-applicationinstance.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -13657,9 +13641,9 @@ ], "additionalProperties": false }, - "AWS_AppStream_Application": { + "AWS_AmplifyUIBuilder_Component": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::AppStream::Application \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appstream-application.html)", + "markdownDescription": "Definition of AWS::AmplifyUIBuilder::Component Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-amplifyuibuilder-component.html)", "allOf": [ { "type": "object", @@ -13667,19 +13651,18 @@ "Type": { "type": "string", "enum": [ - "AWS::AppStream::Application" + "AWS::AmplifyUIBuilder::Component" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::AppStream::Application \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appstream-application.html)" + "Definition of AWS::AmplifyUIBuilder::Component Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-amplifyuibuilder-component.html)" ] }, "Properties": { - "$ref": "resources/aws-appstream-application.json" + "$ref": "resources/aws-amplifyuibuilder-component.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -13688,9 +13671,9 @@ ], "additionalProperties": false }, - "AWS_RAM_Permission": { + "AWS_DMS_DataMigration": { "type": "object", - "markdownDescription": "Resource type definition for AWS::RAM::Permission \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ram-permission.html)", + "markdownDescription": "Resource schema for AWS::DMS::DataMigration. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dms-datamigration.html)", "allOf": [ { "type": "object", @@ -13698,14 +13681,14 @@ "Type": { "type": "string", "enum": [ - "AWS::RAM::Permission" + "AWS::DMS::DataMigration" ], "markdownEnumDescriptions": [ - "Resource type definition for AWS::RAM::Permission \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ram-permission.html)" + "Resource schema for AWS::DMS::DataMigration. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dms-datamigration.html)" ] }, "Properties": { - "$ref": "resources/aws-ram-permission.json" + "$ref": "resources/aws-dms-datamigration.json" } }, "required": [ @@ -13719,9 +13702,9 @@ ], "additionalProperties": false }, - "AWS_DataSync_Agent": { + "AWS_IAM_ServerCertificate": { "type": "object", - "markdownDescription": "Resource schema for AWS::DataSync::Agent. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datasync-agent.html)", + "markdownDescription": "Resource Type definition for AWS::IAM::ServerCertificate \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-servercertificate.html)", "allOf": [ { "type": "object", @@ -13729,14 +13712,14 @@ "Type": { "type": "string", "enum": [ - "AWS::DataSync::Agent" + "AWS::IAM::ServerCertificate" ], "markdownEnumDescriptions": [ - "Resource schema for AWS::DataSync::Agent. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datasync-agent.html)" + "Resource Type definition for AWS::IAM::ServerCertificate \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-servercertificate.html)" ] }, "Properties": { - "$ref": "resources/aws-datasync-agent.json" + "$ref": "resources/aws-iam-servercertificate.json" } }, "required": [ @@ -13749,9 +13732,9 @@ ], "additionalProperties": false }, - "AWS_MSK_Configuration": { + "AWS_Location_PlaceIndex": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::MSK::Configuration \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-msk-configuration.html)", + "markdownDescription": "Definition of AWS::Location::PlaceIndex Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-location-placeindex.html)", "allOf": [ { "type": "object", @@ -13759,14 +13742,14 @@ "Type": { "type": "string", "enum": [ - "AWS::MSK::Configuration" + "AWS::Location::PlaceIndex" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::MSK::Configuration \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-msk-configuration.html)" + "Definition of AWS::Location::PlaceIndex Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-location-placeindex.html)" ] }, "Properties": { - "$ref": "resources/aws-msk-configuration.json" + "$ref": "resources/aws-location-placeindex.json" } }, "required": [ @@ -13780,9 +13763,9 @@ ], "additionalProperties": false }, - "AWS_ImageBuilder_ImageRecipe": { + "AWS_AppConfig_HostedConfigurationVersion": { "type": "object", - "markdownDescription": "Resource schema for AWS::ImageBuilder::ImageRecipe \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-imagebuilder-imagerecipe.html)", + "markdownDescription": "Resource Type definition for AWS::AppConfig::HostedConfigurationVersion \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appconfig-hostedconfigurationversion.html)", "allOf": [ { "type": "object", @@ -13790,14 +13773,14 @@ "Type": { "type": "string", "enum": [ - "AWS::ImageBuilder::ImageRecipe" + "AWS::AppConfig::HostedConfigurationVersion" ], "markdownEnumDescriptions": [ - "Resource schema for AWS::ImageBuilder::ImageRecipe \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-imagebuilder-imagerecipe.html)" + "Resource Type definition for AWS::AppConfig::HostedConfigurationVersion \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appconfig-hostedconfigurationversion.html)" ] }, "Properties": { - "$ref": "resources/aws-imagebuilder-imagerecipe.json" + "$ref": "resources/aws-appconfig-hostedconfigurationversion.json" } }, "required": [ @@ -13811,9 +13794,9 @@ ], "additionalProperties": false }, - "AWS_AppStream_Stack": { + "AWS_AppIntegrations_DataIntegration": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::AppStream::Stack \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appstream-stack.html)", + "markdownDescription": "Resource Type definition for AWS::AppIntegrations::DataIntegration \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appintegrations-dataintegration.html)", "allOf": [ { "type": "object", @@ -13821,18 +13804,19 @@ "Type": { "type": "string", "enum": [ - "AWS::AppStream::Stack" + "AWS::AppIntegrations::DataIntegration" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::AppStream::Stack \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appstream-stack.html)" + "Resource Type definition for AWS::AppIntegrations::DataIntegration \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appintegrations-dataintegration.html)" ] }, "Properties": { - "$ref": "resources/aws-appstream-stack.json" + "$ref": "resources/aws-appintegrations-dataintegration.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -13841,9 +13825,9 @@ ], "additionalProperties": false }, - "AWS_Lex_Bot": { + "AWS_QuickSight_Folder": { "type": "object", - "markdownDescription": "Amazon Lex conversational bot performing automated tasks such as ordering a pizza, booking a hotel, and so on. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lex-bot.html)", + "markdownDescription": "Definition of the AWS::QuickSight::Folder Resource Type. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-quicksight-folder.html)", "allOf": [ { "type": "object", @@ -13851,19 +13835,18 @@ "Type": { "type": "string", "enum": [ - "AWS::Lex::Bot" + "AWS::QuickSight::Folder" ], "markdownEnumDescriptions": [ - "Amazon Lex conversational bot performing automated tasks such as ordering a pizza, booking a hotel, and so on. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lex-bot.html)" + "Definition of the AWS::QuickSight::Folder Resource Type. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-quicksight-folder.html)" ] }, "Properties": { - "$ref": "resources/aws-lex-bot.json" + "$ref": "resources/aws-quicksight-folder.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -13872,9 +13855,9 @@ ], "additionalProperties": false }, - "AWS_ServiceCatalog_AcceptedPortfolioShare": { + "AWS_GameLift_MatchmakingRuleSet": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::ServiceCatalog::AcceptedPortfolioShare \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicecatalog-acceptedportfolioshare.html)", + "markdownDescription": "The AWS::GameLift::MatchmakingRuleSet resource creates an Amazon GameLift (GameLift) matchmaking rule set. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-gamelift-matchmakingruleset.html)", "allOf": [ { "type": "object", @@ -13882,14 +13865,14 @@ "Type": { "type": "string", "enum": [ - "AWS::ServiceCatalog::AcceptedPortfolioShare" + "AWS::GameLift::MatchmakingRuleSet" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::ServiceCatalog::AcceptedPortfolioShare \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicecatalog-acceptedportfolioshare.html)" + "The AWS::GameLift::MatchmakingRuleSet resource creates an Amazon GameLift (GameLift) matchmaking rule set. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-gamelift-matchmakingruleset.html)" ] }, "Properties": { - "$ref": "resources/aws-servicecatalog-acceptedportfolioshare.json" + "$ref": "resources/aws-gamelift-matchmakingruleset.json" } }, "required": [ @@ -13903,9 +13886,9 @@ ], "additionalProperties": false }, - "AWS_CustomerProfiles_CalculatedAttributeDefinition": { + "AWS_KinesisAnalytics_ApplicationReferenceDataSource": { "type": "object", - "markdownDescription": "A calculated attribute definition for Customer Profiles \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-customerprofiles-calculatedattributedefinition.html)", + "markdownDescription": "Resource Type definition for AWS::KinesisAnalytics::ApplicationReferenceDataSource \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kinesisanalytics-applicationreferencedatasource.html)", "allOf": [ { "type": "object", @@ -13913,14 +13896,14 @@ "Type": { "type": "string", "enum": [ - "AWS::CustomerProfiles::CalculatedAttributeDefinition" + "AWS::KinesisAnalytics::ApplicationReferenceDataSource" ], "markdownEnumDescriptions": [ - "A calculated attribute definition for Customer Profiles \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-customerprofiles-calculatedattributedefinition.html)" + "Resource Type definition for AWS::KinesisAnalytics::ApplicationReferenceDataSource \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kinesisanalytics-applicationreferencedatasource.html)" ] }, "Properties": { - "$ref": "resources/aws-customerprofiles-calculatedattributedefinition.json" + "$ref": "resources/aws-kinesisanalytics-applicationreferencedatasource.json" } }, "required": [ @@ -13934,9 +13917,9 @@ ], "additionalProperties": false }, - "AWS_MediaLive_CloudWatchAlarmTemplateGroup": { + "AWS_AppStream_StackUserAssociation": { "type": "object", - "markdownDescription": "Definition of AWS::MediaLive::CloudWatchAlarmTemplateGroup Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-medialive-cloudwatchalarmtemplategroup.html)", + "markdownDescription": "Resource Type definition for AWS::AppStream::StackUserAssociation \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appstream-stackuserassociation.html)", "allOf": [ { "type": "object", @@ -13944,14 +13927,14 @@ "Type": { "type": "string", "enum": [ - "AWS::MediaLive::CloudWatchAlarmTemplateGroup" + "AWS::AppStream::StackUserAssociation" ], "markdownEnumDescriptions": [ - "Definition of AWS::MediaLive::CloudWatchAlarmTemplateGroup Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-medialive-cloudwatchalarmtemplategroup.html)" + "Resource Type definition for AWS::AppStream::StackUserAssociation \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appstream-stackuserassociation.html)" ] }, "Properties": { - "$ref": "resources/aws-medialive-cloudwatchalarmtemplategroup.json" + "$ref": "resources/aws-appstream-stackuserassociation.json" } }, "required": [ @@ -13965,9 +13948,9 @@ ], "additionalProperties": false }, - "AWS_S3_Bucket": { + "AWS_IoTFleetWise_SignalCatalog": { "type": "object", - "markdownDescription": "The ``AWS::S3::Bucket`` resource creates an Amazon S3 bucket in the same AWS Region where you create the AWS CloudFormation stack.\n To control how AWS CloudFormation handles the bucket when the stack is deleted, you can set a deletion policy for your bucket. You can choose to *retain* the bucket or to *delete* the bucket. For more information, see [DeletionPolicy Attribute](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-deletionpolicy.html).\n You can only delete empty buckets. Deletion fails for buckets that have contents. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-s3-bucket.html)", + "markdownDescription": "Definition of AWS::IoTFleetWise::SignalCatalog Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotfleetwise-signalcatalog.html)", "allOf": [ { "type": "object", @@ -13975,14 +13958,14 @@ "Type": { "type": "string", "enum": [ - "AWS::S3::Bucket" + "AWS::IoTFleetWise::SignalCatalog" ], "markdownEnumDescriptions": [ - "The ``AWS::S3::Bucket`` resource creates an Amazon S3 bucket in the same AWS Region where you create the AWS CloudFormation stack.\n To control how AWS CloudFormation handles the bucket when the stack is deleted, you can set a deletion policy for your bucket. You can choose to *retain* the bucket or to *delete* the bucket. For more information, see [DeletionPolicy Attribute](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-deletionpolicy.html).\n You can only delete empty buckets. Deletion fails for buckets that have contents. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-s3-bucket.html)" + "Definition of AWS::IoTFleetWise::SignalCatalog Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotfleetwise-signalcatalog.html)" ] }, "Properties": { - "$ref": "resources/aws-s3-bucket.json" + "$ref": "resources/aws-iotfleetwise-signalcatalog.json" } }, "required": [ @@ -13995,9 +13978,9 @@ ], "additionalProperties": false }, - "AWS_SageMaker_NotebookInstanceLifecycleConfig": { + "AWS_RDS_DBProxy": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::SageMaker::NotebookInstanceLifecycleConfig \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-notebookinstancelifecycleconfig.html)", + "markdownDescription": "Resource schema for AWS::RDS::DBProxy \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbproxy.html)", "allOf": [ { "type": "object", @@ -14005,18 +13988,19 @@ "Type": { "type": "string", "enum": [ - "AWS::SageMaker::NotebookInstanceLifecycleConfig" + "AWS::RDS::DBProxy" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::SageMaker::NotebookInstanceLifecycleConfig \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-notebookinstancelifecycleconfig.html)" + "Resource schema for AWS::RDS::DBProxy \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbproxy.html)" ] }, "Properties": { - "$ref": "resources/aws-sagemaker-notebookinstancelifecycleconfig.json" + "$ref": "resources/aws-rds-dbproxy.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -14025,9 +14009,9 @@ ], "additionalProperties": false }, - "AWS_Backup_BackupPlan": { + "AWS_WorkSpaces_ConnectionAlias": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::Backup::BackupPlan \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-backup-backupplan.html)", + "markdownDescription": "Resource Type definition for AWS::WorkSpaces::ConnectionAlias \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-workspaces-connectionalias.html)", "allOf": [ { "type": "object", @@ -14035,14 +14019,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Backup::BackupPlan" + "AWS::WorkSpaces::ConnectionAlias" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::Backup::BackupPlan \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-backup-backupplan.html)" + "Resource Type definition for AWS::WorkSpaces::ConnectionAlias \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-workspaces-connectionalias.html)" ] }, "Properties": { - "$ref": "resources/aws-backup-backupplan.json" + "$ref": "resources/aws-workspaces-connectionalias.json" } }, "required": [ @@ -14056,9 +14040,9 @@ ], "additionalProperties": false }, - "AWS_Deadline_LicenseEndpoint": { + "AWS_Redshift_EventSubscription": { "type": "object", - "markdownDescription": "Definition of AWS::Deadline::LicenseEndpoint Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-deadline-licenseendpoint.html)", + "markdownDescription": "The `AWS::Redshift::EventSubscription` resource creates an Amazon Redshift Event Subscription. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-redshift-eventsubscription.html)", "allOf": [ { "type": "object", @@ -14066,14 +14050,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Deadline::LicenseEndpoint" + "AWS::Redshift::EventSubscription" ], "markdownEnumDescriptions": [ - "Definition of AWS::Deadline::LicenseEndpoint Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-deadline-licenseendpoint.html)" + "The `AWS::Redshift::EventSubscription` resource creates an Amazon Redshift Event Subscription. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-redshift-eventsubscription.html)" ] }, "Properties": { - "$ref": "resources/aws-deadline-licenseendpoint.json" + "$ref": "resources/aws-redshift-eventsubscription.json" } }, "required": [ @@ -14087,9 +14071,9 @@ ], "additionalProperties": false }, - "AWS_NetworkManager_TransitGatewayRegistration": { + "AWS_IVSChat_Room": { "type": "object", - "markdownDescription": "The AWS::NetworkManager::TransitGatewayRegistration type registers a transit gateway in your global network. The transit gateway can be in any AWS Region, but it must be owned by the same AWS account that owns the global network. You cannot register a transit gateway in more than one global network. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkmanager-transitgatewayregistration.html)", + "markdownDescription": "Resource type definition for AWS::IVSChat::Room. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ivschat-room.html)", "allOf": [ { "type": "object", @@ -14097,19 +14081,18 @@ "Type": { "type": "string", "enum": [ - "AWS::NetworkManager::TransitGatewayRegistration" + "AWS::IVSChat::Room" ], "markdownEnumDescriptions": [ - "The AWS::NetworkManager::TransitGatewayRegistration type registers a transit gateway in your global network. The transit gateway can be in any AWS Region, but it must be owned by the same AWS account that owns the global network. You cannot register a transit gateway in more than one global network. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkmanager-transitgatewayregistration.html)" + "Resource type definition for AWS::IVSChat::Room. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ivschat-room.html)" ] }, "Properties": { - "$ref": "resources/aws-networkmanager-transitgatewayregistration.json" + "$ref": "resources/aws-ivschat-room.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -14118,9 +14101,9 @@ ], "additionalProperties": false }, - "AWS_CloudFront_CloudFrontOriginAccessIdentity": { + "AWS_ElastiCache_UserGroup": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::CloudFront::CloudFrontOriginAccessIdentity \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudfront-cloudfrontoriginaccessidentity.html)", + "markdownDescription": "Resource Type definition for AWS::ElastiCache::UserGroup \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticache-usergroup.html)", "allOf": [ { "type": "object", @@ -14128,14 +14111,14 @@ "Type": { "type": "string", "enum": [ - "AWS::CloudFront::CloudFrontOriginAccessIdentity" + "AWS::ElastiCache::UserGroup" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::CloudFront::CloudFrontOriginAccessIdentity \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudfront-cloudfrontoriginaccessidentity.html)" + "Resource Type definition for AWS::ElastiCache::UserGroup \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticache-usergroup.html)" ] }, "Properties": { - "$ref": "resources/aws-cloudfront-cloudfrontoriginaccessidentity.json" + "$ref": "resources/aws-elasticache-usergroup.json" } }, "required": [ @@ -14149,9 +14132,9 @@ ], "additionalProperties": false }, - "AWS_WorkSpacesWeb_UserAccessLoggingSettings": { + "AWS_CloudFront_KeyGroup": { "type": "object", - "markdownDescription": "Definition of AWS::WorkSpacesWeb::UserAccessLoggingSettings Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-workspacesweb-useraccessloggingsettings.html)", + "markdownDescription": "Resource Type definition for AWS::CloudFront::KeyGroup \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudfront-keygroup.html)", "allOf": [ { "type": "object", @@ -14159,14 +14142,14 @@ "Type": { "type": "string", "enum": [ - "AWS::WorkSpacesWeb::UserAccessLoggingSettings" + "AWS::CloudFront::KeyGroup" ], "markdownEnumDescriptions": [ - "Definition of AWS::WorkSpacesWeb::UserAccessLoggingSettings Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-workspacesweb-useraccessloggingsettings.html)" + "Resource Type definition for AWS::CloudFront::KeyGroup \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudfront-keygroup.html)" ] }, "Properties": { - "$ref": "resources/aws-workspacesweb-useraccessloggingsettings.json" + "$ref": "resources/aws-cloudfront-keygroup.json" } }, "required": [ @@ -14180,9 +14163,9 @@ ], "additionalProperties": false }, - "AWS_Forecast_Dataset": { + "AWS_CloudFormation_WaitCondition": { "type": "object", - "markdownDescription": "Resource Type Definition for AWS::Forecast::Dataset \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-forecast-dataset.html)", + "markdownDescription": "Resource Type definition for AWS::CloudFormation::WaitCondition \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudformation-waitcondition.html)", "allOf": [ { "type": "object", @@ -14190,19 +14173,18 @@ "Type": { "type": "string", "enum": [ - "AWS::Forecast::Dataset" + "AWS::CloudFormation::WaitCondition" ], "markdownEnumDescriptions": [ - "Resource Type Definition for AWS::Forecast::Dataset \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-forecast-dataset.html)" + "Resource Type definition for AWS::CloudFormation::WaitCondition \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudformation-waitcondition.html)" ] }, "Properties": { - "$ref": "resources/aws-forecast-dataset.json" + "$ref": "resources/aws-cloudformation-waitcondition.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -14211,9 +14193,9 @@ ], "additionalProperties": false }, - "AWS_Connect_PhoneNumber": { + "AWS_MSK_VpcConnection": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::Connect::PhoneNumber \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-connect-phonenumber.html)", + "markdownDescription": "Resource Type definition for AWS::MSK::VpcConnection \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-msk-vpcconnection.html)", "allOf": [ { "type": "object", @@ -14221,14 +14203,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Connect::PhoneNumber" + "AWS::MSK::VpcConnection" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::Connect::PhoneNumber \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-connect-phonenumber.html)" + "Resource Type definition for AWS::MSK::VpcConnection \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-msk-vpcconnection.html)" ] }, "Properties": { - "$ref": "resources/aws-connect-phonenumber.json" + "$ref": "resources/aws-msk-vpcconnection.json" } }, "required": [ @@ -14242,9 +14224,9 @@ ], "additionalProperties": false }, - "AWS_IoTFleetWise_Fleet": { + "AWS_QuickSight_RefreshSchedule": { "type": "object", - "markdownDescription": "Definition of AWS::IoTFleetWise::Fleet Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotfleetwise-fleet.html)", + "markdownDescription": "Definition of the AWS::QuickSight::RefreshSchedule Resource Type. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-quicksight-refreshschedule.html)", "allOf": [ { "type": "object", @@ -14252,19 +14234,18 @@ "Type": { "type": "string", "enum": [ - "AWS::IoTFleetWise::Fleet" + "AWS::QuickSight::RefreshSchedule" ], "markdownEnumDescriptions": [ - "Definition of AWS::IoTFleetWise::Fleet Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotfleetwise-fleet.html)" + "Definition of the AWS::QuickSight::RefreshSchedule Resource Type. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-quicksight-refreshschedule.html)" ] }, "Properties": { - "$ref": "resources/aws-iotfleetwise-fleet.json" + "$ref": "resources/aws-quicksight-refreshschedule.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -14273,9 +14254,9 @@ ], "additionalProperties": false }, - "AWS_MediaTailor_VodSource": { + "AWS_NetworkManager_GlobalNetwork": { "type": "object", - "markdownDescription": "Definition of AWS::MediaTailor::VodSource Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediatailor-vodsource.html)", + "markdownDescription": "The AWS::NetworkManager::GlobalNetwork type specifies a global network of the user's account \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkmanager-globalnetwork.html)", "allOf": [ { "type": "object", @@ -14283,19 +14264,18 @@ "Type": { "type": "string", "enum": [ - "AWS::MediaTailor::VodSource" + "AWS::NetworkManager::GlobalNetwork" ], "markdownEnumDescriptions": [ - "Definition of AWS::MediaTailor::VodSource Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediatailor-vodsource.html)" + "The AWS::NetworkManager::GlobalNetwork type specifies a global network of the user's account \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkmanager-globalnetwork.html)" ] }, "Properties": { - "$ref": "resources/aws-mediatailor-vodsource.json" + "$ref": "resources/aws-networkmanager-globalnetwork.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -14304,9 +14284,9 @@ ], "additionalProperties": false }, - "AWS_DataSync_LocationNFS": { + "AWS_Wisdom_AIAgentVersion": { "type": "object", - "markdownDescription": "Resource schema for AWS::DataSync::LocationNFS \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datasync-locationnfs.html)", + "markdownDescription": "Definition of AWS::Wisdom::AIAgentVersion Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-wisdom-aiagentversion.html)", "allOf": [ { "type": "object", @@ -14314,14 +14294,14 @@ "Type": { "type": "string", "enum": [ - "AWS::DataSync::LocationNFS" + "AWS::Wisdom::AIAgentVersion" ], "markdownEnumDescriptions": [ - "Resource schema for AWS::DataSync::LocationNFS \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datasync-locationnfs.html)" + "Definition of AWS::Wisdom::AIAgentVersion Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-wisdom-aiagentversion.html)" ] }, "Properties": { - "$ref": "resources/aws-datasync-locationnfs.json" + "$ref": "resources/aws-wisdom-aiagentversion.json" } }, "required": [ @@ -14335,9 +14315,9 @@ ], "additionalProperties": false }, - "AWS_NetworkFirewall_TLSInspectionConfiguration": { + "AWS_OpsWorks_App": { "type": "object", - "markdownDescription": "Resource type definition for AWS::NetworkFirewall::TLSInspectionConfiguration \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkfirewall-tlsinspectionconfiguration.html)", + "markdownDescription": "Resource Type definition for AWS::OpsWorks::App \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opsworks-app.html)", "allOf": [ { "type": "object", @@ -14345,14 +14325,14 @@ "Type": { "type": "string", "enum": [ - "AWS::NetworkFirewall::TLSInspectionConfiguration" + "AWS::OpsWorks::App" ], "markdownEnumDescriptions": [ - "Resource type definition for AWS::NetworkFirewall::TLSInspectionConfiguration \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkfirewall-tlsinspectionconfiguration.html)" + "Resource Type definition for AWS::OpsWorks::App \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opsworks-app.html)" ] }, "Properties": { - "$ref": "resources/aws-networkfirewall-tlsinspectionconfiguration.json" + "$ref": "resources/aws-opsworks-app.json" } }, "required": [ @@ -14366,9 +14346,9 @@ ], "additionalProperties": false }, - "AWS_Budgets_Budget": { + "AWS_DMS_EventSubscription": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::Budgets::Budget \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-budgets-budget.html)", + "markdownDescription": "Resource Type definition for AWS::DMS::EventSubscription \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dms-eventsubscription.html)", "allOf": [ { "type": "object", @@ -14376,14 +14356,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Budgets::Budget" + "AWS::DMS::EventSubscription" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::Budgets::Budget \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-budgets-budget.html)" + "Resource Type definition for AWS::DMS::EventSubscription \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dms-eventsubscription.html)" ] }, "Properties": { - "$ref": "resources/aws-budgets-budget.json" + "$ref": "resources/aws-dms-eventsubscription.json" } }, "required": [ @@ -14397,9 +14377,9 @@ ], "additionalProperties": false }, - "AWS_CleanRooms_Collaboration": { + "AWS_MediaConvert_Preset": { "type": "object", - "markdownDescription": "Represents a collaboration between AWS accounts that allows for secure data collaboration \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cleanrooms-collaboration.html)", + "markdownDescription": "Resource Type definition for AWS::MediaConvert::Preset \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediaconvert-preset.html)", "allOf": [ { "type": "object", @@ -14407,14 +14387,14 @@ "Type": { "type": "string", "enum": [ - "AWS::CleanRooms::Collaboration" + "AWS::MediaConvert::Preset" ], "markdownEnumDescriptions": [ - "Represents a collaboration between AWS accounts that allows for secure data collaboration \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cleanrooms-collaboration.html)" + "Resource Type definition for AWS::MediaConvert::Preset \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediaconvert-preset.html)" ] }, "Properties": { - "$ref": "resources/aws-cleanrooms-collaboration.json" + "$ref": "resources/aws-mediaconvert-preset.json" } }, "required": [ @@ -14428,9 +14408,9 @@ ], "additionalProperties": false }, - "AWS_SES_ContactList": { + "AWS_EC2_VerifiedAccessEndpoint": { "type": "object", - "markdownDescription": "Resource schema for AWS::SES::ContactList. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ses-contactlist.html)", + "markdownDescription": "The AWS::EC2::VerifiedAccessEndpoint resource creates an AWS EC2 Verified Access Endpoint. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-verifiedaccessendpoint.html)", "allOf": [ { "type": "object", @@ -14438,18 +14418,19 @@ "Type": { "type": "string", "enum": [ - "AWS::SES::ContactList" + "AWS::EC2::VerifiedAccessEndpoint" ], "markdownEnumDescriptions": [ - "Resource schema for AWS::SES::ContactList. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ses-contactlist.html)" + "The AWS::EC2::VerifiedAccessEndpoint resource creates an AWS EC2 Verified Access Endpoint. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-verifiedaccessendpoint.html)" ] }, "Properties": { - "$ref": "resources/aws-ses-contactlist.json" + "$ref": "resources/aws-ec2-verifiedaccessendpoint.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -14458,9 +14439,9 @@ ], "additionalProperties": false }, - "AWS_MediaLive_ChannelPlacementGroup": { + "AWS_SageMaker_StudioLifecycleConfig": { "type": "object", - "markdownDescription": "Definition of AWS::MediaLive::ChannelPlacementGroup Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-medialive-channelplacementgroup.html)", + "markdownDescription": "Resource Type definition for AWS::SageMaker::StudioLifecycleConfig \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-studiolifecycleconfig.html)", "allOf": [ { "type": "object", @@ -14468,18 +14449,19 @@ "Type": { "type": "string", "enum": [ - "AWS::MediaLive::ChannelPlacementGroup" + "AWS::SageMaker::StudioLifecycleConfig" ], "markdownEnumDescriptions": [ - "Definition of AWS::MediaLive::ChannelPlacementGroup Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-medialive-channelplacementgroup.html)" + "Resource Type definition for AWS::SageMaker::StudioLifecycleConfig \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-studiolifecycleconfig.html)" ] }, "Properties": { - "$ref": "resources/aws-medialive-channelplacementgroup.json" + "$ref": "resources/aws-sagemaker-studiolifecycleconfig.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -14488,9 +14470,9 @@ ], "additionalProperties": false }, - "AWS_Config_RemediationConfiguration": { + "AWS_IoTWireless_WirelessDeviceImportTask": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::Config::RemediationConfiguration \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-config-remediationconfiguration.html)", + "markdownDescription": "Wireless Device Import Tasks \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotwireless-wirelessdeviceimporttask.html)", "allOf": [ { "type": "object", @@ -14498,14 +14480,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Config::RemediationConfiguration" + "AWS::IoTWireless::WirelessDeviceImportTask" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::Config::RemediationConfiguration \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-config-remediationconfiguration.html)" + "Wireless Device Import Tasks \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotwireless-wirelessdeviceimporttask.html)" ] }, "Properties": { - "$ref": "resources/aws-config-remediationconfiguration.json" + "$ref": "resources/aws-iotwireless-wirelessdeviceimporttask.json" } }, "required": [ @@ -14519,9 +14501,9 @@ ], "additionalProperties": false }, - "AWS_GameLift_Script": { + "AWS_M2_Environment": { "type": "object", - "markdownDescription": "The AWS::GameLift::Script resource creates a new script record for your Realtime Servers script. Realtime scripts are JavaScript that provide configuration settings and optional custom game logic for your game. The script is deployed when you create a Realtime Servers fleet to host your game sessions. Script logic is executed during an active game session. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-gamelift-script.html)", + "markdownDescription": "Represents a runtime environment that can run migrated mainframe applications. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-m2-environment.html)", "allOf": [ { "type": "object", @@ -14529,14 +14511,14 @@ "Type": { "type": "string", "enum": [ - "AWS::GameLift::Script" + "AWS::M2::Environment" ], "markdownEnumDescriptions": [ - "The AWS::GameLift::Script resource creates a new script record for your Realtime Servers script. Realtime scripts are JavaScript that provide configuration settings and optional custom game logic for your game. The script is deployed when you create a Realtime Servers fleet to host your game sessions. Script logic is executed during an active game session. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-gamelift-script.html)" + "Represents a runtime environment that can run migrated mainframe applications. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-m2-environment.html)" ] }, "Properties": { - "$ref": "resources/aws-gamelift-script.json" + "$ref": "resources/aws-m2-environment.json" } }, "required": [ @@ -14550,9 +14532,9 @@ ], "additionalProperties": false }, - "AWS_RDS_DBClusterParameterGroup": { + "AWS_Pinpoint_SMSChannel": { "type": "object", - "markdownDescription": "The ``AWS::RDS::DBClusterParameterGroup`` resource creates a new Amazon RDS DB cluster parameter group.\n For information about configuring parameters for Amazon Aurora DB clusters, see [Working with parameter groups](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/USER_WorkingWithParamGroups.html) in the *Amazon Aurora User Guide*.\n If you apply a parameter group to a DB cluster, then its DB instances might need to reboot. This can result in an outage while the DB instances are rebooting.\n If you apply a change to parameter group associated with a stopped DB cluster, then the updated stack waits until the DB cluster is started. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbclusterparametergroup.html)", + "markdownDescription": "Resource Type definition for AWS::Pinpoint::SMSChannel \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-smschannel.html)", "allOf": [ { "type": "object", @@ -14560,14 +14542,14 @@ "Type": { "type": "string", "enum": [ - "AWS::RDS::DBClusterParameterGroup" + "AWS::Pinpoint::SMSChannel" ], "markdownEnumDescriptions": [ - "The ``AWS::RDS::DBClusterParameterGroup`` resource creates a new Amazon RDS DB cluster parameter group.\n For information about configuring parameters for Amazon Aurora DB clusters, see [Working with parameter groups](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/USER_WorkingWithParamGroups.html) in the *Amazon Aurora User Guide*.\n If you apply a parameter group to a DB cluster, then its DB instances might need to reboot. This can result in an outage while the DB instances are rebooting.\n If you apply a change to parameter group associated with a stopped DB cluster, then the updated stack waits until the DB cluster is started. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbclusterparametergroup.html)" + "Resource Type definition for AWS::Pinpoint::SMSChannel \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-smschannel.html)" ] }, "Properties": { - "$ref": "resources/aws-rds-dbclusterparametergroup.json" + "$ref": "resources/aws-pinpoint-smschannel.json" } }, "required": [ @@ -14581,9 +14563,9 @@ ], "additionalProperties": false }, - "AWS_GuardDuty_MalwareProtectionPlan": { + "AWS_CustomerProfiles_Integration": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::GuardDuty::MalwareProtectionPlan \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-guardduty-malwareprotectionplan.html)", + "markdownDescription": "The resource schema for creating an Amazon Connect Customer Profiles Integration. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-customerprofiles-integration.html)", "allOf": [ { "type": "object", @@ -14591,14 +14573,14 @@ "Type": { "type": "string", "enum": [ - "AWS::GuardDuty::MalwareProtectionPlan" + "AWS::CustomerProfiles::Integration" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::GuardDuty::MalwareProtectionPlan \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-guardduty-malwareprotectionplan.html)" + "The resource schema for creating an Amazon Connect Customer Profiles Integration. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-customerprofiles-integration.html)" ] }, "Properties": { - "$ref": "resources/aws-guardduty-malwareprotectionplan.json" + "$ref": "resources/aws-customerprofiles-integration.json" } }, "required": [ @@ -14612,9 +14594,9 @@ ], "additionalProperties": false }, - "AWS_Transfer_Profile": { + "AWS_Bedrock_DataSource": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::Transfer::Profile \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-transfer-profile.html)", + "markdownDescription": "Definition of AWS::Bedrock::DataSource Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-bedrock-datasource.html)", "allOf": [ { "type": "object", @@ -14622,14 +14604,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Transfer::Profile" + "AWS::Bedrock::DataSource" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::Transfer::Profile \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-transfer-profile.html)" + "Definition of AWS::Bedrock::DataSource Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-bedrock-datasource.html)" ] }, "Properties": { - "$ref": "resources/aws-transfer-profile.json" + "$ref": "resources/aws-bedrock-datasource.json" } }, "required": [ @@ -14643,9 +14625,9 @@ ], "additionalProperties": false }, - "AWS_ServiceCatalogAppRegistry_ResourceAssociation": { + "AWS_MemoryDB_User": { "type": "object", - "markdownDescription": "Resource Schema for AWS::ServiceCatalogAppRegistry::ResourceAssociation \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicecatalogappregistry-resourceassociation.html)", + "markdownDescription": "Resource Type definition for AWS::MemoryDB::User \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-memorydb-user.html)", "allOf": [ { "type": "object", @@ -14653,14 +14635,14 @@ "Type": { "type": "string", "enum": [ - "AWS::ServiceCatalogAppRegistry::ResourceAssociation" + "AWS::MemoryDB::User" ], "markdownEnumDescriptions": [ - "Resource Schema for AWS::ServiceCatalogAppRegistry::ResourceAssociation \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicecatalogappregistry-resourceassociation.html)" + "Resource Type definition for AWS::MemoryDB::User \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-memorydb-user.html)" ] }, "Properties": { - "$ref": "resources/aws-servicecatalogappregistry-resourceassociation.json" + "$ref": "resources/aws-memorydb-user.json" } }, "required": [ @@ -14674,9 +14656,9 @@ ], "additionalProperties": false }, - "AWS_CodeStarConnections_RepositoryLink": { + "AWS_DocDBElastic_Cluster": { "type": "object", - "markdownDescription": "Schema for AWS::CodeStarConnections::RepositoryLink resource which is used to aggregate repository metadata relevant to synchronizing source provider content to AWS Resources. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codestarconnections-repositorylink.html)", + "markdownDescription": "The AWS::DocDBElastic::Cluster Amazon DocumentDB (with MongoDB compatibility) Elastic Scale resource describes a Cluster \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-docdbelastic-cluster.html)", "allOf": [ { "type": "object", @@ -14684,14 +14666,14 @@ "Type": { "type": "string", "enum": [ - "AWS::CodeStarConnections::RepositoryLink" + "AWS::DocDBElastic::Cluster" ], "markdownEnumDescriptions": [ - "Schema for AWS::CodeStarConnections::RepositoryLink resource which is used to aggregate repository metadata relevant to synchronizing source provider content to AWS Resources. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codestarconnections-repositorylink.html)" + "The AWS::DocDBElastic::Cluster Amazon DocumentDB (with MongoDB compatibility) Elastic Scale resource describes a Cluster \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-docdbelastic-cluster.html)" ] }, "Properties": { - "$ref": "resources/aws-codestarconnections-repositorylink.json" + "$ref": "resources/aws-docdbelastic-cluster.json" } }, "required": [ @@ -14705,9 +14687,9 @@ ], "additionalProperties": false }, - "AWS_IoTSiteWise_AssetModel": { + "AWS_Connect_ApprovedOrigin": { "type": "object", - "markdownDescription": "Resource schema for AWS::IoTSiteWise::AssetModel \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotsitewise-assetmodel.html)", + "markdownDescription": "Resource Type definition for AWS::Connect::ApprovedOrigin \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-connect-approvedorigin.html)", "allOf": [ { "type": "object", @@ -14715,14 +14697,14 @@ "Type": { "type": "string", "enum": [ - "AWS::IoTSiteWise::AssetModel" + "AWS::Connect::ApprovedOrigin" ], "markdownEnumDescriptions": [ - "Resource schema for AWS::IoTSiteWise::AssetModel \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotsitewise-assetmodel.html)" + "Resource Type definition for AWS::Connect::ApprovedOrigin \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-connect-approvedorigin.html)" ] }, "Properties": { - "$ref": "resources/aws-iotsitewise-assetmodel.json" + "$ref": "resources/aws-connect-approvedorigin.json" } }, "required": [ @@ -14736,9 +14718,9 @@ ], "additionalProperties": false }, - "AWS_QBusiness_Index": { + "AWS_EntityResolution_IdMappingWorkflow": { "type": "object", - "markdownDescription": "Definition of AWS::QBusiness::Index Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-qbusiness-index.html)", + "markdownDescription": "IdMappingWorkflow defined in AWS Entity Resolution service \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-entityresolution-idmappingworkflow.html)", "allOf": [ { "type": "object", @@ -14746,14 +14728,14 @@ "Type": { "type": "string", "enum": [ - "AWS::QBusiness::Index" + "AWS::EntityResolution::IdMappingWorkflow" ], "markdownEnumDescriptions": [ - "Definition of AWS::QBusiness::Index Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-qbusiness-index.html)" + "IdMappingWorkflow defined in AWS Entity Resolution service \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-entityresolution-idmappingworkflow.html)" ] }, "Properties": { - "$ref": "resources/aws-qbusiness-index.json" + "$ref": "resources/aws-entityresolution-idmappingworkflow.json" } }, "required": [ @@ -14767,9 +14749,9 @@ ], "additionalProperties": false }, - "AWS_PCAConnectorSCEP_Challenge": { + "AWS_IoT_CustomMetric": { "type": "object", - "markdownDescription": "Represents a SCEP Challenge that is used for certificate enrollment \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pcaconnectorscep-challenge.html)", + "markdownDescription": "A custom metric published by your devices to Device Defender. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-custommetric.html)", "allOf": [ { "type": "object", @@ -14777,14 +14759,14 @@ "Type": { "type": "string", "enum": [ - "AWS::PCAConnectorSCEP::Challenge" + "AWS::IoT::CustomMetric" ], "markdownEnumDescriptions": [ - "Represents a SCEP Challenge that is used for certificate enrollment \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pcaconnectorscep-challenge.html)" + "A custom metric published by your devices to Device Defender. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-custommetric.html)" ] }, "Properties": { - "$ref": "resources/aws-pcaconnectorscep-challenge.json" + "$ref": "resources/aws-iot-custommetric.json" } }, "required": [ @@ -14798,9 +14780,9 @@ ], "additionalProperties": false }, - "AWS_DataZone_Domain": { + "AWS_XRay_ResourcePolicy": { "type": "object", - "markdownDescription": "A domain is an organizing entity for connecting together assets, users, and their projects \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datazone-domain.html)", + "markdownDescription": "This schema provides construct and validation rules for AWS-XRay Resource Policy resource parameters. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-xray-resourcepolicy.html)", "allOf": [ { "type": "object", @@ -14808,14 +14790,14 @@ "Type": { "type": "string", "enum": [ - "AWS::DataZone::Domain" + "AWS::XRay::ResourcePolicy" ], "markdownEnumDescriptions": [ - "A domain is an organizing entity for connecting together assets, users, and their projects \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datazone-domain.html)" + "This schema provides construct and validation rules for AWS-XRay Resource Policy resource parameters. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-xray-resourcepolicy.html)" ] }, "Properties": { - "$ref": "resources/aws-datazone-domain.json" + "$ref": "resources/aws-xray-resourcepolicy.json" } }, "required": [ @@ -14829,9 +14811,9 @@ ], "additionalProperties": false }, - "AWS_MediaTailor_SourceLocation": { + "AWS_Events_Archive": { "type": "object", - "markdownDescription": "Definition of AWS::MediaTailor::SourceLocation Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediatailor-sourcelocation.html)", + "markdownDescription": "Resource Type definition for AWS::Events::Archive \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-archive.html)", "allOf": [ { "type": "object", @@ -14839,14 +14821,14 @@ "Type": { "type": "string", "enum": [ - "AWS::MediaTailor::SourceLocation" + "AWS::Events::Archive" ], "markdownEnumDescriptions": [ - "Definition of AWS::MediaTailor::SourceLocation Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediatailor-sourcelocation.html)" + "Resource Type definition for AWS::Events::Archive \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-archive.html)" ] }, "Properties": { - "$ref": "resources/aws-mediatailor-sourcelocation.json" + "$ref": "resources/aws-events-archive.json" } }, "required": [ @@ -14860,9 +14842,9 @@ ], "additionalProperties": false }, - "AWS_EMR_Cluster": { + "AWS_ApiGateway_Account": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::EMR::Cluster \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-emr-cluster.html)", + "markdownDescription": "The ``AWS::ApiGateway::Account`` resource specifies the IAM role that Amazon API Gateway uses to write API logs to Amazon CloudWatch Logs. To avoid overwriting other roles, you should only have one ``AWS::ApiGateway::Account`` resource per region per account. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-account.html)", "allOf": [ { "type": "object", @@ -14870,19 +14852,18 @@ "Type": { "type": "string", "enum": [ - "AWS::EMR::Cluster" + "AWS::ApiGateway::Account" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::EMR::Cluster \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-emr-cluster.html)" + "The ``AWS::ApiGateway::Account`` resource specifies the IAM role that Amazon API Gateway uses to write API logs to Amazon CloudWatch Logs. To avoid overwriting other roles, you should only have one ``AWS::ApiGateway::Account`` resource per region per account. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-account.html)" ] }, "Properties": { - "$ref": "resources/aws-emr-cluster.json" + "$ref": "resources/aws-apigateway-account.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -14891,9 +14872,9 @@ ], "additionalProperties": false }, - "AWS_Kendra_DataSource": { + "AWS_Backup_BackupSelection": { "type": "object", - "markdownDescription": "Kendra DataSource \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kendra-datasource.html)", + "markdownDescription": "Resource Type definition for AWS::Backup::BackupSelection \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-backup-backupselection.html)", "allOf": [ { "type": "object", @@ -14901,14 +14882,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Kendra::DataSource" + "AWS::Backup::BackupSelection" ], "markdownEnumDescriptions": [ - "Kendra DataSource \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kendra-datasource.html)" + "Resource Type definition for AWS::Backup::BackupSelection \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-backup-backupselection.html)" ] }, "Properties": { - "$ref": "resources/aws-kendra-datasource.json" + "$ref": "resources/aws-backup-backupselection.json" } }, "required": [ @@ -14922,9 +14903,9 @@ ], "additionalProperties": false }, - "AWS_Location_Map": { + "AWS_DataBrew_Project": { "type": "object", - "markdownDescription": "Definition of AWS::Location::Map Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-location-map.html)", + "markdownDescription": "Resource schema for AWS::DataBrew::Project. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-databrew-project.html)", "allOf": [ { "type": "object", @@ -14932,14 +14913,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Location::Map" + "AWS::DataBrew::Project" ], "markdownEnumDescriptions": [ - "Definition of AWS::Location::Map Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-location-map.html)" + "Resource schema for AWS::DataBrew::Project. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-databrew-project.html)" ] }, "Properties": { - "$ref": "resources/aws-location-map.json" + "$ref": "resources/aws-databrew-project.json" } }, "required": [ @@ -14953,9 +14934,9 @@ ], "additionalProperties": false }, - "AWS_FSx_StorageVirtualMachine": { + "AWS_CloudFront_CachePolicy": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::FSx::StorageVirtualMachine \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-fsx-storagevirtualmachine.html)", + "markdownDescription": "Resource Type definition for AWS::CloudFront::CachePolicy \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudfront-cachepolicy.html)", "allOf": [ { "type": "object", @@ -14963,14 +14944,14 @@ "Type": { "type": "string", "enum": [ - "AWS::FSx::StorageVirtualMachine" + "AWS::CloudFront::CachePolicy" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::FSx::StorageVirtualMachine \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-fsx-storagevirtualmachine.html)" + "Resource Type definition for AWS::CloudFront::CachePolicy \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudfront-cachepolicy.html)" ] }, "Properties": { - "$ref": "resources/aws-fsx-storagevirtualmachine.json" + "$ref": "resources/aws-cloudfront-cachepolicy.json" } }, "required": [ @@ -14984,9 +14965,9 @@ ], "additionalProperties": false }, - "AWS_ServiceCatalog_CloudFormationProvisionedProduct": { + "AWS_CustomerProfiles_CalculatedAttributeDefinition": { "type": "object", - "markdownDescription": "Resource Schema for AWS::ServiceCatalog::CloudFormationProvisionedProduct \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicecatalog-cloudformationprovisionedproduct.html)", + "markdownDescription": "A calculated attribute definition for Customer Profiles \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-customerprofiles-calculatedattributedefinition.html)", "allOf": [ { "type": "object", @@ -14994,18 +14975,19 @@ "Type": { "type": "string", "enum": [ - "AWS::ServiceCatalog::CloudFormationProvisionedProduct" + "AWS::CustomerProfiles::CalculatedAttributeDefinition" ], "markdownEnumDescriptions": [ - "Resource Schema for AWS::ServiceCatalog::CloudFormationProvisionedProduct \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicecatalog-cloudformationprovisionedproduct.html)" + "A calculated attribute definition for Customer Profiles \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-customerprofiles-calculatedattributedefinition.html)" ] }, "Properties": { - "$ref": "resources/aws-servicecatalog-cloudformationprovisionedproduct.json" + "$ref": "resources/aws-customerprofiles-calculatedattributedefinition.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -15014,9 +14996,9 @@ ], "additionalProperties": false }, - "AWS_DMS_DataProvider": { + "AWS_Connect_Prompt": { "type": "object", - "markdownDescription": "Resource schema for AWS::DMS::DataProvider \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dms-dataprovider.html)", + "markdownDescription": "Resource Type definition for AWS::Connect::Prompt \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-connect-prompt.html)", "allOf": [ { "type": "object", @@ -15024,14 +15006,14 @@ "Type": { "type": "string", "enum": [ - "AWS::DMS::DataProvider" + "AWS::Connect::Prompt" ], "markdownEnumDescriptions": [ - "Resource schema for AWS::DMS::DataProvider \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dms-dataprovider.html)" + "Resource Type definition for AWS::Connect::Prompt \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-connect-prompt.html)" ] }, "Properties": { - "$ref": "resources/aws-dms-dataprovider.json" + "$ref": "resources/aws-connect-prompt.json" } }, "required": [ @@ -15045,9 +15027,9 @@ ], "additionalProperties": false }, - "AWS_Route53RecoveryReadiness_ReadinessCheck": { + "AWS_Logs_DeliveryDestination": { "type": "object", - "markdownDescription": "Aws Route53 Recovery Readiness Check Schema and API specification. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53recoveryreadiness-readinesscheck.html)", + "markdownDescription": "This structure contains information about one delivery destination in your account.\n\nA delivery destination is an AWS resource that represents an AWS service that logs can be sent to CloudWatch Logs, Amazon S3, are supported as Kinesis Data Firehose delivery destinations. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-logs-deliverydestination.html)", "allOf": [ { "type": "object", @@ -15055,18 +15037,19 @@ "Type": { "type": "string", "enum": [ - "AWS::Route53RecoveryReadiness::ReadinessCheck" + "AWS::Logs::DeliveryDestination" ], "markdownEnumDescriptions": [ - "Aws Route53 Recovery Readiness Check Schema and API specification. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53recoveryreadiness-readinesscheck.html)" + "This structure contains information about one delivery destination in your account.\n\nA delivery destination is an AWS resource that represents an AWS service that logs can be sent to CloudWatch Logs, Amazon S3, are supported as Kinesis Data Firehose delivery destinations. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-logs-deliverydestination.html)" ] }, "Properties": { - "$ref": "resources/aws-route53recoveryreadiness-readinesscheck.json" + "$ref": "resources/aws-logs-deliverydestination.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -15075,9 +15058,9 @@ ], "additionalProperties": false }, - "AWS_Batch_JobQueue": { + "AWS_DataPipeline_Pipeline": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::Batch::JobQueue \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-batch-jobqueue.html)", + "markdownDescription": "An example resource schema demonstrating some basic constructs and validation rules. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datapipeline-pipeline.html)", "allOf": [ { "type": "object", @@ -15085,14 +15068,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Batch::JobQueue" + "AWS::DataPipeline::Pipeline" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::Batch::JobQueue \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-batch-jobqueue.html)" + "An example resource schema demonstrating some basic constructs and validation rules. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datapipeline-pipeline.html)" ] }, "Properties": { - "$ref": "resources/aws-batch-jobqueue.json" + "$ref": "resources/aws-datapipeline-pipeline.json" } }, "required": [ @@ -15106,9 +15089,9 @@ ], "additionalProperties": false }, - "AWS_WorkSpacesWeb_NetworkSettings": { + "AWS_EC2_TransitGatewayPeeringAttachment": { "type": "object", - "markdownDescription": "Definition of AWS::WorkSpacesWeb::NetworkSettings Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-workspacesweb-networksettings.html)", + "markdownDescription": "The AWS::EC2::TransitGatewayPeeringAttachment type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-transitgatewaypeeringattachment.html)", "allOf": [ { "type": "object", @@ -15116,14 +15099,14 @@ "Type": { "type": "string", "enum": [ - "AWS::WorkSpacesWeb::NetworkSettings" + "AWS::EC2::TransitGatewayPeeringAttachment" ], "markdownEnumDescriptions": [ - "Definition of AWS::WorkSpacesWeb::NetworkSettings Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-workspacesweb-networksettings.html)" + "The AWS::EC2::TransitGatewayPeeringAttachment type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-transitgatewaypeeringattachment.html)" ] }, "Properties": { - "$ref": "resources/aws-workspacesweb-networksettings.json" + "$ref": "resources/aws-ec2-transitgatewaypeeringattachment.json" } }, "required": [ @@ -15137,9 +15120,9 @@ ], "additionalProperties": false }, - "AWS_Lex_BotVersion": { + "AWS_CE_CostCategory": { "type": "object", - "markdownDescription": "A version is a numbered snapshot of your work that you can publish for use in different parts of your workflow, such as development, beta deployment, and production. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lex-botversion.html)", + "markdownDescription": "Cost Category enables you to map your cost and usage into meaningful categories. You can use Cost Category to organize your costs using a rule-based engine. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ce-costcategory.html)", "allOf": [ { "type": "object", @@ -15147,14 +15130,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Lex::BotVersion" + "AWS::CE::CostCategory" ], "markdownEnumDescriptions": [ - "A version is a numbered snapshot of your work that you can publish for use in different parts of your workflow, such as development, beta deployment, and production. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lex-botversion.html)" + "Cost Category enables you to map your cost and usage into meaningful categories. You can use Cost Category to organize your costs using a rule-based engine. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ce-costcategory.html)" ] }, "Properties": { - "$ref": "resources/aws-lex-botversion.json" + "$ref": "resources/aws-ce-costcategory.json" } }, "required": [ @@ -15168,9 +15151,9 @@ ], "additionalProperties": false }, - "AWS_ApplicationAutoScaling_ScalingPolicy": { + "AWS_Timestream_Table": { "type": "object", - "markdownDescription": "The ``AWS::ApplicationAutoScaling::ScalingPolicy`` resource defines a scaling policy that Application Auto Scaling uses to adjust the capacity of a scalable target. \n For more information, see [Target tracking scaling policies](https://docs.aws.amazon.com/autoscaling/application/userguide/application-auto-scaling-target-tracking.html) and [Step scaling policies](https://docs.aws.amazon.com/autoscaling/application/userguide/application-auto-scaling-step-scaling-policies.html) in the *Application Auto Scaling User Guide*. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-applicationautoscaling-scalingpolicy.html)", + "markdownDescription": "The AWS::Timestream::Table resource creates a Timestream Table. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-timestream-table.html)", "allOf": [ { "type": "object", @@ -15178,14 +15161,14 @@ "Type": { "type": "string", "enum": [ - "AWS::ApplicationAutoScaling::ScalingPolicy" + "AWS::Timestream::Table" ], "markdownEnumDescriptions": [ - "The ``AWS::ApplicationAutoScaling::ScalingPolicy`` resource defines a scaling policy that Application Auto Scaling uses to adjust the capacity of a scalable target. \n For more information, see [Target tracking scaling policies](https://docs.aws.amazon.com/autoscaling/application/userguide/application-auto-scaling-target-tracking.html) and [Step scaling policies](https://docs.aws.amazon.com/autoscaling/application/userguide/application-auto-scaling-step-scaling-policies.html) in the *Application Auto Scaling User Guide*. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-applicationautoscaling-scalingpolicy.html)" + "The AWS::Timestream::Table resource creates a Timestream Table. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-timestream-table.html)" ] }, "Properties": { - "$ref": "resources/aws-applicationautoscaling-scalingpolicy.json" + "$ref": "resources/aws-timestream-table.json" } }, "required": [ @@ -15199,9 +15182,9 @@ ], "additionalProperties": false }, - "AWS_EventSchemas_RegistryPolicy": { + "AWS_AppSync_SourceApiAssociation": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::EventSchemas::RegistryPolicy \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-eventschemas-registrypolicy.html)", + "markdownDescription": "Resource Type definition for AWS::AppSync::SourceApiAssociation \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-sourceapiassociation.html)", "allOf": [ { "type": "object", @@ -15209,19 +15192,18 @@ "Type": { "type": "string", "enum": [ - "AWS::EventSchemas::RegistryPolicy" + "AWS::AppSync::SourceApiAssociation" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::EventSchemas::RegistryPolicy \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-eventschemas-registrypolicy.html)" + "Resource Type definition for AWS::AppSync::SourceApiAssociation \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-sourceapiassociation.html)" ] }, "Properties": { - "$ref": "resources/aws-eventschemas-registrypolicy.json" + "$ref": "resources/aws-appsync-sourceapiassociation.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -15230,9 +15212,9 @@ ], "additionalProperties": false }, - "AWS_DataBrew_Dataset": { + "AWS_LookoutMetrics_Alert": { "type": "object", - "markdownDescription": "Resource schema for AWS::DataBrew::Dataset. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-databrew-dataset.html)", + "markdownDescription": "Resource Type definition for AWS::LookoutMetrics::Alert \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lookoutmetrics-alert.html)", "allOf": [ { "type": "object", @@ -15240,14 +15222,14 @@ "Type": { "type": "string", "enum": [ - "AWS::DataBrew::Dataset" + "AWS::LookoutMetrics::Alert" ], "markdownEnumDescriptions": [ - "Resource schema for AWS::DataBrew::Dataset. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-databrew-dataset.html)" + "Resource Type definition for AWS::LookoutMetrics::Alert \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lookoutmetrics-alert.html)" ] }, "Properties": { - "$ref": "resources/aws-databrew-dataset.json" + "$ref": "resources/aws-lookoutmetrics-alert.json" } }, "required": [ @@ -15261,9 +15243,9 @@ ], "additionalProperties": false }, - "AWS_EventSchemas_Discoverer": { + "AWS_WAF_Rule": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::EventSchemas::Discoverer \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-eventschemas-discoverer.html)", + "markdownDescription": "Resource Type definition for AWS::WAF::Rule \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-waf-rule.html)", "allOf": [ { "type": "object", @@ -15271,14 +15253,14 @@ "Type": { "type": "string", "enum": [ - "AWS::EventSchemas::Discoverer" + "AWS::WAF::Rule" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::EventSchemas::Discoverer \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-eventschemas-discoverer.html)" + "Resource Type definition for AWS::WAF::Rule \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-waf-rule.html)" ] }, "Properties": { - "$ref": "resources/aws-eventschemas-discoverer.json" + "$ref": "resources/aws-waf-rule.json" } }, "required": [ @@ -15292,9 +15274,9 @@ ], "additionalProperties": false }, - "AWS_CodeBuild_Fleet": { + "AWS_PCAConnectorAD_TemplateGroupAccessControlEntry": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::CodeBuild::Fleet \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codebuild-fleet.html)", + "markdownDescription": "Definition of AWS::PCAConnectorAD::TemplateGroupAccessControlEntry Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pcaconnectorad-templategroupaccesscontrolentry.html)", "allOf": [ { "type": "object", @@ -15302,18 +15284,19 @@ "Type": { "type": "string", "enum": [ - "AWS::CodeBuild::Fleet" + "AWS::PCAConnectorAD::TemplateGroupAccessControlEntry" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::CodeBuild::Fleet \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codebuild-fleet.html)" + "Definition of AWS::PCAConnectorAD::TemplateGroupAccessControlEntry Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pcaconnectorad-templategroupaccesscontrolentry.html)" ] }, "Properties": { - "$ref": "resources/aws-codebuild-fleet.json" + "$ref": "resources/aws-pcaconnectorad-templategroupaccesscontrolentry.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -15322,9 +15305,9 @@ ], "additionalProperties": false }, - "AWS_KendraRanking_ExecutionPlan": { + "AWS_Config_AggregationAuthorization": { "type": "object", - "markdownDescription": "A KendraRanking Rescore execution plan \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kendraranking-executionplan.html)", + "markdownDescription": "Resource Type definition for AWS::Config::AggregationAuthorization \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-config-aggregationauthorization.html)", "allOf": [ { "type": "object", @@ -15332,14 +15315,14 @@ "Type": { "type": "string", "enum": [ - "AWS::KendraRanking::ExecutionPlan" + "AWS::Config::AggregationAuthorization" ], "markdownEnumDescriptions": [ - "A KendraRanking Rescore execution plan \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kendraranking-executionplan.html)" + "Resource Type definition for AWS::Config::AggregationAuthorization \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-config-aggregationauthorization.html)" ] }, "Properties": { - "$ref": "resources/aws-kendraranking-executionplan.json" + "$ref": "resources/aws-config-aggregationauthorization.json" } }, "required": [ @@ -15353,9 +15336,9 @@ ], "additionalProperties": false }, - "AWS_Lightsail_Disk": { + "AWS_Connect_EvaluationForm": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::Lightsail::Disk \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lightsail-disk.html)", + "markdownDescription": "Creates an evaluation form for the specified CON instance. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-connect-evaluationform.html)", "allOf": [ { "type": "object", @@ -15363,14 +15346,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Lightsail::Disk" + "AWS::Connect::EvaluationForm" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::Lightsail::Disk \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lightsail-disk.html)" + "Creates an evaluation form for the specified CON instance. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-connect-evaluationform.html)" ] }, "Properties": { - "$ref": "resources/aws-lightsail-disk.json" + "$ref": "resources/aws-connect-evaluationform.json" } }, "required": [ @@ -15384,9 +15367,9 @@ ], "additionalProperties": false }, - "AWS_BackupGateway_Hypervisor": { + "AWS_WAFRegional_WebACLAssociation": { "type": "object", - "markdownDescription": "Definition of AWS::BackupGateway::Hypervisor Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-backupgateway-hypervisor.html)", + "markdownDescription": "Resource Type definition for AWS::WAFRegional::WebACLAssociation \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-wafregional-webaclassociation.html)", "allOf": [ { "type": "object", @@ -15394,18 +15377,19 @@ "Type": { "type": "string", "enum": [ - "AWS::BackupGateway::Hypervisor" + "AWS::WAFRegional::WebACLAssociation" ], "markdownEnumDescriptions": [ - "Definition of AWS::BackupGateway::Hypervisor Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-backupgateway-hypervisor.html)" + "Resource Type definition for AWS::WAFRegional::WebACLAssociation \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-wafregional-webaclassociation.html)" ] }, "Properties": { - "$ref": "resources/aws-backupgateway-hypervisor.json" + "$ref": "resources/aws-wafregional-webaclassociation.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -15414,9 +15398,9 @@ ], "additionalProperties": false }, - "AWS_ServiceDiscovery_Instance": { + "AWS_IoTWireless_PartnerAccount": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::ServiceDiscovery::Instance \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicediscovery-instance.html)", + "markdownDescription": "Create and manage partner account \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotwireless-partneraccount.html)", "allOf": [ { "type": "object", @@ -15424,19 +15408,18 @@ "Type": { "type": "string", "enum": [ - "AWS::ServiceDiscovery::Instance" + "AWS::IoTWireless::PartnerAccount" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::ServiceDiscovery::Instance \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicediscovery-instance.html)" + "Create and manage partner account \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotwireless-partneraccount.html)" ] }, "Properties": { - "$ref": "resources/aws-servicediscovery-instance.json" + "$ref": "resources/aws-iotwireless-partneraccount.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -15445,9 +15428,9 @@ ], "additionalProperties": false }, - "AWS_ARCZonalShift_ZonalAutoshiftConfiguration": { + "AWS_SES_Template": { "type": "object", - "markdownDescription": "Definition of AWS::ARCZonalShift::ZonalAutoshiftConfiguration Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-arczonalshift-zonalautoshiftconfiguration.html)", + "markdownDescription": "Resource Type definition for AWS::SES::Template \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ses-template.html)", "allOf": [ { "type": "object", @@ -15455,14 +15438,14 @@ "Type": { "type": "string", "enum": [ - "AWS::ARCZonalShift::ZonalAutoshiftConfiguration" + "AWS::SES::Template" ], "markdownEnumDescriptions": [ - "Definition of AWS::ARCZonalShift::ZonalAutoshiftConfiguration Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-arczonalshift-zonalautoshiftconfiguration.html)" + "Resource Type definition for AWS::SES::Template \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ses-template.html)" ] }, "Properties": { - "$ref": "resources/aws-arczonalshift-zonalautoshiftconfiguration.json" + "$ref": "resources/aws-ses-template.json" } }, "required": [ @@ -15475,9 +15458,9 @@ ], "additionalProperties": false }, - "AWS_CustomerProfiles_EventStream": { + "AWS_Transfer_Agreement": { "type": "object", - "markdownDescription": "An Event Stream resource of Amazon Connect Customer Profiles \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-customerprofiles-eventstream.html)", + "markdownDescription": "Resource Type definition for AWS::Transfer::Agreement \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-transfer-agreement.html)", "allOf": [ { "type": "object", @@ -15485,14 +15468,14 @@ "Type": { "type": "string", "enum": [ - "AWS::CustomerProfiles::EventStream" + "AWS::Transfer::Agreement" ], "markdownEnumDescriptions": [ - "An Event Stream resource of Amazon Connect Customer Profiles \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-customerprofiles-eventstream.html)" + "Resource Type definition for AWS::Transfer::Agreement \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-transfer-agreement.html)" ] }, "Properties": { - "$ref": "resources/aws-customerprofiles-eventstream.json" + "$ref": "resources/aws-transfer-agreement.json" } }, "required": [ @@ -15506,9 +15489,9 @@ ], "additionalProperties": false }, - "AWS_ACMPCA_Certificate": { + "AWS_DataSync_LocationFSxWindows": { "type": "object", - "markdownDescription": "The ``AWS::ACMPCA::Certificate`` resource is used to issue a certificate using your private certificate authority. For more information, see the [IssueCertificate](https://docs.aws.amazon.com/privateca/latest/APIReference/API_IssueCertificate.html) action. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-acmpca-certificate.html)", + "markdownDescription": "Resource schema for AWS::DataSync::LocationFSxWindows. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datasync-locationfsxwindows.html)", "allOf": [ { "type": "object", @@ -15516,14 +15499,14 @@ "Type": { "type": "string", "enum": [ - "AWS::ACMPCA::Certificate" + "AWS::DataSync::LocationFSxWindows" ], "markdownEnumDescriptions": [ - "The ``AWS::ACMPCA::Certificate`` resource is used to issue a certificate using your private certificate authority. For more information, see the [IssueCertificate](https://docs.aws.amazon.com/privateca/latest/APIReference/API_IssueCertificate.html) action. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-acmpca-certificate.html)" + "Resource schema for AWS::DataSync::LocationFSxWindows. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datasync-locationfsxwindows.html)" ] }, "Properties": { - "$ref": "resources/aws-acmpca-certificate.json" + "$ref": "resources/aws-datasync-locationfsxwindows.json" } }, "required": [ @@ -15537,9 +15520,9 @@ ], "additionalProperties": false }, - "AWS_SSMContacts_ContactChannel": { + "AWS_Route53Resolver_OutpostResolver": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::SSMContacts::ContactChannel \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssmcontacts-contactchannel.html)", + "markdownDescription": "Resource schema for AWS::Route53Resolver::OutpostResolver. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53resolver-outpostresolver.html)", "allOf": [ { "type": "object", @@ -15547,18 +15530,19 @@ "Type": { "type": "string", "enum": [ - "AWS::SSMContacts::ContactChannel" + "AWS::Route53Resolver::OutpostResolver" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::SSMContacts::ContactChannel \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssmcontacts-contactchannel.html)" + "Resource schema for AWS::Route53Resolver::OutpostResolver. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53resolver-outpostresolver.html)" ] }, "Properties": { - "$ref": "resources/aws-ssmcontacts-contactchannel.json" + "$ref": "resources/aws-route53resolver-outpostresolver.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -15567,9 +15551,9 @@ ], "additionalProperties": false }, - "AWS_EC2_LocalGatewayRouteTable": { + "AWS_IoTSiteWise_Dashboard": { "type": "object", - "markdownDescription": "Describes a route table for a local gateway. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-localgatewayroutetable.html)", + "markdownDescription": "Resource schema for AWS::IoTSiteWise::Dashboard \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotsitewise-dashboard.html)", "allOf": [ { "type": "object", @@ -15577,14 +15561,14 @@ "Type": { "type": "string", "enum": [ - "AWS::EC2::LocalGatewayRouteTable" + "AWS::IoTSiteWise::Dashboard" ], "markdownEnumDescriptions": [ - "Describes a route table for a local gateway. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-localgatewayroutetable.html)" + "Resource schema for AWS::IoTSiteWise::Dashboard \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotsitewise-dashboard.html)" ] }, "Properties": { - "$ref": "resources/aws-ec2-localgatewayroutetable.json" + "$ref": "resources/aws-iotsitewise-dashboard.json" } }, "required": [ @@ -15598,9 +15582,9 @@ ], "additionalProperties": false }, - "AWS_CloudFront_Distribution": { + "AWS_Bedrock_Flow": { "type": "object", - "markdownDescription": "A distribution tells CloudFront where you want content to be delivered from, and the details about how to track and manage content delivery. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudfront-distribution.html)", + "markdownDescription": "Definition of AWS::Bedrock::Flow Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-bedrock-flow.html)", "allOf": [ { "type": "object", @@ -15608,14 +15592,14 @@ "Type": { "type": "string", "enum": [ - "AWS::CloudFront::Distribution" + "AWS::Bedrock::Flow" ], "markdownEnumDescriptions": [ - "A distribution tells CloudFront where you want content to be delivered from, and the details about how to track and manage content delivery. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudfront-distribution.html)" + "Definition of AWS::Bedrock::Flow Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-bedrock-flow.html)" ] }, "Properties": { - "$ref": "resources/aws-cloudfront-distribution.json" + "$ref": "resources/aws-bedrock-flow.json" } }, "required": [ @@ -15629,9 +15613,9 @@ ], "additionalProperties": false }, - "AWS_ImageBuilder_DistributionConfiguration": { + "AWS_DMS_MigrationProject": { "type": "object", - "markdownDescription": "Resource schema for AWS::ImageBuilder::DistributionConfiguration \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-imagebuilder-distributionconfiguration.html)", + "markdownDescription": "Resource schema for AWS::DMS::MigrationProject \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dms-migrationproject.html)", "allOf": [ { "type": "object", @@ -15639,19 +15623,18 @@ "Type": { "type": "string", "enum": [ - "AWS::ImageBuilder::DistributionConfiguration" + "AWS::DMS::MigrationProject" ], "markdownEnumDescriptions": [ - "Resource schema for AWS::ImageBuilder::DistributionConfiguration \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-imagebuilder-distributionconfiguration.html)" + "Resource schema for AWS::DMS::MigrationProject \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dms-migrationproject.html)" ] }, "Properties": { - "$ref": "resources/aws-imagebuilder-distributionconfiguration.json" + "$ref": "resources/aws-dms-migrationproject.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -15660,9 +15643,9 @@ ], "additionalProperties": false }, - "AWS_DataSync_LocationFSxLustre": { + "AWS_SES_ConfigurationSetEventDestination": { "type": "object", - "markdownDescription": "Resource schema for AWS::DataSync::LocationFSxLustre. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datasync-locationfsxlustre.html)", + "markdownDescription": "Resource Type definition for AWS::SES::ConfigurationSetEventDestination \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ses-configurationseteventdestination.html)", "allOf": [ { "type": "object", @@ -15670,14 +15653,14 @@ "Type": { "type": "string", "enum": [ - "AWS::DataSync::LocationFSxLustre" + "AWS::SES::ConfigurationSetEventDestination" ], "markdownEnumDescriptions": [ - "Resource schema for AWS::DataSync::LocationFSxLustre. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datasync-locationfsxlustre.html)" + "Resource Type definition for AWS::SES::ConfigurationSetEventDestination \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ses-configurationseteventdestination.html)" ] }, "Properties": { - "$ref": "resources/aws-datasync-locationfsxlustre.json" + "$ref": "resources/aws-ses-configurationseteventdestination.json" } }, "required": [ @@ -15691,9 +15674,9 @@ ], "additionalProperties": false }, - "AWS_VpcLattice_Rule": { + "AWS_Lambda_EventSourceMapping": { "type": "object", - "markdownDescription": "Creates a listener rule. Each listener has a default rule for checking connection requests, but you can define additional rules. Each rule consists of a priority, one or more actions, and one or more conditions. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-vpclattice-rule.html)", + "markdownDescription": "The ``AWS::Lambda::EventSourceMapping`` resource creates a mapping between an event source and an LAMlong function. LAM reads items from the event source and triggers the function.\n For details about each event source type, see the following topics. In particular, each of the topics describes the required and optional parameters for the specific event source. \n + [Configuring a Dynamo DB stream as an event source](https://docs.aws.amazon.com/lambda/latest/dg/with-ddb.html#services-dynamodb-eventsourcemapping) \n + [Configuring a Kinesis stream as an event source](https://docs.aws.amazon.com/lambda/latest/dg/with-kinesis.html#services-kinesis-eventsourcemapping) \n + [Configuring an SQS queue as an event source](https://docs.aws.amazon.com/lambda/latest/dg/with-sqs.html#events-sqs-eventsource) \n + [Configuring an MQ broker as an event source](https://docs.aws.amazon.com/lambda/latest/dg/with-mq.html#services-mq-eventsourcemapping) \n + [Configuring MSK as an event source](https://docs.aws.amazon.com/lambda/latest/dg/with-msk.html) \n + [Configuring Self-Managed Apache Kafka as an event source](https://docs.aws.amazon.com/lambda/latest/dg/kafka-smaa.html) \n + [Configuring Amazon DocumentDB as an event source](https://docs.aws.amazon.com/lambda/latest/dg/with-documentdb.html) \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-eventsourcemapping.html)", "allOf": [ { "type": "object", @@ -15701,14 +15684,14 @@ "Type": { "type": "string", "enum": [ - "AWS::VpcLattice::Rule" + "AWS::Lambda::EventSourceMapping" ], "markdownEnumDescriptions": [ - "Creates a listener rule. Each listener has a default rule for checking connection requests, but you can define additional rules. Each rule consists of a priority, one or more actions, and one or more conditions. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-vpclattice-rule.html)" + "The ``AWS::Lambda::EventSourceMapping`` resource creates a mapping between an event source and an LAMlong function. LAM reads items from the event source and triggers the function.\n For details about each event source type, see the following topics. In particular, each of the topics describes the required and optional parameters for the specific event source. \n + [Configuring a Dynamo DB stream as an event source](https://docs.aws.amazon.com/lambda/latest/dg/with-ddb.html#services-dynamodb-eventsourcemapping) \n + [Configuring a Kinesis stream as an event source](https://docs.aws.amazon.com/lambda/latest/dg/with-kinesis.html#services-kinesis-eventsourcemapping) \n + [Configuring an SQS queue as an event source](https://docs.aws.amazon.com/lambda/latest/dg/with-sqs.html#events-sqs-eventsource) \n + [Configuring an MQ broker as an event source](https://docs.aws.amazon.com/lambda/latest/dg/with-mq.html#services-mq-eventsourcemapping) \n + [Configuring MSK as an event source](https://docs.aws.amazon.com/lambda/latest/dg/with-msk.html) \n + [Configuring Self-Managed Apache Kafka as an event source](https://docs.aws.amazon.com/lambda/latest/dg/kafka-smaa.html) \n + [Configuring Amazon DocumentDB as an event source](https://docs.aws.amazon.com/lambda/latest/dg/with-documentdb.html) \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-eventsourcemapping.html)" ] }, "Properties": { - "$ref": "resources/aws-vpclattice-rule.json" + "$ref": "resources/aws-lambda-eventsourcemapping.json" } }, "required": [ @@ -15722,9 +15705,9 @@ ], "additionalProperties": false }, - "AWS_Deadline_Farm": { + "AWS_EC2_SecurityGroupEgress": { "type": "object", - "markdownDescription": "Definition of AWS::Deadline::Farm Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-deadline-farm.html)", + "markdownDescription": "Adds the specified outbound (egress) rule to a security group.\n An outbound rule permits instances to send traffic to the specified IPv4 or IPv6 address range, the IP addresses that are specified by a prefix list, or the instances that are associated with a destination security group. For more information, see [Security group rules](https://docs.aws.amazon.com/vpc/latest/userguide/security-group-rules.html).\n You must specify exactly one of the following destinations: an IPv4 address range, an IPv6 address range, a prefix list, or a security group.\n You must specify a protocol for each rule (for example, TCP). If the protocol is TCP or UDP, you must also specify a port or port range. If the protocol is ICMP or ICMPv6, you must also specify the ICMP/ICMPv6 type and code. To specify all types or all codes, use -1.\n Rule changes are propagated to instances associated with the security group as quickly as possible. However, a small delay might occur. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-securitygroupegress.html)", "allOf": [ { "type": "object", @@ -15732,14 +15715,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Deadline::Farm" + "AWS::EC2::SecurityGroupEgress" ], "markdownEnumDescriptions": [ - "Definition of AWS::Deadline::Farm Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-deadline-farm.html)" + "Adds the specified outbound (egress) rule to a security group.\n An outbound rule permits instances to send traffic to the specified IPv4 or IPv6 address range, the IP addresses that are specified by a prefix list, or the instances that are associated with a destination security group. For more information, see [Security group rules](https://docs.aws.amazon.com/vpc/latest/userguide/security-group-rules.html).\n You must specify exactly one of the following destinations: an IPv4 address range, an IPv6 address range, a prefix list, or a security group.\n You must specify a protocol for each rule (for example, TCP). If the protocol is TCP or UDP, you must also specify a port or port range. If the protocol is ICMP or ICMPv6, you must also specify the ICMP/ICMPv6 type and code. To specify all types or all codes, use -1.\n Rule changes are propagated to instances associated with the security group as quickly as possible. However, a small delay might occur. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-securitygroupegress.html)" ] }, "Properties": { - "$ref": "resources/aws-deadline-farm.json" + "$ref": "resources/aws-ec2-securitygroupegress.json" } }, "required": [ @@ -15753,9 +15736,9 @@ ], "additionalProperties": false }, - "AWS_Rekognition_Collection": { + "AWS_SES_DedicatedIpPool": { "type": "object", - "markdownDescription": "The AWS::Rekognition::Collection type creates an Amazon Rekognition Collection. A collection is a logical grouping of information about detected faces which can later be referenced for searches on the group \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rekognition-collection.html)", + "markdownDescription": "Resource Type definition for AWS::SES::DedicatedIpPool \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ses-dedicatedippool.html)", "allOf": [ { "type": "object", @@ -15763,19 +15746,18 @@ "Type": { "type": "string", "enum": [ - "AWS::Rekognition::Collection" + "AWS::SES::DedicatedIpPool" ], "markdownEnumDescriptions": [ - "The AWS::Rekognition::Collection type creates an Amazon Rekognition Collection. A collection is a logical grouping of information about detected faces which can later be referenced for searches on the group \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rekognition-collection.html)" + "Resource Type definition for AWS::SES::DedicatedIpPool \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ses-dedicatedippool.html)" ] }, "Properties": { - "$ref": "resources/aws-rekognition-collection.json" + "$ref": "resources/aws-ses-dedicatedippool.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -15784,9 +15766,9 @@ ], "additionalProperties": false }, - "AWS_GlobalAccelerator_EndpointGroup": { + "AWS_NetworkFirewall_Firewall": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::GlobalAccelerator::EndpointGroup \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-globalaccelerator-endpointgroup.html)", + "markdownDescription": "Resource type definition for AWS::NetworkFirewall::Firewall \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkfirewall-firewall.html)", "allOf": [ { "type": "object", @@ -15794,14 +15776,14 @@ "Type": { "type": "string", "enum": [ - "AWS::GlobalAccelerator::EndpointGroup" + "AWS::NetworkFirewall::Firewall" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::GlobalAccelerator::EndpointGroup \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-globalaccelerator-endpointgroup.html)" + "Resource type definition for AWS::NetworkFirewall::Firewall \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkfirewall-firewall.html)" ] }, "Properties": { - "$ref": "resources/aws-globalaccelerator-endpointgroup.json" + "$ref": "resources/aws-networkfirewall-firewall.json" } }, "required": [ @@ -15815,9 +15797,9 @@ ], "additionalProperties": false }, - "AWS_Route53_HostedZone": { + "AWS_Organizations_Policy": { "type": "object", - "markdownDescription": "Creates a new public or private hosted zone. You create records in a public hosted zone to define how you want to route traffic on the internet for a domain, such as example.com, and its subdomains (apex.example.com, acme.example.com). You create records in a private hosted zone to define how you want to route traffic for a domain and its subdomains within one or more Amazon Virtual Private Clouds (Amazon VPCs). \n You can't convert a public hosted zone to a private hosted zone or vice versa. Instead, you must create a new hosted zone with the same name and create new resource record sets.\n For more information about charges for hosted zones, see [Amazon Route 53 Pricing](https://docs.aws.amazon.com/route53/pricing/).\n Note the following:\n + You can't create a hosted zone for a top-level domain (TLD) such as .com.\n + If your domain is registered with a registrar other than Route 53, you must update the name servers with your registrar to make Route 53 the DNS service for the domain. For more information, see [Migrating DNS Service for an Existing Domain to Amazon Route 53](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/MigratingDNS.html) in the *Amazon Route 53 Developer Guide*. \n \n When you submit a ``CreateHostedZone`` request, the initial status of the hosted zone is ``PENDING``. For public hosted zones, this means that the NS and SOA records are not yet available on all Route 53 DNS servers. When the NS and SOA records are available, the status of the zone changes to ``INSYNC``.\n The ``CreateHostedZone`` request requires the caller to have an ``ec2:DescribeVpcs`` permission.\n When creating private hosted zones, the Amazon VPC must belong to the same partition where the hosted zone is created. A partition is a group of AWS-Regions. Each AWS-account is scoped to one partition.\n The following are the supported partitions:\n + ``aws`` - AWS-Regions \n + ``aws-cn`` - China Regions\n + ``aws-us-gov`` - govcloud-us-region \n \n For more information, see [Access Management](https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html) in the *General Reference*. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53-hostedzone.html)", + "markdownDescription": "Policies in AWS Organizations enable you to manage different features of the AWS accounts in your organization. You can use policies when all features are enabled in your organization. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-organizations-policy.html)", "allOf": [ { "type": "object", @@ -15825,18 +15807,19 @@ "Type": { "type": "string", "enum": [ - "AWS::Route53::HostedZone" + "AWS::Organizations::Policy" ], "markdownEnumDescriptions": [ - "Creates a new public or private hosted zone. You create records in a public hosted zone to define how you want to route traffic on the internet for a domain, such as example.com, and its subdomains (apex.example.com, acme.example.com). You create records in a private hosted zone to define how you want to route traffic for a domain and its subdomains within one or more Amazon Virtual Private Clouds (Amazon VPCs). \n You can't convert a public hosted zone to a private hosted zone or vice versa. Instead, you must create a new hosted zone with the same name and create new resource record sets.\n For more information about charges for hosted zones, see [Amazon Route 53 Pricing](https://docs.aws.amazon.com/route53/pricing/).\n Note the following:\n + You can't create a hosted zone for a top-level domain (TLD) such as .com.\n + If your domain is registered with a registrar other than Route 53, you must update the name servers with your registrar to make Route 53 the DNS service for the domain. For more information, see [Migrating DNS Service for an Existing Domain to Amazon Route 53](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/MigratingDNS.html) in the *Amazon Route 53 Developer Guide*. \n \n When you submit a ``CreateHostedZone`` request, the initial status of the hosted zone is ``PENDING``. For public hosted zones, this means that the NS and SOA records are not yet available on all Route 53 DNS servers. When the NS and SOA records are available, the status of the zone changes to ``INSYNC``.\n The ``CreateHostedZone`` request requires the caller to have an ``ec2:DescribeVpcs`` permission.\n When creating private hosted zones, the Amazon VPC must belong to the same partition where the hosted zone is created. A partition is a group of AWS-Regions. Each AWS-account is scoped to one partition.\n The following are the supported partitions:\n + ``aws`` - AWS-Regions \n + ``aws-cn`` - China Regions\n + ``aws-us-gov`` - govcloud-us-region \n \n For more information, see [Access Management](https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html) in the *General Reference*. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53-hostedzone.html)" + "Policies in AWS Organizations enable you to manage different features of the AWS accounts in your organization. You can use policies when all features are enabled in your organization. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-organizations-policy.html)" ] }, "Properties": { - "$ref": "resources/aws-route53-hostedzone.json" + "$ref": "resources/aws-organizations-policy.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -15845,9 +15828,9 @@ ], "additionalProperties": false }, - "AWS_Transfer_User": { + "AWS_DMS_Endpoint": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::Transfer::User \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-transfer-user.html)", + "markdownDescription": "Resource Type definition for AWS::DMS::Endpoint \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dms-endpoint.html)", "allOf": [ { "type": "object", @@ -15855,14 +15838,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Transfer::User" + "AWS::DMS::Endpoint" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::Transfer::User \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-transfer-user.html)" + "Resource Type definition for AWS::DMS::Endpoint \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dms-endpoint.html)" ] }, "Properties": { - "$ref": "resources/aws-transfer-user.json" + "$ref": "resources/aws-dms-endpoint.json" } }, "required": [ @@ -15876,9 +15859,9 @@ ], "additionalProperties": false }, - "AWS_ServiceDiscovery_HttpNamespace": { + "AWS_S3_AccessPoint": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::ServiceDiscovery::HttpNamespace \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicediscovery-httpnamespace.html)", + "markdownDescription": "The AWS::S3::AccessPoint resource is an Amazon S3 resource type that you can use to access buckets. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-s3-accesspoint.html)", "allOf": [ { "type": "object", @@ -15886,14 +15869,14 @@ "Type": { "type": "string", "enum": [ - "AWS::ServiceDiscovery::HttpNamespace" + "AWS::S3::AccessPoint" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::ServiceDiscovery::HttpNamespace \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicediscovery-httpnamespace.html)" + "The AWS::S3::AccessPoint resource is an Amazon S3 resource type that you can use to access buckets. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-s3-accesspoint.html)" ] }, "Properties": { - "$ref": "resources/aws-servicediscovery-httpnamespace.json" + "$ref": "resources/aws-s3-accesspoint.json" } }, "required": [ @@ -15907,9 +15890,9 @@ ], "additionalProperties": false }, - "AWS_MediaTailor_PlaybackConfiguration": { + "AWS_EC2_ClientVpnEndpoint": { "type": "object", - "markdownDescription": "Resource schema for AWS::MediaTailor::PlaybackConfiguration \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediatailor-playbackconfiguration.html)", + "markdownDescription": "Resource Type definition for AWS::EC2::ClientVpnEndpoint \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-clientvpnendpoint.html)", "allOf": [ { "type": "object", @@ -15917,14 +15900,14 @@ "Type": { "type": "string", "enum": [ - "AWS::MediaTailor::PlaybackConfiguration" + "AWS::EC2::ClientVpnEndpoint" ], "markdownEnumDescriptions": [ - "Resource schema for AWS::MediaTailor::PlaybackConfiguration \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediatailor-playbackconfiguration.html)" + "Resource Type definition for AWS::EC2::ClientVpnEndpoint \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-clientvpnendpoint.html)" ] }, "Properties": { - "$ref": "resources/aws-mediatailor-playbackconfiguration.json" + "$ref": "resources/aws-ec2-clientvpnendpoint.json" } }, "required": [ @@ -15938,9 +15921,9 @@ ], "additionalProperties": false }, - "AWS_VerifiedPermissions_PolicyStore": { + "AWS_AppSync_ApiKey": { "type": "object", - "markdownDescription": "Represents a policy store that you can place schema, policies, and policy templates in to validate authorization requests \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-verifiedpermissions-policystore.html)", + "markdownDescription": "Resource Type definition for AWS::AppSync::ApiKey \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-apikey.html)", "allOf": [ { "type": "object", @@ -15948,14 +15931,14 @@ "Type": { "type": "string", "enum": [ - "AWS::VerifiedPermissions::PolicyStore" + "AWS::AppSync::ApiKey" ], "markdownEnumDescriptions": [ - "Represents a policy store that you can place schema, policies, and policy templates in to validate authorization requests \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-verifiedpermissions-policystore.html)" + "Resource Type definition for AWS::AppSync::ApiKey \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-apikey.html)" ] }, "Properties": { - "$ref": "resources/aws-verifiedpermissions-policystore.json" + "$ref": "resources/aws-appsync-apikey.json" } }, "required": [ @@ -15969,9 +15952,9 @@ ], "additionalProperties": false }, - "AWS_DevOpsGuru_ResourceCollection": { + "AWS_MediaConnect_Flow": { "type": "object", - "markdownDescription": "This resource schema represents the ResourceCollection resource in the Amazon DevOps Guru. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-devopsguru-resourcecollection.html)", + "markdownDescription": "Resource schema for AWS::MediaConnect::Flow \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediaconnect-flow.html)", "allOf": [ { "type": "object", @@ -15979,14 +15962,14 @@ "Type": { "type": "string", "enum": [ - "AWS::DevOpsGuru::ResourceCollection" + "AWS::MediaConnect::Flow" ], "markdownEnumDescriptions": [ - "This resource schema represents the ResourceCollection resource in the Amazon DevOps Guru. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-devopsguru-resourcecollection.html)" + "Resource schema for AWS::MediaConnect::Flow \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediaconnect-flow.html)" ] }, "Properties": { - "$ref": "resources/aws-devopsguru-resourcecollection.json" + "$ref": "resources/aws-mediaconnect-flow.json" } }, "required": [ @@ -16000,9 +15983,9 @@ ], "additionalProperties": false }, - "AWS_WAF_SizeConstraintSet": { + "AWS_ElastiCache_SecurityGroupIngress": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::WAF::SizeConstraintSet \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-waf-sizeconstraintset.html)", + "markdownDescription": "Resource Type definition for AWS::ElastiCache::SecurityGroupIngress \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticache-securitygroupingress.html)", "allOf": [ { "type": "object", @@ -16010,14 +15993,14 @@ "Type": { "type": "string", "enum": [ - "AWS::WAF::SizeConstraintSet" + "AWS::ElastiCache::SecurityGroupIngress" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::WAF::SizeConstraintSet \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-waf-sizeconstraintset.html)" + "Resource Type definition for AWS::ElastiCache::SecurityGroupIngress \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticache-securitygroupingress.html)" ] }, "Properties": { - "$ref": "resources/aws-waf-sizeconstraintset.json" + "$ref": "resources/aws-elasticache-securitygroupingress.json" } }, "required": [ @@ -16031,9 +16014,9 @@ ], "additionalProperties": false }, - "AWS_DocDB_DBInstance": { + "AWS_IoTFleetWise_DecoderManifest": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::DocDB::DBInstance \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-docdb-dbinstance.html)", + "markdownDescription": "Definition of AWS::IoTFleetWise::DecoderManifest Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotfleetwise-decodermanifest.html)", "allOf": [ { "type": "object", @@ -16041,14 +16024,14 @@ "Type": { "type": "string", "enum": [ - "AWS::DocDB::DBInstance" + "AWS::IoTFleetWise::DecoderManifest" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::DocDB::DBInstance \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-docdb-dbinstance.html)" + "Definition of AWS::IoTFleetWise::DecoderManifest Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotfleetwise-decodermanifest.html)" ] }, "Properties": { - "$ref": "resources/aws-docdb-dbinstance.json" + "$ref": "resources/aws-iotfleetwise-decodermanifest.json" } }, "required": [ @@ -16062,9 +16045,9 @@ ], "additionalProperties": false }, - "AWS_S3_AccessGrantsLocation": { + "AWS_EventSchemas_Discoverer": { "type": "object", - "markdownDescription": "The AWS::S3::AccessGrantsLocation resource is an Amazon S3 resource type hosted in an access grants instance which can be the target of S3 access grants. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-s3-accessgrantslocation.html)", + "markdownDescription": "Resource Type definition for AWS::EventSchemas::Discoverer \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-eventschemas-discoverer.html)", "allOf": [ { "type": "object", @@ -16072,18 +16055,19 @@ "Type": { "type": "string", "enum": [ - "AWS::S3::AccessGrantsLocation" + "AWS::EventSchemas::Discoverer" ], "markdownEnumDescriptions": [ - "The AWS::S3::AccessGrantsLocation resource is an Amazon S3 resource type hosted in an access grants instance which can be the target of S3 access grants. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-s3-accessgrantslocation.html)" + "Resource Type definition for AWS::EventSchemas::Discoverer \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-eventschemas-discoverer.html)" ] }, "Properties": { - "$ref": "resources/aws-s3-accessgrantslocation.json" + "$ref": "resources/aws-eventschemas-discoverer.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -16092,9 +16076,9 @@ ], "additionalProperties": false }, - "AWS_SageMaker_NotebookInstance": { + "AWS_AppStream_DirectoryConfig": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::SageMaker::NotebookInstance \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-notebookinstance.html)", + "markdownDescription": "Resource Type definition for AWS::AppStream::DirectoryConfig \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appstream-directoryconfig.html)", "allOf": [ { "type": "object", @@ -16102,14 +16086,14 @@ "Type": { "type": "string", "enum": [ - "AWS::SageMaker::NotebookInstance" + "AWS::AppStream::DirectoryConfig" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::SageMaker::NotebookInstance \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-notebookinstance.html)" + "Resource Type definition for AWS::AppStream::DirectoryConfig \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appstream-directoryconfig.html)" ] }, "Properties": { - "$ref": "resources/aws-sagemaker-notebookinstance.json" + "$ref": "resources/aws-appstream-directoryconfig.json" } }, "required": [ @@ -16123,9 +16107,9 @@ ], "additionalProperties": false }, - "AWS_MediaConnect_BridgeOutput": { + "AWS_GameLift_Build": { "type": "object", - "markdownDescription": "Resource schema for AWS::MediaConnect::BridgeOutput \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediaconnect-bridgeoutput.html)", + "markdownDescription": "Resource Type definition for AWS::GameLift::Build \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-gamelift-build.html)", "allOf": [ { "type": "object", @@ -16133,19 +16117,18 @@ "Type": { "type": "string", "enum": [ - "AWS::MediaConnect::BridgeOutput" + "AWS::GameLift::Build" ], "markdownEnumDescriptions": [ - "Resource schema for AWS::MediaConnect::BridgeOutput \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediaconnect-bridgeoutput.html)" + "Resource Type definition for AWS::GameLift::Build \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-gamelift-build.html)" ] }, "Properties": { - "$ref": "resources/aws-mediaconnect-bridgeoutput.json" + "$ref": "resources/aws-gamelift-build.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -16154,9 +16137,9 @@ ], "additionalProperties": false }, - "AWS_ResourceExplorer2_DefaultViewAssociation": { + "AWS_AuditManager_Assessment": { "type": "object", - "markdownDescription": "Definition of AWS::ResourceExplorer2::DefaultViewAssociation Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-resourceexplorer2-defaultviewassociation.html)", + "markdownDescription": "An entity that defines the scope of audit evidence collected by AWS Audit Manager. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-auditmanager-assessment.html)", "allOf": [ { "type": "object", @@ -16164,19 +16147,18 @@ "Type": { "type": "string", "enum": [ - "AWS::ResourceExplorer2::DefaultViewAssociation" + "AWS::AuditManager::Assessment" ], "markdownEnumDescriptions": [ - "Definition of AWS::ResourceExplorer2::DefaultViewAssociation Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-resourceexplorer2-defaultviewassociation.html)" + "An entity that defines the scope of audit evidence collected by AWS Audit Manager. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-auditmanager-assessment.html)" ] }, "Properties": { - "$ref": "resources/aws-resourceexplorer2-defaultviewassociation.json" + "$ref": "resources/aws-auditmanager-assessment.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -16185,9 +16167,9 @@ ], "additionalProperties": false }, - "AWS_ECS_Cluster": { + "AWS_GroundStation_MissionProfile": { "type": "object", - "markdownDescription": "The ``AWS::ECS::Cluster`` resource creates an Amazon Elastic Container Service (Amazon ECS) cluster. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ecs-cluster.html)", + "markdownDescription": "AWS Ground Station Mission Profile resource type for CloudFormation. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-groundstation-missionprofile.html)", "allOf": [ { "type": "object", @@ -16195,18 +16177,19 @@ "Type": { "type": "string", "enum": [ - "AWS::ECS::Cluster" + "AWS::GroundStation::MissionProfile" ], "markdownEnumDescriptions": [ - "The ``AWS::ECS::Cluster`` resource creates an Amazon Elastic Container Service (Amazon ECS) cluster. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ecs-cluster.html)" + "AWS Ground Station Mission Profile resource type for CloudFormation. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-groundstation-missionprofile.html)" ] }, "Properties": { - "$ref": "resources/aws-ecs-cluster.json" + "$ref": "resources/aws-groundstation-missionprofile.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -16215,9 +16198,9 @@ ], "additionalProperties": false }, - "AWS_IoT_JobTemplate": { + "AWS_IoTWireless_WirelessGateway": { "type": "object", - "markdownDescription": "Job templates enable you to preconfigure jobs so that you can deploy them to multiple sets of target devices. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-jobtemplate.html)", + "markdownDescription": "Create and manage wireless gateways, including LoRa gateways. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotwireless-wirelessgateway.html)", "allOf": [ { "type": "object", @@ -16225,14 +16208,14 @@ "Type": { "type": "string", "enum": [ - "AWS::IoT::JobTemplate" + "AWS::IoTWireless::WirelessGateway" ], "markdownEnumDescriptions": [ - "Job templates enable you to preconfigure jobs so that you can deploy them to multiple sets of target devices. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-jobtemplate.html)" + "Create and manage wireless gateways, including LoRa gateways. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotwireless-wirelessgateway.html)" ] }, "Properties": { - "$ref": "resources/aws-iot-jobtemplate.json" + "$ref": "resources/aws-iotwireless-wirelessgateway.json" } }, "required": [ @@ -16246,9 +16229,9 @@ ], "additionalProperties": false }, - "AWS_IdentityStore_GroupMembership": { + "AWS_FMS_NotificationChannel": { "type": "object", - "markdownDescription": "Resource Type Definition for AWS:IdentityStore::GroupMembership \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-identitystore-groupmembership.html)", + "markdownDescription": "Designates the IAM role and Amazon Simple Notification Service (SNS) topic that AWS Firewall Manager uses to record SNS logs. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-fms-notificationchannel.html)", "allOf": [ { "type": "object", @@ -16256,14 +16239,14 @@ "Type": { "type": "string", "enum": [ - "AWS::IdentityStore::GroupMembership" + "AWS::FMS::NotificationChannel" ], "markdownEnumDescriptions": [ - "Resource Type Definition for AWS:IdentityStore::GroupMembership \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-identitystore-groupmembership.html)" + "Designates the IAM role and Amazon Simple Notification Service (SNS) topic that AWS Firewall Manager uses to record SNS logs. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-fms-notificationchannel.html)" ] }, "Properties": { - "$ref": "resources/aws-identitystore-groupmembership.json" + "$ref": "resources/aws-fms-notificationchannel.json" } }, "required": [ @@ -16277,9 +16260,9 @@ ], "additionalProperties": false }, - "AWS_MediaConnect_Bridge": { + "AWS_Synthetics_Canary": { "type": "object", - "markdownDescription": "Resource schema for AWS::MediaConnect::Bridge \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediaconnect-bridge.html)", + "markdownDescription": "Resource Type definition for AWS::Synthetics::Canary \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-synthetics-canary.html)", "allOf": [ { "type": "object", @@ -16287,14 +16270,14 @@ "Type": { "type": "string", "enum": [ - "AWS::MediaConnect::Bridge" + "AWS::Synthetics::Canary" ], "markdownEnumDescriptions": [ - "Resource schema for AWS::MediaConnect::Bridge \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediaconnect-bridge.html)" + "Resource Type definition for AWS::Synthetics::Canary \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-synthetics-canary.html)" ] }, "Properties": { - "$ref": "resources/aws-mediaconnect-bridge.json" + "$ref": "resources/aws-synthetics-canary.json" } }, "required": [ @@ -16308,9 +16291,9 @@ ], "additionalProperties": false }, - "AWS_IoTThingsGraph_FlowTemplate": { + "AWS_RoboMaker_Robot": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::IoTThingsGraph::FlowTemplate \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotthingsgraph-flowtemplate.html)", + "markdownDescription": "AWS::RoboMaker::Robot resource creates an AWS RoboMaker Robot. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-robomaker-robot.html)", "allOf": [ { "type": "object", @@ -16318,14 +16301,14 @@ "Type": { "type": "string", "enum": [ - "AWS::IoTThingsGraph::FlowTemplate" + "AWS::RoboMaker::Robot" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::IoTThingsGraph::FlowTemplate \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotthingsgraph-flowtemplate.html)" + "AWS::RoboMaker::Robot resource creates an AWS RoboMaker Robot. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-robomaker-robot.html)" ] }, "Properties": { - "$ref": "resources/aws-iotthingsgraph-flowtemplate.json" + "$ref": "resources/aws-robomaker-robot.json" } }, "required": [ @@ -16339,9 +16322,9 @@ ], "additionalProperties": false }, - "AWS_ServiceCatalog_CloudFormationProduct": { + "AWS_OpsWorks_Stack": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::ServiceCatalog::CloudFormationProduct \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicecatalog-cloudformationproduct.html)", + "markdownDescription": "Resource Type definition for AWS::OpsWorks::Stack \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opsworks-stack.html)", "allOf": [ { "type": "object", @@ -16349,14 +16332,14 @@ "Type": { "type": "string", "enum": [ - "AWS::ServiceCatalog::CloudFormationProduct" + "AWS::OpsWorks::Stack" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::ServiceCatalog::CloudFormationProduct \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicecatalog-cloudformationproduct.html)" + "Resource Type definition for AWS::OpsWorks::Stack \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opsworks-stack.html)" ] }, "Properties": { - "$ref": "resources/aws-servicecatalog-cloudformationproduct.json" + "$ref": "resources/aws-opsworks-stack.json" } }, "required": [ @@ -16370,9 +16353,9 @@ ], "additionalProperties": false }, - "AWS_Neptune_DBParameterGroup": { + "AWS_RoboMaker_SimulationApplication": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::Neptune::DBParameterGroup \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-neptune-dbparametergroup.html)", + "markdownDescription": "This schema is for testing purpose only. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-robomaker-simulationapplication.html)", "allOf": [ { "type": "object", @@ -16380,14 +16363,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Neptune::DBParameterGroup" + "AWS::RoboMaker::SimulationApplication" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::Neptune::DBParameterGroup \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-neptune-dbparametergroup.html)" + "This schema is for testing purpose only. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-robomaker-simulationapplication.html)" ] }, "Properties": { - "$ref": "resources/aws-neptune-dbparametergroup.json" + "$ref": "resources/aws-robomaker-simulationapplication.json" } }, "required": [ @@ -16401,9 +16384,9 @@ ], "additionalProperties": false }, - "AWS_Bedrock_PromptVersion": { + "AWS_NetworkFirewall_LoggingConfiguration": { "type": "object", - "markdownDescription": "Definition of AWS::Bedrock::PromptVersion Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-bedrock-promptversion.html)", + "markdownDescription": "Resource type definition for AWS::NetworkFirewall::LoggingConfiguration \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkfirewall-loggingconfiguration.html)", "allOf": [ { "type": "object", @@ -16411,14 +16394,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Bedrock::PromptVersion" + "AWS::NetworkFirewall::LoggingConfiguration" ], "markdownEnumDescriptions": [ - "Definition of AWS::Bedrock::PromptVersion Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-bedrock-promptversion.html)" + "Resource type definition for AWS::NetworkFirewall::LoggingConfiguration \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkfirewall-loggingconfiguration.html)" ] }, "Properties": { - "$ref": "resources/aws-bedrock-promptversion.json" + "$ref": "resources/aws-networkfirewall-loggingconfiguration.json" } }, "required": [ @@ -16432,9 +16415,9 @@ ], "additionalProperties": false }, - "AWS_Organizations_Organization": { + "AWS_KinesisAnalyticsV2_ApplicationCloudWatchLoggingOption": { "type": "object", - "markdownDescription": "Resource schema for AWS::Organizations::Organization \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-organizations-organization.html)", + "markdownDescription": "Resource Type definition for AWS::KinesisAnalyticsV2::ApplicationCloudWatchLoggingOption \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kinesisanalyticsv2-applicationcloudwatchloggingoption.html)", "allOf": [ { "type": "object", @@ -16442,18 +16425,19 @@ "Type": { "type": "string", "enum": [ - "AWS::Organizations::Organization" + "AWS::KinesisAnalyticsV2::ApplicationCloudWatchLoggingOption" ], "markdownEnumDescriptions": [ - "Resource schema for AWS::Organizations::Organization \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-organizations-organization.html)" + "Resource Type definition for AWS::KinesisAnalyticsV2::ApplicationCloudWatchLoggingOption \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kinesisanalyticsv2-applicationcloudwatchloggingoption.html)" ] }, "Properties": { - "$ref": "resources/aws-organizations-organization.json" + "$ref": "resources/aws-kinesisanalyticsv2-applicationcloudwatchloggingoption.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -16462,9 +16446,9 @@ ], "additionalProperties": false }, - "AWS_RolesAnywhere_Profile": { + "AWS_IVS_RecordingConfiguration": { "type": "object", - "markdownDescription": "Definition of AWS::RolesAnywhere::Profile Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rolesanywhere-profile.html)", + "markdownDescription": "Resource Type definition for AWS::IVS::RecordingConfiguration \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ivs-recordingconfiguration.html)", "allOf": [ { "type": "object", @@ -16472,14 +16456,14 @@ "Type": { "type": "string", "enum": [ - "AWS::RolesAnywhere::Profile" + "AWS::IVS::RecordingConfiguration" ], "markdownEnumDescriptions": [ - "Definition of AWS::RolesAnywhere::Profile Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rolesanywhere-profile.html)" + "Resource Type definition for AWS::IVS::RecordingConfiguration \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ivs-recordingconfiguration.html)" ] }, "Properties": { - "$ref": "resources/aws-rolesanywhere-profile.json" + "$ref": "resources/aws-ivs-recordingconfiguration.json" } }, "required": [ @@ -16493,9 +16477,9 @@ ], "additionalProperties": false }, - "AWS_EC2_KeyPair": { + "AWS_AmazonMQ_ConfigurationAssociation": { "type": "object", - "markdownDescription": "Specifies a key pair for use with an EC2long instance as follows:\n + To import an existing key pair, include the ``PublicKeyMaterial`` property.\n + To create a new key pair, omit the ``PublicKeyMaterial`` property.\n \n When you import an existing key pair, you specify the public key material for the key. We assume that you have the private key material for the key. CFNlong does not create or return the private key material when you import a key pair.\n When you create a new key pair, the private key is saved to SYSlong Parameter Store, using a parameter with the following name: ``/ec2/keypair/{key_pair_id}``. For more information about retrieving private key, and the required permissions, see [Create a key pair using](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/create-key-pairs.html#create-key-pair-cloudformation) in the *User Guide*.\n When CFN deletes a key pair that was created or imported by a stack, it also deletes the parameter that was used to store the private key material in Parameter Store. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-keypair.html)", + "markdownDescription": "Resource Type definition for AWS::AmazonMQ::ConfigurationAssociation \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-amazonmq-configurationassociation.html)", "allOf": [ { "type": "object", @@ -16503,14 +16487,14 @@ "Type": { "type": "string", "enum": [ - "AWS::EC2::KeyPair" + "AWS::AmazonMQ::ConfigurationAssociation" ], "markdownEnumDescriptions": [ - "Specifies a key pair for use with an EC2long instance as follows:\n + To import an existing key pair, include the ``PublicKeyMaterial`` property.\n + To create a new key pair, omit the ``PublicKeyMaterial`` property.\n \n When you import an existing key pair, you specify the public key material for the key. We assume that you have the private key material for the key. CFNlong does not create or return the private key material when you import a key pair.\n When you create a new key pair, the private key is saved to SYSlong Parameter Store, using a parameter with the following name: ``/ec2/keypair/{key_pair_id}``. For more information about retrieving private key, and the required permissions, see [Create a key pair using](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/create-key-pairs.html#create-key-pair-cloudformation) in the *User Guide*.\n When CFN deletes a key pair that was created or imported by a stack, it also deletes the parameter that was used to store the private key material in Parameter Store. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-keypair.html)" + "Resource Type definition for AWS::AmazonMQ::ConfigurationAssociation \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-amazonmq-configurationassociation.html)" ] }, "Properties": { - "$ref": "resources/aws-ec2-keypair.json" + "$ref": "resources/aws-amazonmq-configurationassociation.json" } }, "required": [ @@ -16524,9 +16508,9 @@ ], "additionalProperties": false }, - "AWS_DMS_Endpoint": { + "AWS_DMS_DataProvider": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::DMS::Endpoint \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dms-endpoint.html)", + "markdownDescription": "Resource schema for AWS::DMS::DataProvider \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dms-dataprovider.html)", "allOf": [ { "type": "object", @@ -16534,14 +16518,14 @@ "Type": { "type": "string", "enum": [ - "AWS::DMS::Endpoint" + "AWS::DMS::DataProvider" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::DMS::Endpoint \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dms-endpoint.html)" + "Resource schema for AWS::DMS::DataProvider \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dms-dataprovider.html)" ] }, "Properties": { - "$ref": "resources/aws-dms-endpoint.json" + "$ref": "resources/aws-dms-dataprovider.json" } }, "required": [ @@ -16555,9 +16539,9 @@ ], "additionalProperties": false }, - "AWS_SecurityLake_Subscriber": { + "AWS_S3_AccessGrant": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::SecurityLake::Subscriber \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-securitylake-subscriber.html)", + "markdownDescription": "The AWS::S3::AccessGrant resource is an Amazon S3 resource type representing permissions to a specific S3 bucket or prefix hosted in an S3 Access Grants instance. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-s3-accessgrant.html)", "allOf": [ { "type": "object", @@ -16565,14 +16549,14 @@ "Type": { "type": "string", "enum": [ - "AWS::SecurityLake::Subscriber" + "AWS::S3::AccessGrant" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::SecurityLake::Subscriber \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-securitylake-subscriber.html)" + "The AWS::S3::AccessGrant resource is an Amazon S3 resource type representing permissions to a specific S3 bucket or prefix hosted in an S3 Access Grants instance. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-s3-accessgrant.html)" ] }, "Properties": { - "$ref": "resources/aws-securitylake-subscriber.json" + "$ref": "resources/aws-s3-accessgrant.json" } }, "required": [ @@ -16586,9 +16570,9 @@ ], "additionalProperties": false }, - "AWS_EC2_NetworkInterfacePermission": { + "AWS_Shield_Protection": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::EC2::NetworkInterfacePermission \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-networkinterfacepermission.html)", + "markdownDescription": "Enables AWS Shield Advanced for a specific AWS resource. The resource can be an Amazon CloudFront distribution, Amazon Route 53 hosted zone, AWS Global Accelerator standard accelerator, Elastic IP Address, Application Load Balancer, or a Classic Load Balancer. You can protect Amazon EC2 instances and Network Load Balancers by association with protected Amazon EC2 Elastic IP addresses. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-shield-protection.html)", "allOf": [ { "type": "object", @@ -16596,14 +16580,14 @@ "Type": { "type": "string", "enum": [ - "AWS::EC2::NetworkInterfacePermission" + "AWS::Shield::Protection" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::EC2::NetworkInterfacePermission \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-networkinterfacepermission.html)" + "Enables AWS Shield Advanced for a specific AWS resource. The resource can be an Amazon CloudFront distribution, Amazon Route 53 hosted zone, AWS Global Accelerator standard accelerator, Elastic IP Address, Application Load Balancer, or a Classic Load Balancer. You can protect Amazon EC2 instances and Network Load Balancers by association with protected Amazon EC2 Elastic IP addresses. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-shield-protection.html)" ] }, "Properties": { - "$ref": "resources/aws-ec2-networkinterfacepermission.json" + "$ref": "resources/aws-shield-protection.json" } }, "required": [ @@ -16617,9 +16601,9 @@ ], "additionalProperties": false }, - "AWS_IoTAnalytics_Pipeline": { + "AWS_ApplicationAutoScaling_ScalingPolicy": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::IoTAnalytics::Pipeline \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotanalytics-pipeline.html)", + "markdownDescription": "The ``AWS::ApplicationAutoScaling::ScalingPolicy`` resource defines a scaling policy that Application Auto Scaling uses to adjust the capacity of a scalable target. \n For more information, see [Target tracking scaling policies](https://docs.aws.amazon.com/autoscaling/application/userguide/application-auto-scaling-target-tracking.html) and [Step scaling policies](https://docs.aws.amazon.com/autoscaling/application/userguide/application-auto-scaling-step-scaling-policies.html) in the *Application Auto Scaling User Guide*. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-applicationautoscaling-scalingpolicy.html)", "allOf": [ { "type": "object", @@ -16627,14 +16611,14 @@ "Type": { "type": "string", "enum": [ - "AWS::IoTAnalytics::Pipeline" + "AWS::ApplicationAutoScaling::ScalingPolicy" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::IoTAnalytics::Pipeline \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotanalytics-pipeline.html)" + "The ``AWS::ApplicationAutoScaling::ScalingPolicy`` resource defines a scaling policy that Application Auto Scaling uses to adjust the capacity of a scalable target. \n For more information, see [Target tracking scaling policies](https://docs.aws.amazon.com/autoscaling/application/userguide/application-auto-scaling-target-tracking.html) and [Step scaling policies](https://docs.aws.amazon.com/autoscaling/application/userguide/application-auto-scaling-step-scaling-policies.html) in the *Application Auto Scaling User Guide*. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-applicationautoscaling-scalingpolicy.html)" ] }, "Properties": { - "$ref": "resources/aws-iotanalytics-pipeline.json" + "$ref": "resources/aws-applicationautoscaling-scalingpolicy.json" } }, "required": [ @@ -16648,9 +16632,9 @@ ], "additionalProperties": false }, - "AWS_CleanRooms_AnalysisTemplate": { + "AWS_EC2_NetworkInsightsPath": { "type": "object", - "markdownDescription": "Represents a stored analysis within a collaboration \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cleanrooms-analysistemplate.html)", + "markdownDescription": "Resource schema for AWS::EC2::NetworkInsightsPath \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-networkinsightspath.html)", "allOf": [ { "type": "object", @@ -16658,14 +16642,14 @@ "Type": { "type": "string", "enum": [ - "AWS::CleanRooms::AnalysisTemplate" + "AWS::EC2::NetworkInsightsPath" ], "markdownEnumDescriptions": [ - "Represents a stored analysis within a collaboration \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cleanrooms-analysistemplate.html)" + "Resource schema for AWS::EC2::NetworkInsightsPath \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-networkinsightspath.html)" ] }, "Properties": { - "$ref": "resources/aws-cleanrooms-analysistemplate.json" + "$ref": "resources/aws-ec2-networkinsightspath.json" } }, "required": [ @@ -16679,9 +16663,9 @@ ], "additionalProperties": false }, - "AWS_GameLift_Build": { + "AWS_OpenSearchService_Application": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::GameLift::Build \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-gamelift-build.html)", + "markdownDescription": "Amazon OpenSearchService application resource \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opensearchservice-application.html)", "allOf": [ { "type": "object", @@ -16689,18 +16673,19 @@ "Type": { "type": "string", "enum": [ - "AWS::GameLift::Build" + "AWS::OpenSearchService::Application" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::GameLift::Build \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-gamelift-build.html)" + "Amazon OpenSearchService application resource \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opensearchservice-application.html)" ] }, "Properties": { - "$ref": "resources/aws-gamelift-build.json" + "$ref": "resources/aws-opensearchservice-application.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -16709,9 +16694,9 @@ ], "additionalProperties": false }, - "AWS_AppMesh_VirtualService": { + "AWS_ARCZonalShift_AutoshiftObserverNotificationStatus": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::AppMesh::VirtualService \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appmesh-virtualservice.html)", + "markdownDescription": "Definition of AWS::ARCZonalShift::AutoshiftObserverNotificationStatus Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-arczonalshift-autoshiftobservernotificationstatus.html)", "allOf": [ { "type": "object", @@ -16719,14 +16704,14 @@ "Type": { "type": "string", "enum": [ - "AWS::AppMesh::VirtualService" + "AWS::ARCZonalShift::AutoshiftObserverNotificationStatus" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::AppMesh::VirtualService \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appmesh-virtualservice.html)" + "Definition of AWS::ARCZonalShift::AutoshiftObserverNotificationStatus Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-arczonalshift-autoshiftobservernotificationstatus.html)" ] }, "Properties": { - "$ref": "resources/aws-appmesh-virtualservice.json" + "$ref": "resources/aws-arczonalshift-autoshiftobservernotificationstatus.json" } }, "required": [ @@ -16740,9 +16725,9 @@ ], "additionalProperties": false }, - "AWS_ApplicationAutoScaling_ScalableTarget": { + "AWS_SageMaker_Endpoint": { "type": "object", - "markdownDescription": "The ``AWS::ApplicationAutoScaling::ScalableTarget`` resource specifies a resource that Application Auto Scaling can scale, such as an AWS::DynamoDB::Table or AWS::ECS::Service resource.\n For more information, see [Getting started](https://docs.aws.amazon.com/autoscaling/application/userguide/getting-started.html) in the *Application Auto Scaling User Guide*.\n If the resource that you want Application Auto Scaling to scale is not yet created in your account, add a dependency on the resource when registering it as a scalable target using the [DependsOn](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-dependson.html) attribute. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-applicationautoscaling-scalabletarget.html)", + "markdownDescription": "Resource Type definition for AWS::SageMaker::Endpoint \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-endpoint.html)", "allOf": [ { "type": "object", @@ -16750,14 +16735,14 @@ "Type": { "type": "string", "enum": [ - "AWS::ApplicationAutoScaling::ScalableTarget" + "AWS::SageMaker::Endpoint" ], "markdownEnumDescriptions": [ - "The ``AWS::ApplicationAutoScaling::ScalableTarget`` resource specifies a resource that Application Auto Scaling can scale, such as an AWS::DynamoDB::Table or AWS::ECS::Service resource.\n For more information, see [Getting started](https://docs.aws.amazon.com/autoscaling/application/userguide/getting-started.html) in the *Application Auto Scaling User Guide*.\n If the resource that you want Application Auto Scaling to scale is not yet created in your account, add a dependency on the resource when registering it as a scalable target using the [DependsOn](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-dependson.html) attribute. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-applicationautoscaling-scalabletarget.html)" + "Resource Type definition for AWS::SageMaker::Endpoint \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-endpoint.html)" ] }, "Properties": { - "$ref": "resources/aws-applicationautoscaling-scalabletarget.json" + "$ref": "resources/aws-sagemaker-endpoint.json" } }, "required": [ @@ -16771,9 +16756,9 @@ ], "additionalProperties": false }, - "AWS_OpsWorks_Stack": { + "AWS_NimbleStudio_StudioComponent": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::OpsWorks::Stack \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opsworks-stack.html)", + "markdownDescription": "Resource Type definition for AWS::NimbleStudio::StudioComponent \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-nimblestudio-studiocomponent.html)", "allOf": [ { "type": "object", @@ -16781,14 +16766,14 @@ "Type": { "type": "string", "enum": [ - "AWS::OpsWorks::Stack" + "AWS::NimbleStudio::StudioComponent" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::OpsWorks::Stack \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opsworks-stack.html)" + "Resource Type definition for AWS::NimbleStudio::StudioComponent \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-nimblestudio-studiocomponent.html)" ] }, "Properties": { - "$ref": "resources/aws-opsworks-stack.json" + "$ref": "resources/aws-nimblestudio-studiocomponent.json" } }, "required": [ @@ -16802,9 +16787,9 @@ ], "additionalProperties": false }, - "AWS_DataSync_LocationS3": { + "AWS_DevOpsGuru_LogAnomalyDetectionIntegration": { "type": "object", - "markdownDescription": "Resource schema for AWS::DataSync::LocationS3 \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datasync-locations3.html)", + "markdownDescription": "This resource schema represents the LogAnomalyDetectionIntegration resource in the Amazon DevOps Guru. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-devopsguru-loganomalydetectionintegration.html)", "allOf": [ { "type": "object", @@ -16812,19 +16797,18 @@ "Type": { "type": "string", "enum": [ - "AWS::DataSync::LocationS3" + "AWS::DevOpsGuru::LogAnomalyDetectionIntegration" ], "markdownEnumDescriptions": [ - "Resource schema for AWS::DataSync::LocationS3 \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datasync-locations3.html)" + "This resource schema represents the LogAnomalyDetectionIntegration resource in the Amazon DevOps Guru. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-devopsguru-loganomalydetectionintegration.html)" ] }, "Properties": { - "$ref": "resources/aws-datasync-locations3.json" + "$ref": "resources/aws-devopsguru-loganomalydetectionintegration.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -16833,9 +16817,9 @@ ], "additionalProperties": false }, - "AWS_IoT1Click_Project": { + "AWS_Greengrass_LoggerDefinition": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::IoT1Click::Project \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot1click-project.html)", + "markdownDescription": "Resource Type definition for AWS::Greengrass::LoggerDefinition \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-loggerdefinition.html)", "allOf": [ { "type": "object", @@ -16843,14 +16827,14 @@ "Type": { "type": "string", "enum": [ - "AWS::IoT1Click::Project" + "AWS::Greengrass::LoggerDefinition" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::IoT1Click::Project \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot1click-project.html)" + "Resource Type definition for AWS::Greengrass::LoggerDefinition \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-loggerdefinition.html)" ] }, "Properties": { - "$ref": "resources/aws-iot1click-project.json" + "$ref": "resources/aws-greengrass-loggerdefinition.json" } }, "required": [ @@ -16864,9 +16848,9 @@ ], "additionalProperties": false }, - "AWS_CloudFront_OriginAccessControl": { + "AWS_Omics_AnnotationStore": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::CloudFront::OriginAccessControl \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudfront-originaccesscontrol.html)", + "markdownDescription": "Definition of AWS::Omics::AnnotationStore Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-omics-annotationstore.html)", "allOf": [ { "type": "object", @@ -16874,14 +16858,14 @@ "Type": { "type": "string", "enum": [ - "AWS::CloudFront::OriginAccessControl" + "AWS::Omics::AnnotationStore" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::CloudFront::OriginAccessControl \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudfront-originaccesscontrol.html)" + "Definition of AWS::Omics::AnnotationStore Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-omics-annotationstore.html)" ] }, "Properties": { - "$ref": "resources/aws-cloudfront-originaccesscontrol.json" + "$ref": "resources/aws-omics-annotationstore.json" } }, "required": [ @@ -16895,9 +16879,9 @@ ], "additionalProperties": false }, - "AWS_WorkSpaces_ConnectionAlias": { + "AWS_AppStream_StackFleetAssociation": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::WorkSpaces::ConnectionAlias \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-workspaces-connectionalias.html)", + "markdownDescription": "Resource Type definition for AWS::AppStream::StackFleetAssociation \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appstream-stackfleetassociation.html)", "allOf": [ { "type": "object", @@ -16905,14 +16889,14 @@ "Type": { "type": "string", "enum": [ - "AWS::WorkSpaces::ConnectionAlias" + "AWS::AppStream::StackFleetAssociation" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::WorkSpaces::ConnectionAlias \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-workspaces-connectionalias.html)" + "Resource Type definition for AWS::AppStream::StackFleetAssociation \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appstream-stackfleetassociation.html)" ] }, "Properties": { - "$ref": "resources/aws-workspaces-connectionalias.json" + "$ref": "resources/aws-appstream-stackfleetassociation.json" } }, "required": [ @@ -16926,9 +16910,9 @@ ], "additionalProperties": false }, - "AWS_IoT_AccountAuditConfiguration": { + "AWS_SSO_InstanceAccessControlAttributeConfiguration": { "type": "object", - "markdownDescription": "Configures the Device Defender audit settings for this account. Settings include how audit notifications are sent and which audit checks are enabled or disabled. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-accountauditconfiguration.html)", + "markdownDescription": "Resource Type definition for SSO InstanceAccessControlAttributeConfiguration \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sso-instanceaccesscontrolattributeconfiguration.html)", "allOf": [ { "type": "object", @@ -16936,14 +16920,14 @@ "Type": { "type": "string", "enum": [ - "AWS::IoT::AccountAuditConfiguration" + "AWS::SSO::InstanceAccessControlAttributeConfiguration" ], "markdownEnumDescriptions": [ - "Configures the Device Defender audit settings for this account. Settings include how audit notifications are sent and which audit checks are enabled or disabled. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-accountauditconfiguration.html)" + "Resource Type definition for SSO InstanceAccessControlAttributeConfiguration \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sso-instanceaccesscontrolattributeconfiguration.html)" ] }, "Properties": { - "$ref": "resources/aws-iot-accountauditconfiguration.json" + "$ref": "resources/aws-sso-instanceaccesscontrolattributeconfiguration.json" } }, "required": [ @@ -16957,9 +16941,9 @@ ], "additionalProperties": false }, - "AWS_IVS_StorageConfiguration": { + "AWS_ApiGatewayV2_IntegrationResponse": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::IVS::StorageConfiguration \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ivs-storageconfiguration.html)", + "markdownDescription": "The ``AWS::ApiGatewayV2::IntegrationResponse`` resource updates an integration response for an WebSocket API. For more information, see [Set up WebSocket API Integration Responses in API Gateway](https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-websocket-api-integration-responses.html) in the *API Gateway Developer Guide*. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-integrationresponse.html)", "allOf": [ { "type": "object", @@ -16967,14 +16951,14 @@ "Type": { "type": "string", "enum": [ - "AWS::IVS::StorageConfiguration" + "AWS::ApiGatewayV2::IntegrationResponse" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::IVS::StorageConfiguration \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ivs-storageconfiguration.html)" + "The ``AWS::ApiGatewayV2::IntegrationResponse`` resource updates an integration response for an WebSocket API. For more information, see [Set up WebSocket API Integration Responses in API Gateway](https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-websocket-api-integration-responses.html) in the *API Gateway Developer Guide*. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-integrationresponse.html)" ] }, "Properties": { - "$ref": "resources/aws-ivs-storageconfiguration.json" + "$ref": "resources/aws-apigatewayv2-integrationresponse.json" } }, "required": [ @@ -16988,9 +16972,9 @@ ], "additionalProperties": false }, - "AWS_Glue_SecurityConfiguration": { + "AWS_ApiGatewayV2_DomainName": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::Glue::SecurityConfiguration \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-securityconfiguration.html)", + "markdownDescription": "The ``AWS::ApiGatewayV2::DomainName`` resource specifies a custom domain name for your API in Amazon API Gateway (API Gateway). \n You can use a custom domain name to provide a URL that's more intuitive and easier to recall. For more information about using custom domain names, see [Set up Custom Domain Name for an API in API Gateway](https://docs.aws.amazon.com/apigateway/latest/developerguide/how-to-custom-domains.html) in the *API Gateway Developer Guide*. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-domainname.html)", "allOf": [ { "type": "object", @@ -16998,14 +16982,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Glue::SecurityConfiguration" + "AWS::ApiGatewayV2::DomainName" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::Glue::SecurityConfiguration \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-securityconfiguration.html)" + "The ``AWS::ApiGatewayV2::DomainName`` resource specifies a custom domain name for your API in Amazon API Gateway (API Gateway). \n You can use a custom domain name to provide a URL that's more intuitive and easier to recall. For more information about using custom domain names, see [Set up Custom Domain Name for an API in API Gateway](https://docs.aws.amazon.com/apigateway/latest/developerguide/how-to-custom-domains.html) in the *API Gateway Developer Guide*. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-domainname.html)" ] }, "Properties": { - "$ref": "resources/aws-glue-securityconfiguration.json" + "$ref": "resources/aws-apigatewayv2-domainname.json" } }, "required": [ @@ -17019,9 +17003,9 @@ ], "additionalProperties": false }, - "AWS_Kendra_Faq": { + "AWS_Lex_Bot": { "type": "object", - "markdownDescription": "A Kendra FAQ resource \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kendra-faq.html)", + "markdownDescription": "Amazon Lex conversational bot performing automated tasks such as ordering a pizza, booking a hotel, and so on. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lex-bot.html)", "allOf": [ { "type": "object", @@ -17029,14 +17013,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Kendra::Faq" + "AWS::Lex::Bot" ], "markdownEnumDescriptions": [ - "A Kendra FAQ resource \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kendra-faq.html)" + "Amazon Lex conversational bot performing automated tasks such as ordering a pizza, booking a hotel, and so on. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lex-bot.html)" ] }, "Properties": { - "$ref": "resources/aws-kendra-faq.json" + "$ref": "resources/aws-lex-bot.json" } }, "required": [ @@ -17050,9 +17034,9 @@ ], "additionalProperties": false }, - "AWS_IoTAnalytics_Dataset": { + "AWS_AppFlow_ConnectorProfile": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::IoTAnalytics::Dataset \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotanalytics-dataset.html)", + "markdownDescription": "Resource Type definition for AWS::AppFlow::ConnectorProfile \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appflow-connectorprofile.html)", "allOf": [ { "type": "object", @@ -17060,14 +17044,14 @@ "Type": { "type": "string", "enum": [ - "AWS::IoTAnalytics::Dataset" + "AWS::AppFlow::ConnectorProfile" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::IoTAnalytics::Dataset \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotanalytics-dataset.html)" + "Resource Type definition for AWS::AppFlow::ConnectorProfile \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appflow-connectorprofile.html)" ] }, "Properties": { - "$ref": "resources/aws-iotanalytics-dataset.json" + "$ref": "resources/aws-appflow-connectorprofile.json" } }, "required": [ @@ -17081,9 +17065,9 @@ ], "additionalProperties": false }, - "AWS_Detective_OrganizationAdmin": { + "AWS_EC2_VerifiedAccessInstance": { "type": "object", - "markdownDescription": "Resource schema for AWS::Detective::OrganizationAdmin \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-detective-organizationadmin.html)", + "markdownDescription": "The AWS::EC2::VerifiedAccessInstance resource creates an AWS EC2 Verified Access Instance. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-verifiedaccessinstance.html)", "allOf": [ { "type": "object", @@ -17091,19 +17075,18 @@ "Type": { "type": "string", "enum": [ - "AWS::Detective::OrganizationAdmin" + "AWS::EC2::VerifiedAccessInstance" ], "markdownEnumDescriptions": [ - "Resource schema for AWS::Detective::OrganizationAdmin \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-detective-organizationadmin.html)" + "The AWS::EC2::VerifiedAccessInstance resource creates an AWS EC2 Verified Access Instance. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-verifiedaccessinstance.html)" ] }, "Properties": { - "$ref": "resources/aws-detective-organizationadmin.json" + "$ref": "resources/aws-ec2-verifiedaccessinstance.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -17112,9 +17095,9 @@ ], "additionalProperties": false }, - "AWS_CloudFront_RealtimeLogConfig": { + "AWS_OpenSearchService_Domain": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::CloudFront::RealtimeLogConfig \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudfront-realtimelogconfig.html)", + "markdownDescription": "An example resource schema demonstrating some basic constructs and validation rules. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opensearchservice-domain.html)", "allOf": [ { "type": "object", @@ -17122,19 +17105,18 @@ "Type": { "type": "string", "enum": [ - "AWS::CloudFront::RealtimeLogConfig" + "AWS::OpenSearchService::Domain" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::CloudFront::RealtimeLogConfig \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudfront-realtimelogconfig.html)" + "An example resource schema demonstrating some basic constructs and validation rules. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opensearchservice-domain.html)" ] }, "Properties": { - "$ref": "resources/aws-cloudfront-realtimelogconfig.json" + "$ref": "resources/aws-opensearchservice-domain.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -17143,9 +17125,9 @@ ], "additionalProperties": false }, - "AWS_Greengrass_ResourceDefinitionVersion": { + "AWS_SES_EmailIdentity": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::Greengrass::ResourceDefinitionVersion \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-resourcedefinitionversion.html)", + "markdownDescription": "Resource Type definition for AWS::SES::EmailIdentity \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ses-emailidentity.html)", "allOf": [ { "type": "object", @@ -17153,14 +17135,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Greengrass::ResourceDefinitionVersion" + "AWS::SES::EmailIdentity" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::Greengrass::ResourceDefinitionVersion \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-resourcedefinitionversion.html)" + "Resource Type definition for AWS::SES::EmailIdentity \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ses-emailidentity.html)" ] }, "Properties": { - "$ref": "resources/aws-greengrass-resourcedefinitionversion.json" + "$ref": "resources/aws-ses-emailidentity.json" } }, "required": [ @@ -17174,9 +17156,9 @@ ], "additionalProperties": false }, - "AWS_AppMesh_VirtualNode": { + "AWS_AppIntegrations_EventIntegration": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::AppMesh::VirtualNode \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appmesh-virtualnode.html)", + "markdownDescription": "Resource Type definition for AWS::AppIntegrations::EventIntegration \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appintegrations-eventintegration.html)", "allOf": [ { "type": "object", @@ -17184,14 +17166,14 @@ "Type": { "type": "string", "enum": [ - "AWS::AppMesh::VirtualNode" + "AWS::AppIntegrations::EventIntegration" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::AppMesh::VirtualNode \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appmesh-virtualnode.html)" + "Resource Type definition for AWS::AppIntegrations::EventIntegration \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appintegrations-eventintegration.html)" ] }, "Properties": { - "$ref": "resources/aws-appmesh-virtualnode.json" + "$ref": "resources/aws-appintegrations-eventintegration.json" } }, "required": [ @@ -17205,9 +17187,9 @@ ], "additionalProperties": false }, - "AWS_Events_EventBus": { + "AWS_DevOpsGuru_ResourceCollection": { "type": "object", - "markdownDescription": "Resource type definition for AWS::Events::EventBus \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-eventbus.html)", + "markdownDescription": "This resource schema represents the ResourceCollection resource in the Amazon DevOps Guru. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-devopsguru-resourcecollection.html)", "allOf": [ { "type": "object", @@ -17215,14 +17197,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Events::EventBus" + "AWS::DevOpsGuru::ResourceCollection" ], "markdownEnumDescriptions": [ - "Resource type definition for AWS::Events::EventBus \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-eventbus.html)" + "This resource schema represents the ResourceCollection resource in the Amazon DevOps Guru. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-devopsguru-resourcecollection.html)" ] }, "Properties": { - "$ref": "resources/aws-events-eventbus.json" + "$ref": "resources/aws-devopsguru-resourcecollection.json" } }, "required": [ @@ -17236,9 +17218,9 @@ ], "additionalProperties": false }, - "AWS_ECR_ReplicationConfiguration": { + "AWS_SimSpaceWeaver_Simulation": { "type": "object", - "markdownDescription": "The AWS::ECR::ReplicationConfiguration resource configures the replication destinations for an Amazon Elastic Container Registry (Amazon Private ECR). For more information, see https://docs.aws.amazon.com/AmazonECR/latest/userguide/replication.html \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ecr-replicationconfiguration.html)", + "markdownDescription": "AWS::SimSpaceWeaver::Simulation resource creates an AWS Simulation. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-simspaceweaver-simulation.html)", "allOf": [ { "type": "object", @@ -17246,14 +17228,14 @@ "Type": { "type": "string", "enum": [ - "AWS::ECR::ReplicationConfiguration" + "AWS::SimSpaceWeaver::Simulation" ], "markdownEnumDescriptions": [ - "The AWS::ECR::ReplicationConfiguration resource configures the replication destinations for an Amazon Elastic Container Registry (Amazon Private ECR). For more information, see https://docs.aws.amazon.com/AmazonECR/latest/userguide/replication.html \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ecr-replicationconfiguration.html)" + "AWS::SimSpaceWeaver::Simulation resource creates an AWS Simulation. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-simspaceweaver-simulation.html)" ] }, "Properties": { - "$ref": "resources/aws-ecr-replicationconfiguration.json" + "$ref": "resources/aws-simspaceweaver-simulation.json" } }, "required": [ @@ -17267,9 +17249,9 @@ ], "additionalProperties": false }, - "AWS_Glue_Table": { + "AWS_Kinesis_ResourcePolicy": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::Glue::Table \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-table.html)", + "markdownDescription": "Resource Type definition for AWS::Kinesis::ResourcePolicy \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kinesis-resourcepolicy.html)", "allOf": [ { "type": "object", @@ -17277,14 +17259,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Glue::Table" + "AWS::Kinesis::ResourcePolicy" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::Glue::Table \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-table.html)" + "Resource Type definition for AWS::Kinesis::ResourcePolicy \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kinesis-resourcepolicy.html)" ] }, "Properties": { - "$ref": "resources/aws-glue-table.json" + "$ref": "resources/aws-kinesis-resourcepolicy.json" } }, "required": [ @@ -17298,9 +17280,9 @@ ], "additionalProperties": false }, - "AWS_SSMIncidents_ResponsePlan": { + "AWS_QuickSight_Template": { "type": "object", - "markdownDescription": "Resource type definition for AWS::SSMIncidents::ResponsePlan \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssmincidents-responseplan.html)", + "markdownDescription": "Definition of the AWS::QuickSight::Template Resource Type. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-quicksight-template.html)", "allOf": [ { "type": "object", @@ -17308,14 +17290,14 @@ "Type": { "type": "string", "enum": [ - "AWS::SSMIncidents::ResponsePlan" + "AWS::QuickSight::Template" ], "markdownEnumDescriptions": [ - "Resource type definition for AWS::SSMIncidents::ResponsePlan \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssmincidents-responseplan.html)" + "Definition of the AWS::QuickSight::Template Resource Type. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-quicksight-template.html)" ] }, "Properties": { - "$ref": "resources/aws-ssmincidents-responseplan.json" + "$ref": "resources/aws-quicksight-template.json" } }, "required": [ @@ -17329,9 +17311,9 @@ ], "additionalProperties": false }, - "AWS_ServiceCatalog_PortfolioPrincipalAssociation": { + "AWS_Detective_OrganizationAdmin": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::ServiceCatalog::PortfolioPrincipalAssociation \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicecatalog-portfolioprincipalassociation.html)", + "markdownDescription": "Resource schema for AWS::Detective::OrganizationAdmin \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-detective-organizationadmin.html)", "allOf": [ { "type": "object", @@ -17339,14 +17321,14 @@ "Type": { "type": "string", "enum": [ - "AWS::ServiceCatalog::PortfolioPrincipalAssociation" + "AWS::Detective::OrganizationAdmin" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::ServiceCatalog::PortfolioPrincipalAssociation \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicecatalog-portfolioprincipalassociation.html)" + "Resource schema for AWS::Detective::OrganizationAdmin \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-detective-organizationadmin.html)" ] }, "Properties": { - "$ref": "resources/aws-servicecatalog-portfolioprincipalassociation.json" + "$ref": "resources/aws-detective-organizationadmin.json" } }, "required": [ @@ -17360,9 +17342,9 @@ ], "additionalProperties": false }, - "AWS_IoT_BillingGroup": { + "AWS_MediaPackage_OriginEndpoint": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::IoT::BillingGroup \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-billinggroup.html)", + "markdownDescription": "Resource schema for AWS::MediaPackage::OriginEndpoint \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediapackage-originendpoint.html)", "allOf": [ { "type": "object", @@ -17370,18 +17352,19 @@ "Type": { "type": "string", "enum": [ - "AWS::IoT::BillingGroup" + "AWS::MediaPackage::OriginEndpoint" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::IoT::BillingGroup \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-billinggroup.html)" + "Resource schema for AWS::MediaPackage::OriginEndpoint \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediapackage-originendpoint.html)" ] }, "Properties": { - "$ref": "resources/aws-iot-billinggroup.json" + "$ref": "resources/aws-mediapackage-originendpoint.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -17390,9 +17373,9 @@ ], "additionalProperties": false }, - "AWS_SecurityHub_DelegatedAdmin": { + "AWS_Bedrock_Agent": { "type": "object", - "markdownDescription": "The ``AWS::SecurityHub::DelegatedAdmin`` resource designates the delegated ASHlong administrator account for an organization. You must enable the integration between ASH and AOlong before you can designate a delegated ASH administrator. Only the management account for an organization can designate the delegated ASH administrator account. For more information, see [Designating the delegated administrator](https://docs.aws.amazon.com/securityhub/latest/userguide/designate-orgs-admin-account.html#designate-admin-instructions) in the *User Guide*.\n To change the delegated administrator account, remove the current delegated administrator account, and then designate the new account.\n To designate multiple delegated administrators in different organizations and AWS-Regions, we recommend using [mappings](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/mappings-section-structure.html).\n Tags aren't supported for this resource. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-securityhub-delegatedadmin.html)", + "markdownDescription": "Definition of AWS::Bedrock::Agent Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-bedrock-agent.html)", "allOf": [ { "type": "object", @@ -17400,14 +17383,14 @@ "Type": { "type": "string", "enum": [ - "AWS::SecurityHub::DelegatedAdmin" + "AWS::Bedrock::Agent" ], "markdownEnumDescriptions": [ - "The ``AWS::SecurityHub::DelegatedAdmin`` resource designates the delegated ASHlong administrator account for an organization. You must enable the integration between ASH and AOlong before you can designate a delegated ASH administrator. Only the management account for an organization can designate the delegated ASH administrator account. For more information, see [Designating the delegated administrator](https://docs.aws.amazon.com/securityhub/latest/userguide/designate-orgs-admin-account.html#designate-admin-instructions) in the *User Guide*.\n To change the delegated administrator account, remove the current delegated administrator account, and then designate the new account.\n To designate multiple delegated administrators in different organizations and AWS-Regions, we recommend using [mappings](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/mappings-section-structure.html).\n Tags aren't supported for this resource. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-securityhub-delegatedadmin.html)" + "Definition of AWS::Bedrock::Agent Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-bedrock-agent.html)" ] }, "Properties": { - "$ref": "resources/aws-securityhub-delegatedadmin.json" + "$ref": "resources/aws-bedrock-agent.json" } }, "required": [ @@ -17421,9 +17404,9 @@ ], "additionalProperties": false }, - "AWS_WAFRegional_SizeConstraintSet": { + "AWS_EC2_TrafficMirrorFilter": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::WAFRegional::SizeConstraintSet \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-wafregional-sizeconstraintset.html)", + "markdownDescription": "Resource Type definition for AWS::EC2::TrafficMirrorFilter \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-trafficmirrorfilter.html)", "allOf": [ { "type": "object", @@ -17431,19 +17414,18 @@ "Type": { "type": "string", "enum": [ - "AWS::WAFRegional::SizeConstraintSet" + "AWS::EC2::TrafficMirrorFilter" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::WAFRegional::SizeConstraintSet \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-wafregional-sizeconstraintset.html)" + "Resource Type definition for AWS::EC2::TrafficMirrorFilter \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-trafficmirrorfilter.html)" ] }, "Properties": { - "$ref": "resources/aws-wafregional-sizeconstraintset.json" + "$ref": "resources/aws-ec2-trafficmirrorfilter.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -17452,9 +17434,9 @@ ], "additionalProperties": false }, - "AWS_ApiGateway_Stage": { + "AWS_IAM_ManagedPolicy": { "type": "object", - "markdownDescription": "The ``AWS::ApiGateway::Stage`` resource creates a stage for a deployment. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-stage.html)", + "markdownDescription": "Creates a new managed policy for your AWS-account.\n This operation creates a policy version with a version identifier of ``v1`` and sets v1 as the policy's default version. For more information about policy versions, see [Versioning for managed policies](https://docs.aws.amazon.com/IAM/latest/UserGuide/policies-managed-versions.html) in the *IAM User Guide*.\n As a best practice, you can validate your IAM policies. To learn more, see [Validating IAM policies](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_policy-validator.html) in the *IAM User Guide*.\n For more information about managed policies in general, see [Managed policies and inline policies](https://docs.aws.amazon.com/IAM/latest/UserGuide/policies-managed-vs-inline.html) in the *IAM User Guide*. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-managedpolicy.html)", "allOf": [ { "type": "object", @@ -17462,14 +17444,14 @@ "Type": { "type": "string", "enum": [ - "AWS::ApiGateway::Stage" + "AWS::IAM::ManagedPolicy" ], "markdownEnumDescriptions": [ - "The ``AWS::ApiGateway::Stage`` resource creates a stage for a deployment. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-stage.html)" + "Creates a new managed policy for your AWS-account.\n This operation creates a policy version with a version identifier of ``v1`` and sets v1 as the policy's default version. For more information about policy versions, see [Versioning for managed policies](https://docs.aws.amazon.com/IAM/latest/UserGuide/policies-managed-versions.html) in the *IAM User Guide*.\n As a best practice, you can validate your IAM policies. To learn more, see [Validating IAM policies](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_policy-validator.html) in the *IAM User Guide*.\n For more information about managed policies in general, see [Managed policies and inline policies](https://docs.aws.amazon.com/IAM/latest/UserGuide/policies-managed-vs-inline.html) in the *IAM User Guide*. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-managedpolicy.html)" ] }, "Properties": { - "$ref": "resources/aws-apigateway-stage.json" + "$ref": "resources/aws-iam-managedpolicy.json" } }, "required": [ @@ -17483,9 +17465,9 @@ ], "additionalProperties": false }, - "AWS_CodeDeploy_DeploymentConfig": { + "AWS_Redshift_Cluster": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::CodeDeploy::DeploymentConfig \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codedeploy-deploymentconfig.html)", + "markdownDescription": "An example resource schema demonstrating some basic constructs and validation rules. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-redshift-cluster.html)", "allOf": [ { "type": "object", @@ -17493,18 +17475,19 @@ "Type": { "type": "string", "enum": [ - "AWS::CodeDeploy::DeploymentConfig" + "AWS::Redshift::Cluster" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::CodeDeploy::DeploymentConfig \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codedeploy-deploymentconfig.html)" + "An example resource schema demonstrating some basic constructs and validation rules. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-redshift-cluster.html)" ] }, "Properties": { - "$ref": "resources/aws-codedeploy-deploymentconfig.json" + "$ref": "resources/aws-redshift-cluster.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -17513,9 +17496,9 @@ ], "additionalProperties": false }, - "AWS_ImageBuilder_Component": { + "AWS_ApiGatewayV2_VpcLink": { "type": "object", - "markdownDescription": "Resource schema for AWS::ImageBuilder::Component \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-imagebuilder-component.html)", + "markdownDescription": "The ``AWS::ApiGatewayV2::VpcLink`` resource creates a VPC link. Supported only for HTTP APIs. The VPC link status must transition from ``PENDING`` to ``AVAILABLE`` to successfully create a VPC link, which can take up to 10 minutes. To learn more, see [Working with VPC Links for HTTP APIs](https://docs.aws.amazon.com/apigateway/latest/developerguide/http-api-vpc-links.html) in the *API Gateway Developer Guide*. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-vpclink.html)", "allOf": [ { "type": "object", @@ -17523,14 +17506,14 @@ "Type": { "type": "string", "enum": [ - "AWS::ImageBuilder::Component" + "AWS::ApiGatewayV2::VpcLink" ], "markdownEnumDescriptions": [ - "Resource schema for AWS::ImageBuilder::Component \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-imagebuilder-component.html)" + "The ``AWS::ApiGatewayV2::VpcLink`` resource creates a VPC link. Supported only for HTTP APIs. The VPC link status must transition from ``PENDING`` to ``AVAILABLE`` to successfully create a VPC link, which can take up to 10 minutes. To learn more, see [Working with VPC Links for HTTP APIs](https://docs.aws.amazon.com/apigateway/latest/developerguide/http-api-vpc-links.html) in the *API Gateway Developer Guide*. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-vpclink.html)" ] }, "Properties": { - "$ref": "resources/aws-imagebuilder-component.json" + "$ref": "resources/aws-apigatewayv2-vpclink.json" } }, "required": [ @@ -17544,9 +17527,9 @@ ], "additionalProperties": false }, - "AWS_GroundStation_MissionProfile": { + "AWS_S3_MultiRegionAccessPoint": { "type": "object", - "markdownDescription": "AWS Ground Station Mission Profile resource type for CloudFormation. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-groundstation-missionprofile.html)", + "markdownDescription": "AWS::S3::MultiRegionAccessPoint is an Amazon S3 resource type that dynamically routes S3 requests to easily satisfy geographic compliance requirements based on customer-defined routing policies. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-s3-multiregionaccesspoint.html)", "allOf": [ { "type": "object", @@ -17554,14 +17537,14 @@ "Type": { "type": "string", "enum": [ - "AWS::GroundStation::MissionProfile" + "AWS::S3::MultiRegionAccessPoint" ], "markdownEnumDescriptions": [ - "AWS Ground Station Mission Profile resource type for CloudFormation. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-groundstation-missionprofile.html)" + "AWS::S3::MultiRegionAccessPoint is an Amazon S3 resource type that dynamically routes S3 requests to easily satisfy geographic compliance requirements based on customer-defined routing policies. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-s3-multiregionaccesspoint.html)" ] }, "Properties": { - "$ref": "resources/aws-groundstation-missionprofile.json" + "$ref": "resources/aws-s3-multiregionaccesspoint.json" } }, "required": [ @@ -17575,9 +17558,9 @@ ], "additionalProperties": false }, - "AWS_AppConfig_ExtensionAssociation": { + "AWS_ElasticLoadBalancingV2_ListenerCertificate": { "type": "object", - "markdownDescription": "An example resource schema demonstrating some basic constructs and validation rules. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appconfig-extensionassociation.html)", + "markdownDescription": "Resource Type definition for AWS::ElasticLoadBalancingV2::ListenerCertificate \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticloadbalancingv2-listenercertificate.html)", "allOf": [ { "type": "object", @@ -17585,18 +17568,19 @@ "Type": { "type": "string", "enum": [ - "AWS::AppConfig::ExtensionAssociation" + "AWS::ElasticLoadBalancingV2::ListenerCertificate" ], "markdownEnumDescriptions": [ - "An example resource schema demonstrating some basic constructs and validation rules. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appconfig-extensionassociation.html)" + "Resource Type definition for AWS::ElasticLoadBalancingV2::ListenerCertificate \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticloadbalancingv2-listenercertificate.html)" ] }, "Properties": { - "$ref": "resources/aws-appconfig-extensionassociation.json" + "$ref": "resources/aws-elasticloadbalancingv2-listenercertificate.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -17605,9 +17589,9 @@ ], "additionalProperties": false }, - "AWS_Config_ConfigRule": { + "AWS_SES_MailManagerAddonInstance": { "type": "object", - "markdownDescription": "You must first create and start the CC configuration recorder in order to create CC managed rules with CFNlong. For more information, see [Managing the Configuration Recorder](https://docs.aws.amazon.com/config/latest/developerguide/stop-start-recorder.html).\n Adds or updates an CC rule to evaluate if your AWS resources comply with your desired configurations. For information on how many CC rules you can have per account, see [Service Limits](https://docs.aws.amazon.com/config/latest/developerguide/configlimits.html) in the *Developer Guide*.\n There are two types of rules: *Managed Rules* and *Custom Rules*. You can use the ``ConfigRule`` resource to create both CC Managed Rules and CC Custom Rules.\n CC Managed Rules are predefined, customizable rules created by CC. For a list of managed rules, see [List of Managed Rules](https://docs.aws.amazon.com/config/latest/developerguide/managed-rules-by-aws-config.html). If you are adding an CC managed rule, you must specify the rule's identifier for the ``SourceIdentifier`` key.\n CC Custom Rules are rules that you create from scratch. There are two ways to create CC custom rules: with Lambda functions ([Developer Guide](https://docs.aws.amazon.com/config/latest/developerguide/gettingstarted-concepts.html#gettingstarted-concepts-function)) and with CFNGUARDshort ([Guard GitHub Repository](https://docs.aws.amazon.com/https://github.com/aws-cloudformation/cloudformation-guard)), a policy-as-code language. CC custom rules created with LAMlong are called *Custom Lambda Rules* and CC custom rules created with CFNGUARDshort are called *Custom Policy Rules*.\n If you are adding a new CC Custom LAM rule, you first need to create an LAMlong function that the rule invokes to evaluate your resources. When you use the ``ConfigRule`` resource to add a Custom LAM rule to CC, you must specify the Amazon Resource Name (ARN) that LAMlong assigns to the function. You specify the ARN in the ``SourceIdentifier`` key. This key is part of the ``Source`` object, which is part of the ``ConfigRule`` object. \n For any new CC rule that you add, specify the ``ConfigRuleName`` in the ``ConfigRule`` object. Do not specify the ``ConfigRuleArn`` or the ``ConfigRuleId``. These values are generated by CC for new rules.\n If you are updating a rule that you added previously, you can specify the rule by ``ConfigRuleName``, ``ConfigRuleId``, or ``ConfigRuleArn`` in the ``ConfigRule`` data type that you use in this request.\n For more information about developing and using CC rules, see [Evaluating Resources with Rules](https://docs.aws.amazon.com/config/latest/developerguide/evaluate-config.html) in the *Developer Guide*. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-config-configrule.html)", + "markdownDescription": "Definition of AWS::SES::MailManagerAddonInstance Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ses-mailmanageraddoninstance.html)", "allOf": [ { "type": "object", @@ -17615,14 +17599,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Config::ConfigRule" + "AWS::SES::MailManagerAddonInstance" ], "markdownEnumDescriptions": [ - "You must first create and start the CC configuration recorder in order to create CC managed rules with CFNlong. For more information, see [Managing the Configuration Recorder](https://docs.aws.amazon.com/config/latest/developerguide/stop-start-recorder.html).\n Adds or updates an CC rule to evaluate if your AWS resources comply with your desired configurations. For information on how many CC rules you can have per account, see [Service Limits](https://docs.aws.amazon.com/config/latest/developerguide/configlimits.html) in the *Developer Guide*.\n There are two types of rules: *Managed Rules* and *Custom Rules*. You can use the ``ConfigRule`` resource to create both CC Managed Rules and CC Custom Rules.\n CC Managed Rules are predefined, customizable rules created by CC. For a list of managed rules, see [List of Managed Rules](https://docs.aws.amazon.com/config/latest/developerguide/managed-rules-by-aws-config.html). If you are adding an CC managed rule, you must specify the rule's identifier for the ``SourceIdentifier`` key.\n CC Custom Rules are rules that you create from scratch. There are two ways to create CC custom rules: with Lambda functions ([Developer Guide](https://docs.aws.amazon.com/config/latest/developerguide/gettingstarted-concepts.html#gettingstarted-concepts-function)) and with CFNGUARDshort ([Guard GitHub Repository](https://docs.aws.amazon.com/https://github.com/aws-cloudformation/cloudformation-guard)), a policy-as-code language. CC custom rules created with LAMlong are called *Custom Lambda Rules* and CC custom rules created with CFNGUARDshort are called *Custom Policy Rules*.\n If you are adding a new CC Custom LAM rule, you first need to create an LAMlong function that the rule invokes to evaluate your resources. When you use the ``ConfigRule`` resource to add a Custom LAM rule to CC, you must specify the Amazon Resource Name (ARN) that LAMlong assigns to the function. You specify the ARN in the ``SourceIdentifier`` key. This key is part of the ``Source`` object, which is part of the ``ConfigRule`` object. \n For any new CC rule that you add, specify the ``ConfigRuleName`` in the ``ConfigRule`` object. Do not specify the ``ConfigRuleArn`` or the ``ConfigRuleId``. These values are generated by CC for new rules.\n If you are updating a rule that you added previously, you can specify the rule by ``ConfigRuleName``, ``ConfigRuleId``, or ``ConfigRuleArn`` in the ``ConfigRule`` data type that you use in this request.\n For more information about developing and using CC rules, see [Evaluating Resources with Rules](https://docs.aws.amazon.com/config/latest/developerguide/evaluate-config.html) in the *Developer Guide*. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-config-configrule.html)" + "Definition of AWS::SES::MailManagerAddonInstance Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ses-mailmanageraddoninstance.html)" ] }, "Properties": { - "$ref": "resources/aws-config-configrule.json" + "$ref": "resources/aws-ses-mailmanageraddoninstance.json" } }, "required": [ @@ -17636,9 +17620,9 @@ ], "additionalProperties": false }, - "AWS_WAF_Rule": { + "AWS_ElasticLoadBalancingV2_TargetGroup": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::WAF::Rule \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-waf-rule.html)", + "markdownDescription": "Resource Type definition for AWS::ElasticLoadBalancingV2::TargetGroup \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticloadbalancingv2-targetgroup.html)", "allOf": [ { "type": "object", @@ -17646,19 +17630,18 @@ "Type": { "type": "string", "enum": [ - "AWS::WAF::Rule" + "AWS::ElasticLoadBalancingV2::TargetGroup" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::WAF::Rule \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-waf-rule.html)" + "Resource Type definition for AWS::ElasticLoadBalancingV2::TargetGroup \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticloadbalancingv2-targetgroup.html)" ] }, "Properties": { - "$ref": "resources/aws-waf-rule.json" + "$ref": "resources/aws-elasticloadbalancingv2-targetgroup.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -17667,9 +17650,9 @@ ], "additionalProperties": false }, - "AWS_SageMaker_Device": { + "AWS_Cognito_UserPoolDomain": { "type": "object", - "markdownDescription": "Resource schema for AWS::SageMaker::Device \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-device.html)", + "markdownDescription": "Resource Type definition for AWS::Cognito::UserPoolDomain \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpooldomain.html)", "allOf": [ { "type": "object", @@ -17677,14 +17660,14 @@ "Type": { "type": "string", "enum": [ - "AWS::SageMaker::Device" + "AWS::Cognito::UserPoolDomain" ], "markdownEnumDescriptions": [ - "Resource schema for AWS::SageMaker::Device \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-device.html)" + "Resource Type definition for AWS::Cognito::UserPoolDomain \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpooldomain.html)" ] }, "Properties": { - "$ref": "resources/aws-sagemaker-device.json" + "$ref": "resources/aws-cognito-userpooldomain.json" } }, "required": [ @@ -17698,9 +17681,9 @@ ], "additionalProperties": false }, - "AWS_ApiGatewayV2_Deployment": { + "AWS_ApiGateway_UsagePlan": { "type": "object", - "markdownDescription": "The ``AWS::ApiGatewayV2::Deployment`` resource creates a deployment for an API. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-deployment.html)", + "markdownDescription": "The ``AWS::ApiGateway::UsagePlan`` resource creates a usage plan for deployed APIs. A usage plan sets a target for the throttling and quota limits on individual client API keys. For more information, see [Creating and Using API Usage Plans in Amazon API Gateway](https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-api-usage-plans.html) in the *API Gateway Developer Guide*.\n In some cases clients can exceed the targets that you set. Don\u2019t rely on usage plans to control costs. Consider using [](https://docs.aws.amazon.com/cost-management/latest/userguide/budgets-managing-costs.html) to monitor costs and [](https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html) to manage API requests. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-usageplan.html)", "allOf": [ { "type": "object", @@ -17708,19 +17691,18 @@ "Type": { "type": "string", "enum": [ - "AWS::ApiGatewayV2::Deployment" + "AWS::ApiGateway::UsagePlan" ], "markdownEnumDescriptions": [ - "The ``AWS::ApiGatewayV2::Deployment`` resource creates a deployment for an API. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-deployment.html)" + "The ``AWS::ApiGateway::UsagePlan`` resource creates a usage plan for deployed APIs. A usage plan sets a target for the throttling and quota limits on individual client API keys. For more information, see [Creating and Using API Usage Plans in Amazon API Gateway](https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-api-usage-plans.html) in the *API Gateway Developer Guide*.\n In some cases clients can exceed the targets that you set. Don\u2019t rely on usage plans to control costs. Consider using [](https://docs.aws.amazon.com/cost-management/latest/userguide/budgets-managing-costs.html) to monitor costs and [](https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html) to manage API requests. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-usageplan.html)" ] }, "Properties": { - "$ref": "resources/aws-apigatewayv2-deployment.json" + "$ref": "resources/aws-apigateway-usageplan.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -17729,9 +17711,9 @@ ], "additionalProperties": false }, - "AWS_MediaLive_InputSecurityGroup": { + "AWS_Connect_HoursOfOperation": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::MediaLive::InputSecurityGroup \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-medialive-inputsecuritygroup.html)", + "markdownDescription": "Resource Type definition for AWS::Connect::HoursOfOperation \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-connect-hoursofoperation.html)", "allOf": [ { "type": "object", @@ -17739,18 +17721,19 @@ "Type": { "type": "string", "enum": [ - "AWS::MediaLive::InputSecurityGroup" + "AWS::Connect::HoursOfOperation" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::MediaLive::InputSecurityGroup \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-medialive-inputsecuritygroup.html)" + "Resource Type definition for AWS::Connect::HoursOfOperation \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-connect-hoursofoperation.html)" ] }, "Properties": { - "$ref": "resources/aws-medialive-inputsecuritygroup.json" + "$ref": "resources/aws-connect-hoursofoperation.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -17759,9 +17742,9 @@ ], "additionalProperties": false }, - "AWS_ImageBuilder_Image": { + "AWS_Events_ApiDestination": { "type": "object", - "markdownDescription": "Resource schema for AWS::ImageBuilder::Image \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-imagebuilder-image.html)", + "markdownDescription": "Resource Type definition for AWS::Events::ApiDestination. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-apidestination.html)", "allOf": [ { "type": "object", @@ -17769,18 +17752,19 @@ "Type": { "type": "string", "enum": [ - "AWS::ImageBuilder::Image" + "AWS::Events::ApiDestination" ], "markdownEnumDescriptions": [ - "Resource schema for AWS::ImageBuilder::Image \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-imagebuilder-image.html)" + "Resource Type definition for AWS::Events::ApiDestination. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-apidestination.html)" ] }, "Properties": { - "$ref": "resources/aws-imagebuilder-image.json" + "$ref": "resources/aws-events-apidestination.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -17789,9 +17773,9 @@ ], "additionalProperties": false }, - "AWS_Cognito_UserPoolRiskConfigurationAttachment": { + "AWS_VerifiedPermissions_IdentitySource": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::Cognito::UserPoolRiskConfigurationAttachment \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpoolriskconfigurationattachment.html)", + "markdownDescription": "Definition of AWS::VerifiedPermissions::IdentitySource Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-verifiedpermissions-identitysource.html)", "allOf": [ { "type": "object", @@ -17799,14 +17783,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Cognito::UserPoolRiskConfigurationAttachment" + "AWS::VerifiedPermissions::IdentitySource" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::Cognito::UserPoolRiskConfigurationAttachment \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpoolriskconfigurationattachment.html)" + "Definition of AWS::VerifiedPermissions::IdentitySource Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-verifiedpermissions-identitysource.html)" ] }, "Properties": { - "$ref": "resources/aws-cognito-userpoolriskconfigurationattachment.json" + "$ref": "resources/aws-verifiedpermissions-identitysource.json" } }, "required": [ @@ -17820,9 +17804,9 @@ ], "additionalProperties": false }, - "AWS_ServiceCatalog_Portfolio": { + "AWS_ConnectCampaignsV2_Campaign": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::ServiceCatalog::Portfolio \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicecatalog-portfolio.html)", + "markdownDescription": "Definition of AWS::ConnectCampaignsV2::Campaign Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-connectcampaignsv2-campaign.html)", "allOf": [ { "type": "object", @@ -17830,14 +17814,14 @@ "Type": { "type": "string", "enum": [ - "AWS::ServiceCatalog::Portfolio" + "AWS::ConnectCampaignsV2::Campaign" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::ServiceCatalog::Portfolio \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicecatalog-portfolio.html)" + "Definition of AWS::ConnectCampaignsV2::Campaign Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-connectcampaignsv2-campaign.html)" ] }, "Properties": { - "$ref": "resources/aws-servicecatalog-portfolio.json" + "$ref": "resources/aws-connectcampaignsv2-campaign.json" } }, "required": [ @@ -17851,9 +17835,9 @@ ], "additionalProperties": false }, - "AWS_DataZone_Environment": { + "AWS_ECS_TaskDefinition": { "type": "object", - "markdownDescription": "Definition of AWS::DataZone::Environment Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datazone-environment.html)", + "markdownDescription": "Registers a new task definition from the supplied ``family`` and ``containerDefinitions``. Optionally, you can add data volumes to your containers with the ``volumes`` parameter. For more information about task definition parameters and defaults, see [Amazon ECS Task Definitions](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task_defintions.html) in the *Amazon Elastic Container Service Developer Guide*.\n You can specify a role for your task with the ``taskRoleArn`` parameter. When you specify a role for a task, its containers can then use the latest versions of the CLI or SDKs to make API requests to the AWS services that are specified in the policy that's associated with the role. For more information, see [IAM Roles for Tasks](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-iam-roles.html) in the *Amazon Elastic Container Service Developer Guide*.\n You can specify a Docker networking mode for the containers in your task definition with the ``networkMode`` parameter. If you specify the ``awsvpc`` network mode, the task is allocated an elastic network interface, and you must specify a [NetworkConfiguration](https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_NetworkConfiguration.html) when you create a service or run a task with the task definition. For more information, see [Task Networking](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-networking.html) in the *Amazon Elastic Container Service Developer Guide*.\n In the following example or examples, the Authorization header contents (``AUTHPARAMS``) must be replaced with an AWS Signature Version 4 signature. For more information, see [Signature Version 4 Signing Process](https://docs.aws.amazon.com/general/latest/gr/signature-version-4.html) in the *General Reference*.\n You only need to learn how to sign HTTP requests if you intend to create them manually. When you use the [](https://docs.aws.amazon.com/cli/) or one of the [SDKs](https://docs.aws.amazon.com/tools/) to make requests to AWS, these tools automatically sign the requests for you, with the access key that you specify when you configure the tools. When you use these tools, you don't have to sign requests yourself. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ecs-taskdefinition.html)", "allOf": [ { "type": "object", @@ -17861,19 +17845,18 @@ "Type": { "type": "string", "enum": [ - "AWS::DataZone::Environment" + "AWS::ECS::TaskDefinition" ], "markdownEnumDescriptions": [ - "Definition of AWS::DataZone::Environment Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datazone-environment.html)" + "Registers a new task definition from the supplied ``family`` and ``containerDefinitions``. Optionally, you can add data volumes to your containers with the ``volumes`` parameter. For more information about task definition parameters and defaults, see [Amazon ECS Task Definitions](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task_defintions.html) in the *Amazon Elastic Container Service Developer Guide*.\n You can specify a role for your task with the ``taskRoleArn`` parameter. When you specify a role for a task, its containers can then use the latest versions of the CLI or SDKs to make API requests to the AWS services that are specified in the policy that's associated with the role. For more information, see [IAM Roles for Tasks](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-iam-roles.html) in the *Amazon Elastic Container Service Developer Guide*.\n You can specify a Docker networking mode for the containers in your task definition with the ``networkMode`` parameter. If you specify the ``awsvpc`` network mode, the task is allocated an elastic network interface, and you must specify a [NetworkConfiguration](https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_NetworkConfiguration.html) when you create a service or run a task with the task definition. For more information, see [Task Networking](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-networking.html) in the *Amazon Elastic Container Service Developer Guide*.\n In the following example or examples, the Authorization header contents (``AUTHPARAMS``) must be replaced with an AWS Signature Version 4 signature. For more information, see [Signature Version 4 Signing Process](https://docs.aws.amazon.com/general/latest/gr/signature-version-4.html) in the *General Reference*.\n You only need to learn how to sign HTTP requests if you intend to create them manually. When you use the [](https://docs.aws.amazon.com/cli/) or one of the [SDKs](https://docs.aws.amazon.com/tools/) to make requests to AWS, these tools automatically sign the requests for you, with the access key that you specify when you configure the tools. When you use these tools, you don't have to sign requests yourself. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ecs-taskdefinition.html)" ] }, "Properties": { - "$ref": "resources/aws-datazone-environment.json" + "$ref": "resources/aws-ecs-taskdefinition.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -17882,9 +17865,9 @@ ], "additionalProperties": false }, - "AWS_IdentityStore_Group": { + "AWS_MediaConvert_Queue": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::IdentityStore::Group \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-identitystore-group.html)", + "markdownDescription": "Resource Type definition for AWS::MediaConvert::Queue \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediaconvert-queue.html)", "allOf": [ { "type": "object", @@ -17892,19 +17875,18 @@ "Type": { "type": "string", "enum": [ - "AWS::IdentityStore::Group" + "AWS::MediaConvert::Queue" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::IdentityStore::Group \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-identitystore-group.html)" + "Resource Type definition for AWS::MediaConvert::Queue \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediaconvert-queue.html)" ] }, "Properties": { - "$ref": "resources/aws-identitystore-group.json" + "$ref": "resources/aws-mediaconvert-queue.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -17913,9 +17895,9 @@ ], "additionalProperties": false }, - "AWS_Redshift_EventSubscription": { + "AWS_ECR_RepositoryCreationTemplate": { "type": "object", - "markdownDescription": "The `AWS::Redshift::EventSubscription` resource creates an Amazon Redshift Event Subscription. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-redshift-eventsubscription.html)", + "markdownDescription": "AWS::ECR::RepositoryCreationTemplate is used to create repository with configuration from a pre-defined template. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ecr-repositorycreationtemplate.html)", "allOf": [ { "type": "object", @@ -17923,14 +17905,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Redshift::EventSubscription" + "AWS::ECR::RepositoryCreationTemplate" ], "markdownEnumDescriptions": [ - "The `AWS::Redshift::EventSubscription` resource creates an Amazon Redshift Event Subscription. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-redshift-eventsubscription.html)" + "AWS::ECR::RepositoryCreationTemplate is used to create repository with configuration from a pre-defined template. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ecr-repositorycreationtemplate.html)" ] }, "Properties": { - "$ref": "resources/aws-redshift-eventsubscription.json" + "$ref": "resources/aws-ecr-repositorycreationtemplate.json" } }, "required": [ @@ -17944,9 +17926,9 @@ ], "additionalProperties": false }, - "AWS_Backup_BackupVault": { + "AWS_ApiGatewayV2_Api": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::Backup::BackupVault \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-backup-backupvault.html)", + "markdownDescription": "The ``AWS::ApiGatewayV2::Api`` resource creates an API. WebSocket APIs and HTTP APIs are supported. For more information about WebSocket APIs, see [About WebSocket APIs in API Gateway](https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-websocket-api-overview.html) in the *API Gateway Developer Guide*. For more information about HTTP APIs, see [HTTP APIs](https://docs.aws.amazon.com/apigateway/latest/developerguide/http-api.html) in the *API Gateway Developer Guide.* \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-api.html)", "allOf": [ { "type": "object", @@ -17954,19 +17936,18 @@ "Type": { "type": "string", "enum": [ - "AWS::Backup::BackupVault" + "AWS::ApiGatewayV2::Api" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::Backup::BackupVault \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-backup-backupvault.html)" + "The ``AWS::ApiGatewayV2::Api`` resource creates an API. WebSocket APIs and HTTP APIs are supported. For more information about WebSocket APIs, see [About WebSocket APIs in API Gateway](https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-websocket-api-overview.html) in the *API Gateway Developer Guide*. For more information about HTTP APIs, see [HTTP APIs](https://docs.aws.amazon.com/apigateway/latest/developerguide/http-api.html) in the *API Gateway Developer Guide.* \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-api.html)" ] }, "Properties": { - "$ref": "resources/aws-backup-backupvault.json" + "$ref": "resources/aws-apigatewayv2-api.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -17975,9 +17956,9 @@ ], "additionalProperties": false }, - "AWS_DLM_LifecyclePolicy": { + "AWS_SecretsManager_ResourcePolicy": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::DLM::LifecyclePolicy \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dlm-lifecyclepolicy.html)", + "markdownDescription": "Resource Type definition for AWS::SecretsManager::ResourcePolicy \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-secretsmanager-resourcepolicy.html)", "allOf": [ { "type": "object", @@ -17985,18 +17966,19 @@ "Type": { "type": "string", "enum": [ - "AWS::DLM::LifecyclePolicy" + "AWS::SecretsManager::ResourcePolicy" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::DLM::LifecyclePolicy \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dlm-lifecyclepolicy.html)" + "Resource Type definition for AWS::SecretsManager::ResourcePolicy \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-secretsmanager-resourcepolicy.html)" ] }, "Properties": { - "$ref": "resources/aws-dlm-lifecyclepolicy.json" + "$ref": "resources/aws-secretsmanager-resourcepolicy.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -18005,9 +17987,9 @@ ], "additionalProperties": false }, - "AWS_Signer_ProfilePermission": { + "AWS_Deadline_Fleet": { "type": "object", - "markdownDescription": "An example resource schema demonstrating some basic constructs and validation rules. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-signer-profilepermission.html)", + "markdownDescription": "Definition of AWS::Deadline::Fleet Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-deadline-fleet.html)", "allOf": [ { "type": "object", @@ -18015,14 +17997,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Signer::ProfilePermission" + "AWS::Deadline::Fleet" ], "markdownEnumDescriptions": [ - "An example resource schema demonstrating some basic constructs and validation rules. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-signer-profilepermission.html)" + "Definition of AWS::Deadline::Fleet Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-deadline-fleet.html)" ] }, "Properties": { - "$ref": "resources/aws-signer-profilepermission.json" + "$ref": "resources/aws-deadline-fleet.json" } }, "required": [ @@ -18036,9 +18018,9 @@ ], "additionalProperties": false }, - "AWS_IoT_SoftwarePackageVersion": { + "AWS_Route53RecoveryControl_Cluster": { "type": "object", - "markdownDescription": "resource definition \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-softwarepackageversion.html)", + "markdownDescription": "AWS Route53 Recovery Control Cluster resource schema \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53recoverycontrol-cluster.html)", "allOf": [ { "type": "object", @@ -18046,14 +18028,14 @@ "Type": { "type": "string", "enum": [ - "AWS::IoT::SoftwarePackageVersion" + "AWS::Route53RecoveryControl::Cluster" ], "markdownEnumDescriptions": [ - "resource definition \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-softwarepackageversion.html)" + "AWS Route53 Recovery Control Cluster resource schema \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53recoverycontrol-cluster.html)" ] }, "Properties": { - "$ref": "resources/aws-iot-softwarepackageversion.json" + "$ref": "resources/aws-route53recoverycontrol-cluster.json" } }, "required": [ @@ -18067,9 +18049,9 @@ ], "additionalProperties": false }, - "AWS_CloudWatch_InsightRule": { + "AWS_IoTSiteWise_Project": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::CloudWatch::InsightRule \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudwatch-insightrule.html)", + "markdownDescription": "Resource schema for AWS::IoTSiteWise::Project \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotsitewise-project.html)", "allOf": [ { "type": "object", @@ -18077,14 +18059,14 @@ "Type": { "type": "string", "enum": [ - "AWS::CloudWatch::InsightRule" + "AWS::IoTSiteWise::Project" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::CloudWatch::InsightRule \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudwatch-insightrule.html)" + "Resource schema for AWS::IoTSiteWise::Project \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotsitewise-project.html)" ] }, "Properties": { - "$ref": "resources/aws-cloudwatch-insightrule.json" + "$ref": "resources/aws-iotsitewise-project.json" } }, "required": [ @@ -18098,9 +18080,9 @@ ], "additionalProperties": false }, - "AWS_VoiceID_Domain": { + "AWS_CloudFormation_WaitConditionHandle": { "type": "object", - "markdownDescription": "The AWS::VoiceID::Domain resource specifies an Amazon VoiceID Domain. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-voiceid-domain.html)", + "markdownDescription": "Resource Type definition for AWS::CloudFormation::WaitConditionHandle \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudformation-waitconditionhandle.html)", "allOf": [ { "type": "object", @@ -18108,19 +18090,18 @@ "Type": { "type": "string", "enum": [ - "AWS::VoiceID::Domain" + "AWS::CloudFormation::WaitConditionHandle" ], "markdownEnumDescriptions": [ - "The AWS::VoiceID::Domain resource specifies an Amazon VoiceID Domain. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-voiceid-domain.html)" + "Resource Type definition for AWS::CloudFormation::WaitConditionHandle \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudformation-waitconditionhandle.html)" ] }, "Properties": { - "$ref": "resources/aws-voiceid-domain.json" + "$ref": "resources/aws-cloudformation-waitconditionhandle.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -18129,9 +18110,9 @@ ], "additionalProperties": false }, - "AWS_Config_ConfigurationRecorder": { + "AWS_ECS_ClusterCapacityProviderAssociations": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::Config::ConfigurationRecorder \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-config-configurationrecorder.html)", + "markdownDescription": "Associate a set of ECS Capacity Providers with a specified ECS Cluster \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ecs-clustercapacityproviderassociations.html)", "allOf": [ { "type": "object", @@ -18139,14 +18120,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Config::ConfigurationRecorder" + "AWS::ECS::ClusterCapacityProviderAssociations" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::Config::ConfigurationRecorder \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-config-configurationrecorder.html)" + "Associate a set of ECS Capacity Providers with a specified ECS Cluster \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ecs-clustercapacityproviderassociations.html)" ] }, "Properties": { - "$ref": "resources/aws-config-configurationrecorder.json" + "$ref": "resources/aws-ecs-clustercapacityproviderassociations.json" } }, "required": [ @@ -18160,9 +18141,9 @@ ], "additionalProperties": false }, - "AWS_Greengrass_ConnectorDefinitionVersion": { + "AWS_IoT_DomainConfiguration": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::Greengrass::ConnectorDefinitionVersion \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-connectordefinitionversion.html)", + "markdownDescription": "Create and manage a Domain Configuration \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-domainconfiguration.html)", "allOf": [ { "type": "object", @@ -18170,19 +18151,18 @@ "Type": { "type": "string", "enum": [ - "AWS::Greengrass::ConnectorDefinitionVersion" + "AWS::IoT::DomainConfiguration" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::Greengrass::ConnectorDefinitionVersion \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-connectordefinitionversion.html)" + "Create and manage a Domain Configuration \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-domainconfiguration.html)" ] }, "Properties": { - "$ref": "resources/aws-greengrass-connectordefinitionversion.json" + "$ref": "resources/aws-iot-domainconfiguration.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -18191,9 +18171,9 @@ ], "additionalProperties": false }, - "AWS_CUR_ReportDefinition": { + "AWS_WorkSpaces_WorkspacesPool": { "type": "object", - "markdownDescription": "The AWS::CUR::ReportDefinition resource creates a Cost & Usage Report with user-defined settings. You can use this resource to define settings like time granularity (hourly, daily, monthly), file format (Parquet, CSV), and S3 bucket for delivery of these reports. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cur-reportdefinition.html)", + "markdownDescription": "Resource Type definition for AWS::WorkSpaces::WorkspacesPool \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-workspaces-workspacespool.html)", "allOf": [ { "type": "object", @@ -18201,14 +18181,14 @@ "Type": { "type": "string", "enum": [ - "AWS::CUR::ReportDefinition" + "AWS::WorkSpaces::WorkspacesPool" ], "markdownEnumDescriptions": [ - "The AWS::CUR::ReportDefinition resource creates a Cost & Usage Report with user-defined settings. You can use this resource to define settings like time granularity (hourly, daily, monthly), file format (Parquet, CSV), and S3 bucket for delivery of these reports. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cur-reportdefinition.html)" + "Resource Type definition for AWS::WorkSpaces::WorkspacesPool \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-workspaces-workspacespool.html)" ] }, "Properties": { - "$ref": "resources/aws-cur-reportdefinition.json" + "$ref": "resources/aws-workspaces-workspacespool.json" } }, "required": [ @@ -18222,9 +18202,9 @@ ], "additionalProperties": false }, - "AWS_Cognito_UserPoolUICustomizationAttachment": { + "AWS_ElasticLoadBalancingV2_LoadBalancer": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::Cognito::UserPoolUICustomizationAttachment \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpooluicustomizationattachment.html)", + "markdownDescription": "Specifies an Application Load Balancer, a Network Load Balancer, or a Gateway Load Balancer. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticloadbalancingv2-loadbalancer.html)", "allOf": [ { "type": "object", @@ -18232,19 +18212,18 @@ "Type": { "type": "string", "enum": [ - "AWS::Cognito::UserPoolUICustomizationAttachment" + "AWS::ElasticLoadBalancingV2::LoadBalancer" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::Cognito::UserPoolUICustomizationAttachment \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpooluicustomizationattachment.html)" + "Specifies an Application Load Balancer, a Network Load Balancer, or a Gateway Load Balancer. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticloadbalancingv2-loadbalancer.html)" ] }, "Properties": { - "$ref": "resources/aws-cognito-userpooluicustomizationattachment.json" + "$ref": "resources/aws-elasticloadbalancingv2-loadbalancer.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -18253,9 +18232,9 @@ ], "additionalProperties": false }, - "AWS_MediaLive_Cluster": { + "AWS_ResourceExplorer2_Index": { "type": "object", - "markdownDescription": "Definition of AWS::MediaLive::Cluster Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-medialive-cluster.html)", + "markdownDescription": "Definition of AWS::ResourceExplorer2::Index Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-resourceexplorer2-index.html)", "allOf": [ { "type": "object", @@ -18263,18 +18242,19 @@ "Type": { "type": "string", "enum": [ - "AWS::MediaLive::Cluster" + "AWS::ResourceExplorer2::Index" ], "markdownEnumDescriptions": [ - "Definition of AWS::MediaLive::Cluster Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-medialive-cluster.html)" + "Definition of AWS::ResourceExplorer2::Index Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-resourceexplorer2-index.html)" ] }, "Properties": { - "$ref": "resources/aws-medialive-cluster.json" + "$ref": "resources/aws-resourceexplorer2-index.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -18283,9 +18263,9 @@ ], "additionalProperties": false }, - "AWS_Logs_DeliveryDestination": { + "AWS_Signer_SigningProfile": { "type": "object", - "markdownDescription": "This structure contains information about one delivery destination in your account.\n\nA delivery destination is an AWS resource that represents an AWS service that logs can be sent to CloudWatch Logs, Amazon S3, are supported as Kinesis Data Firehose delivery destinations. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-logs-deliverydestination.html)", + "markdownDescription": "A signing profile is a signing template that can be used to carry out a pre-defined signing job. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-signer-signingprofile.html)", "allOf": [ { "type": "object", @@ -18293,14 +18273,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Logs::DeliveryDestination" + "AWS::Signer::SigningProfile" ], "markdownEnumDescriptions": [ - "This structure contains information about one delivery destination in your account.\n\nA delivery destination is an AWS resource that represents an AWS service that logs can be sent to CloudWatch Logs, Amazon S3, are supported as Kinesis Data Firehose delivery destinations. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-logs-deliverydestination.html)" + "A signing profile is a signing template that can be used to carry out a pre-defined signing job. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-signer-signingprofile.html)" ] }, "Properties": { - "$ref": "resources/aws-logs-deliverydestination.json" + "$ref": "resources/aws-signer-signingprofile.json" } }, "required": [ @@ -18314,9 +18294,9 @@ ], "additionalProperties": false }, - "AWS_IAM_ManagedPolicy": { + "AWS_Amplify_App": { "type": "object", - "markdownDescription": "Creates a new managed policy for your AWS-account.\n This operation creates a policy version with a version identifier of ``v1`` and sets v1 as the policy's default version. For more information about policy versions, see [Versioning for managed policies](https://docs.aws.amazon.com/IAM/latest/UserGuide/policies-managed-versions.html) in the *IAM User Guide*.\n As a best practice, you can validate your IAM policies. To learn more, see [Validating IAM policies](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_policy-validator.html) in the *IAM User Guide*.\n For more information about managed policies in general, see [Managed policies and inline policies](https://docs.aws.amazon.com/IAM/latest/UserGuide/policies-managed-vs-inline.html) in the *IAM User Guide*. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-managedpolicy.html)", + "markdownDescription": "The AWS::Amplify::App resource creates Apps in the Amplify Console. An App is a collection of branches. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-amplify-app.html)", "allOf": [ { "type": "object", @@ -18324,14 +18304,14 @@ "Type": { "type": "string", "enum": [ - "AWS::IAM::ManagedPolicy" + "AWS::Amplify::App" ], "markdownEnumDescriptions": [ - "Creates a new managed policy for your AWS-account.\n This operation creates a policy version with a version identifier of ``v1`` and sets v1 as the policy's default version. For more information about policy versions, see [Versioning for managed policies](https://docs.aws.amazon.com/IAM/latest/UserGuide/policies-managed-versions.html) in the *IAM User Guide*.\n As a best practice, you can validate your IAM policies. To learn more, see [Validating IAM policies](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_policy-validator.html) in the *IAM User Guide*.\n For more information about managed policies in general, see [Managed policies and inline policies](https://docs.aws.amazon.com/IAM/latest/UserGuide/policies-managed-vs-inline.html) in the *IAM User Guide*. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-managedpolicy.html)" + "The AWS::Amplify::App resource creates Apps in the Amplify Console. An App is a collection of branches. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-amplify-app.html)" ] }, "Properties": { - "$ref": "resources/aws-iam-managedpolicy.json" + "$ref": "resources/aws-amplify-app.json" } }, "required": [ @@ -18345,9 +18325,9 @@ ], "additionalProperties": false }, - "AWS_Glue_Workflow": { + "AWS_DataSync_LocationHDFS": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::Glue::Workflow \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-workflow.html)", + "markdownDescription": "Resource schema for AWS::DataSync::LocationHDFS. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datasync-locationhdfs.html)", "allOf": [ { "type": "object", @@ -18355,18 +18335,19 @@ "Type": { "type": "string", "enum": [ - "AWS::Glue::Workflow" + "AWS::DataSync::LocationHDFS" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::Glue::Workflow \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-workflow.html)" + "Resource schema for AWS::DataSync::LocationHDFS. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datasync-locationhdfs.html)" ] }, "Properties": { - "$ref": "resources/aws-glue-workflow.json" + "$ref": "resources/aws-datasync-locationhdfs.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -18375,9 +18356,9 @@ ], "additionalProperties": false }, - "AWS_ElastiCache_ServerlessCache": { + "AWS_SDB_Domain": { "type": "object", - "markdownDescription": "The AWS::ElastiCache::ServerlessCache resource creates an Amazon ElastiCache Serverless Cache. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticache-serverlesscache.html)", + "markdownDescription": "Resource Type definition for AWS::SDB::Domain \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sdb-domain.html)", "allOf": [ { "type": "object", @@ -18385,19 +18366,18 @@ "Type": { "type": "string", "enum": [ - "AWS::ElastiCache::ServerlessCache" + "AWS::SDB::Domain" ], "markdownEnumDescriptions": [ - "The AWS::ElastiCache::ServerlessCache resource creates an Amazon ElastiCache Serverless Cache. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticache-serverlesscache.html)" + "Resource Type definition for AWS::SDB::Domain \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sdb-domain.html)" ] }, "Properties": { - "$ref": "resources/aws-elasticache-serverlesscache.json" + "$ref": "resources/aws-sdb-domain.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -18406,9 +18386,9 @@ ], "additionalProperties": false }, - "AWS_ACMPCA_Permission": { + "AWS_IoT1Click_Placement": { "type": "object", - "markdownDescription": "Permission set on private certificate authority \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-acmpca-permission.html)", + "markdownDescription": "Resource Type definition for AWS::IoT1Click::Placement \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot1click-placement.html)", "allOf": [ { "type": "object", @@ -18416,14 +18396,14 @@ "Type": { "type": "string", "enum": [ - "AWS::ACMPCA::Permission" + "AWS::IoT1Click::Placement" ], "markdownEnumDescriptions": [ - "Permission set on private certificate authority \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-acmpca-permission.html)" + "Resource Type definition for AWS::IoT1Click::Placement \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot1click-placement.html)" ] }, "Properties": { - "$ref": "resources/aws-acmpca-permission.json" + "$ref": "resources/aws-iot1click-placement.json" } }, "required": [ @@ -18437,9 +18417,9 @@ ], "additionalProperties": false }, - "AWS_OpenSearchServerless_Collection": { + "AWS_VpcLattice_ServiceNetworkVpcAssociation": { "type": "object", - "markdownDescription": "Amazon OpenSearchServerless collection resource \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opensearchserverless-collection.html)", + "markdownDescription": "Associates a VPC with a service network. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-vpclattice-servicenetworkvpcassociation.html)", "allOf": [ { "type": "object", @@ -18447,19 +18427,18 @@ "Type": { "type": "string", "enum": [ - "AWS::OpenSearchServerless::Collection" + "AWS::VpcLattice::ServiceNetworkVpcAssociation" ], "markdownEnumDescriptions": [ - "Amazon OpenSearchServerless collection resource \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opensearchserverless-collection.html)" + "Associates a VPC with a service network. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-vpclattice-servicenetworkvpcassociation.html)" ] }, "Properties": { - "$ref": "resources/aws-opensearchserverless-collection.json" + "$ref": "resources/aws-vpclattice-servicenetworkvpcassociation.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -18468,9 +18447,9 @@ ], "additionalProperties": false }, - "AWS_PinpointEmail_DedicatedIpPool": { + "AWS_CloudFront_KeyValueStore": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::PinpointEmail::DedicatedIpPool \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpointemail-dedicatedippool.html)", + "markdownDescription": "Resource Type definition for AWS::CloudFront::KeyValueStore \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudfront-keyvaluestore.html)", "allOf": [ { "type": "object", @@ -18478,18 +18457,19 @@ "Type": { "type": "string", "enum": [ - "AWS::PinpointEmail::DedicatedIpPool" + "AWS::CloudFront::KeyValueStore" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::PinpointEmail::DedicatedIpPool \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpointemail-dedicatedippool.html)" + "Resource Type definition for AWS::CloudFront::KeyValueStore \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudfront-keyvaluestore.html)" ] }, "Properties": { - "$ref": "resources/aws-pinpointemail-dedicatedippool.json" + "$ref": "resources/aws-cloudfront-keyvaluestore.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -18498,9 +18478,9 @@ ], "additionalProperties": false }, - "AWS_AmplifyUIBuilder_Component": { + "AWS_Batch_ComputeEnvironment": { "type": "object", - "markdownDescription": "Definition of AWS::AmplifyUIBuilder::Component Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-amplifyuibuilder-component.html)", + "markdownDescription": "Resource Type definition for AWS::Batch::ComputeEnvironment \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-batch-computeenvironment.html)", "allOf": [ { "type": "object", @@ -18508,18 +18488,19 @@ "Type": { "type": "string", "enum": [ - "AWS::AmplifyUIBuilder::Component" + "AWS::Batch::ComputeEnvironment" ], "markdownEnumDescriptions": [ - "Definition of AWS::AmplifyUIBuilder::Component Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-amplifyuibuilder-component.html)" + "Resource Type definition for AWS::Batch::ComputeEnvironment \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-batch-computeenvironment.html)" ] }, "Properties": { - "$ref": "resources/aws-amplifyuibuilder-component.json" + "$ref": "resources/aws-batch-computeenvironment.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -18528,9 +18509,9 @@ ], "additionalProperties": false }, - "AWS_OpenSearchService_Domain": { + "AWS_QuickSight_Topic": { "type": "object", - "markdownDescription": "An example resource schema demonstrating some basic constructs and validation rules. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opensearchservice-domain.html)", + "markdownDescription": "Definition of the AWS::QuickSight::Topic Resource Type. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-quicksight-topic.html)", "allOf": [ { "type": "object", @@ -18538,14 +18519,14 @@ "Type": { "type": "string", "enum": [ - "AWS::OpenSearchService::Domain" + "AWS::QuickSight::Topic" ], "markdownEnumDescriptions": [ - "An example resource schema demonstrating some basic constructs and validation rules. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opensearchservice-domain.html)" + "Definition of the AWS::QuickSight::Topic Resource Type. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-quicksight-topic.html)" ] }, "Properties": { - "$ref": "resources/aws-opensearchservice-domain.json" + "$ref": "resources/aws-quicksight-topic.json" } }, "required": [ @@ -18558,9 +18539,9 @@ ], "additionalProperties": false }, - "AWS_Cognito_IdentityPoolRoleAttachment": { + "AWS_Lambda_EventInvokeConfig": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::Cognito::IdentityPoolRoleAttachment \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-identitypoolroleattachment.html)", + "markdownDescription": "The AWS::Lambda::EventInvokeConfig resource configures options for asynchronous invocation on a version or an alias. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-eventinvokeconfig.html)", "allOf": [ { "type": "object", @@ -18568,14 +18549,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Cognito::IdentityPoolRoleAttachment" + "AWS::Lambda::EventInvokeConfig" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::Cognito::IdentityPoolRoleAttachment \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-identitypoolroleattachment.html)" + "The AWS::Lambda::EventInvokeConfig resource configures options for asynchronous invocation on a version or an alias. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-eventinvokeconfig.html)" ] }, "Properties": { - "$ref": "resources/aws-cognito-identitypoolroleattachment.json" + "$ref": "resources/aws-lambda-eventinvokeconfig.json" } }, "required": [ @@ -18589,9 +18570,9 @@ ], "additionalProperties": false }, - "AWS_NetworkManager_SiteToSiteVpnAttachment": { + "AWS_OpsWorksCM_Server": { "type": "object", - "markdownDescription": "AWS::NetworkManager::SiteToSiteVpnAttachment Resource Type definition. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkmanager-sitetositevpnattachment.html)", + "markdownDescription": "Resource Type definition for AWS::OpsWorksCM::Server \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opsworkscm-server.html)", "allOf": [ { "type": "object", @@ -18599,14 +18580,14 @@ "Type": { "type": "string", "enum": [ - "AWS::NetworkManager::SiteToSiteVpnAttachment" + "AWS::OpsWorksCM::Server" ], "markdownEnumDescriptions": [ - "AWS::NetworkManager::SiteToSiteVpnAttachment Resource Type definition. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkmanager-sitetositevpnattachment.html)" + "Resource Type definition for AWS::OpsWorksCM::Server \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opsworkscm-server.html)" ] }, "Properties": { - "$ref": "resources/aws-networkmanager-sitetositevpnattachment.json" + "$ref": "resources/aws-opsworkscm-server.json" } }, "required": [ @@ -18620,9 +18601,9 @@ ], "additionalProperties": false }, - "AWS_MediaLive_CloudWatchAlarmTemplate": { + "AWS_EC2_IPAMResourceDiscovery": { "type": "object", - "markdownDescription": "Definition of AWS::MediaLive::CloudWatchAlarmTemplate Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-medialive-cloudwatchalarmtemplate.html)", + "markdownDescription": "Resource Schema of AWS::EC2::IPAMResourceDiscovery Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-ipamresourcediscovery.html)", "allOf": [ { "type": "object", @@ -18630,19 +18611,18 @@ "Type": { "type": "string", "enum": [ - "AWS::MediaLive::CloudWatchAlarmTemplate" + "AWS::EC2::IPAMResourceDiscovery" ], "markdownEnumDescriptions": [ - "Definition of AWS::MediaLive::CloudWatchAlarmTemplate Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-medialive-cloudwatchalarmtemplate.html)" + "Resource Schema of AWS::EC2::IPAMResourceDiscovery Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-ipamresourcediscovery.html)" ] }, "Properties": { - "$ref": "resources/aws-medialive-cloudwatchalarmtemplate.json" + "$ref": "resources/aws-ec2-ipamresourcediscovery.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -18651,9 +18631,9 @@ ], "additionalProperties": false }, - "AWS_DataZone_EnvironmentProfile": { + "AWS_Location_TrackerConsumer": { "type": "object", - "markdownDescription": "AWS Datazone Environment Profile is pre-configured set of resources and blueprints that provide reusable templates for creating environments. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datazone-environmentprofile.html)", + "markdownDescription": "Definition of AWS::Location::TrackerConsumer Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-location-trackerconsumer.html)", "allOf": [ { "type": "object", @@ -18661,14 +18641,14 @@ "Type": { "type": "string", "enum": [ - "AWS::DataZone::EnvironmentProfile" + "AWS::Location::TrackerConsumer" ], "markdownEnumDescriptions": [ - "AWS Datazone Environment Profile is pre-configured set of resources and blueprints that provide reusable templates for creating environments. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datazone-environmentprofile.html)" + "Definition of AWS::Location::TrackerConsumer Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-location-trackerconsumer.html)" ] }, "Properties": { - "$ref": "resources/aws-datazone-environmentprofile.json" + "$ref": "resources/aws-location-trackerconsumer.json" } }, "required": [ @@ -18682,9 +18662,9 @@ ], "additionalProperties": false }, - "AWS_FraudDetector_EventType": { + "AWS_S3Outposts_Endpoint": { "type": "object", - "markdownDescription": "A resource schema for an EventType in Amazon Fraud Detector. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-frauddetector-eventtype.html)", + "markdownDescription": "Resource Type Definition for AWS::S3Outposts::Endpoint \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-s3outposts-endpoint.html)", "allOf": [ { "type": "object", @@ -18692,14 +18672,14 @@ "Type": { "type": "string", "enum": [ - "AWS::FraudDetector::EventType" + "AWS::S3Outposts::Endpoint" ], "markdownEnumDescriptions": [ - "A resource schema for an EventType in Amazon Fraud Detector. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-frauddetector-eventtype.html)" + "Resource Type Definition for AWS::S3Outposts::Endpoint \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-s3outposts-endpoint.html)" ] }, "Properties": { - "$ref": "resources/aws-frauddetector-eventtype.json" + "$ref": "resources/aws-s3outposts-endpoint.json" } }, "required": [ @@ -18713,9 +18693,9 @@ ], "additionalProperties": false }, - "AWS_IoTWireless_WirelessGateway": { + "AWS_Scheduler_ScheduleGroup": { "type": "object", - "markdownDescription": "Create and manage wireless gateways, including LoRa gateways. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotwireless-wirelessgateway.html)", + "markdownDescription": "Definition of AWS::Scheduler::ScheduleGroup Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-scheduler-schedulegroup.html)", "allOf": [ { "type": "object", @@ -18723,19 +18703,18 @@ "Type": { "type": "string", "enum": [ - "AWS::IoTWireless::WirelessGateway" + "AWS::Scheduler::ScheduleGroup" ], "markdownEnumDescriptions": [ - "Create and manage wireless gateways, including LoRa gateways. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotwireless-wirelessgateway.html)" + "Definition of AWS::Scheduler::ScheduleGroup Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-scheduler-schedulegroup.html)" ] }, "Properties": { - "$ref": "resources/aws-iotwireless-wirelessgateway.json" + "$ref": "resources/aws-scheduler-schedulegroup.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -18744,9 +18723,9 @@ ], "additionalProperties": false }, - "AWS_IVS_StreamKey": { + "AWS_Pinpoint_APNSChannel": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::IVS::StreamKey \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ivs-streamkey.html)", + "markdownDescription": "Resource Type definition for AWS::Pinpoint::APNSChannel \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-apnschannel.html)", "allOf": [ { "type": "object", @@ -18754,14 +18733,14 @@ "Type": { "type": "string", "enum": [ - "AWS::IVS::StreamKey" + "AWS::Pinpoint::APNSChannel" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::IVS::StreamKey \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ivs-streamkey.html)" + "Resource Type definition for AWS::Pinpoint::APNSChannel \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-apnschannel.html)" ] }, "Properties": { - "$ref": "resources/aws-ivs-streamkey.json" + "$ref": "resources/aws-pinpoint-apnschannel.json" } }, "required": [ @@ -18775,9 +18754,9 @@ ], "additionalProperties": false }, - "AWS_Personalize_Solution": { + "AWS_AmazonMQ_Configuration": { "type": "object", - "markdownDescription": "Resource schema for AWS::Personalize::Solution. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-personalize-solution.html)", + "markdownDescription": "Resource Type definition for AWS::AmazonMQ::Configuration \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-amazonmq-configuration.html)", "allOf": [ { "type": "object", @@ -18785,14 +18764,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Personalize::Solution" + "AWS::AmazonMQ::Configuration" ], "markdownEnumDescriptions": [ - "Resource schema for AWS::Personalize::Solution. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-personalize-solution.html)" + "Resource Type definition for AWS::AmazonMQ::Configuration \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-amazonmq-configuration.html)" ] }, "Properties": { - "$ref": "resources/aws-personalize-solution.json" + "$ref": "resources/aws-amazonmq-configuration.json" } }, "required": [ @@ -18806,9 +18785,9 @@ ], "additionalProperties": false }, - "AWS_MediaConnect_FlowOutput": { + "AWS_LakeFormation_TagAssociation": { "type": "object", - "markdownDescription": "Resource schema for AWS::MediaConnect::FlowOutput \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediaconnect-flowoutput.html)", + "markdownDescription": "A resource schema representing a Lake Formation Tag Association. While tag associations are not explicit Lake Formation resources, this CloudFormation resource can be used to associate tags with Lake Formation entities. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lakeformation-tagassociation.html)", "allOf": [ { "type": "object", @@ -18816,14 +18795,14 @@ "Type": { "type": "string", "enum": [ - "AWS::MediaConnect::FlowOutput" + "AWS::LakeFormation::TagAssociation" ], "markdownEnumDescriptions": [ - "Resource schema for AWS::MediaConnect::FlowOutput \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediaconnect-flowoutput.html)" + "A resource schema representing a Lake Formation Tag Association. While tag associations are not explicit Lake Formation resources, this CloudFormation resource can be used to associate tags with Lake Formation entities. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lakeformation-tagassociation.html)" ] }, "Properties": { - "$ref": "resources/aws-mediaconnect-flowoutput.json" + "$ref": "resources/aws-lakeformation-tagassociation.json" } }, "required": [ @@ -18837,9 +18816,9 @@ ], "additionalProperties": false }, - "AWS_MediaConnect_FlowVpcInterface": { + "AWS_Config_RemediationConfiguration": { "type": "object", - "markdownDescription": "Resource schema for AWS::MediaConnect::FlowVpcInterface \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediaconnect-flowvpcinterface.html)", + "markdownDescription": "Resource Type definition for AWS::Config::RemediationConfiguration \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-config-remediationconfiguration.html)", "allOf": [ { "type": "object", @@ -18847,14 +18826,14 @@ "Type": { "type": "string", "enum": [ - "AWS::MediaConnect::FlowVpcInterface" + "AWS::Config::RemediationConfiguration" ], "markdownEnumDescriptions": [ - "Resource schema for AWS::MediaConnect::FlowVpcInterface \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediaconnect-flowvpcinterface.html)" + "Resource Type definition for AWS::Config::RemediationConfiguration \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-config-remediationconfiguration.html)" ] }, "Properties": { - "$ref": "resources/aws-mediaconnect-flowvpcinterface.json" + "$ref": "resources/aws-config-remediationconfiguration.json" } }, "required": [ @@ -18868,9 +18847,9 @@ ], "additionalProperties": false }, - "AWS_Redshift_Cluster": { + "AWS_WorkSpacesWeb_Portal": { "type": "object", - "markdownDescription": "An example resource schema demonstrating some basic constructs and validation rules. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-redshift-cluster.html)", + "markdownDescription": "Definition of AWS::WorkSpacesWeb::Portal Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-workspacesweb-portal.html)", "allOf": [ { "type": "object", @@ -18878,19 +18857,18 @@ "Type": { "type": "string", "enum": [ - "AWS::Redshift::Cluster" + "AWS::WorkSpacesWeb::Portal" ], "markdownEnumDescriptions": [ - "An example resource schema demonstrating some basic constructs and validation rules. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-redshift-cluster.html)" + "Definition of AWS::WorkSpacesWeb::Portal Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-workspacesweb-portal.html)" ] }, "Properties": { - "$ref": "resources/aws-redshift-cluster.json" + "$ref": "resources/aws-workspacesweb-portal.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -18899,9 +18877,9 @@ ], "additionalProperties": false }, - "AWS_QuickSight_Theme": { + "AWS_EC2_CapacityReservationFleet": { "type": "object", - "markdownDescription": "Definition of the AWS::QuickSight::Theme Resource Type. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-quicksight-theme.html)", + "markdownDescription": "Resource Type definition for AWS::EC2::CapacityReservationFleet \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-capacityreservationfleet.html)", "allOf": [ { "type": "object", @@ -18909,19 +18887,18 @@ "Type": { "type": "string", "enum": [ - "AWS::QuickSight::Theme" + "AWS::EC2::CapacityReservationFleet" ], "markdownEnumDescriptions": [ - "Definition of the AWS::QuickSight::Theme Resource Type. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-quicksight-theme.html)" + "Resource Type definition for AWS::EC2::CapacityReservationFleet \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-capacityreservationfleet.html)" ] }, "Properties": { - "$ref": "resources/aws-quicksight-theme.json" + "$ref": "resources/aws-ec2-capacityreservationfleet.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -18930,9 +18907,9 @@ ], "additionalProperties": false }, - "AWS_EC2_TransitGatewayConnect": { + "AWS_ElasticBeanstalk_ApplicationVersion": { "type": "object", - "markdownDescription": "The AWS::EC2::TransitGatewayConnect type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-transitgatewayconnect.html)", + "markdownDescription": "Resource Type definition for AWS::ElasticBeanstalk::ApplicationVersion \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticbeanstalk-applicationversion.html)", "allOf": [ { "type": "object", @@ -18940,14 +18917,14 @@ "Type": { "type": "string", "enum": [ - "AWS::EC2::TransitGatewayConnect" + "AWS::ElasticBeanstalk::ApplicationVersion" ], "markdownEnumDescriptions": [ - "The AWS::EC2::TransitGatewayConnect type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-transitgatewayconnect.html)" + "Resource Type definition for AWS::ElasticBeanstalk::ApplicationVersion \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticbeanstalk-applicationversion.html)" ] }, "Properties": { - "$ref": "resources/aws-ec2-transitgatewayconnect.json" + "$ref": "resources/aws-elasticbeanstalk-applicationversion.json" } }, "required": [ @@ -18961,9 +18938,9 @@ ], "additionalProperties": false }, - "AWS_ECR_RegistryPolicy": { + "AWS_EC2_NetworkInsightsAccessScopeAnalysis": { "type": "object", - "markdownDescription": "The ``AWS::ECR::RegistryPolicy`` resource creates or updates the permissions policy for a private registry.\n A private registry policy is used to specify permissions for another AWS-account and is used when configuring cross-account replication. For more information, see [Registry permissions](https://docs.aws.amazon.com/AmazonECR/latest/userguide/registry-permissions.html) in the *Amazon Elastic Container Registry User Guide*. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ecr-registrypolicy.html)", + "markdownDescription": "Resource schema for AWS::EC2::NetworkInsightsAccessScopeAnalysis \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-networkinsightsaccessscopeanalysis.html)", "allOf": [ { "type": "object", @@ -18971,14 +18948,14 @@ "Type": { "type": "string", "enum": [ - "AWS::ECR::RegistryPolicy" + "AWS::EC2::NetworkInsightsAccessScopeAnalysis" ], "markdownEnumDescriptions": [ - "The ``AWS::ECR::RegistryPolicy`` resource creates or updates the permissions policy for a private registry.\n A private registry policy is used to specify permissions for another AWS-account and is used when configuring cross-account replication. For more information, see [Registry permissions](https://docs.aws.amazon.com/AmazonECR/latest/userguide/registry-permissions.html) in the *Amazon Elastic Container Registry User Guide*. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ecr-registrypolicy.html)" + "Resource schema for AWS::EC2::NetworkInsightsAccessScopeAnalysis \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-networkinsightsaccessscopeanalysis.html)" ] }, "Properties": { - "$ref": "resources/aws-ecr-registrypolicy.json" + "$ref": "resources/aws-ec2-networkinsightsaccessscopeanalysis.json" } }, "required": [ @@ -18992,9 +18969,9 @@ ], "additionalProperties": false }, - "AWS_RUM_AppMonitor": { + "AWS_MSK_ServerlessCluster": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::RUM::AppMonitor \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rum-appmonitor.html)", + "markdownDescription": "Resource Type definition for AWS::MSK::ServerlessCluster \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-msk-serverlesscluster.html)", "allOf": [ { "type": "object", @@ -19002,14 +18979,14 @@ "Type": { "type": "string", "enum": [ - "AWS::RUM::AppMonitor" + "AWS::MSK::ServerlessCluster" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::RUM::AppMonitor \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rum-appmonitor.html)" + "Resource Type definition for AWS::MSK::ServerlessCluster \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-msk-serverlesscluster.html)" ] }, "Properties": { - "$ref": "resources/aws-rum-appmonitor.json" + "$ref": "resources/aws-msk-serverlesscluster.json" } }, "required": [ @@ -19023,9 +19000,9 @@ ], "additionalProperties": false }, - "AWS_ApiGateway_DocumentationVersion": { + "AWS_Config_StoredQuery": { "type": "object", - "markdownDescription": "The ``AWS::ApiGateway::DocumentationVersion`` resource creates a snapshot of the documentation for an API. For more information, see [Representation of API Documentation in API Gateway](https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-documenting-api-content-representation.html) in the *API Gateway Developer Guide*. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-documentationversion.html)", + "markdownDescription": "Resource Type definition for AWS::Config::StoredQuery \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-config-storedquery.html)", "allOf": [ { "type": "object", @@ -19033,14 +19010,14 @@ "Type": { "type": "string", "enum": [ - "AWS::ApiGateway::DocumentationVersion" + "AWS::Config::StoredQuery" ], "markdownEnumDescriptions": [ - "The ``AWS::ApiGateway::DocumentationVersion`` resource creates a snapshot of the documentation for an API. For more information, see [Representation of API Documentation in API Gateway](https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-documenting-api-content-representation.html) in the *API Gateway Developer Guide*. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-documentationversion.html)" + "Resource Type definition for AWS::Config::StoredQuery \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-config-storedquery.html)" ] }, "Properties": { - "$ref": "resources/aws-apigateway-documentationversion.json" + "$ref": "resources/aws-config-storedquery.json" } }, "required": [ @@ -19054,9 +19031,9 @@ ], "additionalProperties": false }, - "AWS_FraudDetector_Outcome": { + "AWS_CloudFront_ResponseHeadersPolicy": { "type": "object", - "markdownDescription": "An outcome for rule evaluation. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-frauddetector-outcome.html)", + "markdownDescription": "Resource Type definition for AWS::CloudFront::ResponseHeadersPolicy \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudfront-responseheaderspolicy.html)", "allOf": [ { "type": "object", @@ -19064,14 +19041,14 @@ "Type": { "type": "string", "enum": [ - "AWS::FraudDetector::Outcome" + "AWS::CloudFront::ResponseHeadersPolicy" ], "markdownEnumDescriptions": [ - "An outcome for rule evaluation. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-frauddetector-outcome.html)" + "Resource Type definition for AWS::CloudFront::ResponseHeadersPolicy \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudfront-responseheaderspolicy.html)" ] }, "Properties": { - "$ref": "resources/aws-frauddetector-outcome.json" + "$ref": "resources/aws-cloudfront-responseheaderspolicy.json" } }, "required": [ @@ -19085,9 +19062,9 @@ ], "additionalProperties": false }, - "AWS_SNS_TopicPolicy": { + "AWS_DAX_SubnetGroup": { "type": "object", - "markdownDescription": "The ``AWS::SNS::TopicPolicy`` resource associates SNS topics with a policy. For an example snippet, see [Declaring an policy](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/quickref-iam.html#scenario-sns-policy) in the *User Guide*. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sns-topicpolicy.html)", + "markdownDescription": "Resource Type definition for AWS::DAX::SubnetGroup \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dax-subnetgroup.html)", "allOf": [ { "type": "object", @@ -19095,14 +19072,14 @@ "Type": { "type": "string", "enum": [ - "AWS::SNS::TopicPolicy" + "AWS::DAX::SubnetGroup" ], "markdownEnumDescriptions": [ - "The ``AWS::SNS::TopicPolicy`` resource associates SNS topics with a policy. For an example snippet, see [Declaring an policy](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/quickref-iam.html#scenario-sns-policy) in the *User Guide*. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sns-topicpolicy.html)" + "Resource Type definition for AWS::DAX::SubnetGroup \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dax-subnetgroup.html)" ] }, "Properties": { - "$ref": "resources/aws-sns-topicpolicy.json" + "$ref": "resources/aws-dax-subnetgroup.json" } }, "required": [ @@ -19116,9 +19093,9 @@ ], "additionalProperties": false }, - "AWS_IoT_ThingPrincipalAttachment": { + "AWS_InternetMonitor_Monitor": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::IoT::ThingPrincipalAttachment \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-thingprincipalattachment.html)", + "markdownDescription": "Represents a monitor, which defines the monitoring boundaries for measurements that Internet Monitor publishes information about for an application \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-internetmonitor-monitor.html)", "allOf": [ { "type": "object", @@ -19126,14 +19103,14 @@ "Type": { "type": "string", "enum": [ - "AWS::IoT::ThingPrincipalAttachment" + "AWS::InternetMonitor::Monitor" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::IoT::ThingPrincipalAttachment \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-thingprincipalattachment.html)" + "Represents a monitor, which defines the monitoring boundaries for measurements that Internet Monitor publishes information about for an application \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-internetmonitor-monitor.html)" ] }, "Properties": { - "$ref": "resources/aws-iot-thingprincipalattachment.json" + "$ref": "resources/aws-internetmonitor-monitor.json" } }, "required": [ @@ -19147,9 +19124,9 @@ ], "additionalProperties": false }, - "AWS_EC2_Route": { + "AWS_CloudFront_OriginRequestPolicy": { "type": "object", - "markdownDescription": "Specifies a route in a route table. For more information, see [Routes](https://docs.aws.amazon.com/vpc/latest/userguide/VPC_Route_Tables.html#route-table-routes) in the *Amazon VPC User Guide*.\n You must specify either a destination CIDR block or prefix list ID. You must also specify exactly one of the resources as the target.\n If you create a route that references a transit gateway in the same template where you create the transit gateway, you must declare a dependency on the transit gateway attachment. The route table cannot use the transit gateway until it has successfully attached to the VPC. Add a [DependsOn Attribute](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-dependson.html) in the ``AWS::EC2::Route`` resource to explicitly declare a dependency on the ``AWS::EC2::TransitGatewayAttachment`` resource. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-route.html)", + "markdownDescription": "Resource Type definition for AWS::CloudFront::OriginRequestPolicy \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudfront-originrequestpolicy.html)", "allOf": [ { "type": "object", @@ -19157,14 +19134,14 @@ "Type": { "type": "string", "enum": [ - "AWS::EC2::Route" + "AWS::CloudFront::OriginRequestPolicy" ], "markdownEnumDescriptions": [ - "Specifies a route in a route table. For more information, see [Routes](https://docs.aws.amazon.com/vpc/latest/userguide/VPC_Route_Tables.html#route-table-routes) in the *Amazon VPC User Guide*.\n You must specify either a destination CIDR block or prefix list ID. You must also specify exactly one of the resources as the target.\n If you create a route that references a transit gateway in the same template where you create the transit gateway, you must declare a dependency on the transit gateway attachment. The route table cannot use the transit gateway until it has successfully attached to the VPC. Add a [DependsOn Attribute](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-dependson.html) in the ``AWS::EC2::Route`` resource to explicitly declare a dependency on the ``AWS::EC2::TransitGatewayAttachment`` resource. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-route.html)" + "Resource Type definition for AWS::CloudFront::OriginRequestPolicy \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudfront-originrequestpolicy.html)" ] }, "Properties": { - "$ref": "resources/aws-ec2-route.json" + "$ref": "resources/aws-cloudfront-originrequestpolicy.json" } }, "required": [ @@ -19178,9 +19155,9 @@ ], "additionalProperties": false }, - "AWS_Greengrass_DeviceDefinition": { + "AWS_EC2_PlacementGroup": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::Greengrass::DeviceDefinition \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-devicedefinition.html)", + "markdownDescription": "Resource Type definition for AWS::EC2::PlacementGroup \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-placementgroup.html)", "allOf": [ { "type": "object", @@ -19188,19 +19165,18 @@ "Type": { "type": "string", "enum": [ - "AWS::Greengrass::DeviceDefinition" + "AWS::EC2::PlacementGroup" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::Greengrass::DeviceDefinition \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-devicedefinition.html)" + "Resource Type definition for AWS::EC2::PlacementGroup \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-placementgroup.html)" ] }, "Properties": { - "$ref": "resources/aws-greengrass-devicedefinition.json" + "$ref": "resources/aws-ec2-placementgroup.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -19209,9 +19185,9 @@ ], "additionalProperties": false }, - "AWS_Connect_TaskTemplate": { + "AWS_Inspector_AssessmentTarget": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::Connect::TaskTemplate. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-connect-tasktemplate.html)", + "markdownDescription": "Resource Type definition for AWS::Inspector::AssessmentTarget \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-inspector-assessmenttarget.html)", "allOf": [ { "type": "object", @@ -19219,19 +19195,18 @@ "Type": { "type": "string", "enum": [ - "AWS::Connect::TaskTemplate" + "AWS::Inspector::AssessmentTarget" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::Connect::TaskTemplate. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-connect-tasktemplate.html)" + "Resource Type definition for AWS::Inspector::AssessmentTarget \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-inspector-assessmenttarget.html)" ] }, "Properties": { - "$ref": "resources/aws-connect-tasktemplate.json" + "$ref": "resources/aws-inspector-assessmenttarget.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -19240,9 +19215,9 @@ ], "additionalProperties": false }, - "AWS_IVS_PublicKey": { + "AWS_IAM_GroupPolicy": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::IVS::PublicKey \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ivs-publickey.html)", + "markdownDescription": "Adds or updates an inline policy document that is embedded in the specified IAM group.\n A group can also have managed policies attached to it. To attach a managed policy to a group, use [AWS::IAM::Group](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iam-group.html). To create a new managed policy, use [AWS::IAM::ManagedPolicy](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-managedpolicy.html). For information about policies, see [Managed policies and inline policies](https://docs.aws.amazon.com/IAM/latest/UserGuide/policies-managed-vs-inline.html) in the *IAM User Guide*.\n For information about the maximum number of inline policies that you can embed in a group, see [IAM and quotas](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_iam-quotas.html) in the *IAM User Guide*. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-grouppolicy.html)", "allOf": [ { "type": "object", @@ -19250,18 +19225,19 @@ "Type": { "type": "string", "enum": [ - "AWS::IVS::PublicKey" + "AWS::IAM::GroupPolicy" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::IVS::PublicKey \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ivs-publickey.html)" + "Adds or updates an inline policy document that is embedded in the specified IAM group.\n A group can also have managed policies attached to it. To attach a managed policy to a group, use [AWS::IAM::Group](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iam-group.html). To create a new managed policy, use [AWS::IAM::ManagedPolicy](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-managedpolicy.html). For information about policies, see [Managed policies and inline policies](https://docs.aws.amazon.com/IAM/latest/UserGuide/policies-managed-vs-inline.html) in the *IAM User Guide*.\n For information about the maximum number of inline policies that you can embed in a group, see [IAM and quotas](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_iam-quotas.html) in the *IAM User Guide*. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-grouppolicy.html)" ] }, "Properties": { - "$ref": "resources/aws-ivs-publickey.json" + "$ref": "resources/aws-iam-grouppolicy.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -19270,9 +19246,9 @@ ], "additionalProperties": false }, - "AWS_Lightsail_Bucket": { + "AWS_EC2_TransitGateway": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::Lightsail::Bucket \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lightsail-bucket.html)", + "markdownDescription": "Resource Type definition for AWS::EC2::TransitGateway \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-transitgateway.html)", "allOf": [ { "type": "object", @@ -19280,19 +19256,18 @@ "Type": { "type": "string", "enum": [ - "AWS::Lightsail::Bucket" + "AWS::EC2::TransitGateway" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::Lightsail::Bucket \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lightsail-bucket.html)" + "Resource Type definition for AWS::EC2::TransitGateway \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-transitgateway.html)" ] }, "Properties": { - "$ref": "resources/aws-lightsail-bucket.json" + "$ref": "resources/aws-ec2-transitgateway.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -19301,9 +19276,9 @@ ], "additionalProperties": false }, - "AWS_Glue_Partition": { + "AWS_IAM_OIDCProvider": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::Glue::Partition \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-partition.html)", + "markdownDescription": "Resource Type definition for AWS::IAM::OIDCProvider \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-oidcprovider.html)", "allOf": [ { "type": "object", @@ -19311,19 +19286,18 @@ "Type": { "type": "string", "enum": [ - "AWS::Glue::Partition" + "AWS::IAM::OIDCProvider" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::Glue::Partition \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-partition.html)" + "Resource Type definition for AWS::IAM::OIDCProvider \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-oidcprovider.html)" ] }, "Properties": { - "$ref": "resources/aws-glue-partition.json" + "$ref": "resources/aws-iam-oidcprovider.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -19332,9 +19306,9 @@ ], "additionalProperties": false }, - "AWS_Timestream_ScheduledQuery": { + "AWS_Proton_EnvironmentTemplate": { "type": "object", - "markdownDescription": "The AWS::Timestream::ScheduledQuery resource creates a Timestream Scheduled Query. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-timestream-scheduledquery.html)", + "markdownDescription": "Definition of AWS::Proton::EnvironmentTemplate Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-proton-environmenttemplate.html)", "allOf": [ { "type": "object", @@ -19342,19 +19316,18 @@ "Type": { "type": "string", "enum": [ - "AWS::Timestream::ScheduledQuery" + "AWS::Proton::EnvironmentTemplate" ], "markdownEnumDescriptions": [ - "The AWS::Timestream::ScheduledQuery resource creates a Timestream Scheduled Query. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-timestream-scheduledquery.html)" + "Definition of AWS::Proton::EnvironmentTemplate Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-proton-environmenttemplate.html)" ] }, "Properties": { - "$ref": "resources/aws-timestream-scheduledquery.json" + "$ref": "resources/aws-proton-environmenttemplate.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -19363,9 +19336,9 @@ ], "additionalProperties": false }, - "AWS_Cognito_UserPoolUserToGroupAttachment": { + "AWS_Rekognition_StreamProcessor": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::Cognito::UserPoolUserToGroupAttachment \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpoolusertogroupattachment.html)", + "markdownDescription": "The AWS::Rekognition::StreamProcessor type is used to create an Amazon Rekognition StreamProcessor that you can use to analyze streaming videos.\n\n \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rekognition-streamprocessor.html)", "allOf": [ { "type": "object", @@ -19373,14 +19346,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Cognito::UserPoolUserToGroupAttachment" + "AWS::Rekognition::StreamProcessor" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::Cognito::UserPoolUserToGroupAttachment \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpoolusertogroupattachment.html)" + "The AWS::Rekognition::StreamProcessor type is used to create an Amazon Rekognition StreamProcessor that you can use to analyze streaming videos.\n\n \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rekognition-streamprocessor.html)" ] }, "Properties": { - "$ref": "resources/aws-cognito-userpoolusertogroupattachment.json" + "$ref": "resources/aws-rekognition-streamprocessor.json" } }, "required": [ @@ -19394,9 +19367,9 @@ ], "additionalProperties": false }, - "AWS_MediaLive_SdiSource": { + "AWS_MemoryDB_ACL": { "type": "object", - "markdownDescription": "Definition of AWS::MediaLive::SdiSource Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-medialive-sdisource.html)", + "markdownDescription": "Resource Type definition for AWS::MemoryDB::ACL \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-memorydb-acl.html)", "allOf": [ { "type": "object", @@ -19404,14 +19377,14 @@ "Type": { "type": "string", "enum": [ - "AWS::MediaLive::SdiSource" + "AWS::MemoryDB::ACL" ], "markdownEnumDescriptions": [ - "Definition of AWS::MediaLive::SdiSource Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-medialive-sdisource.html)" + "Resource Type definition for AWS::MemoryDB::ACL \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-memorydb-acl.html)" ] }, "Properties": { - "$ref": "resources/aws-medialive-sdisource.json" + "$ref": "resources/aws-memorydb-acl.json" } }, "required": [ @@ -19425,9 +19398,9 @@ ], "additionalProperties": false }, - "AWS_EC2_VPNConnectionRoute": { + "AWS_InspectorV2_CisScanConfiguration": { "type": "object", - "markdownDescription": "Specifies a static route for a VPN connection between an existing virtual private gateway and a VPN customer gateway. The static route allows traffic to be routed from the virtual private gateway to the VPN customer gateway.\n For more information, see [](https://docs.aws.amazon.com/vpn/latest/s2svpn/VPC_VPN.html) in the *User Guide*. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpnconnectionroute.html)", + "markdownDescription": "CIS Scan Configuration resource schema \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-inspectorv2-cisscanconfiguration.html)", "allOf": [ { "type": "object", @@ -19435,14 +19408,14 @@ "Type": { "type": "string", "enum": [ - "AWS::EC2::VPNConnectionRoute" + "AWS::InspectorV2::CisScanConfiguration" ], "markdownEnumDescriptions": [ - "Specifies a static route for a VPN connection between an existing virtual private gateway and a VPN customer gateway. The static route allows traffic to be routed from the virtual private gateway to the VPN customer gateway.\n For more information, see [](https://docs.aws.amazon.com/vpn/latest/s2svpn/VPC_VPN.html) in the *User Guide*. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpnconnectionroute.html)" + "CIS Scan Configuration resource schema \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-inspectorv2-cisscanconfiguration.html)" ] }, "Properties": { - "$ref": "resources/aws-ec2-vpnconnectionroute.json" + "$ref": "resources/aws-inspectorv2-cisscanconfiguration.json" } }, "required": [ @@ -19456,9 +19429,9 @@ ], "additionalProperties": false }, - "AWS_Route53Resolver_ResolverConfig": { + "AWS_Connect_IntegrationAssociation": { "type": "object", - "markdownDescription": "Resource schema for AWS::Route53Resolver::ResolverConfig. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53resolver-resolverconfig.html)", + "markdownDescription": "Resource Type definition for AWS::Connect::IntegrationAssociation \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-connect-integrationassociation.html)", "allOf": [ { "type": "object", @@ -19466,14 +19439,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Route53Resolver::ResolverConfig" + "AWS::Connect::IntegrationAssociation" ], "markdownEnumDescriptions": [ - "Resource schema for AWS::Route53Resolver::ResolverConfig. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53resolver-resolverconfig.html)" + "Resource Type definition for AWS::Connect::IntegrationAssociation \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-connect-integrationassociation.html)" ] }, "Properties": { - "$ref": "resources/aws-route53resolver-resolverconfig.json" + "$ref": "resources/aws-connect-integrationassociation.json" } }, "required": [ @@ -19487,9 +19460,9 @@ ], "additionalProperties": false }, - "AWS_Logs_AccountPolicy": { + "AWS_IoT_CertificateProvider": { "type": "object", - "markdownDescription": "The AWS::Logs::AccountPolicy resource specifies a CloudWatch Logs AccountPolicy. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-logs-accountpolicy.html)", + "markdownDescription": "Use the AWS::IoT::CertificateProvider resource to declare an AWS IoT Certificate Provider. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-certificateprovider.html)", "allOf": [ { "type": "object", @@ -19497,14 +19470,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Logs::AccountPolicy" + "AWS::IoT::CertificateProvider" ], "markdownEnumDescriptions": [ - "The AWS::Logs::AccountPolicy resource specifies a CloudWatch Logs AccountPolicy. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-logs-accountpolicy.html)" + "Use the AWS::IoT::CertificateProvider resource to declare an AWS IoT Certificate Provider. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-certificateprovider.html)" ] }, "Properties": { - "$ref": "resources/aws-logs-accountpolicy.json" + "$ref": "resources/aws-iot-certificateprovider.json" } }, "required": [ @@ -19518,9 +19491,9 @@ ], "additionalProperties": false }, - "AWS_OSIS_Pipeline": { + "AWS_CloudFormation_PublicTypeVersion": { "type": "object", - "markdownDescription": "An OpenSearch Ingestion Service Data Prepper pipeline running Data Prepper. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-osis-pipeline.html)", + "markdownDescription": "Test and Publish a resource that has been registered in the CloudFormation Registry. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudformation-publictypeversion.html)", "allOf": [ { "type": "object", @@ -19528,19 +19501,18 @@ "Type": { "type": "string", "enum": [ - "AWS::OSIS::Pipeline" + "AWS::CloudFormation::PublicTypeVersion" ], "markdownEnumDescriptions": [ - "An OpenSearch Ingestion Service Data Prepper pipeline running Data Prepper. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-osis-pipeline.html)" + "Test and Publish a resource that has been registered in the CloudFormation Registry. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudformation-publictypeversion.html)" ] }, "Properties": { - "$ref": "resources/aws-osis-pipeline.json" + "$ref": "resources/aws-cloudformation-publictypeversion.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -19549,9 +19521,9 @@ ], "additionalProperties": false }, - "AWS_EC2_TransitGatewayAttachment": { + "AWS_Pinpoint_SmsTemplate": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::EC2::TransitGatewayAttachment \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-transitgatewayattachment.html)", + "markdownDescription": "Resource Type definition for AWS::Pinpoint::SmsTemplate \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-smstemplate.html)", "allOf": [ { "type": "object", @@ -19559,14 +19531,14 @@ "Type": { "type": "string", "enum": [ - "AWS::EC2::TransitGatewayAttachment" + "AWS::Pinpoint::SmsTemplate" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::EC2::TransitGatewayAttachment \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-transitgatewayattachment.html)" + "Resource Type definition for AWS::Pinpoint::SmsTemplate \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-smstemplate.html)" ] }, "Properties": { - "$ref": "resources/aws-ec2-transitgatewayattachment.json" + "$ref": "resources/aws-pinpoint-smstemplate.json" } }, "required": [ @@ -19580,9 +19552,9 @@ ], "additionalProperties": false }, - "AWS_SecretsManager_ResourcePolicy": { + "AWS_SageMaker_NotebookInstance": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::SecretsManager::ResourcePolicy \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-secretsmanager-resourcepolicy.html)", + "markdownDescription": "Resource Type definition for AWS::SageMaker::NotebookInstance \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-notebookinstance.html)", "allOf": [ { "type": "object", @@ -19590,14 +19562,14 @@ "Type": { "type": "string", "enum": [ - "AWS::SecretsManager::ResourcePolicy" + "AWS::SageMaker::NotebookInstance" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::SecretsManager::ResourcePolicy \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-secretsmanager-resourcepolicy.html)" + "Resource Type definition for AWS::SageMaker::NotebookInstance \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-notebookinstance.html)" ] }, "Properties": { - "$ref": "resources/aws-secretsmanager-resourcepolicy.json" + "$ref": "resources/aws-sagemaker-notebookinstance.json" } }, "required": [ @@ -19611,9 +19583,9 @@ ], "additionalProperties": false }, - "AWS_CertificateManager_Certificate": { + "AWS_EC2_SecurityGroupIngress": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::CertificateManager::Certificate \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-certificatemanager-certificate.html)", + "markdownDescription": "Resource Type definition for AWS::EC2::SecurityGroupIngress \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-securitygroupingress.html)", "allOf": [ { "type": "object", @@ -19621,14 +19593,14 @@ "Type": { "type": "string", "enum": [ - "AWS::CertificateManager::Certificate" + "AWS::EC2::SecurityGroupIngress" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::CertificateManager::Certificate \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-certificatemanager-certificate.html)" + "Resource Type definition for AWS::EC2::SecurityGroupIngress \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-securitygroupingress.html)" ] }, "Properties": { - "$ref": "resources/aws-certificatemanager-certificate.json" + "$ref": "resources/aws-ec2-securitygroupingress.json" } }, "required": [ @@ -19642,9 +19614,9 @@ ], "additionalProperties": false }, - "AWS_Route53RecoveryReadiness_Cell": { + "AWS_CloudWatch_MetricStream": { "type": "object", - "markdownDescription": "The API Schema for AWS Route53 Recovery Readiness Cells. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53recoveryreadiness-cell.html)", + "markdownDescription": "Resource Type definition for Metric Stream \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudwatch-metricstream.html)", "allOf": [ { "type": "object", @@ -19652,14 +19624,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Route53RecoveryReadiness::Cell" + "AWS::CloudWatch::MetricStream" ], "markdownEnumDescriptions": [ - "The API Schema for AWS Route53 Recovery Readiness Cells. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53recoveryreadiness-cell.html)" + "Resource Type definition for Metric Stream \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudwatch-metricstream.html)" ] }, "Properties": { - "$ref": "resources/aws-route53recoveryreadiness-cell.json" + "$ref": "resources/aws-cloudwatch-metricstream.json" } }, "required": [ @@ -19672,9 +19644,9 @@ ], "additionalProperties": false }, - "AWS_EFS_AccessPoint": { + "AWS_SecurityLake_AwsLogSource": { "type": "object", - "markdownDescription": "The ``AWS::EFS::AccessPoint`` resource creates an EFS access point. An access point is an application-specific view into an EFS file system that applies an operating system user and group, and a file system path, to any file system request made through the access point. The operating system user and group override any identity information provided by the NFS client. The file system path is exposed as the access point's root directory. Applications using the access point can only access data in its own directory and below. To learn more, see [Mounting a file system using EFS access points](https://docs.aws.amazon.com/efs/latest/ug/efs-access-points.html).\n This operation requires permissions for the ``elasticfilesystem:CreateAccessPoint`` action. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-efs-accesspoint.html)", + "markdownDescription": "Resource Type definition for AWS::SecurityLake::AwsLogSource \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-securitylake-awslogsource.html)", "allOf": [ { "type": "object", @@ -19682,14 +19654,14 @@ "Type": { "type": "string", "enum": [ - "AWS::EFS::AccessPoint" + "AWS::SecurityLake::AwsLogSource" ], "markdownEnumDescriptions": [ - "The ``AWS::EFS::AccessPoint`` resource creates an EFS access point. An access point is an application-specific view into an EFS file system that applies an operating system user and group, and a file system path, to any file system request made through the access point. The operating system user and group override any identity information provided by the NFS client. The file system path is exposed as the access point's root directory. Applications using the access point can only access data in its own directory and below. To learn more, see [Mounting a file system using EFS access points](https://docs.aws.amazon.com/efs/latest/ug/efs-access-points.html).\n This operation requires permissions for the ``elasticfilesystem:CreateAccessPoint`` action. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-efs-accesspoint.html)" + "Resource Type definition for AWS::SecurityLake::AwsLogSource \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-securitylake-awslogsource.html)" ] }, "Properties": { - "$ref": "resources/aws-efs-accesspoint.json" + "$ref": "resources/aws-securitylake-awslogsource.json" } }, "required": [ @@ -19703,9 +19675,9 @@ ], "additionalProperties": false }, - "AWS_Pinpoint_SMSChannel": { + "AWS_EC2_SpotFleet": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::Pinpoint::SMSChannel \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-smschannel.html)", + "markdownDescription": "Resource Type definition for AWS::EC2::SpotFleet \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-spotfleet.html)", "allOf": [ { "type": "object", @@ -19713,14 +19685,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Pinpoint::SMSChannel" + "AWS::EC2::SpotFleet" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::Pinpoint::SMSChannel \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-smschannel.html)" + "Resource Type definition for AWS::EC2::SpotFleet \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-spotfleet.html)" ] }, "Properties": { - "$ref": "resources/aws-pinpoint-smschannel.json" + "$ref": "resources/aws-ec2-spotfleet.json" } }, "required": [ @@ -19734,9 +19706,9 @@ ], "additionalProperties": false }, - "AWS_ControlTower_EnabledBaseline": { + "AWS_SupportApp_AccountAlias": { "type": "object", - "markdownDescription": "Definition of AWS::ControlTower::EnabledBaseline Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-controltower-enabledbaseline.html)", + "markdownDescription": "An AWS Support App resource that creates, updates, reads, and deletes a customer's account alias. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-supportapp-accountalias.html)", "allOf": [ { "type": "object", @@ -19744,14 +19716,14 @@ "Type": { "type": "string", "enum": [ - "AWS::ControlTower::EnabledBaseline" + "AWS::SupportApp::AccountAlias" ], "markdownEnumDescriptions": [ - "Definition of AWS::ControlTower::EnabledBaseline Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-controltower-enabledbaseline.html)" + "An AWS Support App resource that creates, updates, reads, and deletes a customer's account alias. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-supportapp-accountalias.html)" ] }, "Properties": { - "$ref": "resources/aws-controltower-enabledbaseline.json" + "$ref": "resources/aws-supportapp-accountalias.json" } }, "required": [ @@ -19765,9 +19737,9 @@ ], "additionalProperties": false }, - "AWS_Glue_DataQualityRuleset": { + "AWS_Omics_Workflow": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::Glue::DataQualityRuleset \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-dataqualityruleset.html)", + "markdownDescription": "Definition of AWS::Omics::Workflow Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-omics-workflow.html)", "allOf": [ { "type": "object", @@ -19775,14 +19747,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Glue::DataQualityRuleset" + "AWS::Omics::Workflow" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::Glue::DataQualityRuleset \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-dataqualityruleset.html)" + "Definition of AWS::Omics::Workflow Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-omics-workflow.html)" ] }, "Properties": { - "$ref": "resources/aws-glue-dataqualityruleset.json" + "$ref": "resources/aws-omics-workflow.json" } }, "required": [ @@ -19795,9 +19767,9 @@ ], "additionalProperties": false }, - "AWS_IoTTwinMaker_Workspace": { + "AWS_KinesisAnalyticsV2_ApplicationOutput": { "type": "object", - "markdownDescription": "Resource schema for AWS::IoTTwinMaker::Workspace \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iottwinmaker-workspace.html)", + "markdownDescription": "Resource Type definition for AWS::KinesisAnalyticsV2::ApplicationOutput \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kinesisanalyticsv2-applicationoutput.html)", "allOf": [ { "type": "object", @@ -19805,14 +19777,14 @@ "Type": { "type": "string", "enum": [ - "AWS::IoTTwinMaker::Workspace" + "AWS::KinesisAnalyticsV2::ApplicationOutput" ], "markdownEnumDescriptions": [ - "Resource schema for AWS::IoTTwinMaker::Workspace \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iottwinmaker-workspace.html)" + "Resource Type definition for AWS::KinesisAnalyticsV2::ApplicationOutput \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kinesisanalyticsv2-applicationoutput.html)" ] }, "Properties": { - "$ref": "resources/aws-iottwinmaker-workspace.json" + "$ref": "resources/aws-kinesisanalyticsv2-applicationoutput.json" } }, "required": [ @@ -19826,9 +19798,9 @@ ], "additionalProperties": false }, - "AWS_Greengrass_FunctionDefinitionVersion": { + "AWS_Pinpoint_Campaign": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::Greengrass::FunctionDefinitionVersion \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-functiondefinitionversion.html)", + "markdownDescription": "Resource Type definition for AWS::Pinpoint::Campaign \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-campaign.html)", "allOf": [ { "type": "object", @@ -19836,14 +19808,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Greengrass::FunctionDefinitionVersion" + "AWS::Pinpoint::Campaign" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::Greengrass::FunctionDefinitionVersion \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-functiondefinitionversion.html)" + "Resource Type definition for AWS::Pinpoint::Campaign \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-campaign.html)" ] }, "Properties": { - "$ref": "resources/aws-greengrass-functiondefinitionversion.json" + "$ref": "resources/aws-pinpoint-campaign.json" } }, "required": [ @@ -19857,9 +19829,9 @@ ], "additionalProperties": false }, - "AWS_S3Outposts_Bucket": { + "AWS_SSMIncidents_ResponsePlan": { "type": "object", - "markdownDescription": "Resource Type Definition for AWS::S3Outposts::Bucket \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-s3outposts-bucket.html)", + "markdownDescription": "Resource type definition for AWS::SSMIncidents::ResponsePlan \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssmincidents-responseplan.html)", "allOf": [ { "type": "object", @@ -19867,14 +19839,14 @@ "Type": { "type": "string", "enum": [ - "AWS::S3Outposts::Bucket" + "AWS::SSMIncidents::ResponsePlan" ], "markdownEnumDescriptions": [ - "Resource Type Definition for AWS::S3Outposts::Bucket \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-s3outposts-bucket.html)" + "Resource type definition for AWS::SSMIncidents::ResponsePlan \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssmincidents-responseplan.html)" ] }, "Properties": { - "$ref": "resources/aws-s3outposts-bucket.json" + "$ref": "resources/aws-ssmincidents-responseplan.json" } }, "required": [ @@ -19888,9 +19860,9 @@ ], "additionalProperties": false }, - "AWS_EC2_TransitGatewayRoute": { + "AWS_MediaPackageV2_Channel": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::EC2::TransitGatewayRoute \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-transitgatewayroute.html)", + "markdownDescription": "

Represents an entry point into AWS Elemental MediaPackage for an ABR video content stream sent from an upstream encoder such as AWS Elemental MediaLive. The channel continuously analyzes the content that it receives and prepares it to be distributed to consumers via one or more origin endpoints.

\n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediapackagev2-channel.html)", "allOf": [ { "type": "object", @@ -19898,14 +19870,14 @@ "Type": { "type": "string", "enum": [ - "AWS::EC2::TransitGatewayRoute" + "AWS::MediaPackageV2::Channel" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::EC2::TransitGatewayRoute \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-transitgatewayroute.html)" + "

Represents an entry point into AWS Elemental MediaPackage for an ABR video content stream sent from an upstream encoder such as AWS Elemental MediaLive. The channel continuously analyzes the content that it receives and prepares it to be distributed to consumers via one or more origin endpoints.

\n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediapackagev2-channel.html)" ] }, "Properties": { - "$ref": "resources/aws-ec2-transitgatewayroute.json" + "$ref": "resources/aws-mediapackagev2-channel.json" } }, "required": [ @@ -19919,9 +19891,9 @@ ], "additionalProperties": false }, - "AWS_NimbleStudio_LaunchProfile": { + "AWS_SageMaker_InferenceComponent": { "type": "object", - "markdownDescription": "Represents a launch profile which delegates access to a collection of studio components to studio users \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-nimblestudio-launchprofile.html)", + "markdownDescription": "Resource Type definition for AWS::SageMaker::InferenceComponent \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-inferencecomponent.html)", "allOf": [ { "type": "object", @@ -19929,14 +19901,14 @@ "Type": { "type": "string", "enum": [ - "AWS::NimbleStudio::LaunchProfile" + "AWS::SageMaker::InferenceComponent" ], "markdownEnumDescriptions": [ - "Represents a launch profile which delegates access to a collection of studio components to studio users \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-nimblestudio-launchprofile.html)" + "Resource Type definition for AWS::SageMaker::InferenceComponent \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-inferencecomponent.html)" ] }, "Properties": { - "$ref": "resources/aws-nimblestudio-launchprofile.json" + "$ref": "resources/aws-sagemaker-inferencecomponent.json" } }, "required": [ @@ -19950,9 +19922,9 @@ ], "additionalProperties": false }, - "AWS_Connect_TrafficDistributionGroup": { + "AWS_MemoryDB_ParameterGroup": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::Connect::TrafficDistributionGroup \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-connect-trafficdistributiongroup.html)", + "markdownDescription": "The AWS::MemoryDB::ParameterGroup resource creates an Amazon MemoryDB ParameterGroup. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-memorydb-parametergroup.html)", "allOf": [ { "type": "object", @@ -19960,14 +19932,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Connect::TrafficDistributionGroup" + "AWS::MemoryDB::ParameterGroup" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::Connect::TrafficDistributionGroup \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-connect-trafficdistributiongroup.html)" + "The AWS::MemoryDB::ParameterGroup resource creates an Amazon MemoryDB ParameterGroup. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-memorydb-parametergroup.html)" ] }, "Properties": { - "$ref": "resources/aws-connect-trafficdistributiongroup.json" + "$ref": "resources/aws-memorydb-parametergroup.json" } }, "required": [ @@ -19981,9 +19953,9 @@ ], "additionalProperties": false }, - "AWS_IoT_SecurityProfile": { + "AWS_EC2_SubnetRouteTableAssociation": { "type": "object", - "markdownDescription": "A security profile defines a set of expected behaviors for devices in your account. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-securityprofile.html)", + "markdownDescription": "Associates a subnet with a route table. The subnet and route table must be in the same VPC. This association causes traffic originating from the subnet to be routed according to the routes in the route table. A route table can be associated with multiple subnets. To create a route table, see [AWS::EC2::RouteTable](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-routetable.html). \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-subnetroutetableassociation.html)", "allOf": [ { "type": "object", @@ -19991,18 +19963,19 @@ "Type": { "type": "string", "enum": [ - "AWS::IoT::SecurityProfile" + "AWS::EC2::SubnetRouteTableAssociation" ], "markdownEnumDescriptions": [ - "A security profile defines a set of expected behaviors for devices in your account. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-securityprofile.html)" + "Associates a subnet with a route table. The subnet and route table must be in the same VPC. This association causes traffic originating from the subnet to be routed according to the routes in the route table. A route table can be associated with multiple subnets. To create a route table, see [AWS::EC2::RouteTable](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-routetable.html). \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-subnetroutetableassociation.html)" ] }, "Properties": { - "$ref": "resources/aws-iot-securityprofile.json" + "$ref": "resources/aws-ec2-subnetroutetableassociation.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -20011,9 +19984,9 @@ ], "additionalProperties": false }, - "AWS_Organizations_OrganizationalUnit": { + "AWS_GlobalAccelerator_EndpointGroup": { "type": "object", - "markdownDescription": "You can use organizational units (OUs) to group accounts together to administer as a single unit. This greatly simplifies the management of your accounts. For example, you can attach a policy-based control to an OU, and all accounts within the OU automatically inherit the policy. You can create multiple OUs within a single organization, and you can create OUs within other OUs. Each OU can contain multiple accounts, and you can move accounts from one OU to another. However, OU names must be unique within a parent OU or root. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-organizations-organizationalunit.html)", + "markdownDescription": "Resource Type definition for AWS::GlobalAccelerator::EndpointGroup \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-globalaccelerator-endpointgroup.html)", "allOf": [ { "type": "object", @@ -20021,14 +19994,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Organizations::OrganizationalUnit" + "AWS::GlobalAccelerator::EndpointGroup" ], "markdownEnumDescriptions": [ - "You can use organizational units (OUs) to group accounts together to administer as a single unit. This greatly simplifies the management of your accounts. For example, you can attach a policy-based control to an OU, and all accounts within the OU automatically inherit the policy. You can create multiple OUs within a single organization, and you can create OUs within other OUs. Each OU can contain multiple accounts, and you can move accounts from one OU to another. However, OU names must be unique within a parent OU or root. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-organizations-organizationalunit.html)" + "Resource Type definition for AWS::GlobalAccelerator::EndpointGroup \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-globalaccelerator-endpointgroup.html)" ] }, "Properties": { - "$ref": "resources/aws-organizations-organizationalunit.json" + "$ref": "resources/aws-globalaccelerator-endpointgroup.json" } }, "required": [ @@ -20042,9 +20015,9 @@ ], "additionalProperties": false }, - "AWS_DocDB_DBSubnetGroup": { + "AWS_MediaPackageV2_OriginEndpoint": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::DocDB::DBSubnetGroup \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-docdb-dbsubnetgroup.html)", + "markdownDescription": "

Represents an origin endpoint that is associated with a channel, offering a dynamically repackaged version of its content through various streaming media protocols. The content can be efficiently disseminated to end-users via a Content Delivery Network (CDN), like Amazon CloudFront.

\n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediapackagev2-originendpoint.html)", "allOf": [ { "type": "object", @@ -20052,14 +20025,14 @@ "Type": { "type": "string", "enum": [ - "AWS::DocDB::DBSubnetGroup" + "AWS::MediaPackageV2::OriginEndpoint" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::DocDB::DBSubnetGroup \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-docdb-dbsubnetgroup.html)" + "

Represents an origin endpoint that is associated with a channel, offering a dynamically repackaged version of its content through various streaming media protocols. The content can be efficiently disseminated to end-users via a Content Delivery Network (CDN), like Amazon CloudFront.

\n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediapackagev2-originendpoint.html)" ] }, "Properties": { - "$ref": "resources/aws-docdb-dbsubnetgroup.json" + "$ref": "resources/aws-mediapackagev2-originendpoint.json" } }, "required": [ @@ -20073,9 +20046,9 @@ ], "additionalProperties": false }, - "AWS_CodeConnections_Connection": { + "AWS_SecurityHub_Insight": { "type": "object", - "markdownDescription": "Schema for AWS::CodeConnections::Connection resource which can be used to connect external source providers with other AWS services (i.e. AWS CodePipeline) \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codeconnections-connection.html)", + "markdownDescription": "The AWS::SecurityHub::Insight resource represents the AWS Security Hub Insight in your account. An AWS Security Hub insight is a collection of related findings. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-securityhub-insight.html)", "allOf": [ { "type": "object", @@ -20083,14 +20056,14 @@ "Type": { "type": "string", "enum": [ - "AWS::CodeConnections::Connection" + "AWS::SecurityHub::Insight" ], "markdownEnumDescriptions": [ - "Schema for AWS::CodeConnections::Connection resource which can be used to connect external source providers with other AWS services (i.e. AWS CodePipeline) \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codeconnections-connection.html)" + "The AWS::SecurityHub::Insight resource represents the AWS Security Hub Insight in your account. An AWS Security Hub insight is a collection of related findings. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-securityhub-insight.html)" ] }, "Properties": { - "$ref": "resources/aws-codeconnections-connection.json" + "$ref": "resources/aws-securityhub-insight.json" } }, "required": [ @@ -20104,9 +20077,9 @@ ], "additionalProperties": false }, - "AWS_CloudFront_OriginRequestPolicy": { + "AWS_IVS_StorageConfiguration": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::CloudFront::OriginRequestPolicy \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudfront-originrequestpolicy.html)", + "markdownDescription": "Resource Type definition for AWS::IVS::StorageConfiguration \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ivs-storageconfiguration.html)", "allOf": [ { "type": "object", @@ -20114,14 +20087,14 @@ "Type": { "type": "string", "enum": [ - "AWS::CloudFront::OriginRequestPolicy" + "AWS::IVS::StorageConfiguration" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::CloudFront::OriginRequestPolicy \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudfront-originrequestpolicy.html)" + "Resource Type definition for AWS::IVS::StorageConfiguration \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ivs-storageconfiguration.html)" ] }, "Properties": { - "$ref": "resources/aws-cloudfront-originrequestpolicy.json" + "$ref": "resources/aws-ivs-storageconfiguration.json" } }, "required": [ @@ -20135,9 +20108,9 @@ ], "additionalProperties": false }, - "AWS_EntityResolution_SchemaMapping": { + "AWS_MediaPackage_PackagingConfiguration": { "type": "object", - "markdownDescription": "SchemaMapping defined in AWS Entity Resolution service \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-entityresolution-schemamapping.html)", + "markdownDescription": "Resource schema for AWS::MediaPackage::PackagingConfiguration \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediapackage-packagingconfiguration.html)", "allOf": [ { "type": "object", @@ -20145,14 +20118,14 @@ "Type": { "type": "string", "enum": [ - "AWS::EntityResolution::SchemaMapping" + "AWS::MediaPackage::PackagingConfiguration" ], "markdownEnumDescriptions": [ - "SchemaMapping defined in AWS Entity Resolution service \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-entityresolution-schemamapping.html)" + "Resource schema for AWS::MediaPackage::PackagingConfiguration \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediapackage-packagingconfiguration.html)" ] }, "Properties": { - "$ref": "resources/aws-entityresolution-schemamapping.json" + "$ref": "resources/aws-mediapackage-packagingconfiguration.json" } }, "required": [ @@ -20166,9 +20139,9 @@ ], "additionalProperties": false }, - "AWS_Location_PlaceIndex": { + "AWS_IoTWireless_MulticastGroup": { "type": "object", - "markdownDescription": "Definition of AWS::Location::PlaceIndex Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-location-placeindex.html)", + "markdownDescription": "Create and manage Multicast groups. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotwireless-multicastgroup.html)", "allOf": [ { "type": "object", @@ -20176,14 +20149,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Location::PlaceIndex" + "AWS::IoTWireless::MulticastGroup" ], "markdownEnumDescriptions": [ - "Definition of AWS::Location::PlaceIndex Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-location-placeindex.html)" + "Create and manage Multicast groups. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotwireless-multicastgroup.html)" ] }, "Properties": { - "$ref": "resources/aws-location-placeindex.json" + "$ref": "resources/aws-iotwireless-multicastgroup.json" } }, "required": [ @@ -20197,9 +20170,9 @@ ], "additionalProperties": false }, - "AWS_SupportApp_SlackWorkspaceConfiguration": { + "AWS_AppSync_GraphQLSchema": { "type": "object", - "markdownDescription": "An AWS Support App resource that creates, updates, lists, and deletes Slack workspace configurations. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-supportapp-slackworkspaceconfiguration.html)", + "markdownDescription": "Resource Type definition for AWS::AppSync::GraphQLSchema \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-graphqlschema.html)", "allOf": [ { "type": "object", @@ -20207,14 +20180,14 @@ "Type": { "type": "string", "enum": [ - "AWS::SupportApp::SlackWorkspaceConfiguration" + "AWS::AppSync::GraphQLSchema" ], "markdownEnumDescriptions": [ - "An AWS Support App resource that creates, updates, lists, and deletes Slack workspace configurations. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-supportapp-slackworkspaceconfiguration.html)" + "Resource Type definition for AWS::AppSync::GraphQLSchema \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-graphqlschema.html)" ] }, "Properties": { - "$ref": "resources/aws-supportapp-slackworkspaceconfiguration.json" + "$ref": "resources/aws-appsync-graphqlschema.json" } }, "required": [ @@ -20228,9 +20201,9 @@ ], "additionalProperties": false }, - "AWS_CloudFormation_HookTypeConfig": { + "AWS_Wisdom_KnowledgeBase": { "type": "object", - "markdownDescription": "Specifies the configuration data for a registered hook in CloudFormation Registry. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudformation-hooktypeconfig.html)", + "markdownDescription": "Definition of AWS::Wisdom::KnowledgeBase Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-wisdom-knowledgebase.html)", "allOf": [ { "type": "object", @@ -20238,18 +20211,19 @@ "Type": { "type": "string", "enum": [ - "AWS::CloudFormation::HookTypeConfig" + "AWS::Wisdom::KnowledgeBase" ], "markdownEnumDescriptions": [ - "Specifies the configuration data for a registered hook in CloudFormation Registry. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudformation-hooktypeconfig.html)" + "Definition of AWS::Wisdom::KnowledgeBase Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-wisdom-knowledgebase.html)" ] }, "Properties": { - "$ref": "resources/aws-cloudformation-hooktypeconfig.json" + "$ref": "resources/aws-wisdom-knowledgebase.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -20258,9 +20232,9 @@ ], "additionalProperties": false }, - "AWS_ECS_TaskSet": { + "AWS_SageMaker_Device": { "type": "object", - "markdownDescription": "Create a task set in the specified cluster and service. This is used when a service uses the EXTERNAL deployment controller type. For more information, see https://docs.aws.amazon.com/AmazonECS/latest/developerguide/deployment-types.htmlin the Amazon Elastic Container Service Developer Guide. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ecs-taskset.html)", + "markdownDescription": "Resource schema for AWS::SageMaker::Device \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-device.html)", "allOf": [ { "type": "object", @@ -20268,14 +20242,14 @@ "Type": { "type": "string", "enum": [ - "AWS::ECS::TaskSet" + "AWS::SageMaker::Device" ], "markdownEnumDescriptions": [ - "Create a task set in the specified cluster and service. This is used when a service uses the EXTERNAL deployment controller type. For more information, see https://docs.aws.amazon.com/AmazonECS/latest/developerguide/deployment-types.htmlin the Amazon Elastic Container Service Developer Guide. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ecs-taskset.html)" + "Resource schema for AWS::SageMaker::Device \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-device.html)" ] }, "Properties": { - "$ref": "resources/aws-ecs-taskset.json" + "$ref": "resources/aws-sagemaker-device.json" } }, "required": [ @@ -20289,9 +20263,9 @@ ], "additionalProperties": false }, - "AWS_CodeCommit_Repository": { + "AWS_Pinpoint_ApplicationSettings": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::CodeCommit::Repository \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codecommit-repository.html)", + "markdownDescription": "Resource Type definition for AWS::Pinpoint::ApplicationSettings \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-applicationsettings.html)", "allOf": [ { "type": "object", @@ -20299,14 +20273,14 @@ "Type": { "type": "string", "enum": [ - "AWS::CodeCommit::Repository" + "AWS::Pinpoint::ApplicationSettings" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::CodeCommit::Repository \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codecommit-repository.html)" + "Resource Type definition for AWS::Pinpoint::ApplicationSettings \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-applicationsettings.html)" ] }, "Properties": { - "$ref": "resources/aws-codecommit-repository.json" + "$ref": "resources/aws-pinpoint-applicationsettings.json" } }, "required": [ @@ -20320,9 +20294,9 @@ ], "additionalProperties": false }, - "AWS_SSMQuickSetup_ConfigurationManager": { + "AWS_FIS_ExperimentTemplate": { "type": "object", - "markdownDescription": "Definition of AWS::SSMQuickSetup::ConfigurationManager Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssmquicksetup-configurationmanager.html)", + "markdownDescription": "Resource schema for AWS::FIS::ExperimentTemplate \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-fis-experimenttemplate.html)", "allOf": [ { "type": "object", @@ -20330,14 +20304,14 @@ "Type": { "type": "string", "enum": [ - "AWS::SSMQuickSetup::ConfigurationManager" + "AWS::FIS::ExperimentTemplate" ], "markdownEnumDescriptions": [ - "Definition of AWS::SSMQuickSetup::ConfigurationManager Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssmquicksetup-configurationmanager.html)" + "Resource schema for AWS::FIS::ExperimentTemplate \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-fis-experimenttemplate.html)" ] }, "Properties": { - "$ref": "resources/aws-ssmquicksetup-configurationmanager.json" + "$ref": "resources/aws-fis-experimenttemplate.json" } }, "required": [ @@ -20351,9 +20325,9 @@ ], "additionalProperties": false }, - "AWS_ElasticBeanstalk_Application": { + "AWS_Lightsail_Alarm": { "type": "object", - "markdownDescription": "The AWS::ElasticBeanstalk::Application resource specifies an Elastic Beanstalk application. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticbeanstalk-application.html)", + "markdownDescription": "Resource Type definition for AWS::Lightsail::Alarm \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lightsail-alarm.html)", "allOf": [ { "type": "object", @@ -20361,18 +20335,19 @@ "Type": { "type": "string", "enum": [ - "AWS::ElasticBeanstalk::Application" + "AWS::Lightsail::Alarm" ], "markdownEnumDescriptions": [ - "The AWS::ElasticBeanstalk::Application resource specifies an Elastic Beanstalk application. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticbeanstalk-application.html)" + "Resource Type definition for AWS::Lightsail::Alarm \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lightsail-alarm.html)" ] }, "Properties": { - "$ref": "resources/aws-elasticbeanstalk-application.json" + "$ref": "resources/aws-lightsail-alarm.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -20381,9 +20356,9 @@ ], "additionalProperties": false }, - "AWS_AppConfig_DeploymentStrategy": { + "AWS_Route53_KeySigningKey": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::AppConfig::DeploymentStrategy \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appconfig-deploymentstrategy.html)", + "markdownDescription": "Represents a key signing key (KSK) associated with a hosted zone. You can only have two KSKs per hosted zone. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53-keysigningkey.html)", "allOf": [ { "type": "object", @@ -20391,14 +20366,14 @@ "Type": { "type": "string", "enum": [ - "AWS::AppConfig::DeploymentStrategy" + "AWS::Route53::KeySigningKey" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::AppConfig::DeploymentStrategy \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appconfig-deploymentstrategy.html)" + "Represents a key signing key (KSK) associated with a hosted zone. You can only have two KSKs per hosted zone. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53-keysigningkey.html)" ] }, "Properties": { - "$ref": "resources/aws-appconfig-deploymentstrategy.json" + "$ref": "resources/aws-route53-keysigningkey.json" } }, "required": [ @@ -20412,9 +20387,9 @@ ], "additionalProperties": false }, - "AWS_ElastiCache_SecurityGroup": { + "AWS_MSK_ClusterPolicy": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::ElastiCache::SecurityGroup \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticache-securitygroup.html)", + "markdownDescription": "Resource Type definition for AWS::MSK::ClusterPolicy \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-msk-clusterpolicy.html)", "allOf": [ { "type": "object", @@ -20422,14 +20397,14 @@ "Type": { "type": "string", "enum": [ - "AWS::ElastiCache::SecurityGroup" + "AWS::MSK::ClusterPolicy" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::ElastiCache::SecurityGroup \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticache-securitygroup.html)" + "Resource Type definition for AWS::MSK::ClusterPolicy \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-msk-clusterpolicy.html)" ] }, "Properties": { - "$ref": "resources/aws-elasticache-securitygroup.json" + "$ref": "resources/aws-msk-clusterpolicy.json" } }, "required": [ @@ -20443,9 +20418,9 @@ ], "additionalProperties": false }, - "AWS_Transfer_Connector": { + "AWS_RDS_DBParameterGroup": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::Transfer::Connector \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-transfer-connector.html)", + "markdownDescription": "The ``AWS::RDS::DBParameterGroup`` resource creates a custom parameter group for an RDS database family.\n This type can be declared in a template and referenced in the ``DBParameterGroupName`` property of an ``AWS::RDS::DBInstance`` resource.\n For information about configuring parameters for Amazon RDS DB instances, see [Working with parameter groups](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_WorkingWithParamGroups.html) in the *Amazon RDS User Guide*.\n For information about configuring parameters for Amazon Aurora DB instances, see [Working with parameter groups](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/USER_WorkingWithParamGroups.html) in the *Amazon Aurora User Guide*.\n Applying a parameter group to a DB instance may require the DB instance to reboot, resulting in a database outage for the duration of the reboot. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbparametergroup.html)", "allOf": [ { "type": "object", @@ -20453,14 +20428,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Transfer::Connector" + "AWS::RDS::DBParameterGroup" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::Transfer::Connector \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-transfer-connector.html)" + "The ``AWS::RDS::DBParameterGroup`` resource creates a custom parameter group for an RDS database family.\n This type can be declared in a template and referenced in the ``DBParameterGroupName`` property of an ``AWS::RDS::DBInstance`` resource.\n For information about configuring parameters for Amazon RDS DB instances, see [Working with parameter groups](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_WorkingWithParamGroups.html) in the *Amazon RDS User Guide*.\n For information about configuring parameters for Amazon Aurora DB instances, see [Working with parameter groups](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/USER_WorkingWithParamGroups.html) in the *Amazon Aurora User Guide*.\n Applying a parameter group to a DB instance may require the DB instance to reboot, resulting in a database outage for the duration of the reboot. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbparametergroup.html)" ] }, "Properties": { - "$ref": "resources/aws-transfer-connector.json" + "$ref": "resources/aws-rds-dbparametergroup.json" } }, "required": [ @@ -20474,9 +20449,9 @@ ], "additionalProperties": false }, - "AWS_M2_Application": { + "AWS_SNS_TopicInlinePolicy": { "type": "object", - "markdownDescription": "Represents an application that runs on an AWS Mainframe Modernization Environment \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-m2-application.html)", + "markdownDescription": "Schema for AWS::SNS::TopicInlinePolicy \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sns-topicinlinepolicy.html)", "allOf": [ { "type": "object", @@ -20484,14 +20459,14 @@ "Type": { "type": "string", "enum": [ - "AWS::M2::Application" + "AWS::SNS::TopicInlinePolicy" ], "markdownEnumDescriptions": [ - "Represents an application that runs on an AWS Mainframe Modernization Environment \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-m2-application.html)" + "Schema for AWS::SNS::TopicInlinePolicy \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sns-topicinlinepolicy.html)" ] }, "Properties": { - "$ref": "resources/aws-m2-application.json" + "$ref": "resources/aws-sns-topicinlinepolicy.json" } }, "required": [ @@ -20505,9 +20480,9 @@ ], "additionalProperties": false }, - "AWS_ElasticLoadBalancingV2_ListenerRule": { + "AWS_EC2_IPAMResourceDiscoveryAssociation": { "type": "object", - "markdownDescription": "Specifies a listener rule. The listener must be associated with an Application Load Balancer. Each rule consists of a priority, one or more actions, and one or more conditions.\n For more information, see [Quotas for your Application Load Balancers](https://docs.aws.amazon.com/elasticloadbalancing/latest/application/load-balancer-limits.html) in the *User Guide for Application Load Balancers*. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticloadbalancingv2-listenerrule.html)", + "markdownDescription": "Resource Schema of AWS::EC2::IPAMResourceDiscoveryAssociation Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-ipamresourcediscoveryassociation.html)", "allOf": [ { "type": "object", @@ -20515,14 +20490,14 @@ "Type": { "type": "string", "enum": [ - "AWS::ElasticLoadBalancingV2::ListenerRule" + "AWS::EC2::IPAMResourceDiscoveryAssociation" ], "markdownEnumDescriptions": [ - "Specifies a listener rule. The listener must be associated with an Application Load Balancer. Each rule consists of a priority, one or more actions, and one or more conditions.\n For more information, see [Quotas for your Application Load Balancers](https://docs.aws.amazon.com/elasticloadbalancing/latest/application/load-balancer-limits.html) in the *User Guide for Application Load Balancers*. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticloadbalancingv2-listenerrule.html)" + "Resource Schema of AWS::EC2::IPAMResourceDiscoveryAssociation Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-ipamresourcediscoveryassociation.html)" ] }, "Properties": { - "$ref": "resources/aws-elasticloadbalancingv2-listenerrule.json" + "$ref": "resources/aws-ec2-ipamresourcediscoveryassociation.json" } }, "required": [ @@ -20536,9 +20511,9 @@ ], "additionalProperties": false }, - "AWS_GameLift_MatchmakingConfiguration": { + "AWS_IdentityStore_Group": { "type": "object", - "markdownDescription": "The AWS::GameLift::MatchmakingConfiguration resource creates an Amazon GameLift (GameLift) matchmaking configuration. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-gamelift-matchmakingconfiguration.html)", + "markdownDescription": "Resource Type definition for AWS::IdentityStore::Group \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-identitystore-group.html)", "allOf": [ { "type": "object", @@ -20546,14 +20521,14 @@ "Type": { "type": "string", "enum": [ - "AWS::GameLift::MatchmakingConfiguration" + "AWS::IdentityStore::Group" ], "markdownEnumDescriptions": [ - "The AWS::GameLift::MatchmakingConfiguration resource creates an Amazon GameLift (GameLift) matchmaking configuration. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-gamelift-matchmakingconfiguration.html)" + "Resource Type definition for AWS::IdentityStore::Group \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-identitystore-group.html)" ] }, "Properties": { - "$ref": "resources/aws-gamelift-matchmakingconfiguration.json" + "$ref": "resources/aws-identitystore-group.json" } }, "required": [ @@ -20567,9 +20542,9 @@ ], "additionalProperties": false }, - "AWS_SimSpaceWeaver_Simulation": { + "AWS_CloudWatch_CompositeAlarm": { "type": "object", - "markdownDescription": "AWS::SimSpaceWeaver::Simulation resource creates an AWS Simulation. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-simspaceweaver-simulation.html)", + "markdownDescription": "The AWS::CloudWatch::CompositeAlarm type specifies an alarm which aggregates the states of other Alarms (Metric or Composite Alarms) as defined by the AlarmRule expression \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudwatch-compositealarm.html)", "allOf": [ { "type": "object", @@ -20577,14 +20552,14 @@ "Type": { "type": "string", "enum": [ - "AWS::SimSpaceWeaver::Simulation" + "AWS::CloudWatch::CompositeAlarm" ], "markdownEnumDescriptions": [ - "AWS::SimSpaceWeaver::Simulation resource creates an AWS Simulation. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-simspaceweaver-simulation.html)" + "The AWS::CloudWatch::CompositeAlarm type specifies an alarm which aggregates the states of other Alarms (Metric or Composite Alarms) as defined by the AlarmRule expression \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudwatch-compositealarm.html)" ] }, "Properties": { - "$ref": "resources/aws-simspaceweaver-simulation.json" + "$ref": "resources/aws-cloudwatch-compositealarm.json" } }, "required": [ @@ -20598,9 +20573,9 @@ ], "additionalProperties": false }, - "AWS_SSM_Association": { + "AWS_IoTWireless_ServiceProfile": { "type": "object", - "markdownDescription": "The AWS::SSM::Association resource associates an SSM document in AWS Systems Manager with EC2 instances that contain a configuration agent to process the document. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-association.html)", + "markdownDescription": "An example resource schema demonstrating some basic constructs and validation rules. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotwireless-serviceprofile.html)", "allOf": [ { "type": "object", @@ -20608,19 +20583,18 @@ "Type": { "type": "string", "enum": [ - "AWS::SSM::Association" + "AWS::IoTWireless::ServiceProfile" ], "markdownEnumDescriptions": [ - "The AWS::SSM::Association resource associates an SSM document in AWS Systems Manager with EC2 instances that contain a configuration agent to process the document. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-association.html)" + "An example resource schema demonstrating some basic constructs and validation rules. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotwireless-serviceprofile.html)" ] }, "Properties": { - "$ref": "resources/aws-ssm-association.json" + "$ref": "resources/aws-iotwireless-serviceprofile.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -20629,9 +20603,9 @@ ], "additionalProperties": false }, - "AWS_AppTest_TestCase": { + "AWS_IoT_ThingType": { "type": "object", - "markdownDescription": "Represents a Test Case that can be captured and executed \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apptest-testcase.html)", + "markdownDescription": "Resource Type definition for AWS::IoT::ThingType \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-thingtype.html)", "allOf": [ { "type": "object", @@ -20639,19 +20613,18 @@ "Type": { "type": "string", "enum": [ - "AWS::AppTest::TestCase" + "AWS::IoT::ThingType" ], "markdownEnumDescriptions": [ - "Represents a Test Case that can be captured and executed \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apptest-testcase.html)" + "Resource Type definition for AWS::IoT::ThingType \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-thingtype.html)" ] }, "Properties": { - "$ref": "resources/aws-apptest-testcase.json" + "$ref": "resources/aws-iot-thingtype.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -20660,9 +20633,9 @@ ], "additionalProperties": false }, - "AWS_MediaConnect_BridgeSource": { + "AWS_DynamoDB_Table": { "type": "object", - "markdownDescription": "Resource schema for AWS::MediaConnect::BridgeSource \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediaconnect-bridgesource.html)", + "markdownDescription": "The ``AWS::DynamoDB::Table`` resource creates a DDB table. For more information, see [CreateTable](https://docs.aws.amazon.com/amazondynamodb/latest/APIReference/API_CreateTable.html) in the *API Reference*.\n You should be aware of the following behaviors when working with DDB tables:\n + CFNlong typically creates DDB tables in parallel. However, if your template includes multiple DDB tables with indexes, you must declare dependencies so that the tables are created sequentially. DDBlong limits the number of tables with secondary indexes that are in the creating state. If you create multiple tables with indexes at the same time, DDB returns an error and the stack operation fails. For an example, see [DynamoDB Table with a DependsOn Attribute](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dynamodb-table.html#aws-resource-dynamodb-table--examples--DynamoDB_Table_with_a_DependsOn_Attribute).\n \n Our guidance is to use the latest schema documented for your CFNlong templates. This schema supports the provisioning of all table settings below. When using this schema in your CFNlong templates, please ensure that your Identity and Access Management (IAM) policies are updated with appropriate permissions to allow for the authorization of these setting changes. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dynamodb-table.html)", "allOf": [ { "type": "object", @@ -20670,14 +20643,14 @@ "Type": { "type": "string", "enum": [ - "AWS::MediaConnect::BridgeSource" + "AWS::DynamoDB::Table" ], "markdownEnumDescriptions": [ - "Resource schema for AWS::MediaConnect::BridgeSource \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediaconnect-bridgesource.html)" + "The ``AWS::DynamoDB::Table`` resource creates a DDB table. For more information, see [CreateTable](https://docs.aws.amazon.com/amazondynamodb/latest/APIReference/API_CreateTable.html) in the *API Reference*.\n You should be aware of the following behaviors when working with DDB tables:\n + CFNlong typically creates DDB tables in parallel. However, if your template includes multiple DDB tables with indexes, you must declare dependencies so that the tables are created sequentially. DDBlong limits the number of tables with secondary indexes that are in the creating state. If you create multiple tables with indexes at the same time, DDB returns an error and the stack operation fails. For an example, see [DynamoDB Table with a DependsOn Attribute](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dynamodb-table.html#aws-resource-dynamodb-table--examples--DynamoDB_Table_with_a_DependsOn_Attribute).\n \n Our guidance is to use the latest schema documented for your CFNlong templates. This schema supports the provisioning of all table settings below. When using this schema in your CFNlong templates, please ensure that your Identity and Access Management (IAM) policies are updated with appropriate permissions to allow for the authorization of these setting changes. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dynamodb-table.html)" ] }, "Properties": { - "$ref": "resources/aws-mediaconnect-bridgesource.json" + "$ref": "resources/aws-dynamodb-table.json" } }, "required": [ @@ -20691,9 +20664,9 @@ ], "additionalProperties": false }, - "AWS_Location_APIKey": { + "AWS_OpenSearchServerless_Collection": { "type": "object", - "markdownDescription": "Definition of AWS::Location::APIKey Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-location-apikey.html)", + "markdownDescription": "Amazon OpenSearchServerless collection resource \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opensearchserverless-collection.html)", "allOf": [ { "type": "object", @@ -20701,14 +20674,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Location::APIKey" + "AWS::OpenSearchServerless::Collection" ], "markdownEnumDescriptions": [ - "Definition of AWS::Location::APIKey Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-location-apikey.html)" + "Amazon OpenSearchServerless collection resource \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opensearchserverless-collection.html)" ] }, "Properties": { - "$ref": "resources/aws-location-apikey.json" + "$ref": "resources/aws-opensearchserverless-collection.json" } }, "required": [ @@ -20722,9 +20695,9 @@ ], "additionalProperties": false }, - "AWS_Config_StoredQuery": { + "AWS_ManagedBlockchain_Node": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::Config::StoredQuery \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-config-storedquery.html)", + "markdownDescription": "Resource Type definition for AWS::ManagedBlockchain::Node \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-managedblockchain-node.html)", "allOf": [ { "type": "object", @@ -20732,14 +20705,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Config::StoredQuery" + "AWS::ManagedBlockchain::Node" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::Config::StoredQuery \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-config-storedquery.html)" + "Resource Type definition for AWS::ManagedBlockchain::Node \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-managedblockchain-node.html)" ] }, "Properties": { - "$ref": "resources/aws-config-storedquery.json" + "$ref": "resources/aws-managedblockchain-node.json" } }, "required": [ @@ -20753,9 +20726,9 @@ ], "additionalProperties": false }, - "AWS_AppStream_StackUserAssociation": { + "AWS_EC2_VolumeAttachment": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::AppStream::StackUserAssociation \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appstream-stackuserassociation.html)", + "markdownDescription": "Attaches an Amazon EBS volume to a running instance and exposes it to the instance with the specified device name.\n Before this resource can be deleted (and therefore the volume detached), you must first unmount the volume in the instance. Failure to do so results in the volume being stuck in the busy state while it is trying to detach, which could possibly damage the file system or the data it contains.\n If an Amazon EBS volume is the root device of an instance, it cannot be detached while the instance is in the \"running\" state. To detach the root volume, stop the instance first.\n If the root volume is detached from an instance with an MKT product code, then the product codes from that volume are no longer associated with the instance. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-volumeattachment.html)", "allOf": [ { "type": "object", @@ -20763,14 +20736,14 @@ "Type": { "type": "string", "enum": [ - "AWS::AppStream::StackUserAssociation" + "AWS::EC2::VolumeAttachment" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::AppStream::StackUserAssociation \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appstream-stackuserassociation.html)" + "Attaches an Amazon EBS volume to a running instance and exposes it to the instance with the specified device name.\n Before this resource can be deleted (and therefore the volume detached), you must first unmount the volume in the instance. Failure to do so results in the volume being stuck in the busy state while it is trying to detach, which could possibly damage the file system or the data it contains.\n If an Amazon EBS volume is the root device of an instance, it cannot be detached while the instance is in the \"running\" state. To detach the root volume, stop the instance first.\n If the root volume is detached from an instance with an MKT product code, then the product codes from that volume are no longer associated with the instance. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-volumeattachment.html)" ] }, "Properties": { - "$ref": "resources/aws-appstream-stackuserassociation.json" + "$ref": "resources/aws-ec2-volumeattachment.json" } }, "required": [ @@ -20784,9 +20757,9 @@ ], "additionalProperties": false }, - "AWS_SageMaker_ModelExplainabilityJobDefinition": { + "AWS_SageMaker_Project": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::SageMaker::ModelExplainabilityJobDefinition \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-modelexplainabilityjobdefinition.html)", + "markdownDescription": "Resource Type definition for AWS::SageMaker::Project \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-project.html)", "allOf": [ { "type": "object", @@ -20794,14 +20767,14 @@ "Type": { "type": "string", "enum": [ - "AWS::SageMaker::ModelExplainabilityJobDefinition" + "AWS::SageMaker::Project" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::SageMaker::ModelExplainabilityJobDefinition \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-modelexplainabilityjobdefinition.html)" + "Resource Type definition for AWS::SageMaker::Project \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-project.html)" ] }, "Properties": { - "$ref": "resources/aws-sagemaker-modelexplainabilityjobdefinition.json" + "$ref": "resources/aws-sagemaker-project.json" } }, "required": [ @@ -20815,9 +20788,9 @@ ], "additionalProperties": false }, - "AWS_Personalize_DatasetGroup": { + "AWS_KinesisFirehose_DeliveryStream": { "type": "object", - "markdownDescription": "Resource Schema for AWS::Personalize::DatasetGroup. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-personalize-datasetgroup.html)", + "markdownDescription": "Resource Type definition for AWS::KinesisFirehose::DeliveryStream \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kinesisfirehose-deliverystream.html)", "allOf": [ { "type": "object", @@ -20825,19 +20798,18 @@ "Type": { "type": "string", "enum": [ - "AWS::Personalize::DatasetGroup" + "AWS::KinesisFirehose::DeliveryStream" ], "markdownEnumDescriptions": [ - "Resource Schema for AWS::Personalize::DatasetGroup. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-personalize-datasetgroup.html)" + "Resource Type definition for AWS::KinesisFirehose::DeliveryStream \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kinesisfirehose-deliverystream.html)" ] }, "Properties": { - "$ref": "resources/aws-personalize-datasetgroup.json" + "$ref": "resources/aws-kinesisfirehose-deliverystream.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -20846,9 +20818,9 @@ ], "additionalProperties": false }, - "AWS_NetworkManager_Link": { + "AWS_EC2_EC2Fleet": { "type": "object", - "markdownDescription": "The AWS::NetworkManager::Link type describes a link. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkmanager-link.html)", + "markdownDescription": "Resource Type definition for AWS::EC2::EC2Fleet \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-ec2fleet.html)", "allOf": [ { "type": "object", @@ -20856,14 +20828,14 @@ "Type": { "type": "string", "enum": [ - "AWS::NetworkManager::Link" + "AWS::EC2::EC2Fleet" ], "markdownEnumDescriptions": [ - "The AWS::NetworkManager::Link type describes a link. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkmanager-link.html)" + "Resource Type definition for AWS::EC2::EC2Fleet \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-ec2fleet.html)" ] }, "Properties": { - "$ref": "resources/aws-networkmanager-link.json" + "$ref": "resources/aws-ec2-ec2fleet.json" } }, "required": [ @@ -20877,9 +20849,9 @@ ], "additionalProperties": false }, - "AWS_MediaLive_Channel": { + "AWS_IoTTwinMaker_SyncJob": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::MediaLive::Channel \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-medialive-channel.html)", + "markdownDescription": "Resource schema for AWS::IoTTwinMaker::SyncJob \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iottwinmaker-syncjob.html)", "allOf": [ { "type": "object", @@ -20887,18 +20859,19 @@ "Type": { "type": "string", "enum": [ - "AWS::MediaLive::Channel" + "AWS::IoTTwinMaker::SyncJob" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::MediaLive::Channel \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-medialive-channel.html)" + "Resource schema for AWS::IoTTwinMaker::SyncJob \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iottwinmaker-syncjob.html)" ] }, "Properties": { - "$ref": "resources/aws-medialive-channel.json" + "$ref": "resources/aws-iottwinmaker-syncjob.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -20907,9 +20880,9 @@ ], "additionalProperties": false }, - "AWS_Cognito_IdentityPool": { + "AWS_ACMPCA_CertificateAuthorityActivation": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::Cognito::IdentityPool \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-identitypool.html)", + "markdownDescription": "Used to install the certificate authority certificate and update the certificate authority status. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-acmpca-certificateauthorityactivation.html)", "allOf": [ { "type": "object", @@ -20917,14 +20890,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Cognito::IdentityPool" + "AWS::ACMPCA::CertificateAuthorityActivation" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::Cognito::IdentityPool \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-identitypool.html)" + "Used to install the certificate authority certificate and update the certificate authority status. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-acmpca-certificateauthorityactivation.html)" ] }, "Properties": { - "$ref": "resources/aws-cognito-identitypool.json" + "$ref": "resources/aws-acmpca-certificateauthorityactivation.json" } }, "required": [ @@ -20938,9 +20911,9 @@ ], "additionalProperties": false }, - "AWS_B2BI_Transformer": { + "AWS_AppConfig_DeploymentStrategy": { "type": "object", - "markdownDescription": "Definition of AWS::B2BI::Transformer Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-b2bi-transformer.html)", + "markdownDescription": "Resource Type definition for AWS::AppConfig::DeploymentStrategy \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appconfig-deploymentstrategy.html)", "allOf": [ { "type": "object", @@ -20948,14 +20921,14 @@ "Type": { "type": "string", "enum": [ - "AWS::B2BI::Transformer" + "AWS::AppConfig::DeploymentStrategy" ], "markdownEnumDescriptions": [ - "Definition of AWS::B2BI::Transformer Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-b2bi-transformer.html)" + "Resource Type definition for AWS::AppConfig::DeploymentStrategy \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appconfig-deploymentstrategy.html)" ] }, "Properties": { - "$ref": "resources/aws-b2bi-transformer.json" + "$ref": "resources/aws-appconfig-deploymentstrategy.json" } }, "required": [ @@ -20969,9 +20942,9 @@ ], "additionalProperties": false }, - "AWS_OpsWorks_ElasticLoadBalancerAttachment": { + "AWS_EC2_TrafficMirrorTarget": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::OpsWorks::ElasticLoadBalancerAttachment \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opsworks-elasticloadbalancerattachment.html)", + "markdownDescription": "Resource Type definition for AWS::EC2::TrafficMirrorTarget \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-trafficmirrortarget.html)", "allOf": [ { "type": "object", @@ -20979,19 +20952,18 @@ "Type": { "type": "string", "enum": [ - "AWS::OpsWorks::ElasticLoadBalancerAttachment" + "AWS::EC2::TrafficMirrorTarget" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::OpsWorks::ElasticLoadBalancerAttachment \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opsworks-elasticloadbalancerattachment.html)" + "Resource Type definition for AWS::EC2::TrafficMirrorTarget \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-trafficmirrortarget.html)" ] }, "Properties": { - "$ref": "resources/aws-opsworks-elasticloadbalancerattachment.json" + "$ref": "resources/aws-ec2-trafficmirrortarget.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -21000,9 +20972,9 @@ ], "additionalProperties": false }, - "AWS_Macie_AllowList": { + "AWS_EC2_VPCCidrBlock": { "type": "object", - "markdownDescription": "Macie AllowList resource schema \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-macie-allowlist.html)", + "markdownDescription": "Resource Type definition for AWS::EC2::VPCCidrBlock \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpccidrblock.html)", "allOf": [ { "type": "object", @@ -21010,14 +20982,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Macie::AllowList" + "AWS::EC2::VPCCidrBlock" ], "markdownEnumDescriptions": [ - "Macie AllowList resource schema \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-macie-allowlist.html)" + "Resource Type definition for AWS::EC2::VPCCidrBlock \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpccidrblock.html)" ] }, "Properties": { - "$ref": "resources/aws-macie-allowlist.json" + "$ref": "resources/aws-ec2-vpccidrblock.json" } }, "required": [ @@ -21031,9 +21003,9 @@ ], "additionalProperties": false }, - "AWS_ControlTower_LandingZone": { + "AWS_KafkaConnect_WorkerConfiguration": { "type": "object", - "markdownDescription": "Definition of AWS::ControlTower::LandingZone Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-controltower-landingzone.html)", + "markdownDescription": "The configuration of the workers, which are the processes that run the connector logic. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kafkaconnect-workerconfiguration.html)", "allOf": [ { "type": "object", @@ -21041,14 +21013,14 @@ "Type": { "type": "string", "enum": [ - "AWS::ControlTower::LandingZone" + "AWS::KafkaConnect::WorkerConfiguration" ], "markdownEnumDescriptions": [ - "Definition of AWS::ControlTower::LandingZone Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-controltower-landingzone.html)" + "The configuration of the workers, which are the processes that run the connector logic. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kafkaconnect-workerconfiguration.html)" ] }, "Properties": { - "$ref": "resources/aws-controltower-landingzone.json" + "$ref": "resources/aws-kafkaconnect-workerconfiguration.json" } }, "required": [ @@ -21062,9 +21034,9 @@ ], "additionalProperties": false }, - "AWS_QuickSight_VPCConnection": { + "AWS_DataBrew_Ruleset": { "type": "object", - "markdownDescription": "Definition of the AWS::QuickSight::VPCConnection Resource Type. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-quicksight-vpcconnection.html)", + "markdownDescription": "Resource schema for AWS::DataBrew::Ruleset. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-databrew-ruleset.html)", "allOf": [ { "type": "object", @@ -21072,18 +21044,19 @@ "Type": { "type": "string", "enum": [ - "AWS::QuickSight::VPCConnection" + "AWS::DataBrew::Ruleset" ], "markdownEnumDescriptions": [ - "Definition of the AWS::QuickSight::VPCConnection Resource Type. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-quicksight-vpcconnection.html)" + "Resource schema for AWS::DataBrew::Ruleset. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-databrew-ruleset.html)" ] }, "Properties": { - "$ref": "resources/aws-quicksight-vpcconnection.json" + "$ref": "resources/aws-databrew-ruleset.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -21092,9 +21065,9 @@ ], "additionalProperties": false }, - "AWS_IVS_EncoderConfiguration": { + "AWS_ElasticBeanstalk_Application": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::IVS::EncoderConfiguration. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ivs-encoderconfiguration.html)", + "markdownDescription": "The AWS::ElasticBeanstalk::Application resource specifies an Elastic Beanstalk application. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticbeanstalk-application.html)", "allOf": [ { "type": "object", @@ -21102,14 +21075,14 @@ "Type": { "type": "string", "enum": [ - "AWS::IVS::EncoderConfiguration" + "AWS::ElasticBeanstalk::Application" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::IVS::EncoderConfiguration. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ivs-encoderconfiguration.html)" + "The AWS::ElasticBeanstalk::Application resource specifies an Elastic Beanstalk application. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticbeanstalk-application.html)" ] }, "Properties": { - "$ref": "resources/aws-ivs-encoderconfiguration.json" + "$ref": "resources/aws-elasticbeanstalk-application.json" } }, "required": [ @@ -21122,9 +21095,9 @@ ], "additionalProperties": false }, - "AWS_Lightsail_Certificate": { + "AWS_WorkSpacesWeb_BrowserSettings": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::Lightsail::Certificate. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lightsail-certificate.html)", + "markdownDescription": "Definition of AWS::WorkSpacesWeb::BrowserSettings Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-workspacesweb-browsersettings.html)", "allOf": [ { "type": "object", @@ -21132,19 +21105,18 @@ "Type": { "type": "string", "enum": [ - "AWS::Lightsail::Certificate" + "AWS::WorkSpacesWeb::BrowserSettings" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::Lightsail::Certificate. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lightsail-certificate.html)" + "Definition of AWS::WorkSpacesWeb::BrowserSettings Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-workspacesweb-browsersettings.html)" ] }, "Properties": { - "$ref": "resources/aws-lightsail-certificate.json" + "$ref": "resources/aws-workspacesweb-browsersettings.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -21153,9 +21125,9 @@ ], "additionalProperties": false }, - "AWS_MemoryDB_SubnetGroup": { + "AWS_MediaPackage_PackagingGroup": { "type": "object", - "markdownDescription": "The AWS::MemoryDB::SubnetGroup resource creates an Amazon MemoryDB Subnet Group. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-memorydb-subnetgroup.html)", + "markdownDescription": "Resource schema for AWS::MediaPackage::PackagingGroup \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediapackage-packaginggroup.html)", "allOf": [ { "type": "object", @@ -21163,14 +21135,14 @@ "Type": { "type": "string", "enum": [ - "AWS::MemoryDB::SubnetGroup" + "AWS::MediaPackage::PackagingGroup" ], "markdownEnumDescriptions": [ - "The AWS::MemoryDB::SubnetGroup resource creates an Amazon MemoryDB Subnet Group. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-memorydb-subnetgroup.html)" + "Resource schema for AWS::MediaPackage::PackagingGroup \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediapackage-packaginggroup.html)" ] }, "Properties": { - "$ref": "resources/aws-memorydb-subnetgroup.json" + "$ref": "resources/aws-mediapackage-packaginggroup.json" } }, "required": [ @@ -21184,9 +21156,9 @@ ], "additionalProperties": false }, - "AWS_WAFRegional_RateBasedRule": { + "AWS_GreengrassV2_ComponentVersion": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::WAFRegional::RateBasedRule \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-wafregional-ratebasedrule.html)", + "markdownDescription": "Resource for Greengrass component version. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrassv2-componentversion.html)", "allOf": [ { "type": "object", @@ -21194,19 +21166,18 @@ "Type": { "type": "string", "enum": [ - "AWS::WAFRegional::RateBasedRule" + "AWS::GreengrassV2::ComponentVersion" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::WAFRegional::RateBasedRule \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-wafregional-ratebasedrule.html)" + "Resource for Greengrass component version. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrassv2-componentversion.html)" ] }, "Properties": { - "$ref": "resources/aws-wafregional-ratebasedrule.json" + "$ref": "resources/aws-greengrassv2-componentversion.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -21215,9 +21186,9 @@ ], "additionalProperties": false }, - "AWS_EMR_Step": { + "AWS_SSM_Parameter": { "type": "object", - "markdownDescription": "Schema for AWS::EMR::Step \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-emr-step.html)", + "markdownDescription": "The ``AWS::SSM::Parameter`` resource creates an SSM parameter in SYSlong Parameter Store.\n To create an SSM parameter, you must have the IAMlong (IAM) permissions ``ssm:PutParameter`` and ``ssm:AddTagsToResource``. On stack creation, CFNlong adds the following three tags to the parameter: ``aws:cloudformation:stack-name``, ``aws:cloudformation:logical-id``, and ``aws:cloudformation:stack-id``, in addition to any custom tags you specify.\n To add, update, or remove tags during stack update, you must have IAM permissions for both ``ssm:AddTagsToResource`` and ``ssm:RemoveTagsFromResource``. For more information, see [Managing Access Using Policies](https://docs.aws.amazon.com/systems-manager/latest/userguide/security-iam.html#security_iam_access-manage) in the *User Guide*.\n For information about valid values for parameters, see [About requirements and constraints for parameter names](https://docs.aws.amazon.com/systems-manager/latest/userguide/sysman-paramstore-su-create.html#sysman-parameter-name-constraints) in the *User Guide* and [PutParameter](https://docs.aws.amazon.com/systems-manager/latest/APIReference/API_PutParameter.html) in the *API Reference*. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-parameter.html)", "allOf": [ { "type": "object", @@ -21225,14 +21196,14 @@ "Type": { "type": "string", "enum": [ - "AWS::EMR::Step" + "AWS::SSM::Parameter" ], "markdownEnumDescriptions": [ - "Schema for AWS::EMR::Step \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-emr-step.html)" + "The ``AWS::SSM::Parameter`` resource creates an SSM parameter in SYSlong Parameter Store.\n To create an SSM parameter, you must have the IAMlong (IAM) permissions ``ssm:PutParameter`` and ``ssm:AddTagsToResource``. On stack creation, CFNlong adds the following three tags to the parameter: ``aws:cloudformation:stack-name``, ``aws:cloudformation:logical-id``, and ``aws:cloudformation:stack-id``, in addition to any custom tags you specify.\n To add, update, or remove tags during stack update, you must have IAM permissions for both ``ssm:AddTagsToResource`` and ``ssm:RemoveTagsFromResource``. For more information, see [Managing Access Using Policies](https://docs.aws.amazon.com/systems-manager/latest/userguide/security-iam.html#security_iam_access-manage) in the *User Guide*.\n For information about valid values for parameters, see [About requirements and constraints for parameter names](https://docs.aws.amazon.com/systems-manager/latest/userguide/sysman-paramstore-su-create.html#sysman-parameter-name-constraints) in the *User Guide* and [PutParameter](https://docs.aws.amazon.com/systems-manager/latest/APIReference/API_PutParameter.html) in the *API Reference*. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-parameter.html)" ] }, "Properties": { - "$ref": "resources/aws-emr-step.json" + "$ref": "resources/aws-ssm-parameter.json" } }, "required": [ @@ -21246,9 +21217,9 @@ ], "additionalProperties": false }, - "AWS_Route53Profiles_ProfileAssociation": { + "AWS_Timestream_Database": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::Route53Profiles::ProfileAssociation \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53profiles-profileassociation.html)", + "markdownDescription": "The AWS::Timestream::Database resource creates a Timestream database. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-timestream-database.html)", "allOf": [ { "type": "object", @@ -21256,19 +21227,18 @@ "Type": { "type": "string", "enum": [ - "AWS::Route53Profiles::ProfileAssociation" + "AWS::Timestream::Database" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::Route53Profiles::ProfileAssociation \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53profiles-profileassociation.html)" + "The AWS::Timestream::Database resource creates a Timestream database. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-timestream-database.html)" ] }, "Properties": { - "$ref": "resources/aws-route53profiles-profileassociation.json" + "$ref": "resources/aws-timestream-database.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -21277,9 +21247,9 @@ ], "additionalProperties": false }, - "AWS_AmplifyUIBuilder_Form": { + "AWS_CleanRooms_Membership": { "type": "object", - "markdownDescription": "Definition of AWS::AmplifyUIBuilder::Form Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-amplifyuibuilder-form.html)", + "markdownDescription": "Represents an AWS account that is a part of a collaboration \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cleanrooms-membership.html)", "allOf": [ { "type": "object", @@ -21287,18 +21257,19 @@ "Type": { "type": "string", "enum": [ - "AWS::AmplifyUIBuilder::Form" + "AWS::CleanRooms::Membership" ], "markdownEnumDescriptions": [ - "Definition of AWS::AmplifyUIBuilder::Form Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-amplifyuibuilder-form.html)" + "Represents an AWS account that is a part of a collaboration \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cleanrooms-membership.html)" ] }, "Properties": { - "$ref": "resources/aws-amplifyuibuilder-form.json" + "$ref": "resources/aws-cleanrooms-membership.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -21307,9 +21278,9 @@ ], "additionalProperties": false }, - "AWS_SageMaker_Pipeline": { + "AWS_ECS_Cluster": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::SageMaker::Pipeline \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-pipeline.html)", + "markdownDescription": "The ``AWS::ECS::Cluster`` resource creates an Amazon Elastic Container Service (Amazon ECS) cluster. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ecs-cluster.html)", "allOf": [ { "type": "object", @@ -21317,19 +21288,18 @@ "Type": { "type": "string", "enum": [ - "AWS::SageMaker::Pipeline" + "AWS::ECS::Cluster" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::SageMaker::Pipeline \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-pipeline.html)" + "The ``AWS::ECS::Cluster`` resource creates an Amazon Elastic Container Service (Amazon ECS) cluster. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ecs-cluster.html)" ] }, "Properties": { - "$ref": "resources/aws-sagemaker-pipeline.json" + "$ref": "resources/aws-ecs-cluster.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -21338,9 +21308,9 @@ ], "additionalProperties": false }, - "AWS_Omics_VariantStore": { + "AWS_CodeArtifact_Repository": { "type": "object", - "markdownDescription": "Definition of AWS::Omics::VariantStore Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-omics-variantstore.html)", + "markdownDescription": "The resource schema to create a CodeArtifact repository. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codeartifact-repository.html)", "allOf": [ { "type": "object", @@ -21348,14 +21318,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Omics::VariantStore" + "AWS::CodeArtifact::Repository" ], "markdownEnumDescriptions": [ - "Definition of AWS::Omics::VariantStore Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-omics-variantstore.html)" + "The resource schema to create a CodeArtifact repository. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codeartifact-repository.html)" ] }, "Properties": { - "$ref": "resources/aws-omics-variantstore.json" + "$ref": "resources/aws-codeartifact-repository.json" } }, "required": [ @@ -21369,9 +21339,9 @@ ], "additionalProperties": false }, - "AWS_Pinpoint_GCMChannel": { + "AWS_SES_ContactList": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::Pinpoint::GCMChannel \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-gcmchannel.html)", + "markdownDescription": "Resource schema for AWS::SES::ContactList. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ses-contactlist.html)", "allOf": [ { "type": "object", @@ -21379,19 +21349,18 @@ "Type": { "type": "string", "enum": [ - "AWS::Pinpoint::GCMChannel" + "AWS::SES::ContactList" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::Pinpoint::GCMChannel \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-gcmchannel.html)" + "Resource schema for AWS::SES::ContactList. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ses-contactlist.html)" ] }, "Properties": { - "$ref": "resources/aws-pinpoint-gcmchannel.json" + "$ref": "resources/aws-ses-contactlist.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -21400,9 +21369,9 @@ ], "additionalProperties": false }, - "AWS_EC2_TransitGatewayRouteTable": { + "AWS_DataSync_StorageSystem": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::EC2::TransitGatewayRouteTable \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-transitgatewayroutetable.html)", + "markdownDescription": "Resource schema for AWS::DataSync::StorageSystem. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datasync-storagesystem.html)", "allOf": [ { "type": "object", @@ -21410,14 +21379,14 @@ "Type": { "type": "string", "enum": [ - "AWS::EC2::TransitGatewayRouteTable" + "AWS::DataSync::StorageSystem" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::EC2::TransitGatewayRouteTable \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-transitgatewayroutetable.html)" + "Resource schema for AWS::DataSync::StorageSystem. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datasync-storagesystem.html)" ] }, "Properties": { - "$ref": "resources/aws-ec2-transitgatewayroutetable.json" + "$ref": "resources/aws-datasync-storagesystem.json" } }, "required": [ @@ -21431,9 +21400,9 @@ ], "additionalProperties": false }, - "AWS_LookoutEquipment_InferenceScheduler": { + "AWS_NimbleStudio_StreamingImage": { "type": "object", - "markdownDescription": "Resource schema for LookoutEquipment InferenceScheduler. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lookoutequipment-inferencescheduler.html)", + "markdownDescription": "Resource Type definition for AWS::NimbleStudio::StreamingImage \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-nimblestudio-streamingimage.html)", "allOf": [ { "type": "object", @@ -21441,14 +21410,14 @@ "Type": { "type": "string", "enum": [ - "AWS::LookoutEquipment::InferenceScheduler" + "AWS::NimbleStudio::StreamingImage" ], "markdownEnumDescriptions": [ - "Resource schema for LookoutEquipment InferenceScheduler. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lookoutequipment-inferencescheduler.html)" + "Resource Type definition for AWS::NimbleStudio::StreamingImage \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-nimblestudio-streamingimage.html)" ] }, "Properties": { - "$ref": "resources/aws-lookoutequipment-inferencescheduler.json" + "$ref": "resources/aws-nimblestudio-streamingimage.json" } }, "required": [ @@ -21462,9 +21431,9 @@ ], "additionalProperties": false }, - "AWS_Deadline_StorageProfile": { + "AWS_CE_AnomalySubscription": { "type": "object", - "markdownDescription": "Definition of AWS::Deadline::StorageProfile Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-deadline-storageprofile.html)", + "markdownDescription": "AWS Cost Anomaly Detection leverages advanced Machine Learning technologies to identify anomalous spend and root causes, so you can quickly take action. Create subscription to be notified \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ce-anomalysubscription.html)", "allOf": [ { "type": "object", @@ -21472,14 +21441,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Deadline::StorageProfile" + "AWS::CE::AnomalySubscription" ], "markdownEnumDescriptions": [ - "Definition of AWS::Deadline::StorageProfile Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-deadline-storageprofile.html)" + "AWS Cost Anomaly Detection leverages advanced Machine Learning technologies to identify anomalous spend and root causes, so you can quickly take action. Create subscription to be notified \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ce-anomalysubscription.html)" ] }, "Properties": { - "$ref": "resources/aws-deadline-storageprofile.json" + "$ref": "resources/aws-ce-anomalysubscription.json" } }, "required": [ @@ -21493,9 +21462,9 @@ ], "additionalProperties": false }, - "AWS_IoT_Logging": { + "AWS_SageMaker_AppImageConfig": { "type": "object", - "markdownDescription": "Logging Options enable you to configure your IoT V2 logging role and default logging level so that you can monitor progress events logs as it passes from your devices through Iot core service. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-logging.html)", + "markdownDescription": "Resource Type definition for AWS::SageMaker::AppImageConfig \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-appimageconfig.html)", "allOf": [ { "type": "object", @@ -21503,14 +21472,14 @@ "Type": { "type": "string", "enum": [ - "AWS::IoT::Logging" + "AWS::SageMaker::AppImageConfig" ], "markdownEnumDescriptions": [ - "Logging Options enable you to configure your IoT V2 logging role and default logging level so that you can monitor progress events logs as it passes from your devices through Iot core service. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-logging.html)" + "Resource Type definition for AWS::SageMaker::AppImageConfig \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-appimageconfig.html)" ] }, "Properties": { - "$ref": "resources/aws-iot-logging.json" + "$ref": "resources/aws-sagemaker-appimageconfig.json" } }, "required": [ @@ -21524,9 +21493,9 @@ ], "additionalProperties": false }, - "AWS_Shield_Protection": { + "AWS_Pinpoint_Segment": { "type": "object", - "markdownDescription": "Enables AWS Shield Advanced for a specific AWS resource. The resource can be an Amazon CloudFront distribution, Amazon Route 53 hosted zone, AWS Global Accelerator standard accelerator, Elastic IP Address, Application Load Balancer, or a Classic Load Balancer. You can protect Amazon EC2 instances and Network Load Balancers by association with protected Amazon EC2 Elastic IP addresses. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-shield-protection.html)", + "markdownDescription": "Resource Type definition for AWS::Pinpoint::Segment \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-segment.html)", "allOf": [ { "type": "object", @@ -21534,14 +21503,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Shield::Protection" + "AWS::Pinpoint::Segment" ], "markdownEnumDescriptions": [ - "Enables AWS Shield Advanced for a specific AWS resource. The resource can be an Amazon CloudFront distribution, Amazon Route 53 hosted zone, AWS Global Accelerator standard accelerator, Elastic IP Address, Application Load Balancer, or a Classic Load Balancer. You can protect Amazon EC2 instances and Network Load Balancers by association with protected Amazon EC2 Elastic IP addresses. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-shield-protection.html)" + "Resource Type definition for AWS::Pinpoint::Segment \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-segment.html)" ] }, "Properties": { - "$ref": "resources/aws-shield-protection.json" + "$ref": "resources/aws-pinpoint-segment.json" } }, "required": [ @@ -21555,9 +21524,9 @@ ], "additionalProperties": false }, - "AWS_OpenSearchServerless_SecurityPolicy": { + "AWS_Route53Resolver_ResolverDNSSECConfig": { "type": "object", - "markdownDescription": "Amazon OpenSearchServerless security policy resource \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opensearchserverless-securitypolicy.html)", + "markdownDescription": "Resource schema for AWS::Route53Resolver::ResolverDNSSECConfig. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53resolver-resolverdnssecconfig.html)", "allOf": [ { "type": "object", @@ -21565,19 +21534,18 @@ "Type": { "type": "string", "enum": [ - "AWS::OpenSearchServerless::SecurityPolicy" + "AWS::Route53Resolver::ResolverDNSSECConfig" ], "markdownEnumDescriptions": [ - "Amazon OpenSearchServerless security policy resource \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opensearchserverless-securitypolicy.html)" + "Resource schema for AWS::Route53Resolver::ResolverDNSSECConfig. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53resolver-resolverdnssecconfig.html)" ] }, "Properties": { - "$ref": "resources/aws-opensearchserverless-securitypolicy.json" + "$ref": "resources/aws-route53resolver-resolverdnssecconfig.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -21586,9 +21554,9 @@ ], "additionalProperties": false }, - "AWS_WorkSpacesWeb_Portal": { + "AWS_DataSync_LocationFSxLustre": { "type": "object", - "markdownDescription": "Definition of AWS::WorkSpacesWeb::Portal Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-workspacesweb-portal.html)", + "markdownDescription": "Resource schema for AWS::DataSync::LocationFSxLustre. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datasync-locationfsxlustre.html)", "allOf": [ { "type": "object", @@ -21596,18 +21564,19 @@ "Type": { "type": "string", "enum": [ - "AWS::WorkSpacesWeb::Portal" + "AWS::DataSync::LocationFSxLustre" ], "markdownEnumDescriptions": [ - "Definition of AWS::WorkSpacesWeb::Portal Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-workspacesweb-portal.html)" + "Resource schema for AWS::DataSync::LocationFSxLustre. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datasync-locationfsxlustre.html)" ] }, "Properties": { - "$ref": "resources/aws-workspacesweb-portal.json" + "$ref": "resources/aws-datasync-locationfsxlustre.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -21616,9 +21585,9 @@ ], "additionalProperties": false }, - "AWS_SageMaker_Project": { + "AWS_Route53Resolver_ResolverQueryLoggingConfig": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::SageMaker::Project \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-project.html)", + "markdownDescription": "Resource schema for AWS::Route53Resolver::ResolverQueryLoggingConfig. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53resolver-resolverqueryloggingconfig.html)", "allOf": [ { "type": "object", @@ -21626,19 +21595,18 @@ "Type": { "type": "string", "enum": [ - "AWS::SageMaker::Project" + "AWS::Route53Resolver::ResolverQueryLoggingConfig" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::SageMaker::Project \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-project.html)" + "Resource schema for AWS::Route53Resolver::ResolverQueryLoggingConfig. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53resolver-resolverqueryloggingconfig.html)" ] }, "Properties": { - "$ref": "resources/aws-sagemaker-project.json" + "$ref": "resources/aws-route53resolver-resolverqueryloggingconfig.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -21647,9 +21615,9 @@ ], "additionalProperties": false }, - "AWS_IoT_RoleAlias": { + "AWS_SecurityHub_ProductSubscription": { "type": "object", - "markdownDescription": "Use the AWS::IoT::RoleAlias resource to declare an AWS IoT RoleAlias. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-rolealias.html)", + "markdownDescription": "The AWS::SecurityHub::ProductSubscription resource represents a subscription to a service that is allowed to generate findings for your Security Hub account. One product subscription resource is created for each product enabled. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-securityhub-productsubscription.html)", "allOf": [ { "type": "object", @@ -21657,14 +21625,14 @@ "Type": { "type": "string", "enum": [ - "AWS::IoT::RoleAlias" + "AWS::SecurityHub::ProductSubscription" ], "markdownEnumDescriptions": [ - "Use the AWS::IoT::RoleAlias resource to declare an AWS IoT RoleAlias. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-rolealias.html)" + "The AWS::SecurityHub::ProductSubscription resource represents a subscription to a service that is allowed to generate findings for your Security Hub account. One product subscription resource is created for each product enabled. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-securityhub-productsubscription.html)" ] }, "Properties": { - "$ref": "resources/aws-iot-rolealias.json" + "$ref": "resources/aws-securityhub-productsubscription.json" } }, "required": [ @@ -21678,9 +21646,9 @@ ], "additionalProperties": false }, - "AWS_Scheduler_Schedule": { + "AWS_FIS_TargetAccountConfiguration": { "type": "object", - "markdownDescription": "Definition of AWS::Scheduler::Schedule Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-scheduler-schedule.html)", + "markdownDescription": "Resource schema for AWS::FIS::TargetAccountConfiguration \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-fis-targetaccountconfiguration.html)", "allOf": [ { "type": "object", @@ -21688,14 +21656,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Scheduler::Schedule" + "AWS::FIS::TargetAccountConfiguration" ], "markdownEnumDescriptions": [ - "Definition of AWS::Scheduler::Schedule Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-scheduler-schedule.html)" + "Resource schema for AWS::FIS::TargetAccountConfiguration \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-fis-targetaccountconfiguration.html)" ] }, "Properties": { - "$ref": "resources/aws-scheduler-schedule.json" + "$ref": "resources/aws-fis-targetaccountconfiguration.json" } }, "required": [ @@ -21709,9 +21677,9 @@ ], "additionalProperties": false }, - "AWS_ServiceCatalog_StackSetConstraint": { + "AWS_ServiceCatalog_LaunchNotificationConstraint": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::ServiceCatalog::StackSetConstraint \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicecatalog-stacksetconstraint.html)", + "markdownDescription": "Resource Type definition for AWS::ServiceCatalog::LaunchNotificationConstraint \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicecatalog-launchnotificationconstraint.html)", "allOf": [ { "type": "object", @@ -21719,14 +21687,14 @@ "Type": { "type": "string", "enum": [ - "AWS::ServiceCatalog::StackSetConstraint" + "AWS::ServiceCatalog::LaunchNotificationConstraint" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::ServiceCatalog::StackSetConstraint \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicecatalog-stacksetconstraint.html)" + "Resource Type definition for AWS::ServiceCatalog::LaunchNotificationConstraint \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicecatalog-launchnotificationconstraint.html)" ] }, "Properties": { - "$ref": "resources/aws-servicecatalog-stacksetconstraint.json" + "$ref": "resources/aws-servicecatalog-launchnotificationconstraint.json" } }, "required": [ @@ -21740,9 +21708,9 @@ ], "additionalProperties": false }, - "AWS_Route53_HealthCheck": { + "AWS_EC2_DHCPOptions": { "type": "object", - "markdownDescription": "Resource schema for AWS::Route53::HealthCheck. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53-healthcheck.html)", + "markdownDescription": "Resource Type definition for AWS::EC2::DHCPOptions \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-dhcpoptions.html)", "allOf": [ { "type": "object", @@ -21750,19 +21718,18 @@ "Type": { "type": "string", "enum": [ - "AWS::Route53::HealthCheck" + "AWS::EC2::DHCPOptions" ], "markdownEnumDescriptions": [ - "Resource schema for AWS::Route53::HealthCheck. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53-healthcheck.html)" + "Resource Type definition for AWS::EC2::DHCPOptions \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-dhcpoptions.html)" ] }, "Properties": { - "$ref": "resources/aws-route53-healthcheck.json" + "$ref": "resources/aws-ec2-dhcpoptions.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -21771,9 +21738,9 @@ ], "additionalProperties": false }, - "AWS_AmazonMQ_Configuration": { + "AWS_MediaConnect_FlowOutput": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::AmazonMQ::Configuration \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-amazonmq-configuration.html)", + "markdownDescription": "Resource schema for AWS::MediaConnect::FlowOutput \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediaconnect-flowoutput.html)", "allOf": [ { "type": "object", @@ -21781,14 +21748,14 @@ "Type": { "type": "string", "enum": [ - "AWS::AmazonMQ::Configuration" + "AWS::MediaConnect::FlowOutput" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::AmazonMQ::Configuration \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-amazonmq-configuration.html)" + "Resource schema for AWS::MediaConnect::FlowOutput \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediaconnect-flowoutput.html)" ] }, "Properties": { - "$ref": "resources/aws-amazonmq-configuration.json" + "$ref": "resources/aws-mediaconnect-flowoutput.json" } }, "required": [ @@ -21802,9 +21769,9 @@ ], "additionalProperties": false }, - "AWS_SageMaker_Image": { + "AWS_CustomerProfiles_Domain": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::SageMaker::Image \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-image.html)", + "markdownDescription": "A domain defined for 3rd party data source in Profile Service \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-customerprofiles-domain.html)", "allOf": [ { "type": "object", @@ -21812,14 +21779,14 @@ "Type": { "type": "string", "enum": [ - "AWS::SageMaker::Image" + "AWS::CustomerProfiles::Domain" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::SageMaker::Image \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-image.html)" + "A domain defined for 3rd party data source in Profile Service \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-customerprofiles-domain.html)" ] }, "Properties": { - "$ref": "resources/aws-sagemaker-image.json" + "$ref": "resources/aws-customerprofiles-domain.json" } }, "required": [ @@ -21833,9 +21800,9 @@ ], "additionalProperties": false }, - "AWS_EC2_IPAMScope": { + "AWS_Pinpoint_EmailChannel": { "type": "object", - "markdownDescription": "Resource Schema of AWS::EC2::IPAMScope Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-ipamscope.html)", + "markdownDescription": "Resource Type definition for AWS::Pinpoint::EmailChannel \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-emailchannel.html)", "allOf": [ { "type": "object", @@ -21843,14 +21810,14 @@ "Type": { "type": "string", "enum": [ - "AWS::EC2::IPAMScope" + "AWS::Pinpoint::EmailChannel" ], "markdownEnumDescriptions": [ - "Resource Schema of AWS::EC2::IPAMScope Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-ipamscope.html)" + "Resource Type definition for AWS::Pinpoint::EmailChannel \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-emailchannel.html)" ] }, "Properties": { - "$ref": "resources/aws-ec2-ipamscope.json" + "$ref": "resources/aws-pinpoint-emailchannel.json" } }, "required": [ @@ -21864,9 +21831,9 @@ ], "additionalProperties": false }, - "AWS_VpcLattice_AccessLogSubscription": { + "AWS_EC2_ClientVpnTargetNetworkAssociation": { "type": "object", - "markdownDescription": "Enables access logs to be sent to Amazon CloudWatch, Amazon S3, and Amazon Kinesis Data Firehose. The service network owner can use the access logs to audit the services in the network. The service network owner will only see access logs from clients and services that are associated with their service network. Access log entries represent traffic originated from VPCs associated with that network. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-vpclattice-accesslogsubscription.html)", + "markdownDescription": "Resource Type definition for AWS::EC2::ClientVpnTargetNetworkAssociation \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-clientvpntargetnetworkassociation.html)", "allOf": [ { "type": "object", @@ -21874,14 +21841,14 @@ "Type": { "type": "string", "enum": [ - "AWS::VpcLattice::AccessLogSubscription" + "AWS::EC2::ClientVpnTargetNetworkAssociation" ], "markdownEnumDescriptions": [ - "Enables access logs to be sent to Amazon CloudWatch, Amazon S3, and Amazon Kinesis Data Firehose. The service network owner can use the access logs to audit the services in the network. The service network owner will only see access logs from clients and services that are associated with their service network. Access log entries represent traffic originated from VPCs associated with that network. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-vpclattice-accesslogsubscription.html)" + "Resource Type definition for AWS::EC2::ClientVpnTargetNetworkAssociation \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-clientvpntargetnetworkassociation.html)" ] }, "Properties": { - "$ref": "resources/aws-vpclattice-accesslogsubscription.json" + "$ref": "resources/aws-ec2-clientvpntargetnetworkassociation.json" } }, "required": [ @@ -21895,9 +21862,9 @@ ], "additionalProperties": false }, - "AWS_KinesisAnalytics_ApplicationOutput": { + "AWS_SupportApp_SlackChannelConfiguration": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::KinesisAnalytics::ApplicationOutput \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kinesisanalytics-applicationoutput.html)", + "markdownDescription": "An AWS Support App resource that creates, updates, lists and deletes Slack channel configurations. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-supportapp-slackchannelconfiguration.html)", "allOf": [ { "type": "object", @@ -21905,14 +21872,14 @@ "Type": { "type": "string", "enum": [ - "AWS::KinesisAnalytics::ApplicationOutput" + "AWS::SupportApp::SlackChannelConfiguration" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::KinesisAnalytics::ApplicationOutput \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kinesisanalytics-applicationoutput.html)" + "An AWS Support App resource that creates, updates, lists and deletes Slack channel configurations. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-supportapp-slackchannelconfiguration.html)" ] }, "Properties": { - "$ref": "resources/aws-kinesisanalytics-applicationoutput.json" + "$ref": "resources/aws-supportapp-slackchannelconfiguration.json" } }, "required": [ @@ -21926,9 +21893,9 @@ ], "additionalProperties": false }, - "AWS_IoTFleetHub_Application": { + "AWS_GuardDuty_MalwareProtectionPlan": { "type": "object", - "markdownDescription": "Resource schema for AWS::IoTFleetHub::Application \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotfleethub-application.html)", + "markdownDescription": "Resource Type definition for AWS::GuardDuty::MalwareProtectionPlan \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-guardduty-malwareprotectionplan.html)", "allOf": [ { "type": "object", @@ -21936,14 +21903,14 @@ "Type": { "type": "string", "enum": [ - "AWS::IoTFleetHub::Application" + "AWS::GuardDuty::MalwareProtectionPlan" ], "markdownEnumDescriptions": [ - "Resource schema for AWS::IoTFleetHub::Application \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotfleethub-application.html)" + "Resource Type definition for AWS::GuardDuty::MalwareProtectionPlan \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-guardduty-malwareprotectionplan.html)" ] }, "Properties": { - "$ref": "resources/aws-iotfleethub-application.json" + "$ref": "resources/aws-guardduty-malwareprotectionplan.json" } }, "required": [ @@ -21957,9 +21924,9 @@ ], "additionalProperties": false }, - "AWS_Lambda_LayerVersionPermission": { + "AWS_Location_RouteCalculator": { "type": "object", - "markdownDescription": "Schema for Lambda LayerVersionPermission \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-layerversionpermission.html)", + "markdownDescription": "Definition of AWS::Location::RouteCalculator Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-location-routecalculator.html)", "allOf": [ { "type": "object", @@ -21967,14 +21934,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Lambda::LayerVersionPermission" + "AWS::Location::RouteCalculator" ], "markdownEnumDescriptions": [ - "Schema for Lambda LayerVersionPermission \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-layerversionpermission.html)" + "Definition of AWS::Location::RouteCalculator Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-location-routecalculator.html)" ] }, "Properties": { - "$ref": "resources/aws-lambda-layerversionpermission.json" + "$ref": "resources/aws-location-routecalculator.json" } }, "required": [ @@ -21988,9 +21955,9 @@ ], "additionalProperties": false }, - "AWS_ManagedBlockchain_Node": { + "AWS_EC2_ClientVpnRoute": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::ManagedBlockchain::Node \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-managedblockchain-node.html)", + "markdownDescription": "Resource Type definition for AWS::EC2::ClientVpnRoute \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-clientvpnroute.html)", "allOf": [ { "type": "object", @@ -21998,14 +21965,14 @@ "Type": { "type": "string", "enum": [ - "AWS::ManagedBlockchain::Node" + "AWS::EC2::ClientVpnRoute" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::ManagedBlockchain::Node \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-managedblockchain-node.html)" + "Resource Type definition for AWS::EC2::ClientVpnRoute \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-clientvpnroute.html)" ] }, "Properties": { - "$ref": "resources/aws-managedblockchain-node.json" + "$ref": "resources/aws-ec2-clientvpnroute.json" } }, "required": [ @@ -22019,9 +21986,9 @@ ], "additionalProperties": false }, - "AWS_Location_TrackerConsumer": { + "AWS_IoT_TopicRuleDestination": { "type": "object", - "markdownDescription": "Definition of AWS::Location::TrackerConsumer Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-location-trackerconsumer.html)", + "markdownDescription": "Resource Type definition for AWS::IoT::TopicRuleDestination \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-topicruledestination.html)", "allOf": [ { "type": "object", @@ -22029,50 +21996,18 @@ "Type": { "type": "string", "enum": [ - "AWS::Location::TrackerConsumer" + "AWS::IoT::TopicRuleDestination" ], "markdownEnumDescriptions": [ - "Definition of AWS::Location::TrackerConsumer Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-location-trackerconsumer.html)" + "Resource Type definition for AWS::IoT::TopicRuleDestination \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-topicruledestination.html)" ] }, "Properties": { - "$ref": "resources/aws-location-trackerconsumer.json" - } - }, - "required": [ - "Type", - "Properties" - ] - }, - { - "$ref": "resource.attributes.schema.json#/definitions/ResourceAttributes" - } - ], - "additionalProperties": false - }, - "AWS_DynamoDB_GlobalTable": { - "type": "object", - "markdownDescription": "Version: None. Resource Type definition for AWS::DynamoDB::GlobalTable \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dynamodb-globaltable.html)", - "allOf": [ - { - "type": "object", - "properties": { - "Type": { - "type": "string", - "enum": [ - "AWS::DynamoDB::GlobalTable" - ], - "markdownEnumDescriptions": [ - "Version: None. Resource Type definition for AWS::DynamoDB::GlobalTable \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dynamodb-globaltable.html)" - ] - }, - "Properties": { - "$ref": "resources/aws-dynamodb-globaltable.json" + "$ref": "resources/aws-iot-topicruledestination.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -22081,9 +22016,9 @@ ], "additionalProperties": false }, - "AWS_EC2_InternetGateway": { + "AWS_DLM_LifecyclePolicy": { "type": "object", - "markdownDescription": "Allocates an internet gateway for use with a VPC. After creating the Internet gateway, you then attach it to a VPC. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-internetgateway.html)", + "markdownDescription": "Resource Type definition for AWS::DLM::LifecyclePolicy \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dlm-lifecyclepolicy.html)", "allOf": [ { "type": "object", @@ -22091,14 +22026,14 @@ "Type": { "type": "string", "enum": [ - "AWS::EC2::InternetGateway" + "AWS::DLM::LifecyclePolicy" ], "markdownEnumDescriptions": [ - "Allocates an internet gateway for use with a VPC. After creating the Internet gateway, you then attach it to a VPC. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-internetgateway.html)" + "Resource Type definition for AWS::DLM::LifecyclePolicy \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dlm-lifecyclepolicy.html)" ] }, "Properties": { - "$ref": "resources/aws-ec2-internetgateway.json" + "$ref": "resources/aws-dlm-lifecyclepolicy.json" } }, "required": [ @@ -22111,9 +22046,9 @@ ], "additionalProperties": false }, - "AWS_CloudFront_CachePolicy": { + "AWS_CertificateManager_Account": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::CloudFront::CachePolicy \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudfront-cachepolicy.html)", + "markdownDescription": "Resource schema for AWS::CertificateManager::Account. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-certificatemanager-account.html)", "allOf": [ { "type": "object", @@ -22121,14 +22056,14 @@ "Type": { "type": "string", "enum": [ - "AWS::CloudFront::CachePolicy" + "AWS::CertificateManager::Account" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::CloudFront::CachePolicy \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudfront-cachepolicy.html)" + "Resource schema for AWS::CertificateManager::Account. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-certificatemanager-account.html)" ] }, "Properties": { - "$ref": "resources/aws-cloudfront-cachepolicy.json" + "$ref": "resources/aws-certificatemanager-account.json" } }, "required": [ @@ -22142,9 +22077,9 @@ ], "additionalProperties": false }, - "AWS_DataZone_UserProfile": { + "AWS_IAM_VirtualMFADevice": { "type": "object", - "markdownDescription": "A user profile represents Amazon DataZone users. Amazon DataZone supports both IAM roles and SSO identities to interact with the Amazon DataZone Management Console and the data portal for different purposes. Domain administrators use IAM roles to perform the initial administrative domain-related work in the Amazon DataZone Management Console, including creating new Amazon DataZone domains, configuring metadata form types, and implementing policies. Data workers use their SSO corporate identities via Identity Center to log into the Amazon DataZone Data Portal and access projects where they have memberships. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datazone-userprofile.html)", + "markdownDescription": "Resource Type definition for AWS::IAM::VirtualMFADevice \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-virtualmfadevice.html)", "allOf": [ { "type": "object", @@ -22152,14 +22087,14 @@ "Type": { "type": "string", "enum": [ - "AWS::DataZone::UserProfile" + "AWS::IAM::VirtualMFADevice" ], "markdownEnumDescriptions": [ - "A user profile represents Amazon DataZone users. Amazon DataZone supports both IAM roles and SSO identities to interact with the Amazon DataZone Management Console and the data portal for different purposes. Domain administrators use IAM roles to perform the initial administrative domain-related work in the Amazon DataZone Management Console, including creating new Amazon DataZone domains, configuring metadata form types, and implementing policies. Data workers use their SSO corporate identities via Identity Center to log into the Amazon DataZone Data Portal and access projects where they have memberships. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datazone-userprofile.html)" + "Resource Type definition for AWS::IAM::VirtualMFADevice \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-virtualmfadevice.html)" ] }, "Properties": { - "$ref": "resources/aws-datazone-userprofile.json" + "$ref": "resources/aws-iam-virtualmfadevice.json" } }, "required": [ @@ -22173,9 +22108,9 @@ ], "additionalProperties": false }, - "AWS_QBusiness_WebExperience": { + "AWS_Glue_Partition": { "type": "object", - "markdownDescription": "Definition of AWS::QBusiness::WebExperience Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-qbusiness-webexperience.html)", + "markdownDescription": "Resource Type definition for AWS::Glue::Partition \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-partition.html)", "allOf": [ { "type": "object", @@ -22183,14 +22118,14 @@ "Type": { "type": "string", "enum": [ - "AWS::QBusiness::WebExperience" + "AWS::Glue::Partition" ], "markdownEnumDescriptions": [ - "Definition of AWS::QBusiness::WebExperience Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-qbusiness-webexperience.html)" + "Resource Type definition for AWS::Glue::Partition \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-partition.html)" ] }, "Properties": { - "$ref": "resources/aws-qbusiness-webexperience.json" + "$ref": "resources/aws-glue-partition.json" } }, "required": [ @@ -22204,9 +22139,9 @@ ], "additionalProperties": false }, - "AWS_DataBrew_Job": { + "AWS_WAF_SizeConstraintSet": { "type": "object", - "markdownDescription": "Resource schema for AWS::DataBrew::Job. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-databrew-job.html)", + "markdownDescription": "Resource Type definition for AWS::WAF::SizeConstraintSet \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-waf-sizeconstraintset.html)", "allOf": [ { "type": "object", @@ -22214,14 +22149,14 @@ "Type": { "type": "string", "enum": [ - "AWS::DataBrew::Job" + "AWS::WAF::SizeConstraintSet" ], "markdownEnumDescriptions": [ - "Resource schema for AWS::DataBrew::Job. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-databrew-job.html)" + "Resource Type definition for AWS::WAF::SizeConstraintSet \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-waf-sizeconstraintset.html)" ] }, "Properties": { - "$ref": "resources/aws-databrew-job.json" + "$ref": "resources/aws-waf-sizeconstraintset.json" } }, "required": [ @@ -22235,9 +22170,9 @@ ], "additionalProperties": false }, - "AWS_EMR_StudioSessionMapping": { + "AWS_Pinpoint_ADMChannel": { "type": "object", - "markdownDescription": "An example resource schema demonstrating some basic constructs and validation rules. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-emr-studiosessionmapping.html)", + "markdownDescription": "Resource Type definition for AWS::Pinpoint::ADMChannel \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-admchannel.html)", "allOf": [ { "type": "object", @@ -22245,14 +22180,14 @@ "Type": { "type": "string", "enum": [ - "AWS::EMR::StudioSessionMapping" + "AWS::Pinpoint::ADMChannel" ], "markdownEnumDescriptions": [ - "An example resource schema demonstrating some basic constructs and validation rules. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-emr-studiosessionmapping.html)" + "Resource Type definition for AWS::Pinpoint::ADMChannel \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-admchannel.html)" ] }, "Properties": { - "$ref": "resources/aws-emr-studiosessionmapping.json" + "$ref": "resources/aws-pinpoint-admchannel.json" } }, "required": [ @@ -22266,9 +22201,9 @@ ], "additionalProperties": false }, - "AWS_InternetMonitor_Monitor": { + "AWS_Backup_RestoreTestingSelection": { "type": "object", - "markdownDescription": "Represents a monitor, which defines the monitoring boundaries for measurements that Internet Monitor publishes information about for an application \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-internetmonitor-monitor.html)", + "markdownDescription": "Resource Type definition for AWS::Backup::RestoreTestingSelection \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-backup-restoretestingselection.html)", "allOf": [ { "type": "object", @@ -22276,14 +22211,14 @@ "Type": { "type": "string", "enum": [ - "AWS::InternetMonitor::Monitor" + "AWS::Backup::RestoreTestingSelection" ], "markdownEnumDescriptions": [ - "Represents a monitor, which defines the monitoring boundaries for measurements that Internet Monitor publishes information about for an application \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-internetmonitor-monitor.html)" + "Resource Type definition for AWS::Backup::RestoreTestingSelection \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-backup-restoretestingselection.html)" ] }, "Properties": { - "$ref": "resources/aws-internetmonitor-monitor.json" + "$ref": "resources/aws-backup-restoretestingselection.json" } }, "required": [ @@ -22297,39 +22232,9 @@ ], "additionalProperties": false }, - "AWS_SES_ConfigurationSet": { - "type": "object", - "markdownDescription": "Resource schema for AWS::SES::ConfigurationSet. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ses-configurationset.html)", - "allOf": [ - { - "type": "object", - "properties": { - "Type": { - "type": "string", - "enum": [ - "AWS::SES::ConfigurationSet" - ], - "markdownEnumDescriptions": [ - "Resource schema for AWS::SES::ConfigurationSet. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ses-configurationset.html)" - ] - }, - "Properties": { - "$ref": "resources/aws-ses-configurationset.json" - } - }, - "required": [ - "Type" - ] - }, - { - "$ref": "resource.attributes.schema.json#/definitions/ResourceAttributes" - } - ], - "additionalProperties": false - }, - "AWS_S3Outposts_BucketPolicy": { + "AWS_LicenseManager_License": { "type": "object", - "markdownDescription": "Resource Type Definition for AWS::S3Outposts::BucketPolicy \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-s3outposts-bucketpolicy.html)", + "markdownDescription": "Resource Type definition for AWS::LicenseManager::License \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-licensemanager-license.html)", "allOf": [ { "type": "object", @@ -22337,14 +22242,14 @@ "Type": { "type": "string", "enum": [ - "AWS::S3Outposts::BucketPolicy" + "AWS::LicenseManager::License" ], "markdownEnumDescriptions": [ - "Resource Type Definition for AWS::S3Outposts::BucketPolicy \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-s3outposts-bucketpolicy.html)" + "Resource Type definition for AWS::LicenseManager::License \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-licensemanager-license.html)" ] }, "Properties": { - "$ref": "resources/aws-s3outposts-bucketpolicy.json" + "$ref": "resources/aws-licensemanager-license.json" } }, "required": [ @@ -22358,9 +22263,9 @@ ], "additionalProperties": false }, - "AWS_AppIntegrations_DataIntegration": { + "AWS_RUM_AppMonitor": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::AppIntegrations::DataIntegration \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appintegrations-dataintegration.html)", + "markdownDescription": "Resource Type definition for AWS::RUM::AppMonitor \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rum-appmonitor.html)", "allOf": [ { "type": "object", @@ -22368,14 +22273,14 @@ "Type": { "type": "string", "enum": [ - "AWS::AppIntegrations::DataIntegration" + "AWS::RUM::AppMonitor" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::AppIntegrations::DataIntegration \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appintegrations-dataintegration.html)" + "Resource Type definition for AWS::RUM::AppMonitor \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rum-appmonitor.html)" ] }, "Properties": { - "$ref": "resources/aws-appintegrations-dataintegration.json" + "$ref": "resources/aws-rum-appmonitor.json" } }, "required": [ @@ -22389,9 +22294,9 @@ ], "additionalProperties": false }, - "AWS_Location_GeofenceCollection": { + "AWS_ECR_PublicRepository": { "type": "object", - "markdownDescription": "Definition of AWS::Location::GeofenceCollection Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-location-geofencecollection.html)", + "markdownDescription": "The AWS::ECR::PublicRepository resource specifies an Amazon Elastic Container Public Registry (Amazon Public ECR) repository, where users can push and pull Docker images. For more information, see https://docs.aws.amazon.com/AmazonECR \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ecr-publicrepository.html)", "allOf": [ { "type": "object", @@ -22399,19 +22304,18 @@ "Type": { "type": "string", "enum": [ - "AWS::Location::GeofenceCollection" + "AWS::ECR::PublicRepository" ], "markdownEnumDescriptions": [ - "Definition of AWS::Location::GeofenceCollection Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-location-geofencecollection.html)" + "The AWS::ECR::PublicRepository resource specifies an Amazon Elastic Container Public Registry (Amazon Public ECR) repository, where users can push and pull Docker images. For more information, see https://docs.aws.amazon.com/AmazonECR \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ecr-publicrepository.html)" ] }, "Properties": { - "$ref": "resources/aws-location-geofencecollection.json" + "$ref": "resources/aws-ecr-publicrepository.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -22420,9 +22324,9 @@ ], "additionalProperties": false }, - "AWS_Pinpoint_ApplicationSettings": { + "AWS_MediaPackage_Asset": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::Pinpoint::ApplicationSettings \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-applicationsettings.html)", + "markdownDescription": "Resource schema for AWS::MediaPackage::Asset \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediapackage-asset.html)", "allOf": [ { "type": "object", @@ -22430,14 +22334,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Pinpoint::ApplicationSettings" + "AWS::MediaPackage::Asset" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::Pinpoint::ApplicationSettings \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-applicationsettings.html)" + "Resource schema for AWS::MediaPackage::Asset \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediapackage-asset.html)" ] }, "Properties": { - "$ref": "resources/aws-pinpoint-applicationsettings.json" + "$ref": "resources/aws-mediapackage-asset.json" } }, "required": [ @@ -22451,9 +22355,9 @@ ], "additionalProperties": false }, - "AWS_WAFRegional_IPSet": { + "AWS_EC2_ClientVpnAuthorizationRule": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::WAFRegional::IPSet \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-wafregional-ipset.html)", + "markdownDescription": "Resource Type definition for AWS::EC2::ClientVpnAuthorizationRule \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-clientvpnauthorizationrule.html)", "allOf": [ { "type": "object", @@ -22461,14 +22365,14 @@ "Type": { "type": "string", "enum": [ - "AWS::WAFRegional::IPSet" + "AWS::EC2::ClientVpnAuthorizationRule" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::WAFRegional::IPSet \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-wafregional-ipset.html)" + "Resource Type definition for AWS::EC2::ClientVpnAuthorizationRule \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-clientvpnauthorizationrule.html)" ] }, "Properties": { - "$ref": "resources/aws-wafregional-ipset.json" + "$ref": "resources/aws-ec2-clientvpnauthorizationrule.json" } }, "required": [ @@ -22482,9 +22386,9 @@ ], "additionalProperties": false }, - "AWS_Lambda_EventInvokeConfig": { + "AWS_EFS_FileSystem": { "type": "object", - "markdownDescription": "The AWS::Lambda::EventInvokeConfig resource configures options for asynchronous invocation on a version or an alias. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-eventinvokeconfig.html)", + "markdownDescription": "The ``AWS::EFS::FileSystem`` resource creates a new, empty file system in EFSlong (EFS). You must create a mount target ([AWS::EFS::MountTarget](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-efs-mounttarget.html)) to mount your EFS file system on an EC2 or other AWS cloud compute resource. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-efs-filesystem.html)", "allOf": [ { "type": "object", @@ -22492,19 +22396,18 @@ "Type": { "type": "string", "enum": [ - "AWS::Lambda::EventInvokeConfig" + "AWS::EFS::FileSystem" ], "markdownEnumDescriptions": [ - "The AWS::Lambda::EventInvokeConfig resource configures options for asynchronous invocation on a version or an alias. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-eventinvokeconfig.html)" + "The ``AWS::EFS::FileSystem`` resource creates a new, empty file system in EFSlong (EFS). You must create a mount target ([AWS::EFS::MountTarget](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-efs-mounttarget.html)) to mount your EFS file system on an EC2 or other AWS cloud compute resource. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-efs-filesystem.html)" ] }, "Properties": { - "$ref": "resources/aws-lambda-eventinvokeconfig.json" + "$ref": "resources/aws-efs-filesystem.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -22513,9 +22416,9 @@ ], "additionalProperties": false }, - "AWS_CleanRooms_ConfiguredTable": { + "AWS_Route53Resolver_FirewallRuleGroupAssociation": { "type": "object", - "markdownDescription": "Represents a table that can be associated with collaborations \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cleanrooms-configuredtable.html)", + "markdownDescription": "Resource schema for AWS::Route53Resolver::FirewallRuleGroupAssociation. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53resolver-firewallrulegroupassociation.html)", "allOf": [ { "type": "object", @@ -22523,14 +22426,14 @@ "Type": { "type": "string", "enum": [ - "AWS::CleanRooms::ConfiguredTable" + "AWS::Route53Resolver::FirewallRuleGroupAssociation" ], "markdownEnumDescriptions": [ - "Represents a table that can be associated with collaborations \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cleanrooms-configuredtable.html)" + "Resource schema for AWS::Route53Resolver::FirewallRuleGroupAssociation. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53resolver-firewallrulegroupassociation.html)" ] }, "Properties": { - "$ref": "resources/aws-cleanrooms-configuredtable.json" + "$ref": "resources/aws-route53resolver-firewallrulegroupassociation.json" } }, "required": [ @@ -22544,9 +22447,9 @@ ], "additionalProperties": false }, - "AWS_CodeGuruReviewer_RepositoryAssociation": { + "AWS_CodeDeploy_DeploymentGroup": { "type": "object", - "markdownDescription": "This resource schema represents the RepositoryAssociation resource in the Amazon CodeGuru Reviewer service. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codegurureviewer-repositoryassociation.html)", + "markdownDescription": "Resource Type definition for AWS::CodeDeploy::DeploymentGroup \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codedeploy-deploymentgroup.html)", "allOf": [ { "type": "object", @@ -22554,14 +22457,14 @@ "Type": { "type": "string", "enum": [ - "AWS::CodeGuruReviewer::RepositoryAssociation" + "AWS::CodeDeploy::DeploymentGroup" ], "markdownEnumDescriptions": [ - "This resource schema represents the RepositoryAssociation resource in the Amazon CodeGuru Reviewer service. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codegurureviewer-repositoryassociation.html)" + "Resource Type definition for AWS::CodeDeploy::DeploymentGroup \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codedeploy-deploymentgroup.html)" ] }, "Properties": { - "$ref": "resources/aws-codegurureviewer-repositoryassociation.json" + "$ref": "resources/aws-codedeploy-deploymentgroup.json" } }, "required": [ @@ -22575,9 +22478,9 @@ ], "additionalProperties": false }, - "AWS_EKS_FargateProfile": { + "AWS_GlobalAccelerator_CrossAccountAttachment": { "type": "object", - "markdownDescription": "Resource Schema for AWS::EKS::FargateProfile \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-eks-fargateprofile.html)", + "markdownDescription": "Resource Type definition for AWS::GlobalAccelerator::CrossAccountAttachment \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-globalaccelerator-crossaccountattachment.html)", "allOf": [ { "type": "object", @@ -22585,14 +22488,14 @@ "Type": { "type": "string", "enum": [ - "AWS::EKS::FargateProfile" + "AWS::GlobalAccelerator::CrossAccountAttachment" ], "markdownEnumDescriptions": [ - "Resource Schema for AWS::EKS::FargateProfile \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-eks-fargateprofile.html)" + "Resource Type definition for AWS::GlobalAccelerator::CrossAccountAttachment \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-globalaccelerator-crossaccountattachment.html)" ] }, "Properties": { - "$ref": "resources/aws-eks-fargateprofile.json" + "$ref": "resources/aws-globalaccelerator-crossaccountattachment.json" } }, "required": [ @@ -22606,9 +22509,9 @@ ], "additionalProperties": false }, - "AWS_KinesisAnalyticsV2_ApplicationReferenceDataSource": { + "AWS_Connect_PredefinedAttribute": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::KinesisAnalyticsV2::ApplicationReferenceDataSource \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kinesisanalyticsv2-applicationreferencedatasource.html)", + "markdownDescription": "Resource Type definition for AWS::Connect::PredefinedAttribute \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-connect-predefinedattribute.html)", "allOf": [ { "type": "object", @@ -22616,14 +22519,14 @@ "Type": { "type": "string", "enum": [ - "AWS::KinesisAnalyticsV2::ApplicationReferenceDataSource" + "AWS::Connect::PredefinedAttribute" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::KinesisAnalyticsV2::ApplicationReferenceDataSource \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kinesisanalyticsv2-applicationreferencedatasource.html)" + "Resource Type definition for AWS::Connect::PredefinedAttribute \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-connect-predefinedattribute.html)" ] }, "Properties": { - "$ref": "resources/aws-kinesisanalyticsv2-applicationreferencedatasource.json" + "$ref": "resources/aws-connect-predefinedattribute.json" } }, "required": [ @@ -22637,9 +22540,9 @@ ], "additionalProperties": false }, - "AWS_Route53_CidrCollection": { + "AWS_OpenSearchServerless_SecurityPolicy": { "type": "object", - "markdownDescription": "Resource schema for AWS::Route53::CidrCollection. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53-cidrcollection.html)", + "markdownDescription": "Amazon OpenSearchServerless security policy resource \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opensearchserverless-securitypolicy.html)", "allOf": [ { "type": "object", @@ -22647,14 +22550,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Route53::CidrCollection" + "AWS::OpenSearchServerless::SecurityPolicy" ], "markdownEnumDescriptions": [ - "Resource schema for AWS::Route53::CidrCollection. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53-cidrcollection.html)" + "Amazon OpenSearchServerless security policy resource \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opensearchserverless-securitypolicy.html)" ] }, "Properties": { - "$ref": "resources/aws-route53-cidrcollection.json" + "$ref": "resources/aws-opensearchserverless-securitypolicy.json" } }, "required": [ @@ -22668,9 +22571,9 @@ ], "additionalProperties": false }, - "AWS_ApiGatewayV2_Integration": { + "AWS_Greengrass_SubscriptionDefinition": { "type": "object", - "markdownDescription": "An example resource schema demonstrating some basic constructs and validation rules. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-integration.html)", + "markdownDescription": "Resource Type definition for AWS::Greengrass::SubscriptionDefinition \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-subscriptiondefinition.html)", "allOf": [ { "type": "object", @@ -22678,14 +22581,14 @@ "Type": { "type": "string", "enum": [ - "AWS::ApiGatewayV2::Integration" + "AWS::Greengrass::SubscriptionDefinition" ], "markdownEnumDescriptions": [ - "An example resource schema demonstrating some basic constructs and validation rules. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-integration.html)" + "Resource Type definition for AWS::Greengrass::SubscriptionDefinition \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-subscriptiondefinition.html)" ] }, "Properties": { - "$ref": "resources/aws-apigatewayv2-integration.json" + "$ref": "resources/aws-greengrass-subscriptiondefinition.json" } }, "required": [ @@ -22699,9 +22602,9 @@ ], "additionalProperties": false }, - "AWS_IAM_InstanceProfile": { + "AWS_Glue_CustomEntityType": { "type": "object", - "markdownDescription": "Creates a new instance profile. For information about instance profiles, see [Using instance profiles](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use_switch-role-ec2_instance-profiles.html).\n For information about the number of instance profiles you can create, see [object quotas](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_iam-quotas.html) in the *User Guide*. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-instanceprofile.html)", + "markdownDescription": "Resource Type definition for AWS::Glue::CustomEntityType \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-customentitytype.html)", "allOf": [ { "type": "object", @@ -22709,19 +22612,18 @@ "Type": { "type": "string", "enum": [ - "AWS::IAM::InstanceProfile" + "AWS::Glue::CustomEntityType" ], "markdownEnumDescriptions": [ - "Creates a new instance profile. For information about instance profiles, see [Using instance profiles](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use_switch-role-ec2_instance-profiles.html).\n For information about the number of instance profiles you can create, see [object quotas](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_iam-quotas.html) in the *User Guide*. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-instanceprofile.html)" + "Resource Type definition for AWS::Glue::CustomEntityType \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-customentitytype.html)" ] }, "Properties": { - "$ref": "resources/aws-iam-instanceprofile.json" + "$ref": "resources/aws-glue-customentitytype.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -22730,9 +22632,9 @@ ], "additionalProperties": false }, - "AWS_RDS_GlobalCluster": { + "AWS_SES_ReceiptRule": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::RDS::GlobalCluster \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-globalcluster.html)", + "markdownDescription": "Resource Type definition for AWS::SES::ReceiptRule \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ses-receiptrule.html)", "allOf": [ { "type": "object", @@ -22740,18 +22642,19 @@ "Type": { "type": "string", "enum": [ - "AWS::RDS::GlobalCluster" + "AWS::SES::ReceiptRule" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::RDS::GlobalCluster \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-globalcluster.html)" + "Resource Type definition for AWS::SES::ReceiptRule \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ses-receiptrule.html)" ] }, "Properties": { - "$ref": "resources/aws-rds-globalcluster.json" + "$ref": "resources/aws-ses-receiptrule.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -22760,9 +22663,9 @@ ], "additionalProperties": false }, - "AWS_MediaConnect_FlowEntitlement": { + "AWS_OpenSearchServerless_LifecyclePolicy": { "type": "object", - "markdownDescription": "Resource schema for AWS::MediaConnect::FlowEntitlement \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediaconnect-flowentitlement.html)", + "markdownDescription": "Amazon OpenSearchServerless lifecycle policy resource \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opensearchserverless-lifecyclepolicy.html)", "allOf": [ { "type": "object", @@ -22770,14 +22673,14 @@ "Type": { "type": "string", "enum": [ - "AWS::MediaConnect::FlowEntitlement" + "AWS::OpenSearchServerless::LifecyclePolicy" ], "markdownEnumDescriptions": [ - "Resource schema for AWS::MediaConnect::FlowEntitlement \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediaconnect-flowentitlement.html)" + "Amazon OpenSearchServerless lifecycle policy resource \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opensearchserverless-lifecyclepolicy.html)" ] }, "Properties": { - "$ref": "resources/aws-mediaconnect-flowentitlement.json" + "$ref": "resources/aws-opensearchserverless-lifecyclepolicy.json" } }, "required": [ @@ -22822,9 +22725,9 @@ ], "additionalProperties": false }, - "AWS_Cognito_UserPoolGroup": { + "AWS_Budgets_BudgetsAction": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::Cognito::UserPoolGroup \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpoolgroup.html)", + "markdownDescription": "An example resource schema demonstrating some basic constructs and validation rules. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-budgets-budgetsaction.html)", "allOf": [ { "type": "object", @@ -22832,14 +22735,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Cognito::UserPoolGroup" + "AWS::Budgets::BudgetsAction" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::Cognito::UserPoolGroup \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpoolgroup.html)" + "An example resource schema demonstrating some basic constructs and validation rules. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-budgets-budgetsaction.html)" ] }, "Properties": { - "$ref": "resources/aws-cognito-userpoolgroup.json" + "$ref": "resources/aws-budgets-budgetsaction.json" } }, "required": [ @@ -22853,9 +22756,9 @@ ], "additionalProperties": false }, - "AWS_EC2_Host": { + "AWS_AppMesh_VirtualRouter": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::EC2::Host \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-host.html)", + "markdownDescription": "Resource Type definition for AWS::AppMesh::VirtualRouter \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appmesh-virtualrouter.html)", "allOf": [ { "type": "object", @@ -22863,14 +22766,14 @@ "Type": { "type": "string", "enum": [ - "AWS::EC2::Host" + "AWS::AppMesh::VirtualRouter" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::EC2::Host \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-host.html)" + "Resource Type definition for AWS::AppMesh::VirtualRouter \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appmesh-virtualrouter.html)" ] }, "Properties": { - "$ref": "resources/aws-ec2-host.json" + "$ref": "resources/aws-appmesh-virtualrouter.json" } }, "required": [ @@ -22884,9 +22787,9 @@ ], "additionalProperties": false }, - "AWS_NetworkManager_Site": { + "AWS_SSMQuickSetup_ConfigurationManager": { "type": "object", - "markdownDescription": "The AWS::NetworkManager::Site type describes a site. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkmanager-site.html)", + "markdownDescription": "Definition of AWS::SSMQuickSetup::ConfigurationManager Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssmquicksetup-configurationmanager.html)", "allOf": [ { "type": "object", @@ -22894,14 +22797,14 @@ "Type": { "type": "string", "enum": [ - "AWS::NetworkManager::Site" + "AWS::SSMQuickSetup::ConfigurationManager" ], "markdownEnumDescriptions": [ - "The AWS::NetworkManager::Site type describes a site. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkmanager-site.html)" + "Definition of AWS::SSMQuickSetup::ConfigurationManager Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssmquicksetup-configurationmanager.html)" ] }, "Properties": { - "$ref": "resources/aws-networkmanager-site.json" + "$ref": "resources/aws-ssmquicksetup-configurationmanager.json" } }, "required": [ @@ -22915,9 +22818,9 @@ ], "additionalProperties": false }, - "AWS_CloudFormation_StackSet": { + "AWS_AppStream_ApplicationFleetAssociation": { "type": "object", - "markdownDescription": "StackSet as a resource provides one-click experience for provisioning a StackSet and StackInstances \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudformation-stackset.html)", + "markdownDescription": "Resource Type definition for AWS::AppStream::ApplicationFleetAssociation \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appstream-applicationfleetassociation.html)", "allOf": [ { "type": "object", @@ -22925,14 +22828,14 @@ "Type": { "type": "string", "enum": [ - "AWS::CloudFormation::StackSet" + "AWS::AppStream::ApplicationFleetAssociation" ], "markdownEnumDescriptions": [ - "StackSet as a resource provides one-click experience for provisioning a StackSet and StackInstances \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudformation-stackset.html)" + "Resource Type definition for AWS::AppStream::ApplicationFleetAssociation \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appstream-applicationfleetassociation.html)" ] }, "Properties": { - "$ref": "resources/aws-cloudformation-stackset.json" + "$ref": "resources/aws-appstream-applicationfleetassociation.json" } }, "required": [ @@ -22946,9 +22849,9 @@ ], "additionalProperties": false }, - "AWS_Lightsail_Distribution": { + "AWS_Cognito_LogDeliveryConfiguration": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::Lightsail::Distribution \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lightsail-distribution.html)", + "markdownDescription": "Resource Type definition for AWS::Cognito::LogDeliveryConfiguration \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-logdeliveryconfiguration.html)", "allOf": [ { "type": "object", @@ -22956,14 +22859,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Lightsail::Distribution" + "AWS::Cognito::LogDeliveryConfiguration" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::Lightsail::Distribution \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lightsail-distribution.html)" + "Resource Type definition for AWS::Cognito::LogDeliveryConfiguration \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-logdeliveryconfiguration.html)" ] }, "Properties": { - "$ref": "resources/aws-lightsail-distribution.json" + "$ref": "resources/aws-cognito-logdeliveryconfiguration.json" } }, "required": [ @@ -22977,9 +22880,9 @@ ], "additionalProperties": false }, - "AWS_SDB_Domain": { + "AWS_MediaTailor_Channel": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::SDB::Domain \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sdb-domain.html)", + "markdownDescription": "Definition of AWS::MediaTailor::Channel Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediatailor-channel.html)", "allOf": [ { "type": "object", @@ -22987,14 +22890,107 @@ "Type": { "type": "string", "enum": [ - "AWS::SDB::Domain" + "AWS::MediaTailor::Channel" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::SDB::Domain \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sdb-domain.html)" + "Definition of AWS::MediaTailor::Channel Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediatailor-channel.html)" ] }, "Properties": { - "$ref": "resources/aws-sdb-domain.json" + "$ref": "resources/aws-mediatailor-channel.json" + } + }, + "required": [ + "Type", + "Properties" + ] + }, + { + "$ref": "resource.attributes.schema.json#/definitions/ResourceAttributes" + } + ], + "additionalProperties": false + }, + "AWS_Personalize_DatasetGroup": { + "type": "object", + "markdownDescription": "Resource Schema for AWS::Personalize::DatasetGroup. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-personalize-datasetgroup.html)", + "allOf": [ + { + "type": "object", + "properties": { + "Type": { + "type": "string", + "enum": [ + "AWS::Personalize::DatasetGroup" + ], + "markdownEnumDescriptions": [ + "Resource Schema for AWS::Personalize::DatasetGroup. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-personalize-datasetgroup.html)" + ] + }, + "Properties": { + "$ref": "resources/aws-personalize-datasetgroup.json" + } + }, + "required": [ + "Type", + "Properties" + ] + }, + { + "$ref": "resource.attributes.schema.json#/definitions/ResourceAttributes" + } + ], + "additionalProperties": false + }, + "AWS_Rbin_Rule": { + "type": "object", + "markdownDescription": "Resource Type definition for AWS::Rbin::Rule \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rbin-rule.html)", + "allOf": [ + { + "type": "object", + "properties": { + "Type": { + "type": "string", + "enum": [ + "AWS::Rbin::Rule" + ], + "markdownEnumDescriptions": [ + "Resource Type definition for AWS::Rbin::Rule \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rbin-rule.html)" + ] + }, + "Properties": { + "$ref": "resources/aws-rbin-rule.json" + } + }, + "required": [ + "Type", + "Properties" + ] + }, + { + "$ref": "resource.attributes.schema.json#/definitions/ResourceAttributes" + } + ], + "additionalProperties": false + }, + "AWS_Events_Rule": { + "type": "object", + "markdownDescription": "Resource Type definition for AWS::Events::Rule \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-rule.html)", + "allOf": [ + { + "type": "object", + "properties": { + "Type": { + "type": "string", + "enum": [ + "AWS::Events::Rule" + ], + "markdownEnumDescriptions": [ + "Resource Type definition for AWS::Events::Rule \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-rule.html)" + ] + }, + "Properties": { + "$ref": "resources/aws-events-rule.json" } }, "required": [ @@ -23007,9 +23003,9 @@ ], "additionalProperties": false }, - "AWS_WorkSpacesWeb_UserSettings": { + "AWS_S3ObjectLambda_AccessPointPolicy": { "type": "object", - "markdownDescription": "Definition of AWS::WorkSpacesWeb::UserSettings Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-workspacesweb-usersettings.html)", + "markdownDescription": "AWS::S3ObjectLambda::AccessPointPolicy resource is an Amazon S3ObjectLambda policy type that you can use to control permissions for your S3ObjectLambda \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-s3objectlambda-accesspointpolicy.html)", "allOf": [ { "type": "object", @@ -23017,14 +23013,14 @@ "Type": { "type": "string", "enum": [ - "AWS::WorkSpacesWeb::UserSettings" + "AWS::S3ObjectLambda::AccessPointPolicy" ], "markdownEnumDescriptions": [ - "Definition of AWS::WorkSpacesWeb::UserSettings Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-workspacesweb-usersettings.html)" + "AWS::S3ObjectLambda::AccessPointPolicy resource is an Amazon S3ObjectLambda policy type that you can use to control permissions for your S3ObjectLambda \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-s3objectlambda-accesspointpolicy.html)" ] }, "Properties": { - "$ref": "resources/aws-workspacesweb-usersettings.json" + "$ref": "resources/aws-s3objectlambda-accesspointpolicy.json" } }, "required": [ @@ -23038,9 +23034,9 @@ ], "additionalProperties": false }, - "AWS_WAFRegional_ByteMatchSet": { + "AWS_Redshift_ClusterParameterGroup": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::WAFRegional::ByteMatchSet \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-wafregional-bytematchset.html)", + "markdownDescription": "Resource Type definition for AWS::Redshift::ClusterParameterGroup \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-redshift-clusterparametergroup.html)", "allOf": [ { "type": "object", @@ -23048,14 +23044,14 @@ "Type": { "type": "string", "enum": [ - "AWS::WAFRegional::ByteMatchSet" + "AWS::Redshift::ClusterParameterGroup" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::WAFRegional::ByteMatchSet \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-wafregional-bytematchset.html)" + "Resource Type definition for AWS::Redshift::ClusterParameterGroup \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-redshift-clusterparametergroup.html)" ] }, "Properties": { - "$ref": "resources/aws-wafregional-bytematchset.json" + "$ref": "resources/aws-redshift-clusterparametergroup.json" } }, "required": [ @@ -23069,9 +23065,9 @@ ], "additionalProperties": false }, - "AWS_EC2_VerifiedAccessEndpoint": { + "AWS_AppStream_ApplicationEntitlementAssociation": { "type": "object", - "markdownDescription": "The AWS::EC2::VerifiedAccessEndpoint resource creates an AWS EC2 Verified Access Endpoint. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-verifiedaccessendpoint.html)", + "markdownDescription": "Resource Type definition for AWS::AppStream::ApplicationEntitlementAssociation \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appstream-applicationentitlementassociation.html)", "allOf": [ { "type": "object", @@ -23079,14 +23075,14 @@ "Type": { "type": "string", "enum": [ - "AWS::EC2::VerifiedAccessEndpoint" + "AWS::AppStream::ApplicationEntitlementAssociation" ], "markdownEnumDescriptions": [ - "The AWS::EC2::VerifiedAccessEndpoint resource creates an AWS EC2 Verified Access Endpoint. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-verifiedaccessendpoint.html)" + "Resource Type definition for AWS::AppStream::ApplicationEntitlementAssociation \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appstream-applicationentitlementassociation.html)" ] }, "Properties": { - "$ref": "resources/aws-ec2-verifiedaccessendpoint.json" + "$ref": "resources/aws-appstream-applicationentitlementassociation.json" } }, "required": [ @@ -23100,9 +23096,9 @@ ], "additionalProperties": false }, - "AWS_IoTFleetWise_Vehicle": { + "AWS_DataBrew_Job": { "type": "object", - "markdownDescription": "Definition of AWS::IoTFleetWise::Vehicle Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotfleetwise-vehicle.html)", + "markdownDescription": "Resource schema for AWS::DataBrew::Job. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-databrew-job.html)", "allOf": [ { "type": "object", @@ -23110,14 +23106,14 @@ "Type": { "type": "string", "enum": [ - "AWS::IoTFleetWise::Vehicle" + "AWS::DataBrew::Job" ], "markdownEnumDescriptions": [ - "Definition of AWS::IoTFleetWise::Vehicle Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotfleetwise-vehicle.html)" + "Resource schema for AWS::DataBrew::Job. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-databrew-job.html)" ] }, "Properties": { - "$ref": "resources/aws-iotfleetwise-vehicle.json" + "$ref": "resources/aws-databrew-job.json" } }, "required": [ @@ -23131,9 +23127,9 @@ ], "additionalProperties": false }, - "AWS_Bedrock_DataSource": { + "AWS_CodePipeline_Pipeline": { "type": "object", - "markdownDescription": "Definition of AWS::Bedrock::DataSource Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-bedrock-datasource.html)", + "markdownDescription": "The AWS::CodePipeline::Pipeline resource creates a CodePipeline pipeline that describes how software changes go through a release process. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codepipeline-pipeline.html)", "allOf": [ { "type": "object", @@ -23141,14 +23137,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Bedrock::DataSource" + "AWS::CodePipeline::Pipeline" ], "markdownEnumDescriptions": [ - "Definition of AWS::Bedrock::DataSource Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-bedrock-datasource.html)" + "The AWS::CodePipeline::Pipeline resource creates a CodePipeline pipeline that describes how software changes go through a release process. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codepipeline-pipeline.html)" ] }, "Properties": { - "$ref": "resources/aws-bedrock-datasource.json" + "$ref": "resources/aws-codepipeline-pipeline.json" } }, "required": [ @@ -23162,9 +23158,9 @@ ], "additionalProperties": false }, - "AWS_AutoScaling_ScalingPolicy": { + "AWS_Rekognition_Collection": { "type": "object", - "markdownDescription": "The AWS::AutoScaling::ScalingPolicy resource specifies an Amazon EC2 Auto Scaling scaling policy so that the Auto Scaling group can scale the number of instances available for your application. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-autoscaling-scalingpolicy.html)", + "markdownDescription": "The AWS::Rekognition::Collection type creates an Amazon Rekognition Collection. A collection is a logical grouping of information about detected faces which can later be referenced for searches on the group \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rekognition-collection.html)", "allOf": [ { "type": "object", @@ -23172,14 +23168,14 @@ "Type": { "type": "string", "enum": [ - "AWS::AutoScaling::ScalingPolicy" + "AWS::Rekognition::Collection" ], "markdownEnumDescriptions": [ - "The AWS::AutoScaling::ScalingPolicy resource specifies an Amazon EC2 Auto Scaling scaling policy so that the Auto Scaling group can scale the number of instances available for your application. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-autoscaling-scalingpolicy.html)" + "The AWS::Rekognition::Collection type creates an Amazon Rekognition Collection. A collection is a logical grouping of information about detected faces which can later be referenced for searches on the group \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rekognition-collection.html)" ] }, "Properties": { - "$ref": "resources/aws-autoscaling-scalingpolicy.json" + "$ref": "resources/aws-rekognition-collection.json" } }, "required": [ @@ -23193,9 +23189,9 @@ ], "additionalProperties": false }, - "AWS_LakeFormation_DataCellsFilter": { + "AWS_EC2_TransitGatewayMulticastGroupMember": { "type": "object", - "markdownDescription": "A resource schema representing a Lake Formation Data Cells Filter. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lakeformation-datacellsfilter.html)", + "markdownDescription": "The AWS::EC2::TransitGatewayMulticastGroupMember registers and deregisters members and sources (network interfaces) with the transit gateway multicast group \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-transitgatewaymulticastgroupmember.html)", "allOf": [ { "type": "object", @@ -23203,14 +23199,14 @@ "Type": { "type": "string", "enum": [ - "AWS::LakeFormation::DataCellsFilter" + "AWS::EC2::TransitGatewayMulticastGroupMember" ], "markdownEnumDescriptions": [ - "A resource schema representing a Lake Formation Data Cells Filter. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lakeformation-datacellsfilter.html)" + "The AWS::EC2::TransitGatewayMulticastGroupMember registers and deregisters members and sources (network interfaces) with the transit gateway multicast group \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-transitgatewaymulticastgroupmember.html)" ] }, "Properties": { - "$ref": "resources/aws-lakeformation-datacellsfilter.json" + "$ref": "resources/aws-ec2-transitgatewaymulticastgroupmember.json" } }, "required": [ @@ -23224,9 +23220,9 @@ ], "additionalProperties": false }, - "AWS_SES_MailManagerIngressPoint": { + "AWS_SageMaker_UserProfile": { "type": "object", - "markdownDescription": "Definition of AWS::SES::MailManagerIngressPoint Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ses-mailmanageringresspoint.html)", + "markdownDescription": "Resource Type definition for AWS::SageMaker::UserProfile \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-userprofile.html)", "allOf": [ { "type": "object", @@ -23234,14 +23230,14 @@ "Type": { "type": "string", "enum": [ - "AWS::SES::MailManagerIngressPoint" + "AWS::SageMaker::UserProfile" ], "markdownEnumDescriptions": [ - "Definition of AWS::SES::MailManagerIngressPoint Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ses-mailmanageringresspoint.html)" + "Resource Type definition for AWS::SageMaker::UserProfile \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-userprofile.html)" ] }, "Properties": { - "$ref": "resources/aws-ses-mailmanageringresspoint.json" + "$ref": "resources/aws-sagemaker-userprofile.json" } }, "required": [ @@ -23255,9 +23251,9 @@ ], "additionalProperties": false }, - "AWS_EC2_VPCEndpointConnectionNotification": { + "AWS_Wisdom_AIPromptVersion": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::EC2::VPCEndpointConnectionNotification \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpcendpointconnectionnotification.html)", + "markdownDescription": "Definition of AWS::Wisdom::AIPromptVersion Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-wisdom-aipromptversion.html)", "allOf": [ { "type": "object", @@ -23265,14 +23261,14 @@ "Type": { "type": "string", "enum": [ - "AWS::EC2::VPCEndpointConnectionNotification" + "AWS::Wisdom::AIPromptVersion" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::EC2::VPCEndpointConnectionNotification \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpcendpointconnectionnotification.html)" + "Definition of AWS::Wisdom::AIPromptVersion Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-wisdom-aipromptversion.html)" ] }, "Properties": { - "$ref": "resources/aws-ec2-vpcendpointconnectionnotification.json" + "$ref": "resources/aws-wisdom-aipromptversion.json" } }, "required": [ @@ -23286,9 +23282,9 @@ ], "additionalProperties": false }, - "AWS_Pinpoint_EmailTemplate": { + "AWS_Lambda_Function": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::Pinpoint::EmailTemplate \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-emailtemplate.html)", + "markdownDescription": "The ``AWS::Lambda::Function`` resource creates a Lambda function. To create a function, you need a [deployment package](https://docs.aws.amazon.com/lambda/latest/dg/gettingstarted-package.html) and an [execution role](https://docs.aws.amazon.com/lambda/latest/dg/lambda-intro-execution-role.html). The deployment package is a .zip file archive or container image that contains your function code. The execution role grants the function permission to use AWS services, such as Amazon CloudWatch Logs for log streaming and AWS X-Ray for request tracing.\n You set the package type to ``Image`` if the deployment package is a [container image](https://docs.aws.amazon.com/lambda/latest/dg/lambda-images.html). For these functions, include the URI of the container image in the ECR registry in the [ImageUri property of the Code property](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-function-code.html#cfn-lambda-function-code-imageuri). You do not need to specify the handler and runtime properties. \n You set the package type to ``Zip`` if the deployment package is a [.zip file archive](https://docs.aws.amazon.com/lambda/latest/dg/gettingstarted-package.html#gettingstarted-package-zip). For these functions, specify the S3 location of your .zip file in the ``Code`` property. Alternatively, for Node.js and Python functions, you can define your function inline in the [ZipFile property of the Code property](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-function-code.html#cfn-lambda-function-code-zipfile). In both cases, you must also specify the handler and runtime properties.\n You can use [code signing](https://docs.aws.amazon.com/lambda/latest/dg/configuration-codesigning.html) if your deployment package is a .zip file archive. To enable code signing for this function, specify the ARN of a code-signing configuration. When a user attempts to deploy a code package with ``UpdateFunctionCode``, Lambda checks that the code package has a valid signature from a trusted publisher. The code-signing configuration includes a set of signing profiles, which define the trusted publishers for this function.\n When you update a ``AWS::Lambda::Function`` resource, CFNshort calls the [UpdateFunctionConfiguration](https://docs.aws.amazon.com/lambda/latest/api/API_UpdateFunctionConfiguration.html) and [UpdateFunctionCode](https://docs.aws.amazon.com/lambda/latest/api/API_UpdateFunctionCode.html) LAM APIs under the hood. Because these calls happen sequentially, and invocations can happen between these calls, your function may encounter errors in the time between the calls. For example, if you remove an environment variable, and the code that references that environment variable in the same CFNshort update, you may see invocation errors related to a missing environment variable. To work around this, you can invoke your function against a version or alias by default, rather than the ``$LATEST`` version.\n Note that you configure [provisioned concurrency](https://docs.aws.amazon.com/lambda/latest/dg/provisioned-concurrency.html) on a ``AWS::Lambda::Version`` or a ``AWS::Lambda::Alias``.\n For a complete introduction to Lambda functions, see [What is Lambda?](https://docs.aws.amazon.com/lambda/latest/dg/lambda-welcome.html) in the *Lambda developer guide.* \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-function.html)", "allOf": [ { "type": "object", @@ -23296,14 +23292,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Pinpoint::EmailTemplate" + "AWS::Lambda::Function" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::Pinpoint::EmailTemplate \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-emailtemplate.html)" + "The ``AWS::Lambda::Function`` resource creates a Lambda function. To create a function, you need a [deployment package](https://docs.aws.amazon.com/lambda/latest/dg/gettingstarted-package.html) and an [execution role](https://docs.aws.amazon.com/lambda/latest/dg/lambda-intro-execution-role.html). The deployment package is a .zip file archive or container image that contains your function code. The execution role grants the function permission to use AWS services, such as Amazon CloudWatch Logs for log streaming and AWS X-Ray for request tracing.\n You set the package type to ``Image`` if the deployment package is a [container image](https://docs.aws.amazon.com/lambda/latest/dg/lambda-images.html). For these functions, include the URI of the container image in the ECR registry in the [ImageUri property of the Code property](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-function-code.html#cfn-lambda-function-code-imageuri). You do not need to specify the handler and runtime properties. \n You set the package type to ``Zip`` if the deployment package is a [.zip file archive](https://docs.aws.amazon.com/lambda/latest/dg/gettingstarted-package.html#gettingstarted-package-zip). For these functions, specify the S3 location of your .zip file in the ``Code`` property. Alternatively, for Node.js and Python functions, you can define your function inline in the [ZipFile property of the Code property](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-function-code.html#cfn-lambda-function-code-zipfile). In both cases, you must also specify the handler and runtime properties.\n You can use [code signing](https://docs.aws.amazon.com/lambda/latest/dg/configuration-codesigning.html) if your deployment package is a .zip file archive. To enable code signing for this function, specify the ARN of a code-signing configuration. When a user attempts to deploy a code package with ``UpdateFunctionCode``, Lambda checks that the code package has a valid signature from a trusted publisher. The code-signing configuration includes a set of signing profiles, which define the trusted publishers for this function.\n When you update a ``AWS::Lambda::Function`` resource, CFNshort calls the [UpdateFunctionConfiguration](https://docs.aws.amazon.com/lambda/latest/api/API_UpdateFunctionConfiguration.html) and [UpdateFunctionCode](https://docs.aws.amazon.com/lambda/latest/api/API_UpdateFunctionCode.html) LAM APIs under the hood. Because these calls happen sequentially, and invocations can happen between these calls, your function may encounter errors in the time between the calls. For example, if you remove an environment variable, and the code that references that environment variable in the same CFNshort update, you may see invocation errors related to a missing environment variable. To work around this, you can invoke your function against a version or alias by default, rather than the ``$LATEST`` version.\n Note that you configure [provisioned concurrency](https://docs.aws.amazon.com/lambda/latest/dg/provisioned-concurrency.html) on a ``AWS::Lambda::Version`` or a ``AWS::Lambda::Alias``.\n For a complete introduction to Lambda functions, see [What is Lambda?](https://docs.aws.amazon.com/lambda/latest/dg/lambda-welcome.html) in the *Lambda developer guide.* \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-function.html)" ] }, "Properties": { - "$ref": "resources/aws-pinpoint-emailtemplate.json" + "$ref": "resources/aws-lambda-function.json" } }, "required": [ @@ -23317,9 +23313,9 @@ ], "additionalProperties": false }, - "AWS_EMR_Studio": { + "AWS_IAM_AccessKey": { "type": "object", - "markdownDescription": "Resource schema for AWS::EMR::Studio \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-emr-studio.html)", + "markdownDescription": "Resource Type definition for AWS::IAM::AccessKey \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-accesskey.html)", "allOf": [ { "type": "object", @@ -23327,14 +23323,14 @@ "Type": { "type": "string", "enum": [ - "AWS::EMR::Studio" + "AWS::IAM::AccessKey" ], "markdownEnumDescriptions": [ - "Resource schema for AWS::EMR::Studio \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-emr-studio.html)" + "Resource Type definition for AWS::IAM::AccessKey \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-accesskey.html)" ] }, "Properties": { - "$ref": "resources/aws-emr-studio.json" + "$ref": "resources/aws-iam-accesskey.json" } }, "required": [ @@ -23348,9 +23344,9 @@ ], "additionalProperties": false }, - "AWS_EC2_CapacityReservation": { + "AWS_WAFRegional_GeoMatchSet": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::EC2::CapacityReservation \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-capacityreservation.html)", + "markdownDescription": "Resource Type definition for AWS::WAFRegional::GeoMatchSet \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-wafregional-geomatchset.html)", "allOf": [ { "type": "object", @@ -23358,14 +23354,14 @@ "Type": { "type": "string", "enum": [ - "AWS::EC2::CapacityReservation" + "AWS::WAFRegional::GeoMatchSet" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::EC2::CapacityReservation \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-capacityreservation.html)" + "Resource Type definition for AWS::WAFRegional::GeoMatchSet \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-wafregional-geomatchset.html)" ] }, "Properties": { - "$ref": "resources/aws-ec2-capacityreservation.json" + "$ref": "resources/aws-wafregional-geomatchset.json" } }, "required": [ @@ -23379,9 +23375,9 @@ ], "additionalProperties": false }, - "AWS_Macie_FindingsFilter": { + "AWS_AutoScaling_WarmPool": { "type": "object", - "markdownDescription": "Macie FindingsFilter resource schema. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-macie-findingsfilter.html)", + "markdownDescription": "Resource schema for AWS::AutoScaling::WarmPool. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-autoscaling-warmpool.html)", "allOf": [ { "type": "object", @@ -23389,14 +23385,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Macie::FindingsFilter" + "AWS::AutoScaling::WarmPool" ], "markdownEnumDescriptions": [ - "Macie FindingsFilter resource schema. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-macie-findingsfilter.html)" + "Resource schema for AWS::AutoScaling::WarmPool. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-autoscaling-warmpool.html)" ] }, "Properties": { - "$ref": "resources/aws-macie-findingsfilter.json" + "$ref": "resources/aws-autoscaling-warmpool.json" } }, "required": [ @@ -23410,9 +23406,9 @@ ], "additionalProperties": false }, - "AWS_KinesisAnalyticsV2_Application": { + "AWS_WorkSpacesWeb_IpAccessSettings": { "type": "object", - "markdownDescription": "Creates an Amazon Kinesis Data Analytics application. For information about creating a Kinesis Data Analytics application, see [Creating an Application](https://docs.aws.amazon.com/kinesisanalytics/latest/java/getting-started.html). \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kinesisanalyticsv2-application.html)", + "markdownDescription": "Definition of AWS::WorkSpacesWeb::IpAccessSettings Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-workspacesweb-ipaccesssettings.html)", "allOf": [ { "type": "object", @@ -23420,14 +23416,14 @@ "Type": { "type": "string", "enum": [ - "AWS::KinesisAnalyticsV2::Application" + "AWS::WorkSpacesWeb::IpAccessSettings" ], "markdownEnumDescriptions": [ - "Creates an Amazon Kinesis Data Analytics application. For information about creating a Kinesis Data Analytics application, see [Creating an Application](https://docs.aws.amazon.com/kinesisanalytics/latest/java/getting-started.html). \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kinesisanalyticsv2-application.html)" + "Definition of AWS::WorkSpacesWeb::IpAccessSettings Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-workspacesweb-ipaccesssettings.html)" ] }, "Properties": { - "$ref": "resources/aws-kinesisanalyticsv2-application.json" + "$ref": "resources/aws-workspacesweb-ipaccesssettings.json" } }, "required": [ @@ -23441,9 +23437,9 @@ ], "additionalProperties": false }, - "AWS_S3Outposts_AccessPoint": { + "AWS_Bedrock_Prompt": { "type": "object", - "markdownDescription": "Resource Type Definition for AWS::S3Outposts::AccessPoint \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-s3outposts-accesspoint.html)", + "markdownDescription": "Definition of AWS::Bedrock::Prompt Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-bedrock-prompt.html)", "allOf": [ { "type": "object", @@ -23451,14 +23447,14 @@ "Type": { "type": "string", "enum": [ - "AWS::S3Outposts::AccessPoint" + "AWS::Bedrock::Prompt" ], "markdownEnumDescriptions": [ - "Resource Type Definition for AWS::S3Outposts::AccessPoint \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-s3outposts-accesspoint.html)" + "Definition of AWS::Bedrock::Prompt Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-bedrock-prompt.html)" ] }, "Properties": { - "$ref": "resources/aws-s3outposts-accesspoint.json" + "$ref": "resources/aws-bedrock-prompt.json" } }, "required": [ @@ -23472,9 +23468,9 @@ ], "additionalProperties": false }, - "AWS_SecurityHub_OrganizationConfiguration": { + "AWS_EC2_VPNConnection": { "type": "object", - "markdownDescription": "The AWS::SecurityHub::OrganizationConfiguration resource represents the configuration of your organization in Security Hub. Only the Security Hub administrator account can create Organization Configuration resource in each region and can opt-in to Central Configuration only in the aggregation region of FindingAggregator. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-securityhub-organizationconfiguration.html)", + "markdownDescription": "Specifies a VPN connection between a virtual private gateway and a VPN customer gateway or a transit gateway and a VPN customer gateway.\n To specify a VPN connection between a transit gateway and customer gateway, use the ``TransitGatewayId`` and ``CustomerGatewayId`` properties.\n To specify a VPN connection between a virtual private gateway and customer gateway, use the ``VpnGatewayId`` and ``CustomerGatewayId`` properties.\n For more information, see [](https://docs.aws.amazon.com/vpn/latest/s2svpn/VPC_VPN.html) in the *User Guide*. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpnconnection.html)", "allOf": [ { "type": "object", @@ -23482,14 +23478,14 @@ "Type": { "type": "string", "enum": [ - "AWS::SecurityHub::OrganizationConfiguration" + "AWS::EC2::VPNConnection" ], "markdownEnumDescriptions": [ - "The AWS::SecurityHub::OrganizationConfiguration resource represents the configuration of your organization in Security Hub. Only the Security Hub administrator account can create Organization Configuration resource in each region and can opt-in to Central Configuration only in the aggregation region of FindingAggregator. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-securityhub-organizationconfiguration.html)" + "Specifies a VPN connection between a virtual private gateway and a VPN customer gateway or a transit gateway and a VPN customer gateway.\n To specify a VPN connection between a transit gateway and customer gateway, use the ``TransitGatewayId`` and ``CustomerGatewayId`` properties.\n To specify a VPN connection between a virtual private gateway and customer gateway, use the ``VpnGatewayId`` and ``CustomerGatewayId`` properties.\n For more information, see [](https://docs.aws.amazon.com/vpn/latest/s2svpn/VPC_VPN.html) in the *User Guide*. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpnconnection.html)" ] }, "Properties": { - "$ref": "resources/aws-securityhub-organizationconfiguration.json" + "$ref": "resources/aws-ec2-vpnconnection.json" } }, "required": [ @@ -23503,9 +23499,9 @@ ], "additionalProperties": false }, - "AWS_PCAConnectorAD_Connector": { + "AWS_EC2_Route": { "type": "object", - "markdownDescription": "Definition of AWS::PCAConnectorAD::Connector Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pcaconnectorad-connector.html)", + "markdownDescription": "Specifies a route in a route table. For more information, see [Routes](https://docs.aws.amazon.com/vpc/latest/userguide/VPC_Route_Tables.html#route-table-routes) in the *Amazon VPC User Guide*.\n You must specify either a destination CIDR block or prefix list ID. You must also specify exactly one of the resources as the target.\n If you create a route that references a transit gateway in the same template where you create the transit gateway, you must declare a dependency on the transit gateway attachment. The route table cannot use the transit gateway until it has successfully attached to the VPC. Add a [DependsOn Attribute](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-dependson.html) in the ``AWS::EC2::Route`` resource to explicitly declare a dependency on the ``AWS::EC2::TransitGatewayAttachment`` resource. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-route.html)", "allOf": [ { "type": "object", @@ -23513,14 +23509,14 @@ "Type": { "type": "string", "enum": [ - "AWS::PCAConnectorAD::Connector" + "AWS::EC2::Route" ], "markdownEnumDescriptions": [ - "Definition of AWS::PCAConnectorAD::Connector Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pcaconnectorad-connector.html)" + "Specifies a route in a route table. For more information, see [Routes](https://docs.aws.amazon.com/vpc/latest/userguide/VPC_Route_Tables.html#route-table-routes) in the *Amazon VPC User Guide*.\n You must specify either a destination CIDR block or prefix list ID. You must also specify exactly one of the resources as the target.\n If you create a route that references a transit gateway in the same template where you create the transit gateway, you must declare a dependency on the transit gateway attachment. The route table cannot use the transit gateway until it has successfully attached to the VPC. Add a [DependsOn Attribute](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-dependson.html) in the ``AWS::EC2::Route`` resource to explicitly declare a dependency on the ``AWS::EC2::TransitGatewayAttachment`` resource. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-route.html)" ] }, "Properties": { - "$ref": "resources/aws-pcaconnectorad-connector.json" + "$ref": "resources/aws-ec2-route.json" } }, "required": [ @@ -23534,9 +23530,9 @@ ], "additionalProperties": false }, - "AWS_Kendra_Index": { + "AWS_DataZone_SubscriptionTarget": { "type": "object", - "markdownDescription": "A Kendra index \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kendra-index.html)", + "markdownDescription": "Subscription targets enables one to access the data to which you have subscribed in your projects. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datazone-subscriptiontarget.html)", "allOf": [ { "type": "object", @@ -23544,14 +23540,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Kendra::Index" + "AWS::DataZone::SubscriptionTarget" ], "markdownEnumDescriptions": [ - "A Kendra index \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kendra-index.html)" + "Subscription targets enables one to access the data to which you have subscribed in your projects. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datazone-subscriptiontarget.html)" ] }, "Properties": { - "$ref": "resources/aws-kendra-index.json" + "$ref": "resources/aws-datazone-subscriptiontarget.json" } }, "required": [ @@ -23565,9 +23561,9 @@ ], "additionalProperties": false }, - "AWS_SQS_Queue": { + "AWS_VpcLattice_AccessLogSubscription": { "type": "object", - "markdownDescription": "The ``AWS::SQS::Queue`` resource creates an SQS standard or FIFO queue.\n Keep the following caveats in mind:\n + If you don't specify the ``FifoQueue`` property, SQS creates a standard queue.\n You can't change the queue type after you create it and you can't convert an existing standard queue into a FIFO queue. You must either create a new FIFO queue for your application or delete your existing standard queue and recreate it as a FIFO queue. For more information, see [Moving from a standard queue to a FIFO queue](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/FIFO-queues-moving.html) in the *Developer Guide*. \n + If you don't provide a value for a property, the queue is created with the default value for the property.\n + If you delete a queue, you must wait at least 60 seconds before creating a queue with the same name.\n + To successfully create a new queue, you must provide a queue name that adheres to the [limits related to queues](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/limits-queues.html) and is unique within the scope of your queues.\n \n For more information about creating FIFO (first-in-first-out) queues, see [Creating an queue ()](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/screate-queue-cloudformation.html) in the *Developer Guide*. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sqs-queue.html)", + "markdownDescription": "Enables access logs to be sent to Amazon CloudWatch, Amazon S3, and Amazon Kinesis Data Firehose. The service network owner can use the access logs to audit the services in the network. The service network owner will only see access logs from clients and services that are associated with their service network. Access log entries represent traffic originated from VPCs associated with that network. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-vpclattice-accesslogsubscription.html)", "allOf": [ { "type": "object", @@ -23575,18 +23571,81 @@ "Type": { "type": "string", "enum": [ - "AWS::SQS::Queue" + "AWS::VpcLattice::AccessLogSubscription" ], "markdownEnumDescriptions": [ - "The ``AWS::SQS::Queue`` resource creates an SQS standard or FIFO queue.\n Keep the following caveats in mind:\n + If you don't specify the ``FifoQueue`` property, SQS creates a standard queue.\n You can't change the queue type after you create it and you can't convert an existing standard queue into a FIFO queue. You must either create a new FIFO queue for your application or delete your existing standard queue and recreate it as a FIFO queue. For more information, see [Moving from a standard queue to a FIFO queue](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/FIFO-queues-moving.html) in the *Developer Guide*. \n + If you don't provide a value for a property, the queue is created with the default value for the property.\n + If you delete a queue, you must wait at least 60 seconds before creating a queue with the same name.\n + To successfully create a new queue, you must provide a queue name that adheres to the [limits related to queues](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/limits-queues.html) and is unique within the scope of your queues.\n \n For more information about creating FIFO (first-in-first-out) queues, see [Creating an queue ()](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/screate-queue-cloudformation.html) in the *Developer Guide*. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sqs-queue.html)" + "Enables access logs to be sent to Amazon CloudWatch, Amazon S3, and Amazon Kinesis Data Firehose. The service network owner can use the access logs to audit the services in the network. The service network owner will only see access logs from clients and services that are associated with their service network. Access log entries represent traffic originated from VPCs associated with that network. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-vpclattice-accesslogsubscription.html)" ] }, "Properties": { - "$ref": "resources/aws-sqs-queue.json" + "$ref": "resources/aws-vpclattice-accesslogsubscription.json" } }, "required": [ - "Type" + "Type", + "Properties" + ] + }, + { + "$ref": "resource.attributes.schema.json#/definitions/ResourceAttributes" + } + ], + "additionalProperties": false + }, + "AWS_Route53_DNSSEC": { + "type": "object", + "markdownDescription": "Resource used to control (enable/disable) DNSSEC in a specific hosted zone. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53-dnssec.html)", + "allOf": [ + { + "type": "object", + "properties": { + "Type": { + "type": "string", + "enum": [ + "AWS::Route53::DNSSEC" + ], + "markdownEnumDescriptions": [ + "Resource used to control (enable/disable) DNSSEC in a specific hosted zone. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53-dnssec.html)" + ] + }, + "Properties": { + "$ref": "resources/aws-route53-dnssec.json" + } + }, + "required": [ + "Type", + "Properties" + ] + }, + { + "$ref": "resource.attributes.schema.json#/definitions/ResourceAttributes" + } + ], + "additionalProperties": false + }, + "AWS_B2BI_Partnership": { + "type": "object", + "markdownDescription": "Definition of AWS::B2BI::Partnership Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-b2bi-partnership.html)", + "allOf": [ + { + "type": "object", + "properties": { + "Type": { + "type": "string", + "enum": [ + "AWS::B2BI::Partnership" + ], + "markdownEnumDescriptions": [ + "Definition of AWS::B2BI::Partnership Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-b2bi-partnership.html)" + ] + }, + "Properties": { + "$ref": "resources/aws-b2bi-partnership.json" + } + }, + "required": [ + "Type", + "Properties" ] }, { @@ -23626,9 +23685,9 @@ ], "additionalProperties": false }, - "AWS_DAX_ParameterGroup": { + "AWS_MediaLive_Channel": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::DAX::ParameterGroup \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dax-parametergroup.html)", + "markdownDescription": "Resource Type definition for AWS::MediaLive::Channel \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-medialive-channel.html)", "allOf": [ { "type": "object", @@ -23636,14 +23695,14 @@ "Type": { "type": "string", "enum": [ - "AWS::DAX::ParameterGroup" + "AWS::MediaLive::Channel" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::DAX::ParameterGroup \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dax-parametergroup.html)" + "Resource Type definition for AWS::MediaLive::Channel \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-medialive-channel.html)" ] }, "Properties": { - "$ref": "resources/aws-dax-parametergroup.json" + "$ref": "resources/aws-medialive-channel.json" } }, "required": [ @@ -23656,9 +23715,9 @@ ], "additionalProperties": false }, - "AWS_Connect_ContactFlow": { + "AWS_Route53_HostedZone": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::Connect::ContactFlow \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-connect-contactflow.html)", + "markdownDescription": "Creates a new public or private hosted zone. You create records in a public hosted zone to define how you want to route traffic on the internet for a domain, such as example.com, and its subdomains (apex.example.com, acme.example.com). You create records in a private hosted zone to define how you want to route traffic for a domain and its subdomains within one or more Amazon Virtual Private Clouds (Amazon VPCs). \n You can't convert a public hosted zone to a private hosted zone or vice versa. Instead, you must create a new hosted zone with the same name and create new resource record sets.\n For more information about charges for hosted zones, see [Amazon Route 53 Pricing](https://docs.aws.amazon.com/route53/pricing/).\n Note the following:\n + You can't create a hosted zone for a top-level domain (TLD) such as .com.\n + If your domain is registered with a registrar other than Route 53, you must update the name servers with your registrar to make Route 53 the DNS service for the domain. For more information, see [Migrating DNS Service for an Existing Domain to Amazon Route 53](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/MigratingDNS.html) in the *Amazon Route 53 Developer Guide*. \n \n When you submit a ``CreateHostedZone`` request, the initial status of the hosted zone is ``PENDING``. For public hosted zones, this means that the NS and SOA records are not yet available on all Route 53 DNS servers. When the NS and SOA records are available, the status of the zone changes to ``INSYNC``.\n The ``CreateHostedZone`` request requires the caller to have an ``ec2:DescribeVpcs`` permission.\n When creating private hosted zones, the Amazon VPC must belong to the same partition where the hosted zone is created. A partition is a group of AWS-Regions. Each AWS-account is scoped to one partition.\n The following are the supported partitions:\n + ``aws`` - AWS-Regions \n + ``aws-cn`` - China Regions\n + ``aws-us-gov`` - govcloud-us-region \n \n For more information, see [Access Management](https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html) in the *General Reference*. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53-hostedzone.html)", "allOf": [ { "type": "object", @@ -23666,19 +23725,18 @@ "Type": { "type": "string", "enum": [ - "AWS::Connect::ContactFlow" + "AWS::Route53::HostedZone" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::Connect::ContactFlow \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-connect-contactflow.html)" + "Creates a new public or private hosted zone. You create records in a public hosted zone to define how you want to route traffic on the internet for a domain, such as example.com, and its subdomains (apex.example.com, acme.example.com). You create records in a private hosted zone to define how you want to route traffic for a domain and its subdomains within one or more Amazon Virtual Private Clouds (Amazon VPCs). \n You can't convert a public hosted zone to a private hosted zone or vice versa. Instead, you must create a new hosted zone with the same name and create new resource record sets.\n For more information about charges for hosted zones, see [Amazon Route 53 Pricing](https://docs.aws.amazon.com/route53/pricing/).\n Note the following:\n + You can't create a hosted zone for a top-level domain (TLD) such as .com.\n + If your domain is registered with a registrar other than Route 53, you must update the name servers with your registrar to make Route 53 the DNS service for the domain. For more information, see [Migrating DNS Service for an Existing Domain to Amazon Route 53](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/MigratingDNS.html) in the *Amazon Route 53 Developer Guide*. \n \n When you submit a ``CreateHostedZone`` request, the initial status of the hosted zone is ``PENDING``. For public hosted zones, this means that the NS and SOA records are not yet available on all Route 53 DNS servers. When the NS and SOA records are available, the status of the zone changes to ``INSYNC``.\n The ``CreateHostedZone`` request requires the caller to have an ``ec2:DescribeVpcs`` permission.\n When creating private hosted zones, the Amazon VPC must belong to the same partition where the hosted zone is created. A partition is a group of AWS-Regions. Each AWS-account is scoped to one partition.\n The following are the supported partitions:\n + ``aws`` - AWS-Regions \n + ``aws-cn`` - China Regions\n + ``aws-us-gov`` - govcloud-us-region \n \n For more information, see [Access Management](https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html) in the *General Reference*. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53-hostedzone.html)" ] }, "Properties": { - "$ref": "resources/aws-connect-contactflow.json" + "$ref": "resources/aws-route53-hostedzone.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -23687,9 +23745,9 @@ ], "additionalProperties": false }, - "AWS_VerifiedPermissions_PolicyTemplate": { + "AWS_Redshift_Integration": { "type": "object", - "markdownDescription": "Definition of AWS::VerifiedPermissions::PolicyTemplate Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-verifiedpermissions-policytemplate.html)", + "markdownDescription": "Integration from a source AWS service to a Redshift cluster \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-redshift-integration.html)", "allOf": [ { "type": "object", @@ -23697,14 +23755,14 @@ "Type": { "type": "string", "enum": [ - "AWS::VerifiedPermissions::PolicyTemplate" + "AWS::Redshift::Integration" ], "markdownEnumDescriptions": [ - "Definition of AWS::VerifiedPermissions::PolicyTemplate Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-verifiedpermissions-policytemplate.html)" + "Integration from a source AWS service to a Redshift cluster \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-redshift-integration.html)" ] }, "Properties": { - "$ref": "resources/aws-verifiedpermissions-policytemplate.json" + "$ref": "resources/aws-redshift-integration.json" } }, "required": [ @@ -23718,9 +23776,9 @@ ], "additionalProperties": false }, - "AWS_AppConfig_ConfigurationProfile": { + "AWS_NetworkManager_ConnectPeer": { "type": "object", - "markdownDescription": "An example resource schema demonstrating some basic constructs and validation rules. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appconfig-configurationprofile.html)", + "markdownDescription": "AWS::NetworkManager::ConnectPeer Resource Type Definition. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkmanager-connectpeer.html)", "allOf": [ { "type": "object", @@ -23728,14 +23786,14 @@ "Type": { "type": "string", "enum": [ - "AWS::AppConfig::ConfigurationProfile" + "AWS::NetworkManager::ConnectPeer" ], "markdownEnumDescriptions": [ - "An example resource schema demonstrating some basic constructs and validation rules. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appconfig-configurationprofile.html)" + "AWS::NetworkManager::ConnectPeer Resource Type Definition. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkmanager-connectpeer.html)" ] }, "Properties": { - "$ref": "resources/aws-appconfig-configurationprofile.json" + "$ref": "resources/aws-networkmanager-connectpeer.json" } }, "required": [ @@ -23749,9 +23807,9 @@ ], "additionalProperties": false }, - "AWS_KafkaConnect_WorkerConfiguration": { + "AWS_CloudFormation_TypeActivation": { "type": "object", - "markdownDescription": "The configuration of the workers, which are the processes that run the connector logic. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kafkaconnect-workerconfiguration.html)", + "markdownDescription": "Enable a resource that has been published in the CloudFormation Registry. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudformation-typeactivation.html)", "allOf": [ { "type": "object", @@ -23759,19 +23817,18 @@ "Type": { "type": "string", "enum": [ - "AWS::KafkaConnect::WorkerConfiguration" + "AWS::CloudFormation::TypeActivation" ], "markdownEnumDescriptions": [ - "The configuration of the workers, which are the processes that run the connector logic. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kafkaconnect-workerconfiguration.html)" + "Enable a resource that has been published in the CloudFormation Registry. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudformation-typeactivation.html)" ] }, "Properties": { - "$ref": "resources/aws-kafkaconnect-workerconfiguration.json" + "$ref": "resources/aws-cloudformation-typeactivation.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -23780,9 +23837,9 @@ ], "additionalProperties": false }, - "AWS_ElastiCache_UserGroup": { + "AWS_Lex_ResourcePolicy": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::ElastiCache::UserGroup \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticache-usergroup.html)", + "markdownDescription": "A resource policy with specified policy statements that attaches to a Lex bot or bot alias. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lex-resourcepolicy.html)", "allOf": [ { "type": "object", @@ -23790,14 +23847,14 @@ "Type": { "type": "string", "enum": [ - "AWS::ElastiCache::UserGroup" + "AWS::Lex::ResourcePolicy" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::ElastiCache::UserGroup \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticache-usergroup.html)" + "A resource policy with specified policy statements that attaches to a Lex bot or bot alias. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lex-resourcepolicy.html)" ] }, "Properties": { - "$ref": "resources/aws-elasticache-usergroup.json" + "$ref": "resources/aws-lex-resourcepolicy.json" } }, "required": [ @@ -23811,9 +23868,9 @@ ], "additionalProperties": false }, - "AWS_SystemsManagerSAP_Application": { + "AWS_EC2_Instance": { "type": "object", - "markdownDescription": "Resource schema for AWS::SystemsManagerSAP::Application \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-systemsmanagersap-application.html)", + "markdownDescription": "Resource Type definition for AWS::EC2::Instance \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-instance.html)", "allOf": [ { "type": "object", @@ -23821,19 +23878,18 @@ "Type": { "type": "string", "enum": [ - "AWS::SystemsManagerSAP::Application" + "AWS::EC2::Instance" ], "markdownEnumDescriptions": [ - "Resource schema for AWS::SystemsManagerSAP::Application \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-systemsmanagersap-application.html)" + "Resource Type definition for AWS::EC2::Instance \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-instance.html)" ] }, "Properties": { - "$ref": "resources/aws-systemsmanagersap-application.json" + "$ref": "resources/aws-ec2-instance.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -23842,9 +23898,9 @@ ], "additionalProperties": false }, - "AWS_MediaPackage_Channel": { + "AWS_Pinpoint_APNSVoipSandboxChannel": { "type": "object", - "markdownDescription": "Resource schema for AWS::MediaPackage::Channel \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediapackage-channel.html)", + "markdownDescription": "Resource Type definition for AWS::Pinpoint::APNSVoipSandboxChannel \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-apnsvoipsandboxchannel.html)", "allOf": [ { "type": "object", @@ -23852,14 +23908,14 @@ "Type": { "type": "string", "enum": [ - "AWS::MediaPackage::Channel" + "AWS::Pinpoint::APNSVoipSandboxChannel" ], "markdownEnumDescriptions": [ - "Resource schema for AWS::MediaPackage::Channel \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediapackage-channel.html)" + "Resource Type definition for AWS::Pinpoint::APNSVoipSandboxChannel \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-apnsvoipsandboxchannel.html)" ] }, "Properties": { - "$ref": "resources/aws-mediapackage-channel.json" + "$ref": "resources/aws-pinpoint-apnsvoipsandboxchannel.json" } }, "required": [ @@ -23873,9 +23929,9 @@ ], "additionalProperties": false }, - "AWS_AppSync_Resolver": { + "AWS_EC2_TransitGatewayRoute": { "type": "object", - "markdownDescription": "The ``AWS::AppSync::Resolver`` resource defines the logical GraphQL resolver that you attach to fields in a schema. Request and response templates for resolvers are written in Apache Velocity Template Language (VTL) format. For more information about resolvers, see [Resolver Mapping Template Reference](https://docs.aws.amazon.com/appsync/latest/devguide/resolver-mapping-template-reference.html).\n When you submit an update, CFNLong updates resources based on differences between what you submit and the stack's current template. To cause this resource to be updated you must change a property value for this resource in the CFNshort template. Changing the S3 file content without changing a property value will not result in an update operation.\n See [Update Behaviors of Stack Resources](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html) in the *User Guide*. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-resolver.html)", + "markdownDescription": "Resource Type definition for AWS::EC2::TransitGatewayRoute \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-transitgatewayroute.html)", "allOf": [ { "type": "object", @@ -23883,14 +23939,14 @@ "Type": { "type": "string", "enum": [ - "AWS::AppSync::Resolver" + "AWS::EC2::TransitGatewayRoute" ], "markdownEnumDescriptions": [ - "The ``AWS::AppSync::Resolver`` resource defines the logical GraphQL resolver that you attach to fields in a schema. Request and response templates for resolvers are written in Apache Velocity Template Language (VTL) format. For more information about resolvers, see [Resolver Mapping Template Reference](https://docs.aws.amazon.com/appsync/latest/devguide/resolver-mapping-template-reference.html).\n When you submit an update, CFNLong updates resources based on differences between what you submit and the stack's current template. To cause this resource to be updated you must change a property value for this resource in the CFNshort template. Changing the S3 file content without changing a property value will not result in an update operation.\n See [Update Behaviors of Stack Resources](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html) in the *User Guide*. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-resolver.html)" + "Resource Type definition for AWS::EC2::TransitGatewayRoute \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-transitgatewayroute.html)" ] }, "Properties": { - "$ref": "resources/aws-appsync-resolver.json" + "$ref": "resources/aws-ec2-transitgatewayroute.json" } }, "required": [ @@ -23904,9 +23960,9 @@ ], "additionalProperties": false }, - "AWS_Logs_ResourcePolicy": { + "AWS_Bedrock_FlowVersion": { "type": "object", - "markdownDescription": "The resource schema for AWSLogs ResourcePolicy \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-logs-resourcepolicy.html)", + "markdownDescription": "Definition of AWS::Bedrock::FlowVersion Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-bedrock-flowversion.html)", "allOf": [ { "type": "object", @@ -23914,14 +23970,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Logs::ResourcePolicy" + "AWS::Bedrock::FlowVersion" ], "markdownEnumDescriptions": [ - "The resource schema for AWSLogs ResourcePolicy \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-logs-resourcepolicy.html)" + "Definition of AWS::Bedrock::FlowVersion Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-bedrock-flowversion.html)" ] }, "Properties": { - "$ref": "resources/aws-logs-resourcepolicy.json" + "$ref": "resources/aws-bedrock-flowversion.json" } }, "required": [ @@ -23935,9 +23991,9 @@ ], "additionalProperties": false }, - "AWS_SageMaker_ModelBiasJobDefinition": { + "AWS_ElastiCache_User": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::SageMaker::ModelBiasJobDefinition \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-modelbiasjobdefinition.html)", + "markdownDescription": "Resource Type definition for AWS::ElastiCache::User \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticache-user.html)", "allOf": [ { "type": "object", @@ -23945,14 +24001,14 @@ "Type": { "type": "string", "enum": [ - "AWS::SageMaker::ModelBiasJobDefinition" + "AWS::ElastiCache::User" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::SageMaker::ModelBiasJobDefinition \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-modelbiasjobdefinition.html)" + "Resource Type definition for AWS::ElastiCache::User \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticache-user.html)" ] }, "Properties": { - "$ref": "resources/aws-sagemaker-modelbiasjobdefinition.json" + "$ref": "resources/aws-elasticache-user.json" } }, "required": [ @@ -23966,9 +24022,9 @@ ], "additionalProperties": false }, - "AWS_Oam_Link": { + "AWS_AppSync_ApiCache": { "type": "object", - "markdownDescription": "Definition of AWS::Oam::Link Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-oam-link.html)", + "markdownDescription": "Resource Type definition for AWS::AppSync::ApiCache \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-apicache.html)", "allOf": [ { "type": "object", @@ -23976,14 +24032,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Oam::Link" + "AWS::AppSync::ApiCache" ], "markdownEnumDescriptions": [ - "Definition of AWS::Oam::Link Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-oam-link.html)" + "Resource Type definition for AWS::AppSync::ApiCache \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-apicache.html)" ] }, "Properties": { - "$ref": "resources/aws-oam-link.json" + "$ref": "resources/aws-appsync-apicache.json" } }, "required": [ @@ -23997,9 +24053,9 @@ ], "additionalProperties": false }, - "AWS_PCAConnectorAD_DirectoryRegistration": { + "AWS_AppStream_AppBlockBuilder": { "type": "object", - "markdownDescription": "Definition of AWS::PCAConnectorAD::DirectoryRegistration Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pcaconnectorad-directoryregistration.html)", + "markdownDescription": "Resource Type definition for AWS::AppStream::AppBlockBuilder. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appstream-appblockbuilder.html)", "allOf": [ { "type": "object", @@ -24007,14 +24063,14 @@ "Type": { "type": "string", "enum": [ - "AWS::PCAConnectorAD::DirectoryRegistration" + "AWS::AppStream::AppBlockBuilder" ], "markdownEnumDescriptions": [ - "Definition of AWS::PCAConnectorAD::DirectoryRegistration Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pcaconnectorad-directoryregistration.html)" + "Resource Type definition for AWS::AppStream::AppBlockBuilder. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appstream-appblockbuilder.html)" ] }, "Properties": { - "$ref": "resources/aws-pcaconnectorad-directoryregistration.json" + "$ref": "resources/aws-appstream-appblockbuilder.json" } }, "required": [ @@ -24028,9 +24084,9 @@ ], "additionalProperties": false }, - "AWS_IAM_User": { + "AWS_RoboMaker_RobotApplicationVersion": { "type": "object", - "markdownDescription": "Creates a new IAM user for your AWS-account.\n For information about quotas for the number of IAM users you can create, see [IAM and quotas](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_iam-quotas.html) in the *IAM User Guide*. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-user.html)", + "markdownDescription": "AWS::RoboMaker::RobotApplicationVersion resource creates an AWS RoboMaker RobotApplicationVersion. This helps you control which code your robot uses. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-robomaker-robotapplicationversion.html)", "allOf": [ { "type": "object", @@ -24038,18 +24094,19 @@ "Type": { "type": "string", "enum": [ - "AWS::IAM::User" + "AWS::RoboMaker::RobotApplicationVersion" ], "markdownEnumDescriptions": [ - "Creates a new IAM user for your AWS-account.\n For information about quotas for the number of IAM users you can create, see [IAM and quotas](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_iam-quotas.html) in the *IAM User Guide*. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-user.html)" + "AWS::RoboMaker::RobotApplicationVersion resource creates an AWS RoboMaker RobotApplicationVersion. This helps you control which code your robot uses. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-robomaker-robotapplicationversion.html)" ] }, "Properties": { - "$ref": "resources/aws-iam-user.json" + "$ref": "resources/aws-robomaker-robotapplicationversion.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -24058,9 +24115,9 @@ ], "additionalProperties": false }, - "AWS_ECR_PullThroughCacheRule": { + "AWS_S3ObjectLambda_AccessPoint": { "type": "object", - "markdownDescription": "The AWS::ECR::PullThroughCacheRule resource configures the upstream registry configuration details for an Amazon Elastic Container Registry (Amazon Private ECR) pull-through cache. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ecr-pullthroughcacherule.html)", + "markdownDescription": "The AWS::S3ObjectLambda::AccessPoint resource is an Amazon S3ObjectLambda resource type that you can use to add computation to S3 actions \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-s3objectlambda-accesspoint.html)", "allOf": [ { "type": "object", @@ -24068,18 +24125,19 @@ "Type": { "type": "string", "enum": [ - "AWS::ECR::PullThroughCacheRule" + "AWS::S3ObjectLambda::AccessPoint" ], "markdownEnumDescriptions": [ - "The AWS::ECR::PullThroughCacheRule resource configures the upstream registry configuration details for an Amazon Elastic Container Registry (Amazon Private ECR) pull-through cache. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ecr-pullthroughcacherule.html)" + "The AWS::S3ObjectLambda::AccessPoint resource is an Amazon S3ObjectLambda resource type that you can use to add computation to S3 actions \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-s3objectlambda-accesspoint.html)" ] }, "Properties": { - "$ref": "resources/aws-ecr-pullthroughcacherule.json" + "$ref": "resources/aws-s3objectlambda-accesspoint.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -24088,9 +24146,9 @@ ], "additionalProperties": false }, - "AWS_OpsWorks_App": { + "AWS_VpcLattice_Service": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::OpsWorks::App \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opsworks-app.html)", + "markdownDescription": "A service is any software application that can run on instances containers, or serverless functions within an account or virtual private cloud (VPC). \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-vpclattice-service.html)", "allOf": [ { "type": "object", @@ -24098,19 +24156,18 @@ "Type": { "type": "string", "enum": [ - "AWS::OpsWorks::App" + "AWS::VpcLattice::Service" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::OpsWorks::App \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opsworks-app.html)" + "A service is any software application that can run on instances containers, or serverless functions within an account or virtual private cloud (VPC). \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-vpclattice-service.html)" ] }, "Properties": { - "$ref": "resources/aws-opsworks-app.json" + "$ref": "resources/aws-vpclattice-service.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -24119,9 +24176,9 @@ ], "additionalProperties": false }, - "AWS_IAM_UserPolicy": { + "AWS_SageMaker_ModelPackage": { "type": "object", - "markdownDescription": "Adds or updates an inline policy document that is embedded in the specified IAM user.\n An IAM user can also have a managed policy attached to it. To attach a managed policy to a user, use [AWS::IAM::User](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iam-user.html). To create a new managed policy, use [AWS::IAM::ManagedPolicy](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-managedpolicy.html). For information about policies, see [Managed policies and inline policies](https://docs.aws.amazon.com/IAM/latest/UserGuide/policies-managed-vs-inline.html) in the *IAM User Guide*.\n For information about the maximum number of inline policies that you can embed in a user, see [IAM and quotas](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_iam-quotas.html) in the *IAM User Guide*. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-userpolicy.html)", + "markdownDescription": "Resource Type definition for AWS::SageMaker::ModelPackage \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-modelpackage.html)", "allOf": [ { "type": "object", @@ -24129,19 +24186,18 @@ "Type": { "type": "string", "enum": [ - "AWS::IAM::UserPolicy" + "AWS::SageMaker::ModelPackage" ], "markdownEnumDescriptions": [ - "Adds or updates an inline policy document that is embedded in the specified IAM user.\n An IAM user can also have a managed policy attached to it. To attach a managed policy to a user, use [AWS::IAM::User](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iam-user.html). To create a new managed policy, use [AWS::IAM::ManagedPolicy](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-managedpolicy.html). For information about policies, see [Managed policies and inline policies](https://docs.aws.amazon.com/IAM/latest/UserGuide/policies-managed-vs-inline.html) in the *IAM User Guide*.\n For information about the maximum number of inline policies that you can embed in a user, see [IAM and quotas](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_iam-quotas.html) in the *IAM User Guide*. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-userpolicy.html)" + "Resource Type definition for AWS::SageMaker::ModelPackage \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-modelpackage.html)" ] }, "Properties": { - "$ref": "resources/aws-iam-userpolicy.json" + "$ref": "resources/aws-sagemaker-modelpackage.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -24150,9 +24206,9 @@ ], "additionalProperties": false }, - "AWS_OpsWorks_UserProfile": { + "AWS_Rekognition_Project": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::OpsWorks::UserProfile \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opsworks-userprofile.html)", + "markdownDescription": "The AWS::Rekognition::Project type creates an Amazon Rekognition CustomLabels Project. A project is a grouping of the resources needed to create and manage Dataset and ProjectVersions. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rekognition-project.html)", "allOf": [ { "type": "object", @@ -24160,14 +24216,14 @@ "Type": { "type": "string", "enum": [ - "AWS::OpsWorks::UserProfile" + "AWS::Rekognition::Project" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::OpsWorks::UserProfile \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opsworks-userprofile.html)" + "The AWS::Rekognition::Project type creates an Amazon Rekognition CustomLabels Project. A project is a grouping of the resources needed to create and manage Dataset and ProjectVersions. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rekognition-project.html)" ] }, "Properties": { - "$ref": "resources/aws-opsworks-userprofile.json" + "$ref": "resources/aws-rekognition-project.json" } }, "required": [ @@ -24181,9 +24237,9 @@ ], "additionalProperties": false }, - "AWS_KMS_ReplicaKey": { + "AWS_RDS_DBShardGroup": { "type": "object", - "markdownDescription": "The AWS::KMS::ReplicaKey resource specifies a multi-region replica AWS KMS key in AWS Key Management Service (AWS KMS). \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kms-replicakey.html)", + "markdownDescription": "The AWS::RDS::DBShardGroup resource creates an Amazon Aurora Limitless DB Shard Group. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbshardgroup.html)", "allOf": [ { "type": "object", @@ -24191,14 +24247,14 @@ "Type": { "type": "string", "enum": [ - "AWS::KMS::ReplicaKey" + "AWS::RDS::DBShardGroup" ], "markdownEnumDescriptions": [ - "The AWS::KMS::ReplicaKey resource specifies a multi-region replica AWS KMS key in AWS Key Management Service (AWS KMS). \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kms-replicakey.html)" + "The AWS::RDS::DBShardGroup resource creates an Amazon Aurora Limitless DB Shard Group. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbshardgroup.html)" ] }, "Properties": { - "$ref": "resources/aws-kms-replicakey.json" + "$ref": "resources/aws-rds-dbshardgroup.json" } }, "required": [ @@ -24212,9 +24268,9 @@ ], "additionalProperties": false }, - "AWS_Connect_SecurityProfile": { + "AWS_Neptune_DBCluster": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::Connect::SecurityProfile \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-connect-securityprofile.html)", + "markdownDescription": "The AWS::Neptune::DBCluster resource creates an Amazon Neptune DB cluster. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-neptune-dbcluster.html)", "allOf": [ { "type": "object", @@ -24222,19 +24278,18 @@ "Type": { "type": "string", "enum": [ - "AWS::Connect::SecurityProfile" + "AWS::Neptune::DBCluster" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::Connect::SecurityProfile \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-connect-securityprofile.html)" + "The AWS::Neptune::DBCluster resource creates an Amazon Neptune DB cluster. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-neptune-dbcluster.html)" ] }, "Properties": { - "$ref": "resources/aws-connect-securityprofile.json" + "$ref": "resources/aws-neptune-dbcluster.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -24243,9 +24298,9 @@ ], "additionalProperties": false }, - "AWS_CE_AnomalyMonitor": { + "AWS_DocDB_DBSubnetGroup": { "type": "object", - "markdownDescription": "AWS Cost Anomaly Detection leverages advanced Machine Learning technologies to identify anomalous spend and root causes, so you can quickly take action. You can use Cost Anomaly Detection by creating monitor. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ce-anomalymonitor.html)", + "markdownDescription": "Resource Type definition for AWS::DocDB::DBSubnetGroup \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-docdb-dbsubnetgroup.html)", "allOf": [ { "type": "object", @@ -24253,14 +24308,14 @@ "Type": { "type": "string", "enum": [ - "AWS::CE::AnomalyMonitor" + "AWS::DocDB::DBSubnetGroup" ], "markdownEnumDescriptions": [ - "AWS Cost Anomaly Detection leverages advanced Machine Learning technologies to identify anomalous spend and root causes, so you can quickly take action. You can use Cost Anomaly Detection by creating monitor. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ce-anomalymonitor.html)" + "Resource Type definition for AWS::DocDB::DBSubnetGroup \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-docdb-dbsubnetgroup.html)" ] }, "Properties": { - "$ref": "resources/aws-ce-anomalymonitor.json" + "$ref": "resources/aws-docdb-dbsubnetgroup.json" } }, "required": [ @@ -24274,9 +24329,9 @@ ], "additionalProperties": false }, - "AWS_DocDBElastic_Cluster": { + "AWS_NetworkManager_ConnectAttachment": { "type": "object", - "markdownDescription": "The AWS::DocDBElastic::Cluster Amazon DocumentDB (with MongoDB compatibility) Elastic Scale resource describes a Cluster \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-docdbelastic-cluster.html)", + "markdownDescription": "AWS::NetworkManager::ConnectAttachment Resource Type Definition \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkmanager-connectattachment.html)", "allOf": [ { "type": "object", @@ -24284,14 +24339,14 @@ "Type": { "type": "string", "enum": [ - "AWS::DocDBElastic::Cluster" + "AWS::NetworkManager::ConnectAttachment" ], "markdownEnumDescriptions": [ - "The AWS::DocDBElastic::Cluster Amazon DocumentDB (with MongoDB compatibility) Elastic Scale resource describes a Cluster \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-docdbelastic-cluster.html)" + "AWS::NetworkManager::ConnectAttachment Resource Type Definition \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkmanager-connectattachment.html)" ] }, "Properties": { - "$ref": "resources/aws-docdbelastic-cluster.json" + "$ref": "resources/aws-networkmanager-connectattachment.json" } }, "required": [ @@ -24305,9 +24360,9 @@ ], "additionalProperties": false }, - "AWS_IoT_ThingGroup": { + "AWS_SageMaker_FeatureGroup": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::IoT::ThingGroup \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-thinggroup.html)", + "markdownDescription": "Resource Type definition for AWS::SageMaker::FeatureGroup \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-featuregroup.html)", "allOf": [ { "type": "object", @@ -24315,18 +24370,19 @@ "Type": { "type": "string", "enum": [ - "AWS::IoT::ThingGroup" + "AWS::SageMaker::FeatureGroup" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::IoT::ThingGroup \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-thinggroup.html)" + "Resource Type definition for AWS::SageMaker::FeatureGroup \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-featuregroup.html)" ] }, "Properties": { - "$ref": "resources/aws-iot-thinggroup.json" + "$ref": "resources/aws-sagemaker-featuregroup.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -24335,9 +24391,9 @@ ], "additionalProperties": false }, - "AWS_EMRServerless_Application": { + "AWS_Events_EventBusPolicy": { "type": "object", - "markdownDescription": "Resource schema for AWS::EMRServerless::Application Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-emrserverless-application.html)", + "markdownDescription": "Resource Type definition for AWS::Events::EventBusPolicy \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-eventbuspolicy.html)", "allOf": [ { "type": "object", @@ -24345,14 +24401,14 @@ "Type": { "type": "string", "enum": [ - "AWS::EMRServerless::Application" + "AWS::Events::EventBusPolicy" ], "markdownEnumDescriptions": [ - "Resource schema for AWS::EMRServerless::Application Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-emrserverless-application.html)" + "Resource Type definition for AWS::Events::EventBusPolicy \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-eventbuspolicy.html)" ] }, "Properties": { - "$ref": "resources/aws-emrserverless-application.json" + "$ref": "resources/aws-events-eventbuspolicy.json" } }, "required": [ @@ -24366,9 +24422,9 @@ ], "additionalProperties": false }, - "AWS_MediaLive_Multiplexprogram": { + "AWS_Logs_AccountPolicy": { "type": "object", - "markdownDescription": "Resource schema for AWS::MediaLive::Multiplexprogram \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-medialive-multiplexprogram.html)", + "markdownDescription": "The AWS::Logs::AccountPolicy resource specifies a CloudWatch Logs AccountPolicy. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-logs-accountpolicy.html)", "allOf": [ { "type": "object", @@ -24376,18 +24432,19 @@ "Type": { "type": "string", "enum": [ - "AWS::MediaLive::Multiplexprogram" + "AWS::Logs::AccountPolicy" ], "markdownEnumDescriptions": [ - "Resource schema for AWS::MediaLive::Multiplexprogram \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-medialive-multiplexprogram.html)" + "The AWS::Logs::AccountPolicy resource specifies a CloudWatch Logs AccountPolicy. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-logs-accountpolicy.html)" ] }, "Properties": { - "$ref": "resources/aws-medialive-multiplexprogram.json" + "$ref": "resources/aws-logs-accountpolicy.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -24396,9 +24453,9 @@ ], "additionalProperties": false }, - "AWS_Lightsail_Container": { + "AWS_SQS_QueuePolicy": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::Lightsail::Container \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lightsail-container.html)", + "markdownDescription": "The ``AWS::SQS::QueuePolicy`` type applies a policy to SQS queues. For an example snippet, see [Declaring an policy](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/quickref-iam.html#scenario-sqs-policy) in the *User Guide*. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sqs-queuepolicy.html)", "allOf": [ { "type": "object", @@ -24406,14 +24463,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Lightsail::Container" + "AWS::SQS::QueuePolicy" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::Lightsail::Container \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lightsail-container.html)" + "The ``AWS::SQS::QueuePolicy`` type applies a policy to SQS queues. For an example snippet, see [Declaring an policy](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/quickref-iam.html#scenario-sqs-policy) in the *User Guide*. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sqs-queuepolicy.html)" ] }, "Properties": { - "$ref": "resources/aws-lightsail-container.json" + "$ref": "resources/aws-sqs-queuepolicy.json" } }, "required": [ @@ -24427,9 +24484,9 @@ ], "additionalProperties": false }, - "AWS_SNS_TopicInlinePolicy": { + "AWS_Bedrock_FlowAlias": { "type": "object", - "markdownDescription": "Schema for AWS::SNS::TopicInlinePolicy \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sns-topicinlinepolicy.html)", + "markdownDescription": "Definition of AWS::Bedrock::FlowAlias Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-bedrock-flowalias.html)", "allOf": [ { "type": "object", @@ -24437,14 +24494,14 @@ "Type": { "type": "string", "enum": [ - "AWS::SNS::TopicInlinePolicy" + "AWS::Bedrock::FlowAlias" ], "markdownEnumDescriptions": [ - "Schema for AWS::SNS::TopicInlinePolicy \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sns-topicinlinepolicy.html)" + "Definition of AWS::Bedrock::FlowAlias Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-bedrock-flowalias.html)" ] }, "Properties": { - "$ref": "resources/aws-sns-topicinlinepolicy.json" + "$ref": "resources/aws-bedrock-flowalias.json" } }, "required": [ @@ -24458,9 +24515,9 @@ ], "additionalProperties": false }, - "AWS_EC2_CapacityReservationFleet": { + "AWS_Wisdom_Assistant": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::EC2::CapacityReservationFleet \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-capacityreservationfleet.html)", + "markdownDescription": "Definition of AWS::Wisdom::Assistant Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-wisdom-assistant.html)", "allOf": [ { "type": "object", @@ -24468,18 +24525,19 @@ "Type": { "type": "string", "enum": [ - "AWS::EC2::CapacityReservationFleet" + "AWS::Wisdom::Assistant" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::EC2::CapacityReservationFleet \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-capacityreservationfleet.html)" + "Definition of AWS::Wisdom::Assistant Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-wisdom-assistant.html)" ] }, "Properties": { - "$ref": "resources/aws-ec2-capacityreservationfleet.json" + "$ref": "resources/aws-wisdom-assistant.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -24488,9 +24546,9 @@ ], "additionalProperties": false }, - "AWS_SES_ReceiptRuleSet": { + "AWS_PaymentCryptography_Key": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::SES::ReceiptRuleSet \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ses-receiptruleset.html)", + "markdownDescription": "Definition of AWS::PaymentCryptography::Key Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-paymentcryptography-key.html)", "allOf": [ { "type": "object", @@ -24498,18 +24556,19 @@ "Type": { "type": "string", "enum": [ - "AWS::SES::ReceiptRuleSet" + "AWS::PaymentCryptography::Key" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::SES::ReceiptRuleSet \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ses-receiptruleset.html)" + "Definition of AWS::PaymentCryptography::Key Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-paymentcryptography-key.html)" ] }, "Properties": { - "$ref": "resources/aws-ses-receiptruleset.json" + "$ref": "resources/aws-paymentcryptography-key.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -24518,9 +24577,9 @@ ], "additionalProperties": false }, - "AWS_EC2_TransitGatewayMulticastDomainAssociation": { + "AWS_SES_ConfigurationSet": { "type": "object", - "markdownDescription": "The AWS::EC2::TransitGatewayMulticastDomainAssociation type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-transitgatewaymulticastdomainassociation.html)", + "markdownDescription": "Resource schema for AWS::SES::ConfigurationSet. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ses-configurationset.html)", "allOf": [ { "type": "object", @@ -24528,19 +24587,18 @@ "Type": { "type": "string", "enum": [ - "AWS::EC2::TransitGatewayMulticastDomainAssociation" + "AWS::SES::ConfigurationSet" ], "markdownEnumDescriptions": [ - "The AWS::EC2::TransitGatewayMulticastDomainAssociation type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-transitgatewaymulticastdomainassociation.html)" + "Resource schema for AWS::SES::ConfigurationSet. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ses-configurationset.html)" ] }, "Properties": { - "$ref": "resources/aws-ec2-transitgatewaymulticastdomainassociation.json" + "$ref": "resources/aws-ses-configurationset.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -24549,9 +24607,9 @@ ], "additionalProperties": false }, - "AWS_Connect_RoutingProfile": { + "AWS_ServiceCatalog_StackSetConstraint": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::Connect::RoutingProfile \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-connect-routingprofile.html)", + "markdownDescription": "Resource Type definition for AWS::ServiceCatalog::StackSetConstraint \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicecatalog-stacksetconstraint.html)", "allOf": [ { "type": "object", @@ -24559,14 +24617,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Connect::RoutingProfile" + "AWS::ServiceCatalog::StackSetConstraint" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::Connect::RoutingProfile \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-connect-routingprofile.html)" + "Resource Type definition for AWS::ServiceCatalog::StackSetConstraint \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicecatalog-stacksetconstraint.html)" ] }, "Properties": { - "$ref": "resources/aws-connect-routingprofile.json" + "$ref": "resources/aws-servicecatalog-stacksetconstraint.json" } }, "required": [ @@ -24580,9 +24638,9 @@ ], "additionalProperties": false }, - "AWS_IoTEvents_Input": { + "AWS_DataSync_LocationAzureBlob": { "type": "object", - "markdownDescription": "The AWS::IoTEvents::Input resource creates an input. To monitor your devices and processes, they must have a way to get telemetry data into AWS IoT Events. This is done by sending messages as *inputs* to AWS IoT Events. For more information, see [How to Use AWS IoT Events](https://docs.aws.amazon.com/iotevents/latest/developerguide/how-to-use-iotevents.html) in the *AWS IoT Events Developer Guide*. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotevents-input.html)", + "markdownDescription": "Resource schema for AWS::DataSync::LocationAzureBlob. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datasync-locationazureblob.html)", "allOf": [ { "type": "object", @@ -24590,14 +24648,14 @@ "Type": { "type": "string", "enum": [ - "AWS::IoTEvents::Input" + "AWS::DataSync::LocationAzureBlob" ], "markdownEnumDescriptions": [ - "The AWS::IoTEvents::Input resource creates an input. To monitor your devices and processes, they must have a way to get telemetry data into AWS IoT Events. This is done by sending messages as *inputs* to AWS IoT Events. For more information, see [How to Use AWS IoT Events](https://docs.aws.amazon.com/iotevents/latest/developerguide/how-to-use-iotevents.html) in the *AWS IoT Events Developer Guide*. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotevents-input.html)" + "Resource schema for AWS::DataSync::LocationAzureBlob. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datasync-locationazureblob.html)" ] }, "Properties": { - "$ref": "resources/aws-iotevents-input.json" + "$ref": "resources/aws-datasync-locationazureblob.json" } }, "required": [ @@ -24611,9 +24669,9 @@ ], "additionalProperties": false }, - "AWS_CloudFront_StreamingDistribution": { + "AWS_LakeFormation_Permissions": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::CloudFront::StreamingDistribution \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudfront-streamingdistribution.html)", + "markdownDescription": "Resource Type definition for AWS::LakeFormation::Permissions \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lakeformation-permissions.html)", "allOf": [ { "type": "object", @@ -24621,14 +24679,14 @@ "Type": { "type": "string", "enum": [ - "AWS::CloudFront::StreamingDistribution" + "AWS::LakeFormation::Permissions" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::CloudFront::StreamingDistribution \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudfront-streamingdistribution.html)" + "Resource Type definition for AWS::LakeFormation::Permissions \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lakeformation-permissions.html)" ] }, "Properties": { - "$ref": "resources/aws-cloudfront-streamingdistribution.json" + "$ref": "resources/aws-lakeformation-permissions.json" } }, "required": [ @@ -24642,9 +24700,9 @@ ], "additionalProperties": false }, - "AWS_Personalize_Dataset": { + "AWS_ManagedBlockchain_Accessor": { "type": "object", - "markdownDescription": "Resource schema for AWS::Personalize::Dataset. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-personalize-dataset.html)", + "markdownDescription": "Definition of AWS::ManagedBlockchain::com.amazonaws.taiga.webservice.api#Accessor Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-managedblockchain-accessor.html)", "allOf": [ { "type": "object", @@ -24652,14 +24710,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Personalize::Dataset" + "AWS::ManagedBlockchain::Accessor" ], "markdownEnumDescriptions": [ - "Resource schema for AWS::Personalize::Dataset. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-personalize-dataset.html)" + "Definition of AWS::ManagedBlockchain::com.amazonaws.taiga.webservice.api#Accessor Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-managedblockchain-accessor.html)" ] }, "Properties": { - "$ref": "resources/aws-personalize-dataset.json" + "$ref": "resources/aws-managedblockchain-accessor.json" } }, "required": [ @@ -24673,9 +24731,9 @@ ], "additionalProperties": false }, - "AWS_EC2_VPC": { + "AWS_AccessAnalyzer_Analyzer": { "type": "object", - "markdownDescription": "Specifies a virtual private cloud (VPC).\n To add an IPv6 CIDR block to the VPC, see [AWS::EC2::VPCCidrBlock](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpccidrblock.html).\n For more information, see [Virtual private clouds (VPC)](https://docs.aws.amazon.com/vpc/latest/userguide/configure-your-vpc.html) in the *Amazon VPC User Guide*. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpc.html)", + "markdownDescription": "The AWS::AccessAnalyzer::Analyzer type specifies an analyzer of the user's account \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-accessanalyzer-analyzer.html)", "allOf": [ { "type": "object", @@ -24683,18 +24741,19 @@ "Type": { "type": "string", "enum": [ - "AWS::EC2::VPC" + "AWS::AccessAnalyzer::Analyzer" ], "markdownEnumDescriptions": [ - "Specifies a virtual private cloud (VPC).\n To add an IPv6 CIDR block to the VPC, see [AWS::EC2::VPCCidrBlock](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpccidrblock.html).\n For more information, see [Virtual private clouds (VPC)](https://docs.aws.amazon.com/vpc/latest/userguide/configure-your-vpc.html) in the *Amazon VPC User Guide*. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpc.html)" + "The AWS::AccessAnalyzer::Analyzer type specifies an analyzer of the user's account \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-accessanalyzer-analyzer.html)" ] }, "Properties": { - "$ref": "resources/aws-ec2-vpc.json" + "$ref": "resources/aws-accessanalyzer-analyzer.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -24703,9 +24762,9 @@ ], "additionalProperties": false }, - "AWS_GlobalAccelerator_Listener": { + "AWS_SSM_Document": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::GlobalAccelerator::Listener \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-globalaccelerator-listener.html)", + "markdownDescription": "The AWS::SSM::Document resource is an SSM document in AWS Systems Manager that defines the actions that Systems Manager performs, which can be used to set up and run commands on your instances. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-document.html)", "allOf": [ { "type": "object", @@ -24713,14 +24772,14 @@ "Type": { "type": "string", "enum": [ - "AWS::GlobalAccelerator::Listener" + "AWS::SSM::Document" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::GlobalAccelerator::Listener \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-globalaccelerator-listener.html)" + "The AWS::SSM::Document resource is an SSM document in AWS Systems Manager that defines the actions that Systems Manager performs, which can be used to set up and run commands on your instances. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-document.html)" ] }, "Properties": { - "$ref": "resources/aws-globalaccelerator-listener.json" + "$ref": "resources/aws-ssm-document.json" } }, "required": [ @@ -24734,9 +24793,9 @@ ], "additionalProperties": false }, - "AWS_Logs_MetricFilter": { + "AWS_VpcLattice_ServiceNetworkServiceAssociation": { "type": "object", - "markdownDescription": "The ``AWS::Logs::MetricFilter`` resource specifies a metric filter that describes how CWL extracts information from logs and transforms it into Amazon CloudWatch metrics. If you have multiple metric filters that are associated with a log group, all the filters are applied to the log streams in that group.\n The maximum number of metric filters that can be associated with a log group is 100. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-logs-metricfilter.html)", + "markdownDescription": "Associates a service with a service network. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-vpclattice-servicenetworkserviceassociation.html)", "allOf": [ { "type": "object", @@ -24744,19 +24803,18 @@ "Type": { "type": "string", "enum": [ - "AWS::Logs::MetricFilter" + "AWS::VpcLattice::ServiceNetworkServiceAssociation" ], "markdownEnumDescriptions": [ - "The ``AWS::Logs::MetricFilter`` resource specifies a metric filter that describes how CWL extracts information from logs and transforms it into Amazon CloudWatch metrics. If you have multiple metric filters that are associated with a log group, all the filters are applied to the log streams in that group.\n The maximum number of metric filters that can be associated with a log group is 100. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-logs-metricfilter.html)" + "Associates a service with a service network. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-vpclattice-servicenetworkserviceassociation.html)" ] }, "Properties": { - "$ref": "resources/aws-logs-metricfilter.json" + "$ref": "resources/aws-vpclattice-servicenetworkserviceassociation.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -24765,9 +24823,9 @@ ], "additionalProperties": false }, - "AWS_Cognito_UserPoolClient": { + "AWS_Greengrass_FunctionDefinition": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::Cognito::UserPoolClient \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpoolclient.html)", + "markdownDescription": "Resource Type definition for AWS::Greengrass::FunctionDefinition \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-functiondefinition.html)", "allOf": [ { "type": "object", @@ -24775,14 +24833,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Cognito::UserPoolClient" + "AWS::Greengrass::FunctionDefinition" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::Cognito::UserPoolClient \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpoolclient.html)" + "Resource Type definition for AWS::Greengrass::FunctionDefinition \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-functiondefinition.html)" ] }, "Properties": { - "$ref": "resources/aws-cognito-userpoolclient.json" + "$ref": "resources/aws-greengrass-functiondefinition.json" } }, "required": [ @@ -24796,9 +24854,9 @@ ], "additionalProperties": false }, - "AWS_CloudFormation_Publisher": { + "AWS_AutoScalingPlans_ScalingPlan": { "type": "object", - "markdownDescription": "Register as a publisher in the CloudFormation Registry. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudformation-publisher.html)", + "markdownDescription": "Resource Type definition for AWS::AutoScalingPlans::ScalingPlan \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-autoscalingplans-scalingplan.html)", "allOf": [ { "type": "object", @@ -24806,14 +24864,14 @@ "Type": { "type": "string", "enum": [ - "AWS::CloudFormation::Publisher" + "AWS::AutoScalingPlans::ScalingPlan" ], "markdownEnumDescriptions": [ - "Register as a publisher in the CloudFormation Registry. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudformation-publisher.html)" + "Resource Type definition for AWS::AutoScalingPlans::ScalingPlan \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-autoscalingplans-scalingplan.html)" ] }, "Properties": { - "$ref": "resources/aws-cloudformation-publisher.json" + "$ref": "resources/aws-autoscalingplans-scalingplan.json" } }, "required": [ @@ -24827,9 +24885,9 @@ ], "additionalProperties": false }, - "AWS_PinpointEmail_ConfigurationSet": { + "AWS_Kinesis_StreamConsumer": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::PinpointEmail::ConfigurationSet \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpointemail-configurationset.html)", + "markdownDescription": "Resource Type definition for AWS::Kinesis::StreamConsumer \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kinesis-streamconsumer.html)", "allOf": [ { "type": "object", @@ -24837,14 +24895,14 @@ "Type": { "type": "string", "enum": [ - "AWS::PinpointEmail::ConfigurationSet" + "AWS::Kinesis::StreamConsumer" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::PinpointEmail::ConfigurationSet \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpointemail-configurationset.html)" + "Resource Type definition for AWS::Kinesis::StreamConsumer \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kinesis-streamconsumer.html)" ] }, "Properties": { - "$ref": "resources/aws-pinpointemail-configurationset.json" + "$ref": "resources/aws-kinesis-streamconsumer.json" } }, "required": [ @@ -24858,9 +24916,9 @@ ], "additionalProperties": false }, - "AWS_AppFlow_Connector": { + "AWS_GuardDuty_ThreatIntelSet": { "type": "object", - "markdownDescription": "Resource schema for AWS::AppFlow::Connector \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appflow-connector.html)", + "markdownDescription": "Resource Type definition for AWS::GuardDuty::ThreatIntelSet \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-guardduty-threatintelset.html)", "allOf": [ { "type": "object", @@ -24868,14 +24926,14 @@ "Type": { "type": "string", "enum": [ - "AWS::AppFlow::Connector" + "AWS::GuardDuty::ThreatIntelSet" ], "markdownEnumDescriptions": [ - "Resource schema for AWS::AppFlow::Connector \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appflow-connector.html)" + "Resource Type definition for AWS::GuardDuty::ThreatIntelSet \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-guardduty-threatintelset.html)" ] }, "Properties": { - "$ref": "resources/aws-appflow-connector.json" + "$ref": "resources/aws-guardduty-threatintelset.json" } }, "required": [ @@ -24889,9 +24947,9 @@ ], "additionalProperties": false }, - "AWS_ECS_Service": { + "AWS_DataSync_LocationEFS": { "type": "object", - "markdownDescription": "The ``AWS::ECS::Service`` resource creates an Amazon Elastic Container Service (Amazon ECS) service that runs and maintains the requested number of tasks and associated load balancers.\n The stack update fails if you change any properties that require replacement and at least one ECS Service Connect ``ServiceConnectConfiguration`` property the is configured. This is because AWS CloudFormation creates the replacement service first, but each ``ServiceConnectService`` must have a name that is unique in the namespace.\n Starting April 15, 2023, AWS; will not onboard new customers to Amazon Elastic Inference (EI), and will help current customers migrate their workloads to options that offer better price and performance. After April 15, 2023, new customers will not be able to launch instances with Amazon EI accelerators in Amazon SageMaker, ECS, or EC2. However, customers who have used Amazon EI at least once during the past 30-day period are considered current customers and will be able to continue using the service. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ecs-service.html)", + "markdownDescription": "Resource schema for AWS::DataSync::LocationEFS. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datasync-locationefs.html)", "allOf": [ { "type": "object", @@ -24899,18 +24957,19 @@ "Type": { "type": "string", "enum": [ - "AWS::ECS::Service" + "AWS::DataSync::LocationEFS" ], "markdownEnumDescriptions": [ - "The ``AWS::ECS::Service`` resource creates an Amazon Elastic Container Service (Amazon ECS) service that runs and maintains the requested number of tasks and associated load balancers.\n The stack update fails if you change any properties that require replacement and at least one ECS Service Connect ``ServiceConnectConfiguration`` property the is configured. This is because AWS CloudFormation creates the replacement service first, but each ``ServiceConnectService`` must have a name that is unique in the namespace.\n Starting April 15, 2023, AWS; will not onboard new customers to Amazon Elastic Inference (EI), and will help current customers migrate their workloads to options that offer better price and performance. After April 15, 2023, new customers will not be able to launch instances with Amazon EI accelerators in Amazon SageMaker, ECS, or EC2. However, customers who have used Amazon EI at least once during the past 30-day period are considered current customers and will be able to continue using the service. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ecs-service.html)" + "Resource schema for AWS::DataSync::LocationEFS. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datasync-locationefs.html)" ] }, "Properties": { - "$ref": "resources/aws-ecs-service.json" + "$ref": "resources/aws-datasync-locationefs.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -24919,9 +24978,9 @@ ], "additionalProperties": false }, - "AWS_Config_DeliveryChannel": { + "AWS_Detective_MemberInvitation": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::Config::DeliveryChannel \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-config-deliverychannel.html)", + "markdownDescription": "Resource schema for AWS::Detective::MemberInvitation \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-detective-memberinvitation.html)", "allOf": [ { "type": "object", @@ -24929,14 +24988,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Config::DeliveryChannel" + "AWS::Detective::MemberInvitation" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::Config::DeliveryChannel \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-config-deliverychannel.html)" + "Resource schema for AWS::Detective::MemberInvitation \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-detective-memberinvitation.html)" ] }, "Properties": { - "$ref": "resources/aws-config-deliverychannel.json" + "$ref": "resources/aws-detective-memberinvitation.json" } }, "required": [ @@ -24950,9 +25009,9 @@ ], "additionalProperties": false }, - "AWS_CloudFormation_Stack": { + "AWS_SES_ReceiptRuleSet": { "type": "object", - "markdownDescription": "The AWS::CloudFormation::Stack resource nests a stack as a resource in a top-level template. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudformation-stack.html)", + "markdownDescription": "Resource Type definition for AWS::SES::ReceiptRuleSet \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ses-receiptruleset.html)", "allOf": [ { "type": "object", @@ -24960,19 +25019,18 @@ "Type": { "type": "string", "enum": [ - "AWS::CloudFormation::Stack" + "AWS::SES::ReceiptRuleSet" ], "markdownEnumDescriptions": [ - "The AWS::CloudFormation::Stack resource nests a stack as a resource in a top-level template. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudformation-stack.html)" + "Resource Type definition for AWS::SES::ReceiptRuleSet \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ses-receiptruleset.html)" ] }, "Properties": { - "$ref": "resources/aws-cloudformation-stack.json" + "$ref": "resources/aws-ses-receiptruleset.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -24981,9 +25039,9 @@ ], "additionalProperties": false }, - "AWS_Connect_View": { + "AWS_EC2_InstanceConnectEndpoint": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::Connect::View \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-connect-view.html)", + "markdownDescription": "Resource Type definition for AWS::EC2::InstanceConnectEndpoint \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-instanceconnectendpoint.html)", "allOf": [ { "type": "object", @@ -24991,14 +25049,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Connect::View" + "AWS::EC2::InstanceConnectEndpoint" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::Connect::View \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-connect-view.html)" + "Resource Type definition for AWS::EC2::InstanceConnectEndpoint \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-instanceconnectendpoint.html)" ] }, "Properties": { - "$ref": "resources/aws-connect-view.json" + "$ref": "resources/aws-ec2-instanceconnectendpoint.json" } }, "required": [ @@ -25012,9 +25070,9 @@ ], "additionalProperties": false }, - "AWS_Omics_ReferenceStore": { + "AWS_NeptuneGraph_Graph": { "type": "object", - "markdownDescription": "Definition of AWS::Omics::ReferenceStore Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-omics-referencestore.html)", + "markdownDescription": "The AWS::NeptuneGraph::Graph resource creates an Amazon NeptuneGraph Graph. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-neptunegraph-graph.html)", "allOf": [ { "type": "object", @@ -25022,14 +25080,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Omics::ReferenceStore" + "AWS::NeptuneGraph::Graph" ], "markdownEnumDescriptions": [ - "Definition of AWS::Omics::ReferenceStore Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-omics-referencestore.html)" + "The AWS::NeptuneGraph::Graph resource creates an Amazon NeptuneGraph Graph. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-neptunegraph-graph.html)" ] }, "Properties": { - "$ref": "resources/aws-omics-referencestore.json" + "$ref": "resources/aws-neptunegraph-graph.json" } }, "required": [ @@ -25043,9 +25101,9 @@ ], "additionalProperties": false }, - "AWS_SSM_Document": { + "AWS_CodeStar_GitHubRepository": { "type": "object", - "markdownDescription": "The AWS::SSM::Document resource is an SSM document in AWS Systems Manager that defines the actions that Systems Manager performs, which can be used to set up and run commands on your instances. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-document.html)", + "markdownDescription": "Resource Type definition for AWS::CodeStar::GitHubRepository \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codestar-githubrepository.html)", "allOf": [ { "type": "object", @@ -25053,14 +25111,14 @@ "Type": { "type": "string", "enum": [ - "AWS::SSM::Document" + "AWS::CodeStar::GitHubRepository" ], "markdownEnumDescriptions": [ - "The AWS::SSM::Document resource is an SSM document in AWS Systems Manager that defines the actions that Systems Manager performs, which can be used to set up and run commands on your instances. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-document.html)" + "Resource Type definition for AWS::CodeStar::GitHubRepository \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codestar-githubrepository.html)" ] }, "Properties": { - "$ref": "resources/aws-ssm-document.json" + "$ref": "resources/aws-codestar-githubrepository.json" } }, "required": [ @@ -25074,9 +25132,9 @@ ], "additionalProperties": false }, - "AWS_SSO_Application": { + "AWS_EMR_SecurityConfiguration": { "type": "object", - "markdownDescription": "Resource Type definition for Identity Center (SSO) Application \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sso-application.html)", + "markdownDescription": "Use a SecurityConfiguration resource to configure data encryption, Kerberos authentication, and Amazon S3 authorization for EMRFS. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-emr-securityconfiguration.html)", "allOf": [ { "type": "object", @@ -25084,14 +25142,14 @@ "Type": { "type": "string", "enum": [ - "AWS::SSO::Application" + "AWS::EMR::SecurityConfiguration" ], "markdownEnumDescriptions": [ - "Resource Type definition for Identity Center (SSO) Application \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sso-application.html)" + "Use a SecurityConfiguration resource to configure data encryption, Kerberos authentication, and Amazon S3 authorization for EMRFS. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-emr-securityconfiguration.html)" ] }, "Properties": { - "$ref": "resources/aws-sso-application.json" + "$ref": "resources/aws-emr-securityconfiguration.json" } }, "required": [ @@ -25105,9 +25163,9 @@ ], "additionalProperties": false }, - "AWS_FraudDetector_Variable": { + "AWS_SNS_Topic": { "type": "object", - "markdownDescription": "A resource schema for a Variable in Amazon Fraud Detector. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-frauddetector-variable.html)", + "markdownDescription": "The ``AWS::SNS::Topic`` resource creates a topic to which notifications can be published.\n One account can create a maximum of 100,000 standard topics and 1,000 FIFO topics. For more information, see [endpoints and quotas](https://docs.aws.amazon.com/general/latest/gr/sns.html) in the *General Reference*.\n The structure of ``AUTHPARAMS`` depends on the .signature of the API request. For more information, see [Examples of the complete Signature Version 4 signing process](https://docs.aws.amazon.com/general/latest/gr/sigv4-signed-request-examples.html) in the *General Reference*. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sns-topic.html)", "allOf": [ { "type": "object", @@ -25115,19 +25173,18 @@ "Type": { "type": "string", "enum": [ - "AWS::FraudDetector::Variable" + "AWS::SNS::Topic" ], "markdownEnumDescriptions": [ - "A resource schema for a Variable in Amazon Fraud Detector. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-frauddetector-variable.html)" + "The ``AWS::SNS::Topic`` resource creates a topic to which notifications can be published.\n One account can create a maximum of 100,000 standard topics and 1,000 FIFO topics. For more information, see [endpoints and quotas](https://docs.aws.amazon.com/general/latest/gr/sns.html) in the *General Reference*.\n The structure of ``AUTHPARAMS`` depends on the .signature of the API request. For more information, see [Examples of the complete Signature Version 4 signing process](https://docs.aws.amazon.com/general/latest/gr/sigv4-signed-request-examples.html) in the *General Reference*. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sns-topic.html)" ] }, "Properties": { - "$ref": "resources/aws-frauddetector-variable.json" + "$ref": "resources/aws-sns-topic.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -25136,9 +25193,9 @@ ], "additionalProperties": false }, - "AWS_AuditManager_Assessment": { + "AWS_AppSync_Api": { "type": "object", - "markdownDescription": "An entity that defines the scope of audit evidence collected by AWS Audit Manager. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-auditmanager-assessment.html)", + "markdownDescription": "Resource schema for AppSync Api \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-api.html)", "allOf": [ { "type": "object", @@ -25146,18 +25203,19 @@ "Type": { "type": "string", "enum": [ - "AWS::AuditManager::Assessment" + "AWS::AppSync::Api" ], "markdownEnumDescriptions": [ - "An entity that defines the scope of audit evidence collected by AWS Audit Manager. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-auditmanager-assessment.html)" + "Resource schema for AppSync Api \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-api.html)" ] }, "Properties": { - "$ref": "resources/aws-auditmanager-assessment.json" + "$ref": "resources/aws-appsync-api.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -25166,9 +25224,9 @@ ], "additionalProperties": false }, - "AWS_IoTWireless_TaskDefinition": { + "AWS_Neptune_DBSubnetGroup": { "type": "object", - "markdownDescription": "Creates a gateway task definition. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotwireless-taskdefinition.html)", + "markdownDescription": "Resource Type definition for AWS::Neptune::DBSubnetGroup \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-neptune-dbsubnetgroup.html)", "allOf": [ { "type": "object", @@ -25176,14 +25234,14 @@ "Type": { "type": "string", "enum": [ - "AWS::IoTWireless::TaskDefinition" + "AWS::Neptune::DBSubnetGroup" ], "markdownEnumDescriptions": [ - "Creates a gateway task definition. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotwireless-taskdefinition.html)" + "Resource Type definition for AWS::Neptune::DBSubnetGroup \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-neptune-dbsubnetgroup.html)" ] }, "Properties": { - "$ref": "resources/aws-iotwireless-taskdefinition.json" + "$ref": "resources/aws-neptune-dbsubnetgroup.json" } }, "required": [ @@ -25197,9 +25255,9 @@ ], "additionalProperties": false }, - "AWS_Wisdom_AssistantAssociation": { + "AWS_Omics_RunGroup": { "type": "object", - "markdownDescription": "Definition of AWS::Wisdom::AssistantAssociation Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-wisdom-assistantassociation.html)", + "markdownDescription": "Definition of AWS::Omics::RunGroup Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-omics-rungroup.html)", "allOf": [ { "type": "object", @@ -25207,19 +25265,18 @@ "Type": { "type": "string", "enum": [ - "AWS::Wisdom::AssistantAssociation" + "AWS::Omics::RunGroup" ], "markdownEnumDescriptions": [ - "Definition of AWS::Wisdom::AssistantAssociation Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-wisdom-assistantassociation.html)" + "Definition of AWS::Omics::RunGroup Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-omics-rungroup.html)" ] }, "Properties": { - "$ref": "resources/aws-wisdom-assistantassociation.json" + "$ref": "resources/aws-omics-rungroup.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -25228,9 +25285,9 @@ ], "additionalProperties": false }, - "AWS_MSK_BatchScramSecret": { + "AWS_EFS_MountTarget": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::MSK::BatchScramSecret \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-msk-batchscramsecret.html)", + "markdownDescription": "The ``AWS::EFS::MountTarget`` resource is an Amazon EFS resource that creates a mount target for an EFS file system. You can then mount the file system on Amazon EC2 instances or other resources by using the mount target. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-efs-mounttarget.html)", "allOf": [ { "type": "object", @@ -25238,14 +25295,14 @@ "Type": { "type": "string", "enum": [ - "AWS::MSK::BatchScramSecret" + "AWS::EFS::MountTarget" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::MSK::BatchScramSecret \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-msk-batchscramsecret.html)" + "The ``AWS::EFS::MountTarget`` resource is an Amazon EFS resource that creates a mount target for an EFS file system. You can then mount the file system on Amazon EC2 instances or other resources by using the mount target. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-efs-mounttarget.html)" ] }, "Properties": { - "$ref": "resources/aws-msk-batchscramsecret.json" + "$ref": "resources/aws-efs-mounttarget.json" } }, "required": [ @@ -25259,9 +25316,9 @@ ], "additionalProperties": false }, - "AWS_EntityResolution_PolicyStatement": { + "AWS_Neptune_DBInstance": { "type": "object", - "markdownDescription": "Policy Statement defined in AWS Entity Resolution Service \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-entityresolution-policystatement.html)", + "markdownDescription": "Resource Type definition for AWS::Neptune::DBInstance \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-neptune-dbinstance.html)", "allOf": [ { "type": "object", @@ -25269,14 +25326,14 @@ "Type": { "type": "string", "enum": [ - "AWS::EntityResolution::PolicyStatement" + "AWS::Neptune::DBInstance" ], "markdownEnumDescriptions": [ - "Policy Statement defined in AWS Entity Resolution Service \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-entityresolution-policystatement.html)" + "Resource Type definition for AWS::Neptune::DBInstance \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-neptune-dbinstance.html)" ] }, "Properties": { - "$ref": "resources/aws-entityresolution-policystatement.json" + "$ref": "resources/aws-neptune-dbinstance.json" } }, "required": [ @@ -25290,9 +25347,9 @@ ], "additionalProperties": false }, - "AWS_Pinpoint_VoiceChannel": { + "AWS_Athena_NamedQuery": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::Pinpoint::VoiceChannel \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-voicechannel.html)", + "markdownDescription": "Resource schema for AWS::Athena::NamedQuery \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-athena-namedquery.html)", "allOf": [ { "type": "object", @@ -25300,14 +25357,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Pinpoint::VoiceChannel" + "AWS::Athena::NamedQuery" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::Pinpoint::VoiceChannel \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-voicechannel.html)" + "Resource schema for AWS::Athena::NamedQuery \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-athena-namedquery.html)" ] }, "Properties": { - "$ref": "resources/aws-pinpoint-voicechannel.json" + "$ref": "resources/aws-athena-namedquery.json" } }, "required": [ @@ -25321,9 +25378,9 @@ ], "additionalProperties": false }, - "AWS_PCAConnectorAD_Template": { + "AWS_ApiGateway_Deployment": { "type": "object", - "markdownDescription": "Represents a template that defines certificate configurations, both for issuance and client handling \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pcaconnectorad-template.html)", + "markdownDescription": "The ``AWS::ApiGateway::Deployment`` resource deploys an API Gateway ``RestApi`` resource to a stage so that clients can call the API over the internet. The stage acts as an environment. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-deployment.html)", "allOf": [ { "type": "object", @@ -25331,14 +25388,14 @@ "Type": { "type": "string", "enum": [ - "AWS::PCAConnectorAD::Template" + "AWS::ApiGateway::Deployment" ], "markdownEnumDescriptions": [ - "Represents a template that defines certificate configurations, both for issuance and client handling \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pcaconnectorad-template.html)" + "The ``AWS::ApiGateway::Deployment`` resource deploys an API Gateway ``RestApi`` resource to a stage so that clients can call the API over the internet. The stage acts as an environment. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-deployment.html)" ] }, "Properties": { - "$ref": "resources/aws-pcaconnectorad-template.json" + "$ref": "resources/aws-apigateway-deployment.json" } }, "required": [ @@ -25352,9 +25409,9 @@ ], "additionalProperties": false }, - "AWS_ApiGateway_RestApi": { + "AWS_Glue_DataQualityRuleset": { "type": "object", - "markdownDescription": "The ``AWS::ApiGateway::RestApi`` resource creates a REST API. For more information, see [restapi:create](https://docs.aws.amazon.com/apigateway/latest/api/API_CreateRestApi.html) in the *Amazon API Gateway REST API Reference*.\n On January 1, 2016, the Swagger Specification was donated to the [OpenAPI initiative](https://docs.aws.amazon.com/https://www.openapis.org/), becoming the foundation of the OpenAPI Specification. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-restapi.html)", + "markdownDescription": "Resource Type definition for AWS::Glue::DataQualityRuleset \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-dataqualityruleset.html)", "allOf": [ { "type": "object", @@ -25362,14 +25419,14 @@ "Type": { "type": "string", "enum": [ - "AWS::ApiGateway::RestApi" + "AWS::Glue::DataQualityRuleset" ], "markdownEnumDescriptions": [ - "The ``AWS::ApiGateway::RestApi`` resource creates a REST API. For more information, see [restapi:create](https://docs.aws.amazon.com/apigateway/latest/api/API_CreateRestApi.html) in the *Amazon API Gateway REST API Reference*.\n On January 1, 2016, the Swagger Specification was donated to the [OpenAPI initiative](https://docs.aws.amazon.com/https://www.openapis.org/), becoming the foundation of the OpenAPI Specification. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-restapi.html)" + "Resource Type definition for AWS::Glue::DataQualityRuleset \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-dataqualityruleset.html)" ] }, "Properties": { - "$ref": "resources/aws-apigateway-restapi.json" + "$ref": "resources/aws-glue-dataqualityruleset.json" } }, "required": [ @@ -25382,9 +25439,9 @@ ], "additionalProperties": false }, - "AWS_MediaConvert_JobTemplate": { + "AWS_Glue_Table": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::MediaConvert::JobTemplate \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediaconvert-jobtemplate.html)", + "markdownDescription": "Resource Type definition for AWS::Glue::Table \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-table.html)", "allOf": [ { "type": "object", @@ -25392,14 +25449,14 @@ "Type": { "type": "string", "enum": [ - "AWS::MediaConvert::JobTemplate" + "AWS::Glue::Table" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::MediaConvert::JobTemplate \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediaconvert-jobtemplate.html)" + "Resource Type definition for AWS::Glue::Table \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-table.html)" ] }, "Properties": { - "$ref": "resources/aws-mediaconvert-jobtemplate.json" + "$ref": "resources/aws-glue-table.json" } }, "required": [ @@ -25413,9 +25470,9 @@ ], "additionalProperties": false }, - "AWS_Location_Tracker": { + "AWS_SSM_MaintenanceWindowTask": { "type": "object", - "markdownDescription": "Definition of AWS::Location::Tracker Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-location-tracker.html)", + "markdownDescription": "Resource Type definition for AWS::SSM::MaintenanceWindowTask \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-maintenancewindowtask.html)", "allOf": [ { "type": "object", @@ -25423,14 +25480,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Location::Tracker" + "AWS::SSM::MaintenanceWindowTask" ], "markdownEnumDescriptions": [ - "Definition of AWS::Location::Tracker Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-location-tracker.html)" + "Resource Type definition for AWS::SSM::MaintenanceWindowTask \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-maintenancewindowtask.html)" ] }, "Properties": { - "$ref": "resources/aws-location-tracker.json" + "$ref": "resources/aws-ssm-maintenancewindowtask.json" } }, "required": [ @@ -25444,9 +25501,9 @@ ], "additionalProperties": false }, - "AWS_Cognito_UserPool": { + "AWS_DirectoryService_SimpleAD": { "type": "object", - "markdownDescription": "Definition of AWS::Cognito::UserPool Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpool.html)", + "markdownDescription": "Resource Type definition for AWS::DirectoryService::SimpleAD \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-directoryservice-simplead.html)", "allOf": [ { "type": "object", @@ -25454,18 +25511,19 @@ "Type": { "type": "string", "enum": [ - "AWS::Cognito::UserPool" + "AWS::DirectoryService::SimpleAD" ], "markdownEnumDescriptions": [ - "Definition of AWS::Cognito::UserPool Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpool.html)" + "Resource Type definition for AWS::DirectoryService::SimpleAD \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-directoryservice-simplead.html)" ] }, "Properties": { - "$ref": "resources/aws-cognito-userpool.json" + "$ref": "resources/aws-directoryservice-simplead.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -25474,9 +25532,9 @@ ], "additionalProperties": false }, - "AWS_IoT_CACertificate": { + "AWS_Cassandra_Table": { "type": "object", - "markdownDescription": "Registers a CA Certificate in IoT. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-cacertificate.html)", + "markdownDescription": "Resource schema for AWS::Cassandra::Table \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cassandra-table.html)", "allOf": [ { "type": "object", @@ -25484,14 +25542,14 @@ "Type": { "type": "string", "enum": [ - "AWS::IoT::CACertificate" + "AWS::Cassandra::Table" ], "markdownEnumDescriptions": [ - "Registers a CA Certificate in IoT. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-cacertificate.html)" + "Resource schema for AWS::Cassandra::Table \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cassandra-table.html)" ] }, "Properties": { - "$ref": "resources/aws-iot-cacertificate.json" + "$ref": "resources/aws-cassandra-table.json" } }, "required": [ @@ -25505,9 +25563,9 @@ ], "additionalProperties": false }, - "AWS_CloudFormation_TypeActivation": { + "AWS_WAFRegional_XssMatchSet": { "type": "object", - "markdownDescription": "Enable a resource that has been published in the CloudFormation Registry. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudformation-typeactivation.html)", + "markdownDescription": "Resource Type definition for AWS::WAFRegional::XssMatchSet \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-wafregional-xssmatchset.html)", "allOf": [ { "type": "object", @@ -25515,18 +25573,19 @@ "Type": { "type": "string", "enum": [ - "AWS::CloudFormation::TypeActivation" + "AWS::WAFRegional::XssMatchSet" ], "markdownEnumDescriptions": [ - "Enable a resource that has been published in the CloudFormation Registry. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudformation-typeactivation.html)" + "Resource Type definition for AWS::WAFRegional::XssMatchSet \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-wafregional-xssmatchset.html)" ] }, "Properties": { - "$ref": "resources/aws-cloudformation-typeactivation.json" + "$ref": "resources/aws-wafregional-xssmatchset.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -25535,9 +25594,9 @@ ], "additionalProperties": false }, - "AWS_AppConfig_Application": { + "AWS_Lightsail_Disk": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::AppConfig::Application \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appconfig-application.html)", + "markdownDescription": "Resource Type definition for AWS::Lightsail::Disk \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lightsail-disk.html)", "allOf": [ { "type": "object", @@ -25545,14 +25604,14 @@ "Type": { "type": "string", "enum": [ - "AWS::AppConfig::Application" + "AWS::Lightsail::Disk" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::AppConfig::Application \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appconfig-application.html)" + "Resource Type definition for AWS::Lightsail::Disk \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lightsail-disk.html)" ] }, "Properties": { - "$ref": "resources/aws-appconfig-application.json" + "$ref": "resources/aws-lightsail-disk.json" } }, "required": [ @@ -25566,9 +25625,9 @@ ], "additionalProperties": false }, - "AWS_SageMaker_InferenceComponent": { + "AWS_Lambda_LayerVersion": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::SageMaker::InferenceComponent \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-inferencecomponent.html)", + "markdownDescription": "Resource Type definition for AWS::Lambda::LayerVersion \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-layerversion.html)", "allOf": [ { "type": "object", @@ -25576,14 +25635,14 @@ "Type": { "type": "string", "enum": [ - "AWS::SageMaker::InferenceComponent" + "AWS::Lambda::LayerVersion" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::SageMaker::InferenceComponent \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-inferencecomponent.html)" + "Resource Type definition for AWS::Lambda::LayerVersion \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-layerversion.html)" ] }, "Properties": { - "$ref": "resources/aws-sagemaker-inferencecomponent.json" + "$ref": "resources/aws-lambda-layerversion.json" } }, "required": [ @@ -25597,9 +25656,9 @@ ], "additionalProperties": false }, - "AWS_EMR_WALWorkspace": { + "AWS_IAM_UserToGroupAddition": { "type": "object", - "markdownDescription": "Resource schema for AWS::EMR::WALWorkspace Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-emr-walworkspace.html)", + "markdownDescription": "Resource Type definition for AWS::IAM::UserToGroupAddition \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-usertogroupaddition.html)", "allOf": [ { "type": "object", @@ -25607,18 +25666,19 @@ "Type": { "type": "string", "enum": [ - "AWS::EMR::WALWorkspace" + "AWS::IAM::UserToGroupAddition" ], "markdownEnumDescriptions": [ - "Resource schema for AWS::EMR::WALWorkspace Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-emr-walworkspace.html)" + "Resource Type definition for AWS::IAM::UserToGroupAddition \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-usertogroupaddition.html)" ] }, "Properties": { - "$ref": "resources/aws-emr-walworkspace.json" + "$ref": "resources/aws-iam-usertogroupaddition.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -25627,9 +25687,9 @@ ], "additionalProperties": false }, - "AWS_AppSync_DataSource": { + "AWS_IoT_MitigationAction": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::AppSync::DataSource \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-datasource.html)", + "markdownDescription": "Mitigation actions can be used to take actions to mitigate issues that were found in an Audit finding or Detect violation. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-mitigationaction.html)", "allOf": [ { "type": "object", @@ -25637,14 +25697,14 @@ "Type": { "type": "string", "enum": [ - "AWS::AppSync::DataSource" + "AWS::IoT::MitigationAction" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::AppSync::DataSource \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-datasource.html)" + "Mitigation actions can be used to take actions to mitigate issues that were found in an Audit finding or Detect violation. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-mitigationaction.html)" ] }, "Properties": { - "$ref": "resources/aws-appsync-datasource.json" + "$ref": "resources/aws-iot-mitigationaction.json" } }, "required": [ @@ -25658,9 +25718,9 @@ ], "additionalProperties": false }, - "AWS_VpcLattice_ServiceNetworkVpcAssociation": { + "AWS_SSM_MaintenanceWindow": { "type": "object", - "markdownDescription": "Associates a VPC with a service network. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-vpclattice-servicenetworkvpcassociation.html)", + "markdownDescription": "Resource Type definition for AWS::SSM::MaintenanceWindow \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-maintenancewindow.html)", "allOf": [ { "type": "object", @@ -25668,18 +25728,19 @@ "Type": { "type": "string", "enum": [ - "AWS::VpcLattice::ServiceNetworkVpcAssociation" + "AWS::SSM::MaintenanceWindow" ], "markdownEnumDescriptions": [ - "Associates a VPC with a service network. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-vpclattice-servicenetworkvpcassociation.html)" + "Resource Type definition for AWS::SSM::MaintenanceWindow \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-maintenancewindow.html)" ] }, "Properties": { - "$ref": "resources/aws-vpclattice-servicenetworkvpcassociation.json" + "$ref": "resources/aws-ssm-maintenancewindow.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -25688,9 +25749,9 @@ ], "additionalProperties": false }, - "AWS_KafkaConnect_Connector": { + "AWS_MediaLive_CloudWatchAlarmTemplate": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::KafkaConnect::Connector \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kafkaconnect-connector.html)", + "markdownDescription": "Definition of AWS::MediaLive::CloudWatchAlarmTemplate Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-medialive-cloudwatchalarmtemplate.html)", "allOf": [ { "type": "object", @@ -25698,14 +25759,14 @@ "Type": { "type": "string", "enum": [ - "AWS::KafkaConnect::Connector" + "AWS::MediaLive::CloudWatchAlarmTemplate" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::KafkaConnect::Connector \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kafkaconnect-connector.html)" + "Definition of AWS::MediaLive::CloudWatchAlarmTemplate Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-medialive-cloudwatchalarmtemplate.html)" ] }, "Properties": { - "$ref": "resources/aws-kafkaconnect-connector.json" + "$ref": "resources/aws-medialive-cloudwatchalarmtemplate.json" } }, "required": [ @@ -25719,9 +25780,9 @@ ], "additionalProperties": false }, - "AWS_Redshift_EndpointAccess": { + "AWS_QuickSight_DataSource": { "type": "object", - "markdownDescription": "Resource schema for a Redshift-managed VPC endpoint. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-redshift-endpointaccess.html)", + "markdownDescription": "Definition of the AWS::QuickSight::DataSource Resource Type. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-quicksight-datasource.html)", "allOf": [ { "type": "object", @@ -25729,14 +25790,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Redshift::EndpointAccess" + "AWS::QuickSight::DataSource" ], "markdownEnumDescriptions": [ - "Resource schema for a Redshift-managed VPC endpoint. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-redshift-endpointaccess.html)" + "Definition of the AWS::QuickSight::DataSource Resource Type. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-quicksight-datasource.html)" ] }, "Properties": { - "$ref": "resources/aws-redshift-endpointaccess.json" + "$ref": "resources/aws-quicksight-datasource.json" } }, "required": [ @@ -25750,9 +25811,9 @@ ], "additionalProperties": false }, - "AWS_AppMesh_GatewayRoute": { + "AWS_GameLift_Location": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::AppMesh::GatewayRoute \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appmesh-gatewayroute.html)", + "markdownDescription": "The AWS::GameLift::Location resource creates an Amazon GameLift (GameLift) custom location. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-gamelift-location.html)", "allOf": [ { "type": "object", @@ -25760,14 +25821,14 @@ "Type": { "type": "string", "enum": [ - "AWS::AppMesh::GatewayRoute" + "AWS::GameLift::Location" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::AppMesh::GatewayRoute \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appmesh-gatewayroute.html)" + "The AWS::GameLift::Location resource creates an Amazon GameLift (GameLift) custom location. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-gamelift-location.html)" ] }, "Properties": { - "$ref": "resources/aws-appmesh-gatewayroute.json" + "$ref": "resources/aws-gamelift-location.json" } }, "required": [ @@ -25781,9 +25842,9 @@ ], "additionalProperties": false }, - "AWS_Bedrock_AgentAlias": { + "AWS_EKS_IdentityProviderConfig": { "type": "object", - "markdownDescription": "Definition of AWS::Bedrock::AgentAlias Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-bedrock-agentalias.html)", + "markdownDescription": "An object representing an Amazon EKS IdentityProviderConfig. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-eks-identityproviderconfig.html)", "allOf": [ { "type": "object", @@ -25791,14 +25852,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Bedrock::AgentAlias" + "AWS::EKS::IdentityProviderConfig" ], "markdownEnumDescriptions": [ - "Definition of AWS::Bedrock::AgentAlias Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-bedrock-agentalias.html)" + "An object representing an Amazon EKS IdentityProviderConfig. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-eks-identityproviderconfig.html)" ] }, "Properties": { - "$ref": "resources/aws-bedrock-agentalias.json" + "$ref": "resources/aws-eks-identityproviderconfig.json" } }, "required": [ @@ -25812,9 +25873,9 @@ ], "additionalProperties": false }, - "AWS_SecurityLake_DataLake": { + "AWS_Route53_HealthCheck": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::SecurityLake::DataLake \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-securitylake-datalake.html)", + "markdownDescription": "Resource schema for AWS::Route53::HealthCheck. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53-healthcheck.html)", "allOf": [ { "type": "object", @@ -25822,18 +25883,19 @@ "Type": { "type": "string", "enum": [ - "AWS::SecurityLake::DataLake" + "AWS::Route53::HealthCheck" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::SecurityLake::DataLake \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-securitylake-datalake.html)" + "Resource schema for AWS::Route53::HealthCheck. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53-healthcheck.html)" ] }, "Properties": { - "$ref": "resources/aws-securitylake-datalake.json" + "$ref": "resources/aws-route53-healthcheck.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -25842,9 +25904,9 @@ ], "additionalProperties": false }, - "AWS_CloudFormation_HookDefaultVersion": { + "AWS_Neptune_EventSubscription": { "type": "object", - "markdownDescription": "Set a version as default version for a hook in CloudFormation Registry. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudformation-hookdefaultversion.html)", + "markdownDescription": "Resource Type definition for AWS::Neptune::EventSubscription \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-neptune-eventsubscription.html)", "allOf": [ { "type": "object", @@ -25852,14 +25914,14 @@ "Type": { "type": "string", "enum": [ - "AWS::CloudFormation::HookDefaultVersion" + "AWS::Neptune::EventSubscription" ], "markdownEnumDescriptions": [ - "Set a version as default version for a hook in CloudFormation Registry. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudformation-hookdefaultversion.html)" + "Resource Type definition for AWS::Neptune::EventSubscription \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-neptune-eventsubscription.html)" ] }, "Properties": { - "$ref": "resources/aws-cloudformation-hookdefaultversion.json" + "$ref": "resources/aws-neptune-eventsubscription.json" } }, "required": [ @@ -25872,9 +25934,9 @@ ], "additionalProperties": false }, - "AWS_KinesisVideo_Stream": { + "AWS_CodeCommit_Repository": { "type": "object", - "markdownDescription": "Resource Type Definition for AWS::KinesisVideo::Stream \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kinesisvideo-stream.html)", + "markdownDescription": "Resource Type definition for AWS::CodeCommit::Repository \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codecommit-repository.html)", "allOf": [ { "type": "object", @@ -25882,18 +25944,19 @@ "Type": { "type": "string", "enum": [ - "AWS::KinesisVideo::Stream" + "AWS::CodeCommit::Repository" ], "markdownEnumDescriptions": [ - "Resource Type Definition for AWS::KinesisVideo::Stream \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kinesisvideo-stream.html)" + "Resource Type definition for AWS::CodeCommit::Repository \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codecommit-repository.html)" ] }, "Properties": { - "$ref": "resources/aws-kinesisvideo-stream.json" + "$ref": "resources/aws-codecommit-repository.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -25902,9 +25965,9 @@ ], "additionalProperties": false }, - "AWS_DataZone_SubscriptionTarget": { + "AWS_OSIS_Pipeline": { "type": "object", - "markdownDescription": "Subscription targets enables one to access the data to which you have subscribed in your projects. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datazone-subscriptiontarget.html)", + "markdownDescription": "An OpenSearch Ingestion Service Data Prepper pipeline running Data Prepper. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-osis-pipeline.html)", "allOf": [ { "type": "object", @@ -25912,14 +25975,14 @@ "Type": { "type": "string", "enum": [ - "AWS::DataZone::SubscriptionTarget" + "AWS::OSIS::Pipeline" ], "markdownEnumDescriptions": [ - "Subscription targets enables one to access the data to which you have subscribed in your projects. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datazone-subscriptiontarget.html)" + "An OpenSearch Ingestion Service Data Prepper pipeline running Data Prepper. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-osis-pipeline.html)" ] }, "Properties": { - "$ref": "resources/aws-datazone-subscriptiontarget.json" + "$ref": "resources/aws-osis-pipeline.json" } }, "required": [ @@ -25933,9 +25996,9 @@ ], "additionalProperties": false }, - "AWS_ApiGateway_DomainName": { + "AWS_ElasticLoadBalancingV2_TrustStore": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::ApiGateway::DomainName. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-domainname.html)", + "markdownDescription": "Resource Type definition for AWS::ElasticLoadBalancingV2::TrustStore \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticloadbalancingv2-truststore.html)", "allOf": [ { "type": "object", @@ -25943,14 +26006,14 @@ "Type": { "type": "string", "enum": [ - "AWS::ApiGateway::DomainName" + "AWS::ElasticLoadBalancingV2::TrustStore" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::ApiGateway::DomainName. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-domainname.html)" + "Resource Type definition for AWS::ElasticLoadBalancingV2::TrustStore \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticloadbalancingv2-truststore.html)" ] }, "Properties": { - "$ref": "resources/aws-apigateway-domainname.json" + "$ref": "resources/aws-elasticloadbalancingv2-truststore.json" } }, "required": [ @@ -25963,9 +26026,9 @@ ], "additionalProperties": false }, - "AWS_GuardDuty_Master": { + "AWS_IoTTwinMaker_Workspace": { "type": "object", - "markdownDescription": "GuardDuty Master resource schema \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-guardduty-master.html)", + "markdownDescription": "Resource schema for AWS::IoTTwinMaker::Workspace \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iottwinmaker-workspace.html)", "allOf": [ { "type": "object", @@ -25973,14 +26036,14 @@ "Type": { "type": "string", "enum": [ - "AWS::GuardDuty::Master" + "AWS::IoTTwinMaker::Workspace" ], "markdownEnumDescriptions": [ - "GuardDuty Master resource schema \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-guardduty-master.html)" + "Resource schema for AWS::IoTTwinMaker::Workspace \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iottwinmaker-workspace.html)" ] }, "Properties": { - "$ref": "resources/aws-guardduty-master.json" + "$ref": "resources/aws-iottwinmaker-workspace.json" } }, "required": [ @@ -25994,9 +26057,9 @@ ], "additionalProperties": false }, - "AWS_MSK_ClusterPolicy": { + "AWS_Cognito_UserPoolUICustomizationAttachment": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::MSK::ClusterPolicy \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-msk-clusterpolicy.html)", + "markdownDescription": "Resource Type definition for AWS::Cognito::UserPoolUICustomizationAttachment \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpooluicustomizationattachment.html)", "allOf": [ { "type": "object", @@ -26004,14 +26067,14 @@ "Type": { "type": "string", "enum": [ - "AWS::MSK::ClusterPolicy" + "AWS::Cognito::UserPoolUICustomizationAttachment" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::MSK::ClusterPolicy \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-msk-clusterpolicy.html)" + "Resource Type definition for AWS::Cognito::UserPoolUICustomizationAttachment \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpooluicustomizationattachment.html)" ] }, "Properties": { - "$ref": "resources/aws-msk-clusterpolicy.json" + "$ref": "resources/aws-cognito-userpooluicustomizationattachment.json" } }, "required": [ @@ -26025,9 +26088,9 @@ ], "additionalProperties": false }, - "AWS_CodeArtifact_PackageGroup": { + "AWS_Route53RecoveryControl_SafetyRule": { "type": "object", - "markdownDescription": "The resource schema to create a CodeArtifact package group. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codeartifact-packagegroup.html)", + "markdownDescription": "Resource schema for AWS Route53 Recovery Control basic constructs and validation rules. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53recoverycontrol-safetyrule.html)", "allOf": [ { "type": "object", @@ -26035,19 +26098,18 @@ "Type": { "type": "string", "enum": [ - "AWS::CodeArtifact::PackageGroup" + "AWS::Route53RecoveryControl::SafetyRule" ], "markdownEnumDescriptions": [ - "The resource schema to create a CodeArtifact package group. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codeartifact-packagegroup.html)" + "Resource schema for AWS Route53 Recovery Control basic constructs and validation rules. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53recoverycontrol-safetyrule.html)" ] }, "Properties": { - "$ref": "resources/aws-codeartifact-packagegroup.json" + "$ref": "resources/aws-route53recoverycontrol-safetyrule.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -26056,9 +26118,9 @@ ], "additionalProperties": false }, - "AWS_EC2_TrafficMirrorFilter": { + "AWS_KMS_Key": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::EC2::TrafficMirrorFilter \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-trafficmirrorfilter.html)", + "markdownDescription": "The ``AWS::KMS::Key`` resource specifies an [KMS key](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#kms_keys) in KMSlong. You can use this resource to create symmetric encryption KMS keys, asymmetric KMS keys for encryption or signing, and symmetric HMAC KMS keys. You can use ``AWS::KMS::Key`` to create [multi-Region primary keys](https://docs.aws.amazon.com/kms/latest/developerguide/multi-region-keys-overview.html#mrk-primary-key) of all supported types. To replicate a multi-Region key, use the ``AWS::KMS::ReplicaKey`` resource.\n If you change the value of the ``KeySpec``, ``KeyUsage``, ``Origin``, or ``MultiRegion`` properties of an existing KMS key, the update request fails, regardless of the value of the [UpdateReplacePolicy attribute](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-updatereplacepolicy.html). This prevents you from accidentally deleting a KMS key by changing any of its immutable property values.\n KMS replaced the term *customer master key (CMK)* with ** and *KMS key*. The concept has not changed. To prevent breaking changes, KMS is keeping some variations of this term.\n You can use symmetric encryption KMS keys to encrypt and decrypt small amounts of data, but they are more commonly used to generate data keys and data key pairs. You can also use a symmetric encryption KMS key to encrypt data stored in AWS services that are [integrated with](https://docs.aws.amazon.com//kms/features/#AWS_Service_Integration). For more information, see [Symmetric encryption KMS keys](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#symmetric-cmks) in the *Developer Guide*.\n You can use asymmetric KMS keys to encrypt and decrypt data or sign messages and verify signatures. To create an asymmetric key, you must specify an asymmetric ``KeySpec`` value and a ``KeyUsage`` value. For details, see [Asymmetric keys in](https://docs.aws.amazon.com/kms/latest/developerguide/symmetric-asymmetric.html) in the *Developer Guide*.\n You can use HMAC KMS keys (which are also symmetric keys) to generate and verify hash-based message authentication codes. To create an HMAC key, you must specify an HMAC ``KeySpec`` value and a ``KeyUsage`` value of ``GENERATE_VERIFY_MAC``. For details, see [HMAC keys in](https://docs.aws.amazon.com/kms/latest/developerguide/hmac.html) in the *Developer Guide*.\n You can also create symmetric encryption, asymmetric, and HMAC multi-Region primary keys. To create a multi-Region primary key, set the ``MultiRegion`` property to ``true``. For information about multi-Region keys, see [Multi-Region keys in](https://docs.aws.amazon.com/kms/latest/developerguide/multi-region-keys-overview.html) in the *Developer Guide*.\n You cannot use the ``AWS::KMS::Key`` resource to specify a KMS key with [imported key material](https://docs.aws.amazon.com/kms/latest/developerguide/importing-keys.html) or a KMS key in a [custom key store](https://docs.aws.amazon.com/kms/latest/developerguide/custom-key-store-overview.html).\n *Regions* \n KMS CloudFormation resources are available in all Regions in which KMS and CFN are supported. You can use the ``AWS::KMS::Key`` resource to create and manage all KMS key types that are supported in a Region. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kms-key.html)", "allOf": [ { "type": "object", @@ -26066,14 +26128,14 @@ "Type": { "type": "string", "enum": [ - "AWS::EC2::TrafficMirrorFilter" + "AWS::KMS::Key" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::EC2::TrafficMirrorFilter \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-trafficmirrorfilter.html)" + "The ``AWS::KMS::Key`` resource specifies an [KMS key](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#kms_keys) in KMSlong. You can use this resource to create symmetric encryption KMS keys, asymmetric KMS keys for encryption or signing, and symmetric HMAC KMS keys. You can use ``AWS::KMS::Key`` to create [multi-Region primary keys](https://docs.aws.amazon.com/kms/latest/developerguide/multi-region-keys-overview.html#mrk-primary-key) of all supported types. To replicate a multi-Region key, use the ``AWS::KMS::ReplicaKey`` resource.\n If you change the value of the ``KeySpec``, ``KeyUsage``, ``Origin``, or ``MultiRegion`` properties of an existing KMS key, the update request fails, regardless of the value of the [UpdateReplacePolicy attribute](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-updatereplacepolicy.html). This prevents you from accidentally deleting a KMS key by changing any of its immutable property values.\n KMS replaced the term *customer master key (CMK)* with ** and *KMS key*. The concept has not changed. To prevent breaking changes, KMS is keeping some variations of this term.\n You can use symmetric encryption KMS keys to encrypt and decrypt small amounts of data, but they are more commonly used to generate data keys and data key pairs. You can also use a symmetric encryption KMS key to encrypt data stored in AWS services that are [integrated with](https://docs.aws.amazon.com//kms/features/#AWS_Service_Integration). For more information, see [Symmetric encryption KMS keys](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#symmetric-cmks) in the *Developer Guide*.\n You can use asymmetric KMS keys to encrypt and decrypt data or sign messages and verify signatures. To create an asymmetric key, you must specify an asymmetric ``KeySpec`` value and a ``KeyUsage`` value. For details, see [Asymmetric keys in](https://docs.aws.amazon.com/kms/latest/developerguide/symmetric-asymmetric.html) in the *Developer Guide*.\n You can use HMAC KMS keys (which are also symmetric keys) to generate and verify hash-based message authentication codes. To create an HMAC key, you must specify an HMAC ``KeySpec`` value and a ``KeyUsage`` value of ``GENERATE_VERIFY_MAC``. For details, see [HMAC keys in](https://docs.aws.amazon.com/kms/latest/developerguide/hmac.html) in the *Developer Guide*.\n You can also create symmetric encryption, asymmetric, and HMAC multi-Region primary keys. To create a multi-Region primary key, set the ``MultiRegion`` property to ``true``. For information about multi-Region keys, see [Multi-Region keys in](https://docs.aws.amazon.com/kms/latest/developerguide/multi-region-keys-overview.html) in the *Developer Guide*.\n You cannot use the ``AWS::KMS::Key`` resource to specify a KMS key with [imported key material](https://docs.aws.amazon.com/kms/latest/developerguide/importing-keys.html) or a KMS key in a [custom key store](https://docs.aws.amazon.com/kms/latest/developerguide/custom-key-store-overview.html).\n *Regions* \n KMS CloudFormation resources are available in all Regions in which KMS and CFN are supported. You can use the ``AWS::KMS::Key`` resource to create and manage all KMS key types that are supported in a Region. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kms-key.html)" ] }, "Properties": { - "$ref": "resources/aws-ec2-trafficmirrorfilter.json" + "$ref": "resources/aws-kms-key.json" } }, "required": [ @@ -26086,9 +26148,9 @@ ], "additionalProperties": false }, - "AWS_Connect_InstanceStorageConfig": { + "AWS_Route53RecoveryReadiness_ReadinessCheck": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::Connect::InstanceStorageConfig \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-connect-instancestorageconfig.html)", + "markdownDescription": "Aws Route53 Recovery Readiness Check Schema and API specification. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53recoveryreadiness-readinesscheck.html)", "allOf": [ { "type": "object", @@ -26096,19 +26158,18 @@ "Type": { "type": "string", "enum": [ - "AWS::Connect::InstanceStorageConfig" + "AWS::Route53RecoveryReadiness::ReadinessCheck" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::Connect::InstanceStorageConfig \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-connect-instancestorageconfig.html)" + "Aws Route53 Recovery Readiness Check Schema and API specification. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53recoveryreadiness-readinesscheck.html)" ] }, "Properties": { - "$ref": "resources/aws-connect-instancestorageconfig.json" + "$ref": "resources/aws-route53recoveryreadiness-readinesscheck.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -26117,9 +26178,9 @@ ], "additionalProperties": false }, - "AWS_Cloud9_EnvironmentEC2": { + "AWS_AppRunner_ObservabilityConfiguration": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::Cloud9::EnvironmentEC2 \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloud9-environmentec2.html)", + "markdownDescription": "The AWS::AppRunner::ObservabilityConfiguration resource is an AWS App Runner resource type that specifies an App Runner observability configuration \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apprunner-observabilityconfiguration.html)", "allOf": [ { "type": "object", @@ -26127,19 +26188,18 @@ "Type": { "type": "string", "enum": [ - "AWS::Cloud9::EnvironmentEC2" + "AWS::AppRunner::ObservabilityConfiguration" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::Cloud9::EnvironmentEC2 \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloud9-environmentec2.html)" + "The AWS::AppRunner::ObservabilityConfiguration resource is an AWS App Runner resource type that specifies an App Runner observability configuration \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apprunner-observabilityconfiguration.html)" ] }, "Properties": { - "$ref": "resources/aws-cloud9-environmentec2.json" + "$ref": "resources/aws-apprunner-observabilityconfiguration.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -26148,9 +26208,9 @@ ], "additionalProperties": false }, - "AWS_Amplify_Branch": { + "AWS_IoT_SoftwarePackageVersion": { "type": "object", - "markdownDescription": "The AWS::Amplify::Branch resource creates a new branch within an app. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-amplify-branch.html)", + "markdownDescription": "resource definition \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-softwarepackageversion.html)", "allOf": [ { "type": "object", @@ -26158,14 +26218,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Amplify::Branch" + "AWS::IoT::SoftwarePackageVersion" ], "markdownEnumDescriptions": [ - "The AWS::Amplify::Branch resource creates a new branch within an app. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-amplify-branch.html)" + "resource definition \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-softwarepackageversion.html)" ] }, "Properties": { - "$ref": "resources/aws-amplify-branch.json" + "$ref": "resources/aws-iot-softwarepackageversion.json" } }, "required": [ @@ -26179,9 +26239,9 @@ ], "additionalProperties": false }, - "AWS_ECR_PublicRepository": { + "AWS_CloudFront_PublicKey": { "type": "object", - "markdownDescription": "The AWS::ECR::PublicRepository resource specifies an Amazon Elastic Container Public Registry (Amazon Public ECR) repository, where users can push and pull Docker images. For more information, see https://docs.aws.amazon.com/AmazonECR \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ecr-publicrepository.html)", + "markdownDescription": "Resource Type definition for AWS::CloudFront::PublicKey \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudfront-publickey.html)", "allOf": [ { "type": "object", @@ -26189,18 +26249,19 @@ "Type": { "type": "string", "enum": [ - "AWS::ECR::PublicRepository" + "AWS::CloudFront::PublicKey" ], "markdownEnumDescriptions": [ - "The AWS::ECR::PublicRepository resource specifies an Amazon Elastic Container Public Registry (Amazon Public ECR) repository, where users can push and pull Docker images. For more information, see https://docs.aws.amazon.com/AmazonECR \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ecr-publicrepository.html)" + "Resource Type definition for AWS::CloudFront::PublicKey \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudfront-publickey.html)" ] }, "Properties": { - "$ref": "resources/aws-ecr-publicrepository.json" + "$ref": "resources/aws-cloudfront-publickey.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -26209,9 +26270,9 @@ ], "additionalProperties": false }, - "AWS_NimbleStudio_StreamingImage": { + "AWS_AppConfig_Extension": { "type": "object", - "markdownDescription": "Represents a streaming session machine image that can be used to launch a streaming session \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-nimblestudio-streamingimage.html)", + "markdownDescription": "Resource Type definition for AWS::AppConfig::Extension \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appconfig-extension.html)", "allOf": [ { "type": "object", @@ -26219,14 +26280,14 @@ "Type": { "type": "string", "enum": [ - "AWS::NimbleStudio::StreamingImage" + "AWS::AppConfig::Extension" ], "markdownEnumDescriptions": [ - "Represents a streaming session machine image that can be used to launch a streaming session \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-nimblestudio-streamingimage.html)" + "Resource Type definition for AWS::AppConfig::Extension \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appconfig-extension.html)" ] }, "Properties": { - "$ref": "resources/aws-nimblestudio-streamingimage.json" + "$ref": "resources/aws-appconfig-extension.json" } }, "required": [ @@ -26240,9 +26301,9 @@ ], "additionalProperties": false }, - "AWS_Organizations_Account": { + "AWS_ApiGateway_RequestValidator": { "type": "object", - "markdownDescription": "You can use AWS::Organizations::Account to manage accounts in organization. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-organizations-account.html)", + "markdownDescription": "The ``AWS::ApiGateway::RequestValidator`` resource sets up basic validation rules for incoming requests to your API. For more information, see [Enable Basic Request Validation for an API in API Gateway](https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-method-request-validation.html) in the *API Gateway Developer Guide*. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-requestvalidator.html)", "allOf": [ { "type": "object", @@ -26250,14 +26311,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Organizations::Account" + "AWS::ApiGateway::RequestValidator" ], "markdownEnumDescriptions": [ - "You can use AWS::Organizations::Account to manage accounts in organization. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-organizations-account.html)" + "The ``AWS::ApiGateway::RequestValidator`` resource sets up basic validation rules for incoming requests to your API. For more information, see [Enable Basic Request Validation for an API in API Gateway](https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-method-request-validation.html) in the *API Gateway Developer Guide*. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-requestvalidator.html)" ] }, "Properties": { - "$ref": "resources/aws-organizations-account.json" + "$ref": "resources/aws-apigateway-requestvalidator.json" } }, "required": [ @@ -26271,9 +26332,9 @@ ], "additionalProperties": false }, - "AWS_Pinpoint_InAppTemplate": { + "AWS_GroundStation_DataflowEndpointGroup": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::Pinpoint::InAppTemplate \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-inapptemplate.html)", + "markdownDescription": "AWS Ground Station DataflowEndpointGroup schema for CloudFormation \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-groundstation-dataflowendpointgroup.html)", "allOf": [ { "type": "object", @@ -26281,14 +26342,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Pinpoint::InAppTemplate" + "AWS::GroundStation::DataflowEndpointGroup" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::Pinpoint::InAppTemplate \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-inapptemplate.html)" + "AWS Ground Station DataflowEndpointGroup schema for CloudFormation \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-groundstation-dataflowendpointgroup.html)" ] }, "Properties": { - "$ref": "resources/aws-pinpoint-inapptemplate.json" + "$ref": "resources/aws-groundstation-dataflowendpointgroup.json" } }, "required": [ @@ -26302,9 +26363,9 @@ ], "additionalProperties": false }, - "AWS_IoT1Click_Device": { + "AWS_AppStream_Stack": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::IoT1Click::Device \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot1click-device.html)", + "markdownDescription": "Resource Type definition for AWS::AppStream::Stack \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appstream-stack.html)", "allOf": [ { "type": "object", @@ -26312,19 +26373,18 @@ "Type": { "type": "string", "enum": [ - "AWS::IoT1Click::Device" + "AWS::AppStream::Stack" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::IoT1Click::Device \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot1click-device.html)" + "Resource Type definition for AWS::AppStream::Stack \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appstream-stack.html)" ] }, "Properties": { - "$ref": "resources/aws-iot1click-device.json" + "$ref": "resources/aws-appstream-stack.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -26333,9 +26393,9 @@ ], "additionalProperties": false }, - "AWS_EC2_IPAMAllocation": { + "AWS_CodeStarNotifications_NotificationRule": { "type": "object", - "markdownDescription": "Resource Schema of AWS::EC2::IPAMAllocation Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-ipamallocation.html)", + "markdownDescription": "Resource Type definition for AWS::CodeStarNotifications::NotificationRule \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codestarnotifications-notificationrule.html)", "allOf": [ { "type": "object", @@ -26343,14 +26403,14 @@ "Type": { "type": "string", "enum": [ - "AWS::EC2::IPAMAllocation" + "AWS::CodeStarNotifications::NotificationRule" ], "markdownEnumDescriptions": [ - "Resource Schema of AWS::EC2::IPAMAllocation Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-ipamallocation.html)" + "Resource Type definition for AWS::CodeStarNotifications::NotificationRule \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codestarnotifications-notificationrule.html)" ] }, "Properties": { - "$ref": "resources/aws-ec2-ipamallocation.json" + "$ref": "resources/aws-codestarnotifications-notificationrule.json" } }, "required": [ @@ -26364,9 +26424,9 @@ ], "additionalProperties": false }, - "AWS_AppMesh_VirtualRouter": { + "AWS_RDS_DBProxyTargetGroup": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::AppMesh::VirtualRouter \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appmesh-virtualrouter.html)", + "markdownDescription": "Resource schema for AWS::RDS::DBProxyTargetGroup \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbproxytargetgroup.html)", "allOf": [ { "type": "object", @@ -26374,14 +26434,14 @@ "Type": { "type": "string", "enum": [ - "AWS::AppMesh::VirtualRouter" + "AWS::RDS::DBProxyTargetGroup" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::AppMesh::VirtualRouter \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appmesh-virtualrouter.html)" + "Resource schema for AWS::RDS::DBProxyTargetGroup \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbproxytargetgroup.html)" ] }, "Properties": { - "$ref": "resources/aws-appmesh-virtualrouter.json" + "$ref": "resources/aws-rds-dbproxytargetgroup.json" } }, "required": [ @@ -26395,9 +26455,9 @@ ], "additionalProperties": false }, - "AWS_OpenSearchServerless_VpcEndpoint": { + "AWS_EC2_EnclaveCertificateIamRoleAssociation": { "type": "object", - "markdownDescription": "Amazon OpenSearchServerless vpc endpoint resource \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opensearchserverless-vpcendpoint.html)", + "markdownDescription": "Associates an AWS Identity and Access Management (IAM) role with an AWS Certificate Manager (ACM) certificate. This association is based on Amazon Resource Names and it enables the certificate to be used by the ACM for Nitro Enclaves application inside an enclave. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-enclavecertificateiamroleassociation.html)", "allOf": [ { "type": "object", @@ -26405,14 +26465,14 @@ "Type": { "type": "string", "enum": [ - "AWS::OpenSearchServerless::VpcEndpoint" + "AWS::EC2::EnclaveCertificateIamRoleAssociation" ], "markdownEnumDescriptions": [ - "Amazon OpenSearchServerless vpc endpoint resource \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opensearchserverless-vpcendpoint.html)" + "Associates an AWS Identity and Access Management (IAM) role with an AWS Certificate Manager (ACM) certificate. This association is based on Amazon Resource Names and it enables the certificate to be used by the ACM for Nitro Enclaves application inside an enclave. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-enclavecertificateiamroleassociation.html)" ] }, "Properties": { - "$ref": "resources/aws-opensearchserverless-vpcendpoint.json" + "$ref": "resources/aws-ec2-enclavecertificateiamroleassociation.json" } }, "required": [ @@ -26426,9 +26486,9 @@ ], "additionalProperties": false }, - "AWS_DynamoDB_Table": { + "AWS_Route53RecoveryControl_RoutingControl": { "type": "object", - "markdownDescription": "The ``AWS::DynamoDB::Table`` resource creates a DDB table. For more information, see [CreateTable](https://docs.aws.amazon.com/amazondynamodb/latest/APIReference/API_CreateTable.html) in the *API Reference*.\n You should be aware of the following behaviors when working with DDB tables:\n + CFNlong typically creates DDB tables in parallel. However, if your template includes multiple DDB tables with indexes, you must declare dependencies so that the tables are created sequentially. DDBlong limits the number of tables with secondary indexes that are in the creating state. If you create multiple tables with indexes at the same time, DDB returns an error and the stack operation fails. For an example, see [DynamoDB Table with a DependsOn Attribute](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dynamodb-table.html#aws-resource-dynamodb-table--examples--DynamoDB_Table_with_a_DependsOn_Attribute).\n \n Our guidance is to use the latest schema documented here for your CFNlong templates. This schema supports the provisioning of all table settings below. When using this schema in your CFNlong templates, please ensure that your Identity and Access Management (IAM) policies are updated with appropriate permissions to allow for the authorization of these setting changes. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dynamodb-table.html)", + "markdownDescription": "AWS Route53 Recovery Control Routing Control resource schema . \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53recoverycontrol-routingcontrol.html)", "allOf": [ { "type": "object", @@ -26436,14 +26496,14 @@ "Type": { "type": "string", "enum": [ - "AWS::DynamoDB::Table" + "AWS::Route53RecoveryControl::RoutingControl" ], "markdownEnumDescriptions": [ - "The ``AWS::DynamoDB::Table`` resource creates a DDB table. For more information, see [CreateTable](https://docs.aws.amazon.com/amazondynamodb/latest/APIReference/API_CreateTable.html) in the *API Reference*.\n You should be aware of the following behaviors when working with DDB tables:\n + CFNlong typically creates DDB tables in parallel. However, if your template includes multiple DDB tables with indexes, you must declare dependencies so that the tables are created sequentially. DDBlong limits the number of tables with secondary indexes that are in the creating state. If you create multiple tables with indexes at the same time, DDB returns an error and the stack operation fails. For an example, see [DynamoDB Table with a DependsOn Attribute](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dynamodb-table.html#aws-resource-dynamodb-table--examples--DynamoDB_Table_with_a_DependsOn_Attribute).\n \n Our guidance is to use the latest schema documented here for your CFNlong templates. This schema supports the provisioning of all table settings below. When using this schema in your CFNlong templates, please ensure that your Identity and Access Management (IAM) policies are updated with appropriate permissions to allow for the authorization of these setting changes. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dynamodb-table.html)" + "AWS Route53 Recovery Control Routing Control resource schema . \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53recoverycontrol-routingcontrol.html)" ] }, "Properties": { - "$ref": "resources/aws-dynamodb-table.json" + "$ref": "resources/aws-route53recoverycontrol-routingcontrol.json" } }, "required": [ @@ -26457,9 +26517,9 @@ ], "additionalProperties": false }, - "AWS_IoT_Dimension": { + "AWS_CloudWatch_Alarm": { "type": "object", - "markdownDescription": "A dimension can be used to limit the scope of a metric used in a security profile for AWS IoT Device Defender. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-dimension.html)", + "markdownDescription": "The ``AWS::CloudWatch::Alarm`` type specifies an alarm and associates it with the specified metric or metric math expression.\n When this operation creates an alarm, the alarm state is immediately set to ``INSUFFICIENT_DATA``. The alarm is then evaluated and its state is set appropriately. Any actions associated with the new state are then executed.\n When you update an existing alarm, its state is left unchanged, but the update completely overwrites the previous configuration of the alarm. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudwatch-alarm.html)", "allOf": [ { "type": "object", @@ -26467,14 +26527,14 @@ "Type": { "type": "string", "enum": [ - "AWS::IoT::Dimension" + "AWS::CloudWatch::Alarm" ], "markdownEnumDescriptions": [ - "A dimension can be used to limit the scope of a metric used in a security profile for AWS IoT Device Defender. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-dimension.html)" + "The ``AWS::CloudWatch::Alarm`` type specifies an alarm and associates it with the specified metric or metric math expression.\n When this operation creates an alarm, the alarm state is immediately set to ``INSUFFICIENT_DATA``. The alarm is then evaluated and its state is set appropriately. Any actions associated with the new state are then executed.\n When you update an existing alarm, its state is left unchanged, but the update completely overwrites the previous configuration of the alarm. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudwatch-alarm.html)" ] }, "Properties": { - "$ref": "resources/aws-iot-dimension.json" + "$ref": "resources/aws-cloudwatch-alarm.json" } }, "required": [ @@ -26488,9 +26548,9 @@ ], "additionalProperties": false }, - "AWS_EntityResolution_IdMappingWorkflow": { + "AWS_Route53_RecordSetGroup": { "type": "object", - "markdownDescription": "IdMappingWorkflow defined in AWS Entity Resolution service \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-entityresolution-idmappingworkflow.html)", + "markdownDescription": "Resource Type definition for AWS::Route53::RecordSetGroup \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53-recordsetgroup.html)", "allOf": [ { "type": "object", @@ -26498,19 +26558,18 @@ "Type": { "type": "string", "enum": [ - "AWS::EntityResolution::IdMappingWorkflow" + "AWS::Route53::RecordSetGroup" ], "markdownEnumDescriptions": [ - "IdMappingWorkflow defined in AWS Entity Resolution service \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-entityresolution-idmappingworkflow.html)" + "Resource Type definition for AWS::Route53::RecordSetGroup \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53-recordsetgroup.html)" ] }, "Properties": { - "$ref": "resources/aws-entityresolution-idmappingworkflow.json" + "$ref": "resources/aws-route53-recordsetgroup.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -26519,9 +26578,9 @@ ], "additionalProperties": false }, - "AWS_RoboMaker_Fleet": { + "AWS_IoTFleetWise_Campaign": { "type": "object", - "markdownDescription": "AWS::RoboMaker::Fleet resource creates an AWS RoboMaker fleet. Fleets contain robots and can receive deployments. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-robomaker-fleet.html)", + "markdownDescription": "Definition of AWS::IoTFleetWise::Campaign Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotfleetwise-campaign.html)", "allOf": [ { "type": "object", @@ -26529,18 +26588,19 @@ "Type": { "type": "string", "enum": [ - "AWS::RoboMaker::Fleet" + "AWS::IoTFleetWise::Campaign" ], "markdownEnumDescriptions": [ - "AWS::RoboMaker::Fleet resource creates an AWS RoboMaker fleet. Fleets contain robots and can receive deployments. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-robomaker-fleet.html)" + "Definition of AWS::IoTFleetWise::Campaign Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotfleetwise-campaign.html)" ] }, "Properties": { - "$ref": "resources/aws-robomaker-fleet.json" + "$ref": "resources/aws-iotfleetwise-campaign.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -26549,9 +26609,9 @@ ], "additionalProperties": false }, - "AWS_IoTTwinMaker_ComponentType": { + "AWS_Proton_ServiceTemplate": { "type": "object", - "markdownDescription": "Resource schema for AWS::IoTTwinMaker::ComponentType \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iottwinmaker-componenttype.html)", + "markdownDescription": "Definition of AWS::Proton::ServiceTemplate Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-proton-servicetemplate.html)", "allOf": [ { "type": "object", @@ -26559,19 +26619,18 @@ "Type": { "type": "string", "enum": [ - "AWS::IoTTwinMaker::ComponentType" + "AWS::Proton::ServiceTemplate" ], "markdownEnumDescriptions": [ - "Resource schema for AWS::IoTTwinMaker::ComponentType \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iottwinmaker-componenttype.html)" + "Definition of AWS::Proton::ServiceTemplate Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-proton-servicetemplate.html)" ] }, "Properties": { - "$ref": "resources/aws-iottwinmaker-componenttype.json" + "$ref": "resources/aws-proton-servicetemplate.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -26580,9 +26639,9 @@ ], "additionalProperties": false }, - "AWS_IoT_ProvisioningTemplate": { + "AWS_ApiGateway_DocumentationPart": { "type": "object", - "markdownDescription": "Creates a fleet provisioning template. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-provisioningtemplate.html)", + "markdownDescription": "The ``AWS::ApiGateway::DocumentationPart`` resource creates a documentation part for an API. For more information, see [Representation of API Documentation in API Gateway](https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-documenting-api-content-representation.html) in the *API Gateway Developer Guide*. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-documentationpart.html)", "allOf": [ { "type": "object", @@ -26590,14 +26649,14 @@ "Type": { "type": "string", "enum": [ - "AWS::IoT::ProvisioningTemplate" + "AWS::ApiGateway::DocumentationPart" ], "markdownEnumDescriptions": [ - "Creates a fleet provisioning template. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-provisioningtemplate.html)" + "The ``AWS::ApiGateway::DocumentationPart`` resource creates a documentation part for an API. For more information, see [Representation of API Documentation in API Gateway](https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-documenting-api-content-representation.html) in the *API Gateway Developer Guide*. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-documentationpart.html)" ] }, "Properties": { - "$ref": "resources/aws-iot-provisioningtemplate.json" + "$ref": "resources/aws-apigateway-documentationpart.json" } }, "required": [ @@ -26611,9 +26670,9 @@ ], "additionalProperties": false }, - "AWS_SecurityHub_AutomationRule": { + "AWS_ControlTower_LandingZone": { "type": "object", - "markdownDescription": "The ``AWS::SecurityHub::AutomationRule`` resource specifies an automation rule based on input parameters. For more information, see [Automation rules](https://docs.aws.amazon.com/securityhub/latest/userguide/automation-rules.html) in the *User Guide*. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-securityhub-automationrule.html)", + "markdownDescription": "Definition of AWS::ControlTower::LandingZone Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-controltower-landingzone.html)", "allOf": [ { "type": "object", @@ -26621,14 +26680,14 @@ "Type": { "type": "string", "enum": [ - "AWS::SecurityHub::AutomationRule" + "AWS::ControlTower::LandingZone" ], "markdownEnumDescriptions": [ - "The ``AWS::SecurityHub::AutomationRule`` resource specifies an automation rule based on input parameters. For more information, see [Automation rules](https://docs.aws.amazon.com/securityhub/latest/userguide/automation-rules.html) in the *User Guide*. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-securityhub-automationrule.html)" + "Definition of AWS::ControlTower::LandingZone Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-controltower-landingzone.html)" ] }, "Properties": { - "$ref": "resources/aws-securityhub-automationrule.json" + "$ref": "resources/aws-controltower-landingzone.json" } }, "required": [ @@ -26642,9 +26701,9 @@ ], "additionalProperties": false }, - "AWS_NeptuneGraph_PrivateGraphEndpoint": { + "AWS_EC2_TransitGatewayRouteTablePropagation": { "type": "object", - "markdownDescription": "The AWS::NeptuneGraph::PrivateGraphEndpoint resource creates an Amazon NeptuneGraph PrivateGraphEndpoint. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-neptunegraph-privategraphendpoint.html)", + "markdownDescription": "AWS::EC2::TransitGatewayRouteTablePropagation Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-transitgatewayroutetablepropagation.html)", "allOf": [ { "type": "object", @@ -26652,14 +26711,14 @@ "Type": { "type": "string", "enum": [ - "AWS::NeptuneGraph::PrivateGraphEndpoint" + "AWS::EC2::TransitGatewayRouteTablePropagation" ], "markdownEnumDescriptions": [ - "The AWS::NeptuneGraph::PrivateGraphEndpoint resource creates an Amazon NeptuneGraph PrivateGraphEndpoint. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-neptunegraph-privategraphendpoint.html)" + "AWS::EC2::TransitGatewayRouteTablePropagation Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-transitgatewayroutetablepropagation.html)" ] }, "Properties": { - "$ref": "resources/aws-neptunegraph-privategraphendpoint.json" + "$ref": "resources/aws-ec2-transitgatewayroutetablepropagation.json" } }, "required": [ @@ -26673,9 +26732,9 @@ ], "additionalProperties": false }, - "AWS_QuickSight_Analysis": { + "AWS_AppStream_ImageBuilder": { "type": "object", - "markdownDescription": "Definition of the AWS::QuickSight::Analysis Resource Type. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-quicksight-analysis.html)", + "markdownDescription": "Resource Type definition for AWS::AppStream::ImageBuilder \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appstream-imagebuilder.html)", "allOf": [ { "type": "object", @@ -26683,14 +26742,14 @@ "Type": { "type": "string", "enum": [ - "AWS::QuickSight::Analysis" + "AWS::AppStream::ImageBuilder" ], "markdownEnumDescriptions": [ - "Definition of the AWS::QuickSight::Analysis Resource Type. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-quicksight-analysis.html)" + "Resource Type definition for AWS::AppStream::ImageBuilder \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appstream-imagebuilder.html)" ] }, "Properties": { - "$ref": "resources/aws-quicksight-analysis.json" + "$ref": "resources/aws-appstream-imagebuilder.json" } }, "required": [ @@ -26704,9 +26763,9 @@ ], "additionalProperties": false }, - "AWS_IoT1Click_Placement": { + "AWS_Connect_PhoneNumber": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::IoT1Click::Placement \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot1click-placement.html)", + "markdownDescription": "Resource Type definition for AWS::Connect::PhoneNumber \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-connect-phonenumber.html)", "allOf": [ { "type": "object", @@ -26714,14 +26773,14 @@ "Type": { "type": "string", "enum": [ - "AWS::IoT1Click::Placement" + "AWS::Connect::PhoneNumber" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::IoT1Click::Placement \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot1click-placement.html)" + "Resource Type definition for AWS::Connect::PhoneNumber \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-connect-phonenumber.html)" ] }, "Properties": { - "$ref": "resources/aws-iot1click-placement.json" + "$ref": "resources/aws-connect-phonenumber.json" } }, "required": [ @@ -26735,9 +26794,9 @@ ], "additionalProperties": false }, - "AWS_EC2_VPCEndpointService": { + "AWS_APS_RuleGroupsNamespace": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::EC2::VPCEndpointService \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpcendpointservice.html)", + "markdownDescription": "RuleGroupsNamespace schema for cloudformation. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-aps-rulegroupsnamespace.html)", "allOf": [ { "type": "object", @@ -26745,18 +26804,19 @@ "Type": { "type": "string", "enum": [ - "AWS::EC2::VPCEndpointService" + "AWS::APS::RuleGroupsNamespace" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::EC2::VPCEndpointService \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpcendpointservice.html)" + "RuleGroupsNamespace schema for cloudformation. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-aps-rulegroupsnamespace.html)" ] }, "Properties": { - "$ref": "resources/aws-ec2-vpcendpointservice.json" + "$ref": "resources/aws-aps-rulegroupsnamespace.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -26765,9 +26825,9 @@ ], "additionalProperties": false }, - "AWS_Bedrock_Prompt": { + "AWS_SageMaker_InferenceExperiment": { "type": "object", - "markdownDescription": "Definition of AWS::Bedrock::Prompt Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-bedrock-prompt.html)", + "markdownDescription": "Resource Type definition for AWS::SageMaker::InferenceExperiment \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-inferenceexperiment.html)", "allOf": [ { "type": "object", @@ -26775,14 +26835,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Bedrock::Prompt" + "AWS::SageMaker::InferenceExperiment" ], "markdownEnumDescriptions": [ - "Definition of AWS::Bedrock::Prompt Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-bedrock-prompt.html)" + "Resource Type definition for AWS::SageMaker::InferenceExperiment \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-inferenceexperiment.html)" ] }, "Properties": { - "$ref": "resources/aws-bedrock-prompt.json" + "$ref": "resources/aws-sagemaker-inferenceexperiment.json" } }, "required": [ @@ -26796,9 +26856,9 @@ ], "additionalProperties": false }, - "AWS_SageMaker_StudioLifecycleConfig": { + "AWS_Transfer_Certificate": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::SageMaker::StudioLifecycleConfig \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-studiolifecycleconfig.html)", + "markdownDescription": "Resource Type definition for AWS::Transfer::Certificate \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-transfer-certificate.html)", "allOf": [ { "type": "object", @@ -26806,14 +26866,14 @@ "Type": { "type": "string", "enum": [ - "AWS::SageMaker::StudioLifecycleConfig" + "AWS::Transfer::Certificate" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::SageMaker::StudioLifecycleConfig \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-studiolifecycleconfig.html)" + "Resource Type definition for AWS::Transfer::Certificate \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-transfer-certificate.html)" ] }, "Properties": { - "$ref": "resources/aws-sagemaker-studiolifecycleconfig.json" + "$ref": "resources/aws-transfer-certificate.json" } }, "required": [ @@ -26827,9 +26887,9 @@ ], "additionalProperties": false }, - "AWS_ApplicationInsights_Application": { + "AWS_Deadline_QueueFleetAssociation": { "type": "object", - "markdownDescription": "Resource schema for AWS::ApplicationInsights::Application \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-applicationinsights-application.html)", + "markdownDescription": "Definition of AWS::Deadline::QueueFleetAssociation Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-deadline-queuefleetassociation.html)", "allOf": [ { "type": "object", @@ -26837,14 +26897,14 @@ "Type": { "type": "string", "enum": [ - "AWS::ApplicationInsights::Application" + "AWS::Deadline::QueueFleetAssociation" ], "markdownEnumDescriptions": [ - "Resource schema for AWS::ApplicationInsights::Application \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-applicationinsights-application.html)" + "Definition of AWS::Deadline::QueueFleetAssociation Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-deadline-queuefleetassociation.html)" ] }, "Properties": { - "$ref": "resources/aws-applicationinsights-application.json" + "$ref": "resources/aws-deadline-queuefleetassociation.json" } }, "required": [ @@ -26858,9 +26918,9 @@ ], "additionalProperties": false }, - "AWS_WAFv2_RuleGroup": { + "AWS_NeptuneGraph_PrivateGraphEndpoint": { "type": "object", - "markdownDescription": "Contains the Rules that identify the requests that you want to allow, block, or count. In a RuleGroup, you also specify a default action (ALLOW or BLOCK), and the action for each Rule that you add to a RuleGroup, for example, block requests from specified IP addresses or block requests from specified referrers. You also associate the RuleGroup with a CloudFront distribution to identify the requests that you want AWS WAF to filter. If you add more than one Rule to a RuleGroup, a request needs to match only one of the specifications to be allowed, blocked, or counted. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-wafv2-rulegroup.html)", + "markdownDescription": "The AWS::NeptuneGraph::PrivateGraphEndpoint resource creates an Amazon NeptuneGraph PrivateGraphEndpoint. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-neptunegraph-privategraphendpoint.html)", "allOf": [ { "type": "object", @@ -26868,14 +26928,14 @@ "Type": { "type": "string", "enum": [ - "AWS::WAFv2::RuleGroup" + "AWS::NeptuneGraph::PrivateGraphEndpoint" ], "markdownEnumDescriptions": [ - "Contains the Rules that identify the requests that you want to allow, block, or count. In a RuleGroup, you also specify a default action (ALLOW or BLOCK), and the action for each Rule that you add to a RuleGroup, for example, block requests from specified IP addresses or block requests from specified referrers. You also associate the RuleGroup with a CloudFront distribution to identify the requests that you want AWS WAF to filter. If you add more than one Rule to a RuleGroup, a request needs to match only one of the specifications to be allowed, blocked, or counted. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-wafv2-rulegroup.html)" + "The AWS::NeptuneGraph::PrivateGraphEndpoint resource creates an Amazon NeptuneGraph PrivateGraphEndpoint. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-neptunegraph-privategraphendpoint.html)" ] }, "Properties": { - "$ref": "resources/aws-wafv2-rulegroup.json" + "$ref": "resources/aws-neptunegraph-privategraphendpoint.json" } }, "required": [ @@ -26889,9 +26949,9 @@ ], "additionalProperties": false }, - "AWS_ApiGatewayV2_IntegrationResponse": { + "AWS_BillingConductor_BillingGroup": { "type": "object", - "markdownDescription": "The ``AWS::ApiGatewayV2::IntegrationResponse`` resource updates an integration response for an WebSocket API. For more information, see [Set up WebSocket API Integration Responses in API Gateway](https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-websocket-api-integration-responses.html) in the *API Gateway Developer Guide*. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-integrationresponse.html)", + "markdownDescription": "A billing group is a set of linked account which belong to the same end customer. It can be seen as a virtual consolidated billing family. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-billingconductor-billinggroup.html)", "allOf": [ { "type": "object", @@ -26899,14 +26959,14 @@ "Type": { "type": "string", "enum": [ - "AWS::ApiGatewayV2::IntegrationResponse" + "AWS::BillingConductor::BillingGroup" ], "markdownEnumDescriptions": [ - "The ``AWS::ApiGatewayV2::IntegrationResponse`` resource updates an integration response for an WebSocket API. For more information, see [Set up WebSocket API Integration Responses in API Gateway](https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-websocket-api-integration-responses.html) in the *API Gateway Developer Guide*. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-integrationresponse.html)" + "A billing group is a set of linked account which belong to the same end customer. It can be seen as a virtual consolidated billing family. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-billingconductor-billinggroup.html)" ] }, "Properties": { - "$ref": "resources/aws-apigatewayv2-integrationresponse.json" + "$ref": "resources/aws-billingconductor-billinggroup.json" } }, "required": [ @@ -26920,9 +26980,9 @@ ], "additionalProperties": false }, - "AWS_AppStream_AppBlock": { + "AWS_ApiGateway_Method": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::AppStream::AppBlock \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appstream-appblock.html)", + "markdownDescription": "The ``AWS::ApiGateway::Method`` resource creates API Gateway methods that define the parameters and body that clients must send in their requests. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-method.html)", "allOf": [ { "type": "object", @@ -26930,14 +26990,14 @@ "Type": { "type": "string", "enum": [ - "AWS::AppStream::AppBlock" + "AWS::ApiGateway::Method" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::AppStream::AppBlock \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appstream-appblock.html)" + "The ``AWS::ApiGateway::Method`` resource creates API Gateway methods that define the parameters and body that clients must send in their requests. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-method.html)" ] }, "Properties": { - "$ref": "resources/aws-appstream-appblock.json" + "$ref": "resources/aws-apigateway-method.json" } }, "required": [ @@ -26951,9 +27011,9 @@ ], "additionalProperties": false }, - "AWS_SSM_MaintenanceWindowTarget": { + "AWS_LakeFormation_Tag": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::SSM::MaintenanceWindowTarget \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-maintenancewindowtarget.html)", + "markdownDescription": "A resource schema representing a Lake Formation Tag. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lakeformation-tag.html)", "allOf": [ { "type": "object", @@ -26961,14 +27021,14 @@ "Type": { "type": "string", "enum": [ - "AWS::SSM::MaintenanceWindowTarget" + "AWS::LakeFormation::Tag" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::SSM::MaintenanceWindowTarget \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-maintenancewindowtarget.html)" + "A resource schema representing a Lake Formation Tag. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lakeformation-tag.html)" ] }, "Properties": { - "$ref": "resources/aws-ssm-maintenancewindowtarget.json" + "$ref": "resources/aws-lakeformation-tag.json" } }, "required": [ @@ -26982,9 +27042,9 @@ ], "additionalProperties": false }, - "AWS_ElasticLoadBalancing_LoadBalancer": { + "AWS_Pinpoint_APNSSandboxChannel": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::ElasticLoadBalancing::LoadBalancer \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticloadbalancing-loadbalancer.html)", + "markdownDescription": "Resource Type definition for AWS::Pinpoint::APNSSandboxChannel \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-apnssandboxchannel.html)", "allOf": [ { "type": "object", @@ -26992,14 +27052,14 @@ "Type": { "type": "string", "enum": [ - "AWS::ElasticLoadBalancing::LoadBalancer" + "AWS::Pinpoint::APNSSandboxChannel" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::ElasticLoadBalancing::LoadBalancer \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticloadbalancing-loadbalancer.html)" + "Resource Type definition for AWS::Pinpoint::APNSSandboxChannel \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-apnssandboxchannel.html)" ] }, "Properties": { - "$ref": "resources/aws-elasticloadbalancing-loadbalancer.json" + "$ref": "resources/aws-pinpoint-apnssandboxchannel.json" } }, "required": [ @@ -27013,9 +27073,9 @@ ], "additionalProperties": false }, - "AWS_SSO_Assignment": { + "AWS_NetworkManager_VpcAttachment": { "type": "object", - "markdownDescription": "Resource Type definition for SSO assignmet \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sso-assignment.html)", + "markdownDescription": "AWS::NetworkManager::VpcAttachment Resoruce Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkmanager-vpcattachment.html)", "allOf": [ { "type": "object", @@ -27023,14 +27083,14 @@ "Type": { "type": "string", "enum": [ - "AWS::SSO::Assignment" + "AWS::NetworkManager::VpcAttachment" ], "markdownEnumDescriptions": [ - "Resource Type definition for SSO assignmet \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sso-assignment.html)" + "AWS::NetworkManager::VpcAttachment Resoruce Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkmanager-vpcattachment.html)" ] }, "Properties": { - "$ref": "resources/aws-sso-assignment.json" + "$ref": "resources/aws-networkmanager-vpcattachment.json" } }, "required": [ @@ -27044,9 +27104,9 @@ ], "additionalProperties": false }, - "AWS_VpcLattice_ServiceNetworkServiceAssociation": { + "AWS_EMR_Studio": { "type": "object", - "markdownDescription": "Associates a service with a service network. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-vpclattice-servicenetworkserviceassociation.html)", + "markdownDescription": "Resource schema for AWS::EMR::Studio \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-emr-studio.html)", "allOf": [ { "type": "object", @@ -27054,18 +27114,19 @@ "Type": { "type": "string", "enum": [ - "AWS::VpcLattice::ServiceNetworkServiceAssociation" + "AWS::EMR::Studio" ], "markdownEnumDescriptions": [ - "Associates a service with a service network. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-vpclattice-servicenetworkserviceassociation.html)" + "Resource schema for AWS::EMR::Studio \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-emr-studio.html)" ] }, "Properties": { - "$ref": "resources/aws-vpclattice-servicenetworkserviceassociation.json" + "$ref": "resources/aws-emr-studio.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -27074,9 +27135,9 @@ ], "additionalProperties": false }, - "AWS_ApiGateway_Resource": { + "AWS_EC2_VPNGatewayRoutePropagation": { "type": "object", - "markdownDescription": "The ``AWS::ApiGateway::Resource`` resource creates a resource in an API. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-resource.html)", + "markdownDescription": "Resource Type definition for AWS::EC2::VPNGatewayRoutePropagation \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpngatewayroutepropagation.html)", "allOf": [ { "type": "object", @@ -27084,14 +27145,14 @@ "Type": { "type": "string", "enum": [ - "AWS::ApiGateway::Resource" + "AWS::EC2::VPNGatewayRoutePropagation" ], "markdownEnumDescriptions": [ - "The ``AWS::ApiGateway::Resource`` resource creates a resource in an API. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-resource.html)" + "Resource Type definition for AWS::EC2::VPNGatewayRoutePropagation \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpngatewayroutepropagation.html)" ] }, "Properties": { - "$ref": "resources/aws-apigateway-resource.json" + "$ref": "resources/aws-ec2-vpngatewayroutepropagation.json" } }, "required": [ @@ -27105,9 +27166,9 @@ ], "additionalProperties": false }, - "AWS_CodePipeline_Pipeline": { + "AWS_AppFlow_Connector": { "type": "object", - "markdownDescription": "The AWS::CodePipeline::Pipeline resource creates a CodePipeline pipeline that describes how software changes go through a release process. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codepipeline-pipeline.html)", + "markdownDescription": "Resource schema for AWS::AppFlow::Connector \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appflow-connector.html)", "allOf": [ { "type": "object", @@ -27115,14 +27176,14 @@ "Type": { "type": "string", "enum": [ - "AWS::CodePipeline::Pipeline" + "AWS::AppFlow::Connector" ], "markdownEnumDescriptions": [ - "The AWS::CodePipeline::Pipeline resource creates a CodePipeline pipeline that describes how software changes go through a release process. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codepipeline-pipeline.html)" + "Resource schema for AWS::AppFlow::Connector \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appflow-connector.html)" ] }, "Properties": { - "$ref": "resources/aws-codepipeline-pipeline.json" + "$ref": "resources/aws-appflow-connector.json" } }, "required": [ @@ -27136,9 +27197,9 @@ ], "additionalProperties": false }, - "AWS_DataSync_LocationFSxWindows": { + "AWS_ConnectCampaigns_Campaign": { "type": "object", - "markdownDescription": "Resource schema for AWS::DataSync::LocationFSxWindows. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datasync-locationfsxwindows.html)", + "markdownDescription": "Definition of AWS::ConnectCampaigns::Campaign Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-connectcampaigns-campaign.html)", "allOf": [ { "type": "object", @@ -27146,14 +27207,14 @@ "Type": { "type": "string", "enum": [ - "AWS::DataSync::LocationFSxWindows" + "AWS::ConnectCampaigns::Campaign" ], "markdownEnumDescriptions": [ - "Resource schema for AWS::DataSync::LocationFSxWindows. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datasync-locationfsxwindows.html)" + "Definition of AWS::ConnectCampaigns::Campaign Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-connectcampaigns-campaign.html)" ] }, "Properties": { - "$ref": "resources/aws-datasync-locationfsxwindows.json" + "$ref": "resources/aws-connectcampaigns-campaign.json" } }, "required": [ @@ -27167,9 +27228,9 @@ ], "additionalProperties": false }, - "AWS_Redshift_ClusterParameterGroup": { + "AWS_CodeStarConnections_Connection": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::Redshift::ClusterParameterGroup \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-redshift-clusterparametergroup.html)", + "markdownDescription": "Schema for AWS::CodeStarConnections::Connection resource which can be used to connect external source providers with AWS CodePipeline \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codestarconnections-connection.html)", "allOf": [ { "type": "object", @@ -27177,14 +27238,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Redshift::ClusterParameterGroup" + "AWS::CodeStarConnections::Connection" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::Redshift::ClusterParameterGroup \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-redshift-clusterparametergroup.html)" + "Schema for AWS::CodeStarConnections::Connection resource which can be used to connect external source providers with AWS CodePipeline \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codestarconnections-connection.html)" ] }, "Properties": { - "$ref": "resources/aws-redshift-clusterparametergroup.json" + "$ref": "resources/aws-codestarconnections-connection.json" } }, "required": [ @@ -27198,9 +27259,9 @@ ], "additionalProperties": false }, - "AWS_SES_VdmAttributes": { + "AWS_RDS_DBSecurityGroupIngress": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::SES::VdmAttributes \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ses-vdmattributes.html)", + "markdownDescription": "Resource Type definition for AWS::RDS::DBSecurityGroupIngress \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbsecuritygroupingress.html)", "allOf": [ { "type": "object", @@ -27208,18 +27269,19 @@ "Type": { "type": "string", "enum": [ - "AWS::SES::VdmAttributes" + "AWS::RDS::DBSecurityGroupIngress" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::SES::VdmAttributes \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ses-vdmattributes.html)" + "Resource Type definition for AWS::RDS::DBSecurityGroupIngress \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbsecuritygroupingress.html)" ] }, "Properties": { - "$ref": "resources/aws-ses-vdmattributes.json" + "$ref": "resources/aws-rds-dbsecuritygroupingress.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -27228,9 +27290,9 @@ ], "additionalProperties": false }, - "AWS_PCAConnectorAD_TemplateGroupAccessControlEntry": { + "AWS_Omics_SequenceStore": { "type": "object", - "markdownDescription": "Definition of AWS::PCAConnectorAD::TemplateGroupAccessControlEntry Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pcaconnectorad-templategroupaccesscontrolentry.html)", + "markdownDescription": "Definition of AWS::Omics::SequenceStore Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-omics-sequencestore.html)", "allOf": [ { "type": "object", @@ -27238,14 +27300,14 @@ "Type": { "type": "string", "enum": [ - "AWS::PCAConnectorAD::TemplateGroupAccessControlEntry" + "AWS::Omics::SequenceStore" ], "markdownEnumDescriptions": [ - "Definition of AWS::PCAConnectorAD::TemplateGroupAccessControlEntry Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pcaconnectorad-templategroupaccesscontrolentry.html)" + "Definition of AWS::Omics::SequenceStore Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-omics-sequencestore.html)" ] }, "Properties": { - "$ref": "resources/aws-pcaconnectorad-templategroupaccesscontrolentry.json" + "$ref": "resources/aws-omics-sequencestore.json" } }, "required": [ @@ -27259,9 +27321,9 @@ ], "additionalProperties": false }, - "AWS_IVS_RecordingConfiguration": { + "AWS_Glue_SecurityConfiguration": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::IVS::RecordingConfiguration \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ivs-recordingconfiguration.html)", + "markdownDescription": "Resource Type definition for AWS::Glue::SecurityConfiguration \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-securityconfiguration.html)", "allOf": [ { "type": "object", @@ -27269,14 +27331,14 @@ "Type": { "type": "string", "enum": [ - "AWS::IVS::RecordingConfiguration" + "AWS::Glue::SecurityConfiguration" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::IVS::RecordingConfiguration \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ivs-recordingconfiguration.html)" + "Resource Type definition for AWS::Glue::SecurityConfiguration \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-securityconfiguration.html)" ] }, "Properties": { - "$ref": "resources/aws-ivs-recordingconfiguration.json" + "$ref": "resources/aws-glue-securityconfiguration.json" } }, "required": [ @@ -27290,9 +27352,9 @@ ], "additionalProperties": false }, - "AWS_ApiGatewayV2_VpcLink": { + "AWS_Synthetics_Group": { "type": "object", - "markdownDescription": "The ``AWS::ApiGatewayV2::VpcLink`` resource creates a VPC link. Supported only for HTTP APIs. The VPC link status must transition from ``PENDING`` to ``AVAILABLE`` to successfully create a VPC link, which can take up to 10 minutes. To learn more, see [Working with VPC Links for HTTP APIs](https://docs.aws.amazon.com/apigateway/latest/developerguide/http-api-vpc-links.html) in the *API Gateway Developer Guide*. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-vpclink.html)", + "markdownDescription": "Resource Type definition for AWS::Synthetics::Group \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-synthetics-group.html)", "allOf": [ { "type": "object", @@ -27300,14 +27362,14 @@ "Type": { "type": "string", "enum": [ - "AWS::ApiGatewayV2::VpcLink" + "AWS::Synthetics::Group" ], "markdownEnumDescriptions": [ - "The ``AWS::ApiGatewayV2::VpcLink`` resource creates a VPC link. Supported only for HTTP APIs. The VPC link status must transition from ``PENDING`` to ``AVAILABLE`` to successfully create a VPC link, which can take up to 10 minutes. To learn more, see [Working with VPC Links for HTTP APIs](https://docs.aws.amazon.com/apigateway/latest/developerguide/http-api-vpc-links.html) in the *API Gateway Developer Guide*. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-vpclink.html)" + "Resource Type definition for AWS::Synthetics::Group \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-synthetics-group.html)" ] }, "Properties": { - "$ref": "resources/aws-apigatewayv2-vpclink.json" + "$ref": "resources/aws-synthetics-group.json" } }, "required": [ @@ -27321,9 +27383,9 @@ ], "additionalProperties": false }, - "AWS_AppRunner_ObservabilityConfiguration": { + "AWS_IoT_Policy": { "type": "object", - "markdownDescription": "The AWS::AppRunner::ObservabilityConfiguration resource is an AWS App Runner resource type that specifies an App Runner observability configuration \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apprunner-observabilityconfiguration.html)", + "markdownDescription": "Resource Type definition for AWS::IoT::Policy \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-policy.html)", "allOf": [ { "type": "object", @@ -27331,18 +27393,19 @@ "Type": { "type": "string", "enum": [ - "AWS::AppRunner::ObservabilityConfiguration" + "AWS::IoT::Policy" ], "markdownEnumDescriptions": [ - "The AWS::AppRunner::ObservabilityConfiguration resource is an AWS App Runner resource type that specifies an App Runner observability configuration \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apprunner-observabilityconfiguration.html)" + "Resource Type definition for AWS::IoT::Policy \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-policy.html)" ] }, "Properties": { - "$ref": "resources/aws-apprunner-observabilityconfiguration.json" + "$ref": "resources/aws-iot-policy.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -27351,9 +27414,9 @@ ], "additionalProperties": false }, - "AWS_AppConfig_HostedConfigurationVersion": { + "AWS_WAFRegional_WebACL": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::AppConfig::HostedConfigurationVersion \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appconfig-hostedconfigurationversion.html)", + "markdownDescription": "Resource Type definition for AWS::WAFRegional::WebACL \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-wafregional-webacl.html)", "allOf": [ { "type": "object", @@ -27361,14 +27424,14 @@ "Type": { "type": "string", "enum": [ - "AWS::AppConfig::HostedConfigurationVersion" + "AWS::WAFRegional::WebACL" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::AppConfig::HostedConfigurationVersion \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appconfig-hostedconfigurationversion.html)" + "Resource Type definition for AWS::WAFRegional::WebACL \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-wafregional-webacl.html)" ] }, "Properties": { - "$ref": "resources/aws-appconfig-hostedconfigurationversion.json" + "$ref": "resources/aws-wafregional-webacl.json" } }, "required": [ @@ -27382,9 +27445,9 @@ ], "additionalProperties": false }, - "AWS_CloudFormation_WaitCondition": { + "AWS_EMR_Step": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::CloudFormation::WaitCondition \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudformation-waitcondition.html)", + "markdownDescription": "Schema for AWS::EMR::Step \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-emr-step.html)", "allOf": [ { "type": "object", @@ -27392,18 +27455,19 @@ "Type": { "type": "string", "enum": [ - "AWS::CloudFormation::WaitCondition" + "AWS::EMR::Step" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::CloudFormation::WaitCondition \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudformation-waitcondition.html)" + "Schema for AWS::EMR::Step \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-emr-step.html)" ] }, "Properties": { - "$ref": "resources/aws-cloudformation-waitcondition.json" + "$ref": "resources/aws-emr-step.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -27412,9 +27476,9 @@ ], "additionalProperties": false }, - "AWS_EC2_VPNGateway": { + "AWS_EC2_EIP": { "type": "object", - "markdownDescription": "Specifies a virtual private gateway. A virtual private gateway is the endpoint on the VPC side of your VPN connection. You can create a virtual private gateway before creating the VPC itself.\n For more information, see [](https://docs.aws.amazon.com/vpn/latest/s2svpn/VPC_VPN.html) in the *User Guide*. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpngateway.html)", + "markdownDescription": "Specifies an Elastic IP (EIP) address and can, optionally, associate it with an Amazon EC2 instance.\n You can allocate an Elastic IP address from an address pool owned by AWS or from an address pool created from a public IPv4 address range that you have brought to AWS for use with your AWS resources using bring your own IP addresses (BYOIP). For more information, see [Bring Your Own IP Addresses (BYOIP)](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-byoip.html) in the *Amazon EC2 User Guide*.\n For more information, see [Elastic IP Addresses](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/elastic-ip-addresses-eip.html) in the *Amazon EC2 User Guide*. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-eip.html)", "allOf": [ { "type": "object", @@ -27422,19 +27486,18 @@ "Type": { "type": "string", "enum": [ - "AWS::EC2::VPNGateway" + "AWS::EC2::EIP" ], "markdownEnumDescriptions": [ - "Specifies a virtual private gateway. A virtual private gateway is the endpoint on the VPC side of your VPN connection. You can create a virtual private gateway before creating the VPC itself.\n For more information, see [](https://docs.aws.amazon.com/vpn/latest/s2svpn/VPC_VPN.html) in the *User Guide*. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpngateway.html)" + "Specifies an Elastic IP (EIP) address and can, optionally, associate it with an Amazon EC2 instance.\n You can allocate an Elastic IP address from an address pool owned by AWS or from an address pool created from a public IPv4 address range that you have brought to AWS for use with your AWS resources using bring your own IP addresses (BYOIP). For more information, see [Bring Your Own IP Addresses (BYOIP)](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-byoip.html) in the *Amazon EC2 User Guide*.\n For more information, see [Elastic IP Addresses](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/elastic-ip-addresses-eip.html) in the *Amazon EC2 User Guide*. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-eip.html)" ] }, "Properties": { - "$ref": "resources/aws-ec2-vpngateway.json" + "$ref": "resources/aws-ec2-eip.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -27443,9 +27506,9 @@ ], "additionalProperties": false }, - "AWS_RoboMaker_Robot": { + "AWS_DMS_ReplicationConfig": { "type": "object", - "markdownDescription": "AWS::RoboMaker::Robot resource creates an AWS RoboMaker Robot. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-robomaker-robot.html)", + "markdownDescription": "A replication configuration that you later provide to configure and start a AWS DMS Serverless replication \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dms-replicationconfig.html)", "allOf": [ { "type": "object", @@ -27453,14 +27516,14 @@ "Type": { "type": "string", "enum": [ - "AWS::RoboMaker::Robot" + "AWS::DMS::ReplicationConfig" ], "markdownEnumDescriptions": [ - "AWS::RoboMaker::Robot resource creates an AWS RoboMaker Robot. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-robomaker-robot.html)" + "A replication configuration that you later provide to configure and start a AWS DMS Serverless replication \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dms-replicationconfig.html)" ] }, "Properties": { - "$ref": "resources/aws-robomaker-robot.json" + "$ref": "resources/aws-dms-replicationconfig.json" } }, "required": [ @@ -27474,9 +27537,9 @@ ], "additionalProperties": false }, - "AWS_DAX_SubnetGroup": { + "AWS_IoTSiteWise_Gateway": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::DAX::SubnetGroup \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dax-subnetgroup.html)", + "markdownDescription": "Resource schema for AWS::IoTSiteWise::Gateway \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotsitewise-gateway.html)", "allOf": [ { "type": "object", @@ -27484,14 +27547,14 @@ "Type": { "type": "string", "enum": [ - "AWS::DAX::SubnetGroup" + "AWS::IoTSiteWise::Gateway" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::DAX::SubnetGroup \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dax-subnetgroup.html)" + "Resource schema for AWS::IoTSiteWise::Gateway \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotsitewise-gateway.html)" ] }, "Properties": { - "$ref": "resources/aws-dax-subnetgroup.json" + "$ref": "resources/aws-iotsitewise-gateway.json" } }, "required": [ @@ -27505,9 +27568,9 @@ ], "additionalProperties": false }, - "AWS_M2_Environment": { + "AWS_EC2_NetworkAclEntry": { "type": "object", - "markdownDescription": "Represents a runtime environment that can run migrated mainframe applications. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-m2-environment.html)", + "markdownDescription": "Resource Type definition for AWS::EC2::NetworkAclEntry \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-networkaclentry.html)", "allOf": [ { "type": "object", @@ -27515,14 +27578,14 @@ "Type": { "type": "string", "enum": [ - "AWS::M2::Environment" + "AWS::EC2::NetworkAclEntry" ], "markdownEnumDescriptions": [ - "Represents a runtime environment that can run migrated mainframe applications. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-m2-environment.html)" + "Resource Type definition for AWS::EC2::NetworkAclEntry \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-networkaclentry.html)" ] }, "Properties": { - "$ref": "resources/aws-m2-environment.json" + "$ref": "resources/aws-ec2-networkaclentry.json" } }, "required": [ @@ -27536,9 +27599,9 @@ ], "additionalProperties": false }, - "AWS_ElastiCache_GlobalReplicationGroup": { + "AWS_AmplifyUIBuilder_Form": { "type": "object", - "markdownDescription": "The AWS::ElastiCache::GlobalReplicationGroup resource creates an Amazon ElastiCache Global Replication Group. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticache-globalreplicationgroup.html)", + "markdownDescription": "Definition of AWS::AmplifyUIBuilder::Form Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-amplifyuibuilder-form.html)", "allOf": [ { "type": "object", @@ -27546,19 +27609,18 @@ "Type": { "type": "string", "enum": [ - "AWS::ElastiCache::GlobalReplicationGroup" + "AWS::AmplifyUIBuilder::Form" ], "markdownEnumDescriptions": [ - "The AWS::ElastiCache::GlobalReplicationGroup resource creates an Amazon ElastiCache Global Replication Group. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticache-globalreplicationgroup.html)" + "Definition of AWS::AmplifyUIBuilder::Form Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-amplifyuibuilder-form.html)" ] }, "Properties": { - "$ref": "resources/aws-elasticache-globalreplicationgroup.json" + "$ref": "resources/aws-amplifyuibuilder-form.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -27567,9 +27629,9 @@ ], "additionalProperties": false }, - "AWS_GameLift_Fleet": { + "AWS_ControlTower_EnabledControl": { "type": "object", - "markdownDescription": "The AWS::GameLift::Fleet resource creates an Amazon GameLift (GameLift) fleet to host game servers. A fleet is a set of EC2 or Anywhere instances, each of which can host multiple game sessions. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-gamelift-fleet.html)", + "markdownDescription": "Enables a control on a specified target. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-controltower-enabledcontrol.html)", "allOf": [ { "type": "object", @@ -27577,14 +27639,14 @@ "Type": { "type": "string", "enum": [ - "AWS::GameLift::Fleet" + "AWS::ControlTower::EnabledControl" ], "markdownEnumDescriptions": [ - "The AWS::GameLift::Fleet resource creates an Amazon GameLift (GameLift) fleet to host game servers. A fleet is a set of EC2 or Anywhere instances, each of which can host multiple game sessions. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-gamelift-fleet.html)" + "Enables a control on a specified target. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-controltower-enabledcontrol.html)" ] }, "Properties": { - "$ref": "resources/aws-gamelift-fleet.json" + "$ref": "resources/aws-controltower-enabledcontrol.json" } }, "required": [ @@ -27598,9 +27660,9 @@ ], "additionalProperties": false }, - "AWS_Redshift_EndpointAuthorization": { + "AWS_AppStream_Fleet": { "type": "object", - "markdownDescription": "Describes an endpoint authorization for authorizing Redshift-managed VPC endpoint access to a cluster across AWS accounts. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-redshift-endpointauthorization.html)", + "markdownDescription": "Resource Type definition for AWS::AppStream::Fleet \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appstream-fleet.html)", "allOf": [ { "type": "object", @@ -27608,14 +27670,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Redshift::EndpointAuthorization" + "AWS::AppStream::Fleet" ], "markdownEnumDescriptions": [ - "Describes an endpoint authorization for authorizing Redshift-managed VPC endpoint access to a cluster across AWS accounts. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-redshift-endpointauthorization.html)" + "Resource Type definition for AWS::AppStream::Fleet \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appstream-fleet.html)" ] }, "Properties": { - "$ref": "resources/aws-redshift-endpointauthorization.json" + "$ref": "resources/aws-appstream-fleet.json" } }, "required": [ @@ -27629,9 +27691,9 @@ ], "additionalProperties": false }, - "AWS_WAFRegional_WebACL": { + "AWS_Cognito_UserPoolRiskConfigurationAttachment": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::WAFRegional::WebACL \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-wafregional-webacl.html)", + "markdownDescription": "Resource Type definition for AWS::Cognito::UserPoolRiskConfigurationAttachment \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpoolriskconfigurationattachment.html)", "allOf": [ { "type": "object", @@ -27639,14 +27701,14 @@ "Type": { "type": "string", "enum": [ - "AWS::WAFRegional::WebACL" + "AWS::Cognito::UserPoolRiskConfigurationAttachment" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::WAFRegional::WebACL \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-wafregional-webacl.html)" + "Resource Type definition for AWS::Cognito::UserPoolRiskConfigurationAttachment \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpoolriskconfigurationattachment.html)" ] }, "Properties": { - "$ref": "resources/aws-wafregional-webacl.json" + "$ref": "resources/aws-cognito-userpoolriskconfigurationattachment.json" } }, "required": [ @@ -27660,9 +27722,9 @@ ], "additionalProperties": false }, - "AWS_NetworkManager_TransitGatewayPeering": { + "AWS_CleanRoomsML_TrainingDataset": { "type": "object", - "markdownDescription": "AWS::NetworkManager::TransitGatewayPeering Resoruce Type. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkmanager-transitgatewaypeering.html)", + "markdownDescription": "Definition of AWS::CleanRoomsML::TrainingDataset Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cleanroomsml-trainingdataset.html)", "allOf": [ { "type": "object", @@ -27670,14 +27732,14 @@ "Type": { "type": "string", "enum": [ - "AWS::NetworkManager::TransitGatewayPeering" + "AWS::CleanRoomsML::TrainingDataset" ], "markdownEnumDescriptions": [ - "AWS::NetworkManager::TransitGatewayPeering Resoruce Type. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkmanager-transitgatewaypeering.html)" + "Definition of AWS::CleanRoomsML::TrainingDataset Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cleanroomsml-trainingdataset.html)" ] }, "Properties": { - "$ref": "resources/aws-networkmanager-transitgatewaypeering.json" + "$ref": "resources/aws-cleanroomsml-trainingdataset.json" } }, "required": [ @@ -27691,9 +27753,9 @@ ], "additionalProperties": false }, - "AWS_Lambda_CodeSigningConfig": { + "AWS_IoTFleetHub_Application": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::Lambda::CodeSigningConfig. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-codesigningconfig.html)", + "markdownDescription": "Resource schema for AWS::IoTFleetHub::Application \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotfleethub-application.html)", "allOf": [ { "type": "object", @@ -27701,14 +27763,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Lambda::CodeSigningConfig" + "AWS::IoTFleetHub::Application" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::Lambda::CodeSigningConfig. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-codesigningconfig.html)" + "Resource schema for AWS::IoTFleetHub::Application \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotfleethub-application.html)" ] }, "Properties": { - "$ref": "resources/aws-lambda-codesigningconfig.json" + "$ref": "resources/aws-iotfleethub-application.json" } }, "required": [ @@ -27722,9 +27784,9 @@ ], "additionalProperties": false }, - "AWS_Athena_CapacityReservation": { + "AWS_NimbleStudio_LaunchProfile": { "type": "object", - "markdownDescription": "Resource schema for AWS::Athena::CapacityReservation \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-athena-capacityreservation.html)", + "markdownDescription": "Resource Type definition for AWS::NimbleStudio::LaunchProfile \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-nimblestudio-launchprofile.html)", "allOf": [ { "type": "object", @@ -27732,14 +27794,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Athena::CapacityReservation" + "AWS::NimbleStudio::LaunchProfile" ], "markdownEnumDescriptions": [ - "Resource schema for AWS::Athena::CapacityReservation \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-athena-capacityreservation.html)" + "Resource Type definition for AWS::NimbleStudio::LaunchProfile \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-nimblestudio-launchprofile.html)" ] }, "Properties": { - "$ref": "resources/aws-athena-capacityreservation.json" + "$ref": "resources/aws-nimblestudio-launchprofile.json" } }, "required": [ @@ -27753,9 +27815,9 @@ ], "additionalProperties": false }, - "AWS_Glue_UsageProfile": { + "AWS_Logs_LogAnomalyDetector": { "type": "object", - "markdownDescription": "This creates a Resource of UsageProfile type. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-usageprofile.html)", + "markdownDescription": "The AWS::Logs::LogAnomalyDetector resource specifies a CloudWatch Logs LogAnomalyDetector. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-logs-loganomalydetector.html)", "allOf": [ { "type": "object", @@ -27763,19 +27825,18 @@ "Type": { "type": "string", "enum": [ - "AWS::Glue::UsageProfile" + "AWS::Logs::LogAnomalyDetector" ], "markdownEnumDescriptions": [ - "This creates a Resource of UsageProfile type. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-usageprofile.html)" + "The AWS::Logs::LogAnomalyDetector resource specifies a CloudWatch Logs LogAnomalyDetector. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-logs-loganomalydetector.html)" ] }, "Properties": { - "$ref": "resources/aws-glue-usageprofile.json" + "$ref": "resources/aws-logs-loganomalydetector.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -27784,9 +27845,9 @@ ], "additionalProperties": false }, - "AWS_ApiGateway_UsagePlan": { + "AWS_IoT_PolicyPrincipalAttachment": { "type": "object", - "markdownDescription": "The ``AWS::ApiGateway::UsagePlan`` resource creates a usage plan for deployed APIs. A usage plan sets a target for the throttling and quota limits on individual client API keys. For more information, see [Creating and Using API Usage Plans in Amazon API Gateway](https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-api-usage-plans.html) in the *API Gateway Developer Guide*.\n In some cases clients can exceed the targets that you set. Don\u2019t rely on usage plans to control costs. Consider using [](https://docs.aws.amazon.com/cost-management/latest/userguide/budgets-managing-costs.html) to monitor costs and [](https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html) to manage API requests. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-usageplan.html)", + "markdownDescription": "Resource Type definition for AWS::IoT::PolicyPrincipalAttachment \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-policyprincipalattachment.html)", "allOf": [ { "type": "object", @@ -27794,18 +27855,19 @@ "Type": { "type": "string", "enum": [ - "AWS::ApiGateway::UsagePlan" + "AWS::IoT::PolicyPrincipalAttachment" ], "markdownEnumDescriptions": [ - "The ``AWS::ApiGateway::UsagePlan`` resource creates a usage plan for deployed APIs. A usage plan sets a target for the throttling and quota limits on individual client API keys. For more information, see [Creating and Using API Usage Plans in Amazon API Gateway](https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-api-usage-plans.html) in the *API Gateway Developer Guide*.\n In some cases clients can exceed the targets that you set. Don\u2019t rely on usage plans to control costs. Consider using [](https://docs.aws.amazon.com/cost-management/latest/userguide/budgets-managing-costs.html) to monitor costs and [](https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html) to manage API requests. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-usageplan.html)" + "Resource Type definition for AWS::IoT::PolicyPrincipalAttachment \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-policyprincipalattachment.html)" ] }, "Properties": { - "$ref": "resources/aws-apigateway-usageplan.json" + "$ref": "resources/aws-iot-policyprincipalattachment.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -27814,9 +27876,9 @@ ], "additionalProperties": false }, - "AWS_GlobalAccelerator_CrossAccountAttachment": { + "AWS_CleanRooms_AnalysisTemplate": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::GlobalAccelerator::CrossAccountAttachment \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-globalaccelerator-crossaccountattachment.html)", + "markdownDescription": "Represents a stored analysis within a collaboration \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cleanrooms-analysistemplate.html)", "allOf": [ { "type": "object", @@ -27824,14 +27886,14 @@ "Type": { "type": "string", "enum": [ - "AWS::GlobalAccelerator::CrossAccountAttachment" + "AWS::CleanRooms::AnalysisTemplate" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::GlobalAccelerator::CrossAccountAttachment \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-globalaccelerator-crossaccountattachment.html)" + "Represents a stored analysis within a collaboration \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cleanrooms-analysistemplate.html)" ] }, "Properties": { - "$ref": "resources/aws-globalaccelerator-crossaccountattachment.json" + "$ref": "resources/aws-cleanrooms-analysistemplate.json" } }, "required": [ @@ -27845,9 +27907,9 @@ ], "additionalProperties": false }, - "AWS_Config_AggregationAuthorization": { + "AWS_PCAConnectorAD_DirectoryRegistration": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::Config::AggregationAuthorization \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-config-aggregationauthorization.html)", + "markdownDescription": "Definition of AWS::PCAConnectorAD::DirectoryRegistration Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pcaconnectorad-directoryregistration.html)", "allOf": [ { "type": "object", @@ -27855,14 +27917,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Config::AggregationAuthorization" + "AWS::PCAConnectorAD::DirectoryRegistration" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::Config::AggregationAuthorization \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-config-aggregationauthorization.html)" + "Definition of AWS::PCAConnectorAD::DirectoryRegistration Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pcaconnectorad-directoryregistration.html)" ] }, "Properties": { - "$ref": "resources/aws-config-aggregationauthorization.json" + "$ref": "resources/aws-pcaconnectorad-directoryregistration.json" } }, "required": [ @@ -27876,9 +27938,9 @@ ], "additionalProperties": false }, - "AWS_Connect_Instance": { + "AWS_Logs_LogGroup": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::Connect::Instance \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-connect-instance.html)", + "markdownDescription": "The ``AWS::Logs::LogGroup`` resource specifies a log group. A log group defines common properties for log streams, such as their retention and access control rules. Each log stream must belong to one log group.\n You can create up to 1,000,000 log groups per Region per account. You must use the following guidelines when naming a log group:\n + Log group names must be unique within a Region for an AWS account.\n + Log group names can be between 1 and 512 characters long.\n + Log group names consist of the following characters: a-z, A-Z, 0-9, '_' (underscore), '-' (hyphen), '/' (forward slash), and '.' (period). \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-logs-loggroup.html)", "allOf": [ { "type": "object", @@ -27886,19 +27948,18 @@ "Type": { "type": "string", "enum": [ - "AWS::Connect::Instance" + "AWS::Logs::LogGroup" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::Connect::Instance \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-connect-instance.html)" + "The ``AWS::Logs::LogGroup`` resource specifies a log group. A log group defines common properties for log streams, such as their retention and access control rules. Each log stream must belong to one log group.\n You can create up to 1,000,000 log groups per Region per account. You must use the following guidelines when naming a log group:\n + Log group names must be unique within a Region for an AWS account.\n + Log group names can be between 1 and 512 characters long.\n + Log group names consist of the following characters: a-z, A-Z, 0-9, '_' (underscore), '-' (hyphen), '/' (forward slash), and '.' (period). \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-logs-loggroup.html)" ] }, "Properties": { - "$ref": "resources/aws-connect-instance.json" + "$ref": "resources/aws-logs-loggroup.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -27907,9 +27968,9 @@ ], "additionalProperties": false }, - "AWS_MediaLive_EventBridgeRuleTemplateGroup": { + "AWS_WAFRegional_Rule": { "type": "object", - "markdownDescription": "Definition of AWS::MediaLive::EventBridgeRuleTemplateGroup Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-medialive-eventbridgeruletemplategroup.html)", + "markdownDescription": "Resource Type definition for AWS::WAFRegional::Rule \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-wafregional-rule.html)", "allOf": [ { "type": "object", @@ -27917,14 +27978,14 @@ "Type": { "type": "string", "enum": [ - "AWS::MediaLive::EventBridgeRuleTemplateGroup" + "AWS::WAFRegional::Rule" ], "markdownEnumDescriptions": [ - "Definition of AWS::MediaLive::EventBridgeRuleTemplateGroup Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-medialive-eventbridgeruletemplategroup.html)" + "Resource Type definition for AWS::WAFRegional::Rule \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-wafregional-rule.html)" ] }, "Properties": { - "$ref": "resources/aws-medialive-eventbridgeruletemplategroup.json" + "$ref": "resources/aws-wafregional-rule.json" } }, "required": [ @@ -27938,9 +27999,9 @@ ], "additionalProperties": false }, - "AWS_Connect_HoursOfOperation": { + "AWS_Evidently_Project": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::Connect::HoursOfOperation \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-connect-hoursofoperation.html)", + "markdownDescription": "Resource Type definition for AWS::Evidently::Project \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-evidently-project.html)", "allOf": [ { "type": "object", @@ -27948,14 +28009,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Connect::HoursOfOperation" + "AWS::Evidently::Project" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::Connect::HoursOfOperation \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-connect-hoursofoperation.html)" + "Resource Type definition for AWS::Evidently::Project \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-evidently-project.html)" ] }, "Properties": { - "$ref": "resources/aws-connect-hoursofoperation.json" + "$ref": "resources/aws-evidently-project.json" } }, "required": [ @@ -27969,9 +28030,9 @@ ], "additionalProperties": false }, - "AWS_MediaPackage_PackagingConfiguration": { + "AWS_ServiceCatalog_PortfolioShare": { "type": "object", - "markdownDescription": "Resource schema for AWS::MediaPackage::PackagingConfiguration \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediapackage-packagingconfiguration.html)", + "markdownDescription": "Resource Type definition for AWS::ServiceCatalog::PortfolioShare \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicecatalog-portfolioshare.html)", "allOf": [ { "type": "object", @@ -27979,14 +28040,14 @@ "Type": { "type": "string", "enum": [ - "AWS::MediaPackage::PackagingConfiguration" + "AWS::ServiceCatalog::PortfolioShare" ], "markdownEnumDescriptions": [ - "Resource schema for AWS::MediaPackage::PackagingConfiguration \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediapackage-packagingconfiguration.html)" + "Resource Type definition for AWS::ServiceCatalog::PortfolioShare \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicecatalog-portfolioshare.html)" ] }, "Properties": { - "$ref": "resources/aws-mediapackage-packagingconfiguration.json" + "$ref": "resources/aws-servicecatalog-portfolioshare.json" } }, "required": [ @@ -28000,9 +28061,9 @@ ], "additionalProperties": false }, - "AWS_CodeStarConnections_SyncConfiguration": { + "AWS_WAFRegional_SizeConstraintSet": { "type": "object", - "markdownDescription": "Schema for AWS::CodeStarConnections::SyncConfiguration resource which is used to enables an AWS resource to be synchronized from a source-provider. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codestarconnections-syncconfiguration.html)", + "markdownDescription": "Resource Type definition for AWS::WAFRegional::SizeConstraintSet \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-wafregional-sizeconstraintset.html)", "allOf": [ { "type": "object", @@ -28010,14 +28071,14 @@ "Type": { "type": "string", "enum": [ - "AWS::CodeStarConnections::SyncConfiguration" + "AWS::WAFRegional::SizeConstraintSet" ], "markdownEnumDescriptions": [ - "Schema for AWS::CodeStarConnections::SyncConfiguration resource which is used to enables an AWS resource to be synchronized from a source-provider. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codestarconnections-syncconfiguration.html)" + "Resource Type definition for AWS::WAFRegional::SizeConstraintSet \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-wafregional-sizeconstraintset.html)" ] }, "Properties": { - "$ref": "resources/aws-codestarconnections-syncconfiguration.json" + "$ref": "resources/aws-wafregional-sizeconstraintset.json" } }, "required": [ @@ -28031,9 +28092,9 @@ ], "additionalProperties": false }, - "AWS_Grafana_Workspace": { + "AWS_B2BI_Transformer": { "type": "object", - "markdownDescription": "Definition of AWS::Grafana::Workspace Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-grafana-workspace.html)", + "markdownDescription": "Definition of AWS::B2BI::Transformer Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-b2bi-transformer.html)", "allOf": [ { "type": "object", @@ -28041,14 +28102,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Grafana::Workspace" + "AWS::B2BI::Transformer" ], "markdownEnumDescriptions": [ - "Definition of AWS::Grafana::Workspace Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-grafana-workspace.html)" + "Definition of AWS::B2BI::Transformer Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-b2bi-transformer.html)" ] }, "Properties": { - "$ref": "resources/aws-grafana-workspace.json" + "$ref": "resources/aws-b2bi-transformer.json" } }, "required": [ @@ -28062,9 +28123,9 @@ ], "additionalProperties": false }, - "AWS_InspectorV2_CisScanConfiguration": { + "AWS_SES_MailManagerIngressPoint": { "type": "object", - "markdownDescription": "CIS Scan Configuration resource schema \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-inspectorv2-cisscanconfiguration.html)", + "markdownDescription": "Definition of AWS::SES::MailManagerIngressPoint Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ses-mailmanageringresspoint.html)", "allOf": [ { "type": "object", @@ -28072,14 +28133,14 @@ "Type": { "type": "string", "enum": [ - "AWS::InspectorV2::CisScanConfiguration" + "AWS::SES::MailManagerIngressPoint" ], "markdownEnumDescriptions": [ - "CIS Scan Configuration resource schema \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-inspectorv2-cisscanconfiguration.html)" + "Definition of AWS::SES::MailManagerIngressPoint Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ses-mailmanageringresspoint.html)" ] }, "Properties": { - "$ref": "resources/aws-inspectorv2-cisscanconfiguration.json" + "$ref": "resources/aws-ses-mailmanageringresspoint.json" } }, "required": [ @@ -28093,9 +28154,9 @@ ], "additionalProperties": false }, - "AWS_ARCZonalShift_AutoshiftObserverNotificationStatus": { + "AWS_DMS_ReplicationSubnetGroup": { "type": "object", - "markdownDescription": "Definition of AWS::ARCZonalShift::AutoshiftObserverNotificationStatus Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-arczonalshift-autoshiftobservernotificationstatus.html)", + "markdownDescription": "Resource Type definition for AWS::DMS::ReplicationSubnetGroup \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dms-replicationsubnetgroup.html)", "allOf": [ { "type": "object", @@ -28103,14 +28164,14 @@ "Type": { "type": "string", "enum": [ - "AWS::ARCZonalShift::AutoshiftObserverNotificationStatus" + "AWS::DMS::ReplicationSubnetGroup" ], "markdownEnumDescriptions": [ - "Definition of AWS::ARCZonalShift::AutoshiftObserverNotificationStatus Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-arczonalshift-autoshiftobservernotificationstatus.html)" + "Resource Type definition for AWS::DMS::ReplicationSubnetGroup \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dms-replicationsubnetgroup.html)" ] }, "Properties": { - "$ref": "resources/aws-arczonalshift-autoshiftobservernotificationstatus.json" + "$ref": "resources/aws-dms-replicationsubnetgroup.json" } }, "required": [ @@ -28124,9 +28185,9 @@ ], "additionalProperties": false }, - "AWS_CleanRooms_Membership": { + "AWS_S3_Bucket": { "type": "object", - "markdownDescription": "Represents an AWS account that is a part of a collaboration \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cleanrooms-membership.html)", + "markdownDescription": "The ``AWS::S3::Bucket`` resource creates an Amazon S3 bucket in the same AWS Region where you create the AWS CloudFormation stack.\n To control how AWS CloudFormation handles the bucket when the stack is deleted, you can set a deletion policy for your bucket. You can choose to *retain* the bucket or to *delete* the bucket. For more information, see [DeletionPolicy Attribute](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-deletionpolicy.html).\n You can only delete empty buckets. Deletion fails for buckets that have contents. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-s3-bucket.html)", "allOf": [ { "type": "object", @@ -28134,19 +28195,18 @@ "Type": { "type": "string", "enum": [ - "AWS::CleanRooms::Membership" + "AWS::S3::Bucket" ], "markdownEnumDescriptions": [ - "Represents an AWS account that is a part of a collaboration \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cleanrooms-membership.html)" + "The ``AWS::S3::Bucket`` resource creates an Amazon S3 bucket in the same AWS Region where you create the AWS CloudFormation stack.\n To control how AWS CloudFormation handles the bucket when the stack is deleted, you can set a deletion policy for your bucket. You can choose to *retain* the bucket or to *delete* the bucket. For more information, see [DeletionPolicy Attribute](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-deletionpolicy.html).\n You can only delete empty buckets. Deletion fails for buckets that have contents. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-s3-bucket.html)" ] }, "Properties": { - "$ref": "resources/aws-cleanrooms-membership.json" + "$ref": "resources/aws-s3-bucket.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -28155,9 +28215,9 @@ ], "additionalProperties": false }, - "AWS_EC2_TrafficMirrorTarget": { + "AWS_Connect_Rule": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::EC2::TrafficMirrorTarget \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-trafficmirrortarget.html)", + "markdownDescription": "Resource Type definition for AWS:Connect::Rule \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-connect-rule.html)", "allOf": [ { "type": "object", @@ -28165,18 +28225,19 @@ "Type": { "type": "string", "enum": [ - "AWS::EC2::TrafficMirrorTarget" + "AWS::Connect::Rule" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::EC2::TrafficMirrorTarget \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-trafficmirrortarget.html)" + "Resource Type definition for AWS:Connect::Rule \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-connect-rule.html)" ] }, "Properties": { - "$ref": "resources/aws-ec2-trafficmirrortarget.json" + "$ref": "resources/aws-connect-rule.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -28185,9 +28246,9 @@ ], "additionalProperties": false }, - "AWS_AppConfig_Deployment": { + "AWS_Lambda_Alias": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::AppConfig::Deployment \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appconfig-deployment.html)", + "markdownDescription": "Resource Type definition for AWS::Lambda::Alias \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-alias.html)", "allOf": [ { "type": "object", @@ -28195,14 +28256,14 @@ "Type": { "type": "string", "enum": [ - "AWS::AppConfig::Deployment" + "AWS::Lambda::Alias" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::AppConfig::Deployment \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appconfig-deployment.html)" + "Resource Type definition for AWS::Lambda::Alias \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-alias.html)" ] }, "Properties": { - "$ref": "resources/aws-appconfig-deployment.json" + "$ref": "resources/aws-lambda-alias.json" } }, "required": [ @@ -28216,9 +28277,9 @@ ], "additionalProperties": false }, - "AWS_EC2_SecurityGroupEgress": { + "AWS_SecurityHub_FindingAggregator": { "type": "object", - "markdownDescription": "Adds the specified outbound (egress) rule to a security group.\n An outbound rule permits instances to send traffic to the specified IPv4 or IPv6 address range, the IP addresses that are specified by a prefix list, or the instances that are associated with a destination security group. For more information, see [Security group rules](https://docs.aws.amazon.com/vpc/latest/userguide/security-group-rules.html).\n You must specify exactly one of the following destinations: an IPv4 address range, an IPv6 address range, a prefix list, or a security group.\n You must specify a protocol for each rule (for example, TCP). If the protocol is TCP or UDP, you must also specify a port or port range. If the protocol is ICMP or ICMPv6, you must also specify the ICMP/ICMPv6 type and code. To specify all types or all codes, use -1.\n Rule changes are propagated to instances associated with the security group as quickly as possible. However, a small delay might occur. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-securitygroupegress.html)", + "markdownDescription": "The ``AWS::SecurityHub::FindingAggregator`` resource enables cross-Region aggregation. When cross-Region aggregation is enabled, you can aggregate findings, finding updates, insights, control compliance statuses, and security scores from one or more linked Regions to a single aggregation Region. You can then view and manage all of this data from the aggregation Region. For more details about cross-Region aggregation, see [Cross-Region aggregation](https://docs.aws.amazon.com/securityhub/latest/userguide/finding-aggregation.html) in the *User Guide* \n This resource must be created in the Region that you want to designate as your aggregation Region.\n Cross-Region aggregation is also a prerequisite for using [central configuration](https://docs.aws.amazon.com/securityhub/latest/userguide/central-configuration-intro.html) in ASH. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-securityhub-findingaggregator.html)", "allOf": [ { "type": "object", @@ -28226,14 +28287,14 @@ "Type": { "type": "string", "enum": [ - "AWS::EC2::SecurityGroupEgress" + "AWS::SecurityHub::FindingAggregator" ], "markdownEnumDescriptions": [ - "Adds the specified outbound (egress) rule to a security group.\n An outbound rule permits instances to send traffic to the specified IPv4 or IPv6 address range, the IP addresses that are specified by a prefix list, or the instances that are associated with a destination security group. For more information, see [Security group rules](https://docs.aws.amazon.com/vpc/latest/userguide/security-group-rules.html).\n You must specify exactly one of the following destinations: an IPv4 address range, an IPv6 address range, a prefix list, or a security group.\n You must specify a protocol for each rule (for example, TCP). If the protocol is TCP or UDP, you must also specify a port or port range. If the protocol is ICMP or ICMPv6, you must also specify the ICMP/ICMPv6 type and code. To specify all types or all codes, use -1.\n Rule changes are propagated to instances associated with the security group as quickly as possible. However, a small delay might occur. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-securitygroupegress.html)" + "The ``AWS::SecurityHub::FindingAggregator`` resource enables cross-Region aggregation. When cross-Region aggregation is enabled, you can aggregate findings, finding updates, insights, control compliance statuses, and security scores from one or more linked Regions to a single aggregation Region. You can then view and manage all of this data from the aggregation Region. For more details about cross-Region aggregation, see [Cross-Region aggregation](https://docs.aws.amazon.com/securityhub/latest/userguide/finding-aggregation.html) in the *User Guide* \n This resource must be created in the Region that you want to designate as your aggregation Region.\n Cross-Region aggregation is also a prerequisite for using [central configuration](https://docs.aws.amazon.com/securityhub/latest/userguide/central-configuration-intro.html) in ASH. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-securityhub-findingaggregator.html)" ] }, "Properties": { - "$ref": "resources/aws-ec2-securitygroupegress.json" + "$ref": "resources/aws-securityhub-findingaggregator.json" } }, "required": [ @@ -28247,9 +28308,9 @@ ], "additionalProperties": false }, - "AWS_EC2_Subnet": { + "AWS_EC2_GatewayRouteTableAssociation": { "type": "object", - "markdownDescription": "Specifies a subnet for the specified VPC.\n For an IPv4 only subnet, specify an IPv4 CIDR block. If the VPC has an IPv6 CIDR block, you can create an IPv6 only subnet or a dual stack subnet instead. For an IPv6 only subnet, specify an IPv6 CIDR block. For a dual stack subnet, specify both an IPv4 CIDR block and an IPv6 CIDR block.\n For more information, see [Subnets for your VPC](https://docs.aws.amazon.com/vpc/latest/userguide/configure-subnets.html) in the *Amazon VPC User Guide*. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-subnet.html)", + "markdownDescription": "Associates a gateway with a route table. The gateway and route table must be in the same VPC. This association causes the incoming traffic to the gateway to be routed according to the routes in the route table. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-gatewayroutetableassociation.html)", "allOf": [ { "type": "object", @@ -28257,14 +28318,14 @@ "Type": { "type": "string", "enum": [ - "AWS::EC2::Subnet" + "AWS::EC2::GatewayRouteTableAssociation" ], "markdownEnumDescriptions": [ - "Specifies a subnet for the specified VPC.\n For an IPv4 only subnet, specify an IPv4 CIDR block. If the VPC has an IPv6 CIDR block, you can create an IPv6 only subnet or a dual stack subnet instead. For an IPv6 only subnet, specify an IPv6 CIDR block. For a dual stack subnet, specify both an IPv4 CIDR block and an IPv6 CIDR block.\n For more information, see [Subnets for your VPC](https://docs.aws.amazon.com/vpc/latest/userguide/configure-subnets.html) in the *Amazon VPC User Guide*. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-subnet.html)" + "Associates a gateway with a route table. The gateway and route table must be in the same VPC. This association causes the incoming traffic to the gateway to be routed according to the routes in the route table. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-gatewayroutetableassociation.html)" ] }, "Properties": { - "$ref": "resources/aws-ec2-subnet.json" + "$ref": "resources/aws-ec2-gatewayroutetableassociation.json" } }, "required": [ @@ -28278,9 +28339,9 @@ ], "additionalProperties": false }, - "AWS_EC2_IPAMPoolCidr": { + "AWS_CloudFront_Function": { "type": "object", - "markdownDescription": "Resource Schema of AWS::EC2::IPAMPoolCidr Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-ipampoolcidr.html)", + "markdownDescription": "Resource Type definition for AWS::CloudFront::Function \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudfront-function.html)", "allOf": [ { "type": "object", @@ -28288,14 +28349,14 @@ "Type": { "type": "string", "enum": [ - "AWS::EC2::IPAMPoolCidr" + "AWS::CloudFront::Function" ], "markdownEnumDescriptions": [ - "Resource Schema of AWS::EC2::IPAMPoolCidr Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-ipampoolcidr.html)" + "Resource Type definition for AWS::CloudFront::Function \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudfront-function.html)" ] }, "Properties": { - "$ref": "resources/aws-ec2-ipampoolcidr.json" + "$ref": "resources/aws-cloudfront-function.json" } }, "required": [ @@ -28309,9 +28370,9 @@ ], "additionalProperties": false }, - "AWS_XRay_Group": { + "AWS_Panorama_Package": { "type": "object", - "markdownDescription": "This schema provides construct and validation rules for AWS-XRay Group resource parameters. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-xray-group.html)", + "markdownDescription": "Creates a package and storage location in an Amazon S3 access point. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-panorama-package.html)", "allOf": [ { "type": "object", @@ -28319,14 +28380,14 @@ "Type": { "type": "string", "enum": [ - "AWS::XRay::Group" + "AWS::Panorama::Package" ], "markdownEnumDescriptions": [ - "This schema provides construct and validation rules for AWS-XRay Group resource parameters. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-xray-group.html)" + "Creates a package and storage location in an Amazon S3 access point. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-panorama-package.html)" ] }, "Properties": { - "$ref": "resources/aws-xray-group.json" + "$ref": "resources/aws-panorama-package.json" } }, "required": [ @@ -28340,9 +28401,9 @@ ], "additionalProperties": false }, - "AWS_AppStream_Fleet": { + "AWS_ResilienceHub_ResiliencyPolicy": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::AppStream::Fleet \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appstream-fleet.html)", + "markdownDescription": "Resource Type Definition for Resiliency Policy. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-resiliencehub-resiliencypolicy.html)", "allOf": [ { "type": "object", @@ -28350,14 +28411,14 @@ "Type": { "type": "string", "enum": [ - "AWS::AppStream::Fleet" + "AWS::ResilienceHub::ResiliencyPolicy" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::AppStream::Fleet \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appstream-fleet.html)" + "Resource Type Definition for Resiliency Policy. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-resiliencehub-resiliencypolicy.html)" ] }, "Properties": { - "$ref": "resources/aws-appstream-fleet.json" + "$ref": "resources/aws-resiliencehub-resiliencypolicy.json" } }, "required": [ @@ -28371,9 +28432,9 @@ ], "additionalProperties": false }, - "AWS_EC2_NetworkPerformanceMetricSubscription": { + "AWS_MediaTailor_SourceLocation": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::EC2::NetworkPerformanceMetricSubscription \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-networkperformancemetricsubscription.html)", + "markdownDescription": "Definition of AWS::MediaTailor::SourceLocation Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediatailor-sourcelocation.html)", "allOf": [ { "type": "object", @@ -28381,14 +28442,14 @@ "Type": { "type": "string", "enum": [ - "AWS::EC2::NetworkPerformanceMetricSubscription" + "AWS::MediaTailor::SourceLocation" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::EC2::NetworkPerformanceMetricSubscription \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-networkperformancemetricsubscription.html)" + "Definition of AWS::MediaTailor::SourceLocation Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediatailor-sourcelocation.html)" ] }, "Properties": { - "$ref": "resources/aws-ec2-networkperformancemetricsubscription.json" + "$ref": "resources/aws-mediatailor-sourcelocation.json" } }, "required": [ @@ -28402,9 +28463,9 @@ ], "additionalProperties": false }, - "AWS_WAFv2_WebACLAssociation": { + "AWS_S3_AccessGrantsInstance": { "type": "object", - "markdownDescription": "Associates WebACL to Application Load Balancer, CloudFront or API Gateway. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-wafv2-webaclassociation.html)", + "markdownDescription": "The AWS::S3::AccessGrantsInstance resource is an Amazon S3 resource type that hosts Access Grants and their associated locations \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-s3-accessgrantsinstance.html)", "allOf": [ { "type": "object", @@ -28412,19 +28473,18 @@ "Type": { "type": "string", "enum": [ - "AWS::WAFv2::WebACLAssociation" + "AWS::S3::AccessGrantsInstance" ], "markdownEnumDescriptions": [ - "Associates WebACL to Application Load Balancer, CloudFront or API Gateway. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-wafv2-webaclassociation.html)" + "The AWS::S3::AccessGrantsInstance resource is an Amazon S3 resource type that hosts Access Grants and their associated locations \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-s3-accessgrantsinstance.html)" ] }, "Properties": { - "$ref": "resources/aws-wafv2-webaclassociation.json" + "$ref": "resources/aws-s3-accessgrantsinstance.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -28433,9 +28493,9 @@ ], "additionalProperties": false }, - "AWS_DMS_ReplicationSubnetGroup": { + "AWS_RDS_DBProxyEndpoint": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::DMS::ReplicationSubnetGroup \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dms-replicationsubnetgroup.html)", + "markdownDescription": "Resource schema for AWS::RDS::DBProxyEndpoint. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbproxyendpoint.html)", "allOf": [ { "type": "object", @@ -28443,14 +28503,14 @@ "Type": { "type": "string", "enum": [ - "AWS::DMS::ReplicationSubnetGroup" + "AWS::RDS::DBProxyEndpoint" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::DMS::ReplicationSubnetGroup \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dms-replicationsubnetgroup.html)" + "Resource schema for AWS::RDS::DBProxyEndpoint. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbproxyendpoint.html)" ] }, "Properties": { - "$ref": "resources/aws-dms-replicationsubnetgroup.json" + "$ref": "resources/aws-rds-dbproxyendpoint.json" } }, "required": [ @@ -28464,9 +28524,9 @@ ], "additionalProperties": false }, - "AWS_Pinpoint_Campaign": { + "AWS_EC2_NatGateway": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::Pinpoint::Campaign \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-campaign.html)", + "markdownDescription": "Specifies a network address translation (NAT) gateway in the specified subnet. You can create either a public NAT gateway or a private NAT gateway. The default is a public NAT gateway. If you create a public NAT gateway, you must specify an elastic IP address.\n With a NAT gateway, instances in a private subnet can connect to the internet, other AWS services, or an on-premises network using the IP address of the NAT gateway. For more information, see [NAT gateways](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-nat-gateway.html) in the *Amazon VPC User Guide*.\n If you add a default route (``AWS::EC2::Route`` resource) that points to a NAT gateway, specify the NAT gateway ID for the route's ``NatGatewayId`` property.\n When you associate an Elastic IP address or secondary Elastic IP address with a public NAT gateway, the network border group of the Elastic IP address must match the network border group of the Availability Zone (AZ) that the public NAT gateway is in. Otherwise, the NAT gateway fails to launch. You can see the network border group for the AZ by viewing the details of the subnet. Similarly, you can view the network border group for the Elastic IP address by viewing its details. For more information, see [Allocate an Elastic IP address](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-eips.html#allocate-eip) in the *Amazon VPC User Guide*. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-natgateway.html)", "allOf": [ { "type": "object", @@ -28474,14 +28534,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Pinpoint::Campaign" + "AWS::EC2::NatGateway" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::Pinpoint::Campaign \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-campaign.html)" + "Specifies a network address translation (NAT) gateway in the specified subnet. You can create either a public NAT gateway or a private NAT gateway. The default is a public NAT gateway. If you create a public NAT gateway, you must specify an elastic IP address.\n With a NAT gateway, instances in a private subnet can connect to the internet, other AWS services, or an on-premises network using the IP address of the NAT gateway. For more information, see [NAT gateways](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-nat-gateway.html) in the *Amazon VPC User Guide*.\n If you add a default route (``AWS::EC2::Route`` resource) that points to a NAT gateway, specify the NAT gateway ID for the route's ``NatGatewayId`` property.\n When you associate an Elastic IP address or secondary Elastic IP address with a public NAT gateway, the network border group of the Elastic IP address must match the network border group of the Availability Zone (AZ) that the public NAT gateway is in. Otherwise, the NAT gateway fails to launch. You can see the network border group for the AZ by viewing the details of the subnet. Similarly, you can view the network border group for the Elastic IP address by viewing its details. For more information, see [Allocate an Elastic IP address](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-eips.html#allocate-eip) in the *Amazon VPC User Guide*. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-natgateway.html)" ] }, "Properties": { - "$ref": "resources/aws-pinpoint-campaign.json" + "$ref": "resources/aws-ec2-natgateway.json" } }, "required": [ @@ -28495,9 +28555,9 @@ ], "additionalProperties": false }, - "AWS_VpcLattice_TargetGroup": { + "AWS_S3_MultiRegionAccessPointPolicy": { "type": "object", - "markdownDescription": "A target group is a collection of targets, or compute resources, that run your application or service. A target group can only be used by a single service. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-vpclattice-targetgroup.html)", + "markdownDescription": "The policy to be attached to a Multi Region Access Point \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-s3-multiregionaccesspointpolicy.html)", "allOf": [ { "type": "object", @@ -28505,14 +28565,14 @@ "Type": { "type": "string", "enum": [ - "AWS::VpcLattice::TargetGroup" + "AWS::S3::MultiRegionAccessPointPolicy" ], "markdownEnumDescriptions": [ - "A target group is a collection of targets, or compute resources, that run your application or service. A target group can only be used by a single service. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-vpclattice-targetgroup.html)" + "The policy to be attached to a Multi Region Access Point \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-s3-multiregionaccesspointpolicy.html)" ] }, "Properties": { - "$ref": "resources/aws-vpclattice-targetgroup.json" + "$ref": "resources/aws-s3-multiregionaccesspointpolicy.json" } }, "required": [ @@ -28526,9 +28586,9 @@ ], "additionalProperties": false }, - "AWS_Glue_TableOptimizer": { + "AWS_ServiceCatalog_ResourceUpdateConstraint": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::Glue::TableOptimizer \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-tableoptimizer.html)", + "markdownDescription": "Resource Type definition for AWS::ServiceCatalog::ResourceUpdateConstraint \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicecatalog-resourceupdateconstraint.html)", "allOf": [ { "type": "object", @@ -28536,14 +28596,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Glue::TableOptimizer" + "AWS::ServiceCatalog::ResourceUpdateConstraint" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::Glue::TableOptimizer \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-tableoptimizer.html)" + "Resource Type definition for AWS::ServiceCatalog::ResourceUpdateConstraint \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicecatalog-resourceupdateconstraint.html)" ] }, "Properties": { - "$ref": "resources/aws-glue-tableoptimizer.json" + "$ref": "resources/aws-servicecatalog-resourceupdateconstraint.json" } }, "required": [ @@ -28557,9 +28617,9 @@ ], "additionalProperties": false }, - "AWS_Omics_RunGroup": { + "AWS_ApiGatewayV2_Route": { "type": "object", - "markdownDescription": "Definition of AWS::Omics::RunGroup Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-omics-rungroup.html)", + "markdownDescription": "The ``AWS::ApiGatewayV2::Route`` resource creates a route for an API. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-route.html)", "allOf": [ { "type": "object", @@ -28567,18 +28627,19 @@ "Type": { "type": "string", "enum": [ - "AWS::Omics::RunGroup" + "AWS::ApiGatewayV2::Route" ], "markdownEnumDescriptions": [ - "Definition of AWS::Omics::RunGroup Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-omics-rungroup.html)" + "The ``AWS::ApiGatewayV2::Route`` resource creates a route for an API. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-route.html)" ] }, "Properties": { - "$ref": "resources/aws-omics-rungroup.json" + "$ref": "resources/aws-apigatewayv2-route.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -28587,9 +28648,9 @@ ], "additionalProperties": false }, - "AWS_IoT_Thing": { + "AWS_Lightsail_StaticIp": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::IoT::Thing \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-thing.html)", + "markdownDescription": "Resource Type definition for AWS::Lightsail::StaticIp \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lightsail-staticip.html)", "allOf": [ { "type": "object", @@ -28597,18 +28658,19 @@ "Type": { "type": "string", "enum": [ - "AWS::IoT::Thing" + "AWS::Lightsail::StaticIp" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::IoT::Thing \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-thing.html)" + "Resource Type definition for AWS::Lightsail::StaticIp \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lightsail-staticip.html)" ] }, "Properties": { - "$ref": "resources/aws-iot-thing.json" + "$ref": "resources/aws-lightsail-staticip.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -28617,9 +28679,9 @@ ], "additionalProperties": false }, - "AWS_AppStream_ImageBuilder": { + "AWS_WAFv2_RuleGroup": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::AppStream::ImageBuilder \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appstream-imagebuilder.html)", + "markdownDescription": "Contains the Rules that identify the requests that you want to allow, block, or count. In a RuleGroup, you also specify a default action (ALLOW or BLOCK), and the action for each Rule that you add to a RuleGroup, for example, block requests from specified IP addresses or block requests from specified referrers. You also associate the RuleGroup with a CloudFront distribution to identify the requests that you want AWS WAF to filter. If you add more than one Rule to a RuleGroup, a request needs to match only one of the specifications to be allowed, blocked, or counted. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-wafv2-rulegroup.html)", "allOf": [ { "type": "object", @@ -28627,14 +28689,14 @@ "Type": { "type": "string", "enum": [ - "AWS::AppStream::ImageBuilder" + "AWS::WAFv2::RuleGroup" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::AppStream::ImageBuilder \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appstream-imagebuilder.html)" + "Contains the Rules that identify the requests that you want to allow, block, or count. In a RuleGroup, you also specify a default action (ALLOW or BLOCK), and the action for each Rule that you add to a RuleGroup, for example, block requests from specified IP addresses or block requests from specified referrers. You also associate the RuleGroup with a CloudFront distribution to identify the requests that you want AWS WAF to filter. If you add more than one Rule to a RuleGroup, a request needs to match only one of the specifications to be allowed, blocked, or counted. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-wafv2-rulegroup.html)" ] }, "Properties": { - "$ref": "resources/aws-appstream-imagebuilder.json" + "$ref": "resources/aws-wafv2-rulegroup.json" } }, "required": [ @@ -28648,9 +28710,9 @@ ], "additionalProperties": false }, - "AWS_SES_MailManagerArchive": { + "AWS_EC2_SubnetCidrBlock": { "type": "object", - "markdownDescription": "Definition of AWS::SES::MailManagerArchive Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ses-mailmanagerarchive.html)", + "markdownDescription": "The AWS::EC2::SubnetCidrBlock resource creates association between subnet and IPv6 CIDR \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-subnetcidrblock.html)", "allOf": [ { "type": "object", @@ -28658,18 +28720,19 @@ "Type": { "type": "string", "enum": [ - "AWS::SES::MailManagerArchive" + "AWS::EC2::SubnetCidrBlock" ], "markdownEnumDescriptions": [ - "Definition of AWS::SES::MailManagerArchive Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ses-mailmanagerarchive.html)" + "The AWS::EC2::SubnetCidrBlock resource creates association between subnet and IPv6 CIDR \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-subnetcidrblock.html)" ] }, "Properties": { - "$ref": "resources/aws-ses-mailmanagerarchive.json" + "$ref": "resources/aws-ec2-subnetcidrblock.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -28678,9 +28741,9 @@ ], "additionalProperties": false }, - "AWS_CloudTrail_EventDataStore": { + "AWS_CleanRooms_PrivacyBudgetTemplate": { "type": "object", - "markdownDescription": "A storage lake of event data against which you can run complex SQL-based queries. An event data store can include events that you have logged on your account from the last 7 to 2557 or 3653 days (about seven or ten years) depending on the selected BillingMode. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudtrail-eventdatastore.html)", + "markdownDescription": "Represents a privacy budget within a collaboration \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cleanrooms-privacybudgettemplate.html)", "allOf": [ { "type": "object", @@ -28688,18 +28751,19 @@ "Type": { "type": "string", "enum": [ - "AWS::CloudTrail::EventDataStore" + "AWS::CleanRooms::PrivacyBudgetTemplate" ], "markdownEnumDescriptions": [ - "A storage lake of event data against which you can run complex SQL-based queries. An event data store can include events that you have logged on your account from the last 7 to 2557 or 3653 days (about seven or ten years) depending on the selected BillingMode. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudtrail-eventdatastore.html)" + "Represents a privacy budget within a collaboration \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cleanrooms-privacybudgettemplate.html)" ] }, "Properties": { - "$ref": "resources/aws-cloudtrail-eventdatastore.json" + "$ref": "resources/aws-cleanrooms-privacybudgettemplate.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -28708,9 +28772,9 @@ ], "additionalProperties": false }, - "AWS_EC2_TransitGatewayVpcAttachment": { + "AWS_BillingConductor_CustomLineItem": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::EC2::TransitGatewayVpcAttachment \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-transitgatewayvpcattachment.html)", + "markdownDescription": "A custom line item is an one time charge that is applied to a specific billing group's bill. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-billingconductor-customlineitem.html)", "allOf": [ { "type": "object", @@ -28718,14 +28782,14 @@ "Type": { "type": "string", "enum": [ - "AWS::EC2::TransitGatewayVpcAttachment" + "AWS::BillingConductor::CustomLineItem" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::EC2::TransitGatewayVpcAttachment \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-transitgatewayvpcattachment.html)" + "A custom line item is an one time charge that is applied to a specific billing group's bill. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-billingconductor-customlineitem.html)" ] }, "Properties": { - "$ref": "resources/aws-ec2-transitgatewayvpcattachment.json" + "$ref": "resources/aws-billingconductor-customlineitem.json" } }, "required": [ @@ -28739,9 +28803,9 @@ ], "additionalProperties": false }, - "AWS_RedshiftServerless_Namespace": { + "AWS_DataSync_LocationObjectStorage": { "type": "object", - "markdownDescription": "Definition of AWS::RedshiftServerless::Namespace Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-redshiftserverless-namespace.html)", + "markdownDescription": "Resource schema for AWS::DataSync::LocationObjectStorage. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datasync-locationobjectstorage.html)", "allOf": [ { "type": "object", @@ -28749,14 +28813,14 @@ "Type": { "type": "string", "enum": [ - "AWS::RedshiftServerless::Namespace" + "AWS::DataSync::LocationObjectStorage" ], "markdownEnumDescriptions": [ - "Definition of AWS::RedshiftServerless::Namespace Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-redshiftserverless-namespace.html)" + "Resource schema for AWS::DataSync::LocationObjectStorage. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datasync-locationobjectstorage.html)" ] }, "Properties": { - "$ref": "resources/aws-redshiftserverless-namespace.json" + "$ref": "resources/aws-datasync-locationobjectstorage.json" } }, "required": [ @@ -28770,9 +28834,9 @@ ], "additionalProperties": false }, - "AWS_IoTWireless_WirelessDeviceImportTask": { + "AWS_SSM_Association": { "type": "object", - "markdownDescription": "Wireless Device Import Tasks \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotwireless-wirelessdeviceimporttask.html)", + "markdownDescription": "The AWS::SSM::Association resource associates an SSM document in AWS Systems Manager with EC2 instances that contain a configuration agent to process the document. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-association.html)", "allOf": [ { "type": "object", @@ -28780,14 +28844,14 @@ "Type": { "type": "string", "enum": [ - "AWS::IoTWireless::WirelessDeviceImportTask" + "AWS::SSM::Association" ], "markdownEnumDescriptions": [ - "Wireless Device Import Tasks \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotwireless-wirelessdeviceimporttask.html)" + "The AWS::SSM::Association resource associates an SSM document in AWS Systems Manager with EC2 instances that contain a configuration agent to process the document. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-association.html)" ] }, "Properties": { - "$ref": "resources/aws-iotwireless-wirelessdeviceimporttask.json" + "$ref": "resources/aws-ssm-association.json" } }, "required": [ @@ -28801,9 +28865,9 @@ ], "additionalProperties": false }, - "AWS_QLDB_Stream": { + "AWS_IoT_Authorizer": { "type": "object", - "markdownDescription": "Resource schema for AWS::QLDB::Stream. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-qldb-stream.html)", + "markdownDescription": "Creates an authorizer. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-authorizer.html)", "allOf": [ { "type": "object", @@ -28811,14 +28875,14 @@ "Type": { "type": "string", "enum": [ - "AWS::QLDB::Stream" + "AWS::IoT::Authorizer" ], "markdownEnumDescriptions": [ - "Resource schema for AWS::QLDB::Stream. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-qldb-stream.html)" + "Creates an authorizer. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-authorizer.html)" ] }, "Properties": { - "$ref": "resources/aws-qldb-stream.json" + "$ref": "resources/aws-iot-authorizer.json" } }, "required": [ @@ -28832,9 +28896,9 @@ ], "additionalProperties": false }, - "AWS_EC2_VPCCidrBlock": { + "AWS_WAF_XssMatchSet": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::EC2::VPCCidrBlock \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpccidrblock.html)", + "markdownDescription": "Resource Type definition for AWS::WAF::XssMatchSet \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-waf-xssmatchset.html)", "allOf": [ { "type": "object", @@ -28842,14 +28906,14 @@ "Type": { "type": "string", "enum": [ - "AWS::EC2::VPCCidrBlock" + "AWS::WAF::XssMatchSet" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::EC2::VPCCidrBlock \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpccidrblock.html)" + "Resource Type definition for AWS::WAF::XssMatchSet \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-waf-xssmatchset.html)" ] }, "Properties": { - "$ref": "resources/aws-ec2-vpccidrblock.json" + "$ref": "resources/aws-waf-xssmatchset.json" } }, "required": [ @@ -28863,9 +28927,9 @@ ], "additionalProperties": false }, - "AWS_WorkSpacesWeb_TrustStore": { + "AWS_AppMesh_Mesh": { "type": "object", - "markdownDescription": "Definition of AWS::WorkSpacesWeb::TrustStore Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-workspacesweb-truststore.html)", + "markdownDescription": "Resource Type definition for AWS::AppMesh::Mesh \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appmesh-mesh.html)", "allOf": [ { "type": "object", @@ -28873,19 +28937,18 @@ "Type": { "type": "string", "enum": [ - "AWS::WorkSpacesWeb::TrustStore" + "AWS::AppMesh::Mesh" ], "markdownEnumDescriptions": [ - "Definition of AWS::WorkSpacesWeb::TrustStore Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-workspacesweb-truststore.html)" + "Resource Type definition for AWS::AppMesh::Mesh \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appmesh-mesh.html)" ] }, "Properties": { - "$ref": "resources/aws-workspacesweb-truststore.json" + "$ref": "resources/aws-appmesh-mesh.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -28894,9 +28957,9 @@ ], "additionalProperties": false }, - "AWS_EC2_TransitGatewayMulticastGroupMember": { + "AWS_VpcLattice_Listener": { "type": "object", - "markdownDescription": "The AWS::EC2::TransitGatewayMulticastGroupMember registers and deregisters members and sources (network interfaces) with the transit gateway multicast group \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-transitgatewaymulticastgroupmember.html)", + "markdownDescription": "Creates a listener for a service. Before you start using your Amazon VPC Lattice service, you must add one or more listeners. A listener is a process that checks for connection requests to your services. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-vpclattice-listener.html)", "allOf": [ { "type": "object", @@ -28904,14 +28967,14 @@ "Type": { "type": "string", "enum": [ - "AWS::EC2::TransitGatewayMulticastGroupMember" + "AWS::VpcLattice::Listener" ], "markdownEnumDescriptions": [ - "The AWS::EC2::TransitGatewayMulticastGroupMember registers and deregisters members and sources (network interfaces) with the transit gateway multicast group \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-transitgatewaymulticastgroupmember.html)" + "Creates a listener for a service. Before you start using your Amazon VPC Lattice service, you must add one or more listeners. A listener is a process that checks for connection requests to your services. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-vpclattice-listener.html)" ] }, "Properties": { - "$ref": "resources/aws-ec2-transitgatewaymulticastgroupmember.json" + "$ref": "resources/aws-vpclattice-listener.json" } }, "required": [ @@ -28925,9 +28988,9 @@ ], "additionalProperties": false }, - "AWS_NetworkManager_Device": { + "AWS_ECS_Service": { "type": "object", - "markdownDescription": "The AWS::NetworkManager::Device type describes a device. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkmanager-device.html)", + "markdownDescription": "The ``AWS::ECS::Service`` resource creates an Amazon Elastic Container Service (Amazon ECS) service that runs and maintains the requested number of tasks and associated load balancers.\n The stack update fails if you change any properties that require replacement and at least one ECS Service Connect ``ServiceConnectConfiguration`` property the is configured. This is because AWS CloudFormation creates the replacement service first, but each ``ServiceConnectService`` must have a name that is unique in the namespace.\n Starting April 15, 2023, AWS; will not onboard new customers to Amazon Elastic Inference (EI), and will help current customers migrate their workloads to options that offer better price and performance. After April 15, 2023, new customers will not be able to launch instances with Amazon EI accelerators in Amazon SageMaker, ECS, or EC2. However, customers who have used Amazon EI at least once during the past 30-day period are considered current customers and will be able to continue using the service. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ecs-service.html)", "allOf": [ { "type": "object", @@ -28935,19 +28998,18 @@ "Type": { "type": "string", "enum": [ - "AWS::NetworkManager::Device" + "AWS::ECS::Service" ], "markdownEnumDescriptions": [ - "The AWS::NetworkManager::Device type describes a device. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkmanager-device.html)" + "The ``AWS::ECS::Service`` resource creates an Amazon Elastic Container Service (Amazon ECS) service that runs and maintains the requested number of tasks and associated load balancers.\n The stack update fails if you change any properties that require replacement and at least one ECS Service Connect ``ServiceConnectConfiguration`` property the is configured. This is because AWS CloudFormation creates the replacement service first, but each ``ServiceConnectService`` must have a name that is unique in the namespace.\n Starting April 15, 2023, AWS; will not onboard new customers to Amazon Elastic Inference (EI), and will help current customers migrate their workloads to options that offer better price and performance. After April 15, 2023, new customers will not be able to launch instances with Amazon EI accelerators in Amazon SageMaker, ECS, or EC2. However, customers who have used Amazon EI at least once during the past 30-day period are considered current customers and will be able to continue using the service. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ecs-service.html)" ] }, "Properties": { - "$ref": "resources/aws-networkmanager-device.json" + "$ref": "resources/aws-ecs-service.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -28956,9 +29018,9 @@ ], "additionalProperties": false }, - "AWS_ApiGateway_VpcLink": { + "AWS_AppSync_GraphQLApi": { "type": "object", - "markdownDescription": "The ``AWS::ApiGateway::VpcLink`` resource creates an API Gateway VPC link for a REST API to access resources in an Amazon Virtual Private Cloud (VPC). For more information, see [vpclink:create](https://docs.aws.amazon.com/apigateway/latest/api/API_CreateVpcLink.html) in the ``Amazon API Gateway REST API Reference``. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-vpclink.html)", + "markdownDescription": "Resource Type definition for AWS::AppSync::GraphQLApi \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-graphqlapi.html)", "allOf": [ { "type": "object", @@ -28966,14 +29028,14 @@ "Type": { "type": "string", "enum": [ - "AWS::ApiGateway::VpcLink" + "AWS::AppSync::GraphQLApi" ], "markdownEnumDescriptions": [ - "The ``AWS::ApiGateway::VpcLink`` resource creates an API Gateway VPC link for a REST API to access resources in an Amazon Virtual Private Cloud (VPC). For more information, see [vpclink:create](https://docs.aws.amazon.com/apigateway/latest/api/API_CreateVpcLink.html) in the ``Amazon API Gateway REST API Reference``. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-vpclink.html)" + "Resource Type definition for AWS::AppSync::GraphQLApi \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-graphqlapi.html)" ] }, "Properties": { - "$ref": "resources/aws-apigateway-vpclink.json" + "$ref": "resources/aws-appsync-graphqlapi.json" } }, "required": [ @@ -28987,9 +29049,9 @@ ], "additionalProperties": false }, - "AWS_EC2_EC2Fleet": { + "AWS_CloudTrail_Trail": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::EC2::EC2Fleet \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-ec2fleet.html)", + "markdownDescription": "Creates a trail that specifies the settings for delivery of log data to an Amazon S3 bucket. A maximum of five trails can exist in a region, irrespective of the region in which they were created. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudtrail-trail.html)", "allOf": [ { "type": "object", @@ -28997,14 +29059,14 @@ "Type": { "type": "string", "enum": [ - "AWS::EC2::EC2Fleet" + "AWS::CloudTrail::Trail" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::EC2::EC2Fleet \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-ec2fleet.html)" + "Creates a trail that specifies the settings for delivery of log data to an Amazon S3 bucket. A maximum of five trails can exist in a region, irrespective of the region in which they were created. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudtrail-trail.html)" ] }, "Properties": { - "$ref": "resources/aws-ec2-ec2fleet.json" + "$ref": "resources/aws-cloudtrail-trail.json" } }, "required": [ @@ -29018,9 +29080,9 @@ ], "additionalProperties": false }, - "AWS_ElasticLoadBalancingV2_ListenerCertificate": { + "AWS_SecurityHub_AutomationRule": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::ElasticLoadBalancingV2::ListenerCertificate \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticloadbalancingv2-listenercertificate.html)", + "markdownDescription": "The ``AWS::SecurityHub::AutomationRule`` resource specifies an automation rule based on input parameters. For more information, see [Automation rules](https://docs.aws.amazon.com/securityhub/latest/userguide/automation-rules.html) in the *User Guide*. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-securityhub-automationrule.html)", "allOf": [ { "type": "object", @@ -29028,14 +29090,14 @@ "Type": { "type": "string", "enum": [ - "AWS::ElasticLoadBalancingV2::ListenerCertificate" + "AWS::SecurityHub::AutomationRule" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::ElasticLoadBalancingV2::ListenerCertificate \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticloadbalancingv2-listenercertificate.html)" + "The ``AWS::SecurityHub::AutomationRule`` resource specifies an automation rule based on input parameters. For more information, see [Automation rules](https://docs.aws.amazon.com/securityhub/latest/userguide/automation-rules.html) in the *User Guide*. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-securityhub-automationrule.html)" ] }, "Properties": { - "$ref": "resources/aws-elasticloadbalancingv2-listenercertificate.json" + "$ref": "resources/aws-securityhub-automationrule.json" } }, "required": [ @@ -29049,9 +29111,9 @@ ], "additionalProperties": false }, - "AWS_Glue_DevEndpoint": { + "AWS_EC2_LaunchTemplate": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::Glue::DevEndpoint \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-devendpoint.html)", + "markdownDescription": "Specifies the properties for creating a launch template.\n The minimum required properties for specifying a launch template are as follows:\n + You must specify at least one property for the launch template data.\n + You can optionally specify a name for the launch template. If you do not specify a name, CFN creates a name for you.\n \n A launch template can contain some or all of the configuration information to launch an instance. When you launch an instance using a launch template, instance properties that are not specified in the launch template use default values, except the ``ImageId`` property, which has no default value. If you do not specify an AMI ID for the launch template ``ImageId`` property, you must specify an AMI ID for the instance ``ImageId`` property.\n For more information, see [Launch an instance from a launch template](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-launch-templates.html) in the *Amazon EC2 User Guide*. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-launchtemplate.html)", "allOf": [ { "type": "object", @@ -29059,14 +29121,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Glue::DevEndpoint" + "AWS::EC2::LaunchTemplate" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::Glue::DevEndpoint \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-devendpoint.html)" + "Specifies the properties for creating a launch template.\n The minimum required properties for specifying a launch template are as follows:\n + You must specify at least one property for the launch template data.\n + You can optionally specify a name for the launch template. If you do not specify a name, CFN creates a name for you.\n \n A launch template can contain some or all of the configuration information to launch an instance. When you launch an instance using a launch template, instance properties that are not specified in the launch template use default values, except the ``ImageId`` property, which has no default value. If you do not specify an AMI ID for the launch template ``ImageId`` property, you must specify an AMI ID for the instance ``ImageId`` property.\n For more information, see [Launch an instance from a launch template](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-launch-templates.html) in the *Amazon EC2 User Guide*. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-launchtemplate.html)" ] }, "Properties": { - "$ref": "resources/aws-glue-devendpoint.json" + "$ref": "resources/aws-ec2-launchtemplate.json" } }, "required": [ @@ -29080,9 +29142,9 @@ ], "additionalProperties": false }, - "AWS_PCAConnectorSCEP_Connector": { + "AWS_GreengrassV2_Deployment": { "type": "object", - "markdownDescription": "Represents a Connector that allows certificate issuance through Simple Certificate Enrollment Protocol (SCEP) \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pcaconnectorscep-connector.html)", + "markdownDescription": "Resource for Greengrass V2 deployment. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrassv2-deployment.html)", "allOf": [ { "type": "object", @@ -29090,14 +29152,14 @@ "Type": { "type": "string", "enum": [ - "AWS::PCAConnectorSCEP::Connector" + "AWS::GreengrassV2::Deployment" ], "markdownEnumDescriptions": [ - "Represents a Connector that allows certificate issuance through Simple Certificate Enrollment Protocol (SCEP) \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pcaconnectorscep-connector.html)" + "Resource for Greengrass V2 deployment. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrassv2-deployment.html)" ] }, "Properties": { - "$ref": "resources/aws-pcaconnectorscep-connector.json" + "$ref": "resources/aws-greengrassv2-deployment.json" } }, "required": [ @@ -29111,9 +29173,9 @@ ], "additionalProperties": false }, - "AWS_IoTWireless_DeviceProfile": { + "AWS_Logs_MetricFilter": { "type": "object", - "markdownDescription": "Device Profile's resource schema demonstrating some basic constructs and validation rules. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotwireless-deviceprofile.html)", + "markdownDescription": "The ``AWS::Logs::MetricFilter`` resource specifies a metric filter that describes how CWL extracts information from logs and transforms it into Amazon CloudWatch metrics. If you have multiple metric filters that are associated with a log group, all the filters are applied to the log streams in that group.\n The maximum number of metric filters that can be associated with a log group is 100. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-logs-metricfilter.html)", "allOf": [ { "type": "object", @@ -29121,18 +29183,19 @@ "Type": { "type": "string", "enum": [ - "AWS::IoTWireless::DeviceProfile" + "AWS::Logs::MetricFilter" ], "markdownEnumDescriptions": [ - "Device Profile's resource schema demonstrating some basic constructs and validation rules. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotwireless-deviceprofile.html)" + "The ``AWS::Logs::MetricFilter`` resource specifies a metric filter that describes how CWL extracts information from logs and transforms it into Amazon CloudWatch metrics. If you have multiple metric filters that are associated with a log group, all the filters are applied to the log streams in that group.\n The maximum number of metric filters that can be associated with a log group is 100. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-logs-metricfilter.html)" ] }, "Properties": { - "$ref": "resources/aws-iotwireless-deviceprofile.json" + "$ref": "resources/aws-logs-metricfilter.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -29141,9 +29204,9 @@ ], "additionalProperties": false }, - "AWS_IAM_Policy": { + "AWS_MediaLive_Multiplexprogram": { "type": "object", - "markdownDescription": "Adds or updates an inline policy document that is embedded in the specified IAM group, user or role.\n An IAM user can also have a managed policy attached to it. For information about policies, see [Managed Policies and Inline Policies](https://docs.aws.amazon.com/IAM/latest/UserGuide/policies-managed-vs-inline.html) in the *User Guide*.\n The Groups, Roles, and Users properties are optional. However, you must specify at least one of these properties.\n For information about policy documents see [Creating policies](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_create.html) in the *User Guide*.\n For information about limits on the number of inline policies that you can embed in an identity, see [Limitations on Entities](https://docs.aws.amazon.com/IAM/latest/UserGuide/LimitationsOnEntities.html) in the *User Guide*.\n This resource does not support [drift detection](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-stack-drift.html). The following inline policy resource types support drift detection:\n + [AWS::IAM::GroupPolicy](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-grouppolicy.html) \n + [AWS::IAM::RolePolicy](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-rolepolicy.html) \n + [AWS::IAM::UserPolicy](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-userpolicy.html) \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-policy.html)", + "markdownDescription": "Resource schema for AWS::MediaLive::Multiplexprogram \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-medialive-multiplexprogram.html)", "allOf": [ { "type": "object", @@ -29151,19 +29214,18 @@ "Type": { "type": "string", "enum": [ - "AWS::IAM::Policy" + "AWS::MediaLive::Multiplexprogram" ], "markdownEnumDescriptions": [ - "Adds or updates an inline policy document that is embedded in the specified IAM group, user or role.\n An IAM user can also have a managed policy attached to it. For information about policies, see [Managed Policies and Inline Policies](https://docs.aws.amazon.com/IAM/latest/UserGuide/policies-managed-vs-inline.html) in the *User Guide*.\n The Groups, Roles, and Users properties are optional. However, you must specify at least one of these properties.\n For information about policy documents see [Creating policies](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_create.html) in the *User Guide*.\n For information about limits on the number of inline policies that you can embed in an identity, see [Limitations on Entities](https://docs.aws.amazon.com/IAM/latest/UserGuide/LimitationsOnEntities.html) in the *User Guide*.\n This resource does not support [drift detection](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-stack-drift.html). The following inline policy resource types support drift detection:\n + [AWS::IAM::GroupPolicy](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-grouppolicy.html) \n + [AWS::IAM::RolePolicy](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-rolepolicy.html) \n + [AWS::IAM::UserPolicy](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-userpolicy.html) \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-policy.html)" + "Resource schema for AWS::MediaLive::Multiplexprogram \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-medialive-multiplexprogram.html)" ] }, "Properties": { - "$ref": "resources/aws-iam-policy.json" + "$ref": "resources/aws-medialive-multiplexprogram.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -29172,9 +29234,9 @@ ], "additionalProperties": false }, - "AWS_CodeBuild_SourceCredential": { + "AWS_IoTSiteWise_AssetModel": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::CodeBuild::SourceCredential \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codebuild-sourcecredential.html)", + "markdownDescription": "Resource schema for AWS::IoTSiteWise::AssetModel \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotsitewise-assetmodel.html)", "allOf": [ { "type": "object", @@ -29182,14 +29244,14 @@ "Type": { "type": "string", "enum": [ - "AWS::CodeBuild::SourceCredential" + "AWS::IoTSiteWise::AssetModel" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::CodeBuild::SourceCredential \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codebuild-sourcecredential.html)" + "Resource schema for AWS::IoTSiteWise::AssetModel \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotsitewise-assetmodel.html)" ] }, "Properties": { - "$ref": "resources/aws-codebuild-sourcecredential.json" + "$ref": "resources/aws-iotsitewise-assetmodel.json" } }, "required": [ @@ -29203,9 +29265,9 @@ ], "additionalProperties": false }, - "AWS_CloudWatch_CompositeAlarm": { + "AWS_EMRServerless_Application": { "type": "object", - "markdownDescription": "The AWS::CloudWatch::CompositeAlarm type specifies an alarm which aggregates the states of other Alarms (Metric or Composite Alarms) as defined by the AlarmRule expression \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudwatch-compositealarm.html)", + "markdownDescription": "Resource schema for AWS::EMRServerless::Application Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-emrserverless-application.html)", "allOf": [ { "type": "object", @@ -29213,14 +29275,14 @@ "Type": { "type": "string", "enum": [ - "AWS::CloudWatch::CompositeAlarm" + "AWS::EMRServerless::Application" ], "markdownEnumDescriptions": [ - "The AWS::CloudWatch::CompositeAlarm type specifies an alarm which aggregates the states of other Alarms (Metric or Composite Alarms) as defined by the AlarmRule expression \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudwatch-compositealarm.html)" + "Resource schema for AWS::EMRServerless::Application Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-emrserverless-application.html)" ] }, "Properties": { - "$ref": "resources/aws-cloudwatch-compositealarm.json" + "$ref": "resources/aws-emrserverless-application.json" } }, "required": [ @@ -29234,9 +29296,9 @@ ], "additionalProperties": false }, - "AWS_S3_MultiRegionAccessPointPolicy": { + "AWS_CodeArtifact_Domain": { "type": "object", - "markdownDescription": "The policy to be attached to a Multi Region Access Point \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-s3-multiregionaccesspointpolicy.html)", + "markdownDescription": "The resource schema to create a CodeArtifact domain. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codeartifact-domain.html)", "allOf": [ { "type": "object", @@ -29244,14 +29306,14 @@ "Type": { "type": "string", "enum": [ - "AWS::S3::MultiRegionAccessPointPolicy" + "AWS::CodeArtifact::Domain" ], "markdownEnumDescriptions": [ - "The policy to be attached to a Multi Region Access Point \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-s3-multiregionaccesspointpolicy.html)" + "The resource schema to create a CodeArtifact domain. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codeartifact-domain.html)" ] }, "Properties": { - "$ref": "resources/aws-s3-multiregionaccesspointpolicy.json" + "$ref": "resources/aws-codeartifact-domain.json" } }, "required": [ @@ -29265,9 +29327,9 @@ ], "additionalProperties": false }, - "AWS_Evidently_Launch": { + "AWS_OpsWorks_Layer": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::Evidently::Launch. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-evidently-launch.html)", + "markdownDescription": "Resource Type definition for AWS::OpsWorks::Layer \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opsworks-layer.html)", "allOf": [ { "type": "object", @@ -29275,14 +29337,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Evidently::Launch" + "AWS::OpsWorks::Layer" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::Evidently::Launch. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-evidently-launch.html)" + "Resource Type definition for AWS::OpsWorks::Layer \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opsworks-layer.html)" ] }, "Properties": { - "$ref": "resources/aws-evidently-launch.json" + "$ref": "resources/aws-opsworks-layer.json" } }, "required": [ @@ -29296,9 +29358,9 @@ ], "additionalProperties": false }, - "AWS_IAM_UserToGroupAddition": { + "AWS_Connect_QuickConnect": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::IAM::UserToGroupAddition \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-usertogroupaddition.html)", + "markdownDescription": "Resource Type definition for AWS::Connect::QuickConnect \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-connect-quickconnect.html)", "allOf": [ { "type": "object", @@ -29306,14 +29368,14 @@ "Type": { "type": "string", "enum": [ - "AWS::IAM::UserToGroupAddition" + "AWS::Connect::QuickConnect" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::IAM::UserToGroupAddition \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-usertogroupaddition.html)" + "Resource Type definition for AWS::Connect::QuickConnect \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-connect-quickconnect.html)" ] }, "Properties": { - "$ref": "resources/aws-iam-usertogroupaddition.json" + "$ref": "resources/aws-connect-quickconnect.json" } }, "required": [ @@ -29327,9 +29389,9 @@ ], "additionalProperties": false }, - "AWS_QuickSight_Dashboard": { + "AWS_CloudFormation_Macro": { "type": "object", - "markdownDescription": "Definition of the AWS::QuickSight::Dashboard Resource Type. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-quicksight-dashboard.html)", + "markdownDescription": "Resource Type definition for AWS::CloudFormation::Macro \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudformation-macro.html)", "allOf": [ { "type": "object", @@ -29337,14 +29399,14 @@ "Type": { "type": "string", "enum": [ - "AWS::QuickSight::Dashboard" + "AWS::CloudFormation::Macro" ], "markdownEnumDescriptions": [ - "Definition of the AWS::QuickSight::Dashboard Resource Type. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-quicksight-dashboard.html)" + "Resource Type definition for AWS::CloudFormation::Macro \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudformation-macro.html)" ] }, "Properties": { - "$ref": "resources/aws-quicksight-dashboard.json" + "$ref": "resources/aws-cloudformation-macro.json" } }, "required": [ @@ -29358,9 +29420,9 @@ ], "additionalProperties": false }, - "AWS_SageMaker_Cluster": { + "AWS_EC2_TransitGatewayVpcAttachment": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::SageMaker::Cluster \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-cluster.html)", + "markdownDescription": "Resource Type definition for AWS::EC2::TransitGatewayVpcAttachment \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-transitgatewayvpcattachment.html)", "allOf": [ { "type": "object", @@ -29368,14 +29430,14 @@ "Type": { "type": "string", "enum": [ - "AWS::SageMaker::Cluster" + "AWS::EC2::TransitGatewayVpcAttachment" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::SageMaker::Cluster \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-cluster.html)" + "Resource Type definition for AWS::EC2::TransitGatewayVpcAttachment \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-transitgatewayvpcattachment.html)" ] }, "Properties": { - "$ref": "resources/aws-sagemaker-cluster.json" + "$ref": "resources/aws-ec2-transitgatewayvpcattachment.json" } }, "required": [ @@ -29389,9 +29451,9 @@ ], "additionalProperties": false }, - "AWS_RDS_EventSubscription": { + "AWS_EntityResolution_PolicyStatement": { "type": "object", - "markdownDescription": "The ``AWS::RDS::EventSubscription`` resource allows you to receive notifications for Amazon Relational Database Service events through the Amazon Simple Notification Service (Amazon SNS). For more information, see [Using Amazon RDS Event Notification](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Events.html) in the *Amazon RDS User Guide*. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-eventsubscription.html)", + "markdownDescription": "Policy Statement defined in AWS Entity Resolution Service \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-entityresolution-policystatement.html)", "allOf": [ { "type": "object", @@ -29399,14 +29461,14 @@ "Type": { "type": "string", "enum": [ - "AWS::RDS::EventSubscription" + "AWS::EntityResolution::PolicyStatement" ], "markdownEnumDescriptions": [ - "The ``AWS::RDS::EventSubscription`` resource allows you to receive notifications for Amazon Relational Database Service events through the Amazon Simple Notification Service (Amazon SNS). For more information, see [Using Amazon RDS Event Notification](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Events.html) in the *Amazon RDS User Guide*. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-eventsubscription.html)" + "Policy Statement defined in AWS Entity Resolution Service \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-entityresolution-policystatement.html)" ] }, "Properties": { - "$ref": "resources/aws-rds-eventsubscription.json" + "$ref": "resources/aws-entityresolution-policystatement.json" } }, "required": [ @@ -29420,9 +29482,9 @@ ], "additionalProperties": false }, - "AWS_EC2_Volume": { + "AWS_DataZone_DataSource": { "type": "object", - "markdownDescription": "Specifies an Amazon Elastic Block Store (Amazon EBS) volume.\n When you use CFNlong to update an Amazon EBS volume that modifies ``Iops``, ``Size``, or ``VolumeType``, there is a cooldown period before another operation can occur. This can cause your stack to report being in ``UPDATE_IN_PROGRESS`` or ``UPDATE_ROLLBACK_IN_PROGRESS`` for long periods of time.\n Amazon EBS does not support sizing down an Amazon EBS volume. CFNlong does not attempt to modify an Amazon EBS volume to a smaller size on rollback.\n Some common scenarios when you might encounter a cooldown period for Amazon EBS include:\n + You successfully update an Amazon EBS volume and the update succeeds. When you attempt another update within the cooldown window, that update will be subject to a cooldown period.\n + You successfully update an Amazon EBS volume and the update succeeds but another change in your ``update-stack`` call fails. The rollback will be subject to a cooldown period.\n \n For more information, see [Requirements for EBS volume modifications](https://docs.aws.amazon.com/ebs/latest/userguide/modify-volume-requirements.html).\n *DeletionPolicy attribute* \n To control how CFNlong handles the volume when the stack is deleted, set a deletion policy for your volume. You can choose to retain the volume, to delete the volume, or to create a snapshot of the volume. For more information, see [DeletionPolicy attribute](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-deletionpolicy.html).\n If you set a deletion policy that creates a snapshot, all tags on the volume are included in the snapshot. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-volume.html)", + "markdownDescription": "A data source is used to import technical metadata of assets (data) from the source databases or data warehouses into Amazon DataZone. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datazone-datasource.html)", "allOf": [ { "type": "object", @@ -29430,14 +29492,14 @@ "Type": { "type": "string", "enum": [ - "AWS::EC2::Volume" + "AWS::DataZone::DataSource" ], "markdownEnumDescriptions": [ - "Specifies an Amazon Elastic Block Store (Amazon EBS) volume.\n When you use CFNlong to update an Amazon EBS volume that modifies ``Iops``, ``Size``, or ``VolumeType``, there is a cooldown period before another operation can occur. This can cause your stack to report being in ``UPDATE_IN_PROGRESS`` or ``UPDATE_ROLLBACK_IN_PROGRESS`` for long periods of time.\n Amazon EBS does not support sizing down an Amazon EBS volume. CFNlong does not attempt to modify an Amazon EBS volume to a smaller size on rollback.\n Some common scenarios when you might encounter a cooldown period for Amazon EBS include:\n + You successfully update an Amazon EBS volume and the update succeeds. When you attempt another update within the cooldown window, that update will be subject to a cooldown period.\n + You successfully update an Amazon EBS volume and the update succeeds but another change in your ``update-stack`` call fails. The rollback will be subject to a cooldown period.\n \n For more information, see [Requirements for EBS volume modifications](https://docs.aws.amazon.com/ebs/latest/userguide/modify-volume-requirements.html).\n *DeletionPolicy attribute* \n To control how CFNlong handles the volume when the stack is deleted, set a deletion policy for your volume. You can choose to retain the volume, to delete the volume, or to create a snapshot of the volume. For more information, see [DeletionPolicy attribute](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-deletionpolicy.html).\n If you set a deletion policy that creates a snapshot, all tags on the volume are included in the snapshot. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-volume.html)" + "A data source is used to import technical metadata of assets (data) from the source databases or data warehouses into Amazon DataZone. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datazone-datasource.html)" ] }, "Properties": { - "$ref": "resources/aws-ec2-volume.json" + "$ref": "resources/aws-datazone-datasource.json" } }, "required": [ @@ -29451,9 +29513,9 @@ ], "additionalProperties": false }, - "AWS_EC2_VerifiedAccessGroup": { + "AWS_Lightsail_Database": { "type": "object", - "markdownDescription": "The AWS::EC2::VerifiedAccessGroup resource creates an AWS EC2 Verified Access Group. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-verifiedaccessgroup.html)", + "markdownDescription": "Resource Type definition for AWS::Lightsail::Database \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lightsail-database.html)", "allOf": [ { "type": "object", @@ -29461,14 +29523,14 @@ "Type": { "type": "string", "enum": [ - "AWS::EC2::VerifiedAccessGroup" + "AWS::Lightsail::Database" ], "markdownEnumDescriptions": [ - "The AWS::EC2::VerifiedAccessGroup resource creates an AWS EC2 Verified Access Group. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-verifiedaccessgroup.html)" + "Resource Type definition for AWS::Lightsail::Database \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lightsail-database.html)" ] }, "Properties": { - "$ref": "resources/aws-ec2-verifiedaccessgroup.json" + "$ref": "resources/aws-lightsail-database.json" } }, "required": [ @@ -29482,9 +29544,9 @@ ], "additionalProperties": false }, - "AWS_CloudFront_KeyGroup": { + "AWS_MediaLive_Cluster": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::CloudFront::KeyGroup \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudfront-keygroup.html)", + "markdownDescription": "Definition of AWS::MediaLive::Cluster Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-medialive-cluster.html)", "allOf": [ { "type": "object", @@ -29492,19 +29554,18 @@ "Type": { "type": "string", "enum": [ - "AWS::CloudFront::KeyGroup" + "AWS::MediaLive::Cluster" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::CloudFront::KeyGroup \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudfront-keygroup.html)" + "Definition of AWS::MediaLive::Cluster Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-medialive-cluster.html)" ] }, "Properties": { - "$ref": "resources/aws-cloudfront-keygroup.json" + "$ref": "resources/aws-medialive-cluster.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -29513,9 +29574,9 @@ ], "additionalProperties": false }, - "AWS_ElasticLoadBalancingV2_TargetGroup": { + "AWS_GameLift_GameSessionQueue": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::ElasticLoadBalancingV2::TargetGroup \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticloadbalancingv2-targetgroup.html)", + "markdownDescription": "The AWS::GameLift::GameSessionQueue resource creates an Amazon GameLift (GameLift) game session queue. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-gamelift-gamesessionqueue.html)", "allOf": [ { "type": "object", @@ -29523,18 +29584,19 @@ "Type": { "type": "string", "enum": [ - "AWS::ElasticLoadBalancingV2::TargetGroup" + "AWS::GameLift::GameSessionQueue" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::ElasticLoadBalancingV2::TargetGroup \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticloadbalancingv2-targetgroup.html)" + "The AWS::GameLift::GameSessionQueue resource creates an Amazon GameLift (GameLift) game session queue. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-gamelift-gamesessionqueue.html)" ] }, "Properties": { - "$ref": "resources/aws-elasticloadbalancingv2-targetgroup.json" + "$ref": "resources/aws-gamelift-gamesessionqueue.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -29543,9 +29605,9 @@ ], "additionalProperties": false }, - "AWS_IAM_SAMLProvider": { + "AWS_Route53RecoveryReadiness_ResourceSet": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::IAM::SAMLProvider \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-samlprovider.html)", + "markdownDescription": "Schema for the AWS Route53 Recovery Readiness ResourceSet Resource and API. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53recoveryreadiness-resourceset.html)", "allOf": [ { "type": "object", @@ -29553,14 +29615,14 @@ "Type": { "type": "string", "enum": [ - "AWS::IAM::SAMLProvider" + "AWS::Route53RecoveryReadiness::ResourceSet" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::IAM::SAMLProvider \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-samlprovider.html)" + "Schema for the AWS Route53 Recovery Readiness ResourceSet Resource and API. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53recoveryreadiness-resourceset.html)" ] }, "Properties": { - "$ref": "resources/aws-iam-samlprovider.json" + "$ref": "resources/aws-route53recoveryreadiness-resourceset.json" } }, "required": [ @@ -29574,9 +29636,9 @@ ], "additionalProperties": false }, - "AWS_CloudFront_MonitoringSubscription": { + "AWS_CustomerProfiles_EventStream": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::CloudFront::MonitoringSubscription \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudfront-monitoringsubscription.html)", + "markdownDescription": "An Event Stream resource of Amazon Connect Customer Profiles \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-customerprofiles-eventstream.html)", "allOf": [ { "type": "object", @@ -29584,14 +29646,14 @@ "Type": { "type": "string", "enum": [ - "AWS::CloudFront::MonitoringSubscription" + "AWS::CustomerProfiles::EventStream" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::CloudFront::MonitoringSubscription \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudfront-monitoringsubscription.html)" + "An Event Stream resource of Amazon Connect Customer Profiles \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-customerprofiles-eventstream.html)" ] }, "Properties": { - "$ref": "resources/aws-cloudfront-monitoringsubscription.json" + "$ref": "resources/aws-customerprofiles-eventstream.json" } }, "required": [ @@ -29605,9 +29667,9 @@ ], "additionalProperties": false }, - "AWS_RDS_CustomDBEngineVersion": { + "AWS_IAM_Role": { "type": "object", - "markdownDescription": "The AWS::RDS::CustomDBEngineVersion resource creates an Amazon RDS custom DB engine version. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-customdbengineversion.html)", + "markdownDescription": "Creates a new role for your AWS-account.\n For more information about roles, see [IAM roles](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles.html) in the *IAM User Guide*. For information about quotas for role names and the number of roles you can create, see [IAM and quotas](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_iam-quotas.html) in the *IAM User Guide*. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-role.html)", "allOf": [ { "type": "object", @@ -29615,14 +29677,14 @@ "Type": { "type": "string", "enum": [ - "AWS::RDS::CustomDBEngineVersion" + "AWS::IAM::Role" ], "markdownEnumDescriptions": [ - "The AWS::RDS::CustomDBEngineVersion resource creates an Amazon RDS custom DB engine version. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-customdbengineversion.html)" + "Creates a new role for your AWS-account.\n For more information about roles, see [IAM roles](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles.html) in the *IAM User Guide*. For information about quotas for role names and the number of roles you can create, see [IAM and quotas](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_iam-quotas.html) in the *IAM User Guide*. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-role.html)" ] }, "Properties": { - "$ref": "resources/aws-rds-customdbengineversion.json" + "$ref": "resources/aws-iam-role.json" } }, "required": [ @@ -29636,9 +29698,9 @@ ], "additionalProperties": false }, - "AWS_Greengrass_SubscriptionDefinitionVersion": { + "AWS_Deadline_Farm": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::Greengrass::SubscriptionDefinitionVersion \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-subscriptiondefinitionversion.html)", + "markdownDescription": "Definition of AWS::Deadline::Farm Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-deadline-farm.html)", "allOf": [ { "type": "object", @@ -29646,14 +29708,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Greengrass::SubscriptionDefinitionVersion" + "AWS::Deadline::Farm" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::Greengrass::SubscriptionDefinitionVersion \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-subscriptiondefinitionversion.html)" + "Definition of AWS::Deadline::Farm Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-deadline-farm.html)" ] }, "Properties": { - "$ref": "resources/aws-greengrass-subscriptiondefinitionversion.json" + "$ref": "resources/aws-deadline-farm.json" } }, "required": [ @@ -29667,9 +29729,9 @@ ], "additionalProperties": false }, - "AWS_ApiGatewayV2_Api": { + "AWS_EC2_TransitGatewayRouteTable": { "type": "object", - "markdownDescription": "The ``AWS::ApiGatewayV2::Api`` resource creates an API. WebSocket APIs and HTTP APIs are supported. For more information about WebSocket APIs, see [About WebSocket APIs in API Gateway](https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-websocket-api-overview.html) in the *API Gateway Developer Guide*. For more information about HTTP APIs, see [HTTP APIs](https://docs.aws.amazon.com/apigateway/latest/developerguide/http-api.html) in the *API Gateway Developer Guide.* \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-api.html)", + "markdownDescription": "Resource Type definition for AWS::EC2::TransitGatewayRouteTable \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-transitgatewayroutetable.html)", "allOf": [ { "type": "object", @@ -29677,18 +29739,19 @@ "Type": { "type": "string", "enum": [ - "AWS::ApiGatewayV2::Api" + "AWS::EC2::TransitGatewayRouteTable" ], "markdownEnumDescriptions": [ - "The ``AWS::ApiGatewayV2::Api`` resource creates an API. WebSocket APIs and HTTP APIs are supported. For more information about WebSocket APIs, see [About WebSocket APIs in API Gateway](https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-websocket-api-overview.html) in the *API Gateway Developer Guide*. For more information about HTTP APIs, see [HTTP APIs](https://docs.aws.amazon.com/apigateway/latest/developerguide/http-api.html) in the *API Gateway Developer Guide.* \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-api.html)" + "Resource Type definition for AWS::EC2::TransitGatewayRouteTable \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-transitgatewayroutetable.html)" ] }, "Properties": { - "$ref": "resources/aws-apigatewayv2-api.json" + "$ref": "resources/aws-ec2-transitgatewayroutetable.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -29697,9 +29760,9 @@ ], "additionalProperties": false }, - "AWS_Route53Resolver_ResolverDNSSECConfig": { + "AWS_KinesisVideo_Stream": { "type": "object", - "markdownDescription": "Resource schema for AWS::Route53Resolver::ResolverDNSSECConfig. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53resolver-resolverdnssecconfig.html)", + "markdownDescription": "Resource Type Definition for AWS::KinesisVideo::Stream \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kinesisvideo-stream.html)", "allOf": [ { "type": "object", @@ -29707,14 +29770,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Route53Resolver::ResolverDNSSECConfig" + "AWS::KinesisVideo::Stream" ], "markdownEnumDescriptions": [ - "Resource schema for AWS::Route53Resolver::ResolverDNSSECConfig. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53resolver-resolverdnssecconfig.html)" + "Resource Type Definition for AWS::KinesisVideo::Stream \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kinesisvideo-stream.html)" ] }, "Properties": { - "$ref": "resources/aws-route53resolver-resolverdnssecconfig.json" + "$ref": "resources/aws-kinesisvideo-stream.json" } }, "required": [ @@ -29727,9 +29790,9 @@ ], "additionalProperties": false }, - "AWS_PinpointEmail_Identity": { + "AWS_AppIntegrations_Application": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::PinpointEmail::Identity \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpointemail-identity.html)", + "markdownDescription": "Resource Type definition for AWS:AppIntegrations::Application \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appintegrations-application.html)", "allOf": [ { "type": "object", @@ -29737,14 +29800,14 @@ "Type": { "type": "string", "enum": [ - "AWS::PinpointEmail::Identity" + "AWS::AppIntegrations::Application" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::PinpointEmail::Identity \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpointemail-identity.html)" + "Resource Type definition for AWS:AppIntegrations::Application \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appintegrations-application.html)" ] }, "Properties": { - "$ref": "resources/aws-pinpointemail-identity.json" + "$ref": "resources/aws-appintegrations-application.json" } }, "required": [ @@ -29758,9 +29821,9 @@ ], "additionalProperties": false }, - "AWS_CodePipeline_CustomActionType": { + "AWS_RolesAnywhere_TrustAnchor": { "type": "object", - "markdownDescription": "The AWS::CodePipeline::CustomActionType resource creates a custom action for activities that aren't included in the CodePipeline default actions, such as running an internally developed build process or a test suite. You can use these custom actions in the stage of a pipeline. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codepipeline-customactiontype.html)", + "markdownDescription": "Definition of AWS::RolesAnywhere::TrustAnchor Resource Type. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rolesanywhere-trustanchor.html)", "allOf": [ { "type": "object", @@ -29768,14 +29831,14 @@ "Type": { "type": "string", "enum": [ - "AWS::CodePipeline::CustomActionType" + "AWS::RolesAnywhere::TrustAnchor" ], "markdownEnumDescriptions": [ - "The AWS::CodePipeline::CustomActionType resource creates a custom action for activities that aren't included in the CodePipeline default actions, such as running an internally developed build process or a test suite. You can use these custom actions in the stage of a pipeline. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codepipeline-customactiontype.html)" + "Definition of AWS::RolesAnywhere::TrustAnchor Resource Type. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rolesanywhere-trustanchor.html)" ] }, "Properties": { - "$ref": "resources/aws-codepipeline-customactiontype.json" + "$ref": "resources/aws-rolesanywhere-trustanchor.json" } }, "required": [ @@ -29789,9 +29852,9 @@ ], "additionalProperties": false }, - "AWS_ApiGateway_BasePathMapping": { + "AWS_MediaPackageV2_ChannelPolicy": { "type": "object", - "markdownDescription": "The ``AWS::ApiGateway::BasePathMapping`` resource creates a base path that clients who call your API must use in the invocation URL. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-basepathmapping.html)", + "markdownDescription": "

Represents a resource-based policy that allows or denies access to a channel.

\n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediapackagev2-channelpolicy.html)", "allOf": [ { "type": "object", @@ -29799,14 +29862,14 @@ "Type": { "type": "string", "enum": [ - "AWS::ApiGateway::BasePathMapping" + "AWS::MediaPackageV2::ChannelPolicy" ], "markdownEnumDescriptions": [ - "The ``AWS::ApiGateway::BasePathMapping`` resource creates a base path that clients who call your API must use in the invocation URL. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-basepathmapping.html)" + "

Represents a resource-based policy that allows or denies access to a channel.

\n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediapackagev2-channelpolicy.html)" ] }, "Properties": { - "$ref": "resources/aws-apigateway-basepathmapping.json" + "$ref": "resources/aws-mediapackagev2-channelpolicy.json" } }, "required": [ @@ -29820,9 +29883,9 @@ ], "additionalProperties": false }, - "AWS_SSM_PatchBaseline": { + "AWS_IAM_Group": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::SSM::PatchBaseline \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-patchbaseline.html)", + "markdownDescription": "Creates a new group.\n For information about the number of groups you can create, see [Limitations on Entities](https://docs.aws.amazon.com/IAM/latest/UserGuide/LimitationsOnEntities.html) in the *User Guide*. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-group.html)", "allOf": [ { "type": "object", @@ -29830,19 +29893,18 @@ "Type": { "type": "string", "enum": [ - "AWS::SSM::PatchBaseline" + "AWS::IAM::Group" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::SSM::PatchBaseline \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-patchbaseline.html)" + "Creates a new group.\n For information about the number of groups you can create, see [Limitations on Entities](https://docs.aws.amazon.com/IAM/latest/UserGuide/LimitationsOnEntities.html) in the *User Guide*. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-group.html)" ] }, "Properties": { - "$ref": "resources/aws-ssm-patchbaseline.json" + "$ref": "resources/aws-iam-group.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -29851,9 +29913,9 @@ ], "additionalProperties": false }, - "AWS_Connect_Prompt": { + "AWS_Greengrass_CoreDefinition": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::Connect::Prompt \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-connect-prompt.html)", + "markdownDescription": "Resource Type definition for AWS::Greengrass::CoreDefinition \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-coredefinition.html)", "allOf": [ { "type": "object", @@ -29861,14 +29923,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Connect::Prompt" + "AWS::Greengrass::CoreDefinition" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::Connect::Prompt \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-connect-prompt.html)" + "Resource Type definition for AWS::Greengrass::CoreDefinition \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-coredefinition.html)" ] }, "Properties": { - "$ref": "resources/aws-connect-prompt.json" + "$ref": "resources/aws-greengrass-coredefinition.json" } }, "required": [ @@ -29882,9 +29944,9 @@ ], "additionalProperties": false }, - "AWS_CloudFormation_CustomResource": { + "AWS_WAFv2_RegexPatternSet": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::CloudFormation::CustomResource \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudformation-customresource.html)", + "markdownDescription": "Contains a list of Regular expressions based on the provided inputs. RegexPatternSet can be used with other WAF entities with RegexPatternSetReferenceStatement to perform other actions . \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-wafv2-regexpatternset.html)", "allOf": [ { "type": "object", @@ -29892,14 +29954,14 @@ "Type": { "type": "string", "enum": [ - "AWS::CloudFormation::CustomResource" + "AWS::WAFv2::RegexPatternSet" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::CloudFormation::CustomResource \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudformation-customresource.html)" + "Contains a list of Regular expressions based on the provided inputs. RegexPatternSet can be used with other WAF entities with RegexPatternSetReferenceStatement to perform other actions . \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-wafv2-regexpatternset.html)" ] }, "Properties": { - "$ref": "resources/aws-cloudformation-customresource.json" + "$ref": "resources/aws-wafv2-regexpatternset.json" } }, "required": [ @@ -29913,9 +29975,9 @@ ], "additionalProperties": false }, - "AWS_EMR_InstanceGroupConfig": { + "AWS_Organizations_ResourcePolicy": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::EMR::InstanceGroupConfig \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-emr-instancegroupconfig.html)", + "markdownDescription": "You can use AWS::Organizations::ResourcePolicy to delegate policy management for AWS Organizations to specified member accounts to perform policy actions that are by default available only to the management account. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-organizations-resourcepolicy.html)", "allOf": [ { "type": "object", @@ -29923,14 +29985,14 @@ "Type": { "type": "string", "enum": [ - "AWS::EMR::InstanceGroupConfig" + "AWS::Organizations::ResourcePolicy" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::EMR::InstanceGroupConfig \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-emr-instancegroupconfig.html)" + "You can use AWS::Organizations::ResourcePolicy to delegate policy management for AWS Organizations to specified member accounts to perform policy actions that are by default available only to the management account. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-organizations-resourcepolicy.html)" ] }, "Properties": { - "$ref": "resources/aws-emr-instancegroupconfig.json" + "$ref": "resources/aws-organizations-resourcepolicy.json" } }, "required": [ @@ -29944,9 +30006,9 @@ ], "additionalProperties": false }, - "AWS_ElasticLoadBalancingV2_TrustStoreRevocation": { + "AWS_Route53Resolver_ResolverRule": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::ElasticLoadBalancingV2::TrustStoreRevocation \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticloadbalancingv2-truststorerevocation.html)", + "markdownDescription": "Resource Type definition for AWS::Route53Resolver::ResolverRule \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53resolver-resolverrule.html)", "allOf": [ { "type": "object", @@ -29954,18 +30016,19 @@ "Type": { "type": "string", "enum": [ - "AWS::ElasticLoadBalancingV2::TrustStoreRevocation" + "AWS::Route53Resolver::ResolverRule" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::ElasticLoadBalancingV2::TrustStoreRevocation \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticloadbalancingv2-truststorerevocation.html)" + "Resource Type definition for AWS::Route53Resolver::ResolverRule \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53resolver-resolverrule.html)" ] }, "Properties": { - "$ref": "resources/aws-elasticloadbalancingv2-truststorerevocation.json" + "$ref": "resources/aws-route53resolver-resolverrule.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -29974,9 +30037,9 @@ ], "additionalProperties": false }, - "AWS_ElasticLoadBalancingV2_TrustStore": { + "AWS_EC2_NetworkInsightsAccessScope": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::ElasticLoadBalancingV2::TrustStore \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticloadbalancingv2-truststore.html)", + "markdownDescription": "Resource schema for AWS::EC2::NetworkInsightsAccessScope \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-networkinsightsaccessscope.html)", "allOf": [ { "type": "object", @@ -29984,14 +30047,14 @@ "Type": { "type": "string", "enum": [ - "AWS::ElasticLoadBalancingV2::TrustStore" + "AWS::EC2::NetworkInsightsAccessScope" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::ElasticLoadBalancingV2::TrustStore \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticloadbalancingv2-truststore.html)" + "Resource schema for AWS::EC2::NetworkInsightsAccessScope \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-networkinsightsaccessscope.html)" ] }, "Properties": { - "$ref": "resources/aws-elasticloadbalancingv2-truststore.json" + "$ref": "resources/aws-ec2-networkinsightsaccessscope.json" } }, "required": [ @@ -30004,9 +30067,9 @@ ], "additionalProperties": false }, - "AWS_Greengrass_GroupVersion": { + "AWS_IVS_PublicKey": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::Greengrass::GroupVersion \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-groupversion.html)", + "markdownDescription": "Resource Type definition for AWS::IVS::PublicKey \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ivs-publickey.html)", "allOf": [ { "type": "object", @@ -30014,19 +30077,18 @@ "Type": { "type": "string", "enum": [ - "AWS::Greengrass::GroupVersion" + "AWS::IVS::PublicKey" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::Greengrass::GroupVersion \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-groupversion.html)" + "Resource Type definition for AWS::IVS::PublicKey \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ivs-publickey.html)" ] }, "Properties": { - "$ref": "resources/aws-greengrass-groupversion.json" + "$ref": "resources/aws-ivs-publickey.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -30035,9 +30097,9 @@ ], "additionalProperties": false }, - "AWS_MediaPackageV2_OriginEndpointPolicy": { + "AWS_ControlTower_EnabledBaseline": { "type": "object", - "markdownDescription": "

Represents a resource policy that allows or denies access to an origin endpoint.

\n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediapackagev2-originendpointpolicy.html)", + "markdownDescription": "Definition of AWS::ControlTower::EnabledBaseline Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-controltower-enabledbaseline.html)", "allOf": [ { "type": "object", @@ -30045,14 +30107,14 @@ "Type": { "type": "string", "enum": [ - "AWS::MediaPackageV2::OriginEndpointPolicy" + "AWS::ControlTower::EnabledBaseline" ], "markdownEnumDescriptions": [ - "

Represents a resource policy that allows or denies access to an origin endpoint.

\n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediapackagev2-originendpointpolicy.html)" + "Definition of AWS::ControlTower::EnabledBaseline Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-controltower-enabledbaseline.html)" ] }, "Properties": { - "$ref": "resources/aws-mediapackagev2-originendpointpolicy.json" + "$ref": "resources/aws-controltower-enabledbaseline.json" } }, "required": [ @@ -30066,9 +30128,9 @@ ], "additionalProperties": false }, - "AWS_CodeGuruProfiler_ProfilingGroup": { + "AWS_SSMContacts_Plan": { "type": "object", - "markdownDescription": "This resource schema represents the Profiling Group resource in the Amazon CodeGuru Profiler service. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codeguruprofiler-profilinggroup.html)", + "markdownDescription": "Engagement Plan for a SSM Incident Manager Contact. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssmcontacts-plan.html)", "allOf": [ { "type": "object", @@ -30076,19 +30138,18 @@ "Type": { "type": "string", "enum": [ - "AWS::CodeGuruProfiler::ProfilingGroup" + "AWS::SSMContacts::Plan" ], "markdownEnumDescriptions": [ - "This resource schema represents the Profiling Group resource in the Amazon CodeGuru Profiler service. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codeguruprofiler-profilinggroup.html)" + "Engagement Plan for a SSM Incident Manager Contact. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssmcontacts-plan.html)" ] }, "Properties": { - "$ref": "resources/aws-codeguruprofiler-profilinggroup.json" + "$ref": "resources/aws-ssmcontacts-plan.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -30097,9 +30158,9 @@ ], "additionalProperties": false }, - "AWS_ElasticBeanstalk_Environment": { + "AWS_FSx_StorageVirtualMachine": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::ElasticBeanstalk::Environment \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticbeanstalk-environment.html)", + "markdownDescription": "Resource Type definition for AWS::FSx::StorageVirtualMachine \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-fsx-storagevirtualmachine.html)", "allOf": [ { "type": "object", @@ -30107,14 +30168,14 @@ "Type": { "type": "string", "enum": [ - "AWS::ElasticBeanstalk::Environment" + "AWS::FSx::StorageVirtualMachine" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::ElasticBeanstalk::Environment \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticbeanstalk-environment.html)" + "Resource Type definition for AWS::FSx::StorageVirtualMachine \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-fsx-storagevirtualmachine.html)" ] }, "Properties": { - "$ref": "resources/aws-elasticbeanstalk-environment.json" + "$ref": "resources/aws-fsx-storagevirtualmachine.json" } }, "required": [ @@ -30128,9 +30189,9 @@ ], "additionalProperties": false }, - "AWS_KinesisFirehose_DeliveryStream": { + "AWS_Bedrock_ApplicationInferenceProfile": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::KinesisFirehose::DeliveryStream \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kinesisfirehose-deliverystream.html)", + "markdownDescription": "Definition of AWS::Bedrock::ApplicationInferenceProfile Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-bedrock-applicationinferenceprofile.html)", "allOf": [ { "type": "object", @@ -30138,18 +30199,19 @@ "Type": { "type": "string", "enum": [ - "AWS::KinesisFirehose::DeliveryStream" + "AWS::Bedrock::ApplicationInferenceProfile" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::KinesisFirehose::DeliveryStream \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kinesisfirehose-deliverystream.html)" + "Definition of AWS::Bedrock::ApplicationInferenceProfile Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-bedrock-applicationinferenceprofile.html)" ] }, "Properties": { - "$ref": "resources/aws-kinesisfirehose-deliverystream.json" + "$ref": "resources/aws-bedrock-applicationinferenceprofile.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -30158,9 +30220,9 @@ ], "additionalProperties": false }, - "AWS_Greengrass_CoreDefinition": { + "AWS_Transfer_Server": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::Greengrass::CoreDefinition \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-coredefinition.html)", + "markdownDescription": "Definition of AWS::Transfer::Server Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-transfer-server.html)", "allOf": [ { "type": "object", @@ -30168,19 +30230,18 @@ "Type": { "type": "string", "enum": [ - "AWS::Greengrass::CoreDefinition" + "AWS::Transfer::Server" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::Greengrass::CoreDefinition \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-coredefinition.html)" + "Definition of AWS::Transfer::Server Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-transfer-server.html)" ] }, "Properties": { - "$ref": "resources/aws-greengrass-coredefinition.json" + "$ref": "resources/aws-transfer-server.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -30189,9 +30250,9 @@ ], "additionalProperties": false }, - "AWS_NetworkManager_GlobalNetwork": { + "AWS_DataZone_Project": { "type": "object", - "markdownDescription": "The AWS::NetworkManager::GlobalNetwork type specifies a global network of the user's account \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkmanager-globalnetwork.html)", + "markdownDescription": "Amazon DataZone projects are business use case\u2013based groupings of people, assets (data), and tools used to simplify access to the AWS analytics. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datazone-project.html)", "allOf": [ { "type": "object", @@ -30199,18 +30260,19 @@ "Type": { "type": "string", "enum": [ - "AWS::NetworkManager::GlobalNetwork" + "AWS::DataZone::Project" ], "markdownEnumDescriptions": [ - "The AWS::NetworkManager::GlobalNetwork type specifies a global network of the user's account \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkmanager-globalnetwork.html)" + "Amazon DataZone projects are business use case\u2013based groupings of people, assets (data), and tools used to simplify access to the AWS analytics. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datazone-project.html)" ] }, "Properties": { - "$ref": "resources/aws-networkmanager-globalnetwork.json" + "$ref": "resources/aws-datazone-project.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -30219,9 +30281,9 @@ ], "additionalProperties": false }, - "AWS_QuickSight_Topic": { + "AWS_SSM_ResourcePolicy": { "type": "object", - "markdownDescription": "Definition of the AWS::QuickSight::Topic Resource Type. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-quicksight-topic.html)", + "markdownDescription": "Resource Type definition for AWS::SSM::ResourcePolicy \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-resourcepolicy.html)", "allOf": [ { "type": "object", @@ -30229,18 +30291,19 @@ "Type": { "type": "string", "enum": [ - "AWS::QuickSight::Topic" + "AWS::SSM::ResourcePolicy" ], "markdownEnumDescriptions": [ - "Definition of the AWS::QuickSight::Topic Resource Type. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-quicksight-topic.html)" + "Resource Type definition for AWS::SSM::ResourcePolicy \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-resourcepolicy.html)" ] }, "Properties": { - "$ref": "resources/aws-quicksight-topic.json" + "$ref": "resources/aws-ssm-resourcepolicy.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -30249,9 +30312,9 @@ ], "additionalProperties": false }, - "AWS_Route53Resolver_ResolverEndpoint": { + "AWS_OpenSearchServerless_AccessPolicy": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::Route53Resolver::ResolverEndpoint \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53resolver-resolverendpoint.html)", + "markdownDescription": "Amazon OpenSearchServerless access policy resource \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opensearchserverless-accesspolicy.html)", "allOf": [ { "type": "object", @@ -30259,14 +30322,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Route53Resolver::ResolverEndpoint" + "AWS::OpenSearchServerless::AccessPolicy" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::Route53Resolver::ResolverEndpoint \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53resolver-resolverendpoint.html)" + "Amazon OpenSearchServerless access policy resource \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opensearchserverless-accesspolicy.html)" ] }, "Properties": { - "$ref": "resources/aws-route53resolver-resolverendpoint.json" + "$ref": "resources/aws-opensearchserverless-accesspolicy.json" } }, "required": [ @@ -30280,9 +30343,9 @@ ], "additionalProperties": false }, - "AWS_KinesisVideo_SignalingChannel": { + "AWS_IoTWireless_NetworkAnalyzerConfiguration": { "type": "object", - "markdownDescription": "Resource Type Definition for AWS::KinesisVideo::SignalingChannel \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kinesisvideo-signalingchannel.html)", + "markdownDescription": "Create and manage NetworkAnalyzerConfiguration resource. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotwireless-networkanalyzerconfiguration.html)", "allOf": [ { "type": "object", @@ -30290,18 +30353,19 @@ "Type": { "type": "string", "enum": [ - "AWS::KinesisVideo::SignalingChannel" + "AWS::IoTWireless::NetworkAnalyzerConfiguration" ], "markdownEnumDescriptions": [ - "Resource Type Definition for AWS::KinesisVideo::SignalingChannel \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kinesisvideo-signalingchannel.html)" + "Create and manage NetworkAnalyzerConfiguration resource. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotwireless-networkanalyzerconfiguration.html)" ] }, "Properties": { - "$ref": "resources/aws-kinesisvideo-signalingchannel.json" + "$ref": "resources/aws-iotwireless-networkanalyzerconfiguration.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -30310,9 +30374,9 @@ ], "additionalProperties": false }, - "AWS_IAM_ServerCertificate": { + "AWS_NimbleStudio_Studio": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::IAM::ServerCertificate \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-servercertificate.html)", + "markdownDescription": "Resource Type definition for AWS::NimbleStudio::Studio \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-nimblestudio-studio.html)", "allOf": [ { "type": "object", @@ -30320,18 +30384,19 @@ "Type": { "type": "string", "enum": [ - "AWS::IAM::ServerCertificate" + "AWS::NimbleStudio::Studio" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::IAM::ServerCertificate \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-servercertificate.html)" + "Resource Type definition for AWS::NimbleStudio::Studio \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-nimblestudio-studio.html)" ] }, "Properties": { - "$ref": "resources/aws-iam-servercertificate.json" + "$ref": "resources/aws-nimblestudio-studio.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -30340,9 +30405,9 @@ ], "additionalProperties": false }, - "AWS_SES_ReceiptRule": { + "AWS_CodeBuild_ReportGroup": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::SES::ReceiptRule \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ses-receiptrule.html)", + "markdownDescription": "Resource Type definition for AWS::CodeBuild::ReportGroup \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codebuild-reportgroup.html)", "allOf": [ { "type": "object", @@ -30350,14 +30415,14 @@ "Type": { "type": "string", "enum": [ - "AWS::SES::ReceiptRule" + "AWS::CodeBuild::ReportGroup" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::SES::ReceiptRule \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ses-receiptrule.html)" + "Resource Type definition for AWS::CodeBuild::ReportGroup \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codebuild-reportgroup.html)" ] }, "Properties": { - "$ref": "resources/aws-ses-receiptrule.json" + "$ref": "resources/aws-codebuild-reportgroup.json" } }, "required": [ @@ -30371,9 +30436,9 @@ ], "additionalProperties": false }, - "AWS_Comprehend_Flywheel": { + "AWS_Backup_BackupVault": { "type": "object", - "markdownDescription": "The AWS::Comprehend::Flywheel resource creates an Amazon Comprehend Flywheel that enables customer to train their model. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-comprehend-flywheel.html)", + "markdownDescription": "Resource Type definition for AWS::Backup::BackupVault \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-backup-backupvault.html)", "allOf": [ { "type": "object", @@ -30381,14 +30446,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Comprehend::Flywheel" + "AWS::Backup::BackupVault" ], "markdownEnumDescriptions": [ - "The AWS::Comprehend::Flywheel resource creates an Amazon Comprehend Flywheel that enables customer to train their model. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-comprehend-flywheel.html)" + "Resource Type definition for AWS::Backup::BackupVault \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-backup-backupvault.html)" ] }, "Properties": { - "$ref": "resources/aws-comprehend-flywheel.json" + "$ref": "resources/aws-backup-backupvault.json" } }, "required": [ @@ -30402,9 +30467,9 @@ ], "additionalProperties": false }, - "AWS_OpsWorks_Instance": { + "AWS_EntityResolution_IdNamespace": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::OpsWorks::Instance \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opsworks-instance.html)", + "markdownDescription": "IdNamespace defined in AWS Entity Resolution service \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-entityresolution-idnamespace.html)", "allOf": [ { "type": "object", @@ -30412,14 +30477,14 @@ "Type": { "type": "string", "enum": [ - "AWS::OpsWorks::Instance" + "AWS::EntityResolution::IdNamespace" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::OpsWorks::Instance \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opsworks-instance.html)" + "IdNamespace defined in AWS Entity Resolution service \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-entityresolution-idnamespace.html)" ] }, "Properties": { - "$ref": "resources/aws-opsworks-instance.json" + "$ref": "resources/aws-entityresolution-idnamespace.json" } }, "required": [ @@ -30433,9 +30498,9 @@ ], "additionalProperties": false }, - "AWS_StepFunctions_StateMachine": { + "AWS_MediaTailor_VodSource": { "type": "object", - "markdownDescription": "Resource schema for StateMachine \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-stepfunctions-statemachine.html)", + "markdownDescription": "Definition of AWS::MediaTailor::VodSource Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediatailor-vodsource.html)", "allOf": [ { "type": "object", @@ -30443,14 +30508,14 @@ "Type": { "type": "string", "enum": [ - "AWS::StepFunctions::StateMachine" + "AWS::MediaTailor::VodSource" ], "markdownEnumDescriptions": [ - "Resource schema for StateMachine \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-stepfunctions-statemachine.html)" + "Definition of AWS::MediaTailor::VodSource Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediatailor-vodsource.html)" ] }, "Properties": { - "$ref": "resources/aws-stepfunctions-statemachine.json" + "$ref": "resources/aws-mediatailor-vodsource.json" } }, "required": [ @@ -30464,9 +30529,9 @@ ], "additionalProperties": false }, - "AWS_ServiceCatalog_ServiceAction": { + "AWS_VerifiedPermissions_PolicyTemplate": { "type": "object", - "markdownDescription": "Resource Schema for AWS::ServiceCatalog::ServiceAction \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicecatalog-serviceaction.html)", + "markdownDescription": "Definition of AWS::VerifiedPermissions::PolicyTemplate Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-verifiedpermissions-policytemplate.html)", "allOf": [ { "type": "object", @@ -30474,14 +30539,14 @@ "Type": { "type": "string", "enum": [ - "AWS::ServiceCatalog::ServiceAction" + "AWS::VerifiedPermissions::PolicyTemplate" ], "markdownEnumDescriptions": [ - "Resource Schema for AWS::ServiceCatalog::ServiceAction \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicecatalog-serviceaction.html)" + "Definition of AWS::VerifiedPermissions::PolicyTemplate Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-verifiedpermissions-policytemplate.html)" ] }, "Properties": { - "$ref": "resources/aws-servicecatalog-serviceaction.json" + "$ref": "resources/aws-verifiedpermissions-policytemplate.json" } }, "required": [ @@ -30495,9 +30560,9 @@ ], "additionalProperties": false }, - "AWS_LicenseManager_Grant": { + "AWS_IoT_FleetMetric": { "type": "object", - "markdownDescription": "An example resource schema demonstrating some basic constructs and validation rules. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-licensemanager-grant.html)", + "markdownDescription": "An aggregated metric of certain devices in your fleet \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-fleetmetric.html)", "allOf": [ { "type": "object", @@ -30505,18 +30570,19 @@ "Type": { "type": "string", "enum": [ - "AWS::LicenseManager::Grant" + "AWS::IoT::FleetMetric" ], "markdownEnumDescriptions": [ - "An example resource schema demonstrating some basic constructs and validation rules. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-licensemanager-grant.html)" + "An aggregated metric of certain devices in your fleet \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-fleetmetric.html)" ] }, "Properties": { - "$ref": "resources/aws-licensemanager-grant.json" + "$ref": "resources/aws-iot-fleetmetric.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -30525,9 +30591,9 @@ ], "additionalProperties": false }, - "AWS_MemoryDB_Cluster": { + "AWS_Config_ConfigRule": { "type": "object", - "markdownDescription": "The AWS::MemoryDB::Cluster resource creates an Amazon MemoryDB Cluster. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-memorydb-cluster.html)", + "markdownDescription": "You must first create and start the CC configuration recorder in order to create CC managed rules with CFNlong. For more information, see [Managing the Configuration Recorder](https://docs.aws.amazon.com/config/latest/developerguide/stop-start-recorder.html).\n Adds or updates an CC rule to evaluate if your AWS resources comply with your desired configurations. For information on how many CC rules you can have per account, see [Service Limits](https://docs.aws.amazon.com/config/latest/developerguide/configlimits.html) in the *Developer Guide*.\n There are two types of rules: *Managed Rules* and *Custom Rules*. You can use the ``ConfigRule`` resource to create both CC Managed Rules and CC Custom Rules.\n CC Managed Rules are predefined, customizable rules created by CC. For a list of managed rules, see [List of Managed Rules](https://docs.aws.amazon.com/config/latest/developerguide/managed-rules-by-aws-config.html). If you are adding an CC managed rule, you must specify the rule's identifier for the ``SourceIdentifier`` key.\n CC Custom Rules are rules that you create from scratch. There are two ways to create CC custom rules: with Lambda functions ([Developer Guide](https://docs.aws.amazon.com/config/latest/developerguide/gettingstarted-concepts.html#gettingstarted-concepts-function)) and with CFNGUARDshort ([Guard GitHub Repository](https://docs.aws.amazon.com/https://github.com/aws-cloudformation/cloudformation-guard)), a policy-as-code language. CC custom rules created with LAMlong are called *Custom Lambda Rules* and CC custom rules created with CFNGUARDshort are called *Custom Policy Rules*.\n If you are adding a new CC Custom LAM rule, you first need to create an LAMlong function that the rule invokes to evaluate your resources. When you use the ``ConfigRule`` resource to add a Custom LAM rule to CC, you must specify the Amazon Resource Name (ARN) that LAMlong assigns to the function. You specify the ARN in the ``SourceIdentifier`` key. This key is part of the ``Source`` object, which is part of the ``ConfigRule`` object. \n For any new CC rule that you add, specify the ``ConfigRuleName`` in the ``ConfigRule`` object. Do not specify the ``ConfigRuleArn`` or the ``ConfigRuleId``. These values are generated by CC for new rules.\n If you are updating a rule that you added previously, you can specify the rule by ``ConfigRuleName``, ``ConfigRuleId``, or ``ConfigRuleArn`` in the ``ConfigRule`` data type that you use in this request.\n For more information about developing and using CC rules, see [Evaluating Resources with Rules](https://docs.aws.amazon.com/config/latest/developerguide/evaluate-config.html) in the *Developer Guide*. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-config-configrule.html)", "allOf": [ { "type": "object", @@ -30535,14 +30601,14 @@ "Type": { "type": "string", "enum": [ - "AWS::MemoryDB::Cluster" + "AWS::Config::ConfigRule" ], "markdownEnumDescriptions": [ - "The AWS::MemoryDB::Cluster resource creates an Amazon MemoryDB Cluster. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-memorydb-cluster.html)" + "You must first create and start the CC configuration recorder in order to create CC managed rules with CFNlong. For more information, see [Managing the Configuration Recorder](https://docs.aws.amazon.com/config/latest/developerguide/stop-start-recorder.html).\n Adds or updates an CC rule to evaluate if your AWS resources comply with your desired configurations. For information on how many CC rules you can have per account, see [Service Limits](https://docs.aws.amazon.com/config/latest/developerguide/configlimits.html) in the *Developer Guide*.\n There are two types of rules: *Managed Rules* and *Custom Rules*. You can use the ``ConfigRule`` resource to create both CC Managed Rules and CC Custom Rules.\n CC Managed Rules are predefined, customizable rules created by CC. For a list of managed rules, see [List of Managed Rules](https://docs.aws.amazon.com/config/latest/developerguide/managed-rules-by-aws-config.html). If you are adding an CC managed rule, you must specify the rule's identifier for the ``SourceIdentifier`` key.\n CC Custom Rules are rules that you create from scratch. There are two ways to create CC custom rules: with Lambda functions ([Developer Guide](https://docs.aws.amazon.com/config/latest/developerguide/gettingstarted-concepts.html#gettingstarted-concepts-function)) and with CFNGUARDshort ([Guard GitHub Repository](https://docs.aws.amazon.com/https://github.com/aws-cloudformation/cloudformation-guard)), a policy-as-code language. CC custom rules created with LAMlong are called *Custom Lambda Rules* and CC custom rules created with CFNGUARDshort are called *Custom Policy Rules*.\n If you are adding a new CC Custom LAM rule, you first need to create an LAMlong function that the rule invokes to evaluate your resources. When you use the ``ConfigRule`` resource to add a Custom LAM rule to CC, you must specify the Amazon Resource Name (ARN) that LAMlong assigns to the function. You specify the ARN in the ``SourceIdentifier`` key. This key is part of the ``Source`` object, which is part of the ``ConfigRule`` object. \n For any new CC rule that you add, specify the ``ConfigRuleName`` in the ``ConfigRule`` object. Do not specify the ``ConfigRuleArn`` or the ``ConfigRuleId``. These values are generated by CC for new rules.\n If you are updating a rule that you added previously, you can specify the rule by ``ConfigRuleName``, ``ConfigRuleId``, or ``ConfigRuleArn`` in the ``ConfigRule`` data type that you use in this request.\n For more information about developing and using CC rules, see [Evaluating Resources with Rules](https://docs.aws.amazon.com/config/latest/developerguide/evaluate-config.html) in the *Developer Guide*. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-config-configrule.html)" ] }, "Properties": { - "$ref": "resources/aws-memorydb-cluster.json" + "$ref": "resources/aws-config-configrule.json" } }, "required": [ @@ -30556,9 +30622,9 @@ ], "additionalProperties": false }, - "AWS_SageMaker_Model": { + "AWS_ImageBuilder_ImagePipeline": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::SageMaker::Model \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-model.html)", + "markdownDescription": "Resource schema for AWS::ImageBuilder::ImagePipeline \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-imagebuilder-imagepipeline.html)", "allOf": [ { "type": "object", @@ -30566,14 +30632,14 @@ "Type": { "type": "string", "enum": [ - "AWS::SageMaker::Model" + "AWS::ImageBuilder::ImagePipeline" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::SageMaker::Model \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-model.html)" + "Resource schema for AWS::ImageBuilder::ImagePipeline \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-imagebuilder-imagepipeline.html)" ] }, "Properties": { - "$ref": "resources/aws-sagemaker-model.json" + "$ref": "resources/aws-imagebuilder-imagepipeline.json" } }, "required": [ @@ -30586,9 +30652,9 @@ ], "additionalProperties": false }, - "AWS_Transfer_Workflow": { + "AWS_VpcLattice_ServiceNetwork": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::Transfer::Workflow \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-transfer-workflow.html)", + "markdownDescription": "A service network is a logical boundary for a collection of services. You can associate services and VPCs with a service network. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-vpclattice-servicenetwork.html)", "allOf": [ { "type": "object", @@ -30596,19 +30662,18 @@ "Type": { "type": "string", "enum": [ - "AWS::Transfer::Workflow" + "AWS::VpcLattice::ServiceNetwork" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::Transfer::Workflow \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-transfer-workflow.html)" + "A service network is a logical boundary for a collection of services. You can associate services and VPCs with a service network. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-vpclattice-servicenetwork.html)" ] }, "Properties": { - "$ref": "resources/aws-transfer-workflow.json" + "$ref": "resources/aws-vpclattice-servicenetwork.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -30617,9 +30682,9 @@ ], "additionalProperties": false }, - "AWS_DirectoryService_MicrosoftAD": { + "AWS_Athena_DataCatalog": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::DirectoryService::MicrosoftAD \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-directoryservice-microsoftad.html)", + "markdownDescription": "Resource schema for AWS::Athena::DataCatalog \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-athena-datacatalog.html)", "allOf": [ { "type": "object", @@ -30627,14 +30692,14 @@ "Type": { "type": "string", "enum": [ - "AWS::DirectoryService::MicrosoftAD" + "AWS::Athena::DataCatalog" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::DirectoryService::MicrosoftAD \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-directoryservice-microsoftad.html)" + "Resource schema for AWS::Athena::DataCatalog \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-athena-datacatalog.html)" ] }, "Properties": { - "$ref": "resources/aws-directoryservice-microsoftad.json" + "$ref": "resources/aws-athena-datacatalog.json" } }, "required": [ @@ -30648,9 +30713,9 @@ ], "additionalProperties": false }, - "AWS_MediaConnect_FlowSource": { + "AWS_EC2_SecurityGroupVpcAssociation": { "type": "object", - "markdownDescription": "Resource schema for AWS::MediaConnect::FlowSource \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediaconnect-flowsource.html)", + "markdownDescription": "Resource type definition for the AWS::EC2::SecurityGroupVpcAssociation resource \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-securitygroupvpcassociation.html)", "allOf": [ { "type": "object", @@ -30658,14 +30723,14 @@ "Type": { "type": "string", "enum": [ - "AWS::MediaConnect::FlowSource" + "AWS::EC2::SecurityGroupVpcAssociation" ], "markdownEnumDescriptions": [ - "Resource schema for AWS::MediaConnect::FlowSource \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediaconnect-flowsource.html)" + "Resource type definition for the AWS::EC2::SecurityGroupVpcAssociation resource \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-securitygroupvpcassociation.html)" ] }, "Properties": { - "$ref": "resources/aws-mediaconnect-flowsource.json" + "$ref": "resources/aws-ec2-securitygroupvpcassociation.json" } }, "required": [ @@ -30679,9 +30744,9 @@ ], "additionalProperties": false }, - "AWS_Cognito_UserPoolResourceServer": { + "AWS_IoTWireless_DeviceProfile": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::Cognito::UserPoolResourceServer \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpoolresourceserver.html)", + "markdownDescription": "Device Profile's resource schema demonstrating some basic constructs and validation rules. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotwireless-deviceprofile.html)", "allOf": [ { "type": "object", @@ -30689,19 +30754,18 @@ "Type": { "type": "string", "enum": [ - "AWS::Cognito::UserPoolResourceServer" + "AWS::IoTWireless::DeviceProfile" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::Cognito::UserPoolResourceServer \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpoolresourceserver.html)" + "Device Profile's resource schema demonstrating some basic constructs and validation rules. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotwireless-deviceprofile.html)" ] }, "Properties": { - "$ref": "resources/aws-cognito-userpoolresourceserver.json" + "$ref": "resources/aws-iotwireless-deviceprofile.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -30710,9 +30774,9 @@ ], "additionalProperties": false }, - "AWS_Cassandra_Keyspace": { + "AWS_EC2_VPNConnectionRoute": { "type": "object", - "markdownDescription": "Resource schema for AWS::Cassandra::Keyspace \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cassandra-keyspace.html)", + "markdownDescription": "Specifies a static route for a VPN connection between an existing virtual private gateway and a VPN customer gateway. The static route allows traffic to be routed from the virtual private gateway to the VPN customer gateway.\n For more information, see [](https://docs.aws.amazon.com/vpn/latest/s2svpn/VPC_VPN.html) in the *User Guide*. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpnconnectionroute.html)", "allOf": [ { "type": "object", @@ -30720,18 +30784,19 @@ "Type": { "type": "string", "enum": [ - "AWS::Cassandra::Keyspace" + "AWS::EC2::VPNConnectionRoute" ], "markdownEnumDescriptions": [ - "Resource schema for AWS::Cassandra::Keyspace \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cassandra-keyspace.html)" + "Specifies a static route for a VPN connection between an existing virtual private gateway and a VPN customer gateway. The static route allows traffic to be routed from the virtual private gateway to the VPN customer gateway.\n For more information, see [](https://docs.aws.amazon.com/vpn/latest/s2svpn/VPC_VPN.html) in the *User Guide*. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpnconnectionroute.html)" ] }, "Properties": { - "$ref": "resources/aws-cassandra-keyspace.json" + "$ref": "resources/aws-ec2-vpnconnectionroute.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -30740,9 +30805,9 @@ ], "additionalProperties": false }, - "AWS_EC2_VerifiedAccessTrustProvider": { + "AWS_Route53_RecordSet": { "type": "object", - "markdownDescription": "The AWS::EC2::VerifiedAccessTrustProvider type describes a verified access trust provider \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-verifiedaccesstrustprovider.html)", + "markdownDescription": "Resource Type definition for AWS::Route53::RecordSet \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53-recordset.html)", "allOf": [ { "type": "object", @@ -30750,14 +30815,14 @@ "Type": { "type": "string", "enum": [ - "AWS::EC2::VerifiedAccessTrustProvider" + "AWS::Route53::RecordSet" ], "markdownEnumDescriptions": [ - "The AWS::EC2::VerifiedAccessTrustProvider type describes a verified access trust provider \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-verifiedaccesstrustprovider.html)" + "Resource Type definition for AWS::Route53::RecordSet \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53-recordset.html)" ] }, "Properties": { - "$ref": "resources/aws-ec2-verifiedaccesstrustprovider.json" + "$ref": "resources/aws-route53-recordset.json" } }, "required": [ @@ -30771,9 +30836,9 @@ ], "additionalProperties": false }, - "AWS_CloudFront_Function": { + "AWS_Route53Profiles_Profile": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::CloudFront::Function \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudfront-function.html)", + "markdownDescription": "Resource Type definition for AWS::Route53Profiles::Profile \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53profiles-profile.html)", "allOf": [ { "type": "object", @@ -30781,14 +30846,14 @@ "Type": { "type": "string", "enum": [ - "AWS::CloudFront::Function" + "AWS::Route53Profiles::Profile" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::CloudFront::Function \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudfront-function.html)" + "Resource Type definition for AWS::Route53Profiles::Profile \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53profiles-profile.html)" ] }, "Properties": { - "$ref": "resources/aws-cloudfront-function.json" + "$ref": "resources/aws-route53profiles-profile.json" } }, "required": [ @@ -30802,9 +30867,9 @@ ], "additionalProperties": false }, - "AWS_Cognito_LogDeliveryConfiguration": { + "AWS_Location_Tracker": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::Cognito::LogDeliveryConfiguration \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-logdeliveryconfiguration.html)", + "markdownDescription": "Definition of AWS::Location::Tracker Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-location-tracker.html)", "allOf": [ { "type": "object", @@ -30812,14 +30877,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Cognito::LogDeliveryConfiguration" + "AWS::Location::Tracker" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::Cognito::LogDeliveryConfiguration \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-logdeliveryconfiguration.html)" + "Definition of AWS::Location::Tracker Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-location-tracker.html)" ] }, "Properties": { - "$ref": "resources/aws-cognito-logdeliveryconfiguration.json" + "$ref": "resources/aws-location-tracker.json" } }, "required": [ @@ -30833,9 +30898,9 @@ ], "additionalProperties": false }, - "AWS_Route53RecoveryReadiness_ResourceSet": { + "AWS_WAFRegional_RegexPatternSet": { "type": "object", - "markdownDescription": "Schema for the AWS Route53 Recovery Readiness ResourceSet Resource and API. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53recoveryreadiness-resourceset.html)", + "markdownDescription": "Resource Type definition for AWS::WAFRegional::RegexPatternSet \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-wafregional-regexpatternset.html)", "allOf": [ { "type": "object", @@ -30843,14 +30908,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Route53RecoveryReadiness::ResourceSet" + "AWS::WAFRegional::RegexPatternSet" ], "markdownEnumDescriptions": [ - "Schema for the AWS Route53 Recovery Readiness ResourceSet Resource and API. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53recoveryreadiness-resourceset.html)" + "Resource Type definition for AWS::WAFRegional::RegexPatternSet \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-wafregional-regexpatternset.html)" ] }, "Properties": { - "$ref": "resources/aws-route53recoveryreadiness-resourceset.json" + "$ref": "resources/aws-wafregional-regexpatternset.json" } }, "required": [ @@ -30864,9 +30929,9 @@ ], "additionalProperties": false }, - "AWS_S3Express_BucketPolicy": { + "AWS_IoT_ThingPrincipalAttachment": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::S3Express::BucketPolicy. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-s3express-bucketpolicy.html)", + "markdownDescription": "Resource Type definition for AWS::IoT::ThingPrincipalAttachment \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-thingprincipalattachment.html)", "allOf": [ { "type": "object", @@ -30874,14 +30939,14 @@ "Type": { "type": "string", "enum": [ - "AWS::S3Express::BucketPolicy" + "AWS::IoT::ThingPrincipalAttachment" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::S3Express::BucketPolicy. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-s3express-bucketpolicy.html)" + "Resource Type definition for AWS::IoT::ThingPrincipalAttachment \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-thingprincipalattachment.html)" ] }, "Properties": { - "$ref": "resources/aws-s3express-bucketpolicy.json" + "$ref": "resources/aws-iot-thingprincipalattachment.json" } }, "required": [ @@ -30895,9 +30960,9 @@ ], "additionalProperties": false }, - "AWS_CloudTrail_ResourcePolicy": { + "AWS_ApiGatewayV2_Integration": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::CloudTrail::ResourcePolicy \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudtrail-resourcepolicy.html)", + "markdownDescription": "An example resource schema demonstrating some basic constructs and validation rules. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-integration.html)", "allOf": [ { "type": "object", @@ -30905,14 +30970,14 @@ "Type": { "type": "string", "enum": [ - "AWS::CloudTrail::ResourcePolicy" + "AWS::ApiGatewayV2::Integration" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::CloudTrail::ResourcePolicy \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudtrail-resourcepolicy.html)" + "An example resource schema demonstrating some basic constructs and validation rules. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-integration.html)" ] }, "Properties": { - "$ref": "resources/aws-cloudtrail-resourcepolicy.json" + "$ref": "resources/aws-apigatewayv2-integration.json" } }, "required": [ @@ -30926,9 +30991,9 @@ ], "additionalProperties": false }, - "AWS_RedshiftServerless_Workgroup": { + "AWS_Athena_PreparedStatement": { "type": "object", - "markdownDescription": "Definition of AWS::RedshiftServerless::Workgroup Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-redshiftserverless-workgroup.html)", + "markdownDescription": "Resource schema for AWS::Athena::PreparedStatement \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-athena-preparedstatement.html)", "allOf": [ { "type": "object", @@ -30936,14 +31001,14 @@ "Type": { "type": "string", "enum": [ - "AWS::RedshiftServerless::Workgroup" + "AWS::Athena::PreparedStatement" ], "markdownEnumDescriptions": [ - "Definition of AWS::RedshiftServerless::Workgroup Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-redshiftserverless-workgroup.html)" + "Resource schema for AWS::Athena::PreparedStatement \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-athena-preparedstatement.html)" ] }, "Properties": { - "$ref": "resources/aws-redshiftserverless-workgroup.json" + "$ref": "resources/aws-athena-preparedstatement.json" } }, "required": [ @@ -30957,9 +31022,9 @@ ], "additionalProperties": false }, - "AWS_VerifiedPermissions_Policy": { + "AWS_DevOpsGuru_NotificationChannel": { "type": "object", - "markdownDescription": "Definition of AWS::VerifiedPermissions::Policy Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-verifiedpermissions-policy.html)", + "markdownDescription": "This resource schema represents the NotificationChannel resource in the Amazon DevOps Guru. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-devopsguru-notificationchannel.html)", "allOf": [ { "type": "object", @@ -30967,14 +31032,14 @@ "Type": { "type": "string", "enum": [ - "AWS::VerifiedPermissions::Policy" + "AWS::DevOpsGuru::NotificationChannel" ], "markdownEnumDescriptions": [ - "Definition of AWS::VerifiedPermissions::Policy Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-verifiedpermissions-policy.html)" + "This resource schema represents the NotificationChannel resource in the Amazon DevOps Guru. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-devopsguru-notificationchannel.html)" ] }, "Properties": { - "$ref": "resources/aws-verifiedpermissions-policy.json" + "$ref": "resources/aws-devopsguru-notificationchannel.json" } }, "required": [ @@ -30988,9 +31053,9 @@ ], "additionalProperties": false }, - "AWS_IoTAnalytics_Channel": { + "AWS_MediaLive_SignalMap": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::IoTAnalytics::Channel \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotanalytics-channel.html)", + "markdownDescription": "Definition of AWS::MediaLive::SignalMap Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-medialive-signalmap.html)", "allOf": [ { "type": "object", @@ -30998,18 +31063,19 @@ "Type": { "type": "string", "enum": [ - "AWS::IoTAnalytics::Channel" + "AWS::MediaLive::SignalMap" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::IoTAnalytics::Channel \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotanalytics-channel.html)" + "Definition of AWS::MediaLive::SignalMap Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-medialive-signalmap.html)" ] }, "Properties": { - "$ref": "resources/aws-iotanalytics-channel.json" + "$ref": "resources/aws-medialive-signalmap.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -31018,9 +31084,9 @@ ], "additionalProperties": false }, - "AWS_CloudFormation_Macro": { + "AWS_IoT1Click_Device": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::CloudFormation::Macro \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudformation-macro.html)", + "markdownDescription": "Resource Type definition for AWS::IoT1Click::Device \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot1click-device.html)", "allOf": [ { "type": "object", @@ -31028,14 +31094,14 @@ "Type": { "type": "string", "enum": [ - "AWS::CloudFormation::Macro" + "AWS::IoT1Click::Device" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::CloudFormation::Macro \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudformation-macro.html)" + "Resource Type definition for AWS::IoT1Click::Device \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot1click-device.html)" ] }, "Properties": { - "$ref": "resources/aws-cloudformation-macro.json" + "$ref": "resources/aws-iot1click-device.json" } }, "required": [ @@ -31049,9 +31115,9 @@ ], "additionalProperties": false }, - "AWS_ServiceCatalog_ResourceUpdateConstraint": { + "AWS_Glue_TableOptimizer": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::ServiceCatalog::ResourceUpdateConstraint \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicecatalog-resourceupdateconstraint.html)", + "markdownDescription": "Resource Type definition for AWS::Glue::TableOptimizer \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-tableoptimizer.html)", "allOf": [ { "type": "object", @@ -31059,14 +31125,14 @@ "Type": { "type": "string", "enum": [ - "AWS::ServiceCatalog::ResourceUpdateConstraint" + "AWS::Glue::TableOptimizer" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::ServiceCatalog::ResourceUpdateConstraint \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicecatalog-resourceupdateconstraint.html)" + "Resource Type definition for AWS::Glue::TableOptimizer \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-tableoptimizer.html)" ] }, "Properties": { - "$ref": "resources/aws-servicecatalog-resourceupdateconstraint.json" + "$ref": "resources/aws-glue-tableoptimizer.json" } }, "required": [ @@ -31080,9 +31146,9 @@ ], "additionalProperties": false }, - "AWS_DirectoryService_SimpleAD": { + "AWS_IoTThingsGraph_FlowTemplate": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::DirectoryService::SimpleAD \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-directoryservice-simplead.html)", + "markdownDescription": "Resource Type definition for AWS::IoTThingsGraph::FlowTemplate \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotthingsgraph-flowtemplate.html)", "allOf": [ { "type": "object", @@ -31090,14 +31156,14 @@ "Type": { "type": "string", "enum": [ - "AWS::DirectoryService::SimpleAD" + "AWS::IoTThingsGraph::FlowTemplate" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::DirectoryService::SimpleAD \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-directoryservice-simplead.html)" + "Resource Type definition for AWS::IoTThingsGraph::FlowTemplate \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotthingsgraph-flowtemplate.html)" ] }, "Properties": { - "$ref": "resources/aws-directoryservice-simplead.json" + "$ref": "resources/aws-iotthingsgraph-flowtemplate.json" } }, "required": [ @@ -31111,9 +31177,9 @@ ], "additionalProperties": false }, - "AWS_WorkSpacesWeb_IdentityProvider": { + "AWS_Kendra_DataSource": { "type": "object", - "markdownDescription": "Definition of AWS::WorkSpacesWeb::IdentityProvider Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-workspacesweb-identityprovider.html)", + "markdownDescription": "Kendra DataSource \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kendra-datasource.html)", "allOf": [ { "type": "object", @@ -31121,14 +31187,14 @@ "Type": { "type": "string", "enum": [ - "AWS::WorkSpacesWeb::IdentityProvider" + "AWS::Kendra::DataSource" ], "markdownEnumDescriptions": [ - "Definition of AWS::WorkSpacesWeb::IdentityProvider Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-workspacesweb-identityprovider.html)" + "Kendra DataSource \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kendra-datasource.html)" ] }, "Properties": { - "$ref": "resources/aws-workspacesweb-identityprovider.json" + "$ref": "resources/aws-kendra-datasource.json" } }, "required": [ @@ -31142,9 +31208,9 @@ ], "additionalProperties": false }, - "AWS_Lightsail_StaticIp": { + "AWS_SSM_PatchBaseline": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::Lightsail::StaticIp \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lightsail-staticip.html)", + "markdownDescription": "Resource Type definition for AWS::SSM::PatchBaseline \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-patchbaseline.html)", "allOf": [ { "type": "object", @@ -31152,14 +31218,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Lightsail::StaticIp" + "AWS::SSM::PatchBaseline" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::Lightsail::StaticIp \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lightsail-staticip.html)" + "Resource Type definition for AWS::SSM::PatchBaseline \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-patchbaseline.html)" ] }, "Properties": { - "$ref": "resources/aws-lightsail-staticip.json" + "$ref": "resources/aws-ssm-patchbaseline.json" } }, "required": [ @@ -31173,9 +31239,9 @@ ], "additionalProperties": false }, - "AWS_EC2_EnclaveCertificateIamRoleAssociation": { + "AWS_AppStream_Application": { "type": "object", - "markdownDescription": "Associates an AWS Identity and Access Management (IAM) role with an AWS Certificate Manager (ACM) certificate. This association is based on Amazon Resource Names and it enables the certificate to be used by the ACM for Nitro Enclaves application inside an enclave. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-enclavecertificateiamroleassociation.html)", + "markdownDescription": "Resource Type definition for AWS::AppStream::Application \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appstream-application.html)", "allOf": [ { "type": "object", @@ -31183,14 +31249,14 @@ "Type": { "type": "string", "enum": [ - "AWS::EC2::EnclaveCertificateIamRoleAssociation" + "AWS::AppStream::Application" ], "markdownEnumDescriptions": [ - "Associates an AWS Identity and Access Management (IAM) role with an AWS Certificate Manager (ACM) certificate. This association is based on Amazon Resource Names and it enables the certificate to be used by the ACM for Nitro Enclaves application inside an enclave. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-enclavecertificateiamroleassociation.html)" + "Resource Type definition for AWS::AppStream::Application \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appstream-application.html)" ] }, "Properties": { - "$ref": "resources/aws-ec2-enclavecertificateiamroleassociation.json" + "$ref": "resources/aws-appstream-application.json" } }, "required": [ @@ -31204,9 +31270,9 @@ ], "additionalProperties": false }, - "AWS_QuickSight_Folder": { + "AWS_FSx_Volume": { "type": "object", - "markdownDescription": "Definition of the AWS::QuickSight::Folder Resource Type. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-quicksight-folder.html)", + "markdownDescription": "Resource Type definition for AWS::FSx::Volume \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-fsx-volume.html)", "allOf": [ { "type": "object", @@ -31214,18 +31280,19 @@ "Type": { "type": "string", "enum": [ - "AWS::QuickSight::Folder" + "AWS::FSx::Volume" ], "markdownEnumDescriptions": [ - "Definition of the AWS::QuickSight::Folder Resource Type. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-quicksight-folder.html)" + "Resource Type definition for AWS::FSx::Volume \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-fsx-volume.html)" ] }, "Properties": { - "$ref": "resources/aws-quicksight-folder.json" + "$ref": "resources/aws-fsx-volume.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -31234,9 +31301,9 @@ ], "additionalProperties": false }, - "AWS_EC2_VolumeAttachment": { + "AWS_Route53RecoveryReadiness_Cell": { "type": "object", - "markdownDescription": "Attaches an Amazon EBS volume to a running instance and exposes it to the instance with the specified device name.\n Before this resource can be deleted (and therefore the volume detached), you must first unmount the volume in the instance. Failure to do so results in the volume being stuck in the busy state while it is trying to detach, which could possibly damage the file system or the data it contains.\n If an Amazon EBS volume is the root device of an instance, it cannot be detached while the instance is in the \"running\" state. To detach the root volume, stop the instance first.\n If the root volume is detached from an instance with an MKT product code, then the product codes from that volume are no longer associated with the instance. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-volumeattachment.html)", + "markdownDescription": "The API Schema for AWS Route53 Recovery Readiness Cells. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53recoveryreadiness-cell.html)", "allOf": [ { "type": "object", @@ -31244,19 +31311,18 @@ "Type": { "type": "string", "enum": [ - "AWS::EC2::VolumeAttachment" + "AWS::Route53RecoveryReadiness::Cell" ], "markdownEnumDescriptions": [ - "Attaches an Amazon EBS volume to a running instance and exposes it to the instance with the specified device name.\n Before this resource can be deleted (and therefore the volume detached), you must first unmount the volume in the instance. Failure to do so results in the volume being stuck in the busy state while it is trying to detach, which could possibly damage the file system or the data it contains.\n If an Amazon EBS volume is the root device of an instance, it cannot be detached while the instance is in the \"running\" state. To detach the root volume, stop the instance first.\n If the root volume is detached from an instance with an MKT product code, then the product codes from that volume are no longer associated with the instance. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-volumeattachment.html)" + "The API Schema for AWS Route53 Recovery Readiness Cells. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53recoveryreadiness-cell.html)" ] }, "Properties": { - "$ref": "resources/aws-ec2-volumeattachment.json" + "$ref": "resources/aws-route53recoveryreadiness-cell.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -31265,9 +31331,9 @@ ], "additionalProperties": false }, - "AWS_EC2_SubnetNetworkAclAssociation": { + "AWS_MediaLive_InputSecurityGroup": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::EC2::SubnetNetworkAclAssociation \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-subnetnetworkaclassociation.html)", + "markdownDescription": "Resource Type definition for AWS::MediaLive::InputSecurityGroup \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-medialive-inputsecuritygroup.html)", "allOf": [ { "type": "object", @@ -31275,19 +31341,18 @@ "Type": { "type": "string", "enum": [ - "AWS::EC2::SubnetNetworkAclAssociation" + "AWS::MediaLive::InputSecurityGroup" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::EC2::SubnetNetworkAclAssociation \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-subnetnetworkaclassociation.html)" + "Resource Type definition for AWS::MediaLive::InputSecurityGroup \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-medialive-inputsecuritygroup.html)" ] }, "Properties": { - "$ref": "resources/aws-ec2-subnetnetworkaclassociation.json" + "$ref": "resources/aws-medialive-inputsecuritygroup.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -31296,9 +31361,9 @@ ], "additionalProperties": false }, - "AWS_S3_MultiRegionAccessPoint": { + "AWS_IoTSiteWise_Portal": { "type": "object", - "markdownDescription": "AWS::S3::MultiRegionAccessPoint is an Amazon S3 resource type that dynamically routes S3 requests to easily satisfy geographic compliance requirements based on customer-defined routing policies. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-s3-multiregionaccesspoint.html)", + "markdownDescription": "Resource schema for AWS::IoTSiteWise::Portal \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotsitewise-portal.html)", "allOf": [ { "type": "object", @@ -31306,14 +31371,14 @@ "Type": { "type": "string", "enum": [ - "AWS::S3::MultiRegionAccessPoint" + "AWS::IoTSiteWise::Portal" ], "markdownEnumDescriptions": [ - "AWS::S3::MultiRegionAccessPoint is an Amazon S3 resource type that dynamically routes S3 requests to easily satisfy geographic compliance requirements based on customer-defined routing policies. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-s3-multiregionaccesspoint.html)" + "Resource schema for AWS::IoTSiteWise::Portal \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotsitewise-portal.html)" ] }, "Properties": { - "$ref": "resources/aws-s3-multiregionaccesspoint.json" + "$ref": "resources/aws-iotsitewise-portal.json" } }, "required": [ @@ -31327,9 +31392,9 @@ ], "additionalProperties": false }, - "AWS_Connect_UserHierarchyGroup": { + "AWS_Inspector_AssessmentTemplate": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::Connect::UserHierarchyGroup \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-connect-userhierarchygroup.html)", + "markdownDescription": "Resource Type definition for AWS::Inspector::AssessmentTemplate \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-inspector-assessmenttemplate.html)", "allOf": [ { "type": "object", @@ -31337,14 +31402,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Connect::UserHierarchyGroup" + "AWS::Inspector::AssessmentTemplate" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::Connect::UserHierarchyGroup \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-connect-userhierarchygroup.html)" + "Resource Type definition for AWS::Inspector::AssessmentTemplate \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-inspector-assessmenttemplate.html)" ] }, "Properties": { - "$ref": "resources/aws-connect-userhierarchygroup.json" + "$ref": "resources/aws-inspector-assessmenttemplate.json" } }, "required": [ @@ -31358,9 +31423,9 @@ ], "additionalProperties": false }, - "AWS_Route53Resolver_FirewallDomainList": { + "AWS_SageMaker_Workteam": { "type": "object", - "markdownDescription": "Resource schema for AWS::Route53Resolver::FirewallDomainList. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53resolver-firewalldomainlist.html)", + "markdownDescription": "Resource Type definition for AWS::SageMaker::Workteam \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-workteam.html)", "allOf": [ { "type": "object", @@ -31368,14 +31433,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Route53Resolver::FirewallDomainList" + "AWS::SageMaker::Workteam" ], "markdownEnumDescriptions": [ - "Resource schema for AWS::Route53Resolver::FirewallDomainList. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53resolver-firewalldomainlist.html)" + "Resource Type definition for AWS::SageMaker::Workteam \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-workteam.html)" ] }, "Properties": { - "$ref": "resources/aws-route53resolver-firewalldomainlist.json" + "$ref": "resources/aws-sagemaker-workteam.json" } }, "required": [ @@ -31388,9 +31453,9 @@ ], "additionalProperties": false }, - "AWS_RoboMaker_RobotApplicationVersion": { + "AWS_SSO_PermissionSet": { "type": "object", - "markdownDescription": "AWS::RoboMaker::RobotApplicationVersion resource creates an AWS RoboMaker RobotApplicationVersion. This helps you control which code your robot uses. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-robomaker-robotapplicationversion.html)", + "markdownDescription": "Resource Type definition for SSO PermissionSet \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sso-permissionset.html)", "allOf": [ { "type": "object", @@ -31398,14 +31463,14 @@ "Type": { "type": "string", "enum": [ - "AWS::RoboMaker::RobotApplicationVersion" + "AWS::SSO::PermissionSet" ], "markdownEnumDescriptions": [ - "AWS::RoboMaker::RobotApplicationVersion resource creates an AWS RoboMaker RobotApplicationVersion. This helps you control which code your robot uses. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-robomaker-robotapplicationversion.html)" + "Resource Type definition for SSO PermissionSet \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sso-permissionset.html)" ] }, "Properties": { - "$ref": "resources/aws-robomaker-robotapplicationversion.json" + "$ref": "resources/aws-sso-permissionset.json" } }, "required": [ @@ -31419,9 +31484,9 @@ ], "additionalProperties": false }, - "AWS_EC2_IPAMResourceDiscovery": { + "AWS_AppStream_Entitlement": { "type": "object", - "markdownDescription": "Resource Schema of AWS::EC2::IPAMResourceDiscovery Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-ipamresourcediscovery.html)", + "markdownDescription": "Resource Type definition for AWS::AppStream::Entitlement \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appstream-entitlement.html)", "allOf": [ { "type": "object", @@ -31429,18 +31494,19 @@ "Type": { "type": "string", "enum": [ - "AWS::EC2::IPAMResourceDiscovery" + "AWS::AppStream::Entitlement" ], "markdownEnumDescriptions": [ - "Resource Schema of AWS::EC2::IPAMResourceDiscovery Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-ipamresourcediscovery.html)" + "Resource Type definition for AWS::AppStream::Entitlement \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appstream-entitlement.html)" ] }, "Properties": { - "$ref": "resources/aws-ec2-ipamresourcediscovery.json" + "$ref": "resources/aws-appstream-entitlement.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -31449,9 +31515,9 @@ ], "additionalProperties": false }, - "AWS_Evidently_Feature": { + "AWS_GuardDuty_Detector": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::Evidently::Feature. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-evidently-feature.html)", + "markdownDescription": "Resource Type definition for AWS::GuardDuty::Detector \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-guardduty-detector.html)", "allOf": [ { "type": "object", @@ -31459,14 +31525,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Evidently::Feature" + "AWS::GuardDuty::Detector" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::Evidently::Feature. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-evidently-feature.html)" + "Resource Type definition for AWS::GuardDuty::Detector \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-guardduty-detector.html)" ] }, "Properties": { - "$ref": "resources/aws-evidently-feature.json" + "$ref": "resources/aws-guardduty-detector.json" } }, "required": [ @@ -31480,9 +31546,9 @@ ], "additionalProperties": false }, - "AWS_Lambda_Url": { + "AWS_ApiGateway_ClientCertificate": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::Lambda::Url \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-url.html)", + "markdownDescription": "The ``AWS::ApiGateway::ClientCertificate`` resource creates a client certificate that API Gateway uses to configure client-side SSL authentication for sending requests to the integration endpoint. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-clientcertificate.html)", "allOf": [ { "type": "object", @@ -31490,19 +31556,18 @@ "Type": { "type": "string", "enum": [ - "AWS::Lambda::Url" + "AWS::ApiGateway::ClientCertificate" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::Lambda::Url \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-url.html)" + "The ``AWS::ApiGateway::ClientCertificate`` resource creates a client certificate that API Gateway uses to configure client-side SSL authentication for sending requests to the integration endpoint. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-clientcertificate.html)" ] }, "Properties": { - "$ref": "resources/aws-lambda-url.json" + "$ref": "resources/aws-apigateway-clientcertificate.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -31511,9 +31576,9 @@ ], "additionalProperties": false }, - "AWS_Glue_DataCatalogEncryptionSettings": { + "AWS_EC2_IPAMAllocation": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::Glue::DataCatalogEncryptionSettings \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-datacatalogencryptionsettings.html)", + "markdownDescription": "Resource Schema of AWS::EC2::IPAMAllocation Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-ipamallocation.html)", "allOf": [ { "type": "object", @@ -31521,14 +31586,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Glue::DataCatalogEncryptionSettings" + "AWS::EC2::IPAMAllocation" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::Glue::DataCatalogEncryptionSettings \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-datacatalogencryptionsettings.html)" + "Resource Schema of AWS::EC2::IPAMAllocation Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-ipamallocation.html)" ] }, "Properties": { - "$ref": "resources/aws-glue-datacatalogencryptionsettings.json" + "$ref": "resources/aws-ec2-ipamallocation.json" } }, "required": [ @@ -31542,9 +31607,9 @@ ], "additionalProperties": false }, - "AWS_APS_Workspace": { + "AWS_Deadline_QueueEnvironment": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::APS::Workspace \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-aps-workspace.html)", + "markdownDescription": "Definition of AWS::Deadline::QueueEnvironment Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-deadline-queueenvironment.html)", "allOf": [ { "type": "object", @@ -31552,18 +31617,19 @@ "Type": { "type": "string", "enum": [ - "AWS::APS::Workspace" + "AWS::Deadline::QueueEnvironment" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::APS::Workspace \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-aps-workspace.html)" + "Definition of AWS::Deadline::QueueEnvironment Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-deadline-queueenvironment.html)" ] }, "Properties": { - "$ref": "resources/aws-aps-workspace.json" + "$ref": "resources/aws-deadline-queueenvironment.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -31572,9 +31638,9 @@ ], "additionalProperties": false }, - "AWS_LaunchWizard_Deployment": { + "AWS_Evidently_Experiment": { "type": "object", - "markdownDescription": "Definition of AWS::LaunchWizard::Deployment Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-launchwizard-deployment.html)", + "markdownDescription": "Resource Type definition for AWS::Evidently::Experiment. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-evidently-experiment.html)", "allOf": [ { "type": "object", @@ -31582,14 +31648,14 @@ "Type": { "type": "string", "enum": [ - "AWS::LaunchWizard::Deployment" + "AWS::Evidently::Experiment" ], "markdownEnumDescriptions": [ - "Definition of AWS::LaunchWizard::Deployment Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-launchwizard-deployment.html)" + "Resource Type definition for AWS::Evidently::Experiment. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-evidently-experiment.html)" ] }, "Properties": { - "$ref": "resources/aws-launchwizard-deployment.json" + "$ref": "resources/aws-evidently-experiment.json" } }, "required": [ @@ -31603,9 +31669,9 @@ ], "additionalProperties": false }, - "AWS_ApiGatewayV2_ApiGatewayManagedOverrides": { + "AWS_Config_ConfigurationRecorder": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::ApiGatewayV2::ApiGatewayManagedOverrides \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-apigatewaymanagedoverrides.html)", + "markdownDescription": "Resource Type definition for AWS::Config::ConfigurationRecorder \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-config-configurationrecorder.html)", "allOf": [ { "type": "object", @@ -31613,14 +31679,14 @@ "Type": { "type": "string", "enum": [ - "AWS::ApiGatewayV2::ApiGatewayManagedOverrides" + "AWS::Config::ConfigurationRecorder" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::ApiGatewayV2::ApiGatewayManagedOverrides \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-apigatewaymanagedoverrides.html)" + "Resource Type definition for AWS::Config::ConfigurationRecorder \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-config-configurationrecorder.html)" ] }, "Properties": { - "$ref": "resources/aws-apigatewayv2-apigatewaymanagedoverrides.json" + "$ref": "resources/aws-config-configurationrecorder.json" } }, "required": [ @@ -31634,9 +31700,9 @@ ], "additionalProperties": false }, - "AWS_WorkSpaces_Workspace": { + "AWS_EC2_NetworkInterface": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::WorkSpaces::Workspace \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-workspaces-workspace.html)", + "markdownDescription": "The AWS::EC2::NetworkInterface resource creates network interface \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-networkinterface.html)", "allOf": [ { "type": "object", @@ -31644,14 +31710,14 @@ "Type": { "type": "string", "enum": [ - "AWS::WorkSpaces::Workspace" + "AWS::EC2::NetworkInterface" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::WorkSpaces::Workspace \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-workspaces-workspace.html)" + "The AWS::EC2::NetworkInterface resource creates network interface \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-networkinterface.html)" ] }, "Properties": { - "$ref": "resources/aws-workspaces-workspace.json" + "$ref": "resources/aws-ec2-networkinterface.json" } }, "required": [ @@ -31665,9 +31731,9 @@ ], "additionalProperties": false }, - "AWS_RefactorSpaces_Application": { + "AWS_SecurityHub_SecurityControl": { "type": "object", - "markdownDescription": "Definition of AWS::RefactorSpaces::Application Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-refactorspaces-application.html)", + "markdownDescription": "A security control in Security Hub describes a security best practice related to a specific resource. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-securityhub-securitycontrol.html)", "allOf": [ { "type": "object", @@ -31675,14 +31741,14 @@ "Type": { "type": "string", "enum": [ - "AWS::RefactorSpaces::Application" + "AWS::SecurityHub::SecurityControl" ], "markdownEnumDescriptions": [ - "Definition of AWS::RefactorSpaces::Application Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-refactorspaces-application.html)" + "A security control in Security Hub describes a security best practice related to a specific resource. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-securityhub-securitycontrol.html)" ] }, "Properties": { - "$ref": "resources/aws-refactorspaces-application.json" + "$ref": "resources/aws-securityhub-securitycontrol.json" } }, "required": [ @@ -31696,9 +31762,9 @@ ], "additionalProperties": false }, - "AWS_CloudTrail_Trail": { + "AWS_Backup_BackupPlan": { "type": "object", - "markdownDescription": "Creates a trail that specifies the settings for delivery of log data to an Amazon S3 bucket. A maximum of five trails can exist in a region, irrespective of the region in which they were created. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudtrail-trail.html)", + "markdownDescription": "Resource Type definition for AWS::Backup::BackupPlan \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-backup-backupplan.html)", "allOf": [ { "type": "object", @@ -31706,14 +31772,14 @@ "Type": { "type": "string", "enum": [ - "AWS::CloudTrail::Trail" + "AWS::Backup::BackupPlan" ], "markdownEnumDescriptions": [ - "Creates a trail that specifies the settings for delivery of log data to an Amazon S3 bucket. A maximum of five trails can exist in a region, irrespective of the region in which they were created. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudtrail-trail.html)" + "Resource Type definition for AWS::Backup::BackupPlan \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-backup-backupplan.html)" ] }, "Properties": { - "$ref": "resources/aws-cloudtrail-trail.json" + "$ref": "resources/aws-backup-backupplan.json" } }, "required": [ @@ -31727,9 +31793,9 @@ ], "additionalProperties": false }, - "AWS_WAFRegional_WebACLAssociation": { + "AWS_RoboMaker_RobotApplication": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::WAFRegional::WebACLAssociation \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-wafregional-webaclassociation.html)", + "markdownDescription": "This schema is for testing purpose only. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-robomaker-robotapplication.html)", "allOf": [ { "type": "object", @@ -31737,14 +31803,14 @@ "Type": { "type": "string", "enum": [ - "AWS::WAFRegional::WebACLAssociation" + "AWS::RoboMaker::RobotApplication" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::WAFRegional::WebACLAssociation \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-wafregional-webaclassociation.html)" + "This schema is for testing purpose only. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-robomaker-robotapplication.html)" ] }, "Properties": { - "$ref": "resources/aws-wafregional-webaclassociation.json" + "$ref": "resources/aws-robomaker-robotapplication.json" } }, "required": [ @@ -31758,9 +31824,9 @@ ], "additionalProperties": false }, - "AWS_Route53Resolver_FirewallRuleGroupAssociation": { + "AWS_SES_MailManagerTrafficPolicy": { "type": "object", - "markdownDescription": "Resource schema for AWS::Route53Resolver::FirewallRuleGroupAssociation. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53resolver-firewallrulegroupassociation.html)", + "markdownDescription": "Definition of AWS::SES::MailManagerTrafficPolicy Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ses-mailmanagertrafficpolicy.html)", "allOf": [ { "type": "object", @@ -31768,14 +31834,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Route53Resolver::FirewallRuleGroupAssociation" + "AWS::SES::MailManagerTrafficPolicy" ], "markdownEnumDescriptions": [ - "Resource schema for AWS::Route53Resolver::FirewallRuleGroupAssociation. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53resolver-firewallrulegroupassociation.html)" + "Definition of AWS::SES::MailManagerTrafficPolicy Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ses-mailmanagertrafficpolicy.html)" ] }, "Properties": { - "$ref": "resources/aws-route53resolver-firewallrulegroupassociation.json" + "$ref": "resources/aws-ses-mailmanagertrafficpolicy.json" } }, "required": [ @@ -31789,9 +31855,9 @@ ], "additionalProperties": false }, - "AWS_EC2_VPCEndpointServicePermissions": { + "AWS_PCAConnectorAD_ServicePrincipalName": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::EC2::VPCEndpointServicePermissions \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpcendpointservicepermissions.html)", + "markdownDescription": "Definition of AWS::PCAConnectorAD::ServicePrincipalName Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pcaconnectorad-serviceprincipalname.html)", "allOf": [ { "type": "object", @@ -31799,19 +31865,18 @@ "Type": { "type": "string", "enum": [ - "AWS::EC2::VPCEndpointServicePermissions" + "AWS::PCAConnectorAD::ServicePrincipalName" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::EC2::VPCEndpointServicePermissions \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpcendpointservicepermissions.html)" + "Definition of AWS::PCAConnectorAD::ServicePrincipalName Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pcaconnectorad-serviceprincipalname.html)" ] }, "Properties": { - "$ref": "resources/aws-ec2-vpcendpointservicepermissions.json" + "$ref": "resources/aws-pcaconnectorad-serviceprincipalname.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -31820,9 +31885,9 @@ ], "additionalProperties": false }, - "AWS_IoTEvents_DetectorModel": { + "AWS_KafkaConnect_CustomPlugin": { "type": "object", - "markdownDescription": "The AWS::IoTEvents::DetectorModel resource creates a detector model. You create a *detector model* (a model of your equipment or process) using *states*. For each state, you define conditional (Boolean) logic that evaluates the incoming inputs to detect significant events. When an event is detected, it can change the state or trigger custom-built or predefined actions using other AWS services. You can define additional events that trigger actions when entering or exiting a state and, optionally, when a condition is met. For more information, see [How to Use AWS IoT Events](https://docs.aws.amazon.com/iotevents/latest/developerguide/how-to-use-iotevents.html) in the *AWS IoT Events Developer Guide*. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotevents-detectormodel.html)", + "markdownDescription": "An example resource schema demonstrating some basic constructs and validation rules. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kafkaconnect-customplugin.html)", "allOf": [ { "type": "object", @@ -31830,14 +31895,14 @@ "Type": { "type": "string", "enum": [ - "AWS::IoTEvents::DetectorModel" + "AWS::KafkaConnect::CustomPlugin" ], "markdownEnumDescriptions": [ - "The AWS::IoTEvents::DetectorModel resource creates a detector model. You create a *detector model* (a model of your equipment or process) using *states*. For each state, you define conditional (Boolean) logic that evaluates the incoming inputs to detect significant events. When an event is detected, it can change the state or trigger custom-built or predefined actions using other AWS services. You can define additional events that trigger actions when entering or exiting a state and, optionally, when a condition is met. For more information, see [How to Use AWS IoT Events](https://docs.aws.amazon.com/iotevents/latest/developerguide/how-to-use-iotevents.html) in the *AWS IoT Events Developer Guide*. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotevents-detectormodel.html)" + "An example resource schema demonstrating some basic constructs and validation rules. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kafkaconnect-customplugin.html)" ] }, "Properties": { - "$ref": "resources/aws-iotevents-detectormodel.json" + "$ref": "resources/aws-kafkaconnect-customplugin.json" } }, "required": [ @@ -31851,9 +31916,9 @@ ], "additionalProperties": false }, - "AWS_Location_RouteCalculator": { + "AWS_MSK_Cluster": { "type": "object", - "markdownDescription": "Definition of AWS::Location::RouteCalculator Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-location-routecalculator.html)", + "markdownDescription": "Resource Type definition for AWS::MSK::Cluster \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-msk-cluster.html)", "allOf": [ { "type": "object", @@ -31861,14 +31926,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Location::RouteCalculator" + "AWS::MSK::Cluster" ], "markdownEnumDescriptions": [ - "Definition of AWS::Location::RouteCalculator Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-location-routecalculator.html)" + "Resource Type definition for AWS::MSK::Cluster \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-msk-cluster.html)" ] }, "Properties": { - "$ref": "resources/aws-location-routecalculator.json" + "$ref": "resources/aws-msk-cluster.json" } }, "required": [ @@ -31882,9 +31947,9 @@ ], "additionalProperties": false }, - "AWS_QLDB_Ledger": { + "AWS_Bedrock_KnowledgeBase": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::QLDB::Ledger \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-qldb-ledger.html)", + "markdownDescription": "Definition of AWS::Bedrock::KnowledgeBase Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-bedrock-knowledgebase.html)", "allOf": [ { "type": "object", @@ -31892,14 +31957,14 @@ "Type": { "type": "string", "enum": [ - "AWS::QLDB::Ledger" + "AWS::Bedrock::KnowledgeBase" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::QLDB::Ledger \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-qldb-ledger.html)" + "Definition of AWS::Bedrock::KnowledgeBase Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-bedrock-knowledgebase.html)" ] }, "Properties": { - "$ref": "resources/aws-qldb-ledger.json" + "$ref": "resources/aws-bedrock-knowledgebase.json" } }, "required": [ @@ -31913,9 +31978,9 @@ ], "additionalProperties": false }, - "AWS_SageMaker_MlflowTrackingServer": { + "AWS_IoTWireless_TaskDefinition": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::SageMaker::MlflowTrackingServer \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-mlflowtrackingserver.html)", + "markdownDescription": "Creates a gateway task definition. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotwireless-taskdefinition.html)", "allOf": [ { "type": "object", @@ -31923,14 +31988,14 @@ "Type": { "type": "string", "enum": [ - "AWS::SageMaker::MlflowTrackingServer" + "AWS::IoTWireless::TaskDefinition" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::SageMaker::MlflowTrackingServer \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-mlflowtrackingserver.html)" + "Creates a gateway task definition. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotwireless-taskdefinition.html)" ] }, "Properties": { - "$ref": "resources/aws-sagemaker-mlflowtrackingserver.json" + "$ref": "resources/aws-iotwireless-taskdefinition.json" } }, "required": [ @@ -31944,9 +32009,9 @@ ], "additionalProperties": false }, - "AWS_DataZone_ProjectMembership": { + "AWS_CodePipeline_Webhook": { "type": "object", - "markdownDescription": "Definition of AWS::DataZone::ProjectMembership Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datazone-projectmembership.html)", + "markdownDescription": "Resource Type definition for AWS::CodePipeline::Webhook \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codepipeline-webhook.html)", "allOf": [ { "type": "object", @@ -31954,14 +32019,14 @@ "Type": { "type": "string", "enum": [ - "AWS::DataZone::ProjectMembership" + "AWS::CodePipeline::Webhook" ], "markdownEnumDescriptions": [ - "Definition of AWS::DataZone::ProjectMembership Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datazone-projectmembership.html)" + "Resource Type definition for AWS::CodePipeline::Webhook \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codepipeline-webhook.html)" ] }, "Properties": { - "$ref": "resources/aws-datazone-projectmembership.json" + "$ref": "resources/aws-codepipeline-webhook.json" } }, "required": [ @@ -31975,9 +32040,9 @@ ], "additionalProperties": false }, - "AWS_SageMaker_CodeRepository": { + "AWS_EC2_LocalGatewayRoute": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::SageMaker::CodeRepository \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-coderepository.html)", + "markdownDescription": "Describes a route for a local gateway route table. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-localgatewayroute.html)", "allOf": [ { "type": "object", @@ -31985,19 +32050,18 @@ "Type": { "type": "string", "enum": [ - "AWS::SageMaker::CodeRepository" + "AWS::EC2::LocalGatewayRoute" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::SageMaker::CodeRepository \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-coderepository.html)" + "Describes a route for a local gateway route table. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-localgatewayroute.html)" ] }, "Properties": { - "$ref": "resources/aws-sagemaker-coderepository.json" + "$ref": "resources/aws-ec2-localgatewayroute.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -32006,9 +32070,9 @@ ], "additionalProperties": false }, - "AWS_PaymentCryptography_Alias": { + "AWS_EC2_Host": { "type": "object", - "markdownDescription": "Definition of AWS::PaymentCryptography::Alias Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-paymentcryptography-alias.html)", + "markdownDescription": "Resource Type definition for AWS::EC2::Host \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-host.html)", "allOf": [ { "type": "object", @@ -32016,14 +32080,14 @@ "Type": { "type": "string", "enum": [ - "AWS::PaymentCryptography::Alias" + "AWS::EC2::Host" ], "markdownEnumDescriptions": [ - "Definition of AWS::PaymentCryptography::Alias Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-paymentcryptography-alias.html)" + "Resource Type definition for AWS::EC2::Host \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-host.html)" ] }, "Properties": { - "$ref": "resources/aws-paymentcryptography-alias.json" + "$ref": "resources/aws-ec2-host.json" } }, "required": [ @@ -32037,9 +32101,9 @@ ], "additionalProperties": false }, - "AWS_GameLift_Alias": { + "AWS_Neptune_DBClusterParameterGroup": { "type": "object", - "markdownDescription": "The AWS::GameLift::Alias resource creates an alias for an Amazon GameLift (GameLift) fleet destination. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-gamelift-alias.html)", + "markdownDescription": "Resource Type definition for AWS::Neptune::DBClusterParameterGroup \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-neptune-dbclusterparametergroup.html)", "allOf": [ { "type": "object", @@ -32047,14 +32111,14 @@ "Type": { "type": "string", "enum": [ - "AWS::GameLift::Alias" + "AWS::Neptune::DBClusterParameterGroup" ], "markdownEnumDescriptions": [ - "The AWS::GameLift::Alias resource creates an alias for an Amazon GameLift (GameLift) fleet destination. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-gamelift-alias.html)" + "Resource Type definition for AWS::Neptune::DBClusterParameterGroup \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-neptune-dbclusterparametergroup.html)" ] }, "Properties": { - "$ref": "resources/aws-gamelift-alias.json" + "$ref": "resources/aws-neptune-dbclusterparametergroup.json" } }, "required": [ @@ -32068,9 +32132,9 @@ ], "additionalProperties": false }, - "AWS_RoboMaker_SimulationApplication": { + "AWS_Deadline_StorageProfile": { "type": "object", - "markdownDescription": "This schema is for testing purpose only. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-robomaker-simulationapplication.html)", + "markdownDescription": "Definition of AWS::Deadline::StorageProfile Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-deadline-storageprofile.html)", "allOf": [ { "type": "object", @@ -32078,14 +32142,14 @@ "Type": { "type": "string", "enum": [ - "AWS::RoboMaker::SimulationApplication" + "AWS::Deadline::StorageProfile" ], "markdownEnumDescriptions": [ - "This schema is for testing purpose only. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-robomaker-simulationapplication.html)" + "Definition of AWS::Deadline::StorageProfile Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-deadline-storageprofile.html)" ] }, "Properties": { - "$ref": "resources/aws-robomaker-simulationapplication.json" + "$ref": "resources/aws-deadline-storageprofile.json" } }, "required": [ @@ -32099,9 +32163,9 @@ ], "additionalProperties": false }, - "AWS_AppIntegrations_Application": { + "AWS_OpsWorks_UserProfile": { "type": "object", - "markdownDescription": "Resource Type definition for AWS:AppIntegrations::Application \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appintegrations-application.html)", + "markdownDescription": "Resource Type definition for AWS::OpsWorks::UserProfile \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opsworks-userprofile.html)", "allOf": [ { "type": "object", @@ -32109,14 +32173,14 @@ "Type": { "type": "string", "enum": [ - "AWS::AppIntegrations::Application" + "AWS::OpsWorks::UserProfile" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS:AppIntegrations::Application \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appintegrations-application.html)" + "Resource Type definition for AWS::OpsWorks::UserProfile \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opsworks-userprofile.html)" ] }, "Properties": { - "$ref": "resources/aws-appintegrations-application.json" + "$ref": "resources/aws-opsworks-userprofile.json" } }, "required": [ @@ -32130,9 +32194,9 @@ ], "additionalProperties": false }, - "AWS_EC2_NetworkInsightsPath": { + "AWS_LookoutVision_Project": { "type": "object", - "markdownDescription": "Resource schema for AWS::EC2::NetworkInsightsPath \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-networkinsightspath.html)", + "markdownDescription": "The AWS::LookoutVision::Project type creates an Amazon Lookout for Vision project. A project is a grouping of the resources needed to create and manage a Lookout for Vision model. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lookoutvision-project.html)", "allOf": [ { "type": "object", @@ -32140,14 +32204,14 @@ "Type": { "type": "string", "enum": [ - "AWS::EC2::NetworkInsightsPath" + "AWS::LookoutVision::Project" ], "markdownEnumDescriptions": [ - "Resource schema for AWS::EC2::NetworkInsightsPath \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-networkinsightspath.html)" + "The AWS::LookoutVision::Project type creates an Amazon Lookout for Vision project. A project is a grouping of the resources needed to create and manage a Lookout for Vision model. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lookoutvision-project.html)" ] }, "Properties": { - "$ref": "resources/aws-ec2-networkinsightspath.json" + "$ref": "resources/aws-lookoutvision-project.json" } }, "required": [ @@ -32161,9 +32225,9 @@ ], "additionalProperties": false }, - "AWS_APS_RuleGroupsNamespace": { + "AWS_Proton_EnvironmentAccountConnection": { "type": "object", - "markdownDescription": "RuleGroupsNamespace schema for cloudformation. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-aps-rulegroupsnamespace.html)", + "markdownDescription": "Resource Schema describing various properties for AWS Proton Environment Account Connections resources. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-proton-environmentaccountconnection.html)", "allOf": [ { "type": "object", @@ -32171,19 +32235,18 @@ "Type": { "type": "string", "enum": [ - "AWS::APS::RuleGroupsNamespace" + "AWS::Proton::EnvironmentAccountConnection" ], "markdownEnumDescriptions": [ - "RuleGroupsNamespace schema for cloudformation. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-aps-rulegroupsnamespace.html)" + "Resource Schema describing various properties for AWS Proton Environment Account Connections resources. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-proton-environmentaccountconnection.html)" ] }, "Properties": { - "$ref": "resources/aws-aps-rulegroupsnamespace.json" + "$ref": "resources/aws-proton-environmentaccountconnection.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -32192,9 +32255,9 @@ ], "additionalProperties": false }, - "AWS_IVS_Stage": { + "AWS_KinesisAnalytics_ApplicationOutput": { "type": "object", - "markdownDescription": "Resource Definition for type AWS::IVS::Stage. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ivs-stage.html)", + "markdownDescription": "Resource Type definition for AWS::KinesisAnalytics::ApplicationOutput \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kinesisanalytics-applicationoutput.html)", "allOf": [ { "type": "object", @@ -32202,18 +32265,19 @@ "Type": { "type": "string", "enum": [ - "AWS::IVS::Stage" + "AWS::KinesisAnalytics::ApplicationOutput" ], "markdownEnumDescriptions": [ - "Resource Definition for type AWS::IVS::Stage. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ivs-stage.html)" + "Resource Type definition for AWS::KinesisAnalytics::ApplicationOutput \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kinesisanalytics-applicationoutput.html)" ] }, "Properties": { - "$ref": "resources/aws-ivs-stage.json" + "$ref": "resources/aws-kinesisanalytics-applicationoutput.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -32222,9 +32286,9 @@ ], "additionalProperties": false }, - "AWS_MediaPackageV2_Channel": { + "AWS_PinpointEmail_ConfigurationSet": { "type": "object", - "markdownDescription": "

Represents an entry point into AWS Elemental MediaPackage for an ABR video content stream sent from an upstream encoder such as AWS Elemental MediaLive. The channel continuously analyzes the content that it receives and prepares it to be distributed to consumers via one or more origin endpoints.

\n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediapackagev2-channel.html)", + "markdownDescription": "Resource Type definition for AWS::PinpointEmail::ConfigurationSet \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpointemail-configurationset.html)", "allOf": [ { "type": "object", @@ -32232,14 +32296,14 @@ "Type": { "type": "string", "enum": [ - "AWS::MediaPackageV2::Channel" + "AWS::PinpointEmail::ConfigurationSet" ], "markdownEnumDescriptions": [ - "

Represents an entry point into AWS Elemental MediaPackage for an ABR video content stream sent from an upstream encoder such as AWS Elemental MediaLive. The channel continuously analyzes the content that it receives and prepares it to be distributed to consumers via one or more origin endpoints.

\n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediapackagev2-channel.html)" + "Resource Type definition for AWS::PinpointEmail::ConfigurationSet \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpointemail-configurationset.html)" ] }, "Properties": { - "$ref": "resources/aws-mediapackagev2-channel.json" + "$ref": "resources/aws-pinpointemail-configurationset.json" } }, "required": [ @@ -32253,9 +32317,9 @@ ], "additionalProperties": false }, - "AWS_Lightsail_Alarm": { + "AWS_Connect_ContactFlowModule": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::Lightsail::Alarm \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lightsail-alarm.html)", + "markdownDescription": "Resource Type definition for AWS::Connect::ContactFlowModule. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-connect-contactflowmodule.html)", "allOf": [ { "type": "object", @@ -32263,14 +32327,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Lightsail::Alarm" + "AWS::Connect::ContactFlowModule" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::Lightsail::Alarm \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lightsail-alarm.html)" + "Resource Type definition for AWS::Connect::ContactFlowModule. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-connect-contactflowmodule.html)" ] }, "Properties": { - "$ref": "resources/aws-lightsail-alarm.json" + "$ref": "resources/aws-connect-contactflowmodule.json" } }, "required": [ @@ -32284,9 +32348,9 @@ ], "additionalProperties": false }, - "AWS_Logs_QueryDefinition": { + "AWS_SSMIncidents_ReplicationSet": { "type": "object", - "markdownDescription": "The resource schema for AWSLogs QueryDefinition \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-logs-querydefinition.html)", + "markdownDescription": "Resource type definition for AWS::SSMIncidents::ReplicationSet \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssmincidents-replicationset.html)", "allOf": [ { "type": "object", @@ -32294,14 +32358,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Logs::QueryDefinition" + "AWS::SSMIncidents::ReplicationSet" ], "markdownEnumDescriptions": [ - "The resource schema for AWSLogs QueryDefinition \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-logs-querydefinition.html)" + "Resource type definition for AWS::SSMIncidents::ReplicationSet \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssmincidents-replicationset.html)" ] }, "Properties": { - "$ref": "resources/aws-logs-querydefinition.json" + "$ref": "resources/aws-ssmincidents-replicationset.json" } }, "required": [ @@ -32315,9 +32379,9 @@ ], "additionalProperties": false }, - "AWS_Pipes_Pipe": { + "AWS_Config_ConfigurationAggregator": { "type": "object", - "markdownDescription": "Definition of AWS::Pipes::Pipe Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pipes-pipe.html)", + "markdownDescription": "Resource Type definition for AWS::Config::ConfigurationAggregator \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-config-configurationaggregator.html)", "allOf": [ { "type": "object", @@ -32325,19 +32389,18 @@ "Type": { "type": "string", "enum": [ - "AWS::Pipes::Pipe" + "AWS::Config::ConfigurationAggregator" ], "markdownEnumDescriptions": [ - "Definition of AWS::Pipes::Pipe Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pipes-pipe.html)" + "Resource Type definition for AWS::Config::ConfigurationAggregator \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-config-configurationaggregator.html)" ] }, "Properties": { - "$ref": "resources/aws-pipes-pipe.json" + "$ref": "resources/aws-config-configurationaggregator.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -32346,9 +32409,9 @@ ], "additionalProperties": false }, - "AWS_ApiGatewayV2_Authorizer": { + "AWS_RDS_CustomDBEngineVersion": { "type": "object", - "markdownDescription": "The ``AWS::ApiGatewayV2::Authorizer`` resource creates an authorizer for a WebSocket API or an HTTP API. To learn more, see [Controlling and managing access to a WebSocket API in API Gateway](https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-websocket-api-control-access.html) and [Controlling and managing access to an HTTP API in API Gateway](https://docs.aws.amazon.com/apigateway/latest/developerguide/http-api-access-control.html) in the *API Gateway Developer Guide*. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-authorizer.html)", + "markdownDescription": "The AWS::RDS::CustomDBEngineVersion resource creates an Amazon RDS custom DB engine version. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-customdbengineversion.html)", "allOf": [ { "type": "object", @@ -32356,14 +32419,14 @@ "Type": { "type": "string", "enum": [ - "AWS::ApiGatewayV2::Authorizer" + "AWS::RDS::CustomDBEngineVersion" ], "markdownEnumDescriptions": [ - "The ``AWS::ApiGatewayV2::Authorizer`` resource creates an authorizer for a WebSocket API or an HTTP API. To learn more, see [Controlling and managing access to a WebSocket API in API Gateway](https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-websocket-api-control-access.html) and [Controlling and managing access to an HTTP API in API Gateway](https://docs.aws.amazon.com/apigateway/latest/developerguide/http-api-access-control.html) in the *API Gateway Developer Guide*. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-authorizer.html)" + "The AWS::RDS::CustomDBEngineVersion resource creates an Amazon RDS custom DB engine version. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-customdbengineversion.html)" ] }, "Properties": { - "$ref": "resources/aws-apigatewayv2-authorizer.json" + "$ref": "resources/aws-rds-customdbengineversion.json" } }, "required": [ @@ -32377,9 +32440,9 @@ ], "additionalProperties": false }, - "AWS_QBusiness_DataSource": { + "AWS_EC2_IPAMScope": { "type": "object", - "markdownDescription": "Definition of AWS::QBusiness::DataSource Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-qbusiness-datasource.html)", + "markdownDescription": "Resource Schema of AWS::EC2::IPAMScope Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-ipamscope.html)", "allOf": [ { "type": "object", @@ -32387,14 +32450,14 @@ "Type": { "type": "string", "enum": [ - "AWS::QBusiness::DataSource" + "AWS::EC2::IPAMScope" ], "markdownEnumDescriptions": [ - "Definition of AWS::QBusiness::DataSource Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-qbusiness-datasource.html)" + "Resource Schema of AWS::EC2::IPAMScope Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-ipamscope.html)" ] }, "Properties": { - "$ref": "resources/aws-qbusiness-datasource.json" + "$ref": "resources/aws-ec2-ipamscope.json" } }, "required": [ @@ -32408,9 +32471,9 @@ ], "additionalProperties": false }, - "AWS_Lambda_Permission": { + "AWS_AutoScaling_LaunchConfiguration": { "type": "object", - "markdownDescription": "The ``AWS::Lambda::Permission`` resource grants an AWS service or another account permission to use a function. You can apply the policy at the function level, or specify a qualifier to restrict access to a single version or alias. If you use a qualifier, the invoker must use the full Amazon Resource Name (ARN) of that version or alias to invoke the function.\n To grant permission to another account, specify the account ID as the ``Principal``. To grant permission to an organization defined in AOlong, specify the organization ID as the ``PrincipalOrgID``. For AWS services, the principal is a domain-style identifier defined by the service, like ``s3.amazonaws.com`` or ``sns.amazonaws.com``. For AWS services, you can also specify the ARN of the associated resource as the ``SourceArn``. If you grant permission to a service principal without specifying the source, other accounts could potentially configure resources in their account to invoke your Lambda function.\n If your function has a function URL, you can specify the ``FunctionUrlAuthType`` parameter. This adds a condition to your permission that only applies when your function URL's ``AuthType`` matches the specified ``FunctionUrlAuthType``. For more information about the ``AuthType`` parameter, see [Security and auth model for function URLs](https://docs.aws.amazon.com/lambda/latest/dg/urls-auth.html).\n This resource adds a statement to a resource-based permission policy for the function. For more information about function policies, see [Lambda Function Policies](https://docs.aws.amazon.com/lambda/latest/dg/access-control-resource-based.html). \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-permission.html)", + "markdownDescription": "The AWS::AutoScaling::LaunchConfiguration resource specifies the launch configuration that can be used by an Auto Scaling group to configure Amazon EC2 instances. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-autoscaling-launchconfiguration.html)", "allOf": [ { "type": "object", @@ -32418,14 +32481,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Lambda::Permission" + "AWS::AutoScaling::LaunchConfiguration" ], "markdownEnumDescriptions": [ - "The ``AWS::Lambda::Permission`` resource grants an AWS service or another account permission to use a function. You can apply the policy at the function level, or specify a qualifier to restrict access to a single version or alias. If you use a qualifier, the invoker must use the full Amazon Resource Name (ARN) of that version or alias to invoke the function.\n To grant permission to another account, specify the account ID as the ``Principal``. To grant permission to an organization defined in AOlong, specify the organization ID as the ``PrincipalOrgID``. For AWS services, the principal is a domain-style identifier defined by the service, like ``s3.amazonaws.com`` or ``sns.amazonaws.com``. For AWS services, you can also specify the ARN of the associated resource as the ``SourceArn``. If you grant permission to a service principal without specifying the source, other accounts could potentially configure resources in their account to invoke your Lambda function.\n If your function has a function URL, you can specify the ``FunctionUrlAuthType`` parameter. This adds a condition to your permission that only applies when your function URL's ``AuthType`` matches the specified ``FunctionUrlAuthType``. For more information about the ``AuthType`` parameter, see [Security and auth model for function URLs](https://docs.aws.amazon.com/lambda/latest/dg/urls-auth.html).\n This resource adds a statement to a resource-based permission policy for the function. For more information about function policies, see [Lambda Function Policies](https://docs.aws.amazon.com/lambda/latest/dg/access-control-resource-based.html). \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-permission.html)" + "The AWS::AutoScaling::LaunchConfiguration resource specifies the launch configuration that can be used by an Auto Scaling group to configure Amazon EC2 instances. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-autoscaling-launchconfiguration.html)" ] }, "Properties": { - "$ref": "resources/aws-lambda-permission.json" + "$ref": "resources/aws-autoscaling-launchconfiguration.json" } }, "required": [ @@ -32439,9 +32502,9 @@ ], "additionalProperties": false }, - "AWS_LakeFormation_Tag": { + "AWS_CloudWatch_Dashboard": { "type": "object", - "markdownDescription": "A resource schema representing a Lake Formation Tag. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lakeformation-tag.html)", + "markdownDescription": "Resource Type definition for AWS::CloudWatch::Dashboard \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudwatch-dashboard.html)", "allOf": [ { "type": "object", @@ -32449,14 +32512,14 @@ "Type": { "type": "string", "enum": [ - "AWS::LakeFormation::Tag" + "AWS::CloudWatch::Dashboard" ], "markdownEnumDescriptions": [ - "A resource schema representing a Lake Formation Tag. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lakeformation-tag.html)" + "Resource Type definition for AWS::CloudWatch::Dashboard \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudwatch-dashboard.html)" ] }, "Properties": { - "$ref": "resources/aws-lakeformation-tag.json" + "$ref": "resources/aws-cloudwatch-dashboard.json" } }, "required": [ @@ -32470,39 +32533,9 @@ ], "additionalProperties": false }, - "AWS_Proton_EnvironmentAccountConnection": { - "type": "object", - "markdownDescription": "Resource Schema describing various properties for AWS Proton Environment Account Connections resources. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-proton-environmentaccountconnection.html)", - "allOf": [ - { - "type": "object", - "properties": { - "Type": { - "type": "string", - "enum": [ - "AWS::Proton::EnvironmentAccountConnection" - ], - "markdownEnumDescriptions": [ - "Resource Schema describing various properties for AWS Proton Environment Account Connections resources. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-proton-environmentaccountconnection.html)" - ] - }, - "Properties": { - "$ref": "resources/aws-proton-environmentaccountconnection.json" - } - }, - "required": [ - "Type" - ] - }, - { - "$ref": "resource.attributes.schema.json#/definitions/ResourceAttributes" - } - ], - "additionalProperties": false - }, - "AWS_ElastiCache_User": { + "AWS_EC2_VPCDHCPOptionsAssociation": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::ElastiCache::User \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticache-user.html)", + "markdownDescription": "Associates a set of DHCP options with a VPC, or associates no DHCP options with the VPC. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpcdhcpoptionsassociation.html)", "allOf": [ { "type": "object", @@ -32510,14 +32543,14 @@ "Type": { "type": "string", "enum": [ - "AWS::ElastiCache::User" + "AWS::EC2::VPCDHCPOptionsAssociation" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::ElastiCache::User \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticache-user.html)" + "Associates a set of DHCP options with a VPC, or associates no DHCP options with the VPC. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpcdhcpoptionsassociation.html)" ] }, "Properties": { - "$ref": "resources/aws-elasticache-user.json" + "$ref": "resources/aws-ec2-vpcdhcpoptionsassociation.json" } }, "required": [ @@ -32531,9 +32564,9 @@ ], "additionalProperties": false }, - "AWS_MediaConvert_Preset": { + "AWS_CloudFormation_HookDefaultVersion": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::MediaConvert::Preset \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediaconvert-preset.html)", + "markdownDescription": "Set a version as default version for a hook in CloudFormation Registry. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudformation-hookdefaultversion.html)", "allOf": [ { "type": "object", @@ -32541,19 +32574,18 @@ "Type": { "type": "string", "enum": [ - "AWS::MediaConvert::Preset" + "AWS::CloudFormation::HookDefaultVersion" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::MediaConvert::Preset \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediaconvert-preset.html)" + "Set a version as default version for a hook in CloudFormation Registry. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudformation-hookdefaultversion.html)" ] }, "Properties": { - "$ref": "resources/aws-mediaconvert-preset.json" + "$ref": "resources/aws-cloudformation-hookdefaultversion.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -32562,9 +32594,9 @@ ], "additionalProperties": false }, - "AWS_AppMesh_Route": { + "AWS_Amplify_Domain": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::AppMesh::Route \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appmesh-route.html)", + "markdownDescription": "The AWS::Amplify::Domain resource allows you to connect a custom domain to your app. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-amplify-domain.html)", "allOf": [ { "type": "object", @@ -32572,14 +32604,14 @@ "Type": { "type": "string", "enum": [ - "AWS::AppMesh::Route" + "AWS::Amplify::Domain" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::AppMesh::Route \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appmesh-route.html)" + "The AWS::Amplify::Domain resource allows you to connect a custom domain to your app. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-amplify-domain.html)" ] }, "Properties": { - "$ref": "resources/aws-appmesh-route.json" + "$ref": "resources/aws-amplify-domain.json" } }, "required": [ @@ -32593,9 +32625,9 @@ ], "additionalProperties": false }, - "AWS_ApiGateway_RequestValidator": { + "AWS_ApiGateway_ApiKey": { "type": "object", - "markdownDescription": "The ``AWS::ApiGateway::RequestValidator`` resource sets up basic validation rules for incoming requests to your API. For more information, see [Enable Basic Request Validation for an API in API Gateway](https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-method-request-validation.html) in the *API Gateway Developer Guide*. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-requestvalidator.html)", + "markdownDescription": "The ``AWS::ApiGateway::ApiKey`` resource creates a unique key that you can distribute to clients who are executing API Gateway ``Method`` resources that require an API key. To specify which API key clients must use, map the API key with the ``RestApi`` and ``Stage`` resources that include the methods that require a key. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-apikey.html)", "allOf": [ { "type": "object", @@ -32603,19 +32635,18 @@ "Type": { "type": "string", "enum": [ - "AWS::ApiGateway::RequestValidator" + "AWS::ApiGateway::ApiKey" ], "markdownEnumDescriptions": [ - "The ``AWS::ApiGateway::RequestValidator`` resource sets up basic validation rules for incoming requests to your API. For more information, see [Enable Basic Request Validation for an API in API Gateway](https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-method-request-validation.html) in the *API Gateway Developer Guide*. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-requestvalidator.html)" + "The ``AWS::ApiGateway::ApiKey`` resource creates a unique key that you can distribute to clients who are executing API Gateway ``Method`` resources that require an API key. To specify which API key clients must use, map the API key with the ``RestApi`` and ``Stage`` resources that include the methods that require a key. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-apikey.html)" ] }, "Properties": { - "$ref": "resources/aws-apigateway-requestvalidator.json" + "$ref": "resources/aws-apigateway-apikey.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -32624,9 +32655,9 @@ ], "additionalProperties": false }, - "AWS_ServiceCatalog_TagOptionAssociation": { + "AWS_CloudWatch_InsightRule": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::ServiceCatalog::TagOptionAssociation \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicecatalog-tagoptionassociation.html)", + "markdownDescription": "Resource Type definition for AWS::CloudWatch::InsightRule \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudwatch-insightrule.html)", "allOf": [ { "type": "object", @@ -32634,14 +32665,14 @@ "Type": { "type": "string", "enum": [ - "AWS::ServiceCatalog::TagOptionAssociation" + "AWS::CloudWatch::InsightRule" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::ServiceCatalog::TagOptionAssociation \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicecatalog-tagoptionassociation.html)" + "Resource Type definition for AWS::CloudWatch::InsightRule \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudwatch-insightrule.html)" ] }, "Properties": { - "$ref": "resources/aws-servicecatalog-tagoptionassociation.json" + "$ref": "resources/aws-cloudwatch-insightrule.json" } }, "required": [ @@ -32655,9 +32686,9 @@ ], "additionalProperties": false }, - "AWS_RDS_DBProxy": { + "AWS_RAM_Permission": { "type": "object", - "markdownDescription": "Resource schema for AWS::RDS::DBProxy \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbproxy.html)", + "markdownDescription": "Resource type definition for AWS::RAM::Permission \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ram-permission.html)", "allOf": [ { "type": "object", @@ -32665,14 +32696,14 @@ "Type": { "type": "string", "enum": [ - "AWS::RDS::DBProxy" + "AWS::RAM::Permission" ], "markdownEnumDescriptions": [ - "Resource schema for AWS::RDS::DBProxy \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbproxy.html)" + "Resource type definition for AWS::RAM::Permission \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ram-permission.html)" ] }, "Properties": { - "$ref": "resources/aws-rds-dbproxy.json" + "$ref": "resources/aws-ram-permission.json" } }, "required": [ @@ -32686,9 +32717,9 @@ ], "additionalProperties": false }, - "AWS_Route53_RecordSet": { + "AWS_CloudFront_MonitoringSubscription": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::Route53::RecordSet \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53-recordset.html)", + "markdownDescription": "Resource Type definition for AWS::CloudFront::MonitoringSubscription \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudfront-monitoringsubscription.html)", "allOf": [ { "type": "object", @@ -32696,14 +32727,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Route53::RecordSet" + "AWS::CloudFront::MonitoringSubscription" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::Route53::RecordSet \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53-recordset.html)" + "Resource Type definition for AWS::CloudFront::MonitoringSubscription \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudfront-monitoringsubscription.html)" ] }, "Properties": { - "$ref": "resources/aws-route53-recordset.json" + "$ref": "resources/aws-cloudfront-monitoringsubscription.json" } }, "required": [ @@ -32717,9 +32748,9 @@ ], "additionalProperties": false }, - "AWS_VerifiedPermissions_IdentitySource": { + "AWS_Chatbot_MicrosoftTeamsChannelConfiguration": { "type": "object", - "markdownDescription": "Definition of AWS::VerifiedPermissions::IdentitySource Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-verifiedpermissions-identitysource.html)", + "markdownDescription": "Resource schema for AWS::Chatbot::MicrosoftTeamsChannelConfiguration. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-chatbot-microsoftteamschannelconfiguration.html)", "allOf": [ { "type": "object", @@ -32727,14 +32758,14 @@ "Type": { "type": "string", "enum": [ - "AWS::VerifiedPermissions::IdentitySource" + "AWS::Chatbot::MicrosoftTeamsChannelConfiguration" ], "markdownEnumDescriptions": [ - "Definition of AWS::VerifiedPermissions::IdentitySource Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-verifiedpermissions-identitysource.html)" + "Resource schema for AWS::Chatbot::MicrosoftTeamsChannelConfiguration. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-chatbot-microsoftteamschannelconfiguration.html)" ] }, "Properties": { - "$ref": "resources/aws-verifiedpermissions-identitysource.json" + "$ref": "resources/aws-chatbot-microsoftteamschannelconfiguration.json" } }, "required": [ @@ -32748,9 +32779,9 @@ ], "additionalProperties": false }, - "AWS_Wisdom_Assistant": { + "AWS_Lightsail_Container": { "type": "object", - "markdownDescription": "Definition of AWS::Wisdom::Assistant Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-wisdom-assistant.html)", + "markdownDescription": "Resource Type definition for AWS::Lightsail::Container \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lightsail-container.html)", "allOf": [ { "type": "object", @@ -32758,14 +32789,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Wisdom::Assistant" + "AWS::Lightsail::Container" ], "markdownEnumDescriptions": [ - "Definition of AWS::Wisdom::Assistant Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-wisdom-assistant.html)" + "Resource Type definition for AWS::Lightsail::Container \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lightsail-container.html)" ] }, "Properties": { - "$ref": "resources/aws-wisdom-assistant.json" + "$ref": "resources/aws-lightsail-container.json" } }, "required": [ @@ -32779,9 +32810,9 @@ ], "additionalProperties": false }, - "AWS_Config_ConfigurationAggregator": { + "AWS_IVS_EncoderConfiguration": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::Config::ConfigurationAggregator \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-config-configurationaggregator.html)", + "markdownDescription": "Resource Type definition for AWS::IVS::EncoderConfiguration. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ivs-encoderconfiguration.html)", "allOf": [ { "type": "object", @@ -32789,14 +32820,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Config::ConfigurationAggregator" + "AWS::IVS::EncoderConfiguration" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::Config::ConfigurationAggregator \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-config-configurationaggregator.html)" + "Resource Type definition for AWS::IVS::EncoderConfiguration. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ivs-encoderconfiguration.html)" ] }, "Properties": { - "$ref": "resources/aws-config-configurationaggregator.json" + "$ref": "resources/aws-ivs-encoderconfiguration.json" } }, "required": [ @@ -32809,71 +32840,9 @@ ], "additionalProperties": false }, - "AWS_ResilienceHub_ResiliencyPolicy": { - "type": "object", - "markdownDescription": "Resource Type Definition for Resiliency Policy. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-resiliencehub-resiliencypolicy.html)", - "allOf": [ - { - "type": "object", - "properties": { - "Type": { - "type": "string", - "enum": [ - "AWS::ResilienceHub::ResiliencyPolicy" - ], - "markdownEnumDescriptions": [ - "Resource Type Definition for Resiliency Policy. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-resiliencehub-resiliencypolicy.html)" - ] - }, - "Properties": { - "$ref": "resources/aws-resiliencehub-resiliencypolicy.json" - } - }, - "required": [ - "Type", - "Properties" - ] - }, - { - "$ref": "resource.attributes.schema.json#/definitions/ResourceAttributes" - } - ], - "additionalProperties": false - }, - "AWS_MSK_Cluster": { - "type": "object", - "markdownDescription": "Resource Type definition for AWS::MSK::Cluster \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-msk-cluster.html)", - "allOf": [ - { - "type": "object", - "properties": { - "Type": { - "type": "string", - "enum": [ - "AWS::MSK::Cluster" - ], - "markdownEnumDescriptions": [ - "Resource Type definition for AWS::MSK::Cluster \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-msk-cluster.html)" - ] - }, - "Properties": { - "$ref": "resources/aws-msk-cluster.json" - } - }, - "required": [ - "Type", - "Properties" - ] - }, - { - "$ref": "resource.attributes.schema.json#/definitions/ResourceAttributes" - } - ], - "additionalProperties": false - }, - "AWS_MediaTailor_Channel": { + "AWS_CodeDeploy_DeploymentConfig": { "type": "object", - "markdownDescription": "Definition of AWS::MediaTailor::Channel Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediatailor-channel.html)", + "markdownDescription": "Resource Type definition for AWS::CodeDeploy::DeploymentConfig \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codedeploy-deploymentconfig.html)", "allOf": [ { "type": "object", @@ -32881,19 +32850,18 @@ "Type": { "type": "string", "enum": [ - "AWS::MediaTailor::Channel" + "AWS::CodeDeploy::DeploymentConfig" ], "markdownEnumDescriptions": [ - "Definition of AWS::MediaTailor::Channel Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediatailor-channel.html)" + "Resource Type definition for AWS::CodeDeploy::DeploymentConfig \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codedeploy-deploymentconfig.html)" ] }, "Properties": { - "$ref": "resources/aws-mediatailor-channel.json" + "$ref": "resources/aws-codedeploy-deploymentconfig.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -32902,9 +32870,9 @@ ], "additionalProperties": false }, - "AWS_IoTTwinMaker_SyncJob": { + "AWS_NetworkManager_SiteToSiteVpnAttachment": { "type": "object", - "markdownDescription": "Resource schema for AWS::IoTTwinMaker::SyncJob \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iottwinmaker-syncjob.html)", + "markdownDescription": "AWS::NetworkManager::SiteToSiteVpnAttachment Resource Type definition. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkmanager-sitetositevpnattachment.html)", "allOf": [ { "type": "object", @@ -32912,14 +32880,14 @@ "Type": { "type": "string", "enum": [ - "AWS::IoTTwinMaker::SyncJob" + "AWS::NetworkManager::SiteToSiteVpnAttachment" ], "markdownEnumDescriptions": [ - "Resource schema for AWS::IoTTwinMaker::SyncJob \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iottwinmaker-syncjob.html)" + "AWS::NetworkManager::SiteToSiteVpnAttachment Resource Type definition. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkmanager-sitetositevpnattachment.html)" ] }, "Properties": { - "$ref": "resources/aws-iottwinmaker-syncjob.json" + "$ref": "resources/aws-networkmanager-sitetositevpnattachment.json" } }, "required": [ @@ -32933,9 +32901,9 @@ ], "additionalProperties": false }, - "AWS_Connect_User": { + "AWS_AppConfig_ExtensionAssociation": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::Connect::User \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-connect-user.html)", + "markdownDescription": "An example resource schema demonstrating some basic constructs and validation rules. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appconfig-extensionassociation.html)", "allOf": [ { "type": "object", @@ -32943,19 +32911,18 @@ "Type": { "type": "string", "enum": [ - "AWS::Connect::User" + "AWS::AppConfig::ExtensionAssociation" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::Connect::User \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-connect-user.html)" + "An example resource schema demonstrating some basic constructs and validation rules. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appconfig-extensionassociation.html)" ] }, "Properties": { - "$ref": "resources/aws-connect-user.json" + "$ref": "resources/aws-appconfig-extensionassociation.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -32964,9 +32931,9 @@ ], "additionalProperties": false }, - "AWS_SageMaker_AppImageConfig": { + "AWS_BillingConductor_PricingRule": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::SageMaker::AppImageConfig \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-appimageconfig.html)", + "markdownDescription": "A markup/discount that is defined for a specific set of services that can later be associated with a pricing plan. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-billingconductor-pricingrule.html)", "allOf": [ { "type": "object", @@ -32974,14 +32941,14 @@ "Type": { "type": "string", "enum": [ - "AWS::SageMaker::AppImageConfig" + "AWS::BillingConductor::PricingRule" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::SageMaker::AppImageConfig \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-appimageconfig.html)" + "A markup/discount that is defined for a specific set of services that can later be associated with a pricing plan. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-billingconductor-pricingrule.html)" ] }, "Properties": { - "$ref": "resources/aws-sagemaker-appimageconfig.json" + "$ref": "resources/aws-billingconductor-pricingrule.json" } }, "required": [ @@ -32995,9 +32962,9 @@ ], "additionalProperties": false }, - "AWS_ECS_PrimaryTaskSet": { + "AWS_ImageBuilder_LifecyclePolicy": { "type": "object", - "markdownDescription": "A pseudo-resource that manages which of your ECS task sets is primary. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ecs-primarytaskset.html)", + "markdownDescription": "Resource schema for AWS::ImageBuilder::LifecyclePolicy \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-imagebuilder-lifecyclepolicy.html)", "allOf": [ { "type": "object", @@ -33005,14 +32972,14 @@ "Type": { "type": "string", "enum": [ - "AWS::ECS::PrimaryTaskSet" + "AWS::ImageBuilder::LifecyclePolicy" ], "markdownEnumDescriptions": [ - "A pseudo-resource that manages which of your ECS task sets is primary. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ecs-primarytaskset.html)" + "Resource schema for AWS::ImageBuilder::LifecyclePolicy \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-imagebuilder-lifecyclepolicy.html)" ] }, "Properties": { - "$ref": "resources/aws-ecs-primarytaskset.json" + "$ref": "resources/aws-imagebuilder-lifecyclepolicy.json" } }, "required": [ @@ -33026,9 +32993,9 @@ ], "additionalProperties": false }, - "AWS_EC2_NetworkAcl": { + "AWS_B2BI_Profile": { "type": "object", - "markdownDescription": "Specifies a network ACL for your VPC. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-networkacl.html)", + "markdownDescription": "Definition of AWS::B2BI::Profile Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-b2bi-profile.html)", "allOf": [ { "type": "object", @@ -33036,14 +33003,14 @@ "Type": { "type": "string", "enum": [ - "AWS::EC2::NetworkAcl" + "AWS::B2BI::Profile" ], "markdownEnumDescriptions": [ - "Specifies a network ACL for your VPC. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-networkacl.html)" + "Definition of AWS::B2BI::Profile Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-b2bi-profile.html)" ] }, "Properties": { - "$ref": "resources/aws-ec2-networkacl.json" + "$ref": "resources/aws-b2bi-profile.json" } }, "required": [ @@ -33057,9 +33024,9 @@ ], "additionalProperties": false }, - "AWS_B2BI_Capability": { + "AWS_PCAConnectorSCEP_Challenge": { "type": "object", - "markdownDescription": "Definition of AWS::B2BI::Capability Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-b2bi-capability.html)", + "markdownDescription": "Represents a SCEP Challenge that is used for certificate enrollment \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pcaconnectorscep-challenge.html)", "allOf": [ { "type": "object", @@ -33067,14 +33034,14 @@ "Type": { "type": "string", "enum": [ - "AWS::B2BI::Capability" + "AWS::PCAConnectorSCEP::Challenge" ], "markdownEnumDescriptions": [ - "Definition of AWS::B2BI::Capability Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-b2bi-capability.html)" + "Represents a SCEP Challenge that is used for certificate enrollment \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pcaconnectorscep-challenge.html)" ] }, "Properties": { - "$ref": "resources/aws-b2bi-capability.json" + "$ref": "resources/aws-pcaconnectorscep-challenge.json" } }, "required": [ @@ -33088,9 +33055,9 @@ ], "additionalProperties": false }, - "AWS_Bedrock_Agent": { + "AWS_EKS_FargateProfile": { "type": "object", - "markdownDescription": "Definition of AWS::Bedrock::Agent Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-bedrock-agent.html)", + "markdownDescription": "Resource Schema for AWS::EKS::FargateProfile \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-eks-fargateprofile.html)", "allOf": [ { "type": "object", @@ -33098,14 +33065,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Bedrock::Agent" + "AWS::EKS::FargateProfile" ], "markdownEnumDescriptions": [ - "Definition of AWS::Bedrock::Agent Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-bedrock-agent.html)" + "Resource Schema for AWS::EKS::FargateProfile \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-eks-fargateprofile.html)" ] }, "Properties": { - "$ref": "resources/aws-bedrock-agent.json" + "$ref": "resources/aws-eks-fargateprofile.json" } }, "required": [ @@ -33119,9 +33086,9 @@ ], "additionalProperties": false }, - "AWS_SecretsManager_SecretTargetAttachment": { + "AWS_Neptune_DBParameterGroup": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::SecretsManager::SecretTargetAttachment \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-secretsmanager-secrettargetattachment.html)", + "markdownDescription": "Resource Type definition for AWS::Neptune::DBParameterGroup \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-neptune-dbparametergroup.html)", "allOf": [ { "type": "object", @@ -33129,14 +33096,14 @@ "Type": { "type": "string", "enum": [ - "AWS::SecretsManager::SecretTargetAttachment" + "AWS::Neptune::DBParameterGroup" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::SecretsManager::SecretTargetAttachment \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-secretsmanager-secrettargetattachment.html)" + "Resource Type definition for AWS::Neptune::DBParameterGroup \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-neptune-dbparametergroup.html)" ] }, "Properties": { - "$ref": "resources/aws-secretsmanager-secrettargetattachment.json" + "$ref": "resources/aws-neptune-dbparametergroup.json" } }, "required": [ @@ -33150,9 +33117,9 @@ ], "additionalProperties": false }, - "AWS_BCMDataExports_Export": { + "AWS_Lambda_LayerVersionPermission": { "type": "object", - "markdownDescription": "Definition of AWS::BCMDataExports::Export Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-bcmdataexports-export.html)", + "markdownDescription": "Schema for Lambda LayerVersionPermission \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-layerversionpermission.html)", "allOf": [ { "type": "object", @@ -33160,14 +33127,14 @@ "Type": { "type": "string", "enum": [ - "AWS::BCMDataExports::Export" + "AWS::Lambda::LayerVersionPermission" ], "markdownEnumDescriptions": [ - "Definition of AWS::BCMDataExports::Export Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-bcmdataexports-export.html)" + "Schema for Lambda LayerVersionPermission \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-layerversionpermission.html)" ] }, "Properties": { - "$ref": "resources/aws-bcmdataexports-export.json" + "$ref": "resources/aws-lambda-layerversionpermission.json" } }, "required": [ @@ -33181,9 +33148,9 @@ ], "additionalProperties": false }, - "AWS_EC2_TransitGatewayRouteTablePropagation": { + "AWS_IoT_Dimension": { "type": "object", - "markdownDescription": "AWS::EC2::TransitGatewayRouteTablePropagation Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-transitgatewayroutetablepropagation.html)", + "markdownDescription": "A dimension can be used to limit the scope of a metric used in a security profile for AWS IoT Device Defender. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-dimension.html)", "allOf": [ { "type": "object", @@ -33191,14 +33158,14 @@ "Type": { "type": "string", "enum": [ - "AWS::EC2::TransitGatewayRouteTablePropagation" + "AWS::IoT::Dimension" ], "markdownEnumDescriptions": [ - "AWS::EC2::TransitGatewayRouteTablePropagation Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-transitgatewayroutetablepropagation.html)" + "A dimension can be used to limit the scope of a metric used in a security profile for AWS IoT Device Defender. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-dimension.html)" ] }, "Properties": { - "$ref": "resources/aws-ec2-transitgatewayroutetablepropagation.json" + "$ref": "resources/aws-iot-dimension.json" } }, "required": [ @@ -33212,9 +33179,9 @@ ], "additionalProperties": false }, - "AWS_SageMaker_ImageVersion": { + "AWS_SageMaker_Cluster": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::SageMaker::ImageVersion \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-imageversion.html)", + "markdownDescription": "Resource Type definition for AWS::SageMaker::Cluster \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-cluster.html)", "allOf": [ { "type": "object", @@ -33222,14 +33189,14 @@ "Type": { "type": "string", "enum": [ - "AWS::SageMaker::ImageVersion" + "AWS::SageMaker::Cluster" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::SageMaker::ImageVersion \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-imageversion.html)" + "Resource Type definition for AWS::SageMaker::Cluster \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-cluster.html)" ] }, "Properties": { - "$ref": "resources/aws-sagemaker-imageversion.json" + "$ref": "resources/aws-sagemaker-cluster.json" } }, "required": [ @@ -33274,9 +33241,9 @@ ], "additionalProperties": false }, - "AWS_LookoutMetrics_AnomalyDetector": { + "AWS_CloudTrail_Channel": { "type": "object", - "markdownDescription": "An Amazon Lookout for Metrics Detector \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lookoutmetrics-anomalydetector.html)", + "markdownDescription": "A channel receives events from a specific source (such as an on-premises storage solution or application, or a partner event data source), and delivers the events to one or more event data stores. You use channels to ingest events into CloudTrail from sources outside AWS. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudtrail-channel.html)", "allOf": [ { "type": "object", @@ -33284,19 +33251,18 @@ "Type": { "type": "string", "enum": [ - "AWS::LookoutMetrics::AnomalyDetector" + "AWS::CloudTrail::Channel" ], "markdownEnumDescriptions": [ - "An Amazon Lookout for Metrics Detector \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lookoutmetrics-anomalydetector.html)" + "A channel receives events from a specific source (such as an on-premises storage solution or application, or a partner event data source), and delivers the events to one or more event data stores. You use channels to ingest events into CloudTrail from sources outside AWS. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudtrail-channel.html)" ] }, "Properties": { - "$ref": "resources/aws-lookoutmetrics-anomalydetector.json" + "$ref": "resources/aws-cloudtrail-channel.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -33305,9 +33271,9 @@ ], "additionalProperties": false }, - "AWS_ManagedBlockchain_Member": { + "AWS_Cassandra_Keyspace": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::ManagedBlockchain::Member \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-managedblockchain-member.html)", + "markdownDescription": "Resource schema for AWS::Cassandra::Keyspace \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cassandra-keyspace.html)", "allOf": [ { "type": "object", @@ -33315,19 +33281,18 @@ "Type": { "type": "string", "enum": [ - "AWS::ManagedBlockchain::Member" + "AWS::Cassandra::Keyspace" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::ManagedBlockchain::Member \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-managedblockchain-member.html)" + "Resource schema for AWS::Cassandra::Keyspace \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cassandra-keyspace.html)" ] }, "Properties": { - "$ref": "resources/aws-managedblockchain-member.json" + "$ref": "resources/aws-cassandra-keyspace.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -33336,9 +33301,9 @@ ], "additionalProperties": false }, - "AWS_Greengrass_CoreDefinitionVersion": { + "AWS_Transfer_Profile": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::Greengrass::CoreDefinitionVersion \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-coredefinitionversion.html)", + "markdownDescription": "Resource Type definition for AWS::Transfer::Profile \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-transfer-profile.html)", "allOf": [ { "type": "object", @@ -33346,14 +33311,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Greengrass::CoreDefinitionVersion" + "AWS::Transfer::Profile" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::Greengrass::CoreDefinitionVersion \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-coredefinitionversion.html)" + "Resource Type definition for AWS::Transfer::Profile \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-transfer-profile.html)" ] }, "Properties": { - "$ref": "resources/aws-greengrass-coredefinitionversion.json" + "$ref": "resources/aws-transfer-profile.json" } }, "required": [ @@ -33367,9 +33332,9 @@ ], "additionalProperties": false }, - "AWS_GameLift_MatchmakingRuleSet": { + "AWS_DataBrew_Schedule": { "type": "object", - "markdownDescription": "The AWS::GameLift::MatchmakingRuleSet resource creates an Amazon GameLift (GameLift) matchmaking rule set. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-gamelift-matchmakingruleset.html)", + "markdownDescription": "Resource schema for AWS::DataBrew::Schedule. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-databrew-schedule.html)", "allOf": [ { "type": "object", @@ -33377,14 +33342,14 @@ "Type": { "type": "string", "enum": [ - "AWS::GameLift::MatchmakingRuleSet" + "AWS::DataBrew::Schedule" ], "markdownEnumDescriptions": [ - "The AWS::GameLift::MatchmakingRuleSet resource creates an Amazon GameLift (GameLift) matchmaking rule set. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-gamelift-matchmakingruleset.html)" + "Resource schema for AWS::DataBrew::Schedule. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-databrew-schedule.html)" ] }, "Properties": { - "$ref": "resources/aws-gamelift-matchmakingruleset.json" + "$ref": "resources/aws-databrew-schedule.json" } }, "required": [ @@ -33398,9 +33363,9 @@ ], "additionalProperties": false }, - "AWS_Greengrass_FunctionDefinition": { + "AWS_Connect_InstanceStorageConfig": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::Greengrass::FunctionDefinition \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-functiondefinition.html)", + "markdownDescription": "Resource Type definition for AWS::Connect::InstanceStorageConfig \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-connect-instancestorageconfig.html)", "allOf": [ { "type": "object", @@ -33408,14 +33373,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Greengrass::FunctionDefinition" + "AWS::Connect::InstanceStorageConfig" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::Greengrass::FunctionDefinition \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-functiondefinition.html)" + "Resource Type definition for AWS::Connect::InstanceStorageConfig \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-connect-instancestorageconfig.html)" ] }, "Properties": { - "$ref": "resources/aws-greengrass-functiondefinition.json" + "$ref": "resources/aws-connect-instancestorageconfig.json" } }, "required": [ @@ -33429,9 +33394,9 @@ ], "additionalProperties": false }, - "AWS_DMS_EventSubscription": { + "AWS_QuickSight_Theme": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::DMS::EventSubscription \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dms-eventsubscription.html)", + "markdownDescription": "Definition of the AWS::QuickSight::Theme Resource Type. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-quicksight-theme.html)", "allOf": [ { "type": "object", @@ -33439,14 +33404,14 @@ "Type": { "type": "string", "enum": [ - "AWS::DMS::EventSubscription" + "AWS::QuickSight::Theme" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::DMS::EventSubscription \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dms-eventsubscription.html)" + "Definition of the AWS::QuickSight::Theme Resource Type. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-quicksight-theme.html)" ] }, "Properties": { - "$ref": "resources/aws-dms-eventsubscription.json" + "$ref": "resources/aws-quicksight-theme.json" } }, "required": [ @@ -33460,9 +33425,9 @@ ], "additionalProperties": false }, - "AWS_Greengrass_ResourceDefinition": { + "AWS_Comprehend_Flywheel": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::Greengrass::ResourceDefinition \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-resourcedefinition.html)", + "markdownDescription": "The AWS::Comprehend::Flywheel resource creates an Amazon Comprehend Flywheel that enables customer to train their model. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-comprehend-flywheel.html)", "allOf": [ { "type": "object", @@ -33470,14 +33435,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Greengrass::ResourceDefinition" + "AWS::Comprehend::Flywheel" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::Greengrass::ResourceDefinition \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-resourcedefinition.html)" + "The AWS::Comprehend::Flywheel resource creates an Amazon Comprehend Flywheel that enables customer to train their model. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-comprehend-flywheel.html)" ] }, "Properties": { - "$ref": "resources/aws-greengrass-resourcedefinition.json" + "$ref": "resources/aws-comprehend-flywheel.json" } }, "required": [ @@ -33491,9 +33456,9 @@ ], "additionalProperties": false }, - "AWS_ElastiCache_ParameterGroup": { + "AWS_VpcLattice_AuthPolicy": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::ElastiCache::ParameterGroup \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticache-parametergroup.html)", + "markdownDescription": "Creates or updates the auth policy. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-vpclattice-authpolicy.html)", "allOf": [ { "type": "object", @@ -33501,14 +33466,14 @@ "Type": { "type": "string", "enum": [ - "AWS::ElastiCache::ParameterGroup" + "AWS::VpcLattice::AuthPolicy" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::ElastiCache::ParameterGroup \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticache-parametergroup.html)" + "Creates or updates the auth policy. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-vpclattice-authpolicy.html)" ] }, "Properties": { - "$ref": "resources/aws-elasticache-parametergroup.json" + "$ref": "resources/aws-vpclattice-authpolicy.json" } }, "required": [ @@ -33522,9 +33487,9 @@ ], "additionalProperties": false }, - "AWS_CleanRooms_IdNamespaceAssociation": { + "AWS_LakeFormation_DataCellsFilter": { "type": "object", - "markdownDescription": "Represents an association between an ID namespace and a collaboration \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cleanrooms-idnamespaceassociation.html)", + "markdownDescription": "A resource schema representing a Lake Formation Data Cells Filter. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lakeformation-datacellsfilter.html)", "allOf": [ { "type": "object", @@ -33532,14 +33497,14 @@ "Type": { "type": "string", "enum": [ - "AWS::CleanRooms::IdNamespaceAssociation" + "AWS::LakeFormation::DataCellsFilter" ], "markdownEnumDescriptions": [ - "Represents an association between an ID namespace and a collaboration \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cleanrooms-idnamespaceassociation.html)" + "A resource schema representing a Lake Formation Data Cells Filter. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lakeformation-datacellsfilter.html)" ] }, "Properties": { - "$ref": "resources/aws-cleanrooms-idnamespaceassociation.json" + "$ref": "resources/aws-lakeformation-datacellsfilter.json" } }, "required": [ @@ -33553,9 +33518,9 @@ ], "additionalProperties": false }, - "AWS_ImageBuilder_Workflow": { + "AWS_EC2_IPAM": { "type": "object", - "markdownDescription": "Resource schema for AWS::ImageBuilder::Workflow \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-imagebuilder-workflow.html)", + "markdownDescription": "Resource Schema of AWS::EC2::IPAM Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-ipam.html)", "allOf": [ { "type": "object", @@ -33563,19 +33528,18 @@ "Type": { "type": "string", "enum": [ - "AWS::ImageBuilder::Workflow" + "AWS::EC2::IPAM" ], "markdownEnumDescriptions": [ - "Resource schema for AWS::ImageBuilder::Workflow \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-imagebuilder-workflow.html)" + "Resource Schema of AWS::EC2::IPAM Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-ipam.html)" ] }, "Properties": { - "$ref": "resources/aws-imagebuilder-workflow.json" + "$ref": "resources/aws-ec2-ipam.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -33584,9 +33548,9 @@ ], "additionalProperties": false }, - "AWS_Greengrass_Group": { + "AWS_BackupGateway_Hypervisor": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::Greengrass::Group \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-group.html)", + "markdownDescription": "Definition of AWS::BackupGateway::Hypervisor Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-backupgateway-hypervisor.html)", "allOf": [ { "type": "object", @@ -33594,19 +33558,18 @@ "Type": { "type": "string", "enum": [ - "AWS::Greengrass::Group" + "AWS::BackupGateway::Hypervisor" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::Greengrass::Group \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-group.html)" + "Definition of AWS::BackupGateway::Hypervisor Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-backupgateway-hypervisor.html)" ] }, "Properties": { - "$ref": "resources/aws-greengrass-group.json" + "$ref": "resources/aws-backupgateway-hypervisor.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -33615,9 +33578,9 @@ ], "additionalProperties": false }, - "AWS_WAFv2_WebACL": { + "AWS_RDS_Integration": { "type": "object", - "markdownDescription": "Contains the Rules that identify the requests that you want to allow, block, or count. In a WebACL, you also specify a default action (ALLOW or BLOCK), and the action for each Rule that you add to a WebACL, for example, block requests from specified IP addresses or block requests from specified referrers. You also associate the WebACL with a CloudFront distribution to identify the requests that you want AWS WAF to filter. If you add more than one Rule to a WebACL, a request needs to match only one of the specifications to be allowed, blocked, or counted. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-wafv2-webacl.html)", + "markdownDescription": "A zero-ETL integration with Amazon Redshift. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-integration.html)", "allOf": [ { "type": "object", @@ -33625,14 +33588,14 @@ "Type": { "type": "string", "enum": [ - "AWS::WAFv2::WebACL" + "AWS::RDS::Integration" ], "markdownEnumDescriptions": [ - "Contains the Rules that identify the requests that you want to allow, block, or count. In a WebACL, you also specify a default action (ALLOW or BLOCK), and the action for each Rule that you add to a WebACL, for example, block requests from specified IP addresses or block requests from specified referrers. You also associate the WebACL with a CloudFront distribution to identify the requests that you want AWS WAF to filter. If you add more than one Rule to a WebACL, a request needs to match only one of the specifications to be allowed, blocked, or counted. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-wafv2-webacl.html)" + "A zero-ETL integration with Amazon Redshift. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-integration.html)" ] }, "Properties": { - "$ref": "resources/aws-wafv2-webacl.json" + "$ref": "resources/aws-rds-integration.json" } }, "required": [ @@ -33646,9 +33609,9 @@ ], "additionalProperties": false }, - "AWS_SES_MailManagerTrafficPolicy": { + "AWS_SES_MailManagerArchive": { "type": "object", - "markdownDescription": "Definition of AWS::SES::MailManagerTrafficPolicy Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ses-mailmanagertrafficpolicy.html)", + "markdownDescription": "Definition of AWS::SES::MailManagerArchive Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ses-mailmanagerarchive.html)", "allOf": [ { "type": "object", @@ -33656,19 +33619,18 @@ "Type": { "type": "string", "enum": [ - "AWS::SES::MailManagerTrafficPolicy" + "AWS::SES::MailManagerArchive" ], "markdownEnumDescriptions": [ - "Definition of AWS::SES::MailManagerTrafficPolicy Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ses-mailmanagertrafficpolicy.html)" + "Definition of AWS::SES::MailManagerArchive Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ses-mailmanagerarchive.html)" ] }, "Properties": { - "$ref": "resources/aws-ses-mailmanagertrafficpolicy.json" + "$ref": "resources/aws-ses-mailmanagerarchive.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -33677,9 +33639,9 @@ ], "additionalProperties": false }, - "AWS_ServiceCatalogAppRegistry_AttributeGroupAssociation": { + "AWS_DataZone_GroupProfile": { "type": "object", - "markdownDescription": "Resource Schema for AWS::ServiceCatalogAppRegistry::AttributeGroupAssociation. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicecatalogappregistry-attributegroupassociation.html)", + "markdownDescription": "Group profiles represent groups of Amazon DataZone users. Groups can be manually created, or mapped to Active Directory groups of enterprise customers. In Amazon DataZone, groups serve two purposes. First, a group can map to a team of users in the organizational chart, and thus reduce the administrative work of a Amazon DataZone project owner when there are new employees joining or leaving a team. Second, corporate administrators use Active Directory groups to manage and update user statuses and so Amazon DataZone domain administrators can use these group memberships to implement Amazon DataZone domain policies. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datazone-groupprofile.html)", "allOf": [ { "type": "object", @@ -33687,14 +33649,14 @@ "Type": { "type": "string", "enum": [ - "AWS::ServiceCatalogAppRegistry::AttributeGroupAssociation" + "AWS::DataZone::GroupProfile" ], "markdownEnumDescriptions": [ - "Resource Schema for AWS::ServiceCatalogAppRegistry::AttributeGroupAssociation. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicecatalogappregistry-attributegroupassociation.html)" + "Group profiles represent groups of Amazon DataZone users. Groups can be manually created, or mapped to Active Directory groups of enterprise customers. In Amazon DataZone, groups serve two purposes. First, a group can map to a team of users in the organizational chart, and thus reduce the administrative work of a Amazon DataZone project owner when there are new employees joining or leaving a team. Second, corporate administrators use Active Directory groups to manage and update user statuses and so Amazon DataZone domain administrators can use these group memberships to implement Amazon DataZone domain policies. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datazone-groupprofile.html)" ] }, "Properties": { - "$ref": "resources/aws-servicecatalogappregistry-attributegroupassociation.json" + "$ref": "resources/aws-datazone-groupprofile.json" } }, "required": [ @@ -33708,9 +33670,9 @@ ], "additionalProperties": false }, - "AWS_EC2_NatGateway": { + "AWS_SecurityLake_Subscriber": { "type": "object", - "markdownDescription": "Specifies a network address translation (NAT) gateway in the specified subnet. You can create either a public NAT gateway or a private NAT gateway. The default is a public NAT gateway. If you create a public NAT gateway, you must specify an elastic IP address.\n With a NAT gateway, instances in a private subnet can connect to the internet, other AWS services, or an on-premises network using the IP address of the NAT gateway. For more information, see [NAT gateways](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-nat-gateway.html) in the *Amazon VPC User Guide*.\n If you add a default route (``AWS::EC2::Route`` resource) that points to a NAT gateway, specify the NAT gateway ID for the route's ``NatGatewayId`` property.\n When you associate an Elastic IP address or secondary Elastic IP address with a public NAT gateway, the network border group of the Elastic IP address must match the network border group of the Availability Zone (AZ) that the public NAT gateway is in. Otherwise, the NAT gateway fails to launch. You can see the network border group for the AZ by viewing the details of the subnet. Similarly, you can view the network border group for the Elastic IP address by viewing its details. For more information, see [Allocate an Elastic IP address](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-eips.html#allocate-eip) in the *Amazon VPC User Guide*. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-natgateway.html)", + "markdownDescription": "Resource Type definition for AWS::SecurityLake::Subscriber \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-securitylake-subscriber.html)", "allOf": [ { "type": "object", @@ -33718,14 +33680,14 @@ "Type": { "type": "string", "enum": [ - "AWS::EC2::NatGateway" + "AWS::SecurityLake::Subscriber" ], "markdownEnumDescriptions": [ - "Specifies a network address translation (NAT) gateway in the specified subnet. You can create either a public NAT gateway or a private NAT gateway. The default is a public NAT gateway. If you create a public NAT gateway, you must specify an elastic IP address.\n With a NAT gateway, instances in a private subnet can connect to the internet, other AWS services, or an on-premises network using the IP address of the NAT gateway. For more information, see [NAT gateways](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-nat-gateway.html) in the *Amazon VPC User Guide*.\n If you add a default route (``AWS::EC2::Route`` resource) that points to a NAT gateway, specify the NAT gateway ID for the route's ``NatGatewayId`` property.\n When you associate an Elastic IP address or secondary Elastic IP address with a public NAT gateway, the network border group of the Elastic IP address must match the network border group of the Availability Zone (AZ) that the public NAT gateway is in. Otherwise, the NAT gateway fails to launch. You can see the network border group for the AZ by viewing the details of the subnet. Similarly, you can view the network border group for the Elastic IP address by viewing its details. For more information, see [Allocate an Elastic IP address](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-eips.html#allocate-eip) in the *Amazon VPC User Guide*. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-natgateway.html)" + "Resource Type definition for AWS::SecurityLake::Subscriber \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-securitylake-subscriber.html)" ] }, "Properties": { - "$ref": "resources/aws-ec2-natgateway.json" + "$ref": "resources/aws-securitylake-subscriber.json" } }, "required": [ @@ -33739,9 +33701,9 @@ ], "additionalProperties": false }, - "AWS_EC2_TransitGatewayPeeringAttachment": { + "AWS_Evidently_Launch": { "type": "object", - "markdownDescription": "The AWS::EC2::TransitGatewayPeeringAttachment type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-transitgatewaypeeringattachment.html)", + "markdownDescription": "Resource Type definition for AWS::Evidently::Launch. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-evidently-launch.html)", "allOf": [ { "type": "object", @@ -33749,14 +33711,14 @@ "Type": { "type": "string", "enum": [ - "AWS::EC2::TransitGatewayPeeringAttachment" + "AWS::Evidently::Launch" ], "markdownEnumDescriptions": [ - "The AWS::EC2::TransitGatewayPeeringAttachment type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-transitgatewaypeeringattachment.html)" + "Resource Type definition for AWS::Evidently::Launch. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-evidently-launch.html)" ] }, "Properties": { - "$ref": "resources/aws-ec2-transitgatewaypeeringattachment.json" + "$ref": "resources/aws-evidently-launch.json" } }, "required": [ @@ -33770,9 +33732,9 @@ ], "additionalProperties": false }, - "AWS_ServiceCatalog_TagOption": { + "AWS_IoTFleetWise_ModelManifest": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::ServiceCatalog::TagOption \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicecatalog-tagoption.html)", + "markdownDescription": "Definition of AWS::IoTFleetWise::ModelManifest Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotfleetwise-modelmanifest.html)", "allOf": [ { "type": "object", @@ -33780,14 +33742,14 @@ "Type": { "type": "string", "enum": [ - "AWS::ServiceCatalog::TagOption" + "AWS::IoTFleetWise::ModelManifest" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::ServiceCatalog::TagOption \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicecatalog-tagoption.html)" + "Definition of AWS::IoTFleetWise::ModelManifest Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotfleetwise-modelmanifest.html)" ] }, "Properties": { - "$ref": "resources/aws-servicecatalog-tagoption.json" + "$ref": "resources/aws-iotfleetwise-modelmanifest.json" } }, "required": [ @@ -33801,9 +33763,9 @@ ], "additionalProperties": false }, - "AWS_LakeFormation_Permissions": { + "AWS_Cognito_IdentityPool": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::LakeFormation::Permissions \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lakeformation-permissions.html)", + "markdownDescription": "Resource Type definition for AWS::Cognito::IdentityPool \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-identitypool.html)", "allOf": [ { "type": "object", @@ -33811,14 +33773,14 @@ "Type": { "type": "string", "enum": [ - "AWS::LakeFormation::Permissions" + "AWS::Cognito::IdentityPool" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::LakeFormation::Permissions \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lakeformation-permissions.html)" + "Resource Type definition for AWS::Cognito::IdentityPool \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-identitypool.html)" ] }, "Properties": { - "$ref": "resources/aws-lakeformation-permissions.json" + "$ref": "resources/aws-cognito-identitypool.json" } }, "required": [ @@ -33832,9 +33794,9 @@ ], "additionalProperties": false }, - "AWS_EC2_VerifiedAccessInstance": { + "AWS_Macie_AllowList": { "type": "object", - "markdownDescription": "The AWS::EC2::VerifiedAccessInstance resource creates an AWS EC2 Verified Access Instance. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-verifiedaccessinstance.html)", + "markdownDescription": "Macie AllowList resource schema \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-macie-allowlist.html)", "allOf": [ { "type": "object", @@ -33842,18 +33804,19 @@ "Type": { "type": "string", "enum": [ - "AWS::EC2::VerifiedAccessInstance" + "AWS::Macie::AllowList" ], "markdownEnumDescriptions": [ - "The AWS::EC2::VerifiedAccessInstance resource creates an AWS EC2 Verified Access Instance. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-verifiedaccessinstance.html)" + "Macie AllowList resource schema \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-macie-allowlist.html)" ] }, "Properties": { - "$ref": "resources/aws-ec2-verifiedaccessinstance.json" + "$ref": "resources/aws-macie-allowlist.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -33862,9 +33825,9 @@ ], "additionalProperties": false }, - "AWS_DMS_Certificate": { + "AWS_RoboMaker_Fleet": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::DMS::Certificate \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dms-certificate.html)", + "markdownDescription": "AWS::RoboMaker::Fleet resource creates an AWS RoboMaker fleet. Fleets contain robots and can receive deployments. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-robomaker-fleet.html)", "allOf": [ { "type": "object", @@ -33872,14 +33835,14 @@ "Type": { "type": "string", "enum": [ - "AWS::DMS::Certificate" + "AWS::RoboMaker::Fleet" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::DMS::Certificate \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dms-certificate.html)" + "AWS::RoboMaker::Fleet resource creates an AWS RoboMaker fleet. Fleets contain robots and can receive deployments. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-robomaker-fleet.html)" ] }, "Properties": { - "$ref": "resources/aws-dms-certificate.json" + "$ref": "resources/aws-robomaker-fleet.json" } }, "required": [ @@ -33892,9 +33855,9 @@ ], "additionalProperties": false }, - "AWS_Neptune_DBInstance": { + "AWS_GuardDuty_Master": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::Neptune::DBInstance \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-neptune-dbinstance.html)", + "markdownDescription": "GuardDuty Master resource schema \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-guardduty-master.html)", "allOf": [ { "type": "object", @@ -33902,14 +33865,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Neptune::DBInstance" + "AWS::GuardDuty::Master" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::Neptune::DBInstance \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-neptune-dbinstance.html)" + "GuardDuty Master resource schema \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-guardduty-master.html)" ] }, "Properties": { - "$ref": "resources/aws-neptune-dbinstance.json" + "$ref": "resources/aws-guardduty-master.json" } }, "required": [ @@ -33923,9 +33886,9 @@ ], "additionalProperties": false }, - "AWS_Backup_RestoreTestingPlan": { + "AWS_EC2_SubnetNetworkAclAssociation": { "type": "object", - "markdownDescription": "Definition of AWS::Backup::RestoreTestingPlan Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-backup-restoretestingplan.html)", + "markdownDescription": "Resource Type definition for AWS::EC2::SubnetNetworkAclAssociation \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-subnetnetworkaclassociation.html)", "allOf": [ { "type": "object", @@ -33933,14 +33896,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Backup::RestoreTestingPlan" + "AWS::EC2::SubnetNetworkAclAssociation" ], "markdownEnumDescriptions": [ - "Definition of AWS::Backup::RestoreTestingPlan Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-backup-restoretestingplan.html)" + "Resource Type definition for AWS::EC2::SubnetNetworkAclAssociation \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-subnetnetworkaclassociation.html)" ] }, "Properties": { - "$ref": "resources/aws-backup-restoretestingplan.json" + "$ref": "resources/aws-ec2-subnetnetworkaclassociation.json" } }, "required": [ @@ -33954,9 +33917,9 @@ ], "additionalProperties": false }, - "AWS_EC2_SecurityGroup": { + "AWS_KinesisAnalyticsV2_ApplicationReferenceDataSource": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::EC2::SecurityGroup \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-securitygroup.html)", + "markdownDescription": "Resource Type definition for AWS::KinesisAnalyticsV2::ApplicationReferenceDataSource \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kinesisanalyticsv2-applicationreferencedatasource.html)", "allOf": [ { "type": "object", @@ -33964,14 +33927,14 @@ "Type": { "type": "string", "enum": [ - "AWS::EC2::SecurityGroup" + "AWS::KinesisAnalyticsV2::ApplicationReferenceDataSource" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::EC2::SecurityGroup \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-securitygroup.html)" + "Resource Type definition for AWS::KinesisAnalyticsV2::ApplicationReferenceDataSource \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kinesisanalyticsv2-applicationreferencedatasource.html)" ] }, "Properties": { - "$ref": "resources/aws-ec2-securitygroup.json" + "$ref": "resources/aws-kinesisanalyticsv2-applicationreferencedatasource.json" } }, "required": [ @@ -33985,9 +33948,9 @@ ], "additionalProperties": false }, - "AWS_NetworkManager_ConnectAttachment": { + "AWS_SecurityHub_Standard": { "type": "object", - "markdownDescription": "AWS::NetworkManager::ConnectAttachment Resource Type Definition \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkmanager-connectattachment.html)", + "markdownDescription": "The ``AWS::SecurityHub::Standard`` resource specifies the enablement of a security standard. The standard is identified by the ``StandardsArn`` property. To view a list of ASH standards and their Amazon Resource Names (ARNs), use the [DescribeStandards](https://docs.aws.amazon.com/securityhub/1.0/APIReference/API_DescribeStandards.html) API operation.\n You must create a separate ``AWS::SecurityHub::Standard`` resource for each standard that you want to enable.\n For more information about ASH standards, see [standards reference](https://docs.aws.amazon.com/securityhub/latest/userguide/standards-reference.html) in the *User Guide*. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-securityhub-standard.html)", "allOf": [ { "type": "object", @@ -33995,14 +33958,14 @@ "Type": { "type": "string", "enum": [ - "AWS::NetworkManager::ConnectAttachment" + "AWS::SecurityHub::Standard" ], "markdownEnumDescriptions": [ - "AWS::NetworkManager::ConnectAttachment Resource Type Definition \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkmanager-connectattachment.html)" + "The ``AWS::SecurityHub::Standard`` resource specifies the enablement of a security standard. The standard is identified by the ``StandardsArn`` property. To view a list of ASH standards and their Amazon Resource Names (ARNs), use the [DescribeStandards](https://docs.aws.amazon.com/securityhub/1.0/APIReference/API_DescribeStandards.html) API operation.\n You must create a separate ``AWS::SecurityHub::Standard`` resource for each standard that you want to enable.\n For more information about ASH standards, see [standards reference](https://docs.aws.amazon.com/securityhub/latest/userguide/standards-reference.html) in the *User Guide*. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-securityhub-standard.html)" ] }, "Properties": { - "$ref": "resources/aws-networkmanager-connectattachment.json" + "$ref": "resources/aws-securityhub-standard.json" } }, "required": [ @@ -34016,9 +33979,9 @@ ], "additionalProperties": false }, - "AWS_WAFRegional_GeoMatchSet": { + "AWS_EC2_PrefixList": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::WAFRegional::GeoMatchSet \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-wafregional-geomatchset.html)", + "markdownDescription": "Resource schema of AWS::EC2::PrefixList Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-prefixlist.html)", "allOf": [ { "type": "object", @@ -34026,14 +33989,14 @@ "Type": { "type": "string", "enum": [ - "AWS::WAFRegional::GeoMatchSet" + "AWS::EC2::PrefixList" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::WAFRegional::GeoMatchSet \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-wafregional-geomatchset.html)" + "Resource schema of AWS::EC2::PrefixList Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-prefixlist.html)" ] }, "Properties": { - "$ref": "resources/aws-wafregional-geomatchset.json" + "$ref": "resources/aws-ec2-prefixlist.json" } }, "required": [ @@ -34047,9 +34010,9 @@ ], "additionalProperties": false }, - "AWS_Lambda_LayerVersion": { + "AWS_GameLift_ContainerGroupDefinition": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::Lambda::LayerVersion \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-layerversion.html)", + "markdownDescription": "The AWS::GameLift::ContainerGroupDefinition resource creates an Amazon GameLift container group definition. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-gamelift-containergroupdefinition.html)", "allOf": [ { "type": "object", @@ -34057,14 +34020,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Lambda::LayerVersion" + "AWS::GameLift::ContainerGroupDefinition" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::Lambda::LayerVersion \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-layerversion.html)" + "The AWS::GameLift::ContainerGroupDefinition resource creates an Amazon GameLift container group definition. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-gamelift-containergroupdefinition.html)" ] }, "Properties": { - "$ref": "resources/aws-lambda-layerversion.json" + "$ref": "resources/aws-gamelift-containergroupdefinition.json" } }, "required": [ @@ -34109,9 +34072,9 @@ ], "additionalProperties": false }, - "AWS_Connect_IntegrationAssociation": { + "AWS_Macie_Session": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::Connect::IntegrationAssociation \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-connect-integrationassociation.html)", + "markdownDescription": "The AWS::Macie::Session resource specifies a new Amazon Macie session. A session is an object that represents the Amazon Macie service. A session is required for Amazon Macie to become operational. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-macie-session.html)", "allOf": [ { "type": "object", @@ -34119,19 +34082,18 @@ "Type": { "type": "string", "enum": [ - "AWS::Connect::IntegrationAssociation" + "AWS::Macie::Session" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::Connect::IntegrationAssociation \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-connect-integrationassociation.html)" + "The AWS::Macie::Session resource specifies a new Amazon Macie session. A session is an object that represents the Amazon Macie service. A session is required for Amazon Macie to become operational. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-macie-session.html)" ] }, "Properties": { - "$ref": "resources/aws-connect-integrationassociation.json" + "$ref": "resources/aws-macie-session.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -34140,9 +34102,9 @@ ], "additionalProperties": false }, - "AWS_FSx_FileSystem": { + "AWS_StepFunctions_StateMachineVersion": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::FSx::FileSystem \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-fsx-filesystem.html)", + "markdownDescription": "Resource schema for StateMachineVersion \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-stepfunctions-statemachineversion.html)", "allOf": [ { "type": "object", @@ -34150,14 +34112,14 @@ "Type": { "type": "string", "enum": [ - "AWS::FSx::FileSystem" + "AWS::StepFunctions::StateMachineVersion" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::FSx::FileSystem \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-fsx-filesystem.html)" + "Resource schema for StateMachineVersion \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-stepfunctions-statemachineversion.html)" ] }, "Properties": { - "$ref": "resources/aws-fsx-filesystem.json" + "$ref": "resources/aws-stepfunctions-statemachineversion.json" } }, "required": [ @@ -34171,9 +34133,9 @@ ], "additionalProperties": false }, - "AWS_EC2_LaunchTemplate": { + "AWS_SecurityLake_SubscriberNotification": { "type": "object", - "markdownDescription": "Specifies the properties for creating a launch template.\n The minimum required properties for specifying a launch template are as follows:\n + You must specify at least one property for the launch template data.\n + You can optionally specify a name for the launch template. If you do not specify a name, CFN creates a name for you.\n \n A launch template can contain some or all of the configuration information to launch an instance. When you launch an instance using a launch template, instance properties that are not specified in the launch template use default values, except the ``ImageId`` property, which has no default value. If you do not specify an AMI ID for the launch template ``ImageId`` property, you must specify an AMI ID for the instance ``ImageId`` property.\n For more information, see [Launch an instance from a launch template](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-launch-templates.html) in the *Amazon EC2 User Guide*. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-launchtemplate.html)", + "markdownDescription": "Resource Type definition for AWS::SecurityLake::SubscriberNotification \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-securitylake-subscribernotification.html)", "allOf": [ { "type": "object", @@ -34181,14 +34143,14 @@ "Type": { "type": "string", "enum": [ - "AWS::EC2::LaunchTemplate" + "AWS::SecurityLake::SubscriberNotification" ], "markdownEnumDescriptions": [ - "Specifies the properties for creating a launch template.\n The minimum required properties for specifying a launch template are as follows:\n + You must specify at least one property for the launch template data.\n + You can optionally specify a name for the launch template. If you do not specify a name, CFN creates a name for you.\n \n A launch template can contain some or all of the configuration information to launch an instance. When you launch an instance using a launch template, instance properties that are not specified in the launch template use default values, except the ``ImageId`` property, which has no default value. If you do not specify an AMI ID for the launch template ``ImageId`` property, you must specify an AMI ID for the instance ``ImageId`` property.\n For more information, see [Launch an instance from a launch template](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-launch-templates.html) in the *Amazon EC2 User Guide*. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-launchtemplate.html)" + "Resource Type definition for AWS::SecurityLake::SubscriberNotification \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-securitylake-subscribernotification.html)" ] }, "Properties": { - "$ref": "resources/aws-ec2-launchtemplate.json" + "$ref": "resources/aws-securitylake-subscribernotification.json" } }, "required": [ @@ -34202,9 +34164,9 @@ ], "additionalProperties": false }, - "AWS_NetworkFirewall_LoggingConfiguration": { + "AWS_PCAConnectorSCEP_Connector": { "type": "object", - "markdownDescription": "Resource type definition for AWS::NetworkFirewall::LoggingConfiguration \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkfirewall-loggingconfiguration.html)", + "markdownDescription": "Represents a Connector that allows certificate issuance through Simple Certificate Enrollment Protocol (SCEP) \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pcaconnectorscep-connector.html)", "allOf": [ { "type": "object", @@ -34212,14 +34174,14 @@ "Type": { "type": "string", "enum": [ - "AWS::NetworkFirewall::LoggingConfiguration" + "AWS::PCAConnectorSCEP::Connector" ], "markdownEnumDescriptions": [ - "Resource type definition for AWS::NetworkFirewall::LoggingConfiguration \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkfirewall-loggingconfiguration.html)" + "Represents a Connector that allows certificate issuance through Simple Certificate Enrollment Protocol (SCEP) \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pcaconnectorscep-connector.html)" ] }, "Properties": { - "$ref": "resources/aws-networkfirewall-loggingconfiguration.json" + "$ref": "resources/aws-pcaconnectorscep-connector.json" } }, "required": [ @@ -34233,9 +34195,9 @@ ], "additionalProperties": false }, - "AWS_ApiGateway_Method": { + "AWS_LookoutMetrics_AnomalyDetector": { "type": "object", - "markdownDescription": "The ``AWS::ApiGateway::Method`` resource creates API Gateway methods that define the parameters and body that clients must send in their requests. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-method.html)", + "markdownDescription": "An Amazon Lookout for Metrics Detector \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lookoutmetrics-anomalydetector.html)", "allOf": [ { "type": "object", @@ -34243,14 +34205,14 @@ "Type": { "type": "string", "enum": [ - "AWS::ApiGateway::Method" + "AWS::LookoutMetrics::AnomalyDetector" ], "markdownEnumDescriptions": [ - "The ``AWS::ApiGateway::Method`` resource creates API Gateway methods that define the parameters and body that clients must send in their requests. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-method.html)" + "An Amazon Lookout for Metrics Detector \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lookoutmetrics-anomalydetector.html)" ] }, "Properties": { - "$ref": "resources/aws-apigateway-method.json" + "$ref": "resources/aws-lookoutmetrics-anomalydetector.json" } }, "required": [ @@ -34264,9 +34226,9 @@ ], "additionalProperties": false }, - "AWS_RDS_DBParameterGroup": { + "AWS_Config_OrganizationConfigRule": { "type": "object", - "markdownDescription": "The ``AWS::RDS::DBParameterGroup`` resource creates a custom parameter group for an RDS database family.\n This type can be declared in a template and referenced in the ``DBParameterGroupName`` property of an ``AWS::RDS::DBInstance`` resource.\n For information about configuring parameters for Amazon RDS DB instances, see [Working with parameter groups](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_WorkingWithParamGroups.html) in the *Amazon RDS User Guide*.\n For information about configuring parameters for Amazon Aurora DB instances, see [Working with parameter groups](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/USER_WorkingWithParamGroups.html) in the *Amazon Aurora User Guide*.\n Applying a parameter group to a DB instance may require the DB instance to reboot, resulting in a database outage for the duration of the reboot. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbparametergroup.html)", + "markdownDescription": "Resource Type definition for AWS::Config::OrganizationConfigRule \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-config-organizationconfigrule.html)", "allOf": [ { "type": "object", @@ -34274,14 +34236,14 @@ "Type": { "type": "string", "enum": [ - "AWS::RDS::DBParameterGroup" + "AWS::Config::OrganizationConfigRule" ], "markdownEnumDescriptions": [ - "The ``AWS::RDS::DBParameterGroup`` resource creates a custom parameter group for an RDS database family.\n This type can be declared in a template and referenced in the ``DBParameterGroupName`` property of an ``AWS::RDS::DBInstance`` resource.\n For information about configuring parameters for Amazon RDS DB instances, see [Working with parameter groups](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_WorkingWithParamGroups.html) in the *Amazon RDS User Guide*.\n For information about configuring parameters for Amazon Aurora DB instances, see [Working with parameter groups](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/USER_WorkingWithParamGroups.html) in the *Amazon Aurora User Guide*.\n Applying a parameter group to a DB instance may require the DB instance to reboot, resulting in a database outage for the duration of the reboot. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbparametergroup.html)" + "Resource Type definition for AWS::Config::OrganizationConfigRule \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-config-organizationconfigrule.html)" ] }, "Properties": { - "$ref": "resources/aws-rds-dbparametergroup.json" + "$ref": "resources/aws-config-organizationconfigrule.json" } }, "required": [ @@ -34295,9 +34257,9 @@ ], "additionalProperties": false }, - "AWS_CodeBuild_Project": { + "AWS_CloudFormation_Publisher": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::CodeBuild::Project \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codebuild-project.html)", + "markdownDescription": "Register as a publisher in the CloudFormation Registry. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudformation-publisher.html)", "allOf": [ { "type": "object", @@ -34305,14 +34267,14 @@ "Type": { "type": "string", "enum": [ - "AWS::CodeBuild::Project" + "AWS::CloudFormation::Publisher" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::CodeBuild::Project \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codebuild-project.html)" + "Register as a publisher in the CloudFormation Registry. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudformation-publisher.html)" ] }, "Properties": { - "$ref": "resources/aws-codebuild-project.json" + "$ref": "resources/aws-cloudformation-publisher.json" } }, "required": [ @@ -34326,9 +34288,9 @@ ], "additionalProperties": false }, - "AWS_Events_Archive": { + "AWS_SecretsManager_SecretTargetAttachment": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::Events::Archive \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-archive.html)", + "markdownDescription": "Resource Type definition for AWS::SecretsManager::SecretTargetAttachment \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-secretsmanager-secrettargetattachment.html)", "allOf": [ { "type": "object", @@ -34336,14 +34298,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Events::Archive" + "AWS::SecretsManager::SecretTargetAttachment" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::Events::Archive \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-archive.html)" + "Resource Type definition for AWS::SecretsManager::SecretTargetAttachment \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-secretsmanager-secrettargetattachment.html)" ] }, "Properties": { - "$ref": "resources/aws-events-archive.json" + "$ref": "resources/aws-secretsmanager-secrettargetattachment.json" } }, "required": [ @@ -34357,9 +34319,9 @@ ], "additionalProperties": false }, - "AWS_IoTWireless_MulticastGroup": { + "AWS_DynamoDB_GlobalTable": { "type": "object", - "markdownDescription": "Create and manage Multicast groups. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotwireless-multicastgroup.html)", + "markdownDescription": "Version: None. Resource Type definition for AWS::DynamoDB::GlobalTable \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dynamodb-globaltable.html)", "allOf": [ { "type": "object", @@ -34367,14 +34329,14 @@ "Type": { "type": "string", "enum": [ - "AWS::IoTWireless::MulticastGroup" + "AWS::DynamoDB::GlobalTable" ], "markdownEnumDescriptions": [ - "Create and manage Multicast groups. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotwireless-multicastgroup.html)" + "Version: None. Resource Type definition for AWS::DynamoDB::GlobalTable \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dynamodb-globaltable.html)" ] }, "Properties": { - "$ref": "resources/aws-iotwireless-multicastgroup.json" + "$ref": "resources/aws-dynamodb-globaltable.json" } }, "required": [ @@ -34388,9 +34350,9 @@ ], "additionalProperties": false }, - "AWS_Lambda_EventSourceMapping": { + "AWS_IoT_ResourceSpecificLogging": { "type": "object", - "markdownDescription": "The ``AWS::Lambda::EventSourceMapping`` resource creates a mapping between an event source and an LAMlong function. LAM reads items from the event source and triggers the function.\n For details about each event source type, see the following topics. In particular, each of the topics describes the required and optional parameters for the specific event source. \n + [Configuring a Dynamo DB stream as an event source](https://docs.aws.amazon.com/lambda/latest/dg/with-ddb.html#services-dynamodb-eventsourcemapping) \n + [Configuring a Kinesis stream as an event source](https://docs.aws.amazon.com/lambda/latest/dg/with-kinesis.html#services-kinesis-eventsourcemapping) \n + [Configuring an SQS queue as an event source](https://docs.aws.amazon.com/lambda/latest/dg/with-sqs.html#events-sqs-eventsource) \n + [Configuring an MQ broker as an event source](https://docs.aws.amazon.com/lambda/latest/dg/with-mq.html#services-mq-eventsourcemapping) \n + [Configuring MSK as an event source](https://docs.aws.amazon.com/lambda/latest/dg/with-msk.html) \n + [Configuring Self-Managed Apache Kafka as an event source](https://docs.aws.amazon.com/lambda/latest/dg/kafka-smaa.html) \n + [Configuring Amazon DocumentDB as an event source](https://docs.aws.amazon.com/lambda/latest/dg/with-documentdb.html) \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-eventsourcemapping.html)", + "markdownDescription": "Resource-specific logging allows you to specify a logging level for a specific thing group. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-resourcespecificlogging.html)", "allOf": [ { "type": "object", @@ -34398,14 +34360,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Lambda::EventSourceMapping" + "AWS::IoT::ResourceSpecificLogging" ], "markdownEnumDescriptions": [ - "The ``AWS::Lambda::EventSourceMapping`` resource creates a mapping between an event source and an LAMlong function. LAM reads items from the event source and triggers the function.\n For details about each event source type, see the following topics. In particular, each of the topics describes the required and optional parameters for the specific event source. \n + [Configuring a Dynamo DB stream as an event source](https://docs.aws.amazon.com/lambda/latest/dg/with-ddb.html#services-dynamodb-eventsourcemapping) \n + [Configuring a Kinesis stream as an event source](https://docs.aws.amazon.com/lambda/latest/dg/with-kinesis.html#services-kinesis-eventsourcemapping) \n + [Configuring an SQS queue as an event source](https://docs.aws.amazon.com/lambda/latest/dg/with-sqs.html#events-sqs-eventsource) \n + [Configuring an MQ broker as an event source](https://docs.aws.amazon.com/lambda/latest/dg/with-mq.html#services-mq-eventsourcemapping) \n + [Configuring MSK as an event source](https://docs.aws.amazon.com/lambda/latest/dg/with-msk.html) \n + [Configuring Self-Managed Apache Kafka as an event source](https://docs.aws.amazon.com/lambda/latest/dg/kafka-smaa.html) \n + [Configuring Amazon DocumentDB as an event source](https://docs.aws.amazon.com/lambda/latest/dg/with-documentdb.html) \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-eventsourcemapping.html)" + "Resource-specific logging allows you to specify a logging level for a specific thing group. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-resourcespecificlogging.html)" ] }, "Properties": { - "$ref": "resources/aws-lambda-eventsourcemapping.json" + "$ref": "resources/aws-iot-resourcespecificlogging.json" } }, "required": [ @@ -34419,9 +34381,9 @@ ], "additionalProperties": false }, - "AWS_VpcLattice_AuthPolicy": { + "AWS_WAFRegional_SqlInjectionMatchSet": { "type": "object", - "markdownDescription": "Creates or updates the auth policy. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-vpclattice-authpolicy.html)", + "markdownDescription": "Resource Type definition for AWS::WAFRegional::SqlInjectionMatchSet \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-wafregional-sqlinjectionmatchset.html)", "allOf": [ { "type": "object", @@ -34429,14 +34391,14 @@ "Type": { "type": "string", "enum": [ - "AWS::VpcLattice::AuthPolicy" + "AWS::WAFRegional::SqlInjectionMatchSet" ], "markdownEnumDescriptions": [ - "Creates or updates the auth policy. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-vpclattice-authpolicy.html)" + "Resource Type definition for AWS::WAFRegional::SqlInjectionMatchSet \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-wafregional-sqlinjectionmatchset.html)" ] }, "Properties": { - "$ref": "resources/aws-vpclattice-authpolicy.json" + "$ref": "resources/aws-wafregional-sqlinjectionmatchset.json" } }, "required": [ @@ -34450,9 +34412,9 @@ ], "additionalProperties": false }, - "AWS_DataSync_LocationEFS": { + "AWS_EC2_VerifiedAccessGroup": { "type": "object", - "markdownDescription": "Resource schema for AWS::DataSync::LocationEFS. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datasync-locationefs.html)", + "markdownDescription": "The AWS::EC2::VerifiedAccessGroup resource creates an AWS EC2 Verified Access Group. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-verifiedaccessgroup.html)", "allOf": [ { "type": "object", @@ -34460,14 +34422,14 @@ "Type": { "type": "string", "enum": [ - "AWS::DataSync::LocationEFS" + "AWS::EC2::VerifiedAccessGroup" ], "markdownEnumDescriptions": [ - "Resource schema for AWS::DataSync::LocationEFS. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datasync-locationefs.html)" + "The AWS::EC2::VerifiedAccessGroup resource creates an AWS EC2 Verified Access Group. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-verifiedaccessgroup.html)" ] }, "Properties": { - "$ref": "resources/aws-datasync-locationefs.json" + "$ref": "resources/aws-ec2-verifiedaccessgroup.json" } }, "required": [ @@ -34481,9 +34443,9 @@ ], "additionalProperties": false }, - "AWS_OpenSearchServerless_SecurityConfig": { + "AWS_DataBrew_Recipe": { "type": "object", - "markdownDescription": "Amazon OpenSearchServerless security config resource \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opensearchserverless-securityconfig.html)", + "markdownDescription": "Resource schema for AWS::DataBrew::Recipe. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-databrew-recipe.html)", "allOf": [ { "type": "object", @@ -34491,18 +34453,19 @@ "Type": { "type": "string", "enum": [ - "AWS::OpenSearchServerless::SecurityConfig" + "AWS::DataBrew::Recipe" ], "markdownEnumDescriptions": [ - "Amazon OpenSearchServerless security config resource \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opensearchserverless-securityconfig.html)" + "Resource schema for AWS::DataBrew::Recipe. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-databrew-recipe.html)" ] }, "Properties": { - "$ref": "resources/aws-opensearchserverless-securityconfig.json" + "$ref": "resources/aws-databrew-recipe.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -34511,9 +34474,9 @@ ], "additionalProperties": false }, - "AWS_SSMContacts_Contact": { + "AWS_DataSync_LocationSMB": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::SSMContacts::Contact \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssmcontacts-contact.html)", + "markdownDescription": "Resource schema for AWS::DataSync::LocationSMB. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datasync-locationsmb.html)", "allOf": [ { "type": "object", @@ -34521,14 +34484,14 @@ "Type": { "type": "string", "enum": [ - "AWS::SSMContacts::Contact" + "AWS::DataSync::LocationSMB" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::SSMContacts::Contact \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssmcontacts-contact.html)" + "Resource schema for AWS::DataSync::LocationSMB. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datasync-locationsmb.html)" ] }, "Properties": { - "$ref": "resources/aws-ssmcontacts-contact.json" + "$ref": "resources/aws-datasync-locationsmb.json" } }, "required": [ @@ -34542,9 +34505,9 @@ ], "additionalProperties": false }, - "Alexa_ASK_Skill": { + "AWS_ServiceDiscovery_HttpNamespace": { "type": "object", - "markdownDescription": "Resource Type definition for Alexa::ASK::Skill \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-alexa-ask-skill.html)", + "markdownDescription": "Resource Type definition for AWS::ServiceDiscovery::HttpNamespace \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicediscovery-httpnamespace.html)", "allOf": [ { "type": "object", @@ -34552,14 +34515,14 @@ "Type": { "type": "string", "enum": [ - "Alexa::ASK::Skill" + "AWS::ServiceDiscovery::HttpNamespace" ], "markdownEnumDescriptions": [ - "Resource Type definition for Alexa::ASK::Skill \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-alexa-ask-skill.html)" + "Resource Type definition for AWS::ServiceDiscovery::HttpNamespace \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicediscovery-httpnamespace.html)" ] }, "Properties": { - "$ref": "resources/alexa-ask-skill.json" + "$ref": "resources/aws-servicediscovery-httpnamespace.json" } }, "required": [ @@ -34573,9 +34536,9 @@ ], "additionalProperties": false }, - "AWS_IAM_RolePolicy": { + "AWS_SSM_MaintenanceWindowTarget": { "type": "object", - "markdownDescription": "Adds or updates an inline policy document that is embedded in the specified IAM role.\n When you embed an inline policy in a role, the inline policy is used as part of the role's access (permissions) policy. The role's trust policy is created at the same time as the role, using [CreateRole](https://docs.aws.amazon.com/IAM/latest/APIReference/API_CreateRole.html). You can update a role's trust policy using [UpdateAssumeRolePolicy](https://docs.aws.amazon.com/IAM/latest/APIReference/API_UpdateAssumeRolePolicy.html). For information about roles, see [roles](https://docs.aws.amazon.com/IAM/latest/UserGuide/roles-toplevel.html) in the *IAM User Guide*.\n A role can also have a managed policy attached to it. To attach a managed policy to a role, use [AWS::IAM::Role](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-role.html). To create a new managed policy, use [AWS::IAM::ManagedPolicy](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-managedpolicy.html). For information about policies, see [Managed policies and inline policies](https://docs.aws.amazon.com/IAM/latest/UserGuide/policies-managed-vs-inline.html) in the *IAM User Guide*.\n For information about the maximum number of inline policies that you can embed with a role, see [IAM and quotas](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_iam-quotas.html) in the *IAM User Guide*. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-rolepolicy.html)", + "markdownDescription": "Resource Type definition for AWS::SSM::MaintenanceWindowTarget \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-maintenancewindowtarget.html)", "allOf": [ { "type": "object", @@ -34583,14 +34546,14 @@ "Type": { "type": "string", "enum": [ - "AWS::IAM::RolePolicy" + "AWS::SSM::MaintenanceWindowTarget" ], "markdownEnumDescriptions": [ - "Adds or updates an inline policy document that is embedded in the specified IAM role.\n When you embed an inline policy in a role, the inline policy is used as part of the role's access (permissions) policy. The role's trust policy is created at the same time as the role, using [CreateRole](https://docs.aws.amazon.com/IAM/latest/APIReference/API_CreateRole.html). You can update a role's trust policy using [UpdateAssumeRolePolicy](https://docs.aws.amazon.com/IAM/latest/APIReference/API_UpdateAssumeRolePolicy.html). For information about roles, see [roles](https://docs.aws.amazon.com/IAM/latest/UserGuide/roles-toplevel.html) in the *IAM User Guide*.\n A role can also have a managed policy attached to it. To attach a managed policy to a role, use [AWS::IAM::Role](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-role.html). To create a new managed policy, use [AWS::IAM::ManagedPolicy](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-managedpolicy.html). For information about policies, see [Managed policies and inline policies](https://docs.aws.amazon.com/IAM/latest/UserGuide/policies-managed-vs-inline.html) in the *IAM User Guide*.\n For information about the maximum number of inline policies that you can embed with a role, see [IAM and quotas](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_iam-quotas.html) in the *IAM User Guide*. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-rolepolicy.html)" + "Resource Type definition for AWS::SSM::MaintenanceWindowTarget \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-maintenancewindowtarget.html)" ] }, "Properties": { - "$ref": "resources/aws-iam-rolepolicy.json" + "$ref": "resources/aws-ssm-maintenancewindowtarget.json" } }, "required": [ @@ -34604,9 +34567,9 @@ ], "additionalProperties": false }, - "AWS_MemoryDB_ACL": { + "AWS_SageMaker_NotebookInstanceLifecycleConfig": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::MemoryDB::ACL \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-memorydb-acl.html)", + "markdownDescription": "Resource Type definition for AWS::SageMaker::NotebookInstanceLifecycleConfig \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-notebookinstancelifecycleconfig.html)", "allOf": [ { "type": "object", @@ -34614,19 +34577,18 @@ "Type": { "type": "string", "enum": [ - "AWS::MemoryDB::ACL" + "AWS::SageMaker::NotebookInstanceLifecycleConfig" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::MemoryDB::ACL \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-memorydb-acl.html)" + "Resource Type definition for AWS::SageMaker::NotebookInstanceLifecycleConfig \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-notebookinstancelifecycleconfig.html)" ] }, "Properties": { - "$ref": "resources/aws-memorydb-acl.json" + "$ref": "resources/aws-sagemaker-notebookinstancelifecycleconfig.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -34635,9 +34597,9 @@ ], "additionalProperties": false }, - "AWS_AppSync_GraphQLApi": { + "AWS_Greengrass_DeviceDefinition": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::AppSync::GraphQLApi \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-graphqlapi.html)", + "markdownDescription": "Resource Type definition for AWS::Greengrass::DeviceDefinition \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-devicedefinition.html)", "allOf": [ { "type": "object", @@ -34645,14 +34607,14 @@ "Type": { "type": "string", "enum": [ - "AWS::AppSync::GraphQLApi" + "AWS::Greengrass::DeviceDefinition" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::AppSync::GraphQLApi \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-graphqlapi.html)" + "Resource Type definition for AWS::Greengrass::DeviceDefinition \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-devicedefinition.html)" ] }, "Properties": { - "$ref": "resources/aws-appsync-graphqlapi.json" + "$ref": "resources/aws-greengrass-devicedefinition.json" } }, "required": [ @@ -34666,9 +34628,9 @@ ], "additionalProperties": false }, - "AWS_IoT_Policy": { + "AWS_RDS_DBSubnetGroup": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::IoT::Policy \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-policy.html)", + "markdownDescription": "The ``AWS::RDS::DBSubnetGroup`` resource creates a database subnet group. Subnet groups must contain at least two subnets in two different Availability Zones in the same region. \n For more information, see [Working with DB subnet groups](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_VPC.WorkingWithRDSInstanceinaVPC.html#USER_VPC.Subnets) in the *Amazon RDS User Guide*. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbsubnetgroup.html)", "allOf": [ { "type": "object", @@ -34676,14 +34638,14 @@ "Type": { "type": "string", "enum": [ - "AWS::IoT::Policy" + "AWS::RDS::DBSubnetGroup" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::IoT::Policy \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-policy.html)" + "The ``AWS::RDS::DBSubnetGroup`` resource creates a database subnet group. Subnet groups must contain at least two subnets in two different Availability Zones in the same region. \n For more information, see [Working with DB subnet groups](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_VPC.WorkingWithRDSInstanceinaVPC.html#USER_VPC.Subnets) in the *Amazon RDS User Guide*. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbsubnetgroup.html)" ] }, "Properties": { - "$ref": "resources/aws-iot-policy.json" + "$ref": "resources/aws-rds-dbsubnetgroup.json" } }, "required": [ @@ -34697,9 +34659,9 @@ ], "additionalProperties": false }, - "AWS_EKS_Cluster": { + "AWS_EC2_LocalGatewayRouteTable": { "type": "object", - "markdownDescription": "An object representing an Amazon EKS cluster. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-eks-cluster.html)", + "markdownDescription": "Describes a route table for a local gateway. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-localgatewayroutetable.html)", "allOf": [ { "type": "object", @@ -34707,14 +34669,14 @@ "Type": { "type": "string", "enum": [ - "AWS::EKS::Cluster" + "AWS::EC2::LocalGatewayRouteTable" ], "markdownEnumDescriptions": [ - "An object representing an Amazon EKS cluster. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-eks-cluster.html)" + "Describes a route table for a local gateway. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-localgatewayroutetable.html)" ] }, "Properties": { - "$ref": "resources/aws-eks-cluster.json" + "$ref": "resources/aws-ec2-localgatewayroutetable.json" } }, "required": [ @@ -34728,9 +34690,9 @@ ], "additionalProperties": false }, - "AWS_XRay_ResourcePolicy": { + "AWS_SSO_ApplicationAssignment": { "type": "object", - "markdownDescription": "This schema provides construct and validation rules for AWS-XRay Resource Policy resource parameters. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-xray-resourcepolicy.html)", + "markdownDescription": "Resource Type definition for SSO application access grant to a user or group. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sso-applicationassignment.html)", "allOf": [ { "type": "object", @@ -34738,14 +34700,14 @@ "Type": { "type": "string", "enum": [ - "AWS::XRay::ResourcePolicy" + "AWS::SSO::ApplicationAssignment" ], "markdownEnumDescriptions": [ - "This schema provides construct and validation rules for AWS-XRay Resource Policy resource parameters. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-xray-resourcepolicy.html)" + "Resource Type definition for SSO application access grant to a user or group. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sso-applicationassignment.html)" ] }, "Properties": { - "$ref": "resources/aws-xray-resourcepolicy.json" + "$ref": "resources/aws-sso-applicationassignment.json" } }, "required": [ @@ -34759,9 +34721,9 @@ ], "additionalProperties": false }, - "AWS_Backup_RestoreTestingSelection": { + "AWS_Location_GeofenceCollection": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::Backup::RestoreTestingSelection \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-backup-restoretestingselection.html)", + "markdownDescription": "Definition of AWS::Location::GeofenceCollection Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-location-geofencecollection.html)", "allOf": [ { "type": "object", @@ -34769,14 +34731,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Backup::RestoreTestingSelection" + "AWS::Location::GeofenceCollection" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::Backup::RestoreTestingSelection \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-backup-restoretestingselection.html)" + "Definition of AWS::Location::GeofenceCollection Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-location-geofencecollection.html)" ] }, "Properties": { - "$ref": "resources/aws-backup-restoretestingselection.json" + "$ref": "resources/aws-location-geofencecollection.json" } }, "required": [ @@ -34790,9 +34752,9 @@ ], "additionalProperties": false }, - "AWS_Lambda_Function": { + "AWS_EC2_TransitGatewayMulticastDomainAssociation": { "type": "object", - "markdownDescription": "The ``AWS::Lambda::Function`` resource creates a Lambda function. To create a function, you need a [deployment package](https://docs.aws.amazon.com/lambda/latest/dg/gettingstarted-package.html) and an [execution role](https://docs.aws.amazon.com/lambda/latest/dg/lambda-intro-execution-role.html). The deployment package is a .zip file archive or container image that contains your function code. The execution role grants the function permission to use AWS services, such as Amazon CloudWatch Logs for log streaming and AWS X-Ray for request tracing.\n You set the package type to ``Image`` if the deployment package is a [container image](https://docs.aws.amazon.com/lambda/latest/dg/lambda-images.html). For a container image, the code property must include the URI of a container image in the Amazon ECR registry. You do not need to specify the handler and runtime properties. \n You set the package type to ``Zip`` if the deployment package is a [.zip file archive](https://docs.aws.amazon.com/lambda/latest/dg/gettingstarted-package.html#gettingstarted-package-zip). For a .zip file archive, the code property specifies the location of the .zip file. You must also specify the handler and runtime properties. For a Python example, see [Deploy Python Lambda functions with .zip file archives](https://docs.aws.amazon.com/lambda/latest/dg/python-package.html).\n You can use [code signing](https://docs.aws.amazon.com/lambda/latest/dg/configuration-codesigning.html) if your deployment package is a .zip file archive. To enable code signing for this function, specify the ARN of a code-signing configuration. When a user attempts to deploy a code package with ``UpdateFunctionCode``, Lambda checks that the code package has a valid signature from a trusted publisher. The code-signing configuration includes a set of signing profiles, which define the trusted publishers for this function.\n Note that you configure [provisioned concurrency](https://docs.aws.amazon.com/lambda/latest/dg/provisioned-concurrency.html) on a ``AWS::Lambda::Version`` or a ``AWS::Lambda::Alias``.\n For a complete introduction to Lambda functions, see [What is Lambda?](https://docs.aws.amazon.com/lambda/latest/dg/lambda-welcome.html) in the *Lambda developer guide.* \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-function.html)", + "markdownDescription": "The AWS::EC2::TransitGatewayMulticastDomainAssociation type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-transitgatewaymulticastdomainassociation.html)", "allOf": [ { "type": "object", @@ -34800,14 +34762,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Lambda::Function" + "AWS::EC2::TransitGatewayMulticastDomainAssociation" ], "markdownEnumDescriptions": [ - "The ``AWS::Lambda::Function`` resource creates a Lambda function. To create a function, you need a [deployment package](https://docs.aws.amazon.com/lambda/latest/dg/gettingstarted-package.html) and an [execution role](https://docs.aws.amazon.com/lambda/latest/dg/lambda-intro-execution-role.html). The deployment package is a .zip file archive or container image that contains your function code. The execution role grants the function permission to use AWS services, such as Amazon CloudWatch Logs for log streaming and AWS X-Ray for request tracing.\n You set the package type to ``Image`` if the deployment package is a [container image](https://docs.aws.amazon.com/lambda/latest/dg/lambda-images.html). For a container image, the code property must include the URI of a container image in the Amazon ECR registry. You do not need to specify the handler and runtime properties. \n You set the package type to ``Zip`` if the deployment package is a [.zip file archive](https://docs.aws.amazon.com/lambda/latest/dg/gettingstarted-package.html#gettingstarted-package-zip). For a .zip file archive, the code property specifies the location of the .zip file. You must also specify the handler and runtime properties. For a Python example, see [Deploy Python Lambda functions with .zip file archives](https://docs.aws.amazon.com/lambda/latest/dg/python-package.html).\n You can use [code signing](https://docs.aws.amazon.com/lambda/latest/dg/configuration-codesigning.html) if your deployment package is a .zip file archive. To enable code signing for this function, specify the ARN of a code-signing configuration. When a user attempts to deploy a code package with ``UpdateFunctionCode``, Lambda checks that the code package has a valid signature from a trusted publisher. The code-signing configuration includes a set of signing profiles, which define the trusted publishers for this function.\n Note that you configure [provisioned concurrency](https://docs.aws.amazon.com/lambda/latest/dg/provisioned-concurrency.html) on a ``AWS::Lambda::Version`` or a ``AWS::Lambda::Alias``.\n For a complete introduction to Lambda functions, see [What is Lambda?](https://docs.aws.amazon.com/lambda/latest/dg/lambda-welcome.html) in the *Lambda developer guide.* \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-function.html)" + "The AWS::EC2::TransitGatewayMulticastDomainAssociation type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-transitgatewaymulticastdomainassociation.html)" ] }, "Properties": { - "$ref": "resources/aws-lambda-function.json" + "$ref": "resources/aws-ec2-transitgatewaymulticastdomainassociation.json" } }, "required": [ @@ -34821,9 +34783,9 @@ ], "additionalProperties": false }, - "AWS_CE_AnomalySubscription": { + "AWS_DocDB_DBCluster": { "type": "object", - "markdownDescription": "AWS Cost Anomaly Detection leverages advanced Machine Learning technologies to identify anomalous spend and root causes, so you can quickly take action. Create subscription to be notified \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ce-anomalysubscription.html)", + "markdownDescription": "Resource Type definition for AWS::DocDB::DBCluster \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-docdb-dbcluster.html)", "allOf": [ { "type": "object", @@ -34831,19 +34793,18 @@ "Type": { "type": "string", "enum": [ - "AWS::CE::AnomalySubscription" + "AWS::DocDB::DBCluster" ], "markdownEnumDescriptions": [ - "AWS Cost Anomaly Detection leverages advanced Machine Learning technologies to identify anomalous spend and root causes, so you can quickly take action. Create subscription to be notified \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ce-anomalysubscription.html)" + "Resource Type definition for AWS::DocDB::DBCluster \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-docdb-dbcluster.html)" ] }, "Properties": { - "$ref": "resources/aws-ce-anomalysubscription.json" + "$ref": "resources/aws-docdb-dbcluster.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -34852,9 +34813,9 @@ ], "additionalProperties": false }, - "AWS_KMS_Alias": { + "AWS_Bedrock_GuardrailVersion": { "type": "object", - "markdownDescription": "The ``AWS::KMS::Alias`` resource specifies a display name for a [KMS key](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#kms_keys). You can use an alias to identify a KMS key in the KMS console, in the [DescribeKey](https://docs.aws.amazon.com/kms/latest/APIReference/API_DescribeKey.html) operation, and in [cryptographic operations](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#cryptographic-operations), such as [Decrypt](https://docs.aws.amazon.com/kms/latest/APIReference/API_Decrypt.html) and [GenerateDataKey](https://docs.aws.amazon.com/kms/latest/APIReference/API_GenerateDataKey.html).\n Adding, deleting, or updating an alias can allow or deny permission to the KMS key. For details, see [ABAC for](https://docs.aws.amazon.com/kms/latest/developerguide/abac.html) in the *Developer Guide*.\n Using an alias to refer to a KMS key can help you simplify key management. For example, an alias in your code can be associated with different KMS keys in different AWS-Regions. For more information, see [Using aliases](https://docs.aws.amazon.com/kms/latest/developerguide/kms-alias.html) in the *Developer Guide*.\n When specifying an alias, observe the following rules.\n + Each alias is associated with one KMS key, but multiple aliases can be associated with the same KMS key.\n + The alias and its associated KMS key must be in the same AWS-account and Region.\n + The alias name must be unique in the AWS-account and Region. However, you can create aliases with the same name in different AWS-Regions. For example, you can have an ``alias/projectKey`` in multiple Regions, each of which is associated with a KMS key in its Region.\n + Each alias name must begin with ``alias/`` followed by a name, such as ``alias/exampleKey``. The alias name can contain only alphanumeric characters, forward slashes (/), underscores (_), and dashes (-). Alias names cannot begin with ``alias/aws/``. That alias name prefix is reserved for [](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#aws-managed-cmk).\n \n *Regions* \n KMS CloudFormation resources are available in all AWS-Regions in which KMS and CFN are supported. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kms-alias.html)", + "markdownDescription": "Definition of AWS::Bedrock::GuardrailVersion Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-bedrock-guardrailversion.html)", "allOf": [ { "type": "object", @@ -34862,14 +34823,14 @@ "Type": { "type": "string", "enum": [ - "AWS::KMS::Alias" + "AWS::Bedrock::GuardrailVersion" ], "markdownEnumDescriptions": [ - "The ``AWS::KMS::Alias`` resource specifies a display name for a [KMS key](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#kms_keys). You can use an alias to identify a KMS key in the KMS console, in the [DescribeKey](https://docs.aws.amazon.com/kms/latest/APIReference/API_DescribeKey.html) operation, and in [cryptographic operations](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#cryptographic-operations), such as [Decrypt](https://docs.aws.amazon.com/kms/latest/APIReference/API_Decrypt.html) and [GenerateDataKey](https://docs.aws.amazon.com/kms/latest/APIReference/API_GenerateDataKey.html).\n Adding, deleting, or updating an alias can allow or deny permission to the KMS key. For details, see [ABAC for](https://docs.aws.amazon.com/kms/latest/developerguide/abac.html) in the *Developer Guide*.\n Using an alias to refer to a KMS key can help you simplify key management. For example, an alias in your code can be associated with different KMS keys in different AWS-Regions. For more information, see [Using aliases](https://docs.aws.amazon.com/kms/latest/developerguide/kms-alias.html) in the *Developer Guide*.\n When specifying an alias, observe the following rules.\n + Each alias is associated with one KMS key, but multiple aliases can be associated with the same KMS key.\n + The alias and its associated KMS key must be in the same AWS-account and Region.\n + The alias name must be unique in the AWS-account and Region. However, you can create aliases with the same name in different AWS-Regions. For example, you can have an ``alias/projectKey`` in multiple Regions, each of which is associated with a KMS key in its Region.\n + Each alias name must begin with ``alias/`` followed by a name, such as ``alias/exampleKey``. The alias name can contain only alphanumeric characters, forward slashes (/), underscores (_), and dashes (-). Alias names cannot begin with ``alias/aws/``. That alias name prefix is reserved for [](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#aws-managed-cmk).\n \n *Regions* \n KMS CloudFormation resources are available in all AWS-Regions in which KMS and CFN are supported. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kms-alias.html)" + "Definition of AWS::Bedrock::GuardrailVersion Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-bedrock-guardrailversion.html)" ] }, "Properties": { - "$ref": "resources/aws-kms-alias.json" + "$ref": "resources/aws-bedrock-guardrailversion.json" } }, "required": [ @@ -34883,9 +34844,9 @@ ], "additionalProperties": false }, - "AWS_EC2_NetworkAclEntry": { + "AWS_Kendra_Index": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::EC2::NetworkAclEntry \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-networkaclentry.html)", + "markdownDescription": "A Kendra index \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kendra-index.html)", "allOf": [ { "type": "object", @@ -34893,14 +34854,14 @@ "Type": { "type": "string", "enum": [ - "AWS::EC2::NetworkAclEntry" + "AWS::Kendra::Index" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::EC2::NetworkAclEntry \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-networkaclentry.html)" + "A Kendra index \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kendra-index.html)" ] }, "Properties": { - "$ref": "resources/aws-ec2-networkaclentry.json" + "$ref": "resources/aws-kendra-index.json" } }, "required": [ @@ -34914,9 +34875,9 @@ ], "additionalProperties": false }, - "AWS_ApiGatewayV2_RouteResponse": { + "AWS_NetworkManager_Device": { "type": "object", - "markdownDescription": "The ``AWS::ApiGatewayV2::RouteResponse`` resource creates a route response for a WebSocket API. For more information, see [Set up Route Responses for a WebSocket API in API Gateway](https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-websocket-api-route-response.html) in the *API Gateway Developer Guide*. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-routeresponse.html)", + "markdownDescription": "The AWS::NetworkManager::Device type describes a device. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkmanager-device.html)", "allOf": [ { "type": "object", @@ -34924,14 +34885,14 @@ "Type": { "type": "string", "enum": [ - "AWS::ApiGatewayV2::RouteResponse" + "AWS::NetworkManager::Device" ], "markdownEnumDescriptions": [ - "The ``AWS::ApiGatewayV2::RouteResponse`` resource creates a route response for a WebSocket API. For more information, see [Set up Route Responses for a WebSocket API in API Gateway](https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-websocket-api-route-response.html) in the *API Gateway Developer Guide*. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-routeresponse.html)" + "The AWS::NetworkManager::Device type describes a device. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkmanager-device.html)" ] }, "Properties": { - "$ref": "resources/aws-apigatewayv2-routeresponse.json" + "$ref": "resources/aws-networkmanager-device.json" } }, "required": [ @@ -34945,9 +34906,9 @@ ], "additionalProperties": false }, - "AWS_Lightsail_LoadBalancer": { + "AWS_SageMaker_Domain": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::Lightsail::LoadBalancer \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lightsail-loadbalancer.html)", + "markdownDescription": "Resource Type definition for AWS::SageMaker::Domain \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-domain.html)", "allOf": [ { "type": "object", @@ -34955,14 +34916,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Lightsail::LoadBalancer" + "AWS::SageMaker::Domain" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::Lightsail::LoadBalancer \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lightsail-loadbalancer.html)" + "Resource Type definition for AWS::SageMaker::Domain \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-domain.html)" ] }, "Properties": { - "$ref": "resources/aws-lightsail-loadbalancer.json" + "$ref": "resources/aws-sagemaker-domain.json" } }, "required": [ @@ -34976,9 +34937,9 @@ ], "additionalProperties": false }, - "AWS_EC2_RouteTable": { + "AWS_Evidently_Feature": { "type": "object", - "markdownDescription": "Specifies a route table for the specified VPC. After you create a route table, you can add routes and associate the table with a subnet.\n For more information, see [Route tables](https://docs.aws.amazon.com/vpc/latest/userguide/VPC_Route_Tables.html) in the *Amazon VPC User Guide*. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-routetable.html)", + "markdownDescription": "Resource Type definition for AWS::Evidently::Feature. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-evidently-feature.html)", "allOf": [ { "type": "object", @@ -34986,14 +34947,14 @@ "Type": { "type": "string", "enum": [ - "AWS::EC2::RouteTable" + "AWS::Evidently::Feature" ], "markdownEnumDescriptions": [ - "Specifies a route table for the specified VPC. After you create a route table, you can add routes and associate the table with a subnet.\n For more information, see [Route tables](https://docs.aws.amazon.com/vpc/latest/userguide/VPC_Route_Tables.html) in the *Amazon VPC User Guide*. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-routetable.html)" + "Resource Type definition for AWS::Evidently::Feature. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-evidently-feature.html)" ] }, "Properties": { - "$ref": "resources/aws-ec2-routetable.json" + "$ref": "resources/aws-evidently-feature.json" } }, "required": [ @@ -35007,9 +34968,9 @@ ], "additionalProperties": false }, - "AWS_ElastiCache_ReplicationGroup": { + "AWS_S3_StorageLens": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::ElastiCache::ReplicationGroup \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticache-replicationgroup.html)", + "markdownDescription": "The AWS::S3::StorageLens resource is an Amazon S3 resource type that you can use to create Storage Lens configurations. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-s3-storagelens.html)", "allOf": [ { "type": "object", @@ -35017,14 +34978,14 @@ "Type": { "type": "string", "enum": [ - "AWS::ElastiCache::ReplicationGroup" + "AWS::S3::StorageLens" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::ElastiCache::ReplicationGroup \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticache-replicationgroup.html)" + "The AWS::S3::StorageLens resource is an Amazon S3 resource type that you can use to create Storage Lens configurations. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-s3-storagelens.html)" ] }, "Properties": { - "$ref": "resources/aws-elasticache-replicationgroup.json" + "$ref": "resources/aws-s3-storagelens.json" } }, "required": [ @@ -35038,9 +34999,9 @@ ], "additionalProperties": false }, - "AWS_AppStream_AppBlockBuilder": { + "AWS_VpcLattice_TargetGroup": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::AppStream::AppBlockBuilder. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appstream-appblockbuilder.html)", + "markdownDescription": "A target group is a collection of targets, or compute resources, that run your application or service. A target group can only be used by a single service. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-vpclattice-targetgroup.html)", "allOf": [ { "type": "object", @@ -35048,14 +35009,14 @@ "Type": { "type": "string", "enum": [ - "AWS::AppStream::AppBlockBuilder" + "AWS::VpcLattice::TargetGroup" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::AppStream::AppBlockBuilder. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appstream-appblockbuilder.html)" + "A target group is a collection of targets, or compute resources, that run your application or service. A target group can only be used by a single service. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-vpclattice-targetgroup.html)" ] }, "Properties": { - "$ref": "resources/aws-appstream-appblockbuilder.json" + "$ref": "resources/aws-vpclattice-targetgroup.json" } }, "required": [ @@ -35069,9 +35030,9 @@ ], "additionalProperties": false }, - "AWS_Synthetics_Group": { + "AWS_AppStream_User": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::Synthetics::Group \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-synthetics-group.html)", + "markdownDescription": "Resource Type definition for AWS::AppStream::User \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appstream-user.html)", "allOf": [ { "type": "object", @@ -35079,14 +35040,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Synthetics::Group" + "AWS::AppStream::User" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::Synthetics::Group \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-synthetics-group.html)" + "Resource Type definition for AWS::AppStream::User \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appstream-user.html)" ] }, "Properties": { - "$ref": "resources/aws-synthetics-group.json" + "$ref": "resources/aws-appstream-user.json" } }, "required": [ @@ -35100,9 +35061,9 @@ ], "additionalProperties": false }, - "AWS_S3_AccessGrantsInstance": { + "AWS_PCAConnectorAD_Template": { "type": "object", - "markdownDescription": "The AWS::S3::AccessGrantsInstance resource is an Amazon S3 resource type that hosts Access Grants and their associated locations \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-s3-accessgrantsinstance.html)", + "markdownDescription": "Represents a template that defines certificate configurations, both for issuance and client handling \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pcaconnectorad-template.html)", "allOf": [ { "type": "object", @@ -35110,18 +35071,19 @@ "Type": { "type": "string", "enum": [ - "AWS::S3::AccessGrantsInstance" + "AWS::PCAConnectorAD::Template" ], "markdownEnumDescriptions": [ - "The AWS::S3::AccessGrantsInstance resource is an Amazon S3 resource type that hosts Access Grants and their associated locations \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-s3-accessgrantsinstance.html)" + "Represents a template that defines certificate configurations, both for issuance and client handling \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pcaconnectorad-template.html)" ] }, "Properties": { - "$ref": "resources/aws-s3-accessgrantsinstance.json" + "$ref": "resources/aws-pcaconnectorad-template.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -35130,9 +35092,9 @@ ], "additionalProperties": false }, - "AWS_MediaPackage_OriginEndpoint": { + "AWS_Personalize_Dataset": { "type": "object", - "markdownDescription": "Resource schema for AWS::MediaPackage::OriginEndpoint \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediapackage-originendpoint.html)", + "markdownDescription": "Resource schema for AWS::Personalize::Dataset. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-personalize-dataset.html)", "allOf": [ { "type": "object", @@ -35140,14 +35102,14 @@ "Type": { "type": "string", "enum": [ - "AWS::MediaPackage::OriginEndpoint" + "AWS::Personalize::Dataset" ], "markdownEnumDescriptions": [ - "Resource schema for AWS::MediaPackage::OriginEndpoint \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediapackage-originendpoint.html)" + "Resource schema for AWS::Personalize::Dataset. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-personalize-dataset.html)" ] }, "Properties": { - "$ref": "resources/aws-mediapackage-originendpoint.json" + "$ref": "resources/aws-personalize-dataset.json" } }, "required": [ @@ -35161,9 +35123,9 @@ ], "additionalProperties": false }, - "AWS_FinSpace_Environment": { + "AWS_IAM_Policy": { "type": "object", - "markdownDescription": "An example resource schema demonstrating some basic constructs and validation rules. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-finspace-environment.html)", + "markdownDescription": "Adds or updates an inline policy document that is embedded in the specified IAM group, user or role.\n An IAM user can also have a managed policy attached to it. For information about policies, see [Managed Policies and Inline Policies](https://docs.aws.amazon.com/IAM/latest/UserGuide/policies-managed-vs-inline.html) in the *User Guide*.\n The Groups, Roles, and Users properties are optional. However, you must specify at least one of these properties.\n For information about policy documents see [Creating policies](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_create.html) in the *User Guide*.\n For information about limits on the number of inline policies that you can embed in an identity, see [Limitations on Entities](https://docs.aws.amazon.com/IAM/latest/UserGuide/LimitationsOnEntities.html) in the *User Guide*.\n This resource does not support [drift detection](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-stack-drift.html). The following inline policy resource types support drift detection:\n + [AWS::IAM::GroupPolicy](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-grouppolicy.html) \n + [AWS::IAM::RolePolicy](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-rolepolicy.html) \n + [AWS::IAM::UserPolicy](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-userpolicy.html) \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-policy.html)", "allOf": [ { "type": "object", @@ -35171,14 +35133,14 @@ "Type": { "type": "string", "enum": [ - "AWS::FinSpace::Environment" + "AWS::IAM::Policy" ], "markdownEnumDescriptions": [ - "An example resource schema demonstrating some basic constructs and validation rules. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-finspace-environment.html)" + "Adds or updates an inline policy document that is embedded in the specified IAM group, user or role.\n An IAM user can also have a managed policy attached to it. For information about policies, see [Managed Policies and Inline Policies](https://docs.aws.amazon.com/IAM/latest/UserGuide/policies-managed-vs-inline.html) in the *User Guide*.\n The Groups, Roles, and Users properties are optional. However, you must specify at least one of these properties.\n For information about policy documents see [Creating policies](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_create.html) in the *User Guide*.\n For information about limits on the number of inline policies that you can embed in an identity, see [Limitations on Entities](https://docs.aws.amazon.com/IAM/latest/UserGuide/LimitationsOnEntities.html) in the *User Guide*.\n This resource does not support [drift detection](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-stack-drift.html). The following inline policy resource types support drift detection:\n + [AWS::IAM::GroupPolicy](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-grouppolicy.html) \n + [AWS::IAM::RolePolicy](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-rolepolicy.html) \n + [AWS::IAM::UserPolicy](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-userpolicy.html) \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-policy.html)" ] }, "Properties": { - "$ref": "resources/aws-finspace-environment.json" + "$ref": "resources/aws-iam-policy.json" } }, "required": [ @@ -35192,9 +35154,9 @@ ], "additionalProperties": false }, - "AWS_WAFv2_IPSet": { + "AWS_Wisdom_AssistantAssociation": { "type": "object", - "markdownDescription": "Contains a list of IP addresses. This can be either IPV4 or IPV6. The list will be mutually \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-wafv2-ipset.html)", + "markdownDescription": "Definition of AWS::Wisdom::AssistantAssociation Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-wisdom-assistantassociation.html)", "allOf": [ { "type": "object", @@ -35202,14 +35164,14 @@ "Type": { "type": "string", "enum": [ - "AWS::WAFv2::IPSet" + "AWS::Wisdom::AssistantAssociation" ], "markdownEnumDescriptions": [ - "Contains a list of IP addresses. This can be either IPV4 or IPV6. The list will be mutually \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-wafv2-ipset.html)" + "Definition of AWS::Wisdom::AssistantAssociation Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-wisdom-assistantassociation.html)" ] }, "Properties": { - "$ref": "resources/aws-wafv2-ipset.json" + "$ref": "resources/aws-wisdom-assistantassociation.json" } }, "required": [ @@ -35223,9 +35185,9 @@ ], "additionalProperties": false }, - "AWS_Route53_RecordSetGroup": { + "AWS_Athena_CapacityReservation": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::Route53::RecordSetGroup \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53-recordsetgroup.html)", + "markdownDescription": "Resource schema for AWS::Athena::CapacityReservation \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-athena-capacityreservation.html)", "allOf": [ { "type": "object", @@ -35233,18 +35195,19 @@ "Type": { "type": "string", "enum": [ - "AWS::Route53::RecordSetGroup" + "AWS::Athena::CapacityReservation" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::Route53::RecordSetGroup \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53-recordsetgroup.html)" + "Resource schema for AWS::Athena::CapacityReservation \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-athena-capacityreservation.html)" ] }, "Properties": { - "$ref": "resources/aws-route53-recordsetgroup.json" + "$ref": "resources/aws-athena-capacityreservation.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -35253,9 +35216,9 @@ ], "additionalProperties": false }, - "AWS_EKS_Nodegroup": { + "AWS_PinpointEmail_DedicatedIpPool": { "type": "object", - "markdownDescription": "Resource schema for AWS::EKS::Nodegroup \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-eks-nodegroup.html)", + "markdownDescription": "Resource Type definition for AWS::PinpointEmail::DedicatedIpPool \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpointemail-dedicatedippool.html)", "allOf": [ { "type": "object", @@ -35263,19 +35226,18 @@ "Type": { "type": "string", "enum": [ - "AWS::EKS::Nodegroup" + "AWS::PinpointEmail::DedicatedIpPool" ], "markdownEnumDescriptions": [ - "Resource schema for AWS::EKS::Nodegroup \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-eks-nodegroup.html)" + "Resource Type definition for AWS::PinpointEmail::DedicatedIpPool \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpointemail-dedicatedippool.html)" ] }, "Properties": { - "$ref": "resources/aws-eks-nodegroup.json" + "$ref": "resources/aws-pinpointemail-dedicatedippool.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -35284,9 +35246,9 @@ ], "additionalProperties": false }, - "AWS_AmazonMQ_Broker": { + "AWS_AppSync_DomainNameApiAssociation": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::AmazonMQ::Broker \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-amazonmq-broker.html)", + "markdownDescription": "Resource Type definition for AWS::AppSync::DomainNameApiAssociation \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-domainnameapiassociation.html)", "allOf": [ { "type": "object", @@ -35294,14 +35256,14 @@ "Type": { "type": "string", "enum": [ - "AWS::AmazonMQ::Broker" + "AWS::AppSync::DomainNameApiAssociation" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::AmazonMQ::Broker \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-amazonmq-broker.html)" + "Resource Type definition for AWS::AppSync::DomainNameApiAssociation \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-domainnameapiassociation.html)" ] }, "Properties": { - "$ref": "resources/aws-amazonmq-broker.json" + "$ref": "resources/aws-appsync-domainnameapiassociation.json" } }, "required": [ @@ -35315,9 +35277,9 @@ ], "additionalProperties": false }, - "AWS_IAM_ServiceLinkedRole": { + "AWS_Route53Resolver_ResolverRuleAssociation": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::IAM::ServiceLinkedRole \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-servicelinkedrole.html)", + "markdownDescription": "In the response to an [AssociateResolverRule](https://docs.aws.amazon.com/Route53/latest/APIReference/API_route53resolver_AssociateResolverRule.html), [DisassociateResolverRule](https://docs.aws.amazon.com/Route53/latest/APIReference/API_route53resolver_DisassociateResolverRule.html), or [ListResolverRuleAssociations](https://docs.aws.amazon.com/Route53/latest/APIReference/API_route53resolver_ListResolverRuleAssociations.html) request, provides information about an association between a resolver rule and a VPC. The association determines which DNS queries that originate in the VPC are forwarded to your network. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53resolver-resolverruleassociation.html)", "allOf": [ { "type": "object", @@ -35325,18 +35287,19 @@ "Type": { "type": "string", "enum": [ - "AWS::IAM::ServiceLinkedRole" + "AWS::Route53Resolver::ResolverRuleAssociation" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::IAM::ServiceLinkedRole \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-servicelinkedrole.html)" + "In the response to an [AssociateResolverRule](https://docs.aws.amazon.com/Route53/latest/APIReference/API_route53resolver_AssociateResolverRule.html), [DisassociateResolverRule](https://docs.aws.amazon.com/Route53/latest/APIReference/API_route53resolver_DisassociateResolverRule.html), or [ListResolverRuleAssociations](https://docs.aws.amazon.com/Route53/latest/APIReference/API_route53resolver_ListResolverRuleAssociations.html) request, provides information about an association between a resolver rule and a VPC. The association determines which DNS queries that originate in the VPC are forwarded to your network. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53resolver-resolverruleassociation.html)" ] }, "Properties": { - "$ref": "resources/aws-iam-servicelinkedrole.json" + "$ref": "resources/aws-route53resolver-resolverruleassociation.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -35345,9 +35308,9 @@ ], "additionalProperties": false }, - "AWS_DataZone_EnvironmentActions": { + "AWS_AppConfig_Deployment": { "type": "object", - "markdownDescription": "Definition of AWS::DataZone::EnvironmentActions Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datazone-environmentactions.html)", + "markdownDescription": "Resource Type definition for AWS::AppConfig::Deployment \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appconfig-deployment.html)", "allOf": [ { "type": "object", @@ -35355,14 +35318,14 @@ "Type": { "type": "string", "enum": [ - "AWS::DataZone::EnvironmentActions" + "AWS::AppConfig::Deployment" ], "markdownEnumDescriptions": [ - "Definition of AWS::DataZone::EnvironmentActions Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datazone-environmentactions.html)" + "Resource Type definition for AWS::AppConfig::Deployment \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appconfig-deployment.html)" ] }, "Properties": { - "$ref": "resources/aws-datazone-environmentactions.json" + "$ref": "resources/aws-appconfig-deployment.json" } }, "required": [ @@ -35376,9 +35339,9 @@ ], "additionalProperties": false }, - "AWS_Greengrass_ConnectorDefinition": { + "AWS_QBusiness_Plugin": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::Greengrass::ConnectorDefinition \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-connectordefinition.html)", + "markdownDescription": "Definition of AWS::QBusiness::Plugin Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-qbusiness-plugin.html)", "allOf": [ { "type": "object", @@ -35386,14 +35349,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Greengrass::ConnectorDefinition" + "AWS::QBusiness::Plugin" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::Greengrass::ConnectorDefinition \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-connectordefinition.html)" + "Definition of AWS::QBusiness::Plugin Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-qbusiness-plugin.html)" ] }, "Properties": { - "$ref": "resources/aws-greengrass-connectordefinition.json" + "$ref": "resources/aws-qbusiness-plugin.json" } }, "required": [ @@ -35407,9 +35370,9 @@ ], "additionalProperties": false }, - "AWS_EC2_EgressOnlyInternetGateway": { + "AWS_EC2_SecurityGroup": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::EC2::EgressOnlyInternetGateway \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-egressonlyinternetgateway.html)", + "markdownDescription": "Resource Type definition for AWS::EC2::SecurityGroup \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-securitygroup.html)", "allOf": [ { "type": "object", @@ -35417,14 +35380,14 @@ "Type": { "type": "string", "enum": [ - "AWS::EC2::EgressOnlyInternetGateway" + "AWS::EC2::SecurityGroup" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::EC2::EgressOnlyInternetGateway \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-egressonlyinternetgateway.html)" + "Resource Type definition for AWS::EC2::SecurityGroup \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-securitygroup.html)" ] }, "Properties": { - "$ref": "resources/aws-ec2-egressonlyinternetgateway.json" + "$ref": "resources/aws-ec2-securitygroup.json" } }, "required": [ @@ -35438,9 +35401,9 @@ ], "additionalProperties": false }, - "AWS_EntityResolution_MatchingWorkflow": { + "AWS_VerifiedPermissions_Policy": { "type": "object", - "markdownDescription": "MatchingWorkflow defined in AWS Entity Resolution service \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-entityresolution-matchingworkflow.html)", + "markdownDescription": "Definition of AWS::VerifiedPermissions::Policy Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-verifiedpermissions-policy.html)", "allOf": [ { "type": "object", @@ -35448,14 +35411,14 @@ "Type": { "type": "string", "enum": [ - "AWS::EntityResolution::MatchingWorkflow" + "AWS::VerifiedPermissions::Policy" ], "markdownEnumDescriptions": [ - "MatchingWorkflow defined in AWS Entity Resolution service \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-entityresolution-matchingworkflow.html)" + "Definition of AWS::VerifiedPermissions::Policy Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-verifiedpermissions-policy.html)" ] }, "Properties": { - "$ref": "resources/aws-entityresolution-matchingworkflow.json" + "$ref": "resources/aws-verifiedpermissions-policy.json" } }, "required": [ @@ -35469,9 +35432,9 @@ ], "additionalProperties": false }, - "AWS_LicenseManager_License": { + "AWS_SageMaker_DeviceFleet": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::LicenseManager::License \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-licensemanager-license.html)", + "markdownDescription": "Resource schema for AWS::SageMaker::DeviceFleet \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-devicefleet.html)", "allOf": [ { "type": "object", @@ -35479,14 +35442,14 @@ "Type": { "type": "string", "enum": [ - "AWS::LicenseManager::License" + "AWS::SageMaker::DeviceFleet" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::LicenseManager::License \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-licensemanager-license.html)" + "Resource schema for AWS::SageMaker::DeviceFleet \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-devicefleet.html)" ] }, "Properties": { - "$ref": "resources/aws-licensemanager-license.json" + "$ref": "resources/aws-sagemaker-devicefleet.json" } }, "required": [ @@ -35500,9 +35463,9 @@ ], "additionalProperties": false }, - "AWS_SageMaker_Space": { + "AWS_MediaConnect_BridgeSource": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::SageMaker::Space \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-space.html)", + "markdownDescription": "Resource schema for AWS::MediaConnect::BridgeSource \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediaconnect-bridgesource.html)", "allOf": [ { "type": "object", @@ -35510,14 +35473,14 @@ "Type": { "type": "string", "enum": [ - "AWS::SageMaker::Space" + "AWS::MediaConnect::BridgeSource" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::SageMaker::Space \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-space.html)" + "Resource schema for AWS::MediaConnect::BridgeSource \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediaconnect-bridgesource.html)" ] }, "Properties": { - "$ref": "resources/aws-sagemaker-space.json" + "$ref": "resources/aws-mediaconnect-bridgesource.json" } }, "required": [ @@ -35531,9 +35494,9 @@ ], "additionalProperties": false }, - "AWS_IoTFleetWise_DecoderManifest": { + "AWS_Lambda_Version": { "type": "object", - "markdownDescription": "Definition of AWS::IoTFleetWise::DecoderManifest Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotfleetwise-decodermanifest.html)", + "markdownDescription": "Resource Type definition for AWS::Lambda::Version \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-version.html)", "allOf": [ { "type": "object", @@ -35541,14 +35504,14 @@ "Type": { "type": "string", "enum": [ - "AWS::IoTFleetWise::DecoderManifest" + "AWS::Lambda::Version" ], "markdownEnumDescriptions": [ - "Definition of AWS::IoTFleetWise::DecoderManifest Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotfleetwise-decodermanifest.html)" + "Resource Type definition for AWS::Lambda::Version \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-version.html)" ] }, "Properties": { - "$ref": "resources/aws-iotfleetwise-decodermanifest.json" + "$ref": "resources/aws-lambda-version.json" } }, "required": [ @@ -35562,9 +35525,9 @@ ], "additionalProperties": false }, - "AWS_RDS_DBInstance": { + "AWS_IAM_ServiceLinkedRole": { "type": "object", - "markdownDescription": "The ``AWS::RDS::DBInstance`` resource creates an Amazon DB instance. The new DB instance can be an RDS DB instance, or it can be a DB instance in an Aurora DB cluster.\n For more information about creating an RDS DB instance, see [Creating an Amazon RDS DB instance](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_CreateDBInstance.html) in the *Amazon RDS User Guide*.\n For more information about creating a DB instance in an Aurora DB cluster, see [Creating an Amazon Aurora DB cluster](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/Aurora.CreateInstance.html) in the *Amazon Aurora User Guide*.\n If you import an existing DB instance, and the template configuration doesn't match the actual configuration of the DB instance, AWS CloudFormation applies the changes in the template during the import operation.\n If a DB instance is deleted or replaced during an update, AWS CloudFormation deletes all automated snapshots. However, it retains manual DB snapshots. During an update that requires replacement, you can apply a stack policy to prevent DB instances from being replaced. For more information, see [Prevent Updates to Stack Resources](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/protect-stack-resources.html).\n *Updating DB instances* \n When properties labeled \"*Update requires:* [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)\" are updated, AWS CloudFormation first creates a replacement DB instance, then changes references from other dependent resources to point to the replacement DB instance, and finally deletes the old DB instance.\n We highly recommend that you take a snapshot of the database before updating the stack. If you don't, you lose the data when AWS CloudFormation replaces your DB instance. To preserve your data, perform the following procedure:\n 1. Deactivate any applications that are using the DB instance so that there's no activity on the DB instance.\n 1. Create a snapshot of the DB instance. For more information, see [Creating a DB Snapshot](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_CreateSnapshot.html).\n 1. If you want to restore your instance using a DB snapshot, modify the updated template with your DB instance changes and add the ``DBSnapshotIdentifier`` property with the ID of the DB snapshot that you want to use.\n After you restore a DB instance with a ``DBSnapshotIdentifier`` property, you can delete the ``DBSnapshotIdentifier`` property. When you specify this property for an update, the DB instance is not restored from the DB snapshot again, and the data in the database is not changed. However, if you don't specify the ``DBSnapshotIdentifier`` property, an empty DB instance is created, and the original DB instance is deleted. If you specify a property that is different from the previous snapshot restore property, a new DB instance is restored from the specified ``DBSnapshotIdentifier`` property, and the original DB instance is deleted.\n 1. Update the stack.\n \n For more information about updating other properties of this resource, see ``ModifyDBInstance``. For more information about updating stacks, see [CloudFormation Stacks Updates](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks.html).\n *Deleting DB instances* \n For DB instances that are part of an Aurora DB cluster, you can set a deletion policy for your DB instance to control how AWS CloudFormation handles the DB instance when the stack is deleted. For Amazon RDS DB instances, you can choose to *retain* the DB instance, to *delete* the DB instance, or to *create a snapshot* of the DB instance. The default AWS CloudFormation behavior depends on the ``DBClusterIdentifier`` property:\n 1. For ``AWS::RDS::DBInstance`` resources that don't specify the ``DBClusterIdentifier`` property, AWS CloudFormation saves a snapshot of the DB instance.\n 1. For ``AWS::RDS::DBInstance`` resources that do specify the ``DBClusterIdentifier`` property, AWS CloudFormation deletes the DB instance.\n \n For more information, see [DeletionPolicy Attribute](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-deletionpolicy.html). \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbinstance.html)", + "markdownDescription": "Resource Type definition for AWS::IAM::ServiceLinkedRole \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-servicelinkedrole.html)", "allOf": [ { "type": "object", @@ -35572,14 +35535,14 @@ "Type": { "type": "string", "enum": [ - "AWS::RDS::DBInstance" + "AWS::IAM::ServiceLinkedRole" ], "markdownEnumDescriptions": [ - "The ``AWS::RDS::DBInstance`` resource creates an Amazon DB instance. The new DB instance can be an RDS DB instance, or it can be a DB instance in an Aurora DB cluster.\n For more information about creating an RDS DB instance, see [Creating an Amazon RDS DB instance](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_CreateDBInstance.html) in the *Amazon RDS User Guide*.\n For more information about creating a DB instance in an Aurora DB cluster, see [Creating an Amazon Aurora DB cluster](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/Aurora.CreateInstance.html) in the *Amazon Aurora User Guide*.\n If you import an existing DB instance, and the template configuration doesn't match the actual configuration of the DB instance, AWS CloudFormation applies the changes in the template during the import operation.\n If a DB instance is deleted or replaced during an update, AWS CloudFormation deletes all automated snapshots. However, it retains manual DB snapshots. During an update that requires replacement, you can apply a stack policy to prevent DB instances from being replaced. For more information, see [Prevent Updates to Stack Resources](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/protect-stack-resources.html).\n *Updating DB instances* \n When properties labeled \"*Update requires:* [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)\" are updated, AWS CloudFormation first creates a replacement DB instance, then changes references from other dependent resources to point to the replacement DB instance, and finally deletes the old DB instance.\n We highly recommend that you take a snapshot of the database before updating the stack. If you don't, you lose the data when AWS CloudFormation replaces your DB instance. To preserve your data, perform the following procedure:\n 1. Deactivate any applications that are using the DB instance so that there's no activity on the DB instance.\n 1. Create a snapshot of the DB instance. For more information, see [Creating a DB Snapshot](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_CreateSnapshot.html).\n 1. If you want to restore your instance using a DB snapshot, modify the updated template with your DB instance changes and add the ``DBSnapshotIdentifier`` property with the ID of the DB snapshot that you want to use.\n After you restore a DB instance with a ``DBSnapshotIdentifier`` property, you can delete the ``DBSnapshotIdentifier`` property. When you specify this property for an update, the DB instance is not restored from the DB snapshot again, and the data in the database is not changed. However, if you don't specify the ``DBSnapshotIdentifier`` property, an empty DB instance is created, and the original DB instance is deleted. If you specify a property that is different from the previous snapshot restore property, a new DB instance is restored from the specified ``DBSnapshotIdentifier`` property, and the original DB instance is deleted.\n 1. Update the stack.\n \n For more information about updating other properties of this resource, see ``ModifyDBInstance``. For more information about updating stacks, see [CloudFormation Stacks Updates](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks.html).\n *Deleting DB instances* \n For DB instances that are part of an Aurora DB cluster, you can set a deletion policy for your DB instance to control how AWS CloudFormation handles the DB instance when the stack is deleted. For Amazon RDS DB instances, you can choose to *retain* the DB instance, to *delete* the DB instance, or to *create a snapshot* of the DB instance. The default AWS CloudFormation behavior depends on the ``DBClusterIdentifier`` property:\n 1. For ``AWS::RDS::DBInstance`` resources that don't specify the ``DBClusterIdentifier`` property, AWS CloudFormation saves a snapshot of the DB instance.\n 1. For ``AWS::RDS::DBInstance`` resources that do specify the ``DBClusterIdentifier`` property, AWS CloudFormation deletes the DB instance.\n \n For more information, see [DeletionPolicy Attribute](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-deletionpolicy.html). \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbinstance.html)" + "Resource Type definition for AWS::IAM::ServiceLinkedRole \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-servicelinkedrole.html)" ] }, "Properties": { - "$ref": "resources/aws-rds-dbinstance.json" + "$ref": "resources/aws-iam-servicelinkedrole.json" } }, "required": [ @@ -35592,9 +35555,9 @@ ], "additionalProperties": false }, - "AWS_NetworkManager_VpcAttachment": { + "AWS_IoT_RoleAlias": { "type": "object", - "markdownDescription": "AWS::NetworkManager::VpcAttachment Resoruce Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkmanager-vpcattachment.html)", + "markdownDescription": "Use the AWS::IoT::RoleAlias resource to declare an AWS IoT RoleAlias. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-rolealias.html)", "allOf": [ { "type": "object", @@ -35602,14 +35565,14 @@ "Type": { "type": "string", "enum": [ - "AWS::NetworkManager::VpcAttachment" + "AWS::IoT::RoleAlias" ], "markdownEnumDescriptions": [ - "AWS::NetworkManager::VpcAttachment Resoruce Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkmanager-vpcattachment.html)" + "Use the AWS::IoT::RoleAlias resource to declare an AWS IoT RoleAlias. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-rolealias.html)" ] }, "Properties": { - "$ref": "resources/aws-networkmanager-vpcattachment.json" + "$ref": "resources/aws-iot-rolealias.json" } }, "required": [ @@ -35623,9 +35586,9 @@ ], "additionalProperties": false }, - "AWS_Connect_ApprovedOrigin": { + "AWS_SecurityHub_OrganizationConfiguration": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::Connect::ApprovedOrigin \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-connect-approvedorigin.html)", + "markdownDescription": "The AWS::SecurityHub::OrganizationConfiguration resource represents the configuration of your organization in Security Hub. Only the Security Hub administrator account can create Organization Configuration resource in each region and can opt-in to Central Configuration only in the aggregation region of FindingAggregator. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-securityhub-organizationconfiguration.html)", "allOf": [ { "type": "object", @@ -35633,14 +35596,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Connect::ApprovedOrigin" + "AWS::SecurityHub::OrganizationConfiguration" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::Connect::ApprovedOrigin \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-connect-approvedorigin.html)" + "The AWS::SecurityHub::OrganizationConfiguration resource represents the configuration of your organization in Security Hub. Only the Security Hub administrator account can create Organization Configuration resource in each region and can opt-in to Central Configuration only in the aggregation region of FindingAggregator. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-securityhub-organizationconfiguration.html)" ] }, "Properties": { - "$ref": "resources/aws-connect-approvedorigin.json" + "$ref": "resources/aws-securityhub-organizationconfiguration.json" } }, "required": [ @@ -35654,9 +35617,9 @@ ], "additionalProperties": false }, - "AWS_MemoryDB_ParameterGroup": { + "AWS_EC2_CapacityReservation": { "type": "object", - "markdownDescription": "The AWS::MemoryDB::ParameterGroup resource creates an Amazon MemoryDB ParameterGroup. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-memorydb-parametergroup.html)", + "markdownDescription": "Resource Type definition for AWS::EC2::CapacityReservation \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-capacityreservation.html)", "allOf": [ { "type": "object", @@ -35664,14 +35627,14 @@ "Type": { "type": "string", "enum": [ - "AWS::MemoryDB::ParameterGroup" + "AWS::EC2::CapacityReservation" ], "markdownEnumDescriptions": [ - "The AWS::MemoryDB::ParameterGroup resource creates an Amazon MemoryDB ParameterGroup. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-memorydb-parametergroup.html)" + "Resource Type definition for AWS::EC2::CapacityReservation \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-capacityreservation.html)" ] }, "Properties": { - "$ref": "resources/aws-memorydb-parametergroup.json" + "$ref": "resources/aws-ec2-capacityreservation.json" } }, "required": [ @@ -35685,9 +35648,9 @@ ], "additionalProperties": false }, - "AWS_RoboMaker_SimulationApplicationVersion": { + "AWS_ServiceCatalog_Portfolio": { "type": "object", - "markdownDescription": "AWS::RoboMaker::SimulationApplicationVersion resource creates an AWS RoboMaker SimulationApplicationVersion. This helps you control which code your simulation uses. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-robomaker-simulationapplicationversion.html)", + "markdownDescription": "Resource Type definition for AWS::ServiceCatalog::Portfolio \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicecatalog-portfolio.html)", "allOf": [ { "type": "object", @@ -35695,14 +35658,14 @@ "Type": { "type": "string", "enum": [ - "AWS::RoboMaker::SimulationApplicationVersion" + "AWS::ServiceCatalog::Portfolio" ], "markdownEnumDescriptions": [ - "AWS::RoboMaker::SimulationApplicationVersion resource creates an AWS RoboMaker SimulationApplicationVersion. This helps you control which code your simulation uses. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-robomaker-simulationapplicationversion.html)" + "Resource Type definition for AWS::ServiceCatalog::Portfolio \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicecatalog-portfolio.html)" ] }, "Properties": { - "$ref": "resources/aws-robomaker-simulationapplicationversion.json" + "$ref": "resources/aws-servicecatalog-portfolio.json" } }, "required": [ @@ -35716,9 +35679,9 @@ ], "additionalProperties": false }, - "AWS_ServiceCatalog_LaunchTemplateConstraint": { + "AWS_Cognito_UserPoolResourceServer": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::ServiceCatalog::LaunchTemplateConstraint \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicecatalog-launchtemplateconstraint.html)", + "markdownDescription": "Resource Type definition for AWS::Cognito::UserPoolResourceServer \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpoolresourceserver.html)", "allOf": [ { "type": "object", @@ -35726,14 +35689,14 @@ "Type": { "type": "string", "enum": [ - "AWS::ServiceCatalog::LaunchTemplateConstraint" + "AWS::Cognito::UserPoolResourceServer" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::ServiceCatalog::LaunchTemplateConstraint \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicecatalog-launchtemplateconstraint.html)" + "Resource Type definition for AWS::Cognito::UserPoolResourceServer \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpoolresourceserver.html)" ] }, "Properties": { - "$ref": "resources/aws-servicecatalog-launchtemplateconstraint.json" + "$ref": "resources/aws-cognito-userpoolresourceserver.json" } }, "required": [ @@ -35747,9 +35710,9 @@ ], "additionalProperties": false }, - "AWS_GlobalAccelerator_Accelerator": { + "AWS_DocDB_DBClusterParameterGroup": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::GlobalAccelerator::Accelerator \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-globalaccelerator-accelerator.html)", + "markdownDescription": "Resource Type definition for AWS::DocDB::DBClusterParameterGroup \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-docdb-dbclusterparametergroup.html)", "allOf": [ { "type": "object", @@ -35757,14 +35720,14 @@ "Type": { "type": "string", "enum": [ - "AWS::GlobalAccelerator::Accelerator" + "AWS::DocDB::DBClusterParameterGroup" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::GlobalAccelerator::Accelerator \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-globalaccelerator-accelerator.html)" + "Resource Type definition for AWS::DocDB::DBClusterParameterGroup \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-docdb-dbclusterparametergroup.html)" ] }, "Properties": { - "$ref": "resources/aws-globalaccelerator-accelerator.json" + "$ref": "resources/aws-docdb-dbclusterparametergroup.json" } }, "required": [ @@ -35778,9 +35741,9 @@ ], "additionalProperties": false }, - "AWS_Glue_Crawler": { + "AWS_StepFunctions_StateMachine": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::Glue::Crawler \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-crawler.html)", + "markdownDescription": "Resource schema for StateMachine \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-stepfunctions-statemachine.html)", "allOf": [ { "type": "object", @@ -35788,14 +35751,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Glue::Crawler" + "AWS::StepFunctions::StateMachine" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::Glue::Crawler \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-crawler.html)" + "Resource schema for StateMachine \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-stepfunctions-statemachine.html)" ] }, "Properties": { - "$ref": "resources/aws-glue-crawler.json" + "$ref": "resources/aws-stepfunctions-statemachine.json" } }, "required": [ @@ -35809,9 +35772,9 @@ ], "additionalProperties": false }, - "AWS_CodeArtifact_Domain": { + "AWS_PinpointEmail_ConfigurationSetEventDestination": { "type": "object", - "markdownDescription": "The resource schema to create a CodeArtifact domain. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codeartifact-domain.html)", + "markdownDescription": "Resource Type definition for AWS::PinpointEmail::ConfigurationSetEventDestination \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpointemail-configurationseteventdestination.html)", "allOf": [ { "type": "object", @@ -35819,14 +35782,14 @@ "Type": { "type": "string", "enum": [ - "AWS::CodeArtifact::Domain" + "AWS::PinpointEmail::ConfigurationSetEventDestination" ], "markdownEnumDescriptions": [ - "The resource schema to create a CodeArtifact domain. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codeartifact-domain.html)" + "Resource Type definition for AWS::PinpointEmail::ConfigurationSetEventDestination \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpointemail-configurationseteventdestination.html)" ] }, "Properties": { - "$ref": "resources/aws-codeartifact-domain.json" + "$ref": "resources/aws-pinpointemail-configurationseteventdestination.json" } }, "required": [ @@ -35840,9 +35803,9 @@ ], "additionalProperties": false }, - "AWS_Glue_MLTransform": { + "AWS_VoiceID_Domain": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::Glue::MLTransform \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-mltransform.html)", + "markdownDescription": "The AWS::VoiceID::Domain resource specifies an Amazon VoiceID Domain. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-voiceid-domain.html)", "allOf": [ { "type": "object", @@ -35850,14 +35813,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Glue::MLTransform" + "AWS::VoiceID::Domain" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::Glue::MLTransform \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-mltransform.html)" + "The AWS::VoiceID::Domain resource specifies an Amazon VoiceID Domain. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-voiceid-domain.html)" ] }, "Properties": { - "$ref": "resources/aws-glue-mltransform.json" + "$ref": "resources/aws-voiceid-domain.json" } }, "required": [ @@ -35871,9 +35834,9 @@ ], "additionalProperties": false }, - "AWS_QuickSight_DataSet": { + "AWS_FraudDetector_List": { "type": "object", - "markdownDescription": "Definition of the AWS::QuickSight::DataSet Resource Type. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-quicksight-dataset.html)", + "markdownDescription": "A resource schema for a List in Amazon Fraud Detector. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-frauddetector-list.html)", "allOf": [ { "type": "object", @@ -35881,18 +35844,19 @@ "Type": { "type": "string", "enum": [ - "AWS::QuickSight::DataSet" + "AWS::FraudDetector::List" ], "markdownEnumDescriptions": [ - "Definition of the AWS::QuickSight::DataSet Resource Type. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-quicksight-dataset.html)" + "A resource schema for a List in Amazon Fraud Detector. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-frauddetector-list.html)" ] }, "Properties": { - "$ref": "resources/aws-quicksight-dataset.json" + "$ref": "resources/aws-frauddetector-list.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -35901,9 +35865,9 @@ ], "additionalProperties": false }, - "AWS_EC2_TrafficMirrorFilterRule": { + "AWS_GlobalAccelerator_Accelerator": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::EC2::TrafficMirrorFilterRule \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-trafficmirrorfilterrule.html)", + "markdownDescription": "Resource Type definition for AWS::GlobalAccelerator::Accelerator \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-globalaccelerator-accelerator.html)", "allOf": [ { "type": "object", @@ -35911,14 +35875,14 @@ "Type": { "type": "string", "enum": [ - "AWS::EC2::TrafficMirrorFilterRule" + "AWS::GlobalAccelerator::Accelerator" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::EC2::TrafficMirrorFilterRule \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-trafficmirrorfilterrule.html)" + "Resource Type definition for AWS::GlobalAccelerator::Accelerator \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-globalaccelerator-accelerator.html)" ] }, "Properties": { - "$ref": "resources/aws-ec2-trafficmirrorfilterrule.json" + "$ref": "resources/aws-globalaccelerator-accelerator.json" } }, "required": [ @@ -35932,9 +35896,9 @@ ], "additionalProperties": false }, - "AWS_Glue_Schema": { + "AWS_Pinpoint_GCMChannel": { "type": "object", - "markdownDescription": "This resource represents a schema of Glue Schema Registry. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-schema.html)", + "markdownDescription": "Resource Type definition for AWS::Pinpoint::GCMChannel \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-gcmchannel.html)", "allOf": [ { "type": "object", @@ -35942,14 +35906,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Glue::Schema" + "AWS::Pinpoint::GCMChannel" ], "markdownEnumDescriptions": [ - "This resource represents a schema of Glue Schema Registry. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-schema.html)" + "Resource Type definition for AWS::Pinpoint::GCMChannel \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-gcmchannel.html)" ] }, "Properties": { - "$ref": "resources/aws-glue-schema.json" + "$ref": "resources/aws-pinpoint-gcmchannel.json" } }, "required": [ @@ -35963,9 +35927,9 @@ ], "additionalProperties": false }, - "AWS_EC2_IPAMPool": { + "AWS_SageMaker_ModelCard": { "type": "object", - "markdownDescription": "Resource Schema of AWS::EC2::IPAMPool Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-ipampool.html)", + "markdownDescription": "Resource Type definition for AWS::SageMaker::ModelCard. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-modelcard.html)", "allOf": [ { "type": "object", @@ -35973,14 +35937,14 @@ "Type": { "type": "string", "enum": [ - "AWS::EC2::IPAMPool" + "AWS::SageMaker::ModelCard" ], "markdownEnumDescriptions": [ - "Resource Schema of AWS::EC2::IPAMPool Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-ipampool.html)" + "Resource Type definition for AWS::SageMaker::ModelCard. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-modelcard.html)" ] }, "Properties": { - "$ref": "resources/aws-ec2-ipampool.json" + "$ref": "resources/aws-sagemaker-modelcard.json" } }, "required": [ @@ -35994,9 +35958,9 @@ ], "additionalProperties": false }, - "AWS_NetworkManager_LinkAssociation": { + "AWS_MediaLive_Multiplex": { "type": "object", - "markdownDescription": "The AWS::NetworkManager::LinkAssociation type associates a link to a device. The device and link must be in the same global network and the same site. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkmanager-linkassociation.html)", + "markdownDescription": "Resource schema for AWS::MediaLive::Multiplex \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-medialive-multiplex.html)", "allOf": [ { "type": "object", @@ -36004,14 +35968,14 @@ "Type": { "type": "string", "enum": [ - "AWS::NetworkManager::LinkAssociation" + "AWS::MediaLive::Multiplex" ], "markdownEnumDescriptions": [ - "The AWS::NetworkManager::LinkAssociation type associates a link to a device. The device and link must be in the same global network and the same site. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkmanager-linkassociation.html)" + "Resource schema for AWS::MediaLive::Multiplex \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-medialive-multiplex.html)" ] }, "Properties": { - "$ref": "resources/aws-networkmanager-linkassociation.json" + "$ref": "resources/aws-medialive-multiplex.json" } }, "required": [ @@ -36025,9 +35989,9 @@ ], "additionalProperties": false }, - "AWS_Batch_ComputeEnvironment": { + "AWS_IoT_ProvisioningTemplate": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::Batch::ComputeEnvironment \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-batch-computeenvironment.html)", + "markdownDescription": "Creates a fleet provisioning template. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-provisioningtemplate.html)", "allOf": [ { "type": "object", @@ -36035,14 +35999,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Batch::ComputeEnvironment" + "AWS::IoT::ProvisioningTemplate" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::Batch::ComputeEnvironment \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-batch-computeenvironment.html)" + "Creates a fleet provisioning template. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-provisioningtemplate.html)" ] }, "Properties": { - "$ref": "resources/aws-batch-computeenvironment.json" + "$ref": "resources/aws-iot-provisioningtemplate.json" } }, "required": [ @@ -36056,9 +36020,9 @@ ], "additionalProperties": false }, - "AWS_WorkSpacesThinClient_Environment": { + "AWS_Config_OrganizationConformancePack": { "type": "object", - "markdownDescription": "Resource type definition for AWS::WorkSpacesThinClient::Environment. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-workspacesthinclient-environment.html)", + "markdownDescription": "Resource schema for AWS::Config::OrganizationConformancePack. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-config-organizationconformancepack.html)", "allOf": [ { "type": "object", @@ -36066,14 +36030,14 @@ "Type": { "type": "string", "enum": [ - "AWS::WorkSpacesThinClient::Environment" + "AWS::Config::OrganizationConformancePack" ], "markdownEnumDescriptions": [ - "Resource type definition for AWS::WorkSpacesThinClient::Environment. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-workspacesthinclient-environment.html)" + "Resource schema for AWS::Config::OrganizationConformancePack. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-config-organizationconformancepack.html)" ] }, "Properties": { - "$ref": "resources/aws-workspacesthinclient-environment.json" + "$ref": "resources/aws-config-organizationconformancepack.json" } }, "required": [ @@ -36087,9 +36051,9 @@ ], "additionalProperties": false }, - "AWS_DataSync_Task": { + "AWS_EC2_FlowLog": { "type": "object", - "markdownDescription": "Resource schema for AWS::DataSync::Task. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datasync-task.html)", + "markdownDescription": "Specifies a VPC flow log, which enables you to capture IP traffic for a specific network interface, subnet, or VPC. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-flowlog.html)", "allOf": [ { "type": "object", @@ -36097,14 +36061,14 @@ "Type": { "type": "string", "enum": [ - "AWS::DataSync::Task" + "AWS::EC2::FlowLog" ], "markdownEnumDescriptions": [ - "Resource schema for AWS::DataSync::Task. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datasync-task.html)" + "Specifies a VPC flow log, which enables you to capture IP traffic for a specific network interface, subnet, or VPC. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-flowlog.html)" ] }, "Properties": { - "$ref": "resources/aws-datasync-task.json" + "$ref": "resources/aws-ec2-flowlog.json" } }, "required": [ @@ -36118,9 +36082,9 @@ ], "additionalProperties": false }, - "AWS_LakeFormation_TagAssociation": { + "AWS_AutoScaling_AutoScalingGroup": { "type": "object", - "markdownDescription": "A resource schema representing a Lake Formation Tag Association. While tag associations are not explicit Lake Formation resources, this CloudFormation resource can be used to associate tags with Lake Formation entities. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lakeformation-tagassociation.html)", + "markdownDescription": "The ``AWS::AutoScaling::AutoScalingGroup`` resource defines an Amazon EC2 Auto Scaling group, which is a collection of Amazon EC2 instances that are treated as a logical grouping for the purposes of automatic scaling and management. \n For more information about Amazon EC2 Auto Scaling, see the [Amazon EC2 Auto Scaling User Guide](https://docs.aws.amazon.com/autoscaling/ec2/userguide/what-is-amazon-ec2-auto-scaling.html). \n Amazon EC2 Auto Scaling configures instances launched as part of an Auto Scaling group using either a [launch template](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-launchtemplate.html) or a launch configuration. We strongly recommend that you do not use launch configurations. For more information, see [Launch configurations](https://docs.aws.amazon.com/autoscaling/ec2/userguide/launch-configurations.html) in the *Amazon EC2 Auto Scaling User Guide*.\n For help migrating from launch configurations to launch templates, see [Migrate CloudFormation stacks from launch configurations to launch templates](https://docs.aws.amazon.com/autoscaling/ec2/userguide/migrate-launch-configurations-with-cloudformation.html) in the *Amazon EC2 Auto Scaling User Guide*. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-autoscaling-autoscalinggroup.html)", "allOf": [ { "type": "object", @@ -36128,14 +36092,14 @@ "Type": { "type": "string", "enum": [ - "AWS::LakeFormation::TagAssociation" + "AWS::AutoScaling::AutoScalingGroup" ], "markdownEnumDescriptions": [ - "A resource schema representing a Lake Formation Tag Association. While tag associations are not explicit Lake Formation resources, this CloudFormation resource can be used to associate tags with Lake Formation entities. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lakeformation-tagassociation.html)" + "The ``AWS::AutoScaling::AutoScalingGroup`` resource defines an Amazon EC2 Auto Scaling group, which is a collection of Amazon EC2 instances that are treated as a logical grouping for the purposes of automatic scaling and management. \n For more information about Amazon EC2 Auto Scaling, see the [Amazon EC2 Auto Scaling User Guide](https://docs.aws.amazon.com/autoscaling/ec2/userguide/what-is-amazon-ec2-auto-scaling.html). \n Amazon EC2 Auto Scaling configures instances launched as part of an Auto Scaling group using either a [launch template](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-launchtemplate.html) or a launch configuration. We strongly recommend that you do not use launch configurations. For more information, see [Launch configurations](https://docs.aws.amazon.com/autoscaling/ec2/userguide/launch-configurations.html) in the *Amazon EC2 Auto Scaling User Guide*.\n For help migrating from launch configurations to launch templates, see [Migrate CloudFormation stacks from launch configurations to launch templates](https://docs.aws.amazon.com/autoscaling/ec2/userguide/migrate-launch-configurations-with-cloudformation.html) in the *Amazon EC2 Auto Scaling User Guide*. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-autoscaling-autoscalinggroup.html)" ] }, "Properties": { - "$ref": "resources/aws-lakeformation-tagassociation.json" + "$ref": "resources/aws-autoscaling-autoscalinggroup.json" } }, "required": [ @@ -36149,9 +36113,9 @@ ], "additionalProperties": false }, - "AWS_CustomerProfiles_Domain": { + "AWS_RAM_ResourceShare": { "type": "object", - "markdownDescription": "A domain defined for 3rd party data source in Profile Service \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-customerprofiles-domain.html)", + "markdownDescription": "Resource Type definition for AWS::RAM::ResourceShare \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ram-resourceshare.html)", "allOf": [ { "type": "object", @@ -36159,14 +36123,14 @@ "Type": { "type": "string", "enum": [ - "AWS::CustomerProfiles::Domain" + "AWS::RAM::ResourceShare" ], "markdownEnumDescriptions": [ - "A domain defined for 3rd party data source in Profile Service \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-customerprofiles-domain.html)" + "Resource Type definition for AWS::RAM::ResourceShare \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ram-resourceshare.html)" ] }, "Properties": { - "$ref": "resources/aws-customerprofiles-domain.json" + "$ref": "resources/aws-ram-resourceshare.json" } }, "required": [ @@ -36180,9 +36144,9 @@ ], "additionalProperties": false }, - "AWS_GameLift_ContainerGroupDefinition": { + "AWS_EC2_CustomerGateway": { "type": "object", - "markdownDescription": "The AWS::GameLift::ContainerGroupDefinition resource creates an Amazon GameLift container group definition. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-gamelift-containergroupdefinition.html)", + "markdownDescription": "Specifies a customer gateway. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-customergateway.html)", "allOf": [ { "type": "object", @@ -36190,14 +36154,14 @@ "Type": { "type": "string", "enum": [ - "AWS::GameLift::ContainerGroupDefinition" + "AWS::EC2::CustomerGateway" ], "markdownEnumDescriptions": [ - "The AWS::GameLift::ContainerGroupDefinition resource creates an Amazon GameLift container group definition. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-gamelift-containergroupdefinition.html)" + "Specifies a customer gateway. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-customergateway.html)" ] }, "Properties": { - "$ref": "resources/aws-gamelift-containergroupdefinition.json" + "$ref": "resources/aws-ec2-customergateway.json" } }, "required": [ @@ -36211,9 +36175,9 @@ ], "additionalProperties": false }, - "AWS_MediaLive_Network": { + "AWS_Grafana_Workspace": { "type": "object", - "markdownDescription": "Resource schema for AWS::MediaLive::Network. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-medialive-network.html)", + "markdownDescription": "Definition of AWS::Grafana::Workspace Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-grafana-workspace.html)", "allOf": [ { "type": "object", @@ -36221,14 +36185,14 @@ "Type": { "type": "string", "enum": [ - "AWS::MediaLive::Network" + "AWS::Grafana::Workspace" ], "markdownEnumDescriptions": [ - "Resource schema for AWS::MediaLive::Network. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-medialive-network.html)" + "Definition of AWS::Grafana::Workspace Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-grafana-workspace.html)" ] }, "Properties": { - "$ref": "resources/aws-medialive-network.json" + "$ref": "resources/aws-grafana-workspace.json" } }, "required": [ @@ -36242,9 +36206,9 @@ ], "additionalProperties": false }, - "AWS_RDS_DBProxyEndpoint": { + "AWS_AppMesh_GatewayRoute": { "type": "object", - "markdownDescription": "Resource schema for AWS::RDS::DBProxyEndpoint. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbproxyendpoint.html)", + "markdownDescription": "Resource Type definition for AWS::AppMesh::GatewayRoute \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appmesh-gatewayroute.html)", "allOf": [ { "type": "object", @@ -36252,14 +36216,14 @@ "Type": { "type": "string", "enum": [ - "AWS::RDS::DBProxyEndpoint" + "AWS::AppMesh::GatewayRoute" ], "markdownEnumDescriptions": [ - "Resource schema for AWS::RDS::DBProxyEndpoint. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbproxyendpoint.html)" + "Resource Type definition for AWS::AppMesh::GatewayRoute \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appmesh-gatewayroute.html)" ] }, "Properties": { - "$ref": "resources/aws-rds-dbproxyendpoint.json" + "$ref": "resources/aws-appmesh-gatewayroute.json" } }, "required": [ @@ -36273,9 +36237,9 @@ ], "additionalProperties": false }, - "AWS_CodeDeploy_DeploymentGroup": { + "AWS_FraudDetector_Outcome": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::CodeDeploy::DeploymentGroup \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codedeploy-deploymentgroup.html)", + "markdownDescription": "An outcome for rule evaluation. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-frauddetector-outcome.html)", "allOf": [ { "type": "object", @@ -36283,14 +36247,14 @@ "Type": { "type": "string", "enum": [ - "AWS::CodeDeploy::DeploymentGroup" + "AWS::FraudDetector::Outcome" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::CodeDeploy::DeploymentGroup \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codedeploy-deploymentgroup.html)" + "An outcome for rule evaluation. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-frauddetector-outcome.html)" ] }, "Properties": { - "$ref": "resources/aws-codedeploy-deploymentgroup.json" + "$ref": "resources/aws-frauddetector-outcome.json" } }, "required": [ @@ -36304,9 +36268,9 @@ ], "additionalProperties": false }, - "AWS_IoT_CertificateProvider": { + "AWS_FraudDetector_Label": { "type": "object", - "markdownDescription": "Use the AWS::IoT::CertificateProvider resource to declare an AWS IoT Certificate Provider. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-certificateprovider.html)", + "markdownDescription": "An label for fraud detector. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-frauddetector-label.html)", "allOf": [ { "type": "object", @@ -36314,14 +36278,14 @@ "Type": { "type": "string", "enum": [ - "AWS::IoT::CertificateProvider" + "AWS::FraudDetector::Label" ], "markdownEnumDescriptions": [ - "Use the AWS::IoT::CertificateProvider resource to declare an AWS IoT Certificate Provider. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-certificateprovider.html)" + "An label for fraud detector. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-frauddetector-label.html)" ] }, "Properties": { - "$ref": "resources/aws-iot-certificateprovider.json" + "$ref": "resources/aws-frauddetector-label.json" } }, "required": [ @@ -36335,9 +36299,9 @@ ], "additionalProperties": false }, - "AWS_ServiceCatalogAppRegistry_Application": { + "AWS_Bedrock_PromptVersion": { "type": "object", - "markdownDescription": "Resource Schema for AWS::ServiceCatalogAppRegistry::Application \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicecatalogappregistry-application.html)", + "markdownDescription": "Definition of AWS::Bedrock::PromptVersion Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-bedrock-promptversion.html)", "allOf": [ { "type": "object", @@ -36345,14 +36309,14 @@ "Type": { "type": "string", "enum": [ - "AWS::ServiceCatalogAppRegistry::Application" + "AWS::Bedrock::PromptVersion" ], "markdownEnumDescriptions": [ - "Resource Schema for AWS::ServiceCatalogAppRegistry::Application \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicecatalogappregistry-application.html)" + "Definition of AWS::Bedrock::PromptVersion Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-bedrock-promptversion.html)" ] }, "Properties": { - "$ref": "resources/aws-servicecatalogappregistry-application.json" + "$ref": "resources/aws-bedrock-promptversion.json" } }, "required": [ @@ -36366,9 +36330,9 @@ ], "additionalProperties": false }, - "AWS_DataPipeline_Pipeline": { + "AWS_Cognito_UserPool": { "type": "object", - "markdownDescription": "An example resource schema demonstrating some basic constructs and validation rules. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datapipeline-pipeline.html)", + "markdownDescription": "Definition of AWS::Cognito::UserPool Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpool.html)", "allOf": [ { "type": "object", @@ -36376,19 +36340,18 @@ "Type": { "type": "string", "enum": [ - "AWS::DataPipeline::Pipeline" + "AWS::Cognito::UserPool" ], "markdownEnumDescriptions": [ - "An example resource schema demonstrating some basic constructs and validation rules. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datapipeline-pipeline.html)" + "Definition of AWS::Cognito::UserPool Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpool.html)" ] }, "Properties": { - "$ref": "resources/aws-datapipeline-pipeline.json" + "$ref": "resources/aws-cognito-userpool.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -36397,9 +36360,9 @@ ], "additionalProperties": false }, - "AWS_WAFv2_LoggingConfiguration": { + "AWS_ServiceDiscovery_PrivateDnsNamespace": { "type": "object", - "markdownDescription": "A WAFv2 Logging Configuration Resource Provider \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-wafv2-loggingconfiguration.html)", + "markdownDescription": "Resource Type definition for AWS::ServiceDiscovery::PrivateDnsNamespace \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicediscovery-privatednsnamespace.html)", "allOf": [ { "type": "object", @@ -36407,14 +36370,14 @@ "Type": { "type": "string", "enum": [ - "AWS::WAFv2::LoggingConfiguration" + "AWS::ServiceDiscovery::PrivateDnsNamespace" ], "markdownEnumDescriptions": [ - "A WAFv2 Logging Configuration Resource Provider \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-wafv2-loggingconfiguration.html)" + "Resource Type definition for AWS::ServiceDiscovery::PrivateDnsNamespace \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicediscovery-privatednsnamespace.html)" ] }, "Properties": { - "$ref": "resources/aws-wafv2-loggingconfiguration.json" + "$ref": "resources/aws-servicediscovery-privatednsnamespace.json" } }, "required": [ @@ -36428,9 +36391,9 @@ ], "additionalProperties": false }, - "AWS_SageMaker_Workteam": { + "AWS_IoT_CACertificate": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::SageMaker::Workteam \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-workteam.html)", + "markdownDescription": "Registers a CA Certificate in IoT. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-cacertificate.html)", "allOf": [ { "type": "object", @@ -36438,18 +36401,19 @@ "Type": { "type": "string", "enum": [ - "AWS::SageMaker::Workteam" + "AWS::IoT::CACertificate" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::SageMaker::Workteam \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-workteam.html)" + "Registers a CA Certificate in IoT. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-cacertificate.html)" ] }, "Properties": { - "$ref": "resources/aws-sagemaker-workteam.json" + "$ref": "resources/aws-iot-cacertificate.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -36458,9 +36422,9 @@ ], "additionalProperties": false }, - "AWS_SSMIncidents_ReplicationSet": { + "AWS_Elasticsearch_Domain": { "type": "object", - "markdownDescription": "Resource type definition for AWS::SSMIncidents::ReplicationSet \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssmincidents-replicationset.html)", + "markdownDescription": "Resource Type definition for AWS::Elasticsearch::Domain \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticsearch-domain.html)", "allOf": [ { "type": "object", @@ -36468,19 +36432,18 @@ "Type": { "type": "string", "enum": [ - "AWS::SSMIncidents::ReplicationSet" + "AWS::Elasticsearch::Domain" ], "markdownEnumDescriptions": [ - "Resource type definition for AWS::SSMIncidents::ReplicationSet \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssmincidents-replicationset.html)" + "Resource Type definition for AWS::Elasticsearch::Domain \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticsearch-domain.html)" ] }, "Properties": { - "$ref": "resources/aws-ssmincidents-replicationset.json" + "$ref": "resources/aws-elasticsearch-domain.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -36489,9 +36452,9 @@ ], "additionalProperties": false }, - "AWS_GuardDuty_Detector": { + "AWS_ElasticLoadBalancingV2_Listener": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::GuardDuty::Detector \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-guardduty-detector.html)", + "markdownDescription": "Specifies a listener for an Application Load Balancer, Network Load Balancer, or Gateway Load Balancer. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticloadbalancingv2-listener.html)", "allOf": [ { "type": "object", @@ -36499,14 +36462,14 @@ "Type": { "type": "string", "enum": [ - "AWS::GuardDuty::Detector" + "AWS::ElasticLoadBalancingV2::Listener" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::GuardDuty::Detector \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-guardduty-detector.html)" + "Specifies a listener for an Application Load Balancer, Network Load Balancer, or Gateway Load Balancer. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticloadbalancingv2-listener.html)" ] }, "Properties": { - "$ref": "resources/aws-guardduty-detector.json" + "$ref": "resources/aws-elasticloadbalancingv2-listener.json" } }, "required": [ @@ -36520,9 +36483,9 @@ ], "additionalProperties": false }, - "AWS_DocDB_EventSubscription": { + "AWS_Bedrock_Guardrail": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::DocDB::EventSubscription \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-docdb-eventsubscription.html)", + "markdownDescription": "Definition of AWS::Bedrock::Guardrail Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-bedrock-guardrail.html)", "allOf": [ { "type": "object", @@ -36530,14 +36493,14 @@ "Type": { "type": "string", "enum": [ - "AWS::DocDB::EventSubscription" + "AWS::Bedrock::Guardrail" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::DocDB::EventSubscription \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-docdb-eventsubscription.html)" + "Definition of AWS::Bedrock::Guardrail Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-bedrock-guardrail.html)" ] }, "Properties": { - "$ref": "resources/aws-docdb-eventsubscription.json" + "$ref": "resources/aws-bedrock-guardrail.json" } }, "required": [ @@ -36551,9 +36514,9 @@ ], "additionalProperties": false }, - "AWS_IoT_FleetMetric": { + "AWS_IoTAnalytics_Pipeline": { "type": "object", - "markdownDescription": "An aggregated metric of certain devices in your fleet \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-fleetmetric.html)", + "markdownDescription": "Resource Type definition for AWS::IoTAnalytics::Pipeline \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotanalytics-pipeline.html)", "allOf": [ { "type": "object", @@ -36561,14 +36524,14 @@ "Type": { "type": "string", "enum": [ - "AWS::IoT::FleetMetric" + "AWS::IoTAnalytics::Pipeline" ], "markdownEnumDescriptions": [ - "An aggregated metric of certain devices in your fleet \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-fleetmetric.html)" + "Resource Type definition for AWS::IoTAnalytics::Pipeline \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotanalytics-pipeline.html)" ] }, "Properties": { - "$ref": "resources/aws-iot-fleetmetric.json" + "$ref": "resources/aws-iotanalytics-pipeline.json" } }, "required": [ @@ -36582,9 +36545,9 @@ ], "additionalProperties": false }, - "AWS_Pinpoint_App": { + "AWS_SecurityHub_Hub": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::Pinpoint::App \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-app.html)", + "markdownDescription": "The AWS::SecurityHub::Hub resource represents the implementation of the AWS Security Hub service in your account. One hub resource is created for each Region in which you enable Security Hub.\n\n \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-securityhub-hub.html)", "allOf": [ { "type": "object", @@ -36592,19 +36555,18 @@ "Type": { "type": "string", "enum": [ - "AWS::Pinpoint::App" + "AWS::SecurityHub::Hub" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::Pinpoint::App \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-app.html)" + "The AWS::SecurityHub::Hub resource represents the implementation of the AWS Security Hub service in your account. One hub resource is created for each Region in which you enable Security Hub.\n\n \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-securityhub-hub.html)" ] }, "Properties": { - "$ref": "resources/aws-pinpoint-app.json" + "$ref": "resources/aws-securityhub-hub.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -36613,9 +36575,9 @@ ], "additionalProperties": false }, - "AWS_WAF_IPSet": { + "AWS_Greengrass_Group": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::WAF::IPSet \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-waf-ipset.html)", + "markdownDescription": "Resource Type definition for AWS::Greengrass::Group \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-group.html)", "allOf": [ { "type": "object", @@ -36623,14 +36585,14 @@ "Type": { "type": "string", "enum": [ - "AWS::WAF::IPSet" + "AWS::Greengrass::Group" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::WAF::IPSet \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-waf-ipset.html)" + "Resource Type definition for AWS::Greengrass::Group \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-group.html)" ] }, "Properties": { - "$ref": "resources/aws-waf-ipset.json" + "$ref": "resources/aws-greengrass-group.json" } }, "required": [ @@ -36644,9 +36606,9 @@ ], "additionalProperties": false }, - "AWS_ElastiCache_SecurityGroupIngress": { + "AWS_SSO_Application": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::ElastiCache::SecurityGroupIngress \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticache-securitygroupingress.html)", + "markdownDescription": "Resource Type definition for Identity Center (SSO) Application \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sso-application.html)", "allOf": [ { "type": "object", @@ -36654,14 +36616,14 @@ "Type": { "type": "string", "enum": [ - "AWS::ElastiCache::SecurityGroupIngress" + "AWS::SSO::Application" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::ElastiCache::SecurityGroupIngress \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticache-securitygroupingress.html)" + "Resource Type definition for Identity Center (SSO) Application \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sso-application.html)" ] }, "Properties": { - "$ref": "resources/aws-elasticache-securitygroupingress.json" + "$ref": "resources/aws-sso-application.json" } }, "required": [ @@ -36675,9 +36637,9 @@ ], "additionalProperties": false }, - "AWS_Deadline_Queue": { + "AWS_MediaTailor_LiveSource": { "type": "object", - "markdownDescription": "Definition of AWS::Deadline::Queue Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-deadline-queue.html)", + "markdownDescription": "Definition of AWS::MediaTailor::LiveSource Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediatailor-livesource.html)", "allOf": [ { "type": "object", @@ -36685,14 +36647,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Deadline::Queue" + "AWS::MediaTailor::LiveSource" ], "markdownEnumDescriptions": [ - "Definition of AWS::Deadline::Queue Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-deadline-queue.html)" + "Definition of AWS::MediaTailor::LiveSource Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediatailor-livesource.html)" ] }, "Properties": { - "$ref": "resources/aws-deadline-queue.json" + "$ref": "resources/aws-mediatailor-livesource.json" } }, "required": [ @@ -36706,9 +36668,9 @@ ], "additionalProperties": false }, - "AWS_Events_Endpoint": { + "AWS_IoTTwinMaker_Scene": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::Events::Endpoint. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-endpoint.html)", + "markdownDescription": "Resource schema for AWS::IoTTwinMaker::Scene \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iottwinmaker-scene.html)", "allOf": [ { "type": "object", @@ -36716,14 +36678,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Events::Endpoint" + "AWS::IoTTwinMaker::Scene" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::Events::Endpoint. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-endpoint.html)" + "Resource schema for AWS::IoTTwinMaker::Scene \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iottwinmaker-scene.html)" ] }, "Properties": { - "$ref": "resources/aws-events-endpoint.json" + "$ref": "resources/aws-iottwinmaker-scene.json" } }, "required": [ @@ -36737,9 +36699,9 @@ ], "additionalProperties": false }, - "AWS_DataSync_LocationObjectStorage": { + "AWS_Cognito_UserPoolIdentityProvider": { "type": "object", - "markdownDescription": "Resource schema for AWS::DataSync::LocationObjectStorage. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datasync-locationobjectstorage.html)", + "markdownDescription": "Resource Type definition for AWS::Cognito::UserPoolIdentityProvider \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpoolidentityprovider.html)", "allOf": [ { "type": "object", @@ -36747,14 +36709,14 @@ "Type": { "type": "string", "enum": [ - "AWS::DataSync::LocationObjectStorage" + "AWS::Cognito::UserPoolIdentityProvider" ], "markdownEnumDescriptions": [ - "Resource schema for AWS::DataSync::LocationObjectStorage. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datasync-locationobjectstorage.html)" + "Resource Type definition for AWS::Cognito::UserPoolIdentityProvider \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpoolidentityprovider.html)" ] }, "Properties": { - "$ref": "resources/aws-datasync-locationobjectstorage.json" + "$ref": "resources/aws-cognito-userpoolidentityprovider.json" } }, "required": [ @@ -36768,9 +36730,9 @@ ], "additionalProperties": false }, - "AWS_SES_MailManagerAddonSubscription": { + "AWS_CloudFront_ContinuousDeploymentPolicy": { "type": "object", - "markdownDescription": "Definition of AWS::SES::MailManagerAddonSubscription Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ses-mailmanageraddonsubscription.html)", + "markdownDescription": "Resource Type definition for AWS::CloudFront::ContinuousDeploymentPolicy \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudfront-continuousdeploymentpolicy.html)", "allOf": [ { "type": "object", @@ -36778,14 +36740,14 @@ "Type": { "type": "string", "enum": [ - "AWS::SES::MailManagerAddonSubscription" + "AWS::CloudFront::ContinuousDeploymentPolicy" ], "markdownEnumDescriptions": [ - "Definition of AWS::SES::MailManagerAddonSubscription Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ses-mailmanageraddonsubscription.html)" + "Resource Type definition for AWS::CloudFront::ContinuousDeploymentPolicy \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudfront-continuousdeploymentpolicy.html)" ] }, "Properties": { - "$ref": "resources/aws-ses-mailmanageraddonsubscription.json" + "$ref": "resources/aws-cloudfront-continuousdeploymentpolicy.json" } }, "required": [ @@ -36799,9 +36761,9 @@ ], "additionalProperties": false }, - "AWS_SNS_Topic": { + "AWS_SQS_QueueInlinePolicy": { "type": "object", - "markdownDescription": "The ``AWS::SNS::Topic`` resource creates a topic to which notifications can be published.\n One account can create a maximum of 100,000 standard topics and 1,000 FIFO topics. For more information, see [endpoints and quotas](https://docs.aws.amazon.com/general/latest/gr/sns.html) in the *General Reference*.\n The structure of ``AUTHPARAMS`` depends on the .signature of the API request. For more information, see [Examples of the complete Signature Version 4 signing process](https://docs.aws.amazon.com/general/latest/gr/sigv4-signed-request-examples.html) in the *General Reference*. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sns-topic.html)", + "markdownDescription": "Schema for SQS QueueInlinePolicy \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sqs-queueinlinepolicy.html)", "allOf": [ { "type": "object", @@ -36809,18 +36771,19 @@ "Type": { "type": "string", "enum": [ - "AWS::SNS::Topic" + "AWS::SQS::QueueInlinePolicy" ], "markdownEnumDescriptions": [ - "The ``AWS::SNS::Topic`` resource creates a topic to which notifications can be published.\n One account can create a maximum of 100,000 standard topics and 1,000 FIFO topics. For more information, see [endpoints and quotas](https://docs.aws.amazon.com/general/latest/gr/sns.html) in the *General Reference*.\n The structure of ``AUTHPARAMS`` depends on the .signature of the API request. For more information, see [Examples of the complete Signature Version 4 signing process](https://docs.aws.amazon.com/general/latest/gr/sigv4-signed-request-examples.html) in the *General Reference*. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sns-topic.html)" + "Schema for SQS QueueInlinePolicy \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sqs-queueinlinepolicy.html)" ] }, "Properties": { - "$ref": "resources/aws-sns-topic.json" + "$ref": "resources/aws-sqs-queueinlinepolicy.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -36829,9 +36792,9 @@ ], "additionalProperties": false }, - "AWS_QuickSight_DataSource": { + "AWS_ServiceCatalog_ServiceActionAssociation": { "type": "object", - "markdownDescription": "Definition of the AWS::QuickSight::DataSource Resource Type. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-quicksight-datasource.html)", + "markdownDescription": "Resource Schema for AWS::ServiceCatalog::ServiceActionAssociation \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicecatalog-serviceactionassociation.html)", "allOf": [ { "type": "object", @@ -36839,14 +36802,14 @@ "Type": { "type": "string", "enum": [ - "AWS::QuickSight::DataSource" + "AWS::ServiceCatalog::ServiceActionAssociation" ], "markdownEnumDescriptions": [ - "Definition of the AWS::QuickSight::DataSource Resource Type. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-quicksight-datasource.html)" + "Resource Schema for AWS::ServiceCatalog::ServiceActionAssociation \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicecatalog-serviceactionassociation.html)" ] }, "Properties": { - "$ref": "resources/aws-quicksight-datasource.json" + "$ref": "resources/aws-servicecatalog-serviceactionassociation.json" } }, "required": [ @@ -36860,9 +36823,9 @@ ], "additionalProperties": false }, - "AWS_KinesisAnalyticsV2_ApplicationOutput": { + "AWS_SSMContacts_Rotation": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::KinesisAnalyticsV2::ApplicationOutput \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kinesisanalyticsv2-applicationoutput.html)", + "markdownDescription": "Resource Type definition for AWS::SSMContacts::Rotation. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssmcontacts-rotation.html)", "allOf": [ { "type": "object", @@ -36870,14 +36833,14 @@ "Type": { "type": "string", "enum": [ - "AWS::KinesisAnalyticsV2::ApplicationOutput" + "AWS::SSMContacts::Rotation" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::KinesisAnalyticsV2::ApplicationOutput \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kinesisanalyticsv2-applicationoutput.html)" + "Resource Type definition for AWS::SSMContacts::Rotation. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssmcontacts-rotation.html)" ] }, "Properties": { - "$ref": "resources/aws-kinesisanalyticsv2-applicationoutput.json" + "$ref": "resources/aws-ssmcontacts-rotation.json" } }, "required": [ @@ -36891,9 +36854,9 @@ ], "additionalProperties": false }, - "AWS_Bedrock_GuardrailVersion": { + "AWS_KendraRanking_ExecutionPlan": { "type": "object", - "markdownDescription": "Definition of AWS::Bedrock::GuardrailVersion Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-bedrock-guardrailversion.html)", + "markdownDescription": "A KendraRanking Rescore execution plan \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kendraranking-executionplan.html)", "allOf": [ { "type": "object", @@ -36901,14 +36864,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Bedrock::GuardrailVersion" + "AWS::KendraRanking::ExecutionPlan" ], "markdownEnumDescriptions": [ - "Definition of AWS::Bedrock::GuardrailVersion Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-bedrock-guardrailversion.html)" + "A KendraRanking Rescore execution plan \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kendraranking-executionplan.html)" ] }, "Properties": { - "$ref": "resources/aws-bedrock-guardrailversion.json" + "$ref": "resources/aws-kendraranking-executionplan.json" } }, "required": [ @@ -36922,9 +36885,9 @@ ], "additionalProperties": false }, - "AWS_ManagedBlockchain_Accessor": { + "AWS_Connect_SecurityKey": { "type": "object", - "markdownDescription": "Definition of AWS::ManagedBlockchain::com.amazonaws.taiga.webservice.api#Accessor Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-managedblockchain-accessor.html)", + "markdownDescription": "Resource Type definition for AWS::Connect::SecurityKey \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-connect-securitykey.html)", "allOf": [ { "type": "object", @@ -36932,14 +36895,14 @@ "Type": { "type": "string", "enum": [ - "AWS::ManagedBlockchain::Accessor" + "AWS::Connect::SecurityKey" ], "markdownEnumDescriptions": [ - "Definition of AWS::ManagedBlockchain::com.amazonaws.taiga.webservice.api#Accessor Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-managedblockchain-accessor.html)" + "Resource Type definition for AWS::Connect::SecurityKey \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-connect-securitykey.html)" ] }, "Properties": { - "$ref": "resources/aws-managedblockchain-accessor.json" + "$ref": "resources/aws-connect-securitykey.json" } }, "required": [ @@ -36953,9 +36916,9 @@ ], "additionalProperties": false }, - "AWS_KinesisAnalytics_Application": { + "AWS_Connect_Instance": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::KinesisAnalytics::Application \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kinesisanalytics-application.html)", + "markdownDescription": "Resource Type definition for AWS::Connect::Instance \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-connect-instance.html)", "allOf": [ { "type": "object", @@ -36963,14 +36926,14 @@ "Type": { "type": "string", "enum": [ - "AWS::KinesisAnalytics::Application" + "AWS::Connect::Instance" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::KinesisAnalytics::Application \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kinesisanalytics-application.html)" + "Resource Type definition for AWS::Connect::Instance \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-connect-instance.html)" ] }, "Properties": { - "$ref": "resources/aws-kinesisanalytics-application.json" + "$ref": "resources/aws-connect-instance.json" } }, "required": [ @@ -36984,9 +36947,9 @@ ], "additionalProperties": false }, - "AWS_DataSync_StorageSystem": { + "AWS_KinesisAnalyticsV2_Application": { "type": "object", - "markdownDescription": "Resource schema for AWS::DataSync::StorageSystem. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datasync-storagesystem.html)", + "markdownDescription": "Creates an Amazon Kinesis Data Analytics application. For information about creating a Kinesis Data Analytics application, see [Creating an Application](https://docs.aws.amazon.com/kinesisanalytics/latest/java/getting-started.html). \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kinesisanalyticsv2-application.html)", "allOf": [ { "type": "object", @@ -36994,14 +36957,14 @@ "Type": { "type": "string", "enum": [ - "AWS::DataSync::StorageSystem" + "AWS::KinesisAnalyticsV2::Application" ], "markdownEnumDescriptions": [ - "Resource schema for AWS::DataSync::StorageSystem. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datasync-storagesystem.html)" + "Creates an Amazon Kinesis Data Analytics application. For information about creating a Kinesis Data Analytics application, see [Creating an Application](https://docs.aws.amazon.com/kinesisanalytics/latest/java/getting-started.html). \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kinesisanalyticsv2-application.html)" ] }, "Properties": { - "$ref": "resources/aws-datasync-storagesystem.json" + "$ref": "resources/aws-kinesisanalyticsv2-application.json" } }, "required": [ @@ -37015,9 +36978,9 @@ ], "additionalProperties": false }, - "AWS_AppRunner_AutoScalingConfiguration": { + "AWS_WAFRegional_RateBasedRule": { "type": "object", - "markdownDescription": "Describes an AWS App Runner automatic configuration resource that enables automatic scaling of instances used to process web requests. You can share an auto scaling configuration across multiple services. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apprunner-autoscalingconfiguration.html)", + "markdownDescription": "Resource Type definition for AWS::WAFRegional::RateBasedRule \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-wafregional-ratebasedrule.html)", "allOf": [ { "type": "object", @@ -37025,18 +36988,19 @@ "Type": { "type": "string", "enum": [ - "AWS::AppRunner::AutoScalingConfiguration" + "AWS::WAFRegional::RateBasedRule" ], "markdownEnumDescriptions": [ - "Describes an AWS App Runner automatic configuration resource that enables automatic scaling of instances used to process web requests. You can share an auto scaling configuration across multiple services. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apprunner-autoscalingconfiguration.html)" + "Resource Type definition for AWS::WAFRegional::RateBasedRule \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-wafregional-ratebasedrule.html)" ] }, "Properties": { - "$ref": "resources/aws-apprunner-autoscalingconfiguration.json" + "$ref": "resources/aws-wafregional-ratebasedrule.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -37045,9 +37009,9 @@ ], "additionalProperties": false }, - "AWS_NeptuneGraph_Graph": { + "AWS_Pinpoint_APNSVoipChannel": { "type": "object", - "markdownDescription": "The AWS::NeptuneGraph::Graph resource creates an Amazon NeptuneGraph Graph. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-neptunegraph-graph.html)", + "markdownDescription": "Resource Type definition for AWS::Pinpoint::APNSVoipChannel \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-apnsvoipchannel.html)", "allOf": [ { "type": "object", @@ -37055,14 +37019,14 @@ "Type": { "type": "string", "enum": [ - "AWS::NeptuneGraph::Graph" + "AWS::Pinpoint::APNSVoipChannel" ], "markdownEnumDescriptions": [ - "The AWS::NeptuneGraph::Graph resource creates an Amazon NeptuneGraph Graph. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-neptunegraph-graph.html)" + "Resource Type definition for AWS::Pinpoint::APNSVoipChannel \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-apnsvoipchannel.html)" ] }, "Properties": { - "$ref": "resources/aws-neptunegraph-graph.json" + "$ref": "resources/aws-pinpoint-apnsvoipchannel.json" } }, "required": [ @@ -37076,9 +37040,9 @@ ], "additionalProperties": false }, - "AWS_RefactorSpaces_Service": { + "AWS_IoTWireless_WirelessDevice": { "type": "object", - "markdownDescription": "Definition of AWS::RefactorSpaces::Service Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-refactorspaces-service.html)", + "markdownDescription": "Create and manage wireless gateways, including LoRa gateways. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotwireless-wirelessdevice.html)", "allOf": [ { "type": "object", @@ -37086,14 +37050,14 @@ "Type": { "type": "string", "enum": [ - "AWS::RefactorSpaces::Service" + "AWS::IoTWireless::WirelessDevice" ], "markdownEnumDescriptions": [ - "Definition of AWS::RefactorSpaces::Service Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-refactorspaces-service.html)" + "Create and manage wireless gateways, including LoRa gateways. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotwireless-wirelessdevice.html)" ] }, "Properties": { - "$ref": "resources/aws-refactorspaces-service.json" + "$ref": "resources/aws-iotwireless-wirelessdevice.json" } }, "required": [ @@ -37107,9 +37071,9 @@ ], "additionalProperties": false }, - "AWS_ECS_CapacityProvider": { + "AWS_AppTest_TestCase": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::ECS::CapacityProvider. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ecs-capacityprovider.html)", + "markdownDescription": "Represents a Test Case that can be captured and executed \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apptest-testcase.html)", "allOf": [ { "type": "object", @@ -37117,14 +37081,14 @@ "Type": { "type": "string", "enum": [ - "AWS::ECS::CapacityProvider" + "AWS::AppTest::TestCase" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::ECS::CapacityProvider. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ecs-capacityprovider.html)" + "Represents a Test Case that can be captured and executed \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apptest-testcase.html)" ] }, "Properties": { - "$ref": "resources/aws-ecs-capacityprovider.json" + "$ref": "resources/aws-apptest-testcase.json" } }, "required": [ @@ -37138,9 +37102,9 @@ ], "additionalProperties": false }, - "AWS_WAF_ByteMatchSet": { + "AWS_IoTFleetWise_Fleet": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::WAF::ByteMatchSet \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-waf-bytematchset.html)", + "markdownDescription": "Definition of AWS::IoTFleetWise::Fleet Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotfleetwise-fleet.html)", "allOf": [ { "type": "object", @@ -37148,14 +37112,14 @@ "Type": { "type": "string", "enum": [ - "AWS::WAF::ByteMatchSet" + "AWS::IoTFleetWise::Fleet" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::WAF::ByteMatchSet \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-waf-bytematchset.html)" + "Definition of AWS::IoTFleetWise::Fleet Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotfleetwise-fleet.html)" ] }, "Properties": { - "$ref": "resources/aws-waf-bytematchset.json" + "$ref": "resources/aws-iotfleetwise-fleet.json" } }, "required": [ @@ -37169,9 +37133,9 @@ ], "additionalProperties": false }, - "AWS_Route53RecoveryControl_ControlPanel": { + "AWS_MediaLive_SdiSource": { "type": "object", - "markdownDescription": "AWS Route53 Recovery Control Control Panel resource schema . \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53recoverycontrol-controlpanel.html)", + "markdownDescription": "Definition of AWS::MediaLive::SdiSource Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-medialive-sdisource.html)", "allOf": [ { "type": "object", @@ -37179,14 +37143,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Route53RecoveryControl::ControlPanel" + "AWS::MediaLive::SdiSource" ], "markdownEnumDescriptions": [ - "AWS Route53 Recovery Control Control Panel resource schema . \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53recoverycontrol-controlpanel.html)" + "Definition of AWS::MediaLive::SdiSource Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-medialive-sdisource.html)" ] }, "Properties": { - "$ref": "resources/aws-route53recoverycontrol-controlpanel.json" + "$ref": "resources/aws-medialive-sdisource.json" } }, "required": [ @@ -37200,9 +37164,9 @@ ], "additionalProperties": false }, - "AWS_Greengrass_SubscriptionDefinition": { + "AWS_ServiceCatalogAppRegistry_Application": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::Greengrass::SubscriptionDefinition \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-subscriptiondefinition.html)", + "markdownDescription": "Resource Schema for AWS::ServiceCatalogAppRegistry::Application \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicecatalogappregistry-application.html)", "allOf": [ { "type": "object", @@ -37210,14 +37174,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Greengrass::SubscriptionDefinition" + "AWS::ServiceCatalogAppRegistry::Application" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::Greengrass::SubscriptionDefinition \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-subscriptiondefinition.html)" + "Resource Schema for AWS::ServiceCatalogAppRegistry::Application \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicecatalogappregistry-application.html)" ] }, "Properties": { - "$ref": "resources/aws-greengrass-subscriptiondefinition.json" + "$ref": "resources/aws-servicecatalogappregistry-application.json" } }, "required": [ @@ -37231,9 +37195,9 @@ ], "additionalProperties": false }, - "AWS_Redshift_ClusterSecurityGroupIngress": { + "AWS_Connect_Queue": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::Redshift::ClusterSecurityGroupIngress \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-redshift-clustersecuritygroupingress.html)", + "markdownDescription": "Resource Type definition for AWS::Connect::Queue \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-connect-queue.html)", "allOf": [ { "type": "object", @@ -37241,14 +37205,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Redshift::ClusterSecurityGroupIngress" + "AWS::Connect::Queue" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::Redshift::ClusterSecurityGroupIngress \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-redshift-clustersecuritygroupingress.html)" + "Resource Type definition for AWS::Connect::Queue \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-connect-queue.html)" ] }, "Properties": { - "$ref": "resources/aws-redshift-clustersecuritygroupingress.json" + "$ref": "resources/aws-connect-queue.json" } }, "required": [ @@ -37262,9 +37226,9 @@ ], "additionalProperties": false }, - "AWS_Route53Resolver_ResolverQueryLoggingConfigAssociation": { + "AWS_Lambda_Url": { "type": "object", - "markdownDescription": "Resource schema for AWS::Route53Resolver::ResolverQueryLoggingConfigAssociation. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53resolver-resolverqueryloggingconfigassociation.html)", + "markdownDescription": "Resource Type definition for AWS::Lambda::Url \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-url.html)", "allOf": [ { "type": "object", @@ -37272,18 +37236,19 @@ "Type": { "type": "string", "enum": [ - "AWS::Route53Resolver::ResolverQueryLoggingConfigAssociation" + "AWS::Lambda::Url" ], "markdownEnumDescriptions": [ - "Resource schema for AWS::Route53Resolver::ResolverQueryLoggingConfigAssociation. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53resolver-resolverqueryloggingconfigassociation.html)" + "Resource Type definition for AWS::Lambda::Url \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-url.html)" ] }, "Properties": { - "$ref": "resources/aws-route53resolver-resolverqueryloggingconfigassociation.json" + "$ref": "resources/aws-lambda-url.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -37292,9 +37257,9 @@ ], "additionalProperties": false }, - "AWS_Deadline_Monitor": { + "AWS_Route53_CidrCollection": { "type": "object", - "markdownDescription": "Definition of AWS::Deadline::Monitor Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-deadline-monitor.html)", + "markdownDescription": "Resource schema for AWS::Route53::CidrCollection. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53-cidrcollection.html)", "allOf": [ { "type": "object", @@ -37302,14 +37267,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Deadline::Monitor" + "AWS::Route53::CidrCollection" ], "markdownEnumDescriptions": [ - "Definition of AWS::Deadline::Monitor Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-deadline-monitor.html)" + "Resource schema for AWS::Route53::CidrCollection. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53-cidrcollection.html)" ] }, "Properties": { - "$ref": "resources/aws-deadline-monitor.json" + "$ref": "resources/aws-route53-cidrcollection.json" } }, "required": [ @@ -37323,9 +37288,9 @@ ], "additionalProperties": false }, - "AWS_IVSChat_Room": { + "AWS_EntityResolution_MatchingWorkflow": { "type": "object", - "markdownDescription": "Resource type definition for AWS::IVSChat::Room. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ivschat-room.html)", + "markdownDescription": "MatchingWorkflow defined in AWS Entity Resolution service \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-entityresolution-matchingworkflow.html)", "allOf": [ { "type": "object", @@ -37333,18 +37298,19 @@ "Type": { "type": "string", "enum": [ - "AWS::IVSChat::Room" + "AWS::EntityResolution::MatchingWorkflow" ], "markdownEnumDescriptions": [ - "Resource type definition for AWS::IVSChat::Room. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ivschat-room.html)" + "MatchingWorkflow defined in AWS Entity Resolution service \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-entityresolution-matchingworkflow.html)" ] }, "Properties": { - "$ref": "resources/aws-ivschat-room.json" + "$ref": "resources/aws-entityresolution-matchingworkflow.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -37353,9 +37319,9 @@ ], "additionalProperties": false }, - "AWS_Deadline_QueueFleetAssociation": { + "AWS_EC2_KeyPair": { "type": "object", - "markdownDescription": "Definition of AWS::Deadline::QueueFleetAssociation Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-deadline-queuefleetassociation.html)", + "markdownDescription": "Specifies a key pair for use with an EC2long instance as follows:\n + To import an existing key pair, include the ``PublicKeyMaterial`` property.\n + To create a new key pair, omit the ``PublicKeyMaterial`` property.\n \n When you import an existing key pair, you specify the public key material for the key. We assume that you have the private key material for the key. CFNlong does not create or return the private key material when you import a key pair.\n When you create a new key pair, the private key is saved to SYSlong Parameter Store, using a parameter with the following name: ``/ec2/keypair/{key_pair_id}``. For more information about retrieving private key, and the required permissions, see [Create a key pair using](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/create-key-pairs.html#create-key-pair-cloudformation) in the *User Guide*.\n When CFN deletes a key pair that was created or imported by a stack, it also deletes the parameter that was used to store the private key material in Parameter Store. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-keypair.html)", "allOf": [ { "type": "object", @@ -37363,14 +37329,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Deadline::QueueFleetAssociation" + "AWS::EC2::KeyPair" ], "markdownEnumDescriptions": [ - "Definition of AWS::Deadline::QueueFleetAssociation Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-deadline-queuefleetassociation.html)" + "Specifies a key pair for use with an EC2long instance as follows:\n + To import an existing key pair, include the ``PublicKeyMaterial`` property.\n + To create a new key pair, omit the ``PublicKeyMaterial`` property.\n \n When you import an existing key pair, you specify the public key material for the key. We assume that you have the private key material for the key. CFNlong does not create or return the private key material when you import a key pair.\n When you create a new key pair, the private key is saved to SYSlong Parameter Store, using a parameter with the following name: ``/ec2/keypair/{key_pair_id}``. For more information about retrieving private key, and the required permissions, see [Create a key pair using](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/create-key-pairs.html#create-key-pair-cloudformation) in the *User Guide*.\n When CFN deletes a key pair that was created or imported by a stack, it also deletes the parameter that was used to store the private key material in Parameter Store. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-keypair.html)" ] }, "Properties": { - "$ref": "resources/aws-deadline-queuefleetassociation.json" + "$ref": "resources/aws-ec2-keypair.json" } }, "required": [ @@ -37384,9 +37350,9 @@ ], "additionalProperties": false }, - "AWS_WAFRegional_RegexPatternSet": { + "AWS_CloudFormation_ResourceDefaultVersion": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::WAFRegional::RegexPatternSet \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-wafregional-regexpatternset.html)", + "markdownDescription": "The default version of a resource that has been registered in the CloudFormation Registry. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudformation-resourcedefaultversion.html)", "allOf": [ { "type": "object", @@ -37394,19 +37360,18 @@ "Type": { "type": "string", "enum": [ - "AWS::WAFRegional::RegexPatternSet" + "AWS::CloudFormation::ResourceDefaultVersion" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::WAFRegional::RegexPatternSet \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-wafregional-regexpatternset.html)" + "The default version of a resource that has been registered in the CloudFormation Registry. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudformation-resourcedefaultversion.html)" ] }, "Properties": { - "$ref": "resources/aws-wafregional-regexpatternset.json" + "$ref": "resources/aws-cloudformation-resourcedefaultversion.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -37415,9 +37380,9 @@ ], "additionalProperties": false }, - "AWS_SSM_Parameter": { + "AWS_S3Express_DirectoryBucket": { "type": "object", - "markdownDescription": "The ``AWS::SSM::Parameter`` resource creates an SSM parameter in SYSlong Parameter Store.\n To create an SSM parameter, you must have the IAMlong (IAM) permissions ``ssm:PutParameter`` and ``ssm:AddTagsToResource``. On stack creation, CFNlong adds the following three tags to the parameter: ``aws:cloudformation:stack-name``, ``aws:cloudformation:logical-id``, and ``aws:cloudformation:stack-id``, in addition to any custom tags you specify.\n To add, update, or remove tags during stack update, you must have IAM permissions for both ``ssm:AddTagsToResource`` and ``ssm:RemoveTagsFromResource``. For more information, see [Managing Access Using Policies](https://docs.aws.amazon.com/systems-manager/latest/userguide/security-iam.html#security_iam_access-manage) in the *User Guide*.\n For information about valid values for parameters, see [About requirements and constraints for parameter names](https://docs.aws.amazon.com/systems-manager/latest/userguide/sysman-paramstore-su-create.html#sysman-parameter-name-constraints) in the *User Guide* and [PutParameter](https://docs.aws.amazon.com/systems-manager/latest/APIReference/API_PutParameter.html) in the *API Reference*. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-parameter.html)", + "markdownDescription": "Resource Type definition for AWS::S3Express::DirectoryBucket. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-s3express-directorybucket.html)", "allOf": [ { "type": "object", @@ -37425,14 +37390,14 @@ "Type": { "type": "string", "enum": [ - "AWS::SSM::Parameter" + "AWS::S3Express::DirectoryBucket" ], "markdownEnumDescriptions": [ - "The ``AWS::SSM::Parameter`` resource creates an SSM parameter in SYSlong Parameter Store.\n To create an SSM parameter, you must have the IAMlong (IAM) permissions ``ssm:PutParameter`` and ``ssm:AddTagsToResource``. On stack creation, CFNlong adds the following three tags to the parameter: ``aws:cloudformation:stack-name``, ``aws:cloudformation:logical-id``, and ``aws:cloudformation:stack-id``, in addition to any custom tags you specify.\n To add, update, or remove tags during stack update, you must have IAM permissions for both ``ssm:AddTagsToResource`` and ``ssm:RemoveTagsFromResource``. For more information, see [Managing Access Using Policies](https://docs.aws.amazon.com/systems-manager/latest/userguide/security-iam.html#security_iam_access-manage) in the *User Guide*.\n For information about valid values for parameters, see [About requirements and constraints for parameter names](https://docs.aws.amazon.com/systems-manager/latest/userguide/sysman-paramstore-su-create.html#sysman-parameter-name-constraints) in the *User Guide* and [PutParameter](https://docs.aws.amazon.com/systems-manager/latest/APIReference/API_PutParameter.html) in the *API Reference*. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-parameter.html)" + "Resource Type definition for AWS::S3Express::DirectoryBucket. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-s3express-directorybucket.html)" ] }, "Properties": { - "$ref": "resources/aws-ssm-parameter.json" + "$ref": "resources/aws-s3express-directorybucket.json" } }, "required": [ @@ -37446,9 +37411,9 @@ ], "additionalProperties": false }, - "AWS_Bedrock_Guardrail": { + "AWS_CloudFormation_GuardHook": { "type": "object", - "markdownDescription": "Definition of AWS::Bedrock::Guardrail Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-bedrock-guardrail.html)", + "markdownDescription": "This is a CloudFormation resource for activating the first-party AWS::Hooks::GuardHook. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudformation-guardhook.html)", "allOf": [ { "type": "object", @@ -37456,14 +37421,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Bedrock::Guardrail" + "AWS::CloudFormation::GuardHook" ], "markdownEnumDescriptions": [ - "Definition of AWS::Bedrock::Guardrail Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-bedrock-guardrail.html)" + "This is a CloudFormation resource for activating the first-party AWS::Hooks::GuardHook. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudformation-guardhook.html)" ] }, "Properties": { - "$ref": "resources/aws-bedrock-guardrail.json" + "$ref": "resources/aws-cloudformation-guardhook.json" } }, "required": [ @@ -37477,9 +37442,9 @@ ], "additionalProperties": false }, - "AWS_AppSync_GraphQLSchema": { + "AWS_StepFunctions_Activity": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::AppSync::GraphQLSchema \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-graphqlschema.html)", + "markdownDescription": "Resource schema for Activity \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-stepfunctions-activity.html)", "allOf": [ { "type": "object", @@ -37487,14 +37452,14 @@ "Type": { "type": "string", "enum": [ - "AWS::AppSync::GraphQLSchema" + "AWS::StepFunctions::Activity" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::AppSync::GraphQLSchema \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-graphqlschema.html)" + "Resource schema for Activity \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-stepfunctions-activity.html)" ] }, "Properties": { - "$ref": "resources/aws-appsync-graphqlschema.json" + "$ref": "resources/aws-stepfunctions-activity.json" } }, "required": [ @@ -37508,9 +37473,9 @@ ], "additionalProperties": false }, - "AWS_CloudTrail_Channel": { + "AWS_DataSync_Task": { "type": "object", - "markdownDescription": "A channel receives events from a specific source (such as an on-premises storage solution or application, or a partner event data source), and delivers the events to one or more event data stores. You use channels to ingest events into CloudTrail from sources outside AWS. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudtrail-channel.html)", + "markdownDescription": "Resource schema for AWS::DataSync::Task. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datasync-task.html)", "allOf": [ { "type": "object", @@ -37518,18 +37483,19 @@ "Type": { "type": "string", "enum": [ - "AWS::CloudTrail::Channel" + "AWS::DataSync::Task" ], "markdownEnumDescriptions": [ - "A channel receives events from a specific source (such as an on-premises storage solution or application, or a partner event data source), and delivers the events to one or more event data stores. You use channels to ingest events into CloudTrail from sources outside AWS. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudtrail-channel.html)" + "Resource schema for AWS::DataSync::Task. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datasync-task.html)" ] }, "Properties": { - "$ref": "resources/aws-cloudtrail-channel.json" + "$ref": "resources/aws-datasync-task.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -37538,9 +37504,9 @@ ], "additionalProperties": false }, - "AWS_ServiceCatalog_LaunchRoleConstraint": { + "AWS_EMR_WALWorkspace": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::ServiceCatalog::LaunchRoleConstraint \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicecatalog-launchroleconstraint.html)", + "markdownDescription": "Resource schema for AWS::EMR::WALWorkspace Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-emr-walworkspace.html)", "allOf": [ { "type": "object", @@ -37548,19 +37514,18 @@ "Type": { "type": "string", "enum": [ - "AWS::ServiceCatalog::LaunchRoleConstraint" + "AWS::EMR::WALWorkspace" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::ServiceCatalog::LaunchRoleConstraint \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicecatalog-launchroleconstraint.html)" + "Resource schema for AWS::EMR::WALWorkspace Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-emr-walworkspace.html)" ] }, "Properties": { - "$ref": "resources/aws-servicecatalog-launchroleconstraint.json" + "$ref": "resources/aws-emr-walworkspace.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -37569,9 +37534,9 @@ ], "additionalProperties": false }, - "AWS_Route53Resolver_FirewallRuleGroup": { + "AWS_AppConfig_Environment": { "type": "object", - "markdownDescription": "Resource schema for AWS::Route53Resolver::FirewallRuleGroup. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53resolver-firewallrulegroup.html)", + "markdownDescription": "Resource Type definition for AWS::AppConfig::Environment \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appconfig-environment.html)", "allOf": [ { "type": "object", @@ -37579,18 +37544,19 @@ "Type": { "type": "string", "enum": [ - "AWS::Route53Resolver::FirewallRuleGroup" + "AWS::AppConfig::Environment" ], "markdownEnumDescriptions": [ - "Resource schema for AWS::Route53Resolver::FirewallRuleGroup. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53resolver-firewallrulegroup.html)" + "Resource Type definition for AWS::AppConfig::Environment \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appconfig-environment.html)" ] }, "Properties": { - "$ref": "resources/aws-route53resolver-firewallrulegroup.json" + "$ref": "resources/aws-appconfig-environment.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -37599,9 +37565,9 @@ ], "additionalProperties": false }, - "AWS_EC2_NetworkInsightsAccessScope": { + "AWS_CUR_ReportDefinition": { "type": "object", - "markdownDescription": "Resource schema for AWS::EC2::NetworkInsightsAccessScope \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-networkinsightsaccessscope.html)", + "markdownDescription": "The AWS::CUR::ReportDefinition resource creates a Cost & Usage Report with user-defined settings. You can use this resource to define settings like time granularity (hourly, daily, monthly), file format (Parquet, CSV), and S3 bucket for delivery of these reports. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cur-reportdefinition.html)", "allOf": [ { "type": "object", @@ -37609,18 +37575,19 @@ "Type": { "type": "string", "enum": [ - "AWS::EC2::NetworkInsightsAccessScope" + "AWS::CUR::ReportDefinition" ], "markdownEnumDescriptions": [ - "Resource schema for AWS::EC2::NetworkInsightsAccessScope \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-networkinsightsaccessscope.html)" + "The AWS::CUR::ReportDefinition resource creates a Cost & Usage Report with user-defined settings. You can use this resource to define settings like time granularity (hourly, daily, monthly), file format (Parquet, CSV), and S3 bucket for delivery of these reports. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cur-reportdefinition.html)" ] }, "Properties": { - "$ref": "resources/aws-ec2-networkinsightsaccessscope.json" + "$ref": "resources/aws-cur-reportdefinition.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -37629,9 +37596,9 @@ ], "additionalProperties": false }, - "AWS_SageMaker_UserProfile": { + "AWS_RefactorSpaces_Application": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::SageMaker::UserProfile \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-userprofile.html)", + "markdownDescription": "Definition of AWS::RefactorSpaces::Application Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-refactorspaces-application.html)", "allOf": [ { "type": "object", @@ -37639,14 +37606,14 @@ "Type": { "type": "string", "enum": [ - "AWS::SageMaker::UserProfile" + "AWS::RefactorSpaces::Application" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::SageMaker::UserProfile \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-userprofile.html)" + "Definition of AWS::RefactorSpaces::Application Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-refactorspaces-application.html)" ] }, "Properties": { - "$ref": "resources/aws-sagemaker-userprofile.json" + "$ref": "resources/aws-refactorspaces-application.json" } }, "required": [ @@ -37660,9 +37627,9 @@ ], "additionalProperties": false }, - "AWS_CodePipeline_Webhook": { + "AWS_BCMDataExports_Export": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::CodePipeline::Webhook \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codepipeline-webhook.html)", + "markdownDescription": "Definition of AWS::BCMDataExports::Export Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-bcmdataexports-export.html)", "allOf": [ { "type": "object", @@ -37670,14 +37637,14 @@ "Type": { "type": "string", "enum": [ - "AWS::CodePipeline::Webhook" + "AWS::BCMDataExports::Export" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::CodePipeline::Webhook \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codepipeline-webhook.html)" + "Definition of AWS::BCMDataExports::Export Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-bcmdataexports-export.html)" ] }, "Properties": { - "$ref": "resources/aws-codepipeline-webhook.json" + "$ref": "resources/aws-bcmdataexports-export.json" } }, "required": [ @@ -37691,9 +37658,9 @@ ], "additionalProperties": false }, - "AWS_CodeStarNotifications_NotificationRule": { + "AWS_IoTCoreDeviceAdvisor_SuiteDefinition": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::CodeStarNotifications::NotificationRule \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codestarnotifications-notificationrule.html)", + "markdownDescription": "An example resource schema demonstrating some basic constructs and validation rules. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotcoredeviceadvisor-suitedefinition.html)", "allOf": [ { "type": "object", @@ -37701,14 +37668,14 @@ "Type": { "type": "string", "enum": [ - "AWS::CodeStarNotifications::NotificationRule" + "AWS::IoTCoreDeviceAdvisor::SuiteDefinition" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::CodeStarNotifications::NotificationRule \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codestarnotifications-notificationrule.html)" + "An example resource schema demonstrating some basic constructs and validation rules. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotcoredeviceadvisor-suitedefinition.html)" ] }, "Properties": { - "$ref": "resources/aws-codestarnotifications-notificationrule.json" + "$ref": "resources/aws-iotcoredeviceadvisor-suitedefinition.json" } }, "required": [ @@ -37722,9 +37689,9 @@ ], "additionalProperties": false }, - "AWS_EC2_Instance": { + "AWS_EC2_Subnet": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::EC2::Instance \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-instance.html)", + "markdownDescription": "Specifies a subnet for the specified VPC.\n For an IPv4 only subnet, specify an IPv4 CIDR block. If the VPC has an IPv6 CIDR block, you can create an IPv6 only subnet or a dual stack subnet instead. For an IPv6 only subnet, specify an IPv6 CIDR block. For a dual stack subnet, specify both an IPv4 CIDR block and an IPv6 CIDR block.\n For more information, see [Subnets for your VPC](https://docs.aws.amazon.com/vpc/latest/userguide/configure-subnets.html) in the *Amazon VPC User Guide*. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-subnet.html)", "allOf": [ { "type": "object", @@ -37732,18 +37699,19 @@ "Type": { "type": "string", "enum": [ - "AWS::EC2::Instance" + "AWS::EC2::Subnet" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::EC2::Instance \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-instance.html)" + "Specifies a subnet for the specified VPC.\n For an IPv4 only subnet, specify an IPv4 CIDR block. If the VPC has an IPv6 CIDR block, you can create an IPv6 only subnet or a dual stack subnet instead. For an IPv6 only subnet, specify an IPv6 CIDR block. For a dual stack subnet, specify both an IPv4 CIDR block and an IPv6 CIDR block.\n For more information, see [Subnets for your VPC](https://docs.aws.amazon.com/vpc/latest/userguide/configure-subnets.html) in the *Amazon VPC User Guide*. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-subnet.html)" ] }, "Properties": { - "$ref": "resources/aws-ec2-instance.json" + "$ref": "resources/aws-ec2-subnet.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -37752,9 +37720,9 @@ ], "additionalProperties": false }, - "AWS_EC2_EIP": { + "AWS_MemoryDB_SubnetGroup": { "type": "object", - "markdownDescription": "Specifies an Elastic IP (EIP) address and can, optionally, associate it with an Amazon EC2 instance.\n You can allocate an Elastic IP address from an address pool owned by AWS or from an address pool created from a public IPv4 address range that you have brought to AWS for use with your AWS resources using bring your own IP addresses (BYOIP). For more information, see [Bring Your Own IP Addresses (BYOIP)](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-byoip.html) in the *Amazon EC2 User Guide*.\n For more information, see [Elastic IP Addresses](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/elastic-ip-addresses-eip.html) in the *Amazon EC2 User Guide*. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-eip.html)", + "markdownDescription": "The AWS::MemoryDB::SubnetGroup resource creates an Amazon MemoryDB Subnet Group. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-memorydb-subnetgroup.html)", "allOf": [ { "type": "object", @@ -37762,18 +37730,19 @@ "Type": { "type": "string", "enum": [ - "AWS::EC2::EIP" + "AWS::MemoryDB::SubnetGroup" ], "markdownEnumDescriptions": [ - "Specifies an Elastic IP (EIP) address and can, optionally, associate it with an Amazon EC2 instance.\n You can allocate an Elastic IP address from an address pool owned by AWS or from an address pool created from a public IPv4 address range that you have brought to AWS for use with your AWS resources using bring your own IP addresses (BYOIP). For more information, see [Bring Your Own IP Addresses (BYOIP)](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-byoip.html) in the *Amazon EC2 User Guide*.\n For more information, see [Elastic IP Addresses](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/elastic-ip-addresses-eip.html) in the *Amazon EC2 User Guide*. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-eip.html)" + "The AWS::MemoryDB::SubnetGroup resource creates an Amazon MemoryDB Subnet Group. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-memorydb-subnetgroup.html)" ] }, "Properties": { - "$ref": "resources/aws-ec2-eip.json" + "$ref": "resources/aws-memorydb-subnetgroup.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -37782,9 +37751,9 @@ ], "additionalProperties": false }, - "AWS_AutoScaling_LifecycleHook": { + "AWS_Scheduler_Schedule": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::AutoScaling::LifecycleHook \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-autoscaling-lifecyclehook.html)", + "markdownDescription": "Definition of AWS::Scheduler::Schedule Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-scheduler-schedule.html)", "allOf": [ { "type": "object", @@ -37792,14 +37761,14 @@ "Type": { "type": "string", "enum": [ - "AWS::AutoScaling::LifecycleHook" + "AWS::Scheduler::Schedule" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::AutoScaling::LifecycleHook \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-autoscaling-lifecyclehook.html)" + "Definition of AWS::Scheduler::Schedule Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-scheduler-schedule.html)" ] }, "Properties": { - "$ref": "resources/aws-autoscaling-lifecyclehook.json" + "$ref": "resources/aws-scheduler-schedule.json" } }, "required": [ @@ -37813,9 +37782,9 @@ ], "additionalProperties": false }, - "AWS_RDS_OptionGroup": { + "AWS_Backup_LogicallyAirGappedBackupVault": { "type": "object", - "markdownDescription": "The ``AWS::RDS::OptionGroup`` resource creates or updates an option group, to enable and configure features that are specific to a particular DB engine. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-optiongroup.html)", + "markdownDescription": "Resource Type definition for AWS::Backup::LogicallyAirGappedBackupVault \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-backup-logicallyairgappedbackupvault.html)", "allOf": [ { "type": "object", @@ -37823,14 +37792,14 @@ "Type": { "type": "string", "enum": [ - "AWS::RDS::OptionGroup" + "AWS::Backup::LogicallyAirGappedBackupVault" ], "markdownEnumDescriptions": [ - "The ``AWS::RDS::OptionGroup`` resource creates or updates an option group, to enable and configure features that are specific to a particular DB engine. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-optiongroup.html)" + "Resource Type definition for AWS::Backup::LogicallyAirGappedBackupVault \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-backup-logicallyairgappedbackupvault.html)" ] }, "Properties": { - "$ref": "resources/aws-rds-optiongroup.json" + "$ref": "resources/aws-backup-logicallyairgappedbackupvault.json" } }, "required": [ @@ -37844,9 +37813,9 @@ ], "additionalProperties": false }, - "AWS_EC2_InstanceConnectEndpoint": { + "AWS_Route53Resolver_FirewallDomainList": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::EC2::InstanceConnectEndpoint \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-instanceconnectendpoint.html)", + "markdownDescription": "Resource schema for AWS::Route53Resolver::FirewallDomainList. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53resolver-firewalldomainlist.html)", "allOf": [ { "type": "object", @@ -37854,19 +37823,18 @@ "Type": { "type": "string", "enum": [ - "AWS::EC2::InstanceConnectEndpoint" + "AWS::Route53Resolver::FirewallDomainList" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::EC2::InstanceConnectEndpoint \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-instanceconnectendpoint.html)" + "Resource schema for AWS::Route53Resolver::FirewallDomainList. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53resolver-firewalldomainlist.html)" ] }, "Properties": { - "$ref": "resources/aws-ec2-instanceconnectendpoint.json" + "$ref": "resources/aws-route53resolver-firewalldomainlist.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -37875,9 +37843,9 @@ ], "additionalProperties": false }, - "AWS_RolesAnywhere_TrustAnchor": { + "AWS_Oam_Link": { "type": "object", - "markdownDescription": "Definition of AWS::RolesAnywhere::TrustAnchor Resource Type. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rolesanywhere-trustanchor.html)", + "markdownDescription": "Definition of AWS::Oam::Link Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-oam-link.html)", "allOf": [ { "type": "object", @@ -37885,14 +37853,14 @@ "Type": { "type": "string", "enum": [ - "AWS::RolesAnywhere::TrustAnchor" + "AWS::Oam::Link" ], "markdownEnumDescriptions": [ - "Definition of AWS::RolesAnywhere::TrustAnchor Resource Type. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rolesanywhere-trustanchor.html)" + "Definition of AWS::Oam::Link Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-oam-link.html)" ] }, "Properties": { - "$ref": "resources/aws-rolesanywhere-trustanchor.json" + "$ref": "resources/aws-oam-link.json" } }, "required": [ @@ -37906,9 +37874,9 @@ ], "additionalProperties": false }, - "AWS_WAF_WebACL": { + "AWS_WAF_SqlInjectionMatchSet": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::WAF::WebACL \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-waf-webacl.html)", + "markdownDescription": "Resource Type definition for AWS::WAF::SqlInjectionMatchSet \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-waf-sqlinjectionmatchset.html)", "allOf": [ { "type": "object", @@ -37916,14 +37884,14 @@ "Type": { "type": "string", "enum": [ - "AWS::WAF::WebACL" + "AWS::WAF::SqlInjectionMatchSet" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::WAF::WebACL \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-waf-webacl.html)" + "Resource Type definition for AWS::WAF::SqlInjectionMatchSet \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-waf-sqlinjectionmatchset.html)" ] }, "Properties": { - "$ref": "resources/aws-waf-webacl.json" + "$ref": "resources/aws-waf-sqlinjectionmatchset.json" } }, "required": [ @@ -37937,9 +37905,9 @@ ], "additionalProperties": false }, - "AWS_EMR_SecurityConfiguration": { + "AWS_CodeStarConnections_SyncConfiguration": { "type": "object", - "markdownDescription": "Use a SecurityConfiguration resource to configure data encryption, Kerberos authentication, and Amazon S3 authorization for EMRFS. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-emr-securityconfiguration.html)", + "markdownDescription": "Schema for AWS::CodeStarConnections::SyncConfiguration resource which is used to enables an AWS resource to be synchronized from a source-provider. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codestarconnections-syncconfiguration.html)", "allOf": [ { "type": "object", @@ -37947,14 +37915,14 @@ "Type": { "type": "string", "enum": [ - "AWS::EMR::SecurityConfiguration" + "AWS::CodeStarConnections::SyncConfiguration" ], "markdownEnumDescriptions": [ - "Use a SecurityConfiguration resource to configure data encryption, Kerberos authentication, and Amazon S3 authorization for EMRFS. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-emr-securityconfiguration.html)" + "Schema for AWS::CodeStarConnections::SyncConfiguration resource which is used to enables an AWS resource to be synchronized from a source-provider. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codestarconnections-syncconfiguration.html)" ] }, "Properties": { - "$ref": "resources/aws-emr-securityconfiguration.json" + "$ref": "resources/aws-codestarconnections-syncconfiguration.json" } }, "required": [ @@ -37968,9 +37936,9 @@ ], "additionalProperties": false }, - "AWS_ControlTower_EnabledControl": { + "AWS_DataZone_EnvironmentProfile": { "type": "object", - "markdownDescription": "Enables a control on a specified target. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-controltower-enabledcontrol.html)", + "markdownDescription": "AWS Datazone Environment Profile is pre-configured set of resources and blueprints that provide reusable templates for creating environments. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datazone-environmentprofile.html)", "allOf": [ { "type": "object", @@ -37978,14 +37946,14 @@ "Type": { "type": "string", "enum": [ - "AWS::ControlTower::EnabledControl" + "AWS::DataZone::EnvironmentProfile" ], "markdownEnumDescriptions": [ - "Enables a control on a specified target. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-controltower-enabledcontrol.html)" + "AWS Datazone Environment Profile is pre-configured set of resources and blueprints that provide reusable templates for creating environments. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datazone-environmentprofile.html)" ] }, "Properties": { - "$ref": "resources/aws-controltower-enabledcontrol.json" + "$ref": "resources/aws-datazone-environmentprofile.json" } }, "required": [ @@ -37999,9 +37967,9 @@ ], "additionalProperties": false }, - "AWS_EC2_ClientVpnEndpoint": { + "AWS_EMR_InstanceFleetConfig": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::EC2::ClientVpnEndpoint \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-clientvpnendpoint.html)", + "markdownDescription": "Resource Type definition for AWS::EMR::InstanceFleetConfig \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-emr-instancefleetconfig.html)", "allOf": [ { "type": "object", @@ -38009,14 +37977,14 @@ "Type": { "type": "string", "enum": [ - "AWS::EC2::ClientVpnEndpoint" + "AWS::EMR::InstanceFleetConfig" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::EC2::ClientVpnEndpoint \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-clientvpnendpoint.html)" + "Resource Type definition for AWS::EMR::InstanceFleetConfig \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-emr-instancefleetconfig.html)" ] }, "Properties": { - "$ref": "resources/aws-ec2-clientvpnendpoint.json" + "$ref": "resources/aws-emr-instancefleetconfig.json" } }, "required": [ @@ -38030,9 +37998,9 @@ ], "additionalProperties": false }, - "AWS_Connect_ViewVersion": { + "AWS_FinSpace_Environment": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::Connect::ViewVersion \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-connect-viewversion.html)", + "markdownDescription": "An example resource schema demonstrating some basic constructs and validation rules. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-finspace-environment.html)", "allOf": [ { "type": "object", @@ -38040,14 +38008,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Connect::ViewVersion" + "AWS::FinSpace::Environment" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::Connect::ViewVersion \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-connect-viewversion.html)" + "An example resource schema demonstrating some basic constructs and validation rules. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-finspace-environment.html)" ] }, "Properties": { - "$ref": "resources/aws-connect-viewversion.json" + "$ref": "resources/aws-finspace-environment.json" } }, "required": [ @@ -38061,9 +38029,9 @@ ], "additionalProperties": false }, - "AWS_Glue_Connection": { + "AWS_ElastiCache_GlobalReplicationGroup": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::Glue::Connection \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-connection.html)", + "markdownDescription": "The AWS::ElastiCache::GlobalReplicationGroup resource creates an Amazon ElastiCache Global Replication Group. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticache-globalreplicationgroup.html)", "allOf": [ { "type": "object", @@ -38071,14 +38039,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Glue::Connection" + "AWS::ElastiCache::GlobalReplicationGroup" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::Glue::Connection \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-connection.html)" + "The AWS::ElastiCache::GlobalReplicationGroup resource creates an Amazon ElastiCache Global Replication Group. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticache-globalreplicationgroup.html)" ] }, "Properties": { - "$ref": "resources/aws-glue-connection.json" + "$ref": "resources/aws-elasticache-globalreplicationgroup.json" } }, "required": [ @@ -38092,9 +38060,9 @@ ], "additionalProperties": false }, - "AWS_OpenSearchServerless_LifecyclePolicy": { + "AWS_IAM_UserPolicy": { "type": "object", - "markdownDescription": "Amazon OpenSearchServerless lifecycle policy resource \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opensearchserverless-lifecyclepolicy.html)", + "markdownDescription": "Adds or updates an inline policy document that is embedded in the specified IAM user.\n An IAM user can also have a managed policy attached to it. To attach a managed policy to a user, use [AWS::IAM::User](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iam-user.html). To create a new managed policy, use [AWS::IAM::ManagedPolicy](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-managedpolicy.html). For information about policies, see [Managed policies and inline policies](https://docs.aws.amazon.com/IAM/latest/UserGuide/policies-managed-vs-inline.html) in the *IAM User Guide*.\n For information about the maximum number of inline policies that you can embed in a user, see [IAM and quotas](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_iam-quotas.html) in the *IAM User Guide*. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-userpolicy.html)", "allOf": [ { "type": "object", @@ -38102,14 +38070,14 @@ "Type": { "type": "string", "enum": [ - "AWS::OpenSearchServerless::LifecyclePolicy" + "AWS::IAM::UserPolicy" ], "markdownEnumDescriptions": [ - "Amazon OpenSearchServerless lifecycle policy resource \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opensearchserverless-lifecyclepolicy.html)" + "Adds or updates an inline policy document that is embedded in the specified IAM user.\n An IAM user can also have a managed policy attached to it. To attach a managed policy to a user, use [AWS::IAM::User](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iam-user.html). To create a new managed policy, use [AWS::IAM::ManagedPolicy](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-managedpolicy.html). For information about policies, see [Managed policies and inline policies](https://docs.aws.amazon.com/IAM/latest/UserGuide/policies-managed-vs-inline.html) in the *IAM User Guide*.\n For information about the maximum number of inline policies that you can embed in a user, see [IAM and quotas](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_iam-quotas.html) in the *IAM User Guide*. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-userpolicy.html)" ] }, "Properties": { - "$ref": "resources/aws-opensearchserverless-lifecyclepolicy.json" + "$ref": "resources/aws-iam-userpolicy.json" } }, "required": [ @@ -38123,9 +38091,9 @@ ], "additionalProperties": false }, - "AWS_Bedrock_FlowVersion": { + "AWS_Signer_ProfilePermission": { "type": "object", - "markdownDescription": "Definition of AWS::Bedrock::FlowVersion Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-bedrock-flowversion.html)", + "markdownDescription": "An example resource schema demonstrating some basic constructs and validation rules. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-signer-profilepermission.html)", "allOf": [ { "type": "object", @@ -38133,14 +38101,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Bedrock::FlowVersion" + "AWS::Signer::ProfilePermission" ], "markdownEnumDescriptions": [ - "Definition of AWS::Bedrock::FlowVersion Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-bedrock-flowversion.html)" + "An example resource schema demonstrating some basic constructs and validation rules. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-signer-profilepermission.html)" ] }, "Properties": { - "$ref": "resources/aws-bedrock-flowversion.json" + "$ref": "resources/aws-signer-profilepermission.json" } }, "required": [ @@ -38154,9 +38122,9 @@ ], "additionalProperties": false }, - "AWS_Elasticsearch_Domain": { + "AWS_Cognito_UserPoolUserToGroupAttachment": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::Elasticsearch::Domain \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticsearch-domain.html)", + "markdownDescription": "Resource Type definition for AWS::Cognito::UserPoolUserToGroupAttachment \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpoolusertogroupattachment.html)", "allOf": [ { "type": "object", @@ -38164,18 +38132,19 @@ "Type": { "type": "string", "enum": [ - "AWS::Elasticsearch::Domain" + "AWS::Cognito::UserPoolUserToGroupAttachment" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::Elasticsearch::Domain \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticsearch-domain.html)" + "Resource Type definition for AWS::Cognito::UserPoolUserToGroupAttachment \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpoolusertogroupattachment.html)" ] }, "Properties": { - "$ref": "resources/aws-elasticsearch-domain.json" + "$ref": "resources/aws-cognito-userpoolusertogroupattachment.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -38184,9 +38153,9 @@ ], "additionalProperties": false }, - "AWS_Lex_ResourcePolicy": { + "AWS_Lambda_CodeSigningConfig": { "type": "object", - "markdownDescription": "A resource policy with specified policy statements that attaches to a Lex bot or bot alias. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lex-resourcepolicy.html)", + "markdownDescription": "Resource Type definition for AWS::Lambda::CodeSigningConfig. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-codesigningconfig.html)", "allOf": [ { "type": "object", @@ -38194,14 +38163,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Lex::ResourcePolicy" + "AWS::Lambda::CodeSigningConfig" ], "markdownEnumDescriptions": [ - "A resource policy with specified policy statements that attaches to a Lex bot or bot alias. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lex-resourcepolicy.html)" + "Resource Type definition for AWS::Lambda::CodeSigningConfig. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-codesigningconfig.html)" ] }, "Properties": { - "$ref": "resources/aws-lex-resourcepolicy.json" + "$ref": "resources/aws-lambda-codesigningconfig.json" } }, "required": [ @@ -38215,9 +38184,9 @@ ], "additionalProperties": false }, - "AWS_DMS_InstanceProfile": { + "AWS_Lightsail_Instance": { "type": "object", - "markdownDescription": "Resource schema for AWS::DMS::InstanceProfile. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dms-instanceprofile.html)", + "markdownDescription": "Resource Type definition for AWS::Lightsail::Instance \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lightsail-instance.html)", "allOf": [ { "type": "object", @@ -38225,18 +38194,19 @@ "Type": { "type": "string", "enum": [ - "AWS::DMS::InstanceProfile" + "AWS::Lightsail::Instance" ], "markdownEnumDescriptions": [ - "Resource schema for AWS::DMS::InstanceProfile. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dms-instanceprofile.html)" + "Resource Type definition for AWS::Lightsail::Instance \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lightsail-instance.html)" ] }, "Properties": { - "$ref": "resources/aws-dms-instanceprofile.json" + "$ref": "resources/aws-lightsail-instance.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -38245,9 +38215,9 @@ ], "additionalProperties": false }, - "AWS_SecretsManager_RotationSchedule": { + "AWS_IoT_ScheduledAudit": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::SecretsManager::RotationSchedule \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-secretsmanager-rotationschedule.html)", + "markdownDescription": "Scheduled audits can be used to specify the checks you want to perform during an audit and how often the audit should be run. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-scheduledaudit.html)", "allOf": [ { "type": "object", @@ -38255,14 +38225,14 @@ "Type": { "type": "string", "enum": [ - "AWS::SecretsManager::RotationSchedule" + "AWS::IoT::ScheduledAudit" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::SecretsManager::RotationSchedule \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-secretsmanager-rotationschedule.html)" + "Scheduled audits can be used to specify the checks you want to perform during an audit and how often the audit should be run. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-scheduledaudit.html)" ] }, "Properties": { - "$ref": "resources/aws-secretsmanager-rotationschedule.json" + "$ref": "resources/aws-iot-scheduledaudit.json" } }, "required": [ @@ -38276,9 +38246,9 @@ ], "additionalProperties": false }, - "AWS_Panorama_Package": { + "AWS_CleanRooms_IdNamespaceAssociation": { "type": "object", - "markdownDescription": "Creates a package and storage location in an Amazon S3 access point. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-panorama-package.html)", + "markdownDescription": "Represents an association between an ID namespace and a collaboration \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cleanrooms-idnamespaceassociation.html)", "allOf": [ { "type": "object", @@ -38286,14 +38256,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Panorama::Package" + "AWS::CleanRooms::IdNamespaceAssociation" ], "markdownEnumDescriptions": [ - "Creates a package and storage location in an Amazon S3 access point. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-panorama-package.html)" + "Represents an association between an ID namespace and a collaboration \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cleanrooms-idnamespaceassociation.html)" ] }, "Properties": { - "$ref": "resources/aws-panorama-package.json" + "$ref": "resources/aws-cleanrooms-idnamespaceassociation.json" } }, "required": [ @@ -38307,9 +38277,9 @@ ], "additionalProperties": false }, - "AWS_Route53RecoveryReadiness_RecoveryGroup": { + "AWS_EventSchemas_RegistryPolicy": { "type": "object", - "markdownDescription": "AWS Route53 Recovery Readiness Recovery Group Schema and API specifications. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53recoveryreadiness-recoverygroup.html)", + "markdownDescription": "Resource Type definition for AWS::EventSchemas::RegistryPolicy \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-eventschemas-registrypolicy.html)", "allOf": [ { "type": "object", @@ -38317,18 +38287,19 @@ "Type": { "type": "string", "enum": [ - "AWS::Route53RecoveryReadiness::RecoveryGroup" + "AWS::EventSchemas::RegistryPolicy" ], "markdownEnumDescriptions": [ - "AWS Route53 Recovery Readiness Recovery Group Schema and API specifications. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53recoveryreadiness-recoverygroup.html)" + "Resource Type definition for AWS::EventSchemas::RegistryPolicy \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-eventschemas-registrypolicy.html)" ] }, "Properties": { - "$ref": "resources/aws-route53recoveryreadiness-recoverygroup.json" + "$ref": "resources/aws-eventschemas-registrypolicy.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -38337,9 +38308,9 @@ ], "additionalProperties": false }, - "AWS_ApiGateway_ApiKey": { + "AWS_QBusiness_Index": { "type": "object", - "markdownDescription": "The ``AWS::ApiGateway::ApiKey`` resource creates a unique key that you can distribute to clients who are executing API Gateway ``Method`` resources that require an API key. To specify which API key clients must use, map the API key with the ``RestApi`` and ``Stage`` resources that include the methods that require a key. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-apikey.html)", + "markdownDescription": "Definition of AWS::QBusiness::Index Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-qbusiness-index.html)", "allOf": [ { "type": "object", @@ -38347,18 +38318,19 @@ "Type": { "type": "string", "enum": [ - "AWS::ApiGateway::ApiKey" + "AWS::QBusiness::Index" ], "markdownEnumDescriptions": [ - "The ``AWS::ApiGateway::ApiKey`` resource creates a unique key that you can distribute to clients who are executing API Gateway ``Method`` resources that require an API key. To specify which API key clients must use, map the API key with the ``RestApi`` and ``Stage`` resources that include the methods that require a key. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-apikey.html)" + "Definition of AWS::QBusiness::Index Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-qbusiness-index.html)" ] }, "Properties": { - "$ref": "resources/aws-apigateway-apikey.json" + "$ref": "resources/aws-qbusiness-index.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -38367,9 +38339,9 @@ ], "additionalProperties": false }, - "AWS_Pinpoint_PushTemplate": { + "AWS_ARCZonalShift_ZonalAutoshiftConfiguration": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::Pinpoint::PushTemplate \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-pushtemplate.html)", + "markdownDescription": "Definition of AWS::ARCZonalShift::ZonalAutoshiftConfiguration Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-arczonalshift-zonalautoshiftconfiguration.html)", "allOf": [ { "type": "object", @@ -38377,19 +38349,18 @@ "Type": { "type": "string", "enum": [ - "AWS::Pinpoint::PushTemplate" + "AWS::ARCZonalShift::ZonalAutoshiftConfiguration" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::Pinpoint::PushTemplate \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-pushtemplate.html)" + "Definition of AWS::ARCZonalShift::ZonalAutoshiftConfiguration Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-arczonalshift-zonalautoshiftconfiguration.html)" ] }, "Properties": { - "$ref": "resources/aws-pinpoint-pushtemplate.json" + "$ref": "resources/aws-arczonalshift-zonalautoshiftconfiguration.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -38398,9 +38369,9 @@ ], "additionalProperties": false }, - "AWS_MediaStore_Container": { + "AWS_CodeBuild_Fleet": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::MediaStore::Container \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediastore-container.html)", + "markdownDescription": "Resource Type definition for AWS::CodeBuild::Fleet \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codebuild-fleet.html)", "allOf": [ { "type": "object", @@ -38408,19 +38379,18 @@ "Type": { "type": "string", "enum": [ - "AWS::MediaStore::Container" + "AWS::CodeBuild::Fleet" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::MediaStore::Container \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediastore-container.html)" + "Resource Type definition for AWS::CodeBuild::Fleet \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codebuild-fleet.html)" ] }, "Properties": { - "$ref": "resources/aws-mediastore-container.json" + "$ref": "resources/aws-codebuild-fleet.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -38429,9 +38399,9 @@ ], "additionalProperties": false }, - "AWS_AppStream_Entitlement": { + "AWS_Greengrass_ConnectorDefinitionVersion": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::AppStream::Entitlement \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appstream-entitlement.html)", + "markdownDescription": "Resource Type definition for AWS::Greengrass::ConnectorDefinitionVersion \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-connectordefinitionversion.html)", "allOf": [ { "type": "object", @@ -38439,14 +38409,14 @@ "Type": { "type": "string", "enum": [ - "AWS::AppStream::Entitlement" + "AWS::Greengrass::ConnectorDefinitionVersion" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::AppStream::Entitlement \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appstream-entitlement.html)" + "Resource Type definition for AWS::Greengrass::ConnectorDefinitionVersion \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-connectordefinitionversion.html)" ] }, "Properties": { - "$ref": "resources/aws-appstream-entitlement.json" + "$ref": "resources/aws-greengrass-connectordefinitionversion.json" } }, "required": [ @@ -38460,9 +38430,9 @@ ], "additionalProperties": false }, - "AWS_NimbleStudio_Studio": { + "AWS_IVS_PlaybackKeyPair": { "type": "object", - "markdownDescription": "Represents a studio that contains other Nimble Studio resources \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-nimblestudio-studio.html)", + "markdownDescription": "Resource Type definition for AWS::IVS::PlaybackKeyPair \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ivs-playbackkeypair.html)", "allOf": [ { "type": "object", @@ -38470,19 +38440,18 @@ "Type": { "type": "string", "enum": [ - "AWS::NimbleStudio::Studio" + "AWS::IVS::PlaybackKeyPair" ], "markdownEnumDescriptions": [ - "Represents a studio that contains other Nimble Studio resources \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-nimblestudio-studio.html)" + "Resource Type definition for AWS::IVS::PlaybackKeyPair \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ivs-playbackkeypair.html)" ] }, "Properties": { - "$ref": "resources/aws-nimblestudio-studio.json" + "$ref": "resources/aws-ivs-playbackkeypair.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -38491,9 +38460,9 @@ ], "additionalProperties": false }, - "AWS_SES_MailManagerRelay": { + "AWS_AmplifyUIBuilder_Theme": { "type": "object", - "markdownDescription": "Definition of AWS::SES::MailManagerRelay Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ses-mailmanagerrelay.html)", + "markdownDescription": "Definition of AWS::AmplifyUIBuilder::Theme Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-amplifyuibuilder-theme.html)", "allOf": [ { "type": "object", @@ -38501,19 +38470,18 @@ "Type": { "type": "string", "enum": [ - "AWS::SES::MailManagerRelay" + "AWS::AmplifyUIBuilder::Theme" ], "markdownEnumDescriptions": [ - "Definition of AWS::SES::MailManagerRelay Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ses-mailmanagerrelay.html)" + "Definition of AWS::AmplifyUIBuilder::Theme Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-amplifyuibuilder-theme.html)" ] }, "Properties": { - "$ref": "resources/aws-ses-mailmanagerrelay.json" + "$ref": "resources/aws-amplifyuibuilder-theme.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -38522,9 +38490,9 @@ ], "additionalProperties": false }, - "AWS_WAFv2_RegexPatternSet": { + "AWS_ApiGatewayV2_Deployment": { "type": "object", - "markdownDescription": "Contains a list of Regular expressions based on the provided inputs. RegexPatternSet can be used with other WAF entities with RegexPatternSetReferenceStatement to perform other actions . \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-wafv2-regexpatternset.html)", + "markdownDescription": "The ``AWS::ApiGatewayV2::Deployment`` resource creates a deployment for an API. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-deployment.html)", "allOf": [ { "type": "object", @@ -38532,14 +38500,14 @@ "Type": { "type": "string", "enum": [ - "AWS::WAFv2::RegexPatternSet" + "AWS::ApiGatewayV2::Deployment" ], "markdownEnumDescriptions": [ - "Contains a list of Regular expressions based on the provided inputs. RegexPatternSet can be used with other WAF entities with RegexPatternSetReferenceStatement to perform other actions . \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-wafv2-regexpatternset.html)" + "The ``AWS::ApiGatewayV2::Deployment`` resource creates a deployment for an API. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-deployment.html)" ] }, "Properties": { - "$ref": "resources/aws-wafv2-regexpatternset.json" + "$ref": "resources/aws-apigatewayv2-deployment.json" } }, "required": [ @@ -38553,9 +38521,9 @@ ], "additionalProperties": false }, - "AWS_Inspector_ResourceGroup": { + "AWS_ElastiCache_ReplicationGroup": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::Inspector::ResourceGroup \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-inspector-resourcegroup.html)", + "markdownDescription": "Resource Type definition for AWS::ElastiCache::ReplicationGroup \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticache-replicationgroup.html)", "allOf": [ { "type": "object", @@ -38563,14 +38531,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Inspector::ResourceGroup" + "AWS::ElastiCache::ReplicationGroup" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::Inspector::ResourceGroup \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-inspector-resourcegroup.html)" + "Resource Type definition for AWS::ElastiCache::ReplicationGroup \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticache-replicationgroup.html)" ] }, "Properties": { - "$ref": "resources/aws-inspector-resourcegroup.json" + "$ref": "resources/aws-elasticache-replicationgroup.json" } }, "required": [ @@ -38584,9 +38552,9 @@ ], "additionalProperties": false }, - "AWS_AppConfig_Extension": { + "AWS_EC2_TrafficMirrorSession": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::AppConfig::Extension \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appconfig-extension.html)", + "markdownDescription": "Resource Type definition for AWS::EC2::TrafficMirrorSession \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-trafficmirrorsession.html)", "allOf": [ { "type": "object", @@ -38594,14 +38562,14 @@ "Type": { "type": "string", "enum": [ - "AWS::AppConfig::Extension" + "AWS::EC2::TrafficMirrorSession" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::AppConfig::Extension \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appconfig-extension.html)" + "Resource Type definition for AWS::EC2::TrafficMirrorSession \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-trafficmirrorsession.html)" ] }, "Properties": { - "$ref": "resources/aws-appconfig-extension.json" + "$ref": "resources/aws-ec2-trafficmirrorsession.json" } }, "required": [ @@ -38615,9 +38583,9 @@ ], "additionalProperties": false }, - "AWS_IoTWireless_ServiceProfile": { + "AWS_ACMPCA_Certificate": { "type": "object", - "markdownDescription": "An example resource schema demonstrating some basic constructs and validation rules. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotwireless-serviceprofile.html)", + "markdownDescription": "The ``AWS::ACMPCA::Certificate`` resource is used to issue a certificate using your private certificate authority. For more information, see the [IssueCertificate](https://docs.aws.amazon.com/privateca/latest/APIReference/API_IssueCertificate.html) action. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-acmpca-certificate.html)", "allOf": [ { "type": "object", @@ -38625,18 +38593,19 @@ "Type": { "type": "string", "enum": [ - "AWS::IoTWireless::ServiceProfile" + "AWS::ACMPCA::Certificate" ], "markdownEnumDescriptions": [ - "An example resource schema demonstrating some basic constructs and validation rules. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotwireless-serviceprofile.html)" + "The ``AWS::ACMPCA::Certificate`` resource is used to issue a certificate using your private certificate authority. For more information, see the [IssueCertificate](https://docs.aws.amazon.com/privateca/latest/APIReference/API_IssueCertificate.html) action. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-acmpca-certificate.html)" ] }, "Properties": { - "$ref": "resources/aws-iotwireless-serviceprofile.json" + "$ref": "resources/aws-acmpca-certificate.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -38645,9 +38614,9 @@ ], "additionalProperties": false }, - "AWS_DataZone_EnvironmentBlueprintConfiguration": { + "AWS_QBusiness_WebExperience": { "type": "object", - "markdownDescription": "Definition of AWS::DataZone::EnvironmentBlueprintConfiguration Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datazone-environmentblueprintconfiguration.html)", + "markdownDescription": "Definition of AWS::QBusiness::WebExperience Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-qbusiness-webexperience.html)", "allOf": [ { "type": "object", @@ -38655,14 +38624,14 @@ "Type": { "type": "string", "enum": [ - "AWS::DataZone::EnvironmentBlueprintConfiguration" + "AWS::QBusiness::WebExperience" ], "markdownEnumDescriptions": [ - "Definition of AWS::DataZone::EnvironmentBlueprintConfiguration Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datazone-environmentblueprintconfiguration.html)" + "Definition of AWS::QBusiness::WebExperience Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-qbusiness-webexperience.html)" ] }, "Properties": { - "$ref": "resources/aws-datazone-environmentblueprintconfiguration.json" + "$ref": "resources/aws-qbusiness-webexperience.json" } }, "required": [ @@ -38676,9 +38645,9 @@ ], "additionalProperties": false }, - "AWS_XRay_SamplingRule": { + "AWS_EC2_IPAMPool": { "type": "object", - "markdownDescription": "This schema provides construct and validation rules for AWS-XRay SamplingRule resource parameters. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-xray-samplingrule.html)", + "markdownDescription": "Resource Schema of AWS::EC2::IPAMPool Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-ipampool.html)", "allOf": [ { "type": "object", @@ -38686,18 +38655,19 @@ "Type": { "type": "string", "enum": [ - "AWS::XRay::SamplingRule" + "AWS::EC2::IPAMPool" ], "markdownEnumDescriptions": [ - "This schema provides construct and validation rules for AWS-XRay SamplingRule resource parameters. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-xray-samplingrule.html)" + "Resource Schema of AWS::EC2::IPAMPool Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-ipampool.html)" ] }, "Properties": { - "$ref": "resources/aws-xray-samplingrule.json" + "$ref": "resources/aws-ec2-ipampool.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -38706,9 +38676,9 @@ ], "additionalProperties": false }, - "AWS_CloudFormation_ResourceDefaultVersion": { + "AWS_ApiGateway_Stage": { "type": "object", - "markdownDescription": "The default version of a resource that has been registered in the CloudFormation Registry. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudformation-resourcedefaultversion.html)", + "markdownDescription": "The ``AWS::ApiGateway::Stage`` resource creates a stage for a deployment. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-stage.html)", "allOf": [ { "type": "object", @@ -38716,18 +38686,19 @@ "Type": { "type": "string", "enum": [ - "AWS::CloudFormation::ResourceDefaultVersion" + "AWS::ApiGateway::Stage" ], "markdownEnumDescriptions": [ - "The default version of a resource that has been registered in the CloudFormation Registry. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudformation-resourcedefaultversion.html)" + "The ``AWS::ApiGateway::Stage`` resource creates a stage for a deployment. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-stage.html)" ] }, "Properties": { - "$ref": "resources/aws-cloudformation-resourcedefaultversion.json" + "$ref": "resources/aws-apigateway-stage.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -38736,9 +38707,9 @@ ], "additionalProperties": false }, - "AWS_Pinpoint_APNSChannel": { + "AWS_ApiGatewayV2_Authorizer": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::Pinpoint::APNSChannel \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-apnschannel.html)", + "markdownDescription": "The ``AWS::ApiGatewayV2::Authorizer`` resource creates an authorizer for a WebSocket API or an HTTP API. To learn more, see [Controlling and managing access to a WebSocket API in API Gateway](https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-websocket-api-control-access.html) and [Controlling and managing access to an HTTP API in API Gateway](https://docs.aws.amazon.com/apigateway/latest/developerguide/http-api-access-control.html) in the *API Gateway Developer Guide*. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-authorizer.html)", "allOf": [ { "type": "object", @@ -38746,14 +38717,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Pinpoint::APNSChannel" + "AWS::ApiGatewayV2::Authorizer" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::Pinpoint::APNSChannel \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-apnschannel.html)" + "The ``AWS::ApiGatewayV2::Authorizer`` resource creates an authorizer for a WebSocket API or an HTTP API. To learn more, see [Controlling and managing access to a WebSocket API in API Gateway](https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-websocket-api-control-access.html) and [Controlling and managing access to an HTTP API in API Gateway](https://docs.aws.amazon.com/apigateway/latest/developerguide/http-api-access-control.html) in the *API Gateway Developer Guide*. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-authorizer.html)" ] }, "Properties": { - "$ref": "resources/aws-pinpoint-apnschannel.json" + "$ref": "resources/aws-apigatewayv2-authorizer.json" } }, "required": [ @@ -38767,9 +38738,9 @@ ], "additionalProperties": false }, - "AWS_FMS_ResourceSet": { + "AWS_AppSync_Resolver": { "type": "object", - "markdownDescription": "Creates an AWS Firewall Manager resource set. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-fms-resourceset.html)", + "markdownDescription": "The ``AWS::AppSync::Resolver`` resource defines the logical GraphQL resolver that you attach to fields in a schema. Request and response templates for resolvers are written in Apache Velocity Template Language (VTL) format. For more information about resolvers, see [Resolver Mapping Template Reference](https://docs.aws.amazon.com/appsync/latest/devguide/resolver-mapping-template-reference.html).\n When you submit an update, CFNLong updates resources based on differences between what you submit and the stack's current template. To cause this resource to be updated you must change a property value for this resource in the CFNshort template. Changing the S3 file content without changing a property value will not result in an update operation.\n See [Update Behaviors of Stack Resources](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html) in the *User Guide*. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-resolver.html)", "allOf": [ { "type": "object", @@ -38777,14 +38748,14 @@ "Type": { "type": "string", "enum": [ - "AWS::FMS::ResourceSet" + "AWS::AppSync::Resolver" ], "markdownEnumDescriptions": [ - "Creates an AWS Firewall Manager resource set. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-fms-resourceset.html)" + "The ``AWS::AppSync::Resolver`` resource defines the logical GraphQL resolver that you attach to fields in a schema. Request and response templates for resolvers are written in Apache Velocity Template Language (VTL) format. For more information about resolvers, see [Resolver Mapping Template Reference](https://docs.aws.amazon.com/appsync/latest/devguide/resolver-mapping-template-reference.html).\n When you submit an update, CFNLong updates resources based on differences between what you submit and the stack's current template. To cause this resource to be updated you must change a property value for this resource in the CFNshort template. Changing the S3 file content without changing a property value will not result in an update operation.\n See [Update Behaviors of Stack Resources](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html) in the *User Guide*. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-resolver.html)" ] }, "Properties": { - "$ref": "resources/aws-fms-resourceset.json" + "$ref": "resources/aws-appsync-resolver.json" } }, "required": [ @@ -38798,9 +38769,9 @@ ], "additionalProperties": false }, - "AWS_IoTTwinMaker_Entity": { + "AWS_CloudTrail_EventDataStore": { "type": "object", - "markdownDescription": "Resource schema for AWS::IoTTwinMaker::Entity \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iottwinmaker-entity.html)", + "markdownDescription": "A storage lake of event data against which you can run complex SQL-based queries. An event data store can include events that you have logged on your account from the last 7 to 2557 or 3653 days (about seven or ten years) depending on the selected BillingMode. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudtrail-eventdatastore.html)", "allOf": [ { "type": "object", @@ -38808,19 +38779,18 @@ "Type": { "type": "string", "enum": [ - "AWS::IoTTwinMaker::Entity" + "AWS::CloudTrail::EventDataStore" ], "markdownEnumDescriptions": [ - "Resource schema for AWS::IoTTwinMaker::Entity \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iottwinmaker-entity.html)" + "A storage lake of event data against which you can run complex SQL-based queries. An event data store can include events that you have logged on your account from the last 7 to 2557 or 3653 days (about seven or ten years) depending on the selected BillingMode. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudtrail-eventdatastore.html)" ] }, "Properties": { - "$ref": "resources/aws-iottwinmaker-entity.json" + "$ref": "resources/aws-cloudtrail-eventdatastore.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -38829,9 +38799,9 @@ ], "additionalProperties": false }, - "AWS_SES_EmailIdentity": { + "AWS_ElastiCache_ServerlessCache": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::SES::EmailIdentity \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ses-emailidentity.html)", + "markdownDescription": "The AWS::ElastiCache::ServerlessCache resource creates an Amazon ElastiCache Serverless Cache. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticache-serverlesscache.html)", "allOf": [ { "type": "object", @@ -38839,14 +38809,14 @@ "Type": { "type": "string", "enum": [ - "AWS::SES::EmailIdentity" + "AWS::ElastiCache::ServerlessCache" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::SES::EmailIdentity \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ses-emailidentity.html)" + "The AWS::ElastiCache::ServerlessCache resource creates an Amazon ElastiCache Serverless Cache. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticache-serverlesscache.html)" ] }, "Properties": { - "$ref": "resources/aws-ses-emailidentity.json" + "$ref": "resources/aws-elasticache-serverlesscache.json" } }, "required": [ @@ -38860,9 +38830,9 @@ ], "additionalProperties": false }, - "AWS_Config_OrganizationConfigRule": { + "AWS_Pinpoint_EventStream": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::Config::OrganizationConfigRule \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-config-organizationconfigrule.html)", + "markdownDescription": "Resource Type definition for AWS::Pinpoint::EventStream \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-eventstream.html)", "allOf": [ { "type": "object", @@ -38870,14 +38840,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Config::OrganizationConfigRule" + "AWS::Pinpoint::EventStream" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::Config::OrganizationConfigRule \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-config-organizationconfigrule.html)" + "Resource Type definition for AWS::Pinpoint::EventStream \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-eventstream.html)" ] }, "Properties": { - "$ref": "resources/aws-config-organizationconfigrule.json" + "$ref": "resources/aws-pinpoint-eventstream.json" } }, "required": [ @@ -38891,9 +38861,9 @@ ], "additionalProperties": false }, - "AWS_ECR_RepositoryCreationTemplate": { + "AWS_EC2_LocalGatewayRouteTableVirtualInterfaceGroupAssociation": { "type": "object", - "markdownDescription": "AWS::ECR::RepositoryCreationTemplate is used to create repository with configuration from a pre-defined template. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ecr-repositorycreationtemplate.html)", + "markdownDescription": "Describes a local gateway route table virtual interface group association for a local gateway. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-localgatewayroutetablevirtualinterfacegroupassociation.html)", "allOf": [ { "type": "object", @@ -38901,14 +38871,14 @@ "Type": { "type": "string", "enum": [ - "AWS::ECR::RepositoryCreationTemplate" + "AWS::EC2::LocalGatewayRouteTableVirtualInterfaceGroupAssociation" ], "markdownEnumDescriptions": [ - "AWS::ECR::RepositoryCreationTemplate is used to create repository with configuration from a pre-defined template. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ecr-repositorycreationtemplate.html)" + "Describes a local gateway route table virtual interface group association for a local gateway. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-localgatewayroutetablevirtualinterfacegroupassociation.html)" ] }, "Properties": { - "$ref": "resources/aws-ecr-repositorycreationtemplate.json" + "$ref": "resources/aws-ec2-localgatewayroutetablevirtualinterfacegroupassociation.json" } }, "required": [ @@ -38922,9 +38892,9 @@ ], "additionalProperties": false }, - "AWS_Omics_AnnotationStore": { + "AWS_RDS_GlobalCluster": { "type": "object", - "markdownDescription": "Definition of AWS::Omics::AnnotationStore Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-omics-annotationstore.html)", + "markdownDescription": "Resource Type definition for AWS::RDS::GlobalCluster \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-globalcluster.html)", "allOf": [ { "type": "object", @@ -38932,19 +38902,18 @@ "Type": { "type": "string", "enum": [ - "AWS::Omics::AnnotationStore" + "AWS::RDS::GlobalCluster" ], "markdownEnumDescriptions": [ - "Definition of AWS::Omics::AnnotationStore Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-omics-annotationstore.html)" + "Resource Type definition for AWS::RDS::GlobalCluster \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-globalcluster.html)" ] }, "Properties": { - "$ref": "resources/aws-omics-annotationstore.json" + "$ref": "resources/aws-rds-globalcluster.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -38953,9 +38922,9 @@ ], "additionalProperties": false }, - "AWS_AppSync_ApiCache": { + "AWS_Backup_Framework": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::AppSync::ApiCache \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-apicache.html)", + "markdownDescription": "Contains detailed information about a framework. Frameworks contain controls, which evaluate and report on your backup events and resources. Frameworks generate daily compliance results. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-backup-framework.html)", "allOf": [ { "type": "object", @@ -38963,14 +38932,14 @@ "Type": { "type": "string", "enum": [ - "AWS::AppSync::ApiCache" + "AWS::Backup::Framework" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::AppSync::ApiCache \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-apicache.html)" + "Contains detailed information about a framework. Frameworks contain controls, which evaluate and report on your backup events and resources. Frameworks generate daily compliance results. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-backup-framework.html)" ] }, "Properties": { - "$ref": "resources/aws-appsync-apicache.json" + "$ref": "resources/aws-backup-framework.json" } }, "required": [ @@ -38984,9 +38953,9 @@ ], "additionalProperties": false }, - "AWS_Logs_LogStream": { + "AWS_CodeGuruReviewer_RepositoryAssociation": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::Logs::LogStream \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-logs-logstream.html)", + "markdownDescription": "This resource schema represents the RepositoryAssociation resource in the Amazon CodeGuru Reviewer service. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codegurureviewer-repositoryassociation.html)", "allOf": [ { "type": "object", @@ -38994,14 +38963,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Logs::LogStream" + "AWS::CodeGuruReviewer::RepositoryAssociation" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::Logs::LogStream \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-logs-logstream.html)" + "This resource schema represents the RepositoryAssociation resource in the Amazon CodeGuru Reviewer service. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codegurureviewer-repositoryassociation.html)" ] }, "Properties": { - "$ref": "resources/aws-logs-logstream.json" + "$ref": "resources/aws-codegurureviewer-repositoryassociation.json" } }, "required": [ @@ -39015,9 +38984,9 @@ ], "additionalProperties": false }, - "AWS_MediaConvert_Queue": { + "AWS_Glue_Registry": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::MediaConvert::Queue \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediaconvert-queue.html)", + "markdownDescription": "This resource creates a Registry for authoring schemas as part of Glue Schema Registry. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-registry.html)", "allOf": [ { "type": "object", @@ -39025,18 +38994,19 @@ "Type": { "type": "string", "enum": [ - "AWS::MediaConvert::Queue" + "AWS::Glue::Registry" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::MediaConvert::Queue \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediaconvert-queue.html)" + "This resource creates a Registry for authoring schemas as part of Glue Schema Registry. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-registry.html)" ] }, "Properties": { - "$ref": "resources/aws-mediaconvert-queue.json" + "$ref": "resources/aws-glue-registry.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -39045,9 +39015,9 @@ ], "additionalProperties": false }, - "AWS_RDS_DBProxyTargetGroup": { + "AWS_Redshift_ScheduledAction": { "type": "object", - "markdownDescription": "Resource schema for AWS::RDS::DBProxyTargetGroup \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbproxytargetgroup.html)", + "markdownDescription": "The `AWS::Redshift::ScheduledAction` resource creates an Amazon Redshift Scheduled Action. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-redshift-scheduledaction.html)", "allOf": [ { "type": "object", @@ -39055,14 +39025,14 @@ "Type": { "type": "string", "enum": [ - "AWS::RDS::DBProxyTargetGroup" + "AWS::Redshift::ScheduledAction" ], "markdownEnumDescriptions": [ - "Resource schema for AWS::RDS::DBProxyTargetGroup \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbproxytargetgroup.html)" + "The `AWS::Redshift::ScheduledAction` resource creates an Amazon Redshift Scheduled Action. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-redshift-scheduledaction.html)" ] }, "Properties": { - "$ref": "resources/aws-rds-dbproxytargetgroup.json" + "$ref": "resources/aws-redshift-scheduledaction.json" } }, "required": [ @@ -39076,9 +39046,9 @@ ], "additionalProperties": false }, - "AWS_DataBrew_Ruleset": { + "AWS_GameLift_Script": { "type": "object", - "markdownDescription": "Resource schema for AWS::DataBrew::Ruleset. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-databrew-ruleset.html)", + "markdownDescription": "The AWS::GameLift::Script resource creates a new script record for your Realtime Servers script. Realtime scripts are JavaScript that provide configuration settings and optional custom game logic for your game. The script is deployed when you create a Realtime Servers fleet to host your game sessions. Script logic is executed during an active game session. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-gamelift-script.html)", "allOf": [ { "type": "object", @@ -39086,14 +39056,14 @@ "Type": { "type": "string", "enum": [ - "AWS::DataBrew::Ruleset" + "AWS::GameLift::Script" ], "markdownEnumDescriptions": [ - "Resource schema for AWS::DataBrew::Ruleset. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-databrew-ruleset.html)" + "The AWS::GameLift::Script resource creates a new script record for your Realtime Servers script. Realtime scripts are JavaScript that provide configuration settings and optional custom game logic for your game. The script is deployed when you create a Realtime Servers fleet to host your game sessions. Script logic is executed during an active game session. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-gamelift-script.html)" ] }, "Properties": { - "$ref": "resources/aws-databrew-ruleset.json" + "$ref": "resources/aws-gamelift-script.json" } }, "required": [ @@ -39107,9 +39077,9 @@ ], "additionalProperties": false }, - "AWS_Neptune_DBSubnetGroup": { + "AWS_ApiGatewayV2_Model": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::Neptune::DBSubnetGroup \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-neptune-dbsubnetgroup.html)", + "markdownDescription": "The ``AWS::ApiGatewayV2::Model`` resource updates data model for a WebSocket API. For more information, see [Model Selection Expressions](https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-websocket-api-selection-expressions.html#apigateway-websocket-api-model-selection-expressions) in the *API Gateway Developer Guide*. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-model.html)", "allOf": [ { "type": "object", @@ -39117,14 +39087,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Neptune::DBSubnetGroup" + "AWS::ApiGatewayV2::Model" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::Neptune::DBSubnetGroup \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-neptune-dbsubnetgroup.html)" + "The ``AWS::ApiGatewayV2::Model`` resource updates data model for a WebSocket API. For more information, see [Model Selection Expressions](https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-websocket-api-selection-expressions.html#apigateway-websocket-api-model-selection-expressions) in the *API Gateway Developer Guide*. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-model.html)" ] }, "Properties": { - "$ref": "resources/aws-neptune-dbsubnetgroup.json" + "$ref": "resources/aws-apigatewayv2-model.json" } }, "required": [ @@ -39138,9 +39108,9 @@ ], "additionalProperties": false }, - "AWS_WorkSpaces_WorkspacesPool": { + "AWS_SageMaker_Pipeline": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::WorkSpaces::WorkspacesPool \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-workspaces-workspacespool.html)", + "markdownDescription": "Resource Type definition for AWS::SageMaker::Pipeline \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-pipeline.html)", "allOf": [ { "type": "object", @@ -39148,14 +39118,14 @@ "Type": { "type": "string", "enum": [ - "AWS::WorkSpaces::WorkspacesPool" + "AWS::SageMaker::Pipeline" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::WorkSpaces::WorkspacesPool \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-workspaces-workspacespool.html)" + "Resource Type definition for AWS::SageMaker::Pipeline \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-pipeline.html)" ] }, "Properties": { - "$ref": "resources/aws-workspaces-workspacespool.json" + "$ref": "resources/aws-sagemaker-pipeline.json" } }, "required": [ @@ -39169,9 +39139,9 @@ ], "additionalProperties": false }, - "AWS_ApiGateway_GatewayResponse": { + "AWS_SES_ReceiptFilter": { "type": "object", - "markdownDescription": "The ``AWS::ApiGateway::GatewayResponse`` resource creates a gateway response for your API. For more information, see [API Gateway Responses](https://docs.aws.amazon.com/apigateway/latest/developerguide/customize-gateway-responses.html#api-gateway-gatewayResponse-definition) in the *API Gateway Developer Guide*. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-gatewayresponse.html)", + "markdownDescription": "Resource Type definition for AWS::SES::ReceiptFilter \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ses-receiptfilter.html)", "allOf": [ { "type": "object", @@ -39179,14 +39149,14 @@ "Type": { "type": "string", "enum": [ - "AWS::ApiGateway::GatewayResponse" + "AWS::SES::ReceiptFilter" ], "markdownEnumDescriptions": [ - "The ``AWS::ApiGateway::GatewayResponse`` resource creates a gateway response for your API. For more information, see [API Gateway Responses](https://docs.aws.amazon.com/apigateway/latest/developerguide/customize-gateway-responses.html#api-gateway-gatewayResponse-definition) in the *API Gateway Developer Guide*. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-gatewayresponse.html)" + "Resource Type definition for AWS::SES::ReceiptFilter \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ses-receiptfilter.html)" ] }, "Properties": { - "$ref": "resources/aws-apigateway-gatewayresponse.json" + "$ref": "resources/aws-ses-receiptfilter.json" } }, "required": [ @@ -39200,9 +39170,9 @@ ], "additionalProperties": false }, - "AWS_OpsWorks_Layer": { + "AWS_IVS_StreamKey": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::OpsWorks::Layer \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opsworks-layer.html)", + "markdownDescription": "Resource Type definition for AWS::IVS::StreamKey \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ivs-streamkey.html)", "allOf": [ { "type": "object", @@ -39210,14 +39180,14 @@ "Type": { "type": "string", "enum": [ - "AWS::OpsWorks::Layer" + "AWS::IVS::StreamKey" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::OpsWorks::Layer \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opsworks-layer.html)" + "Resource Type definition for AWS::IVS::StreamKey \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ivs-streamkey.html)" ] }, "Properties": { - "$ref": "resources/aws-opsworks-layer.json" + "$ref": "resources/aws-ivs-streamkey.json" } }, "required": [ @@ -39231,9 +39201,9 @@ ], "additionalProperties": false }, - "AWS_IoT_MitigationAction": { + "AWS_ACMPCA_Permission": { "type": "object", - "markdownDescription": "Mitigation actions can be used to take actions to mitigate issues that were found in an Audit finding or Detect violation. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-mitigationaction.html)", + "markdownDescription": "Permission set on private certificate authority \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-acmpca-permission.html)", "allOf": [ { "type": "object", @@ -39241,14 +39211,14 @@ "Type": { "type": "string", "enum": [ - "AWS::IoT::MitigationAction" + "AWS::ACMPCA::Permission" ], "markdownEnumDescriptions": [ - "Mitigation actions can be used to take actions to mitigate issues that were found in an Audit finding or Detect violation. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-mitigationaction.html)" + "Permission set on private certificate authority \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-acmpca-permission.html)" ] }, "Properties": { - "$ref": "resources/aws-iot-mitigationaction.json" + "$ref": "resources/aws-acmpca-permission.json" } }, "required": [ @@ -39262,9 +39232,9 @@ ], "additionalProperties": false }, - "AWS_Panorama_PackageVersion": { + "AWS_ApplicationSignals_ServiceLevelObjective": { "type": "object", - "markdownDescription": "Registers a package version. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-panorama-packageversion.html)", + "markdownDescription": "Resource Type definition for AWS::ApplicationSignals::ServiceLevelObjective \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-applicationsignals-servicelevelobjective.html)", "allOf": [ { "type": "object", @@ -39272,14 +39242,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Panorama::PackageVersion" + "AWS::ApplicationSignals::ServiceLevelObjective" ], "markdownEnumDescriptions": [ - "Registers a package version. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-panorama-packageversion.html)" + "Resource Type definition for AWS::ApplicationSignals::ServiceLevelObjective \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-applicationsignals-servicelevelobjective.html)" ] }, "Properties": { - "$ref": "resources/aws-panorama-packageversion.json" + "$ref": "resources/aws-applicationsignals-servicelevelobjective.json" } }, "required": [ @@ -39293,9 +39263,9 @@ ], "additionalProperties": false }, - "AWS_Cognito_UserPoolDomain": { + "AWS_PinpointEmail_Identity": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::Cognito::UserPoolDomain \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpooldomain.html)", + "markdownDescription": "Resource Type definition for AWS::PinpointEmail::Identity \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpointemail-identity.html)", "allOf": [ { "type": "object", @@ -39303,14 +39273,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Cognito::UserPoolDomain" + "AWS::PinpointEmail::Identity" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::Cognito::UserPoolDomain \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpooldomain.html)" + "Resource Type definition for AWS::PinpointEmail::Identity \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpointemail-identity.html)" ] }, "Properties": { - "$ref": "resources/aws-cognito-userpooldomain.json" + "$ref": "resources/aws-pinpointemail-identity.json" } }, "required": [ @@ -39324,9 +39294,9 @@ ], "additionalProperties": false }, - "AWS_AppConfig_Environment": { + "AWS_Pinpoint_App": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::AppConfig::Environment \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appconfig-environment.html)", + "markdownDescription": "Resource Type definition for AWS::Pinpoint::App \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-app.html)", "allOf": [ { "type": "object", @@ -39334,14 +39304,14 @@ "Type": { "type": "string", "enum": [ - "AWS::AppConfig::Environment" + "AWS::Pinpoint::App" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::AppConfig::Environment \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appconfig-environment.html)" + "Resource Type definition for AWS::Pinpoint::App \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-app.html)" ] }, "Properties": { - "$ref": "resources/aws-appconfig-environment.json" + "$ref": "resources/aws-pinpoint-app.json" } }, "required": [ @@ -39355,9 +39325,9 @@ ], "additionalProperties": false }, - "AWS_Wisdom_KnowledgeBase": { + "AWS_IoTSiteWise_AccessPolicy": { "type": "object", - "markdownDescription": "Definition of AWS::Wisdom::KnowledgeBase Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-wisdom-knowledgebase.html)", + "markdownDescription": "Resource schema for AWS::IoTSiteWise::AccessPolicy \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotsitewise-accesspolicy.html)", "allOf": [ { "type": "object", @@ -39365,14 +39335,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Wisdom::KnowledgeBase" + "AWS::IoTSiteWise::AccessPolicy" ], "markdownEnumDescriptions": [ - "Definition of AWS::Wisdom::KnowledgeBase Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-wisdom-knowledgebase.html)" + "Resource schema for AWS::IoTSiteWise::AccessPolicy \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotsitewise-accesspolicy.html)" ] }, "Properties": { - "$ref": "resources/aws-wisdom-knowledgebase.json" + "$ref": "resources/aws-iotsitewise-accesspolicy.json" } }, "required": [ @@ -39386,9 +39356,9 @@ ], "additionalProperties": false }, - "AWS_IAM_OIDCProvider": { + "AWS_WAFRegional_ByteMatchSet": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::IAM::OIDCProvider \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-oidcprovider.html)", + "markdownDescription": "Resource Type definition for AWS::WAFRegional::ByteMatchSet \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-wafregional-bytematchset.html)", "allOf": [ { "type": "object", @@ -39396,18 +39366,19 @@ "Type": { "type": "string", "enum": [ - "AWS::IAM::OIDCProvider" + "AWS::WAFRegional::ByteMatchSet" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::IAM::OIDCProvider \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-oidcprovider.html)" + "Resource Type definition for AWS::WAFRegional::ByteMatchSet \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-wafregional-bytematchset.html)" ] }, "Properties": { - "$ref": "resources/aws-iam-oidcprovider.json" + "$ref": "resources/aws-wafregional-bytematchset.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -39416,9 +39387,9 @@ ], "additionalProperties": false }, - "AWS_GameLift_GameServerGroup": { + "AWS_QLDB_Ledger": { "type": "object", - "markdownDescription": "The AWS::GameLift::GameServerGroup resource creates an Amazon GameLift (GameLift) GameServerGroup. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-gamelift-gameservergroup.html)", + "markdownDescription": "Resource Type definition for AWS::QLDB::Ledger \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-qldb-ledger.html)", "allOf": [ { "type": "object", @@ -39426,14 +39397,14 @@ "Type": { "type": "string", "enum": [ - "AWS::GameLift::GameServerGroup" + "AWS::QLDB::Ledger" ], "markdownEnumDescriptions": [ - "The AWS::GameLift::GameServerGroup resource creates an Amazon GameLift (GameLift) GameServerGroup. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-gamelift-gameservergroup.html)" + "Resource Type definition for AWS::QLDB::Ledger \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-qldb-ledger.html)" ] }, "Properties": { - "$ref": "resources/aws-gamelift-gameservergroup.json" + "$ref": "resources/aws-qldb-ledger.json" } }, "required": [ @@ -39447,9 +39418,9 @@ ], "additionalProperties": false }, - "AWS_Connect_PredefinedAttribute": { + "AWS_DMS_ReplicationTask": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::Connect::PredefinedAttribute \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-connect-predefinedattribute.html)", + "markdownDescription": "Resource Type definition for AWS::DMS::ReplicationTask \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dms-replicationtask.html)", "allOf": [ { "type": "object", @@ -39457,14 +39428,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Connect::PredefinedAttribute" + "AWS::DMS::ReplicationTask" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::Connect::PredefinedAttribute \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-connect-predefinedattribute.html)" + "Resource Type definition for AWS::DMS::ReplicationTask \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dms-replicationtask.html)" ] }, "Properties": { - "$ref": "resources/aws-connect-predefinedattribute.json" + "$ref": "resources/aws-dms-replicationtask.json" } }, "required": [ @@ -39478,9 +39449,9 @@ ], "additionalProperties": false }, - "AWS_KMS_Key": { + "AWS_Shield_ProtectionGroup": { "type": "object", - "markdownDescription": "The ``AWS::KMS::Key`` resource specifies an [KMS key](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#kms_keys) in KMSlong. You can use this resource to create symmetric encryption KMS keys, asymmetric KMS keys for encryption or signing, and symmetric HMAC KMS keys. You can use ``AWS::KMS::Key`` to create [multi-Region primary keys](https://docs.aws.amazon.com/kms/latest/developerguide/multi-region-keys-overview.html#mrk-primary-key) of all supported types. To replicate a multi-Region key, use the ``AWS::KMS::ReplicaKey`` resource.\n If you change the value of the ``KeySpec``, ``KeyUsage``, ``Origin``, or ``MultiRegion`` properties of an existing KMS key, the update request fails, regardless of the value of the [UpdateReplacePolicy attribute](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-updatereplacepolicy.html). This prevents you from accidentally deleting a KMS key by changing any of its immutable property values.\n KMS replaced the term *customer master key (CMK)* with ** and *KMS key*. The concept has not changed. To prevent breaking changes, KMS is keeping some variations of this term.\n You can use symmetric encryption KMS keys to encrypt and decrypt small amounts of data, but they are more commonly used to generate data keys and data key pairs. You can also use a symmetric encryption KMS key to encrypt data stored in AWS services that are [integrated with](https://docs.aws.amazon.com//kms/features/#AWS_Service_Integration). For more information, see [Symmetric encryption KMS keys](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#symmetric-cmks) in the *Developer Guide*.\n You can use asymmetric KMS keys to encrypt and decrypt data or sign messages and verify signatures. To create an asymmetric key, you must specify an asymmetric ``KeySpec`` value and a ``KeyUsage`` value. For details, see [Asymmetric keys in](https://docs.aws.amazon.com/kms/latest/developerguide/symmetric-asymmetric.html) in the *Developer Guide*.\n You can use HMAC KMS keys (which are also symmetric keys) to generate and verify hash-based message authentication codes. To create an HMAC key, you must specify an HMAC ``KeySpec`` value and a ``KeyUsage`` value of ``GENERATE_VERIFY_MAC``. For details, see [HMAC keys in](https://docs.aws.amazon.com/kms/latest/developerguide/hmac.html) in the *Developer Guide*.\n You can also create symmetric encryption, asymmetric, and HMAC multi-Region primary keys. To create a multi-Region primary key, set the ``MultiRegion`` property to ``true``. For information about multi-Region keys, see [Multi-Region keys in](https://docs.aws.amazon.com/kms/latest/developerguide/multi-region-keys-overview.html) in the *Developer Guide*.\n You cannot use the ``AWS::KMS::Key`` resource to specify a KMS key with [imported key material](https://docs.aws.amazon.com/kms/latest/developerguide/importing-keys.html) or a KMS key in a [custom key store](https://docs.aws.amazon.com/kms/latest/developerguide/custom-key-store-overview.html).\n *Regions* \n KMS CloudFormation resources are available in all Regions in which KMS and CFN are supported. You can use the ``AWS::KMS::Key`` resource to create and manage all KMS key types that are supported in a Region. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kms-key.html)", + "markdownDescription": "A grouping of protected resources so they can be handled as a collective. This resource grouping improves the accuracy of detection and reduces false positives. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-shield-protectiongroup.html)", "allOf": [ { "type": "object", @@ -39488,18 +39459,19 @@ "Type": { "type": "string", "enum": [ - "AWS::KMS::Key" + "AWS::Shield::ProtectionGroup" ], "markdownEnumDescriptions": [ - "The ``AWS::KMS::Key`` resource specifies an [KMS key](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#kms_keys) in KMSlong. You can use this resource to create symmetric encryption KMS keys, asymmetric KMS keys for encryption or signing, and symmetric HMAC KMS keys. You can use ``AWS::KMS::Key`` to create [multi-Region primary keys](https://docs.aws.amazon.com/kms/latest/developerguide/multi-region-keys-overview.html#mrk-primary-key) of all supported types. To replicate a multi-Region key, use the ``AWS::KMS::ReplicaKey`` resource.\n If you change the value of the ``KeySpec``, ``KeyUsage``, ``Origin``, or ``MultiRegion`` properties of an existing KMS key, the update request fails, regardless of the value of the [UpdateReplacePolicy attribute](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-updatereplacepolicy.html). This prevents you from accidentally deleting a KMS key by changing any of its immutable property values.\n KMS replaced the term *customer master key (CMK)* with ** and *KMS key*. The concept has not changed. To prevent breaking changes, KMS is keeping some variations of this term.\n You can use symmetric encryption KMS keys to encrypt and decrypt small amounts of data, but they are more commonly used to generate data keys and data key pairs. You can also use a symmetric encryption KMS key to encrypt data stored in AWS services that are [integrated with](https://docs.aws.amazon.com//kms/features/#AWS_Service_Integration). For more information, see [Symmetric encryption KMS keys](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#symmetric-cmks) in the *Developer Guide*.\n You can use asymmetric KMS keys to encrypt and decrypt data or sign messages and verify signatures. To create an asymmetric key, you must specify an asymmetric ``KeySpec`` value and a ``KeyUsage`` value. For details, see [Asymmetric keys in](https://docs.aws.amazon.com/kms/latest/developerguide/symmetric-asymmetric.html) in the *Developer Guide*.\n You can use HMAC KMS keys (which are also symmetric keys) to generate and verify hash-based message authentication codes. To create an HMAC key, you must specify an HMAC ``KeySpec`` value and a ``KeyUsage`` value of ``GENERATE_VERIFY_MAC``. For details, see [HMAC keys in](https://docs.aws.amazon.com/kms/latest/developerguide/hmac.html) in the *Developer Guide*.\n You can also create symmetric encryption, asymmetric, and HMAC multi-Region primary keys. To create a multi-Region primary key, set the ``MultiRegion`` property to ``true``. For information about multi-Region keys, see [Multi-Region keys in](https://docs.aws.amazon.com/kms/latest/developerguide/multi-region-keys-overview.html) in the *Developer Guide*.\n You cannot use the ``AWS::KMS::Key`` resource to specify a KMS key with [imported key material](https://docs.aws.amazon.com/kms/latest/developerguide/importing-keys.html) or a KMS key in a [custom key store](https://docs.aws.amazon.com/kms/latest/developerguide/custom-key-store-overview.html).\n *Regions* \n KMS CloudFormation resources are available in all Regions in which KMS and CFN are supported. You can use the ``AWS::KMS::Key`` resource to create and manage all KMS key types that are supported in a Region. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kms-key.html)" + "A grouping of protected resources so they can be handled as a collective. This resource grouping improves the accuracy of detection and reduces false positives. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-shield-protectiongroup.html)" ] }, "Properties": { - "$ref": "resources/aws-kms-key.json" + "$ref": "resources/aws-shield-protectiongroup.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -39508,9 +39480,9 @@ ], "additionalProperties": false }, - "AWS_Route53RecoveryControl_Cluster": { + "AWS_Location_Map": { "type": "object", - "markdownDescription": "AWS Route53 Recovery Control Cluster resource schema \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53recoverycontrol-cluster.html)", + "markdownDescription": "Definition of AWS::Location::Map Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-location-map.html)", "allOf": [ { "type": "object", @@ -39518,14 +39490,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Route53RecoveryControl::Cluster" + "AWS::Location::Map" ], "markdownEnumDescriptions": [ - "AWS Route53 Recovery Control Cluster resource schema \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53recoverycontrol-cluster.html)" + "Definition of AWS::Location::Map Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-location-map.html)" ] }, "Properties": { - "$ref": "resources/aws-route53recoverycontrol-cluster.json" + "$ref": "resources/aws-location-map.json" } }, "required": [ @@ -39539,9 +39511,9 @@ ], "additionalProperties": false }, - "AWS_AppStream_DirectoryConfig": { + "AWS_WAFv2_WebACLAssociation": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::AppStream::DirectoryConfig \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appstream-directoryconfig.html)", + "markdownDescription": "Associates WebACL to Application Load Balancer, CloudFront or API Gateway. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-wafv2-webaclassociation.html)", "allOf": [ { "type": "object", @@ -39549,14 +39521,14 @@ "Type": { "type": "string", "enum": [ - "AWS::AppStream::DirectoryConfig" + "AWS::WAFv2::WebACLAssociation" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::AppStream::DirectoryConfig \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appstream-directoryconfig.html)" + "Associates WebACL to Application Load Balancer, CloudFront or API Gateway. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-wafv2-webaclassociation.html)" ] }, "Properties": { - "$ref": "resources/aws-appstream-directoryconfig.json" + "$ref": "resources/aws-wafv2-webaclassociation.json" } }, "required": [ @@ -39570,9 +39542,9 @@ ], "additionalProperties": false }, - "AWS_EventSchemas_Schema": { + "AWS_ElastiCache_ParameterGroup": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::EventSchemas::Schema \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-eventschemas-schema.html)", + "markdownDescription": "Resource Type definition for AWS::ElastiCache::ParameterGroup \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticache-parametergroup.html)", "allOf": [ { "type": "object", @@ -39580,14 +39552,14 @@ "Type": { "type": "string", "enum": [ - "AWS::EventSchemas::Schema" + "AWS::ElastiCache::ParameterGroup" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::EventSchemas::Schema \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-eventschemas-schema.html)" + "Resource Type definition for AWS::ElastiCache::ParameterGroup \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticache-parametergroup.html)" ] }, "Properties": { - "$ref": "resources/aws-eventschemas-schema.json" + "$ref": "resources/aws-elasticache-parametergroup.json" } }, "required": [ @@ -39601,9 +39573,9 @@ ], "additionalProperties": false }, - "AWS_IAM_Role": { + "AWS_S3_AccessGrantsLocation": { "type": "object", - "markdownDescription": "Creates a new role for your AWS-account.\n For more information about roles, see [IAM roles](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles.html) in the *IAM User Guide*. For information about quotas for role names and the number of roles you can create, see [IAM and quotas](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_iam-quotas.html) in the *IAM User Guide*. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-role.html)", + "markdownDescription": "The AWS::S3::AccessGrantsLocation resource is an Amazon S3 resource type hosted in an access grants instance which can be the target of S3 access grants. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-s3-accessgrantslocation.html)", "allOf": [ { "type": "object", @@ -39611,19 +39583,18 @@ "Type": { "type": "string", "enum": [ - "AWS::IAM::Role" + "AWS::S3::AccessGrantsLocation" ], "markdownEnumDescriptions": [ - "Creates a new role for your AWS-account.\n For more information about roles, see [IAM roles](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles.html) in the *IAM User Guide*. For information about quotas for role names and the number of roles you can create, see [IAM and quotas](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_iam-quotas.html) in the *IAM User Guide*. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-role.html)" + "The AWS::S3::AccessGrantsLocation resource is an Amazon S3 resource type hosted in an access grants instance which can be the target of S3 access grants. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-s3-accessgrantslocation.html)" ] }, "Properties": { - "$ref": "resources/aws-iam-role.json" + "$ref": "resources/aws-s3-accessgrantslocation.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -39632,9 +39603,9 @@ ], "additionalProperties": false }, - "AWS_IoTFleetWise_ModelManifest": { + "AWS_ECR_PullThroughCacheRule": { "type": "object", - "markdownDescription": "Definition of AWS::IoTFleetWise::ModelManifest Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotfleetwise-modelmanifest.html)", + "markdownDescription": "The AWS::ECR::PullThroughCacheRule resource configures the upstream registry configuration details for an Amazon Elastic Container Registry (Amazon Private ECR) pull-through cache. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ecr-pullthroughcacherule.html)", "allOf": [ { "type": "object", @@ -39642,19 +39613,18 @@ "Type": { "type": "string", "enum": [ - "AWS::IoTFleetWise::ModelManifest" + "AWS::ECR::PullThroughCacheRule" ], "markdownEnumDescriptions": [ - "Definition of AWS::IoTFleetWise::ModelManifest Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotfleetwise-modelmanifest.html)" + "The AWS::ECR::PullThroughCacheRule resource configures the upstream registry configuration details for an Amazon Elastic Container Registry (Amazon Private ECR) pull-through cache. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ecr-pullthroughcacherule.html)" ] }, "Properties": { - "$ref": "resources/aws-iotfleetwise-modelmanifest.json" + "$ref": "resources/aws-ecr-pullthroughcacherule.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -39663,9 +39633,9 @@ ], "additionalProperties": false }, - "AWS_Omics_Workflow": { + "AWS_Events_EventBus": { "type": "object", - "markdownDescription": "Definition of AWS::Omics::Workflow Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-omics-workflow.html)", + "markdownDescription": "Resource type definition for AWS::Events::EventBus \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-eventbus.html)", "allOf": [ { "type": "object", @@ -39673,18 +39643,19 @@ "Type": { "type": "string", "enum": [ - "AWS::Omics::Workflow" + "AWS::Events::EventBus" ], "markdownEnumDescriptions": [ - "Definition of AWS::Omics::Workflow Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-omics-workflow.html)" + "Resource type definition for AWS::Events::EventBus \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-eventbus.html)" ] }, "Properties": { - "$ref": "resources/aws-omics-workflow.json" + "$ref": "resources/aws-events-eventbus.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -39693,9 +39664,9 @@ ], "additionalProperties": false }, - "AWS_IAM_GroupPolicy": { + "AWS_DAX_ParameterGroup": { "type": "object", - "markdownDescription": "Adds or updates an inline policy document that is embedded in the specified IAM group.\n A group can also have managed policies attached to it. To attach a managed policy to a group, use [AWS::IAM::Group](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iam-group.html). To create a new managed policy, use [AWS::IAM::ManagedPolicy](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-managedpolicy.html). For information about policies, see [Managed policies and inline policies](https://docs.aws.amazon.com/IAM/latest/UserGuide/policies-managed-vs-inline.html) in the *IAM User Guide*.\n For information about the maximum number of inline policies that you can embed in a group, see [IAM and quotas](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_iam-quotas.html) in the *IAM User Guide*. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-grouppolicy.html)", + "markdownDescription": "Resource Type definition for AWS::DAX::ParameterGroup \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dax-parametergroup.html)", "allOf": [ { "type": "object", @@ -39703,19 +39674,18 @@ "Type": { "type": "string", "enum": [ - "AWS::IAM::GroupPolicy" + "AWS::DAX::ParameterGroup" ], "markdownEnumDescriptions": [ - "Adds or updates an inline policy document that is embedded in the specified IAM group.\n A group can also have managed policies attached to it. To attach a managed policy to a group, use [AWS::IAM::Group](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iam-group.html). To create a new managed policy, use [AWS::IAM::ManagedPolicy](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-managedpolicy.html). For information about policies, see [Managed policies and inline policies](https://docs.aws.amazon.com/IAM/latest/UserGuide/policies-managed-vs-inline.html) in the *IAM User Guide*.\n For information about the maximum number of inline policies that you can embed in a group, see [IAM and quotas](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_iam-quotas.html) in the *IAM User Guide*. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-grouppolicy.html)" + "Resource Type definition for AWS::DAX::ParameterGroup \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dax-parametergroup.html)" ] }, "Properties": { - "$ref": "resources/aws-iam-grouppolicy.json" + "$ref": "resources/aws-dax-parametergroup.json" } }, "required": [ - "Type", - "Properties" + "Type" ] }, { @@ -39724,9 +39694,9 @@ ], "additionalProperties": false }, - "AWS_MediaLive_SignalMap": { + "AWS_ApplicationAutoScaling_ScalableTarget": { "type": "object", - "markdownDescription": "Definition of AWS::MediaLive::SignalMap Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-medialive-signalmap.html)", + "markdownDescription": "The ``AWS::ApplicationAutoScaling::ScalableTarget`` resource specifies a resource that Application Auto Scaling can scale, such as an AWS::DynamoDB::Table or AWS::ECS::Service resource.\n For more information, see [Getting started](https://docs.aws.amazon.com/autoscaling/application/userguide/getting-started.html) in the *Application Auto Scaling User Guide*.\n If the resource that you want Application Auto Scaling to scale is not yet created in your account, add a dependency on the resource when registering it as a scalable target using the [DependsOn](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-dependson.html) attribute. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-applicationautoscaling-scalabletarget.html)", "allOf": [ { "type": "object", @@ -39734,14 +39704,14 @@ "Type": { "type": "string", "enum": [ - "AWS::MediaLive::SignalMap" + "AWS::ApplicationAutoScaling::ScalableTarget" ], "markdownEnumDescriptions": [ - "Definition of AWS::MediaLive::SignalMap Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-medialive-signalmap.html)" + "The ``AWS::ApplicationAutoScaling::ScalableTarget`` resource specifies a resource that Application Auto Scaling can scale, such as an AWS::DynamoDB::Table or AWS::ECS::Service resource.\n For more information, see [Getting started](https://docs.aws.amazon.com/autoscaling/application/userguide/getting-started.html) in the *Application Auto Scaling User Guide*.\n If the resource that you want Application Auto Scaling to scale is not yet created in your account, add a dependency on the resource when registering it as a scalable target using the [DependsOn](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-dependson.html) attribute. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-applicationautoscaling-scalabletarget.html)" ] }, "Properties": { - "$ref": "resources/aws-medialive-signalmap.json" + "$ref": "resources/aws-applicationautoscaling-scalabletarget.json" } }, "required": [ @@ -39755,9 +39725,9 @@ ], "additionalProperties": false }, - "AWS_VpcLattice_ResourcePolicy": { + "AWS_Connect_RoutingProfile": { "type": "object", - "markdownDescription": "Retrieves information about the resource policy. The resource policy is an IAM policy created by AWS RAM on behalf of the resource owner when they share a resource. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-vpclattice-resourcepolicy.html)", + "markdownDescription": "Resource Type definition for AWS::Connect::RoutingProfile \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-connect-routingprofile.html)", "allOf": [ { "type": "object", @@ -39765,14 +39735,14 @@ "Type": { "type": "string", "enum": [ - "AWS::VpcLattice::ResourcePolicy" + "AWS::Connect::RoutingProfile" ], "markdownEnumDescriptions": [ - "Retrieves information about the resource policy. The resource policy is an IAM policy created by AWS RAM on behalf of the resource owner when they share a resource. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-vpclattice-resourcepolicy.html)" + "Resource Type definition for AWS::Connect::RoutingProfile \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-connect-routingprofile.html)" ] }, "Properties": { - "$ref": "resources/aws-vpclattice-resourcepolicy.json" + "$ref": "resources/aws-connect-routingprofile.json" } }, "required": [ @@ -39786,9 +39756,9 @@ ], "additionalProperties": false }, - "AWS_SSM_ResourcePolicy": { + "AWS_CleanRooms_ConfiguredTable": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::SSM::ResourcePolicy \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-resourcepolicy.html)", + "markdownDescription": "Represents a table that can be associated with collaborations \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cleanrooms-configuredtable.html)", "allOf": [ { "type": "object", @@ -39796,14 +39766,14 @@ "Type": { "type": "string", "enum": [ - "AWS::SSM::ResourcePolicy" + "AWS::CleanRooms::ConfiguredTable" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::SSM::ResourcePolicy \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-resourcepolicy.html)" + "Represents a table that can be associated with collaborations \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cleanrooms-configuredtable.html)" ] }, "Properties": { - "$ref": "resources/aws-ssm-resourcepolicy.json" + "$ref": "resources/aws-cleanrooms-configuredtable.json" } }, "required": [ @@ -39817,9 +39787,9 @@ ], "additionalProperties": false }, - "AWS_IoTSiteWise_Dashboard": { + "AWS_CleanRooms_IdMappingTable": { "type": "object", - "markdownDescription": "Resource schema for AWS::IoTSiteWise::Dashboard \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotsitewise-dashboard.html)", + "markdownDescription": "Represents an association between an ID mapping workflow and a collaboration \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cleanrooms-idmappingtable.html)", "allOf": [ { "type": "object", @@ -39827,14 +39797,14 @@ "Type": { "type": "string", "enum": [ - "AWS::IoTSiteWise::Dashboard" + "AWS::CleanRooms::IdMappingTable" ], "markdownEnumDescriptions": [ - "Resource schema for AWS::IoTSiteWise::Dashboard \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotsitewise-dashboard.html)" + "Represents an association between an ID mapping workflow and a collaboration \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cleanrooms-idmappingtable.html)" ] }, "Properties": { - "$ref": "resources/aws-iotsitewise-dashboard.json" + "$ref": "resources/aws-cleanrooms-idmappingtable.json" } }, "required": [ @@ -39848,9 +39818,9 @@ ], "additionalProperties": false }, - "AWS_Shield_DRTAccess": { + "AWS_Glue_DevEndpoint": { "type": "object", - "markdownDescription": "Config the role and list of Amazon S3 log buckets used by the Shield Response Team (SRT) to access your AWS account while assisting with attack mitigation. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-shield-drtaccess.html)", + "markdownDescription": "Resource Type definition for AWS::Glue::DevEndpoint \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-devendpoint.html)", "allOf": [ { "type": "object", @@ -39858,14 +39828,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Shield::DRTAccess" + "AWS::Glue::DevEndpoint" ], "markdownEnumDescriptions": [ - "Config the role and list of Amazon S3 log buckets used by the Shield Response Team (SRT) to access your AWS account while assisting with attack mitigation. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-shield-drtaccess.html)" + "Resource Type definition for AWS::Glue::DevEndpoint \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-devendpoint.html)" ] }, "Properties": { - "$ref": "resources/aws-shield-drtaccess.json" + "$ref": "resources/aws-glue-devendpoint.json" } }, "required": [ @@ -39879,9 +39849,9 @@ ], "additionalProperties": false }, - "AWS_IoTSiteWise_Gateway": { + "AWS_IoTEvents_AlarmModel": { "type": "object", - "markdownDescription": "Resource schema for AWS::IoTSiteWise::Gateway \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotsitewise-gateway.html)", + "markdownDescription": "Represents an alarm model to monitor an ITE input attribute. You can use the alarm to get notified when the value is outside a specified range. For more information, see [Create an alarm model](https://docs.aws.amazon.com/iotevents/latest/developerguide/create-alarms.html) in the *Developer Guide*. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotevents-alarmmodel.html)", "allOf": [ { "type": "object", @@ -39889,14 +39859,14 @@ "Type": { "type": "string", "enum": [ - "AWS::IoTSiteWise::Gateway" + "AWS::IoTEvents::AlarmModel" ], "markdownEnumDescriptions": [ - "Resource schema for AWS::IoTSiteWise::Gateway \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotsitewise-gateway.html)" + "Represents an alarm model to monitor an ITE input attribute. You can use the alarm to get notified when the value is outside a specified range. For more information, see [Create an alarm model](https://docs.aws.amazon.com/iotevents/latest/developerguide/create-alarms.html) in the *Developer Guide*. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotevents-alarmmodel.html)" ] }, "Properties": { - "$ref": "resources/aws-iotsitewise-gateway.json" + "$ref": "resources/aws-iotevents-alarmmodel.json" } }, "required": [ @@ -39910,9 +39880,9 @@ ], "additionalProperties": false }, - "AWS_SES_MailManagerAddonInstance": { + "AWS_Logs_DeliverySource": { "type": "object", - "markdownDescription": "Definition of AWS::SES::MailManagerAddonInstance Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ses-mailmanageraddoninstance.html)", + "markdownDescription": " A delivery source is an AWS resource that sends logs to an AWS destination. The destination can be CloudWatch Logs, Amazon S3, or Kinesis Data Firehose.\n\nOnly some AWS services support being configured as a delivery source. These services are listed as Supported [V2 Permissions] in the table at [Enabling logging from AWS services](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/AWS-logs-and-resource-policy.html). \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-logs-deliverysource.html)", "allOf": [ { "type": "object", @@ -39920,14 +39890,14 @@ "Type": { "type": "string", "enum": [ - "AWS::SES::MailManagerAddonInstance" + "AWS::Logs::DeliverySource" ], "markdownEnumDescriptions": [ - "Definition of AWS::SES::MailManagerAddonInstance Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ses-mailmanageraddoninstance.html)" + " A delivery source is an AWS resource that sends logs to an AWS destination. The destination can be CloudWatch Logs, Amazon S3, or Kinesis Data Firehose.\n\nOnly some AWS services support being configured as a delivery source. These services are listed as Supported [V2 Permissions] in the table at [Enabling logging from AWS services](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/AWS-logs-and-resource-policy.html). \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-logs-deliverysource.html)" ] }, "Properties": { - "$ref": "resources/aws-ses-mailmanageraddoninstance.json" + "$ref": "resources/aws-logs-deliverysource.json" } }, "required": [ @@ -39941,9 +39911,9 @@ ], "additionalProperties": false }, - "AWS_EC2_GatewayRouteTableAssociation": { + "AWS_CloudFront_Distribution": { "type": "object", - "markdownDescription": "Associates a gateway with a route table. The gateway and route table must be in the same VPC. This association causes the incoming traffic to the gateway to be routed according to the routes in the route table. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-gatewayroutetableassociation.html)", + "markdownDescription": "A distribution tells CloudFront where you want content to be delivered from, and the details about how to track and manage content delivery. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudfront-distribution.html)", "allOf": [ { "type": "object", @@ -39951,14 +39921,14 @@ "Type": { "type": "string", "enum": [ - "AWS::EC2::GatewayRouteTableAssociation" + "AWS::CloudFront::Distribution" ], "markdownEnumDescriptions": [ - "Associates a gateway with a route table. The gateway and route table must be in the same VPC. This association causes the incoming traffic to the gateway to be routed according to the routes in the route table. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-gatewayroutetableassociation.html)" + "A distribution tells CloudFront where you want content to be delivered from, and the details about how to track and manage content delivery. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudfront-distribution.html)" ] }, "Properties": { - "$ref": "resources/aws-ec2-gatewayroutetableassociation.json" + "$ref": "resources/aws-cloudfront-distribution.json" } }, "required": [ @@ -39972,9 +39942,9 @@ ], "additionalProperties": false }, - "AWS_DocDB_DBCluster": { + "AWS_BillingConductor_PricingPlan": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::DocDB::DBCluster \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-docdb-dbcluster.html)", + "markdownDescription": "Pricing Plan enables you to customize your billing details consistent with the usage that accrues in each of your billing groups. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-billingconductor-pricingplan.html)", "allOf": [ { "type": "object", @@ -39982,18 +39952,19 @@ "Type": { "type": "string", "enum": [ - "AWS::DocDB::DBCluster" + "AWS::BillingConductor::PricingPlan" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::DocDB::DBCluster \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-docdb-dbcluster.html)" + "Pricing Plan enables you to customize your billing details consistent with the usage that accrues in each of your billing groups. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-billingconductor-pricingplan.html)" ] }, "Properties": { - "$ref": "resources/aws-docdb-dbcluster.json" + "$ref": "resources/aws-billingconductor-pricingplan.json" } }, "required": [ - "Type" + "Type", + "Properties" ] }, { @@ -40002,9 +39973,9 @@ ], "additionalProperties": false }, - "AWS_SNS_Subscription": { + "AWS_SageMaker_Space": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::SNS::Subscription \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sns-subscription.html)", + "markdownDescription": "Resource Type definition for AWS::SageMaker::Space \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-space.html)", "allOf": [ { "type": "object", @@ -40012,14 +39983,14 @@ "Type": { "type": "string", "enum": [ - "AWS::SNS::Subscription" + "AWS::SageMaker::Space" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::SNS::Subscription \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sns-subscription.html)" + "Resource Type definition for AWS::SageMaker::Space \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-space.html)" ] }, "Properties": { - "$ref": "resources/aws-sns-subscription.json" + "$ref": "resources/aws-sagemaker-space.json" } }, "required": [ @@ -40033,9 +40004,9 @@ ], "additionalProperties": false }, - "AWS_IoTWireless_FuotaTask": { + "AWS_IAM_RolePolicy": { "type": "object", - "markdownDescription": "Create and manage FUOTA tasks. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotwireless-fuotatask.html)", + "markdownDescription": "Adds or updates an inline policy document that is embedded in the specified IAM role.\n When you embed an inline policy in a role, the inline policy is used as part of the role's access (permissions) policy. The role's trust policy is created at the same time as the role, using [CreateRole](https://docs.aws.amazon.com/IAM/latest/APIReference/API_CreateRole.html). You can update a role's trust policy using [UpdateAssumeRolePolicy](https://docs.aws.amazon.com/IAM/latest/APIReference/API_UpdateAssumeRolePolicy.html). For information about roles, see [roles](https://docs.aws.amazon.com/IAM/latest/UserGuide/roles-toplevel.html) in the *IAM User Guide*.\n A role can also have a managed policy attached to it. To attach a managed policy to a role, use [AWS::IAM::Role](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-role.html). To create a new managed policy, use [AWS::IAM::ManagedPolicy](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-managedpolicy.html). For information about policies, see [Managed policies and inline policies](https://docs.aws.amazon.com/IAM/latest/UserGuide/policies-managed-vs-inline.html) in the *IAM User Guide*.\n For information about the maximum number of inline policies that you can embed with a role, see [IAM and quotas](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_iam-quotas.html) in the *IAM User Guide*. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-rolepolicy.html)", "allOf": [ { "type": "object", @@ -40043,14 +40014,14 @@ "Type": { "type": "string", "enum": [ - "AWS::IoTWireless::FuotaTask" + "AWS::IAM::RolePolicy" ], "markdownEnumDescriptions": [ - "Create and manage FUOTA tasks. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotwireless-fuotatask.html)" + "Adds or updates an inline policy document that is embedded in the specified IAM role.\n When you embed an inline policy in a role, the inline policy is used as part of the role's access (permissions) policy. The role's trust policy is created at the same time as the role, using [CreateRole](https://docs.aws.amazon.com/IAM/latest/APIReference/API_CreateRole.html). You can update a role's trust policy using [UpdateAssumeRolePolicy](https://docs.aws.amazon.com/IAM/latest/APIReference/API_UpdateAssumeRolePolicy.html). For information about roles, see [roles](https://docs.aws.amazon.com/IAM/latest/UserGuide/roles-toplevel.html) in the *IAM User Guide*.\n A role can also have a managed policy attached to it. To attach a managed policy to a role, use [AWS::IAM::Role](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-role.html). To create a new managed policy, use [AWS::IAM::ManagedPolicy](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-managedpolicy.html). For information about policies, see [Managed policies and inline policies](https://docs.aws.amazon.com/IAM/latest/UserGuide/policies-managed-vs-inline.html) in the *IAM User Guide*.\n For information about the maximum number of inline policies that you can embed with a role, see [IAM and quotas](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_iam-quotas.html) in the *IAM User Guide*. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-rolepolicy.html)" ] }, "Properties": { - "$ref": "resources/aws-iotwireless-fuotatask.json" + "$ref": "resources/aws-iam-rolepolicy.json" } }, "required": [ @@ -40064,9 +40035,9 @@ ], "additionalProperties": false }, - "AWS_WAFRegional_SqlInjectionMatchSet": { + "AWS_Cognito_UserPoolUser": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::WAFRegional::SqlInjectionMatchSet \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-wafregional-sqlinjectionmatchset.html)", + "markdownDescription": "Resource Type definition for AWS::Cognito::UserPoolUser \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpooluser.html)", "allOf": [ { "type": "object", @@ -40074,14 +40045,14 @@ "Type": { "type": "string", "enum": [ - "AWS::WAFRegional::SqlInjectionMatchSet" + "AWS::Cognito::UserPoolUser" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::WAFRegional::SqlInjectionMatchSet \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-wafregional-sqlinjectionmatchset.html)" + "Resource Type definition for AWS::Cognito::UserPoolUser \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpooluser.html)" ] }, "Properties": { - "$ref": "resources/aws-wafregional-sqlinjectionmatchset.json" + "$ref": "resources/aws-cognito-userpooluser.json" } }, "required": [ @@ -40095,9 +40066,9 @@ ], "additionalProperties": false }, - "AWS_EKS_Addon": { + "AWS_RolesAnywhere_CRL": { "type": "object", - "markdownDescription": "Resource Schema for AWS::EKS::Addon \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-eks-addon.html)", + "markdownDescription": "Definition of AWS::RolesAnywhere::CRL Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rolesanywhere-crl.html)", "allOf": [ { "type": "object", @@ -40105,14 +40076,14 @@ "Type": { "type": "string", "enum": [ - "AWS::EKS::Addon" + "AWS::RolesAnywhere::CRL" ], "markdownEnumDescriptions": [ - "Resource Schema for AWS::EKS::Addon \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-eks-addon.html)" + "Definition of AWS::RolesAnywhere::CRL Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rolesanywhere-crl.html)" ] }, "Properties": { - "$ref": "resources/aws-eks-addon.json" + "$ref": "resources/aws-rolesanywhere-crl.json" } }, "required": [ @@ -40126,9 +40097,9 @@ ], "additionalProperties": false }, - "AWS_SecurityHub_ProductSubscription": { + "AWS_EC2_LocalGatewayRouteTableVPCAssociation": { "type": "object", - "markdownDescription": "The AWS::SecurityHub::ProductSubscription resource represents a subscription to a service that is allowed to generate findings for your Security Hub account. One product subscription resource is created for each product enabled. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-securityhub-productsubscription.html)", + "markdownDescription": "Describes an association between a local gateway route table and a VPC. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-localgatewayroutetablevpcassociation.html)", "allOf": [ { "type": "object", @@ -40136,14 +40107,14 @@ "Type": { "type": "string", "enum": [ - "AWS::SecurityHub::ProductSubscription" + "AWS::EC2::LocalGatewayRouteTableVPCAssociation" ], "markdownEnumDescriptions": [ - "The AWS::SecurityHub::ProductSubscription resource represents a subscription to a service that is allowed to generate findings for your Security Hub account. One product subscription resource is created for each product enabled. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-securityhub-productsubscription.html)" + "Describes an association between a local gateway route table and a VPC. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-localgatewayroutetablevpcassociation.html)" ] }, "Properties": { - "$ref": "resources/aws-securityhub-productsubscription.json" + "$ref": "resources/aws-ec2-localgatewayroutetablevpcassociation.json" } }, "required": [ @@ -40157,9 +40128,9 @@ ], "additionalProperties": false }, - "AWS_EC2_SnapshotBlockPublicAccess": { + "AWS_DataZone_Domain": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::EC2::SnapshotBlockPublicAccess \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-snapshotblockpublicaccess.html)", + "markdownDescription": "A domain is an organizing entity for connecting together assets, users, and their projects \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datazone-domain.html)", "allOf": [ { "type": "object", @@ -40167,14 +40138,14 @@ "Type": { "type": "string", "enum": [ - "AWS::EC2::SnapshotBlockPublicAccess" + "AWS::DataZone::Domain" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::EC2::SnapshotBlockPublicAccess \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-snapshotblockpublicaccess.html)" + "A domain is an organizing entity for connecting together assets, users, and their projects \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datazone-domain.html)" ] }, "Properties": { - "$ref": "resources/aws-ec2-snapshotblockpublicaccess.json" + "$ref": "resources/aws-datazone-domain.json" } }, "required": [ @@ -40188,9 +40159,9 @@ ], "additionalProperties": false }, - "AWS_Bedrock_Flow": { + "AWS_MediaLive_EventBridgeRuleTemplate": { "type": "object", - "markdownDescription": "Definition of AWS::Bedrock::Flow Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-bedrock-flow.html)", + "markdownDescription": "Definition of AWS::MediaLive::EventBridgeRuleTemplate Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-medialive-eventbridgeruletemplate.html)", "allOf": [ { "type": "object", @@ -40198,14 +40169,14 @@ "Type": { "type": "string", "enum": [ - "AWS::Bedrock::Flow" + "AWS::MediaLive::EventBridgeRuleTemplate" ], "markdownEnumDescriptions": [ - "Definition of AWS::Bedrock::Flow Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-bedrock-flow.html)" + "Definition of AWS::MediaLive::EventBridgeRuleTemplate Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-medialive-eventbridgeruletemplate.html)" ] }, "Properties": { - "$ref": "resources/aws-bedrock-flow.json" + "$ref": "resources/aws-medialive-eventbridgeruletemplate.json" } }, "required": [ @@ -40219,9 +40190,9 @@ ], "additionalProperties": false }, - "AWS_GuardDuty_Member": { + "AWS_IVS_PlaybackRestrictionPolicy": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::GuardDuty::Member \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-guardduty-member.html)", + "markdownDescription": "Resource Type definition for AWS::IVS::PlaybackRestrictionPolicy. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ivs-playbackrestrictionpolicy.html)", "allOf": [ { "type": "object", @@ -40229,14 +40200,169 @@ "Type": { "type": "string", "enum": [ - "AWS::GuardDuty::Member" + "AWS::IVS::PlaybackRestrictionPolicy" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::GuardDuty::Member \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-guardduty-member.html)" + "Resource Type definition for AWS::IVS::PlaybackRestrictionPolicy. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ivs-playbackrestrictionpolicy.html)" ] }, "Properties": { - "$ref": "resources/aws-guardduty-member.json" + "$ref": "resources/aws-ivs-playbackrestrictionpolicy.json" + } + }, + "required": [ + "Type", + "Properties" + ] + }, + { + "$ref": "resource.attributes.schema.json#/definitions/ResourceAttributes" + } + ], + "additionalProperties": false + }, + "AWS_ServiceCatalog_TagOption": { + "type": "object", + "markdownDescription": "Resource Type definition for AWS::ServiceCatalog::TagOption \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicecatalog-tagoption.html)", + "allOf": [ + { + "type": "object", + "properties": { + "Type": { + "type": "string", + "enum": [ + "AWS::ServiceCatalog::TagOption" + ], + "markdownEnumDescriptions": [ + "Resource Type definition for AWS::ServiceCatalog::TagOption \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicecatalog-tagoption.html)" + ] + }, + "Properties": { + "$ref": "resources/aws-servicecatalog-tagoption.json" + } + }, + "required": [ + "Type", + "Properties" + ] + }, + { + "$ref": "resource.attributes.schema.json#/definitions/ResourceAttributes" + } + ], + "additionalProperties": false + }, + "AWS_EC2_VPCEndpointConnectionNotification": { + "type": "object", + "markdownDescription": "Resource Type definition for AWS::EC2::VPCEndpointConnectionNotification \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpcendpointconnectionnotification.html)", + "allOf": [ + { + "type": "object", + "properties": { + "Type": { + "type": "string", + "enum": [ + "AWS::EC2::VPCEndpointConnectionNotification" + ], + "markdownEnumDescriptions": [ + "Resource Type definition for AWS::EC2::VPCEndpointConnectionNotification \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpcendpointconnectionnotification.html)" + ] + }, + "Properties": { + "$ref": "resources/aws-ec2-vpcendpointconnectionnotification.json" + } + }, + "required": [ + "Type", + "Properties" + ] + }, + { + "$ref": "resource.attributes.schema.json#/definitions/ResourceAttributes" + } + ], + "additionalProperties": false + }, + "AWS_Connect_UserHierarchyStructure": { + "type": "object", + "markdownDescription": "Resource Type definition for AWS::Connect::UserHierarchyStructure \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-connect-userhierarchystructure.html)", + "allOf": [ + { + "type": "object", + "properties": { + "Type": { + "type": "string", + "enum": [ + "AWS::Connect::UserHierarchyStructure" + ], + "markdownEnumDescriptions": [ + "Resource Type definition for AWS::Connect::UserHierarchyStructure \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-connect-userhierarchystructure.html)" + ] + }, + "Properties": { + "$ref": "resources/aws-connect-userhierarchystructure.json" + } + }, + "required": [ + "Type", + "Properties" + ] + }, + { + "$ref": "resource.attributes.schema.json#/definitions/ResourceAttributes" + } + ], + "additionalProperties": false + }, + "AWS_AppRunner_VpcConnector": { + "type": "object", + "markdownDescription": "The AWS::AppRunner::VpcConnector resource specifies an App Runner VpcConnector. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apprunner-vpcconnector.html)", + "allOf": [ + { + "type": "object", + "properties": { + "Type": { + "type": "string", + "enum": [ + "AWS::AppRunner::VpcConnector" + ], + "markdownEnumDescriptions": [ + "The AWS::AppRunner::VpcConnector resource specifies an App Runner VpcConnector. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apprunner-vpcconnector.html)" + ] + }, + "Properties": { + "$ref": "resources/aws-apprunner-vpcconnector.json" + } + }, + "required": [ + "Type", + "Properties" + ] + }, + { + "$ref": "resource.attributes.schema.json#/definitions/ResourceAttributes" + } + ], + "additionalProperties": false + }, + "AWS_EMR_InstanceGroupConfig": { + "type": "object", + "markdownDescription": "Resource Type definition for AWS::EMR::InstanceGroupConfig \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-emr-instancegroupconfig.html)", + "allOf": [ + { + "type": "object", + "properties": { + "Type": { + "type": "string", + "enum": [ + "AWS::EMR::InstanceGroupConfig" + ], + "markdownEnumDescriptions": [ + "Resource Type definition for AWS::EMR::InstanceGroupConfig \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-emr-instancegroupconfig.html)" + ] + }, + "Properties": { + "$ref": "resources/aws-emr-instancegroupconfig.json" } }, "required": [ @@ -40281,9 +40407,9 @@ ], "additionalProperties": false }, - "AWS_ElasticBeanstalk_ConfigurationTemplate": { + "AWS_IoT_SoftwarePackage": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::ElasticBeanstalk::ConfigurationTemplate \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticbeanstalk-configurationtemplate.html)", + "markdownDescription": "resource definition \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-softwarepackage.html)", "allOf": [ { "type": "object", @@ -40291,14 +40417,44 @@ "Type": { "type": "string", "enum": [ - "AWS::ElasticBeanstalk::ConfigurationTemplate" + "AWS::IoT::SoftwarePackage" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::ElasticBeanstalk::ConfigurationTemplate \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticbeanstalk-configurationtemplate.html)" + "resource definition \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-softwarepackage.html)" ] }, "Properties": { - "$ref": "resources/aws-elasticbeanstalk-configurationtemplate.json" + "$ref": "resources/aws-iot-softwarepackage.json" + } + }, + "required": [ + "Type" + ] + }, + { + "$ref": "resource.attributes.schema.json#/definitions/ResourceAttributes" + } + ], + "additionalProperties": false + }, + "AWS_ECR_ReplicationConfiguration": { + "type": "object", + "markdownDescription": "The AWS::ECR::ReplicationConfiguration resource configures the replication destinations for an Amazon Elastic Container Registry (Amazon Private ECR). For more information, see https://docs.aws.amazon.com/AmazonECR/latest/userguide/replication.html \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ecr-replicationconfiguration.html)", + "allOf": [ + { + "type": "object", + "properties": { + "Type": { + "type": "string", + "enum": [ + "AWS::ECR::ReplicationConfiguration" + ], + "markdownEnumDescriptions": [ + "The AWS::ECR::ReplicationConfiguration resource configures the replication destinations for an Amazon Elastic Container Registry (Amazon Private ECR). For more information, see https://docs.aws.amazon.com/AmazonECR/latest/userguide/replication.html \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ecr-replicationconfiguration.html)" + ] + }, + "Properties": { + "$ref": "resources/aws-ecr-replicationconfiguration.json" } }, "required": [ @@ -40312,9 +40468,9 @@ ], "additionalProperties": false }, - "AWS_AmazonMQ_ConfigurationAssociation": { + "AWS_ResilienceHub_App": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::AmazonMQ::ConfigurationAssociation \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-amazonmq-configurationassociation.html)", + "markdownDescription": "Resource Type Definition for AWS::ResilienceHub::App. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-resiliencehub-app.html)", "allOf": [ { "type": "object", @@ -40322,14 +40478,14 @@ "Type": { "type": "string", "enum": [ - "AWS::AmazonMQ::ConfigurationAssociation" + "AWS::ResilienceHub::App" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::AmazonMQ::ConfigurationAssociation \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-amazonmq-configurationassociation.html)" + "Resource Type Definition for AWS::ResilienceHub::App. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-resiliencehub-app.html)" ] }, "Properties": { - "$ref": "resources/aws-amazonmq-configurationassociation.json" + "$ref": "resources/aws-resiliencehub-app.json" } }, "required": [ @@ -40343,9 +40499,9 @@ ], "additionalProperties": false }, - "AWS_S3_StorageLensGroup": { + "AWS_IoTTwinMaker_Entity": { "type": "object", - "markdownDescription": "The AWS::S3::StorageLensGroup resource is an Amazon S3 resource type that you can use to create Storage Lens Group. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-s3-storagelensgroup.html)", + "markdownDescription": "Resource schema for AWS::IoTTwinMaker::Entity \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iottwinmaker-entity.html)", "allOf": [ { "type": "object", @@ -40353,14 +40509,14 @@ "Type": { "type": "string", "enum": [ - "AWS::S3::StorageLensGroup" + "AWS::IoTTwinMaker::Entity" ], "markdownEnumDescriptions": [ - "The AWS::S3::StorageLensGroup resource is an Amazon S3 resource type that you can use to create Storage Lens Group. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-s3-storagelensgroup.html)" + "Resource schema for AWS::IoTTwinMaker::Entity \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iottwinmaker-entity.html)" ] }, "Properties": { - "$ref": "resources/aws-s3-storagelensgroup.json" + "$ref": "resources/aws-iottwinmaker-entity.json" } }, "required": [ @@ -40374,9 +40530,9 @@ ], "additionalProperties": false }, - "AWS_ResourceExplorer2_Index": { + "AWS_ImageBuilder_Component": { "type": "object", - "markdownDescription": "Definition of AWS::ResourceExplorer2::Index Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-resourceexplorer2-index.html)", + "markdownDescription": "Resource schema for AWS::ImageBuilder::Component \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-imagebuilder-component.html)", "allOf": [ { "type": "object", @@ -40384,14 +40540,14 @@ "Type": { "type": "string", "enum": [ - "AWS::ResourceExplorer2::Index" + "AWS::ImageBuilder::Component" ], "markdownEnumDescriptions": [ - "Definition of AWS::ResourceExplorer2::Index Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-resourceexplorer2-index.html)" + "Resource schema for AWS::ImageBuilder::Component \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-imagebuilder-component.html)" ] }, "Properties": { - "$ref": "resources/aws-resourceexplorer2-index.json" + "$ref": "resources/aws-imagebuilder-component.json" } }, "required": [ @@ -40405,9 +40561,9 @@ ], "additionalProperties": false }, - "AWS_AppSync_DomainName": { + "AWS_SNS_Subscription": { "type": "object", - "markdownDescription": "Resource Type definition for AWS::AppSync::DomainName \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-domainname.html)", + "markdownDescription": "Resource Type definition for AWS::SNS::Subscription \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sns-subscription.html)", "allOf": [ { "type": "object", @@ -40415,14 +40571,14 @@ "Type": { "type": "string", "enum": [ - "AWS::AppSync::DomainName" + "AWS::SNS::Subscription" ], "markdownEnumDescriptions": [ - "Resource Type definition for AWS::AppSync::DomainName \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-domainname.html)" + "Resource Type definition for AWS::SNS::Subscription \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sns-subscription.html)" ] }, "Properties": { - "$ref": "resources/aws-appsync-domainname.json" + "$ref": "resources/aws-sns-subscription.json" } }, "required": [ @@ -40436,9 +40592,9 @@ ], "additionalProperties": false }, - "AWS_DeviceFarm_Project": { + "AWS_Transfer_Connector": { "type": "object", - "markdownDescription": "AWS::DeviceFarm::Project creates a new Device Farm Project \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-devicefarm-project.html)", + "markdownDescription": "Resource Type definition for AWS::Transfer::Connector \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-transfer-connector.html)", "allOf": [ { "type": "object", @@ -40446,14 +40602,14 @@ "Type": { "type": "string", "enum": [ - "AWS::DeviceFarm::Project" + "AWS::Transfer::Connector" ], "markdownEnumDescriptions": [ - "AWS::DeviceFarm::Project creates a new Device Farm Project \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-devicefarm-project.html)" + "Resource Type definition for AWS::Transfer::Connector \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-transfer-connector.html)" ] }, "Properties": { - "$ref": "resources/aws-devicefarm-project.json" + "$ref": "resources/aws-transfer-connector.json" } }, "required": [ @@ -40467,9 +40623,9 @@ ], "additionalProperties": false }, - "AWS_DeviceFarm_DevicePool": { + "AWS_Comprehend_DocumentClassifier": { "type": "object", - "markdownDescription": "AWS::DeviceFarm::DevicePool creates a new Device Pool for a given DF Project \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-devicefarm-devicepool.html)", + "markdownDescription": "Document Classifier enables training document classifier models. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-comprehend-documentclassifier.html)", "allOf": [ { "type": "object", @@ -40477,14 +40633,476 @@ "Type": { "type": "string", "enum": [ - "AWS::DeviceFarm::DevicePool" + "AWS::Comprehend::DocumentClassifier" ], "markdownEnumDescriptions": [ - "AWS::DeviceFarm::DevicePool creates a new Device Pool for a given DF Project \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-devicefarm-devicepool.html)" + "Document Classifier enables training document classifier models. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-comprehend-documentclassifier.html)" ] }, "Properties": { - "$ref": "resources/aws-devicefarm-devicepool.json" + "$ref": "resources/aws-comprehend-documentclassifier.json" + } + }, + "required": [ + "Type", + "Properties" + ] + }, + { + "$ref": "resource.attributes.schema.json#/definitions/ResourceAttributes" + } + ], + "additionalProperties": false + }, + "AWS_IoTWireless_Destination": { + "type": "object", + "markdownDescription": "Destination's resource schema demonstrating some basic constructs and validation rules. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotwireless-destination.html)", + "allOf": [ + { + "type": "object", + "properties": { + "Type": { + "type": "string", + "enum": [ + "AWS::IoTWireless::Destination" + ], + "markdownEnumDescriptions": [ + "Destination's resource schema demonstrating some basic constructs and validation rules. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotwireless-destination.html)" + ] + }, + "Properties": { + "$ref": "resources/aws-iotwireless-destination.json" + } + }, + "required": [ + "Type", + "Properties" + ] + }, + { + "$ref": "resource.attributes.schema.json#/definitions/ResourceAttributes" + } + ], + "additionalProperties": false + }, + "AWS_ElasticBeanstalk_Environment": { + "type": "object", + "markdownDescription": "Resource Type definition for AWS::ElasticBeanstalk::Environment \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticbeanstalk-environment.html)", + "allOf": [ + { + "type": "object", + "properties": { + "Type": { + "type": "string", + "enum": [ + "AWS::ElasticBeanstalk::Environment" + ], + "markdownEnumDescriptions": [ + "Resource Type definition for AWS::ElasticBeanstalk::Environment \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticbeanstalk-environment.html)" + ] + }, + "Properties": { + "$ref": "resources/aws-elasticbeanstalk-environment.json" + } + }, + "required": [ + "Type", + "Properties" + ] + }, + { + "$ref": "resource.attributes.schema.json#/definitions/ResourceAttributes" + } + ], + "additionalProperties": false + }, + "AWS_SageMaker_ModelPackageGroup": { + "type": "object", + "markdownDescription": "Resource Type definition for AWS::SageMaker::ModelPackageGroup \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-modelpackagegroup.html)", + "allOf": [ + { + "type": "object", + "properties": { + "Type": { + "type": "string", + "enum": [ + "AWS::SageMaker::ModelPackageGroup" + ], + "markdownEnumDescriptions": [ + "Resource Type definition for AWS::SageMaker::ModelPackageGroup \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-modelpackagegroup.html)" + ] + }, + "Properties": { + "$ref": "resources/aws-sagemaker-modelpackagegroup.json" + } + }, + "required": [ + "Type", + "Properties" + ] + }, + { + "$ref": "resource.attributes.schema.json#/definitions/ResourceAttributes" + } + ], + "additionalProperties": false + }, + "AWS_SecretsManager_RotationSchedule": { + "type": "object", + "markdownDescription": "Resource Type definition for AWS::SecretsManager::RotationSchedule \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-secretsmanager-rotationschedule.html)", + "allOf": [ + { + "type": "object", + "properties": { + "Type": { + "type": "string", + "enum": [ + "AWS::SecretsManager::RotationSchedule" + ], + "markdownEnumDescriptions": [ + "Resource Type definition for AWS::SecretsManager::RotationSchedule \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-secretsmanager-rotationschedule.html)" + ] + }, + "Properties": { + "$ref": "resources/aws-secretsmanager-rotationschedule.json" + } + }, + "required": [ + "Type", + "Properties" + ] + }, + { + "$ref": "resource.attributes.schema.json#/definitions/ResourceAttributes" + } + ], + "additionalProperties": false + }, + "AWS_ResourceExplorer2_View": { + "type": "object", + "markdownDescription": "Definition of AWS::ResourceExplorer2::View Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-resourceexplorer2-view.html)", + "allOf": [ + { + "type": "object", + "properties": { + "Type": { + "type": "string", + "enum": [ + "AWS::ResourceExplorer2::View" + ], + "markdownEnumDescriptions": [ + "Definition of AWS::ResourceExplorer2::View Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-resourceexplorer2-view.html)" + ] + }, + "Properties": { + "$ref": "resources/aws-resourceexplorer2-view.json" + } + }, + "required": [ + "Type", + "Properties" + ] + }, + { + "$ref": "resource.attributes.schema.json#/definitions/ResourceAttributes" + } + ], + "additionalProperties": false + }, + "AWS_Deadline_MeteredProduct": { + "type": "object", + "markdownDescription": "Definition of AWS::Deadline::MeteredProduct Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-deadline-meteredproduct.html)", + "allOf": [ + { + "type": "object", + "properties": { + "Type": { + "type": "string", + "enum": [ + "AWS::Deadline::MeteredProduct" + ], + "markdownEnumDescriptions": [ + "Definition of AWS::Deadline::MeteredProduct Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-deadline-meteredproduct.html)" + ] + }, + "Properties": { + "$ref": "resources/aws-deadline-meteredproduct.json" + } + }, + "required": [ + "Type" + ] + }, + { + "$ref": "resource.attributes.schema.json#/definitions/ResourceAttributes" + } + ], + "additionalProperties": false + }, + "AWS_Route53Resolver_FirewallRuleGroup": { + "type": "object", + "markdownDescription": "Resource schema for AWS::Route53Resolver::FirewallRuleGroup. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53resolver-firewallrulegroup.html)", + "allOf": [ + { + "type": "object", + "properties": { + "Type": { + "type": "string", + "enum": [ + "AWS::Route53Resolver::FirewallRuleGroup" + ], + "markdownEnumDescriptions": [ + "Resource schema for AWS::Route53Resolver::FirewallRuleGroup. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53resolver-firewallrulegroup.html)" + ] + }, + "Properties": { + "$ref": "resources/aws-route53resolver-firewallrulegroup.json" + } + }, + "required": [ + "Type" + ] + }, + { + "$ref": "resource.attributes.schema.json#/definitions/ResourceAttributes" + } + ], + "additionalProperties": false + }, + "AWS_IoTAnalytics_Datastore": { + "type": "object", + "markdownDescription": "Resource Type definition for AWS::IoTAnalytics::Datastore \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotanalytics-datastore.html)", + "allOf": [ + { + "type": "object", + "properties": { + "Type": { + "type": "string", + "enum": [ + "AWS::IoTAnalytics::Datastore" + ], + "markdownEnumDescriptions": [ + "Resource Type definition for AWS::IoTAnalytics::Datastore \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotanalytics-datastore.html)" + ] + }, + "Properties": { + "$ref": "resources/aws-iotanalytics-datastore.json" + } + }, + "required": [ + "Type" + ] + }, + { + "$ref": "resource.attributes.schema.json#/definitions/ResourceAttributes" + } + ], + "additionalProperties": false + }, + "AWS_NetworkManager_TransitGatewayRouteTableAttachment": { + "type": "object", + "markdownDescription": "AWS::NetworkManager::TransitGatewayRouteTableAttachment Resource Type definition. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkmanager-transitgatewayroutetableattachment.html)", + "allOf": [ + { + "type": "object", + "properties": { + "Type": { + "type": "string", + "enum": [ + "AWS::NetworkManager::TransitGatewayRouteTableAttachment" + ], + "markdownEnumDescriptions": [ + "AWS::NetworkManager::TransitGatewayRouteTableAttachment Resource Type definition. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkmanager-transitgatewayroutetableattachment.html)" + ] + }, + "Properties": { + "$ref": "resources/aws-networkmanager-transitgatewayroutetableattachment.json" + } + }, + "required": [ + "Type", + "Properties" + ] + }, + { + "$ref": "resource.attributes.schema.json#/definitions/ResourceAttributes" + } + ], + "additionalProperties": false + }, + "AWS_SageMaker_DataQualityJobDefinition": { + "type": "object", + "markdownDescription": "Resource Type definition for AWS::SageMaker::DataQualityJobDefinition \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-dataqualityjobdefinition.html)", + "allOf": [ + { + "type": "object", + "properties": { + "Type": { + "type": "string", + "enum": [ + "AWS::SageMaker::DataQualityJobDefinition" + ], + "markdownEnumDescriptions": [ + "Resource Type definition for AWS::SageMaker::DataQualityJobDefinition \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-dataqualityjobdefinition.html)" + ] + }, + "Properties": { + "$ref": "resources/aws-sagemaker-dataqualityjobdefinition.json" + } + }, + "required": [ + "Type", + "Properties" + ] + }, + { + "$ref": "resource.attributes.schema.json#/definitions/ResourceAttributes" + } + ], + "additionalProperties": false + }, + "AWS_ResourceExplorer2_DefaultViewAssociation": { + "type": "object", + "markdownDescription": "Definition of AWS::ResourceExplorer2::DefaultViewAssociation Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-resourceexplorer2-defaultviewassociation.html)", + "allOf": [ + { + "type": "object", + "properties": { + "Type": { + "type": "string", + "enum": [ + "AWS::ResourceExplorer2::DefaultViewAssociation" + ], + "markdownEnumDescriptions": [ + "Definition of AWS::ResourceExplorer2::DefaultViewAssociation Resource Type \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-resourceexplorer2-defaultviewassociation.html)" + ] + }, + "Properties": { + "$ref": "resources/aws-resourceexplorer2-defaultviewassociation.json" + } + }, + "required": [ + "Type", + "Properties" + ] + }, + { + "$ref": "resource.attributes.schema.json#/definitions/ResourceAttributes" + } + ], + "additionalProperties": false + }, + "AWS_LookoutEquipment_InferenceScheduler": { + "type": "object", + "markdownDescription": "Resource schema for LookoutEquipment InferenceScheduler. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lookoutequipment-inferencescheduler.html)", + "allOf": [ + { + "type": "object", + "properties": { + "Type": { + "type": "string", + "enum": [ + "AWS::LookoutEquipment::InferenceScheduler" + ], + "markdownEnumDescriptions": [ + "Resource schema for LookoutEquipment InferenceScheduler. \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lookoutequipment-inferencescheduler.html)" + ] + }, + "Properties": { + "$ref": "resources/aws-lookoutequipment-inferencescheduler.json" + } + }, + "required": [ + "Type", + "Properties" + ] + }, + { + "$ref": "resource.attributes.schema.json#/definitions/ResourceAttributes" + } + ], + "additionalProperties": false + }, + "AWS_Connect_EmailAddress": { + "type": "object", + "markdownDescription": "Resource Type definition for AWS::Connect::EmailAddress \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-connect-emailaddress.html)", + "allOf": [ + { + "type": "object", + "properties": { + "Type": { + "type": "string", + "enum": [ + "AWS::Connect::EmailAddress" + ], + "markdownEnumDescriptions": [ + "Resource Type definition for AWS::Connect::EmailAddress \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-connect-emailaddress.html)" + ] + }, + "Properties": { + "$ref": "resources/aws-connect-emailaddress.json" + } + }, + "required": [ + "Type", + "Properties" + ] + }, + { + "$ref": "resource.attributes.schema.json#/definitions/ResourceAttributes" + } + ], + "additionalProperties": false + }, + "AWS_DeviceFarm_VPCEConfiguration": { + "type": "object", + "markdownDescription": "AWS::DeviceFarm::VPCEConfiguration creates a new Device Farm VPCE Configuration \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-devicefarm-vpceconfiguration.html)", + "allOf": [ + { + "type": "object", + "properties": { + "Type": { + "type": "string", + "enum": [ + "AWS::DeviceFarm::VPCEConfiguration" + ], + "markdownEnumDescriptions": [ + "AWS::DeviceFarm::VPCEConfiguration creates a new Device Farm VPCE Configuration \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-devicefarm-vpceconfiguration.html)" + ] + }, + "Properties": { + "$ref": "resources/aws-devicefarm-vpceconfiguration.json" + } + }, + "required": [ + "Type", + "Properties" + ] + }, + { + "$ref": "resource.attributes.schema.json#/definitions/ResourceAttributes" + } + ], + "additionalProperties": false + }, + "AWS_DeviceFarm_NetworkProfile": { + "type": "object", + "markdownDescription": "AWS::DeviceFarm::NetworkProfile creates a new DF Network Profile \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-devicefarm-networkprofile.html)", + "allOf": [ + { + "type": "object", + "properties": { + "Type": { + "type": "string", + "enum": [ + "AWS::DeviceFarm::NetworkProfile" + ], + "markdownEnumDescriptions": [ + "AWS::DeviceFarm::NetworkProfile creates a new DF Network Profile \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-devicefarm-networkprofile.html)" + ] + }, + "Properties": { + "$ref": "resources/aws-devicefarm-networkprofile.json" } }, "required": [ @@ -40529,6 +41147,37 @@ ], "additionalProperties": false }, + "AWS_CustomerProfiles_SegmentDefinition": { + "type": "object", + "markdownDescription": "A segment definition resource of Amazon Connect Customer Profiles \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-customerprofiles-segmentdefinition.html)", + "allOf": [ + { + "type": "object", + "properties": { + "Type": { + "type": "string", + "enum": [ + "AWS::CustomerProfiles::SegmentDefinition" + ], + "markdownEnumDescriptions": [ + "A segment definition resource of Amazon Connect Customer Profiles \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-customerprofiles-segmentdefinition.html)" + ] + }, + "Properties": { + "$ref": "resources/aws-customerprofiles-segmentdefinition.json" + } + }, + "required": [ + "Type", + "Properties" + ] + }, + { + "$ref": "resource.attributes.schema.json#/definitions/ResourceAttributes" + } + ], + "additionalProperties": false + }, "AWS_DeviceFarm_InstanceProfile": { "type": "object", "markdownDescription": "AWS::DeviceFarm::InstanceProfile creates a new Device Farm Instance Profile \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-devicefarm-instanceprofile.html)", @@ -40560,9 +41209,9 @@ ], "additionalProperties": false }, - "AWS_DeviceFarm_NetworkProfile": { + "AWS_IVS_IngestConfiguration": { "type": "object", - "markdownDescription": "AWS::DeviceFarm::NetworkProfile creates a new DF Network Profile \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-devicefarm-networkprofile.html)", + "markdownDescription": "Resource Type definition for AWS::IVS::IngestConfiguration \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ivs-ingestconfiguration.html)", "allOf": [ { "type": "object", @@ -40570,14 +41219,44 @@ "Type": { "type": "string", "enum": [ - "AWS::DeviceFarm::NetworkProfile" + "AWS::IVS::IngestConfiguration" ], "markdownEnumDescriptions": [ - "AWS::DeviceFarm::NetworkProfile creates a new DF Network Profile \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-devicefarm-networkprofile.html)" + "Resource Type definition for AWS::IVS::IngestConfiguration \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ivs-ingestconfiguration.html)" ] }, "Properties": { - "$ref": "resources/aws-devicefarm-networkprofile.json" + "$ref": "resources/aws-ivs-ingestconfiguration.json" + } + }, + "required": [ + "Type" + ] + }, + { + "$ref": "resource.attributes.schema.json#/definitions/ResourceAttributes" + } + ], + "additionalProperties": false + }, + "AWS_DeviceFarm_DevicePool": { + "type": "object", + "markdownDescription": "AWS::DeviceFarm::DevicePool creates a new Device Pool for a given DF Project \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-devicefarm-devicepool.html)", + "allOf": [ + { + "type": "object", + "properties": { + "Type": { + "type": "string", + "enum": [ + "AWS::DeviceFarm::DevicePool" + ], + "markdownEnumDescriptions": [ + "AWS::DeviceFarm::DevicePool creates a new Device Pool for a given DF Project \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-devicefarm-devicepool.html)" + ] + }, + "Properties": { + "$ref": "resources/aws-devicefarm-devicepool.json" } }, "required": [ @@ -40591,9 +41270,9 @@ ], "additionalProperties": false }, - "AWS_DeviceFarm_VPCEConfiguration": { + "AWS_DeviceFarm_Project": { "type": "object", - "markdownDescription": "AWS::DeviceFarm::VPCEConfiguration creates a new Device Farm VPCE Configuration \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-devicefarm-vpceconfiguration.html)", + "markdownDescription": "AWS::DeviceFarm::Project creates a new Device Farm Project \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-devicefarm-project.html)", "allOf": [ { "type": "object", @@ -40601,14 +41280,14 @@ "Type": { "type": "string", "enum": [ - "AWS::DeviceFarm::VPCEConfiguration" + "AWS::DeviceFarm::Project" ], "markdownEnumDescriptions": [ - "AWS::DeviceFarm::VPCEConfiguration creates a new Device Farm VPCE Configuration \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-devicefarm-vpceconfiguration.html)" + "AWS::DeviceFarm::Project creates a new Device Farm Project \n[Docs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-devicefarm-project.html)" ] }, "Properties": { - "$ref": "resources/aws-devicefarm-vpceconfiguration.json" + "$ref": "resources/aws-devicefarm-project.json" } }, "required": [ @@ -40635,3952 +41314,4018 @@ "$ref": "#/definitions/CustomResource" }, { - "$ref": "#/definitions/AWS_ServiceCatalog_LaunchNotificationConstraint" + "$ref": "#/definitions/AWS_NetworkManager_TransitGatewayPeering" }, { - "$ref": "#/definitions/AWS_QuickSight_Template" + "$ref": "#/definitions/AWS_XRay_Group" }, { - "$ref": "#/definitions/AWS_AppMesh_Mesh" + "$ref": "#/definitions/AWS_MediaLive_EventBridgeRuleTemplateGroup" }, { - "$ref": "#/definitions/AWS_AppFlow_Flow" + "$ref": "#/definitions/AWS_Greengrass_LoggerDefinitionVersion" }, { - "$ref": "#/definitions/AWS_Greengrass_DeviceDefinitionVersion" + "$ref": "#/definitions/AWS_EC2_VerifiedAccessTrustProvider" }, { - "$ref": "#/definitions/AWS_EC2_LocalGatewayRouteTableVPCAssociation" + "$ref": "#/definitions/AWS_RDS_DBInstance" }, { - "$ref": "#/definitions/AWS_EC2_ClientVpnRoute" + "$ref": "#/definitions/AWS_FraudDetector_EventType" }, { - "$ref": "#/definitions/AWS_Redshift_ClusterSubnetGroup" + "$ref": "#/definitions/AWS_MediaConnect_Bridge" }, { - "$ref": "#/definitions/AWS_KinesisAnalyticsV2_ApplicationCloudWatchLoggingOption" + "$ref": "#/definitions/AWS_Wisdom_AIAgent" }, { - "$ref": "#/definitions/AWS_Connect_UserHierarchyStructure" + "$ref": "#/definitions/AWS_Batch_SchedulingPolicy" }, { - "$ref": "#/definitions/AWS_DataSync_LocationFSxONTAP" + "$ref": "#/definitions/AWS_SecurityHub_PolicyAssociation" }, { - "$ref": "#/definitions/AWS_Glue_SchemaVersionMetadata" + "$ref": "#/definitions/AWS_AppMesh_VirtualNode" }, { - "$ref": "#/definitions/AWS_Route53Resolver_ResolverRuleAssociation" + "$ref": "#/definitions/AWS_FMS_ResourceSet" }, { - "$ref": "#/definitions/AWS_Logs_DeliverySource" + "$ref": "#/definitions/AWS_Config_DeliveryChannel" }, { - "$ref": "#/definitions/AWS_Rekognition_Project" + "$ref": "#/definitions/AWS_ElasticLoadBalancingV2_TrustStoreRevocation" }, { - "$ref": "#/definitions/AWS_DataSync_LocationFSxOpenZFS" + "$ref": "#/definitions/AWS_EKS_AccessEntry" }, { - "$ref": "#/definitions/AWS_SSM_MaintenanceWindow" + "$ref": "#/definitions/AWS_ServiceDiscovery_Instance" }, { - "$ref": "#/definitions/AWS_ResourceExplorer2_View" + "$ref": "#/definitions/AWS_CodeBuild_SourceCredential" }, { - "$ref": "#/definitions/AWS_CustomerProfiles_ObjectType" + "$ref": "#/definitions/AWS_Logs_ResourcePolicy" }, { - "$ref": "#/definitions/AWS_EC2_PrefixList" + "$ref": "#/definitions/AWS_FraudDetector_Variable" }, { - "$ref": "#/definitions/AWS_SageMaker_DeviceFleet" + "$ref": "#/definitions/AWS_IAM_User" }, { - "$ref": "#/definitions/AWS_BillingConductor_PricingPlan" + "$ref": "#/definitions/AWS_CloudFormation_Stack" }, { - "$ref": "#/definitions/AWS_Cognito_UserPoolUser" + "$ref": "#/definitions/AWS_SQS_Queue" }, { - "$ref": "#/definitions/AWS_Organizations_ResourcePolicy" + "$ref": "#/definitions/AWS_CloudFormation_CustomResource" }, { - "$ref": "#/definitions/AWS_SecurityHub_FindingAggregator" + "$ref": "#/definitions/AWS_MediaLive_Input" }, { - "$ref": "#/definitions/AWS_Pinpoint_APNSVoipSandboxChannel" + "$ref": "#/definitions/AWS_Logs_Destination" + }, + { + "$ref": "#/definitions/AWS_SecurityHub_ConfigurationPolicy" + }, + { + "$ref": "#/definitions/AWS_AppRunner_AutoScalingConfiguration" + }, + { + "$ref": "#/definitions/AWS_Greengrass_ResourceDefinitionVersion" + }, + { + "$ref": "#/definitions/AWS_PCAConnectorAD_Connector" + }, + { + "$ref": "#/definitions/AWS_QuickSight_Analysis" + }, + { + "$ref": "#/definitions/AWS_KMS_ReplicaKey" + }, + { + "$ref": "#/definitions/AWS_ElastiCache_CacheCluster" + }, + { + "$ref": "#/definitions/AWS_DirectoryService_MicrosoftAD" + }, + { + "$ref": "#/definitions/AWS_ApiGatewayV2_Stage" + }, + { + "$ref": "#/definitions/AWS_Glue_UsageProfile" + }, + { + "$ref": "#/definitions/AWS_WAFv2_IPSet" + }, + { + "$ref": "#/definitions/AWS_AppSync_ChannelNamespace" + }, + { + "$ref": "#/definitions/AWS_APS_Workspace" + }, + { + "$ref": "#/definitions/AWS_FSx_FileSystem" + }, + { + "$ref": "#/definitions/AWS_EC2_NetworkInterfaceAttachment" + }, + { + "$ref": "#/definitions/AWS_CloudWatch_AnomalyDetector" + }, + { + "$ref": "#/definitions/AWS_Connect_UserHierarchyGroup" + }, + { + "$ref": "#/definitions/AWS_EventSchemas_Schema" + }, + { + "$ref": "#/definitions/AWS_ImageBuilder_DistributionConfiguration" + }, + { + "$ref": "#/definitions/AWS_CodeBuild_Project" + }, + { + "$ref": "#/definitions/AWS_IdentityStore_GroupMembership" }, { - "$ref": "#/definitions/AWS_KafkaConnect_CustomPlugin" + "$ref": "#/definitions/AWS_IAM_InstanceProfile" }, { - "$ref": "#/definitions/AWS_IoT_TopicRule" + "$ref": "#/definitions/AWS_CloudFormation_LambdaHook" }, { - "$ref": "#/definitions/AWS_Cognito_UserPoolIdentityProvider" + "$ref": "#/definitions/AWS_Oam_Sink" }, { - "$ref": "#/definitions/AWS_DataBrew_Recipe" + "$ref": "#/definitions/AWS_EKS_Nodegroup" }, { - "$ref": "#/definitions/AWS_Detective_MemberInvitation" + "$ref": "#/definitions/AWS_EC2_RouteTable" }, { - "$ref": "#/definitions/AWS_Logs_SubscriptionFilter" + "$ref": "#/definitions/AWS_ImageBuilder_Image" }, { - "$ref": "#/definitions/AWS_AccessAnalyzer_Analyzer" + "$ref": "#/definitions/AWS_MediaPackageV2_ChannelGroup" }, { - "$ref": "#/definitions/AWS_EC2_NetworkInterfaceAttachment" + "$ref": "#/definitions/AWS_Redshift_ClusterSecurityGroup" }, { - "$ref": "#/definitions/AWS_OpenSearchServerless_AccessPolicy" + "$ref": "#/definitions/AWS_Macie_CustomDataIdentifier" }, { - "$ref": "#/definitions/AWS_SecurityLake_SubscriberNotification" + "$ref": "#/definitions/AWS_ApiGateway_Model" }, { - "$ref": "#/definitions/AWS_CleanRooms_IdMappingTable" + "$ref": "#/definitions/AWS_EC2_Volume" }, { - "$ref": "#/definitions/AWS_IoT_ResourceSpecificLogging" + "$ref": "#/definitions/AWS_ElasticBeanstalk_ConfigurationTemplate" }, { - "$ref": "#/definitions/AWS_ApiGatewayV2_Model" + "$ref": "#/definitions/AWS_Deadline_Monitor" }, { - "$ref": "#/definitions/AWS_Amplify_Domain" + "$ref": "#/definitions/AWS_Budgets_Budget" }, { - "$ref": "#/definitions/AWS_EC2_VPCDHCPOptionsAssociation" + "$ref": "#/definitions/AWS_B2BI_Capability" }, { - "$ref": "#/definitions/AWS_NetworkFirewall_Firewall" + "$ref": "#/definitions/AWS_QuickSight_DataSet" }, { - "$ref": "#/definitions/AWS_DMS_MigrationProject" + "$ref": "#/definitions/AWS_CodeConnections_Connection" }, { - "$ref": "#/definitions/AWS_SageMaker_FeatureGroup" + "$ref": "#/definitions/AWS_S3Express_BucketPolicy" }, { - "$ref": "#/definitions/AWS_ApiGatewayV2_Stage" + "$ref": "#/definitions/AWS_ApiGateway_UsagePlanKey" }, { - "$ref": "#/definitions/AWS_Pinpoint_SmsTemplate" + "$ref": "#/definitions/AWS_IoT_BillingGroup" }, { - "$ref": "#/definitions/AWS_IoTFleetWise_SignalCatalog" + "$ref": "#/definitions/AWS_DataSync_LocationFSxONTAP" }, { - "$ref": "#/definitions/AWS_Personalize_Schema" + "$ref": "#/definitions/AWS_Shield_DRTAccess" }, { - "$ref": "#/definitions/AWS_EC2_SecurityGroupIngress" + "$ref": "#/definitions/AWS_GameLift_ContainerFleet" }, { - "$ref": "#/definitions/AWS_FSx_Volume" + "$ref": "#/definitions/AWS_RolesAnywhere_Profile" }, { - "$ref": "#/definitions/AWS_Pinpoint_APNSVoipChannel" + "$ref": "#/definitions/AWS_ApiGateway_Authorizer" }, { - "$ref": "#/definitions/AWS_ElastiCache_SubnetGroup" + "$ref": "#/definitions/AWS_KMS_Alias" }, { - "$ref": "#/definitions/AWS_Evidently_Experiment" + "$ref": "#/definitions/AWS_RedshiftServerless_Namespace" }, { - "$ref": "#/definitions/AWS_Transfer_Agreement" + "$ref": "#/definitions/AWS_CloudFormation_ModuleDefaultVersion" }, { - "$ref": "#/definitions/AWS_AppIntegrations_EventIntegration" + "$ref": "#/definitions/AWS_ServiceCatalog_PortfolioPrincipalAssociation" }, { - "$ref": "#/definitions/AWS_Kinesis_StreamConsumer" + "$ref": "#/definitions/AWS_EventSchemas_Registry" }, { - "$ref": "#/definitions/AWS_DataZone_Project" + "$ref": "#/definitions/AWS_ECS_CapacityProvider" }, { - "$ref": "#/definitions/AWS_Athena_WorkGroup" + "$ref": "#/definitions/AWS_Kinesis_Stream" }, { - "$ref": "#/definitions/AWS_Signer_SigningProfile" + "$ref": "#/definitions/AWS_Glue_Job" }, { - "$ref": "#/definitions/AWS_NetworkManager_CoreNetwork" + "$ref": "#/definitions/AWS_EC2_VPCEndpointServicePermissions" }, { - "$ref": "#/definitions/AWS_Logs_LogAnomalyDetector" + "$ref": "#/definitions/AWS_Panorama_PackageVersion" }, { - "$ref": "#/definitions/AWS_Omics_SequenceStore" + "$ref": "#/definitions/AWS_Glue_SchemaVersion" }, { - "$ref": "#/definitions/AWS_SES_ConfigurationSetEventDestination" + "$ref": "#/definitions/AWS_DAX_Cluster" }, { - "$ref": "#/definitions/AWS_DataSync_LocationHDFS" + "$ref": "#/definitions/AWS_GameLift_Fleet" }, { - "$ref": "#/definitions/AWS_SSO_PermissionSet" + "$ref": "#/definitions/AWS_MediaLive_ChannelPlacementGroup" }, { - "$ref": "#/definitions/AWS_CodeStar_GitHubRepository" + "$ref": "#/definitions/AWS_Glue_DataCatalogEncryptionSettings" }, { - "$ref": "#/definitions/AWS_NetworkFirewall_RuleGroup" + "$ref": "#/definitions/AWS_Logs_Delivery" }, { - "$ref": "#/definitions/AWS_Pinpoint_BaiduChannel" + "$ref": "#/definitions/AWS_CleanRooms_Collaboration" }, { - "$ref": "#/definitions/AWS_IoT_ThingType" + "$ref": "#/definitions/AWS_Greengrass_DeviceDefinitionVersion" }, { - "$ref": "#/definitions/AWS_B2BI_Profile" + "$ref": "#/definitions/AWS_VerifiedPermissions_PolicyStore" }, { - "$ref": "#/definitions/AWS_Oam_Sink" + "$ref": "#/definitions/AWS_MediaTailor_PlaybackConfiguration" }, { - "$ref": "#/definitions/AWS_GuardDuty_ThreatIntelSet" + "$ref": "#/definitions/AWS_EC2_TransitGatewayMulticastDomain" }, { - "$ref": "#/definitions/AWS_SES_DedicatedIpPool" + "$ref": "#/definitions/AWS_WorkSpacesThinClient_Environment" }, { - "$ref": "#/definitions/AWS_Timestream_Database" + "$ref": "#/definitions/AWS_Pinpoint_EmailTemplate" }, { - "$ref": "#/definitions/AWS_IoTSiteWise_Project" + "$ref": "#/definitions/AWS_Bedrock_AgentAlias" }, { - "$ref": "#/definitions/AWS_SSMContacts_Rotation" + "$ref": "#/definitions/AWS_EC2_IPAMPoolCidr" }, { - "$ref": "#/definitions/AWS_IoTCoreDeviceAdvisor_SuiteDefinition" + "$ref": "#/definitions/AWS_SupportApp_SlackWorkspaceConfiguration" }, { - "$ref": "#/definitions/AWS_PinpointEmail_ConfigurationSetEventDestination" + "$ref": "#/definitions/AWS_Deadline_LicenseEndpoint" }, { - "$ref": "#/definitions/AWS_B2BI_Partnership" + "$ref": "#/definitions/AWS_Organizations_Organization" }, { - "$ref": "#/definitions/AWS_SES_ReceiptFilter" + "$ref": "#/definitions/AWS_NetworkFirewall_FirewallPolicy" }, { - "$ref": "#/definitions/AWS_EKS_AccessEntry" + "$ref": "#/definitions/AWS_EKS_Addon" }, { - "$ref": "#/definitions/AWS_Pinpoint_EmailChannel" + "$ref": "#/definitions/AWS_Glue_Crawler" }, { - "$ref": "#/definitions/AWS_IoTEvents_AlarmModel" + "$ref": "#/definitions/AWS_Redshift_EndpointAuthorization" }, { - "$ref": "#/definitions/AWS_NetworkManager_TransitGatewayRouteTableAttachment" + "$ref": "#/definitions/AWS_ECR_Repository" }, { - "$ref": "#/definitions/AWS_EC2_ClientVpnAuthorizationRule" + "$ref": "#/definitions/AWS_Connect_TaskTemplate" }, { - "$ref": "#/definitions/AWS_Events_ApiDestination" + "$ref": "#/definitions/AWS_AppConfig_ConfigurationProfile" }, { - "$ref": "#/definitions/AWS_MSK_Replicator" + "$ref": "#/definitions/AWS_Greengrass_SubscriptionDefinitionVersion" }, { - "$ref": "#/definitions/AWS_FIS_TargetAccountConfiguration" + "$ref": "#/definitions/AWS_IAM_SAMLProvider" }, { - "$ref": "#/definitions/AWS_MediaPackageV2_ChannelGroup" + "$ref": "#/definitions/AWS_SecretsManager_Secret" }, { - "$ref": "#/definitions/AWS_CloudWatch_AnomalyDetector" + "$ref": "#/definitions/AWS_NetworkManager_Site" }, { - "$ref": "#/definitions/AWS_ApiGateway_DocumentationPart" + "$ref": "#/definitions/AWS_IoT_TopicRule" }, { - "$ref": "#/definitions/AWS_Deadline_QueueEnvironment" + "$ref": "#/definitions/AWS_DataSync_LocationFSxOpenZFS" }, { - "$ref": "#/definitions/AWS_EC2_CustomerGateway" + "$ref": "#/definitions/AWS_SageMaker_MlflowTrackingServer" }, { - "$ref": "#/definitions/AWS_Cognito_IdentityPoolPrincipalTag" + "$ref": "#/definitions/AWS_EC2_VPCEndpoint" }, { - "$ref": "#/definitions/AWS_Chatbot_SlackChannelConfiguration" + "$ref": "#/definitions/AWS_Lightsail_LoadBalancerTlsCertificate" }, { - "$ref": "#/definitions/AWS_ApiGateway_Account" + "$ref": "#/definitions/AWS_MemoryDB_Cluster" }, { - "$ref": "#/definitions/AWS_ImageBuilder_ImagePipeline" + "$ref": "#/definitions/AWS_IoTAnalytics_Dataset" }, { - "$ref": "#/definitions/AWS_CleanRooms_ConfiguredTableAssociation" + "$ref": "#/definitions/AWS_ServiceDiscovery_PublicDnsNamespace" }, { - "$ref": "#/definitions/AWS_CleanRoomsML_TrainingDataset" + "$ref": "#/definitions/AWS_EC2_NetworkAcl" }, { - "$ref": "#/definitions/AWS_DataSync_LocationAzureBlob" + "$ref": "#/definitions/AWS_Greengrass_FunctionDefinitionVersion" }, { - "$ref": "#/definitions/AWS_Budgets_BudgetsAction" + "$ref": "#/definitions/AWS_AutoScaling_LifecycleHook" }, { - "$ref": "#/definitions/AWS_GroundStation_Config" + "$ref": "#/definitions/AWS_AutoScaling_ScalingPolicy" }, { - "$ref": "#/definitions/AWS_IoTSiteWise_Portal" + "$ref": "#/definitions/AWS_WAFv2_LoggingConfiguration" }, { - "$ref": "#/definitions/AWS_IVSChat_LoggingConfiguration" + "$ref": "#/definitions/AWS_IoT_JobTemplate" }, { - "$ref": "#/definitions/AWS_SageMaker_ModelPackage" + "$ref": "#/definitions/AWS_CloudFormation_StackSet" }, { - "$ref": "#/definitions/AWS_EC2_FlowLog" + "$ref": "#/definitions/AWS_NetworkManager_TransitGatewayRegistration" }, { - "$ref": "#/definitions/AWS_CE_CostCategory" + "$ref": "#/definitions/AWS_ApiGatewayV2_ApiGatewayManagedOverrides" }, { - "$ref": "#/definitions/AWS_ServiceCatalog_PortfolioProductAssociation" + "$ref": "#/definitions/AWS_EC2_TransitGatewayConnect" }, { - "$ref": "#/definitions/AWS_Bedrock_FlowAlias" + "$ref": "#/definitions/AWS_SageMaker_ModelQualityJobDefinition" }, { - "$ref": "#/definitions/AWS_Pinpoint_EventStream" + "$ref": "#/definitions/AWS_WAF_WebACL" }, { - "$ref": "#/definitions/AWS_SecurityHub_ConfigurationPolicy" + "$ref": "#/definitions/AWS_ECS_TaskSet" }, { - "$ref": "#/definitions/AWS_SecurityHub_Hub" + "$ref": "#/definitions/AWS_Redshift_ClusterSecurityGroupIngress" }, { - "$ref": "#/definitions/AWS_Macie_Session" + "$ref": "#/definitions/AWS_EC2_VPCEndpointService" }, { - "$ref": "#/definitions/AWS_CleanRooms_PrivacyBudgetTemplate" + "$ref": "#/definitions/AWS_NetworkManager_LinkAssociation" }, { - "$ref": "#/definitions/AWS_Lambda_Version" + "$ref": "#/definitions/AWS_RefactorSpaces_Environment" }, { - "$ref": "#/definitions/AWS_CustomerProfiles_Integration" + "$ref": "#/definitions/AWS_Backup_ReportPlan" }, { - "$ref": "#/definitions/AWS_DMS_ReplicationTask" + "$ref": "#/definitions/AWS_IoT1Click_Project" }, { - "$ref": "#/definitions/AWS_CodeBuild_ReportGroup" + "$ref": "#/definitions/AWS_Timestream_InfluxDBInstance" }, { - "$ref": "#/definitions/AWS_CloudFront_ContinuousDeploymentPolicy" + "$ref": "#/definitions/AWS_RDS_DBCluster" }, { - "$ref": "#/definitions/AWS_KinesisAnalytics_ApplicationReferenceDataSource" + "$ref": "#/definitions/AWS_SystemsManagerSAP_Application" }, { - "$ref": "#/definitions/AWS_Lightsail_Database" + "$ref": "#/definitions/AWS_SNS_TopicPolicy" }, { - "$ref": "#/definitions/AWS_SageMaker_Domain" + "$ref": "#/definitions/AWS_Location_APIKey" }, { - "$ref": "#/definitions/AWS_PaymentCryptography_Key" + "$ref": "#/definitions/AWS_S3_StorageLensGroup" }, { - "$ref": "#/definitions/AWS_SSM_ResourceDataSync" + "$ref": "#/definitions/AWS_CloudFront_StreamingDistribution" }, { - "$ref": "#/definitions/AWS_WAFRegional_XssMatchSet" + "$ref": "#/definitions/AWS_NetworkManager_CustomerGatewayAssociation" }, { - "$ref": "#/definitions/AWS_AppMesh_VirtualGateway" + "$ref": "#/definitions/AWS_ACMPCA_CertificateAuthority" }, { - "$ref": "#/definitions/AWS_Batch_JobDefinition" + "$ref": "#/definitions/AWS_DMS_Certificate" }, { - "$ref": "#/definitions/AWS_QBusiness_Application" + "$ref": "#/definitions/AWS_QLDB_Stream" }, { - "$ref": "#/definitions/AWS_RDS_Integration" + "$ref": "#/definitions/AWS_NetworkManager_Link" }, { - "$ref": "#/definitions/AWS_CloudWatch_Alarm" + "$ref": "#/definitions/AWS_QuickSight_VPCConnection" }, { - "$ref": "#/definitions/AWS_QBusiness_Plugin" + "$ref": "#/definitions/AWS_Kendra_Faq" }, { - "$ref": "#/definitions/AWS_QBusiness_Retriever" + "$ref": "#/definitions/AWS_CloudFormation_ResourceVersion" }, { - "$ref": "#/definitions/AWS_CloudFront_ResponseHeadersPolicy" + "$ref": "#/definitions/AWS_IoTFleetWise_Vehicle" }, { - "$ref": "#/definitions/AWS_ApiGateway_Deployment" + "$ref": "#/definitions/AWS_OpsWorks_Instance" }, { - "$ref": "#/definitions/AWS_WAF_XssMatchSet" + "$ref": "#/definitions/AWS_IVS_Channel" }, { - "$ref": "#/definitions/AWS_Chatbot_MicrosoftTeamsChannelConfiguration" + "$ref": "#/definitions/AWS_EntityResolution_SchemaMapping" }, { - "$ref": "#/definitions/AWS_CodeStarConnections_Connection" + "$ref": "#/definitions/AWS_Amplify_Branch" }, { - "$ref": "#/definitions/AWS_Rekognition_StreamProcessor" + "$ref": "#/definitions/AWS_S3Outposts_AccessPoint" }, { - "$ref": "#/definitions/AWS_BillingConductor_CustomLineItem" + "$ref": "#/definitions/AWS_GuardDuty_Filter" }, { - "$ref": "#/definitions/AWS_RDS_DBSecurityGroupIngress" + "$ref": "#/definitions/AWS_WorkSpacesWeb_UserSettings" }, { - "$ref": "#/definitions/AWS_GreengrassV2_Deployment" + "$ref": "#/definitions/AWS_ElastiCache_SubnetGroup" }, { - "$ref": "#/definitions/AWS_AppFlow_ConnectorProfile" + "$ref": "#/definitions/AWS_LicenseManager_Grant" }, { - "$ref": "#/definitions/AWS_Cassandra_Table" + "$ref": "#/definitions/AWS_Connect_SecurityProfile" }, { - "$ref": "#/definitions/AWS_DataBrew_Schedule" + "$ref": "#/definitions/AWS_MediaConnect_FlowVpcInterface" }, { - "$ref": "#/definitions/AWS_StepFunctions_StateMachineVersion" + "$ref": "#/definitions/AWS_Glue_MLTransform" }, { - "$ref": "#/definitions/AWS_BillingConductor_PricingRule" + "$ref": "#/definitions/AWS_Route53Profiles_ProfileAssociation" }, { - "$ref": "#/definitions/AWS_EC2_VPCEndpoint" + "$ref": "#/definitions/AWS_Logs_QueryDefinition" }, { - "$ref": "#/definitions/AWS_AutoScaling_LaunchConfiguration" + "$ref": "#/definitions/AWS_CE_AnomalyMonitor" }, { - "$ref": "#/definitions/AWS_MWAA_Environment" + "$ref": "#/definitions/AWS_ApplicationInsights_Application" }, { - "$ref": "#/definitions/AWS_CloudWatch_Dashboard" + "$ref": "#/definitions/AWS_VpcLattice_Rule" }, { - "$ref": "#/definitions/AWS_Evidently_Segment" + "$ref": "#/definitions/AWS_Organizations_Account" }, { - "$ref": "#/definitions/AWS_IoT_SoftwarePackage" + "$ref": "#/definitions/AWS_Connect_ViewVersion" }, { - "$ref": "#/definitions/AWS_EC2_VPCGatewayAttachment" + "$ref": "#/definitions/AWS_ServiceDiscovery_Service" }, { - "$ref": "#/definitions/AWS_EC2_TransitGatewayMulticastGroupSource" + "$ref": "#/definitions/AWS_IoTSiteWise_Asset" }, { - "$ref": "#/definitions/AWS_S3Outposts_Endpoint" + "$ref": "#/definitions/AWS_SageMaker_Model" }, { - "$ref": "#/definitions/AWS_AppStream_StackFleetAssociation" + "$ref": "#/definitions/AWS_ImageBuilder_ImageRecipe" }, { - "$ref": "#/definitions/AWS_ServiceDiscovery_PublicDnsNamespace" + "$ref": "#/definitions/AWS_Cognito_UserPoolGroup" }, { - "$ref": "#/definitions/AWS_DocDB_DBClusterParameterGroup" + "$ref": "#/definitions/AWS_RoboMaker_SimulationApplicationVersion" }, { - "$ref": "#/definitions/AWS_AutoScaling_ScheduledAction" + "$ref": "#/definitions/AWS_IoT_Thing" }, { - "$ref": "#/definitions/AWS_SecretsManager_Secret" + "$ref": "#/definitions/AWS_GlobalAccelerator_Listener" }, { - "$ref": "#/definitions/AWS_EC2_SpotFleet" + "$ref": "#/definitions/AWS_Lambda_Permission" }, { - "$ref": "#/definitions/AWS_ConnectCampaigns_Campaign" + "$ref": "#/definitions/AWS_SecurityLake_DataLake" }, { - "$ref": "#/definitions/AWS_ApiGatewayV2_DomainName" + "$ref": "#/definitions/AWS_ImageBuilder_Workflow" }, { - "$ref": "#/definitions/AWS_Proton_ServiceTemplate" + "$ref": "#/definitions/AWS_Route53RecoveryControl_ControlPanel" }, { - "$ref": "#/definitions/AWS_AppStream_ApplicationEntitlementAssociation" + "$ref": "#/definitions/AWS_EC2_VPCGatewayAttachment" }, { - "$ref": "#/definitions/AWS_Logs_LogGroup" + "$ref": "#/definitions/AWS_Chatbot_SlackChannelConfiguration" }, { - "$ref": "#/definitions/AWS_Proton_EnvironmentTemplate" + "$ref": "#/definitions/AWS_MSK_Configuration" }, { - "$ref": "#/definitions/AWS_S3ObjectLambda_AccessPoint" + "$ref": "#/definitions/AWS_ServiceCatalog_TagOptionAssociation" }, { - "$ref": "#/definitions/AWS_DMS_ReplicationConfig" + "$ref": "#/definitions/AWS_HealthImaging_Datastore" }, { - "$ref": "#/definitions/AWS_IoTFleetWise_Campaign" + "$ref": "#/definitions/AWS_Config_ConformancePack" }, { - "$ref": "#/definitions/AWS_SQS_QueueInlinePolicy" + "$ref": "#/definitions/AWS_Evidently_Segment" }, { - "$ref": "#/definitions/AWS_IVS_PlaybackKeyPair" + "$ref": "#/definitions/AWS_PaymentCryptography_Alias" }, { - "$ref": "#/definitions/AWS_Comprehend_DocumentClassifier" + "$ref": "#/definitions/AWS_CloudFormation_ModuleVersion" }, { - "$ref": "#/definitions/AWS_Detective_Graph" + "$ref": "#/definitions/AWS_IoT_ThingGroup" }, { - "$ref": "#/definitions/AWS_RDS_DBCluster" + "$ref": "#/definitions/AWS_ServiceCatalog_AcceptedPortfolioShare" }, { - "$ref": "#/definitions/AWS_RolesAnywhere_CRL" + "$ref": "#/definitions/AWS_Personalize_Solution" }, { - "$ref": "#/definitions/AWS_Athena_NamedQuery" + "$ref": "#/definitions/AWS_ApiGateway_DocumentationVersion" }, { - "$ref": "#/definitions/AWS_Config_ConformancePack" + "$ref": "#/definitions/AWS_EC2_VPNGateway" }, { - "$ref": "#/definitions/AWS_CloudWatch_MetricStream" + "$ref": "#/definitions/AWS_Forecast_DatasetGroup" }, { - "$ref": "#/definitions/AWS_SSO_InstanceAccessControlAttributeConfiguration" + "$ref": "#/definitions/AWS_LakeFormation_PrincipalPermissions" }, { - "$ref": "#/definitions/AWS_EC2_NetworkInsightsAccessScopeAnalysis" + "$ref": "#/definitions/AWS_CertificateManager_Certificate" }, { - "$ref": "#/definitions/AWS_ApiGatewayV2_Route" + "$ref": "#/definitions/AWS_WorkSpacesWeb_IdentityProvider" }, { - "$ref": "#/definitions/AWS_IAM_AccessKey" + "$ref": "#/definitions/AWS_WAF_IPSet" }, { - "$ref": "#/definitions/AWS_SageMaker_App" + "$ref": "#/definitions/AWS_ServiceCatalogAppRegistry_ResourceAssociation" }, { - "$ref": "#/definitions/AWS_VpcLattice_ServiceNetwork" + "$ref": "#/definitions/AWS_MediaStore_Container" }, { - "$ref": "#/definitions/AWS_EC2_VPNConnection" + "$ref": "#/definitions/AWS_Pinpoint_BaiduChannel" }, { - "$ref": "#/definitions/AWS_IoT_Certificate" + "$ref": "#/definitions/AWS_FMS_Policy" }, { - "$ref": "#/definitions/AWS_EC2_SubnetCidrBlock" + "$ref": "#/definitions/AWS_Cloud9_EnvironmentEC2" }, { - "$ref": "#/definitions/AWS_IoT_ScheduledAudit" + "$ref": "#/definitions/AWS_GameLift_GameServerGroup" }, { - "$ref": "#/definitions/AWS_RefactorSpaces_Environment" + "$ref": "#/definitions/AWS_ImageBuilder_ContainerRecipe" }, { - "$ref": "#/definitions/AWS_HealthLake_FHIRDatastore" + "$ref": "#/definitions/AWS_Glue_Connection" }, { - "$ref": "#/definitions/AWS_Glue_Registry" + "$ref": "#/definitions/AWS_Connect_AgentStatus" }, { - "$ref": "#/definitions/AWS_Backup_Framework" + "$ref": "#/definitions/AWS_Lightsail_Certificate" }, { - "$ref": "#/definitions/AWS_Events_Connection" + "$ref": "#/definitions/AWS_S3Outposts_Bucket" }, { - "$ref": "#/definitions/AWS_SQS_QueuePolicy" + "$ref": "#/definitions/AWS_Events_Endpoint" }, { - "$ref": "#/definitions/AWS_EC2_TransitGateway" + "$ref": "#/definitions/AWS_RedshiftServerless_Workgroup" }, { - "$ref": "#/definitions/AWS_CodeArtifact_Repository" + "$ref": "#/definitions/AWS_IoTEvents_Input" }, { - "$ref": "#/definitions/AWS_WorkSpacesWeb_BrowserSettings" + "$ref": "#/definitions/AWS_IoT_Certificate" }, { - "$ref": "#/definitions/AWS_Athena_PreparedStatement" + "$ref": "#/definitions/AWS_WAFv2_WebACL" }, { - "$ref": "#/definitions/AWS_FMS_NotificationChannel" + "$ref": "#/definitions/AWS_CodePipeline_CustomActionType" }, { - "$ref": "#/definitions/AWS_EC2_TransitGatewayMulticastDomain" + "$ref": "#/definitions/AWS_KinesisVideo_SignalingChannel" }, { - "$ref": "#/definitions/AWS_AppStream_User" + "$ref": "#/definitions/Alexa_ASK_Skill" }, { - "$ref": "#/definitions/AWS_ServiceCatalog_ServiceActionAssociation" + "$ref": "#/definitions/AWS_EKS_PodIdentityAssociation" }, { - "$ref": "#/definitions/AWS_ElasticBeanstalk_ApplicationVersion" + "$ref": "#/definitions/AWS_Inspector_ResourceGroup" }, { - "$ref": "#/definitions/AWS_BillingConductor_BillingGroup" + "$ref": "#/definitions/AWS_Greengrass_CoreDefinitionVersion" }, { - "$ref": "#/definitions/AWS_SSM_MaintenanceWindowTask" + "$ref": "#/definitions/AWS_ECS_PrimaryTaskSet" }, { - "$ref": "#/definitions/AWS_ServiceDiscovery_Service" + "$ref": "#/definitions/AWS_AppConfig_Application" }, { - "$ref": "#/definitions/AWS_DAX_Cluster" + "$ref": "#/definitions/AWS_HealthLake_FHIRDatastore" }, { - "$ref": "#/definitions/AWS_FraudDetector_Label" + "$ref": "#/definitions/AWS_Cognito_IdentityPoolRoleAttachment" }, { - "$ref": "#/definitions/AWS_ResourceGroups_Group" + "$ref": "#/definitions/AWS_RDS_DBClusterParameterGroup" }, { - "$ref": "#/definitions/AWS_Route53Profiles_Profile" + "$ref": "#/definitions/AWS_SecurityHub_DelegatedAdmin" }, { - "$ref": "#/definitions/AWS_Inspector_AssessmentTarget" + "$ref": "#/definitions/AWS_SageMaker_ImageVersion" }, { - "$ref": "#/definitions/AWS_AutoScaling_WarmPool" + "$ref": "#/definitions/AWS_WorkSpaces_Workspace" }, { - "$ref": "#/definitions/AWS_IoTSiteWise_AccessPolicy" + "$ref": "#/definitions/AWS_ApiGateway_GatewayResponse" }, { - "$ref": "#/definitions/AWS_CloudFormation_ModuleVersion" + "$ref": "#/definitions/AWS_Pinpoint_InAppTemplate" }, { - "$ref": "#/definitions/AWS_Redshift_ClusterSecurityGroup" + "$ref": "#/definitions/AWS_SageMaker_CodeRepository" }, { - "$ref": "#/definitions/AWS_Glue_Trigger" + "$ref": "#/definitions/AWS_DocDB_DBInstance" }, { - "$ref": "#/definitions/AWS_IAM_VirtualMFADevice" + "$ref": "#/definitions/AWS_Deadline_Queue" }, { - "$ref": "#/definitions/AWS_Connect_AgentStatus" + "$ref": "#/definitions/AWS_Athena_WorkGroup" }, { - "$ref": "#/definitions/AWS_Connect_SecurityKey" + "$ref": "#/definitions/AWS_DataSync_LocationNFS" }, { - "$ref": "#/definitions/AWS_IoT_PolicyPrincipalAttachment" + "$ref": "#/definitions/AWS_Greengrass_GroupVersion" }, { - "$ref": "#/definitions/AWS_Timestream_Table" + "$ref": "#/definitions/AWS_ServiceCatalog_PortfolioProductAssociation" }, { - "$ref": "#/definitions/AWS_Inspector_AssessmentTemplate" + "$ref": "#/definitions/AWS_RDS_OptionGroup" }, { - "$ref": "#/definitions/AWS_Route53Resolver_ResolverQueryLoggingConfig" + "$ref": "#/definitions/AWS_MediaConnect_FlowEntitlement" }, { - "$ref": "#/definitions/AWS_ApiGateway_Model" + "$ref": "#/definitions/AWS_Glue_Trigger" }, { - "$ref": "#/definitions/AWS_CloudFormation_ModuleDefaultVersion" + "$ref": "#/definitions/AWS_Omics_ReferenceStore" }, { - "$ref": "#/definitions/AWS_IoTTwinMaker_Scene" + "$ref": "#/definitions/AWS_Lightsail_Bucket" }, { - "$ref": "#/definitions/AWS_SupportApp_AccountAlias" + "$ref": "#/definitions/AWS_DocDB_EventSubscription" }, { - "$ref": "#/definitions/AWS_SageMaker_DataQualityJobDefinition" + "$ref": "#/definitions/AWS_ServiceCatalogAppRegistry_AttributeGroup" }, { - "$ref": "#/definitions/AWS_VpcLattice_Service" + "$ref": "#/definitions/AWS_Greengrass_ConnectorDefinition" }, { - "$ref": "#/definitions/AWS_AppRunner_Service" + "$ref": "#/definitions/AWS_SageMaker_App" }, { - "$ref": "#/definitions/AWS_EC2_NetworkInterface" + "$ref": "#/definitions/AWS_FraudDetector_EntityType" }, { - "$ref": "#/definitions/AWS_SageMaker_EndpointConfig" + "$ref": "#/definitions/AWS_IoTEvents_DetectorModel" }, { - "$ref": "#/definitions/AWS_Greengrass_LoggerDefinitionVersion" + "$ref": "#/definitions/AWS_IVS_Stage" }, { - "$ref": "#/definitions/AWS_Route53Resolver_OutpostResolver" + "$ref": "#/definitions/AWS_SES_MailManagerRuleSet" }, { - "$ref": "#/definitions/AWS_QuickSight_RefreshSchedule" + "$ref": "#/definitions/AWS_EMR_Cluster" }, { - "$ref": "#/definitions/AWS_MSK_ServerlessCluster" + "$ref": "#/definitions/AWS_ResourceGroups_Group" }, { - "$ref": "#/definitions/AWS_FMS_Policy" + "$ref": "#/definitions/AWS_FSx_DataRepositoryAssociation" }, { - "$ref": "#/definitions/AWS_ElasticLoadBalancingV2_LoadBalancer" + "$ref": "#/definitions/AWS_EKS_Cluster" }, { - "$ref": "#/definitions/AWS_CloudFormation_WaitConditionHandle" + "$ref": "#/definitions/AWS_ECR_RegistryPolicy" }, { - "$ref": "#/definitions/AWS_Route53RecoveryControl_SafetyRule" + "$ref": "#/definitions/AWS_Pinpoint_VoiceChannel" }, { - "$ref": "#/definitions/AWS_MediaPackageV2_OriginEndpoint" + "$ref": "#/definitions/AWS_Macie_FindingsFilter" }, { - "$ref": "#/definitions/AWS_SageMaker_InferenceExperiment" + "$ref": "#/definitions/AWS_VpcLattice_ResourcePolicy" }, { - "$ref": "#/definitions/AWS_MediaPackage_Asset" + "$ref": "#/definitions/AWS_Glue_Classifier" }, { - "$ref": "#/definitions/AWS_Connect_ContactFlowModule" + "$ref": "#/definitions/AWS_Detective_Graph" }, { - "$ref": "#/definitions/AWS_FSx_DataRepositoryAssociation" + "$ref": "#/definitions/AWS_EC2_TrafficMirrorFilterRule" }, { - "$ref": "#/definitions/AWS_EC2_SubnetRouteTableAssociation" + "$ref": "#/definitions/AWS_GuardDuty_IPSet" }, { - "$ref": "#/definitions/AWS_MediaPackageV2_ChannelPolicy" + "$ref": "#/definitions/AWS_Batch_JobDefinition" }, { - "$ref": "#/definitions/AWS_NetworkManager_ConnectPeer" + "$ref": "#/definitions/AWS_FSx_Snapshot" }, { - "$ref": "#/definitions/AWS_IoT_DomainConfiguration" + "$ref": "#/definitions/AWS_CloudFront_OriginAccessControl" }, { - "$ref": "#/definitions/AWS_ServiceDiscovery_PrivateDnsNamespace" + "$ref": "#/definitions/AWS_SSMContacts_Contact" }, { - "$ref": "#/definitions/AWS_NetworkFirewall_FirewallPolicy" + "$ref": "#/definitions/AWS_AppRunner_Service" }, { - "$ref": "#/definitions/AWS_Amplify_App" + "$ref": "#/definitions/AWS_Events_Connection" }, { - "$ref": "#/definitions/AWS_ECS_TaskDefinition" + "$ref": "#/definitions/AWS_EC2_NetworkInsightsAnalysis" }, { - "$ref": "#/definitions/AWS_VpcLattice_Listener" + "$ref": "#/definitions/AWS_WAF_ByteMatchSet" }, { - "$ref": "#/definitions/AWS_DMS_ReplicationInstance" + "$ref": "#/definitions/AWS_CodeGuruProfiler_ProfilingGroup" }, { - "$ref": "#/definitions/AWS_SageMaker_Endpoint" + "$ref": "#/definitions/AWS_CloudTrail_ResourcePolicy" }, { - "$ref": "#/definitions/AWS_SageMaker_ModelQualityJobDefinition" + "$ref": "#/definitions/AWS_Pinpoint_PushTemplate" }, { - "$ref": "#/definitions/AWS_EntityResolution_IdNamespace" + "$ref": "#/definitions/AWS_EC2_TransitGatewayAttachment" }, { - "$ref": "#/definitions/AWS_Backup_ReportPlan" + "$ref": "#/definitions/AWS_AppRunner_VpcIngressConnection" }, { - "$ref": "#/definitions/AWS_CertificateManager_Account" + "$ref": "#/definitions/AWS_LaunchWizard_Deployment" }, { - "$ref": "#/definitions/AWS_SecurityHub_Insight" + "$ref": "#/definitions/AWS_AppFlow_Flow" }, { - "$ref": "#/definitions/AWS_FraudDetector_EntityType" + "$ref": "#/definitions/AWS_SSO_Instance" }, { - "$ref": "#/definitions/AWS_ElasticLoadBalancingV2_Listener" + "$ref": "#/definitions/AWS_CustomerProfiles_ObjectType" }, { - "$ref": "#/definitions/AWS_EC2_IPAM" + "$ref": "#/definitions/AWS_ManagedBlockchain_Member" }, { - "$ref": "#/definitions/AWS_Connect_EvaluationForm" + "$ref": "#/definitions/AWS_Connect_User" }, { - "$ref": "#/definitions/AWS_IoT_CustomMetric" + "$ref": "#/definitions/AWS_DataZone_EnvironmentBlueprintConfiguration" }, { - "$ref": "#/definitions/AWS_EMR_InstanceFleetConfig" + "$ref": "#/definitions/AWS_Transfer_User" }, { - "$ref": "#/definitions/AWS_PCAConnectorAD_ServicePrincipalName" + "$ref": "#/definitions/AWS_EFS_AccessPoint" }, { - "$ref": "#/definitions/AWS_MediaTailor_LiveSource" + "$ref": "#/definitions/AWS_SageMaker_Image" }, { - "$ref": "#/definitions/AWS_IoTAnalytics_Datastore" + "$ref": "#/definitions/AWS_DataZone_UserProfile" }, { - "$ref": "#/definitions/AWS_EC2_LocalGatewayRouteTableVirtualInterfaceGroupAssociation" + "$ref": "#/definitions/AWS_Cognito_IdentityPoolPrincipalTag" }, { - "$ref": "#/definitions/AWS_S3Express_DirectoryBucket" + "$ref": "#/definitions/AWS_AppStream_AppBlock" }, { - "$ref": "#/definitions/AWS_Lex_BotAlias" + "$ref": "#/definitions/AWS_MediaLive_CloudWatchAlarmTemplateGroup" }, { - "$ref": "#/definitions/AWS_IoT_Authorizer" + "$ref": "#/definitions/AWS_IoTWireless_FuotaTask" }, { - "$ref": "#/definitions/AWS_Neptune_DBCluster" + "$ref": "#/definitions/AWS_QBusiness_Retriever" }, { - "$ref": "#/definitions/AWS_MediaPackage_PackagingGroup" + "$ref": "#/definitions/AWS_DataBrew_Dataset" }, { - "$ref": "#/definitions/AWS_CloudFormation_ResourceVersion" + "$ref": "#/definitions/AWS_GameLift_Alias" }, { - "$ref": "#/definitions/AWS_Transfer_Certificate" + "$ref": "#/definitions/AWS_Redshift_ClusterSubnetGroup" }, { - "$ref": "#/definitions/AWS_Events_Rule" + "$ref": "#/definitions/AWS_Cognito_UserPoolClient" }, { - "$ref": "#/definitions/AWS_ServiceCatalog_PortfolioShare" + "$ref": "#/definitions/AWS_MediaConnect_Gateway" }, { - "$ref": "#/definitions/AWS_AutoScalingPlans_ScalingPlan" + "$ref": "#/definitions/AWS_ApiGateway_DomainName" }, { - "$ref": "#/definitions/AWS_NetworkManager_CustomerGatewayAssociation" + "$ref": "#/definitions/AWS_ApiGateway_RestApi" }, { - "$ref": "#/definitions/AWS_FraudDetector_Detector" + "$ref": "#/definitions/AWS_S3Outposts_BucketPolicy" }, { - "$ref": "#/definitions/AWS_SecurityLake_AwsLogSource" + "$ref": "#/definitions/AWS_IoTAnalytics_Channel" }, { - "$ref": "#/definitions/AWS_AppSync_ApiKey" + "$ref": "#/definitions/AWS_Timestream_ScheduledQuery" }, { - "$ref": "#/definitions/AWS_RoboMaker_RobotApplication" + "$ref": "#/definitions/AWS_DataSync_Agent" }, { - "$ref": "#/definitions/AWS_Transfer_Server" + "$ref": "#/definitions/AWS_ApiGatewayV2_ApiMapping" }, { - "$ref": "#/definitions/AWS_Connect_Rule" + "$ref": "#/definitions/AWS_CloudFront_CloudFrontOriginAccessIdentity" }, { - "$ref": "#/definitions/AWS_Route53Profiles_ProfileResourceAssociation" + "$ref": "#/definitions/AWS_DMS_ReplicationInstance" }, { - "$ref": "#/definitions/AWS_AppSync_FunctionConfiguration" + "$ref": "#/definitions/AWS_IoT_Logging" }, { - "$ref": "#/definitions/AWS_SSO_ApplicationAssignment" + "$ref": "#/definitions/AWS_DMS_InstanceProfile" }, { - "$ref": "#/definitions/AWS_EC2_LocalGatewayRoute" + "$ref": "#/definitions/AWS_MediaPackageV2_OriginEndpointPolicy" }, { - "$ref": "#/definitions/AWS_LakeFormation_PrincipalPermissions" + "$ref": "#/definitions/AWS_SES_MailManagerRelay" }, { - "$ref": "#/definitions/AWS_FSx_Snapshot" + "$ref": "#/definitions/AWS_QBusiness_Application" }, { - "$ref": "#/definitions/AWS_EC2_EIPAssociation" + "$ref": "#/definitions/AWS_LakeFormation_Resource" }, { - "$ref": "#/definitions/AWS_EC2_IPAMResourceDiscoveryAssociation" + "$ref": "#/definitions/AWS_SSO_Assignment" }, { - "$ref": "#/definitions/AWS_MSK_VpcConnection" + "$ref": "#/definitions/AWS_Logs_LogStream" }, { - "$ref": "#/definitions/AWS_LookoutMetrics_Alert" + "$ref": "#/definitions/AWS_Glue_Workflow" }, { - "$ref": "#/definitions/AWS_CloudFormation_PublicTypeVersion" + "$ref": "#/definitions/AWS_WorkSpacesWeb_TrustStore" }, { - "$ref": "#/definitions/AWS_DataSync_LocationSMB" + "$ref": "#/definitions/AWS_NetworkFirewall_TLSInspectionConfiguration" }, { - "$ref": "#/definitions/AWS_DataZone_GroupProfile" + "$ref": "#/definitions/AWS_RDS_EventSubscription" }, { - "$ref": "#/definitions/AWS_ECR_Repository" + "$ref": "#/definitions/AWS_EC2_NetworkInterfacePermission" }, { - "$ref": "#/definitions/AWS_Shield_ProtectionGroup" + "$ref": "#/definitions/AWS_Lex_BotVersion" }, { - "$ref": "#/definitions/AWS_DevOpsGuru_LogAnomalyDetectionIntegration" + "$ref": "#/definitions/AWS_Transfer_Workflow" }, { - "$ref": "#/definitions/AWS_IoTWireless_WirelessDevice" + "$ref": "#/definitions/AWS_EC2_SnapshotBlockPublicAccess" }, { - "$ref": "#/definitions/AWS_EFS_MountTarget" + "$ref": "#/definitions/AWS_SageMaker_ModelExplainabilityJobDefinition" }, { - "$ref": "#/definitions/AWS_Logs_Delivery" + "$ref": "#/definitions/AWS_MSK_Replicator" }, { - "$ref": "#/definitions/AWS_HealthImaging_Datastore" + "$ref": "#/definitions/AWS_M2_Application" }, { - "$ref": "#/definitions/AWS_Kinesis_Stream" + "$ref": "#/definitions/AWS_Pipes_Pipe" }, { - "$ref": "#/definitions/AWS_AppStream_ApplicationFleetAssociation" + "$ref": "#/definitions/AWS_GroundStation_Config" }, { - "$ref": "#/definitions/AWS_EFS_FileSystem" + "$ref": "#/definitions/AWS_Backup_RestoreTestingPlan" }, { - "$ref": "#/definitions/AWS_Pinpoint_APNSSandboxChannel" + "$ref": "#/definitions/AWS_ServiceCatalog_ServiceAction" }, { - "$ref": "#/definitions/AWS_Deadline_MeteredProduct" + "$ref": "#/definitions/AWS_AmazonMQ_Broker" }, { - "$ref": "#/definitions/AWS_LakeFormation_DataLakeSettings" + "$ref": "#/definitions/AWS_GuardDuty_Member" }, { - "$ref": "#/definitions/AWS_Glue_SchemaVersion" + "$ref": "#/definitions/AWS_ServiceCatalog_CloudFormationProvisionedProduct" }, { - "$ref": "#/definitions/AWS_EC2_VPCPeeringConnection" + "$ref": "#/definitions/AWS_Batch_JobQueue" }, { - "$ref": "#/definitions/AWS_Pinpoint_ADMChannel" + "$ref": "#/definitions/AWS_LakeFormation_DataLakeSettings" }, { - "$ref": "#/definitions/AWS_Neptune_EventSubscription" + "$ref": "#/definitions/AWS_Greengrass_ResourceDefinition" }, { - "$ref": "#/definitions/AWS_SSMContacts_Plan" + "$ref": "#/definitions/AWS_KinesisAnalytics_Application" }, { - "$ref": "#/definitions/AWS_Backup_BackupSelection" + "$ref": "#/definitions/AWS_Logs_SubscriptionFilter" }, { - "$ref": "#/definitions/AWS_RAM_ResourceShare" + "$ref": "#/definitions/AWS_EC2_EIPAssociation" }, { - "$ref": "#/definitions/AWS_EC2_ClientVpnTargetNetworkAssociation" + "$ref": "#/definitions/AWS_ServiceCatalogAppRegistry_AttributeGroupAssociation" }, { - "$ref": "#/definitions/AWS_Neptune_DBClusterParameterGroup" + "$ref": "#/definitions/AWS_QBusiness_DataSource" }, { - "$ref": "#/definitions/AWS_Pinpoint_Segment" + "$ref": "#/definitions/AWS_MWAA_Environment" }, { - "$ref": "#/definitions/AWS_Connect_Queue" + "$ref": "#/definitions/AWS_MediaConnect_BridgeOutput" }, { - "$ref": "#/definitions/AWS_WAFRegional_Rule" + "$ref": "#/definitions/AWS_Organizations_OrganizationalUnit" }, { - "$ref": "#/definitions/AWS_Logs_Destination" + "$ref": "#/definitions/AWS_OpenSearchServerless_SecurityConfig" }, { - "$ref": "#/definitions/AWS_LakeFormation_Resource" + "$ref": "#/definitions/AWS_MediaConnect_FlowSource" }, { - "$ref": "#/definitions/AWS_Route53_DNSSEC" + "$ref": "#/definitions/AWS_Connect_TrafficDistributionGroup" }, { - "$ref": "#/definitions/AWS_FIS_ExperimentTemplate" + "$ref": "#/definitions/AWS_EC2_EgressOnlyInternetGateway" }, { - "$ref": "#/definitions/AWS_SageMaker_ModelCard" + "$ref": "#/definitions/AWS_MediaConvert_JobTemplate" }, { - "$ref": "#/definitions/AWS_Glue_Job" + "$ref": "#/definitions/AWS_DataZone_EnvironmentActions" }, { - "$ref": "#/definitions/AWS_SSO_Instance" + "$ref": "#/definitions/AWS_ServiceCatalog_LaunchRoleConstraint" }, { - "$ref": "#/definitions/AWS_WAF_SqlInjectionMatchSet" + "$ref": "#/definitions/AWS_Lightsail_Distribution" }, { - "$ref": "#/definitions/AWS_DevOpsGuru_NotificationChannel" + "$ref": "#/definitions/AWS_Lightsail_LoadBalancer" }, { - "$ref": "#/definitions/AWS_MediaLive_EventBridgeRuleTemplate" + "$ref": "#/definitions/AWS_CloudFront_RealtimeLogConfig" }, { - "$ref": "#/definitions/AWS_EC2_PlacementGroup" + "$ref": "#/definitions/AWS_EC2_NetworkPerformanceMetricSubscription" }, { - "$ref": "#/definitions/AWS_Route53RecoveryControl_RoutingControl" + "$ref": "#/definitions/AWS_SES_VdmAttributes" }, { - "$ref": "#/definitions/AWS_StepFunctions_Activity" + "$ref": "#/definitions/AWS_AppSync_DataSource" }, { - "$ref": "#/definitions/AWS_CloudFront_PublicKey" + "$ref": "#/definitions/AWS_EC2_VPC" }, { - "$ref": "#/definitions/AWS_ServiceCatalogAppRegistry_AttributeGroup" + "$ref": "#/definitions/AWS_OpsWorks_ElasticLoadBalancerAttachment" }, { - "$ref": "#/definitions/AWS_ApiGatewayV2_ApiMapping" + "$ref": "#/definitions/AWS_ElasticLoadBalancing_LoadBalancer" }, { - "$ref": "#/definitions/AWS_RDS_DBSubnetGroup" + "$ref": "#/definitions/AWS_MSK_BatchScramSecret" }, { - "$ref": "#/definitions/AWS_S3_AccessGrant" + "$ref": "#/definitions/AWS_IoTTwinMaker_ComponentType" }, { - "$ref": "#/definitions/AWS_SES_MailManagerRuleSet" + "$ref": "#/definitions/AWS_EMR_StudioSessionMapping" }, { - "$ref": "#/definitions/AWS_GuardDuty_IPSet" + "$ref": "#/definitions/AWS_KafkaConnect_Connector" }, { - "$ref": "#/definitions/AWS_AppSync_SourceApiAssociation" + "$ref": "#/definitions/AWS_SSM_ResourceDataSync" }, { - "$ref": "#/definitions/AWS_Shield_ProactiveEngagement" + "$ref": "#/definitions/AWS_CloudFormation_HookVersion" }, { - "$ref": "#/definitions/AWS_ApiGateway_Authorizer" + "$ref": "#/definitions/AWS_S3_BucketPolicy" }, { - "$ref": "#/definitions/AWS_IVS_PlaybackRestrictionPolicy" + "$ref": "#/definitions/AWS_SageMaker_MonitoringSchedule" }, { - "$ref": "#/definitions/AWS_GroundStation_DataflowEndpointGroup" + "$ref": "#/definitions/AWS_DataZone_ProjectMembership" }, { - "$ref": "#/definitions/AWS_IAM_Group" + "$ref": "#/definitions/AWS_EC2_CarrierGateway" }, { - "$ref": "#/definitions/AWS_EC2_DHCPOptions" + "$ref": "#/definitions/AWS_Glue_SchemaVersionMetadata" }, { - "$ref": "#/definitions/AWS_ApiGateway_UsagePlanKey" + "$ref": "#/definitions/AWS_XRay_SamplingRule" }, { - "$ref": "#/definitions/AWS_Glue_Classifier" + "$ref": "#/definitions/AWS_Omics_VariantStore" }, { - "$ref": "#/definitions/AWS_ResilienceHub_App" + "$ref": "#/definitions/AWS_ElasticLoadBalancingV2_ListenerRule" }, { - "$ref": "#/definitions/AWS_ApplicationSignals_ServiceLevelObjective" + "$ref": "#/definitions/AWS_InspectorV2_Filter" }, { - "$ref": "#/definitions/AWS_Scheduler_ScheduleGroup" + "$ref": "#/definitions/AWS_WorkSpacesWeb_NetworkSettings" }, { - "$ref": "#/definitions/AWS_CloudFront_KeyValueStore" + "$ref": "#/definitions/AWS_RefactorSpaces_Service" }, { - "$ref": "#/definitions/AWS_EC2_NetworkInsightsAnalysis" + "$ref": "#/definitions/AWS_CodeStarConnections_RepositoryLink" }, { - "$ref": "#/definitions/AWS_Redshift_ScheduledAction" + "$ref": "#/definitions/AWS_Forecast_Dataset" }, { - "$ref": "#/definitions/AWS_S3_StorageLens" + "$ref": "#/definitions/AWS_AutoScaling_ScheduledAction" }, { - "$ref": "#/definitions/AWS_Config_OrganizationConformancePack" + "$ref": "#/definitions/AWS_CleanRooms_ConfiguredTableAssociation" }, { - "$ref": "#/definitions/AWS_ImageBuilder_ContainerRecipe" + "$ref": "#/definitions/AWS_OpenSearchServerless_VpcEndpoint" }, { - "$ref": "#/definitions/AWS_SecurityHub_Standard" + "$ref": "#/definitions/AWS_EC2_VPCPeeringConnection" }, { - "$ref": "#/definitions/AWS_ElastiCache_CacheCluster" + "$ref": "#/definitions/AWS_FraudDetector_Detector" }, { - "$ref": "#/definitions/AWS_SecurityHub_SecurityControl" + "$ref": "#/definitions/AWS_Route53Resolver_ResolverConfig" }, { - "$ref": "#/definitions/AWS_SageMaker_ModelPackageGroup" + "$ref": "#/definitions/AWS_Lex_BotAlias" }, { - "$ref": "#/definitions/AWS_SecurityHub_PolicyAssociation" + "$ref": "#/definitions/AWS_Wisdom_AIPrompt" }, { - "$ref": "#/definitions/AWS_SES_Template" + "$ref": "#/definitions/AWS_QuickSight_Dashboard" }, { - "$ref": "#/definitions/AWS_IoTWireless_Destination" + "$ref": "#/definitions/AWS_EMRContainers_VirtualCluster" }, { - "$ref": "#/definitions/AWS_Macie_CustomDataIdentifier" + "$ref": "#/definitions/AWS_EC2_InternetGateway" }, { - "$ref": "#/definitions/AWS_EC2_TrafficMirrorSession" + "$ref": "#/definitions/AWS_IVSChat_LoggingConfiguration" }, { - "$ref": "#/definitions/AWS_ImageBuilder_LifecyclePolicy" + "$ref": "#/definitions/AWS_ElastiCache_SecurityGroup" }, { - "$ref": "#/definitions/AWS_Deadline_Fleet" + "$ref": "#/definitions/AWS_ApiGateway_Resource" }, { - "$ref": "#/definitions/AWS_ACMPCA_CertificateAuthorityActivation" + "$ref": "#/definitions/AWS_ImageBuilder_InfrastructureConfiguration" }, { - "$ref": "#/definitions/AWS_AppSync_DomainNameApiAssociation" + "$ref": "#/definitions/AWS_CodeArtifact_PackageGroup" }, { - "$ref": "#/definitions/AWS_ECS_ClusterCapacityProviderAssociations" + "$ref": "#/definitions/AWS_Personalize_Schema" }, { - "$ref": "#/definitions/AWS_InspectorV2_Filter" + "$ref": "#/definitions/AWS_Route53Resolver_ResolverQueryLoggingConfigAssociation" }, { - "$ref": "#/definitions/AWS_IoTSiteWise_Asset" + "$ref": "#/definitions/AWS_ApiGateway_BasePathMapping" }, { - "$ref": "#/definitions/AWS_SupportApp_SlackChannelConfiguration" + "$ref": "#/definitions/AWS_ApiGatewayV2_RouteResponse" }, { - "$ref": "#/definitions/AWS_Glue_CustomEntityType" + "$ref": "#/definitions/AWS_Glue_Schema" }, { - "$ref": "#/definitions/AWS_IVS_Channel" + "$ref": "#/definitions/AWS_NetworkFirewall_RuleGroup" }, { - "$ref": "#/definitions/AWS_IoT_TopicRuleDestination" + "$ref": "#/definitions/AWS_DataZone_Environment" }, { - "$ref": "#/definitions/AWS_Route53Resolver_ResolverRule" + "$ref": "#/definitions/AWS_WorkSpacesWeb_UserAccessLoggingSettings" }, { - "$ref": "#/definitions/AWS_Organizations_Policy" + "$ref": "#/definitions/AWS_ApiGateway_VpcLink" }, { - "$ref": "#/definitions/AWS_Panorama_ApplicationInstance" + "$ref": "#/definitions/AWS_Route53RecoveryReadiness_RecoveryGroup" }, { - "$ref": "#/definitions/AWS_LookoutVision_Project" + "$ref": "#/definitions/AWS_Connect_ContactFlow" }, { - "$ref": "#/definitions/AWS_MediaLive_Multiplex" + "$ref": "#/definitions/AWS_Shield_ProactiveEngagement" }, { - "$ref": "#/definitions/AWS_Batch_SchedulingPolicy" + "$ref": "#/definitions/AWS_Route53Profiles_ProfileResourceAssociation" }, { - "$ref": "#/definitions/AWS_IoTWireless_NetworkAnalyzerConfiguration" + "$ref": "#/definitions/AWS_ServiceCatalog_CloudFormationProduct" }, { - "$ref": "#/definitions/AWS_EKS_PodIdentityAssociation" + "$ref": "#/definitions/AWS_MediaLive_Network" }, { "$ref": "#/definitions/AWS_RDS_DBSecurityGroup" }, { - "$ref": "#/definitions/AWS_S3_BucketPolicy" + "$ref": "#/definitions/AWS_IoT_SecurityProfile" }, { - "$ref": "#/definitions/AWS_Forecast_DatasetGroup" + "$ref": "#/definitions/AWS_Connect_View" }, { - "$ref": "#/definitions/AWS_Synthetics_Canary" + "$ref": "#/definitions/AWS_Redshift_EndpointAccess" }, { - "$ref": "#/definitions/AWS_EC2_CarrierGateway" + "$ref": "#/definitions/AWS_AppSync_DomainName" }, { - "$ref": "#/definitions/AWS_Lightsail_Instance" + "$ref": "#/definitions/AWS_StepFunctions_StateMachineAlias" }, { - "$ref": "#/definitions/AWS_EMRContainers_VirtualCluster" + "$ref": "#/definitions/AWS_CloudFormation_HookTypeConfig" }, { - "$ref": "#/definitions/AWS_S3ObjectLambda_AccessPointPolicy" + "$ref": "#/definitions/AWS_AppSync_FunctionConfiguration" }, { - "$ref": "#/definitions/AWS_Route53_KeySigningKey" + "$ref": "#/definitions/AWS_AppMesh_VirtualGateway" }, { - "$ref": "#/definitions/AWS_Glue_Database" + "$ref": "#/definitions/AWS_AppMesh_Route" }, { - "$ref": "#/definitions/AWS_Timestream_InfluxDBInstance" + "$ref": "#/definitions/AWS_DataSync_LocationS3" }, { - "$ref": "#/definitions/AWS_Bedrock_KnowledgeBase" + "$ref": "#/definitions/AWS_NetworkManager_CoreNetwork" }, { - "$ref": "#/definitions/AWS_EKS_IdentityProviderConfig" + "$ref": "#/definitions/AWS_SageMaker_ModelBiasJobDefinition" }, { - "$ref": "#/definitions/AWS_Athena_DataCatalog" + "$ref": "#/definitions/AWS_EC2_TransitGatewayMulticastGroupSource" }, { - "$ref": "#/definitions/AWS_SageMaker_MonitoringSchedule" + "$ref": "#/definitions/AWS_ServiceCatalog_LaunchTemplateConstraint" }, { - "$ref": "#/definitions/AWS_CloudFormation_HookVersion" + "$ref": "#/definitions/AWS_SageMaker_EndpointConfig" }, { - "$ref": "#/definitions/AWS_AutoScaling_AutoScalingGroup" + "$ref": "#/definitions/AWS_Glue_Database" }, { - "$ref": "#/definitions/AWS_GuardDuty_Filter" + "$ref": "#/definitions/AWS_Route53Resolver_ResolverEndpoint" }, { - "$ref": "#/definitions/AWS_AmplifyUIBuilder_Theme" + "$ref": "#/definitions/AWS_WAFRegional_IPSet" }, { - "$ref": "#/definitions/AWS_ImageBuilder_InfrastructureConfiguration" + "$ref": "#/definitions/AWS_AppMesh_VirtualService" }, { - "$ref": "#/definitions/AWS_NimbleStudio_StudioComponent" + "$ref": "#/definitions/AWS_GameLift_MatchmakingConfiguration" }, { - "$ref": "#/definitions/AWS_S3_AccessPoint" + "$ref": "#/definitions/AWS_SSMContacts_ContactChannel" }, { - "$ref": "#/definitions/AWS_IoTWireless_PartnerAccount" + "$ref": "#/definitions/AWS_MediaPackage_Channel" }, { - "$ref": "#/definitions/AWS_AppRunner_VpcConnector" + "$ref": "#/definitions/AWS_SES_MailManagerAddonSubscription" }, { - "$ref": "#/definitions/AWS_FraudDetector_List" + "$ref": "#/definitions/AWS_IoT_AccountAuditConfiguration" }, { - "$ref": "#/definitions/AWS_DataZone_DataSource" + "$ref": "#/definitions/AWS_CodeDeploy_Application" }, { - "$ref": "#/definitions/AWS_Evidently_Project" + "$ref": "#/definitions/AWS_Panorama_ApplicationInstance" }, { - "$ref": "#/definitions/AWS_GreengrassV2_ComponentVersion" + "$ref": "#/definitions/AWS_AmplifyUIBuilder_Component" }, { - "$ref": "#/definitions/AWS_ACMPCA_CertificateAuthority" + "$ref": "#/definitions/AWS_DMS_DataMigration" }, { - "$ref": "#/definitions/AWS_Events_EventBusPolicy" + "$ref": "#/definitions/AWS_IAM_ServerCertificate" }, { - "$ref": "#/definitions/AWS_MediaConnect_Gateway" + "$ref": "#/definitions/AWS_Location_PlaceIndex" }, { - "$ref": "#/definitions/AWS_Connect_QuickConnect" + "$ref": "#/definitions/AWS_AppConfig_HostedConfigurationVersion" }, { - "$ref": "#/definitions/AWS_OpsWorksCM_Server" + "$ref": "#/definitions/AWS_AppIntegrations_DataIntegration" }, { - "$ref": "#/definitions/AWS_EC2_VPNGatewayRoutePropagation" + "$ref": "#/definitions/AWS_QuickSight_Folder" }, { - "$ref": "#/definitions/AWS_GameLift_GameSessionQueue" + "$ref": "#/definitions/AWS_GameLift_MatchmakingRuleSet" }, { - "$ref": "#/definitions/AWS_Lightsail_LoadBalancerTlsCertificate" + "$ref": "#/definitions/AWS_KinesisAnalytics_ApplicationReferenceDataSource" }, { - "$ref": "#/definitions/AWS_Lambda_Alias" + "$ref": "#/definitions/AWS_AppStream_StackUserAssociation" }, { - "$ref": "#/definitions/AWS_CodeDeploy_Application" + "$ref": "#/definitions/AWS_IoTFleetWise_SignalCatalog" }, { - "$ref": "#/definitions/AWS_MediaLive_Input" + "$ref": "#/definitions/AWS_RDS_DBProxy" }, { - "$ref": "#/definitions/AWS_Greengrass_LoggerDefinition" + "$ref": "#/definitions/AWS_WorkSpaces_ConnectionAlias" }, { - "$ref": "#/definitions/AWS_DataBrew_Project" + "$ref": "#/definitions/AWS_Redshift_EventSubscription" }, { - "$ref": "#/definitions/AWS_WorkSpacesWeb_IpAccessSettings" + "$ref": "#/definitions/AWS_IVSChat_Room" }, { - "$ref": "#/definitions/AWS_MemoryDB_User" + "$ref": "#/definitions/AWS_ElastiCache_UserGroup" }, { - "$ref": "#/definitions/AWS_EventSchemas_Registry" + "$ref": "#/definitions/AWS_CloudFront_KeyGroup" }, { - "$ref": "#/definitions/AWS_MediaConnect_Flow" + "$ref": "#/definitions/AWS_CloudFormation_WaitCondition" }, { - "$ref": "#/definitions/AWS_GameLift_Location" + "$ref": "#/definitions/AWS_MSK_VpcConnection" }, { - "$ref": "#/definitions/AWS_AppRunner_VpcIngressConnection" + "$ref": "#/definitions/AWS_QuickSight_RefreshSchedule" }, { - "$ref": "#/definitions/AWS_StepFunctions_StateMachineAlias" + "$ref": "#/definitions/AWS_NetworkManager_GlobalNetwork" }, { - "$ref": "#/definitions/AWS_ApiGateway_ClientCertificate" + "$ref": "#/definitions/AWS_Wisdom_AIAgentVersion" }, { - "$ref": "#/definitions/AWS_AppStream_Application" + "$ref": "#/definitions/AWS_OpsWorks_App" }, { - "$ref": "#/definitions/AWS_RAM_Permission" + "$ref": "#/definitions/AWS_DMS_EventSubscription" }, { - "$ref": "#/definitions/AWS_DataSync_Agent" + "$ref": "#/definitions/AWS_MediaConvert_Preset" }, { - "$ref": "#/definitions/AWS_MSK_Configuration" + "$ref": "#/definitions/AWS_EC2_VerifiedAccessEndpoint" }, { - "$ref": "#/definitions/AWS_ImageBuilder_ImageRecipe" + "$ref": "#/definitions/AWS_SageMaker_StudioLifecycleConfig" }, { - "$ref": "#/definitions/AWS_AppStream_Stack" + "$ref": "#/definitions/AWS_IoTWireless_WirelessDeviceImportTask" }, { - "$ref": "#/definitions/AWS_Lex_Bot" + "$ref": "#/definitions/AWS_M2_Environment" }, { - "$ref": "#/definitions/AWS_ServiceCatalog_AcceptedPortfolioShare" + "$ref": "#/definitions/AWS_Pinpoint_SMSChannel" }, { - "$ref": "#/definitions/AWS_CustomerProfiles_CalculatedAttributeDefinition" + "$ref": "#/definitions/AWS_CustomerProfiles_Integration" }, { - "$ref": "#/definitions/AWS_MediaLive_CloudWatchAlarmTemplateGroup" + "$ref": "#/definitions/AWS_Bedrock_DataSource" }, { - "$ref": "#/definitions/AWS_S3_Bucket" + "$ref": "#/definitions/AWS_MemoryDB_User" }, { - "$ref": "#/definitions/AWS_SageMaker_NotebookInstanceLifecycleConfig" + "$ref": "#/definitions/AWS_DocDBElastic_Cluster" }, { - "$ref": "#/definitions/AWS_Backup_BackupPlan" + "$ref": "#/definitions/AWS_Connect_ApprovedOrigin" }, { - "$ref": "#/definitions/AWS_Deadline_LicenseEndpoint" + "$ref": "#/definitions/AWS_EntityResolution_IdMappingWorkflow" }, { - "$ref": "#/definitions/AWS_NetworkManager_TransitGatewayRegistration" + "$ref": "#/definitions/AWS_IoT_CustomMetric" }, { - "$ref": "#/definitions/AWS_CloudFront_CloudFrontOriginAccessIdentity" + "$ref": "#/definitions/AWS_XRay_ResourcePolicy" }, { - "$ref": "#/definitions/AWS_WorkSpacesWeb_UserAccessLoggingSettings" + "$ref": "#/definitions/AWS_Events_Archive" }, { - "$ref": "#/definitions/AWS_Forecast_Dataset" + "$ref": "#/definitions/AWS_ApiGateway_Account" }, { - "$ref": "#/definitions/AWS_Connect_PhoneNumber" + "$ref": "#/definitions/AWS_Backup_BackupSelection" }, { - "$ref": "#/definitions/AWS_IoTFleetWise_Fleet" + "$ref": "#/definitions/AWS_DataBrew_Project" }, { - "$ref": "#/definitions/AWS_MediaTailor_VodSource" + "$ref": "#/definitions/AWS_CloudFront_CachePolicy" }, { - "$ref": "#/definitions/AWS_DataSync_LocationNFS" + "$ref": "#/definitions/AWS_CustomerProfiles_CalculatedAttributeDefinition" }, { - "$ref": "#/definitions/AWS_NetworkFirewall_TLSInspectionConfiguration" + "$ref": "#/definitions/AWS_Connect_Prompt" }, { - "$ref": "#/definitions/AWS_Budgets_Budget" + "$ref": "#/definitions/AWS_Logs_DeliveryDestination" }, { - "$ref": "#/definitions/AWS_CleanRooms_Collaboration" + "$ref": "#/definitions/AWS_DataPipeline_Pipeline" }, { - "$ref": "#/definitions/AWS_SES_ContactList" + "$ref": "#/definitions/AWS_EC2_TransitGatewayPeeringAttachment" }, { - "$ref": "#/definitions/AWS_MediaLive_ChannelPlacementGroup" + "$ref": "#/definitions/AWS_CE_CostCategory" }, { - "$ref": "#/definitions/AWS_Config_RemediationConfiguration" + "$ref": "#/definitions/AWS_Timestream_Table" }, { - "$ref": "#/definitions/AWS_GameLift_Script" + "$ref": "#/definitions/AWS_AppSync_SourceApiAssociation" }, { - "$ref": "#/definitions/AWS_RDS_DBClusterParameterGroup" + "$ref": "#/definitions/AWS_LookoutMetrics_Alert" }, { - "$ref": "#/definitions/AWS_GuardDuty_MalwareProtectionPlan" + "$ref": "#/definitions/AWS_WAF_Rule" }, { - "$ref": "#/definitions/AWS_Transfer_Profile" + "$ref": "#/definitions/AWS_PCAConnectorAD_TemplateGroupAccessControlEntry" }, { - "$ref": "#/definitions/AWS_ServiceCatalogAppRegistry_ResourceAssociation" + "$ref": "#/definitions/AWS_Config_AggregationAuthorization" }, { - "$ref": "#/definitions/AWS_CodeStarConnections_RepositoryLink" + "$ref": "#/definitions/AWS_Connect_EvaluationForm" }, { - "$ref": "#/definitions/AWS_IoTSiteWise_AssetModel" + "$ref": "#/definitions/AWS_WAFRegional_WebACLAssociation" }, { - "$ref": "#/definitions/AWS_QBusiness_Index" + "$ref": "#/definitions/AWS_IoTWireless_PartnerAccount" }, { - "$ref": "#/definitions/AWS_PCAConnectorSCEP_Challenge" + "$ref": "#/definitions/AWS_SES_Template" }, { - "$ref": "#/definitions/AWS_DataZone_Domain" + "$ref": "#/definitions/AWS_Transfer_Agreement" }, { - "$ref": "#/definitions/AWS_MediaTailor_SourceLocation" + "$ref": "#/definitions/AWS_DataSync_LocationFSxWindows" }, { - "$ref": "#/definitions/AWS_EMR_Cluster" + "$ref": "#/definitions/AWS_Route53Resolver_OutpostResolver" }, { - "$ref": "#/definitions/AWS_Kendra_DataSource" + "$ref": "#/definitions/AWS_IoTSiteWise_Dashboard" }, { - "$ref": "#/definitions/AWS_Location_Map" + "$ref": "#/definitions/AWS_Bedrock_Flow" }, { - "$ref": "#/definitions/AWS_FSx_StorageVirtualMachine" + "$ref": "#/definitions/AWS_DMS_MigrationProject" }, { - "$ref": "#/definitions/AWS_ServiceCatalog_CloudFormationProvisionedProduct" + "$ref": "#/definitions/AWS_SES_ConfigurationSetEventDestination" }, { - "$ref": "#/definitions/AWS_DMS_DataProvider" + "$ref": "#/definitions/AWS_Lambda_EventSourceMapping" }, { - "$ref": "#/definitions/AWS_Route53RecoveryReadiness_ReadinessCheck" + "$ref": "#/definitions/AWS_EC2_SecurityGroupEgress" }, { - "$ref": "#/definitions/AWS_Batch_JobQueue" + "$ref": "#/definitions/AWS_SES_DedicatedIpPool" }, { - "$ref": "#/definitions/AWS_WorkSpacesWeb_NetworkSettings" + "$ref": "#/definitions/AWS_NetworkFirewall_Firewall" }, { - "$ref": "#/definitions/AWS_Lex_BotVersion" + "$ref": "#/definitions/AWS_Organizations_Policy" }, { - "$ref": "#/definitions/AWS_ApplicationAutoScaling_ScalingPolicy" + "$ref": "#/definitions/AWS_DMS_Endpoint" }, { - "$ref": "#/definitions/AWS_EventSchemas_RegistryPolicy" + "$ref": "#/definitions/AWS_S3_AccessPoint" }, { - "$ref": "#/definitions/AWS_DataBrew_Dataset" + "$ref": "#/definitions/AWS_EC2_ClientVpnEndpoint" }, { - "$ref": "#/definitions/AWS_EventSchemas_Discoverer" + "$ref": "#/definitions/AWS_AppSync_ApiKey" }, { - "$ref": "#/definitions/AWS_CodeBuild_Fleet" + "$ref": "#/definitions/AWS_MediaConnect_Flow" }, { - "$ref": "#/definitions/AWS_KendraRanking_ExecutionPlan" + "$ref": "#/definitions/AWS_ElastiCache_SecurityGroupIngress" }, { - "$ref": "#/definitions/AWS_Lightsail_Disk" + "$ref": "#/definitions/AWS_IoTFleetWise_DecoderManifest" }, { - "$ref": "#/definitions/AWS_BackupGateway_Hypervisor" + "$ref": "#/definitions/AWS_EventSchemas_Discoverer" }, { - "$ref": "#/definitions/AWS_ServiceDiscovery_Instance" + "$ref": "#/definitions/AWS_AppStream_DirectoryConfig" }, { - "$ref": "#/definitions/AWS_ARCZonalShift_ZonalAutoshiftConfiguration" + "$ref": "#/definitions/AWS_GameLift_Build" }, { - "$ref": "#/definitions/AWS_CustomerProfiles_EventStream" + "$ref": "#/definitions/AWS_AuditManager_Assessment" }, { - "$ref": "#/definitions/AWS_ACMPCA_Certificate" + "$ref": "#/definitions/AWS_GroundStation_MissionProfile" }, { - "$ref": "#/definitions/AWS_SSMContacts_ContactChannel" + "$ref": "#/definitions/AWS_IoTWireless_WirelessGateway" }, { - "$ref": "#/definitions/AWS_EC2_LocalGatewayRouteTable" + "$ref": "#/definitions/AWS_FMS_NotificationChannel" }, { - "$ref": "#/definitions/AWS_CloudFront_Distribution" + "$ref": "#/definitions/AWS_Synthetics_Canary" }, { - "$ref": "#/definitions/AWS_ImageBuilder_DistributionConfiguration" + "$ref": "#/definitions/AWS_RoboMaker_Robot" }, { - "$ref": "#/definitions/AWS_DataSync_LocationFSxLustre" + "$ref": "#/definitions/AWS_OpsWorks_Stack" }, { - "$ref": "#/definitions/AWS_VpcLattice_Rule" + "$ref": "#/definitions/AWS_RoboMaker_SimulationApplication" }, { - "$ref": "#/definitions/AWS_Deadline_Farm" + "$ref": "#/definitions/AWS_NetworkFirewall_LoggingConfiguration" }, { - "$ref": "#/definitions/AWS_Rekognition_Collection" + "$ref": "#/definitions/AWS_KinesisAnalyticsV2_ApplicationCloudWatchLoggingOption" }, { - "$ref": "#/definitions/AWS_GlobalAccelerator_EndpointGroup" + "$ref": "#/definitions/AWS_IVS_RecordingConfiguration" }, { - "$ref": "#/definitions/AWS_Route53_HostedZone" + "$ref": "#/definitions/AWS_AmazonMQ_ConfigurationAssociation" }, { - "$ref": "#/definitions/AWS_Transfer_User" + "$ref": "#/definitions/AWS_DMS_DataProvider" }, { - "$ref": "#/definitions/AWS_ServiceDiscovery_HttpNamespace" + "$ref": "#/definitions/AWS_S3_AccessGrant" }, { - "$ref": "#/definitions/AWS_MediaTailor_PlaybackConfiguration" + "$ref": "#/definitions/AWS_Shield_Protection" }, { - "$ref": "#/definitions/AWS_VerifiedPermissions_PolicyStore" + "$ref": "#/definitions/AWS_ApplicationAutoScaling_ScalingPolicy" }, { - "$ref": "#/definitions/AWS_DevOpsGuru_ResourceCollection" + "$ref": "#/definitions/AWS_EC2_NetworkInsightsPath" }, { - "$ref": "#/definitions/AWS_WAF_SizeConstraintSet" + "$ref": "#/definitions/AWS_OpenSearchService_Application" }, { - "$ref": "#/definitions/AWS_DocDB_DBInstance" + "$ref": "#/definitions/AWS_ARCZonalShift_AutoshiftObserverNotificationStatus" }, { - "$ref": "#/definitions/AWS_S3_AccessGrantsLocation" + "$ref": "#/definitions/AWS_SageMaker_Endpoint" }, { - "$ref": "#/definitions/AWS_SageMaker_NotebookInstance" + "$ref": "#/definitions/AWS_NimbleStudio_StudioComponent" }, { - "$ref": "#/definitions/AWS_MediaConnect_BridgeOutput" + "$ref": "#/definitions/AWS_DevOpsGuru_LogAnomalyDetectionIntegration" }, { - "$ref": "#/definitions/AWS_ResourceExplorer2_DefaultViewAssociation" + "$ref": "#/definitions/AWS_Greengrass_LoggerDefinition" }, { - "$ref": "#/definitions/AWS_ECS_Cluster" + "$ref": "#/definitions/AWS_Omics_AnnotationStore" }, { - "$ref": "#/definitions/AWS_IoT_JobTemplate" + "$ref": "#/definitions/AWS_AppStream_StackFleetAssociation" }, { - "$ref": "#/definitions/AWS_IdentityStore_GroupMembership" + "$ref": "#/definitions/AWS_SSO_InstanceAccessControlAttributeConfiguration" }, { - "$ref": "#/definitions/AWS_MediaConnect_Bridge" + "$ref": "#/definitions/AWS_ApiGatewayV2_IntegrationResponse" }, { - "$ref": "#/definitions/AWS_IoTThingsGraph_FlowTemplate" + "$ref": "#/definitions/AWS_ApiGatewayV2_DomainName" }, { - "$ref": "#/definitions/AWS_ServiceCatalog_CloudFormationProduct" + "$ref": "#/definitions/AWS_Lex_Bot" }, { - "$ref": "#/definitions/AWS_Neptune_DBParameterGroup" + "$ref": "#/definitions/AWS_AppFlow_ConnectorProfile" }, { - "$ref": "#/definitions/AWS_Bedrock_PromptVersion" + "$ref": "#/definitions/AWS_EC2_VerifiedAccessInstance" }, { - "$ref": "#/definitions/AWS_Organizations_Organization" + "$ref": "#/definitions/AWS_OpenSearchService_Domain" }, { - "$ref": "#/definitions/AWS_RolesAnywhere_Profile" + "$ref": "#/definitions/AWS_SES_EmailIdentity" }, { - "$ref": "#/definitions/AWS_EC2_KeyPair" + "$ref": "#/definitions/AWS_AppIntegrations_EventIntegration" }, { - "$ref": "#/definitions/AWS_DMS_Endpoint" + "$ref": "#/definitions/AWS_DevOpsGuru_ResourceCollection" }, { - "$ref": "#/definitions/AWS_SecurityLake_Subscriber" + "$ref": "#/definitions/AWS_SimSpaceWeaver_Simulation" }, { - "$ref": "#/definitions/AWS_EC2_NetworkInterfacePermission" + "$ref": "#/definitions/AWS_Kinesis_ResourcePolicy" }, { - "$ref": "#/definitions/AWS_IoTAnalytics_Pipeline" + "$ref": "#/definitions/AWS_QuickSight_Template" }, { - "$ref": "#/definitions/AWS_CleanRooms_AnalysisTemplate" + "$ref": "#/definitions/AWS_Detective_OrganizationAdmin" }, { - "$ref": "#/definitions/AWS_GameLift_Build" + "$ref": "#/definitions/AWS_MediaPackage_OriginEndpoint" }, { - "$ref": "#/definitions/AWS_AppMesh_VirtualService" + "$ref": "#/definitions/AWS_Bedrock_Agent" }, { - "$ref": "#/definitions/AWS_ApplicationAutoScaling_ScalableTarget" + "$ref": "#/definitions/AWS_EC2_TrafficMirrorFilter" }, { - "$ref": "#/definitions/AWS_OpsWorks_Stack" + "$ref": "#/definitions/AWS_IAM_ManagedPolicy" }, { - "$ref": "#/definitions/AWS_DataSync_LocationS3" + "$ref": "#/definitions/AWS_Redshift_Cluster" }, { - "$ref": "#/definitions/AWS_IoT1Click_Project" + "$ref": "#/definitions/AWS_ApiGatewayV2_VpcLink" }, { - "$ref": "#/definitions/AWS_CloudFront_OriginAccessControl" + "$ref": "#/definitions/AWS_S3_MultiRegionAccessPoint" }, { - "$ref": "#/definitions/AWS_WorkSpaces_ConnectionAlias" + "$ref": "#/definitions/AWS_ElasticLoadBalancingV2_ListenerCertificate" }, { - "$ref": "#/definitions/AWS_IoT_AccountAuditConfiguration" + "$ref": "#/definitions/AWS_SES_MailManagerAddonInstance" }, { - "$ref": "#/definitions/AWS_IVS_StorageConfiguration" + "$ref": "#/definitions/AWS_ElasticLoadBalancingV2_TargetGroup" }, { - "$ref": "#/definitions/AWS_Glue_SecurityConfiguration" + "$ref": "#/definitions/AWS_Cognito_UserPoolDomain" }, { - "$ref": "#/definitions/AWS_Kendra_Faq" + "$ref": "#/definitions/AWS_ApiGateway_UsagePlan" }, { - "$ref": "#/definitions/AWS_IoTAnalytics_Dataset" + "$ref": "#/definitions/AWS_Connect_HoursOfOperation" }, { - "$ref": "#/definitions/AWS_Detective_OrganizationAdmin" + "$ref": "#/definitions/AWS_Events_ApiDestination" }, { - "$ref": "#/definitions/AWS_CloudFront_RealtimeLogConfig" + "$ref": "#/definitions/AWS_VerifiedPermissions_IdentitySource" }, { - "$ref": "#/definitions/AWS_Greengrass_ResourceDefinitionVersion" + "$ref": "#/definitions/AWS_ConnectCampaignsV2_Campaign" }, { - "$ref": "#/definitions/AWS_AppMesh_VirtualNode" + "$ref": "#/definitions/AWS_ECS_TaskDefinition" }, { - "$ref": "#/definitions/AWS_Events_EventBus" + "$ref": "#/definitions/AWS_MediaConvert_Queue" }, { - "$ref": "#/definitions/AWS_ECR_ReplicationConfiguration" + "$ref": "#/definitions/AWS_ECR_RepositoryCreationTemplate" }, { - "$ref": "#/definitions/AWS_Glue_Table" + "$ref": "#/definitions/AWS_ApiGatewayV2_Api" }, { - "$ref": "#/definitions/AWS_SSMIncidents_ResponsePlan" + "$ref": "#/definitions/AWS_SecretsManager_ResourcePolicy" }, { - "$ref": "#/definitions/AWS_ServiceCatalog_PortfolioPrincipalAssociation" + "$ref": "#/definitions/AWS_Deadline_Fleet" }, { - "$ref": "#/definitions/AWS_IoT_BillingGroup" + "$ref": "#/definitions/AWS_Route53RecoveryControl_Cluster" }, { - "$ref": "#/definitions/AWS_SecurityHub_DelegatedAdmin" + "$ref": "#/definitions/AWS_IoTSiteWise_Project" }, { - "$ref": "#/definitions/AWS_WAFRegional_SizeConstraintSet" + "$ref": "#/definitions/AWS_CloudFormation_WaitConditionHandle" }, { - "$ref": "#/definitions/AWS_ApiGateway_Stage" + "$ref": "#/definitions/AWS_ECS_ClusterCapacityProviderAssociations" }, { - "$ref": "#/definitions/AWS_CodeDeploy_DeploymentConfig" + "$ref": "#/definitions/AWS_IoT_DomainConfiguration" }, { - "$ref": "#/definitions/AWS_ImageBuilder_Component" + "$ref": "#/definitions/AWS_WorkSpaces_WorkspacesPool" }, { - "$ref": "#/definitions/AWS_GroundStation_MissionProfile" + "$ref": "#/definitions/AWS_ElasticLoadBalancingV2_LoadBalancer" }, { - "$ref": "#/definitions/AWS_AppConfig_ExtensionAssociation" + "$ref": "#/definitions/AWS_ResourceExplorer2_Index" }, { - "$ref": "#/definitions/AWS_Config_ConfigRule" + "$ref": "#/definitions/AWS_Signer_SigningProfile" }, { - "$ref": "#/definitions/AWS_WAF_Rule" + "$ref": "#/definitions/AWS_Amplify_App" }, { - "$ref": "#/definitions/AWS_SageMaker_Device" + "$ref": "#/definitions/AWS_DataSync_LocationHDFS" }, { - "$ref": "#/definitions/AWS_ApiGatewayV2_Deployment" + "$ref": "#/definitions/AWS_SDB_Domain" }, { - "$ref": "#/definitions/AWS_MediaLive_InputSecurityGroup" + "$ref": "#/definitions/AWS_IoT1Click_Placement" }, { - "$ref": "#/definitions/AWS_ImageBuilder_Image" + "$ref": "#/definitions/AWS_VpcLattice_ServiceNetworkVpcAssociation" }, { - "$ref": "#/definitions/AWS_Cognito_UserPoolRiskConfigurationAttachment" + "$ref": "#/definitions/AWS_CloudFront_KeyValueStore" }, { - "$ref": "#/definitions/AWS_ServiceCatalog_Portfolio" + "$ref": "#/definitions/AWS_Batch_ComputeEnvironment" }, { - "$ref": "#/definitions/AWS_DataZone_Environment" + "$ref": "#/definitions/AWS_QuickSight_Topic" }, { - "$ref": "#/definitions/AWS_IdentityStore_Group" + "$ref": "#/definitions/AWS_Lambda_EventInvokeConfig" }, { - "$ref": "#/definitions/AWS_Redshift_EventSubscription" + "$ref": "#/definitions/AWS_OpsWorksCM_Server" }, { - "$ref": "#/definitions/AWS_Backup_BackupVault" + "$ref": "#/definitions/AWS_EC2_IPAMResourceDiscovery" }, { - "$ref": "#/definitions/AWS_DLM_LifecyclePolicy" + "$ref": "#/definitions/AWS_Location_TrackerConsumer" }, { - "$ref": "#/definitions/AWS_Signer_ProfilePermission" + "$ref": "#/definitions/AWS_S3Outposts_Endpoint" }, { - "$ref": "#/definitions/AWS_IoT_SoftwarePackageVersion" + "$ref": "#/definitions/AWS_Scheduler_ScheduleGroup" }, { - "$ref": "#/definitions/AWS_CloudWatch_InsightRule" + "$ref": "#/definitions/AWS_Pinpoint_APNSChannel" }, { - "$ref": "#/definitions/AWS_VoiceID_Domain" + "$ref": "#/definitions/AWS_AmazonMQ_Configuration" }, { - "$ref": "#/definitions/AWS_Config_ConfigurationRecorder" + "$ref": "#/definitions/AWS_LakeFormation_TagAssociation" }, { - "$ref": "#/definitions/AWS_Greengrass_ConnectorDefinitionVersion" + "$ref": "#/definitions/AWS_Config_RemediationConfiguration" }, { - "$ref": "#/definitions/AWS_CUR_ReportDefinition" + "$ref": "#/definitions/AWS_WorkSpacesWeb_Portal" }, { - "$ref": "#/definitions/AWS_Cognito_UserPoolUICustomizationAttachment" + "$ref": "#/definitions/AWS_EC2_CapacityReservationFleet" }, { - "$ref": "#/definitions/AWS_MediaLive_Cluster" + "$ref": "#/definitions/AWS_ElasticBeanstalk_ApplicationVersion" }, { - "$ref": "#/definitions/AWS_Logs_DeliveryDestination" + "$ref": "#/definitions/AWS_EC2_NetworkInsightsAccessScopeAnalysis" }, { - "$ref": "#/definitions/AWS_IAM_ManagedPolicy" + "$ref": "#/definitions/AWS_MSK_ServerlessCluster" }, { - "$ref": "#/definitions/AWS_Glue_Workflow" + "$ref": "#/definitions/AWS_Config_StoredQuery" }, { - "$ref": "#/definitions/AWS_ElastiCache_ServerlessCache" + "$ref": "#/definitions/AWS_CloudFront_ResponseHeadersPolicy" }, { - "$ref": "#/definitions/AWS_ACMPCA_Permission" + "$ref": "#/definitions/AWS_DAX_SubnetGroup" }, { - "$ref": "#/definitions/AWS_OpenSearchServerless_Collection" + "$ref": "#/definitions/AWS_InternetMonitor_Monitor" }, { - "$ref": "#/definitions/AWS_PinpointEmail_DedicatedIpPool" + "$ref": "#/definitions/AWS_CloudFront_OriginRequestPolicy" }, { - "$ref": "#/definitions/AWS_AmplifyUIBuilder_Component" + "$ref": "#/definitions/AWS_EC2_PlacementGroup" }, { - "$ref": "#/definitions/AWS_OpenSearchService_Domain" + "$ref": "#/definitions/AWS_Inspector_AssessmentTarget" }, { - "$ref": "#/definitions/AWS_Cognito_IdentityPoolRoleAttachment" + "$ref": "#/definitions/AWS_IAM_GroupPolicy" }, { - "$ref": "#/definitions/AWS_NetworkManager_SiteToSiteVpnAttachment" + "$ref": "#/definitions/AWS_EC2_TransitGateway" }, { - "$ref": "#/definitions/AWS_MediaLive_CloudWatchAlarmTemplate" + "$ref": "#/definitions/AWS_IAM_OIDCProvider" }, { - "$ref": "#/definitions/AWS_DataZone_EnvironmentProfile" + "$ref": "#/definitions/AWS_Proton_EnvironmentTemplate" }, { - "$ref": "#/definitions/AWS_FraudDetector_EventType" + "$ref": "#/definitions/AWS_Rekognition_StreamProcessor" }, { - "$ref": "#/definitions/AWS_IoTWireless_WirelessGateway" + "$ref": "#/definitions/AWS_MemoryDB_ACL" }, { - "$ref": "#/definitions/AWS_IVS_StreamKey" + "$ref": "#/definitions/AWS_InspectorV2_CisScanConfiguration" }, { - "$ref": "#/definitions/AWS_Personalize_Solution" + "$ref": "#/definitions/AWS_Connect_IntegrationAssociation" }, { - "$ref": "#/definitions/AWS_MediaConnect_FlowOutput" + "$ref": "#/definitions/AWS_IoT_CertificateProvider" }, { - "$ref": "#/definitions/AWS_MediaConnect_FlowVpcInterface" + "$ref": "#/definitions/AWS_CloudFormation_PublicTypeVersion" }, { - "$ref": "#/definitions/AWS_Redshift_Cluster" + "$ref": "#/definitions/AWS_Pinpoint_SmsTemplate" }, { - "$ref": "#/definitions/AWS_QuickSight_Theme" + "$ref": "#/definitions/AWS_SageMaker_NotebookInstance" }, { - "$ref": "#/definitions/AWS_EC2_TransitGatewayConnect" + "$ref": "#/definitions/AWS_EC2_SecurityGroupIngress" }, { - "$ref": "#/definitions/AWS_ECR_RegistryPolicy" + "$ref": "#/definitions/AWS_CloudWatch_MetricStream" }, { - "$ref": "#/definitions/AWS_RUM_AppMonitor" + "$ref": "#/definitions/AWS_SecurityLake_AwsLogSource" }, { - "$ref": "#/definitions/AWS_ApiGateway_DocumentationVersion" + "$ref": "#/definitions/AWS_EC2_SpotFleet" }, { - "$ref": "#/definitions/AWS_FraudDetector_Outcome" + "$ref": "#/definitions/AWS_SupportApp_AccountAlias" }, { - "$ref": "#/definitions/AWS_SNS_TopicPolicy" + "$ref": "#/definitions/AWS_Omics_Workflow" }, { - "$ref": "#/definitions/AWS_IoT_ThingPrincipalAttachment" + "$ref": "#/definitions/AWS_KinesisAnalyticsV2_ApplicationOutput" }, { - "$ref": "#/definitions/AWS_EC2_Route" + "$ref": "#/definitions/AWS_Pinpoint_Campaign" }, { - "$ref": "#/definitions/AWS_Greengrass_DeviceDefinition" + "$ref": "#/definitions/AWS_SSMIncidents_ResponsePlan" }, { - "$ref": "#/definitions/AWS_Connect_TaskTemplate" + "$ref": "#/definitions/AWS_MediaPackageV2_Channel" }, { - "$ref": "#/definitions/AWS_IVS_PublicKey" + "$ref": "#/definitions/AWS_SageMaker_InferenceComponent" }, { - "$ref": "#/definitions/AWS_Lightsail_Bucket" + "$ref": "#/definitions/AWS_MemoryDB_ParameterGroup" }, { - "$ref": "#/definitions/AWS_Glue_Partition" + "$ref": "#/definitions/AWS_EC2_SubnetRouteTableAssociation" }, { - "$ref": "#/definitions/AWS_Timestream_ScheduledQuery" + "$ref": "#/definitions/AWS_GlobalAccelerator_EndpointGroup" }, { - "$ref": "#/definitions/AWS_Cognito_UserPoolUserToGroupAttachment" + "$ref": "#/definitions/AWS_MediaPackageV2_OriginEndpoint" }, { - "$ref": "#/definitions/AWS_MediaLive_SdiSource" + "$ref": "#/definitions/AWS_SecurityHub_Insight" }, { - "$ref": "#/definitions/AWS_EC2_VPNConnectionRoute" + "$ref": "#/definitions/AWS_IVS_StorageConfiguration" }, { - "$ref": "#/definitions/AWS_Route53Resolver_ResolverConfig" + "$ref": "#/definitions/AWS_MediaPackage_PackagingConfiguration" }, { - "$ref": "#/definitions/AWS_Logs_AccountPolicy" + "$ref": "#/definitions/AWS_IoTWireless_MulticastGroup" }, { - "$ref": "#/definitions/AWS_OSIS_Pipeline" + "$ref": "#/definitions/AWS_AppSync_GraphQLSchema" }, { - "$ref": "#/definitions/AWS_EC2_TransitGatewayAttachment" + "$ref": "#/definitions/AWS_Wisdom_KnowledgeBase" }, { - "$ref": "#/definitions/AWS_SecretsManager_ResourcePolicy" + "$ref": "#/definitions/AWS_SageMaker_Device" }, { - "$ref": "#/definitions/AWS_CertificateManager_Certificate" + "$ref": "#/definitions/AWS_Pinpoint_ApplicationSettings" }, { - "$ref": "#/definitions/AWS_Route53RecoveryReadiness_Cell" + "$ref": "#/definitions/AWS_FIS_ExperimentTemplate" }, { - "$ref": "#/definitions/AWS_EFS_AccessPoint" + "$ref": "#/definitions/AWS_Lightsail_Alarm" }, { - "$ref": "#/definitions/AWS_Pinpoint_SMSChannel" + "$ref": "#/definitions/AWS_Route53_KeySigningKey" }, { - "$ref": "#/definitions/AWS_ControlTower_EnabledBaseline" + "$ref": "#/definitions/AWS_MSK_ClusterPolicy" }, { - "$ref": "#/definitions/AWS_Glue_DataQualityRuleset" + "$ref": "#/definitions/AWS_RDS_DBParameterGroup" }, { - "$ref": "#/definitions/AWS_IoTTwinMaker_Workspace" + "$ref": "#/definitions/AWS_SNS_TopicInlinePolicy" }, { - "$ref": "#/definitions/AWS_Greengrass_FunctionDefinitionVersion" + "$ref": "#/definitions/AWS_EC2_IPAMResourceDiscoveryAssociation" }, { - "$ref": "#/definitions/AWS_S3Outposts_Bucket" + "$ref": "#/definitions/AWS_IdentityStore_Group" }, { - "$ref": "#/definitions/AWS_EC2_TransitGatewayRoute" + "$ref": "#/definitions/AWS_CloudWatch_CompositeAlarm" }, { - "$ref": "#/definitions/AWS_NimbleStudio_LaunchProfile" + "$ref": "#/definitions/AWS_IoTWireless_ServiceProfile" }, { - "$ref": "#/definitions/AWS_Connect_TrafficDistributionGroup" + "$ref": "#/definitions/AWS_IoT_ThingType" }, { - "$ref": "#/definitions/AWS_IoT_SecurityProfile" + "$ref": "#/definitions/AWS_DynamoDB_Table" }, { - "$ref": "#/definitions/AWS_Organizations_OrganizationalUnit" + "$ref": "#/definitions/AWS_OpenSearchServerless_Collection" }, { - "$ref": "#/definitions/AWS_DocDB_DBSubnetGroup" + "$ref": "#/definitions/AWS_ManagedBlockchain_Node" }, { - "$ref": "#/definitions/AWS_CodeConnections_Connection" + "$ref": "#/definitions/AWS_EC2_VolumeAttachment" }, { - "$ref": "#/definitions/AWS_CloudFront_OriginRequestPolicy" + "$ref": "#/definitions/AWS_SageMaker_Project" }, { - "$ref": "#/definitions/AWS_EntityResolution_SchemaMapping" + "$ref": "#/definitions/AWS_KinesisFirehose_DeliveryStream" }, { - "$ref": "#/definitions/AWS_Location_PlaceIndex" + "$ref": "#/definitions/AWS_EC2_EC2Fleet" }, { - "$ref": "#/definitions/AWS_SupportApp_SlackWorkspaceConfiguration" + "$ref": "#/definitions/AWS_IoTTwinMaker_SyncJob" }, { - "$ref": "#/definitions/AWS_CloudFormation_HookTypeConfig" + "$ref": "#/definitions/AWS_ACMPCA_CertificateAuthorityActivation" }, { - "$ref": "#/definitions/AWS_ECS_TaskSet" + "$ref": "#/definitions/AWS_AppConfig_DeploymentStrategy" }, { - "$ref": "#/definitions/AWS_CodeCommit_Repository" + "$ref": "#/definitions/AWS_EC2_TrafficMirrorTarget" }, { - "$ref": "#/definitions/AWS_SSMQuickSetup_ConfigurationManager" + "$ref": "#/definitions/AWS_EC2_VPCCidrBlock" }, { - "$ref": "#/definitions/AWS_ElasticBeanstalk_Application" + "$ref": "#/definitions/AWS_KafkaConnect_WorkerConfiguration" }, { - "$ref": "#/definitions/AWS_AppConfig_DeploymentStrategy" + "$ref": "#/definitions/AWS_DataBrew_Ruleset" }, { - "$ref": "#/definitions/AWS_ElastiCache_SecurityGroup" + "$ref": "#/definitions/AWS_ElasticBeanstalk_Application" }, { - "$ref": "#/definitions/AWS_Transfer_Connector" + "$ref": "#/definitions/AWS_WorkSpacesWeb_BrowserSettings" }, { - "$ref": "#/definitions/AWS_M2_Application" + "$ref": "#/definitions/AWS_MediaPackage_PackagingGroup" }, { - "$ref": "#/definitions/AWS_ElasticLoadBalancingV2_ListenerRule" + "$ref": "#/definitions/AWS_GreengrassV2_ComponentVersion" }, { - "$ref": "#/definitions/AWS_GameLift_MatchmakingConfiguration" + "$ref": "#/definitions/AWS_SSM_Parameter" }, { - "$ref": "#/definitions/AWS_SimSpaceWeaver_Simulation" + "$ref": "#/definitions/AWS_Timestream_Database" }, { - "$ref": "#/definitions/AWS_SSM_Association" + "$ref": "#/definitions/AWS_CleanRooms_Membership" }, { - "$ref": "#/definitions/AWS_AppTest_TestCase" + "$ref": "#/definitions/AWS_ECS_Cluster" }, { - "$ref": "#/definitions/AWS_MediaConnect_BridgeSource" + "$ref": "#/definitions/AWS_CodeArtifact_Repository" }, { - "$ref": "#/definitions/AWS_Location_APIKey" + "$ref": "#/definitions/AWS_SES_ContactList" }, { - "$ref": "#/definitions/AWS_Config_StoredQuery" + "$ref": "#/definitions/AWS_DataSync_StorageSystem" }, { - "$ref": "#/definitions/AWS_AppStream_StackUserAssociation" + "$ref": "#/definitions/AWS_NimbleStudio_StreamingImage" }, { - "$ref": "#/definitions/AWS_SageMaker_ModelExplainabilityJobDefinition" + "$ref": "#/definitions/AWS_CE_AnomalySubscription" }, { - "$ref": "#/definitions/AWS_Personalize_DatasetGroup" + "$ref": "#/definitions/AWS_SageMaker_AppImageConfig" }, { - "$ref": "#/definitions/AWS_NetworkManager_Link" + "$ref": "#/definitions/AWS_Pinpoint_Segment" }, { - "$ref": "#/definitions/AWS_MediaLive_Channel" + "$ref": "#/definitions/AWS_Route53Resolver_ResolverDNSSECConfig" }, { - "$ref": "#/definitions/AWS_Cognito_IdentityPool" + "$ref": "#/definitions/AWS_DataSync_LocationFSxLustre" }, { - "$ref": "#/definitions/AWS_B2BI_Transformer" + "$ref": "#/definitions/AWS_Route53Resolver_ResolverQueryLoggingConfig" }, { - "$ref": "#/definitions/AWS_OpsWorks_ElasticLoadBalancerAttachment" + "$ref": "#/definitions/AWS_SecurityHub_ProductSubscription" }, { - "$ref": "#/definitions/AWS_Macie_AllowList" + "$ref": "#/definitions/AWS_FIS_TargetAccountConfiguration" }, { - "$ref": "#/definitions/AWS_ControlTower_LandingZone" + "$ref": "#/definitions/AWS_ServiceCatalog_LaunchNotificationConstraint" }, { - "$ref": "#/definitions/AWS_QuickSight_VPCConnection" + "$ref": "#/definitions/AWS_EC2_DHCPOptions" }, { - "$ref": "#/definitions/AWS_IVS_EncoderConfiguration" + "$ref": "#/definitions/AWS_MediaConnect_FlowOutput" }, { - "$ref": "#/definitions/AWS_Lightsail_Certificate" + "$ref": "#/definitions/AWS_CustomerProfiles_Domain" }, { - "$ref": "#/definitions/AWS_MemoryDB_SubnetGroup" + "$ref": "#/definitions/AWS_Pinpoint_EmailChannel" }, { - "$ref": "#/definitions/AWS_WAFRegional_RateBasedRule" + "$ref": "#/definitions/AWS_EC2_ClientVpnTargetNetworkAssociation" }, { - "$ref": "#/definitions/AWS_EMR_Step" + "$ref": "#/definitions/AWS_SupportApp_SlackChannelConfiguration" }, { - "$ref": "#/definitions/AWS_Route53Profiles_ProfileAssociation" + "$ref": "#/definitions/AWS_GuardDuty_MalwareProtectionPlan" }, { - "$ref": "#/definitions/AWS_AmplifyUIBuilder_Form" + "$ref": "#/definitions/AWS_Location_RouteCalculator" }, { - "$ref": "#/definitions/AWS_SageMaker_Pipeline" + "$ref": "#/definitions/AWS_EC2_ClientVpnRoute" }, { - "$ref": "#/definitions/AWS_Omics_VariantStore" + "$ref": "#/definitions/AWS_IoT_TopicRuleDestination" }, { - "$ref": "#/definitions/AWS_Pinpoint_GCMChannel" + "$ref": "#/definitions/AWS_DLM_LifecyclePolicy" }, { - "$ref": "#/definitions/AWS_EC2_TransitGatewayRouteTable" + "$ref": "#/definitions/AWS_CertificateManager_Account" }, { - "$ref": "#/definitions/AWS_LookoutEquipment_InferenceScheduler" + "$ref": "#/definitions/AWS_IAM_VirtualMFADevice" }, { - "$ref": "#/definitions/AWS_Deadline_StorageProfile" + "$ref": "#/definitions/AWS_Glue_Partition" }, { - "$ref": "#/definitions/AWS_IoT_Logging" + "$ref": "#/definitions/AWS_WAF_SizeConstraintSet" }, { - "$ref": "#/definitions/AWS_Shield_Protection" + "$ref": "#/definitions/AWS_Pinpoint_ADMChannel" }, { - "$ref": "#/definitions/AWS_OpenSearchServerless_SecurityPolicy" + "$ref": "#/definitions/AWS_Backup_RestoreTestingSelection" }, { - "$ref": "#/definitions/AWS_WorkSpacesWeb_Portal" + "$ref": "#/definitions/AWS_LicenseManager_License" }, { - "$ref": "#/definitions/AWS_SageMaker_Project" + "$ref": "#/definitions/AWS_RUM_AppMonitor" }, { - "$ref": "#/definitions/AWS_IoT_RoleAlias" + "$ref": "#/definitions/AWS_ECR_PublicRepository" }, { - "$ref": "#/definitions/AWS_Scheduler_Schedule" + "$ref": "#/definitions/AWS_MediaPackage_Asset" }, { - "$ref": "#/definitions/AWS_ServiceCatalog_StackSetConstraint" + "$ref": "#/definitions/AWS_EC2_ClientVpnAuthorizationRule" }, { - "$ref": "#/definitions/AWS_Route53_HealthCheck" + "$ref": "#/definitions/AWS_EFS_FileSystem" }, { - "$ref": "#/definitions/AWS_AmazonMQ_Configuration" + "$ref": "#/definitions/AWS_Route53Resolver_FirewallRuleGroupAssociation" }, { - "$ref": "#/definitions/AWS_SageMaker_Image" + "$ref": "#/definitions/AWS_CodeDeploy_DeploymentGroup" }, { - "$ref": "#/definitions/AWS_EC2_IPAMScope" + "$ref": "#/definitions/AWS_GlobalAccelerator_CrossAccountAttachment" }, { - "$ref": "#/definitions/AWS_VpcLattice_AccessLogSubscription" + "$ref": "#/definitions/AWS_Connect_PredefinedAttribute" }, { - "$ref": "#/definitions/AWS_KinesisAnalytics_ApplicationOutput" + "$ref": "#/definitions/AWS_OpenSearchServerless_SecurityPolicy" }, { - "$ref": "#/definitions/AWS_IoTFleetHub_Application" + "$ref": "#/definitions/AWS_Greengrass_SubscriptionDefinition" }, { - "$ref": "#/definitions/AWS_Lambda_LayerVersionPermission" + "$ref": "#/definitions/AWS_Glue_CustomEntityType" }, { - "$ref": "#/definitions/AWS_ManagedBlockchain_Node" + "$ref": "#/definitions/AWS_SES_ReceiptRule" }, { - "$ref": "#/definitions/AWS_Location_TrackerConsumer" + "$ref": "#/definitions/AWS_OpenSearchServerless_LifecyclePolicy" }, { - "$ref": "#/definitions/AWS_DynamoDB_GlobalTable" + "$ref": "#/definitions/AWS_MediaTailor_ChannelPolicy" }, { - "$ref": "#/definitions/AWS_EC2_InternetGateway" + "$ref": "#/definitions/AWS_Budgets_BudgetsAction" }, { - "$ref": "#/definitions/AWS_CloudFront_CachePolicy" + "$ref": "#/definitions/AWS_AppMesh_VirtualRouter" }, { - "$ref": "#/definitions/AWS_DataZone_UserProfile" + "$ref": "#/definitions/AWS_SSMQuickSetup_ConfigurationManager" }, { - "$ref": "#/definitions/AWS_QBusiness_WebExperience" + "$ref": "#/definitions/AWS_AppStream_ApplicationFleetAssociation" }, { - "$ref": "#/definitions/AWS_DataBrew_Job" + "$ref": "#/definitions/AWS_Cognito_LogDeliveryConfiguration" }, { - "$ref": "#/definitions/AWS_EMR_StudioSessionMapping" + "$ref": "#/definitions/AWS_MediaTailor_Channel" }, { - "$ref": "#/definitions/AWS_InternetMonitor_Monitor" + "$ref": "#/definitions/AWS_Personalize_DatasetGroup" }, { - "$ref": "#/definitions/AWS_SES_ConfigurationSet" + "$ref": "#/definitions/AWS_Rbin_Rule" }, { - "$ref": "#/definitions/AWS_S3Outposts_BucketPolicy" + "$ref": "#/definitions/AWS_Events_Rule" }, { - "$ref": "#/definitions/AWS_AppIntegrations_DataIntegration" + "$ref": "#/definitions/AWS_S3ObjectLambda_AccessPointPolicy" }, { - "$ref": "#/definitions/AWS_Location_GeofenceCollection" + "$ref": "#/definitions/AWS_Redshift_ClusterParameterGroup" }, { - "$ref": "#/definitions/AWS_Pinpoint_ApplicationSettings" + "$ref": "#/definitions/AWS_AppStream_ApplicationEntitlementAssociation" }, { - "$ref": "#/definitions/AWS_WAFRegional_IPSet" + "$ref": "#/definitions/AWS_DataBrew_Job" }, { - "$ref": "#/definitions/AWS_Lambda_EventInvokeConfig" + "$ref": "#/definitions/AWS_CodePipeline_Pipeline" }, { - "$ref": "#/definitions/AWS_CleanRooms_ConfiguredTable" + "$ref": "#/definitions/AWS_Rekognition_Collection" }, { - "$ref": "#/definitions/AWS_CodeGuruReviewer_RepositoryAssociation" + "$ref": "#/definitions/AWS_EC2_TransitGatewayMulticastGroupMember" }, { - "$ref": "#/definitions/AWS_EKS_FargateProfile" + "$ref": "#/definitions/AWS_SageMaker_UserProfile" }, { - "$ref": "#/definitions/AWS_KinesisAnalyticsV2_ApplicationReferenceDataSource" + "$ref": "#/definitions/AWS_Wisdom_AIPromptVersion" }, { - "$ref": "#/definitions/AWS_Route53_CidrCollection" + "$ref": "#/definitions/AWS_Lambda_Function" }, { - "$ref": "#/definitions/AWS_ApiGatewayV2_Integration" + "$ref": "#/definitions/AWS_IAM_AccessKey" }, { - "$ref": "#/definitions/AWS_IAM_InstanceProfile" + "$ref": "#/definitions/AWS_WAFRegional_GeoMatchSet" }, { - "$ref": "#/definitions/AWS_RDS_GlobalCluster" + "$ref": "#/definitions/AWS_AutoScaling_WarmPool" }, { - "$ref": "#/definitions/AWS_MediaConnect_FlowEntitlement" + "$ref": "#/definitions/AWS_WorkSpacesWeb_IpAccessSettings" }, { - "$ref": "#/definitions/AWS_MediaTailor_ChannelPolicy" + "$ref": "#/definitions/AWS_Bedrock_Prompt" }, { - "$ref": "#/definitions/AWS_Cognito_UserPoolGroup" + "$ref": "#/definitions/AWS_EC2_VPNConnection" }, { - "$ref": "#/definitions/AWS_EC2_Host" + "$ref": "#/definitions/AWS_EC2_Route" }, { - "$ref": "#/definitions/AWS_NetworkManager_Site" + "$ref": "#/definitions/AWS_DataZone_SubscriptionTarget" }, { - "$ref": "#/definitions/AWS_CloudFormation_StackSet" + "$ref": "#/definitions/AWS_VpcLattice_AccessLogSubscription" }, { - "$ref": "#/definitions/AWS_Lightsail_Distribution" + "$ref": "#/definitions/AWS_Route53_DNSSEC" }, { - "$ref": "#/definitions/AWS_SDB_Domain" + "$ref": "#/definitions/AWS_B2BI_Partnership" }, { - "$ref": "#/definitions/AWS_WorkSpacesWeb_UserSettings" + "$ref": "#/definitions/AWS_OpsWorks_Volume" }, { - "$ref": "#/definitions/AWS_WAFRegional_ByteMatchSet" + "$ref": "#/definitions/AWS_MediaLive_Channel" }, { - "$ref": "#/definitions/AWS_EC2_VerifiedAccessEndpoint" + "$ref": "#/definitions/AWS_Route53_HostedZone" }, { - "$ref": "#/definitions/AWS_IoTFleetWise_Vehicle" + "$ref": "#/definitions/AWS_Redshift_Integration" }, { - "$ref": "#/definitions/AWS_Bedrock_DataSource" + "$ref": "#/definitions/AWS_NetworkManager_ConnectPeer" }, { - "$ref": "#/definitions/AWS_AutoScaling_ScalingPolicy" + "$ref": "#/definitions/AWS_CloudFormation_TypeActivation" }, { - "$ref": "#/definitions/AWS_LakeFormation_DataCellsFilter" + "$ref": "#/definitions/AWS_Lex_ResourcePolicy" }, { - "$ref": "#/definitions/AWS_SES_MailManagerIngressPoint" + "$ref": "#/definitions/AWS_EC2_Instance" }, { - "$ref": "#/definitions/AWS_EC2_VPCEndpointConnectionNotification" + "$ref": "#/definitions/AWS_Pinpoint_APNSVoipSandboxChannel" }, { - "$ref": "#/definitions/AWS_Pinpoint_EmailTemplate" + "$ref": "#/definitions/AWS_EC2_TransitGatewayRoute" }, { - "$ref": "#/definitions/AWS_EMR_Studio" + "$ref": "#/definitions/AWS_Bedrock_FlowVersion" }, { - "$ref": "#/definitions/AWS_EC2_CapacityReservation" + "$ref": "#/definitions/AWS_ElastiCache_User" }, { - "$ref": "#/definitions/AWS_Macie_FindingsFilter" + "$ref": "#/definitions/AWS_AppSync_ApiCache" }, { - "$ref": "#/definitions/AWS_KinesisAnalyticsV2_Application" + "$ref": "#/definitions/AWS_AppStream_AppBlockBuilder" }, { - "$ref": "#/definitions/AWS_S3Outposts_AccessPoint" + "$ref": "#/definitions/AWS_RoboMaker_RobotApplicationVersion" }, { - "$ref": "#/definitions/AWS_SecurityHub_OrganizationConfiguration" + "$ref": "#/definitions/AWS_S3ObjectLambda_AccessPoint" }, { - "$ref": "#/definitions/AWS_PCAConnectorAD_Connector" + "$ref": "#/definitions/AWS_VpcLattice_Service" }, { - "$ref": "#/definitions/AWS_Kendra_Index" + "$ref": "#/definitions/AWS_SageMaker_ModelPackage" }, { - "$ref": "#/definitions/AWS_SQS_Queue" + "$ref": "#/definitions/AWS_Rekognition_Project" }, { - "$ref": "#/definitions/AWS_OpsWorks_Volume" + "$ref": "#/definitions/AWS_RDS_DBShardGroup" }, { - "$ref": "#/definitions/AWS_DAX_ParameterGroup" + "$ref": "#/definitions/AWS_Neptune_DBCluster" }, { - "$ref": "#/definitions/AWS_Connect_ContactFlow" + "$ref": "#/definitions/AWS_DocDB_DBSubnetGroup" }, { - "$ref": "#/definitions/AWS_VerifiedPermissions_PolicyTemplate" + "$ref": "#/definitions/AWS_NetworkManager_ConnectAttachment" }, { - "$ref": "#/definitions/AWS_AppConfig_ConfigurationProfile" + "$ref": "#/definitions/AWS_SageMaker_FeatureGroup" }, { - "$ref": "#/definitions/AWS_KafkaConnect_WorkerConfiguration" + "$ref": "#/definitions/AWS_Events_EventBusPolicy" }, { - "$ref": "#/definitions/AWS_ElastiCache_UserGroup" + "$ref": "#/definitions/AWS_Logs_AccountPolicy" }, { - "$ref": "#/definitions/AWS_SystemsManagerSAP_Application" + "$ref": "#/definitions/AWS_SQS_QueuePolicy" }, { - "$ref": "#/definitions/AWS_MediaPackage_Channel" + "$ref": "#/definitions/AWS_Bedrock_FlowAlias" }, { - "$ref": "#/definitions/AWS_AppSync_Resolver" + "$ref": "#/definitions/AWS_Wisdom_Assistant" }, { - "$ref": "#/definitions/AWS_Logs_ResourcePolicy" + "$ref": "#/definitions/AWS_PaymentCryptography_Key" }, { - "$ref": "#/definitions/AWS_SageMaker_ModelBiasJobDefinition" + "$ref": "#/definitions/AWS_SES_ConfigurationSet" }, { - "$ref": "#/definitions/AWS_Oam_Link" + "$ref": "#/definitions/AWS_ServiceCatalog_StackSetConstraint" }, { - "$ref": "#/definitions/AWS_PCAConnectorAD_DirectoryRegistration" + "$ref": "#/definitions/AWS_DataSync_LocationAzureBlob" }, { - "$ref": "#/definitions/AWS_IAM_User" + "$ref": "#/definitions/AWS_LakeFormation_Permissions" }, { - "$ref": "#/definitions/AWS_ECR_PullThroughCacheRule" + "$ref": "#/definitions/AWS_ManagedBlockchain_Accessor" }, { - "$ref": "#/definitions/AWS_OpsWorks_App" + "$ref": "#/definitions/AWS_AccessAnalyzer_Analyzer" }, { - "$ref": "#/definitions/AWS_IAM_UserPolicy" + "$ref": "#/definitions/AWS_SSM_Document" }, { - "$ref": "#/definitions/AWS_OpsWorks_UserProfile" + "$ref": "#/definitions/AWS_VpcLattice_ServiceNetworkServiceAssociation" }, { - "$ref": "#/definitions/AWS_KMS_ReplicaKey" + "$ref": "#/definitions/AWS_Greengrass_FunctionDefinition" }, { - "$ref": "#/definitions/AWS_Connect_SecurityProfile" + "$ref": "#/definitions/AWS_AutoScalingPlans_ScalingPlan" }, { - "$ref": "#/definitions/AWS_CE_AnomalyMonitor" + "$ref": "#/definitions/AWS_Kinesis_StreamConsumer" }, { - "$ref": "#/definitions/AWS_DocDBElastic_Cluster" + "$ref": "#/definitions/AWS_GuardDuty_ThreatIntelSet" }, { - "$ref": "#/definitions/AWS_IoT_ThingGroup" + "$ref": "#/definitions/AWS_DataSync_LocationEFS" }, { - "$ref": "#/definitions/AWS_EMRServerless_Application" + "$ref": "#/definitions/AWS_Detective_MemberInvitation" }, { - "$ref": "#/definitions/AWS_MediaLive_Multiplexprogram" + "$ref": "#/definitions/AWS_SES_ReceiptRuleSet" }, { - "$ref": "#/definitions/AWS_Lightsail_Container" + "$ref": "#/definitions/AWS_EC2_InstanceConnectEndpoint" }, { - "$ref": "#/definitions/AWS_SNS_TopicInlinePolicy" + "$ref": "#/definitions/AWS_NeptuneGraph_Graph" }, { - "$ref": "#/definitions/AWS_EC2_CapacityReservationFleet" + "$ref": "#/definitions/AWS_CodeStar_GitHubRepository" }, { - "$ref": "#/definitions/AWS_SES_ReceiptRuleSet" + "$ref": "#/definitions/AWS_EMR_SecurityConfiguration" }, { - "$ref": "#/definitions/AWS_EC2_TransitGatewayMulticastDomainAssociation" + "$ref": "#/definitions/AWS_SNS_Topic" }, { - "$ref": "#/definitions/AWS_Connect_RoutingProfile" + "$ref": "#/definitions/AWS_AppSync_Api" }, { - "$ref": "#/definitions/AWS_IoTEvents_Input" + "$ref": "#/definitions/AWS_Neptune_DBSubnetGroup" }, { - "$ref": "#/definitions/AWS_CloudFront_StreamingDistribution" + "$ref": "#/definitions/AWS_Omics_RunGroup" }, { - "$ref": "#/definitions/AWS_Personalize_Dataset" + "$ref": "#/definitions/AWS_EFS_MountTarget" }, { - "$ref": "#/definitions/AWS_EC2_VPC" + "$ref": "#/definitions/AWS_Neptune_DBInstance" }, { - "$ref": "#/definitions/AWS_GlobalAccelerator_Listener" + "$ref": "#/definitions/AWS_Athena_NamedQuery" }, { - "$ref": "#/definitions/AWS_Logs_MetricFilter" + "$ref": "#/definitions/AWS_ApiGateway_Deployment" }, { - "$ref": "#/definitions/AWS_Cognito_UserPoolClient" + "$ref": "#/definitions/AWS_Glue_DataQualityRuleset" }, { - "$ref": "#/definitions/AWS_CloudFormation_Publisher" + "$ref": "#/definitions/AWS_Glue_Table" }, { - "$ref": "#/definitions/AWS_PinpointEmail_ConfigurationSet" + "$ref": "#/definitions/AWS_SSM_MaintenanceWindowTask" }, { - "$ref": "#/definitions/AWS_AppFlow_Connector" + "$ref": "#/definitions/AWS_DirectoryService_SimpleAD" }, { - "$ref": "#/definitions/AWS_ECS_Service" + "$ref": "#/definitions/AWS_Cassandra_Table" }, { - "$ref": "#/definitions/AWS_Config_DeliveryChannel" + "$ref": "#/definitions/AWS_WAFRegional_XssMatchSet" }, { - "$ref": "#/definitions/AWS_CloudFormation_Stack" + "$ref": "#/definitions/AWS_Lightsail_Disk" }, { - "$ref": "#/definitions/AWS_Connect_View" + "$ref": "#/definitions/AWS_Lambda_LayerVersion" }, { - "$ref": "#/definitions/AWS_Omics_ReferenceStore" + "$ref": "#/definitions/AWS_IAM_UserToGroupAddition" }, { - "$ref": "#/definitions/AWS_SSM_Document" + "$ref": "#/definitions/AWS_IoT_MitigationAction" }, { - "$ref": "#/definitions/AWS_SSO_Application" + "$ref": "#/definitions/AWS_SSM_MaintenanceWindow" }, { - "$ref": "#/definitions/AWS_FraudDetector_Variable" + "$ref": "#/definitions/AWS_MediaLive_CloudWatchAlarmTemplate" }, { - "$ref": "#/definitions/AWS_AuditManager_Assessment" + "$ref": "#/definitions/AWS_QuickSight_DataSource" }, { - "$ref": "#/definitions/AWS_IoTWireless_TaskDefinition" + "$ref": "#/definitions/AWS_GameLift_Location" }, { - "$ref": "#/definitions/AWS_Wisdom_AssistantAssociation" + "$ref": "#/definitions/AWS_EKS_IdentityProviderConfig" }, { - "$ref": "#/definitions/AWS_MSK_BatchScramSecret" + "$ref": "#/definitions/AWS_Route53_HealthCheck" }, { - "$ref": "#/definitions/AWS_EntityResolution_PolicyStatement" + "$ref": "#/definitions/AWS_Neptune_EventSubscription" }, { - "$ref": "#/definitions/AWS_Pinpoint_VoiceChannel" + "$ref": "#/definitions/AWS_CodeCommit_Repository" }, { - "$ref": "#/definitions/AWS_PCAConnectorAD_Template" + "$ref": "#/definitions/AWS_OSIS_Pipeline" }, { - "$ref": "#/definitions/AWS_ApiGateway_RestApi" + "$ref": "#/definitions/AWS_ElasticLoadBalancingV2_TrustStore" }, { - "$ref": "#/definitions/AWS_MediaConvert_JobTemplate" + "$ref": "#/definitions/AWS_IoTTwinMaker_Workspace" }, { - "$ref": "#/definitions/AWS_Location_Tracker" + "$ref": "#/definitions/AWS_Cognito_UserPoolUICustomizationAttachment" }, { - "$ref": "#/definitions/AWS_Cognito_UserPool" + "$ref": "#/definitions/AWS_Route53RecoveryControl_SafetyRule" }, { - "$ref": "#/definitions/AWS_IoT_CACertificate" + "$ref": "#/definitions/AWS_KMS_Key" }, { - "$ref": "#/definitions/AWS_CloudFormation_TypeActivation" + "$ref": "#/definitions/AWS_Route53RecoveryReadiness_ReadinessCheck" }, { - "$ref": "#/definitions/AWS_AppConfig_Application" + "$ref": "#/definitions/AWS_AppRunner_ObservabilityConfiguration" }, { - "$ref": "#/definitions/AWS_SageMaker_InferenceComponent" + "$ref": "#/definitions/AWS_IoT_SoftwarePackageVersion" }, { - "$ref": "#/definitions/AWS_EMR_WALWorkspace" + "$ref": "#/definitions/AWS_CloudFront_PublicKey" }, { - "$ref": "#/definitions/AWS_AppSync_DataSource" + "$ref": "#/definitions/AWS_AppConfig_Extension" }, { - "$ref": "#/definitions/AWS_VpcLattice_ServiceNetworkVpcAssociation" + "$ref": "#/definitions/AWS_ApiGateway_RequestValidator" }, { - "$ref": "#/definitions/AWS_KafkaConnect_Connector" + "$ref": "#/definitions/AWS_GroundStation_DataflowEndpointGroup" }, { - "$ref": "#/definitions/AWS_Redshift_EndpointAccess" + "$ref": "#/definitions/AWS_AppStream_Stack" }, { - "$ref": "#/definitions/AWS_AppMesh_GatewayRoute" + "$ref": "#/definitions/AWS_CodeStarNotifications_NotificationRule" }, { - "$ref": "#/definitions/AWS_Bedrock_AgentAlias" + "$ref": "#/definitions/AWS_RDS_DBProxyTargetGroup" }, { - "$ref": "#/definitions/AWS_SecurityLake_DataLake" + "$ref": "#/definitions/AWS_EC2_EnclaveCertificateIamRoleAssociation" }, { - "$ref": "#/definitions/AWS_CloudFormation_HookDefaultVersion" + "$ref": "#/definitions/AWS_Route53RecoveryControl_RoutingControl" }, { - "$ref": "#/definitions/AWS_KinesisVideo_Stream" + "$ref": "#/definitions/AWS_CloudWatch_Alarm" }, { - "$ref": "#/definitions/AWS_DataZone_SubscriptionTarget" + "$ref": "#/definitions/AWS_Route53_RecordSetGroup" }, { - "$ref": "#/definitions/AWS_ApiGateway_DomainName" + "$ref": "#/definitions/AWS_IoTFleetWise_Campaign" }, { - "$ref": "#/definitions/AWS_GuardDuty_Master" + "$ref": "#/definitions/AWS_Proton_ServiceTemplate" }, { - "$ref": "#/definitions/AWS_MSK_ClusterPolicy" + "$ref": "#/definitions/AWS_ApiGateway_DocumentationPart" }, { - "$ref": "#/definitions/AWS_CodeArtifact_PackageGroup" + "$ref": "#/definitions/AWS_ControlTower_LandingZone" }, { - "$ref": "#/definitions/AWS_EC2_TrafficMirrorFilter" + "$ref": "#/definitions/AWS_EC2_TransitGatewayRouteTablePropagation" }, { - "$ref": "#/definitions/AWS_Connect_InstanceStorageConfig" + "$ref": "#/definitions/AWS_AppStream_ImageBuilder" }, { - "$ref": "#/definitions/AWS_Cloud9_EnvironmentEC2" + "$ref": "#/definitions/AWS_Connect_PhoneNumber" }, { - "$ref": "#/definitions/AWS_Amplify_Branch" + "$ref": "#/definitions/AWS_APS_RuleGroupsNamespace" }, { - "$ref": "#/definitions/AWS_ECR_PublicRepository" + "$ref": "#/definitions/AWS_SageMaker_InferenceExperiment" }, { - "$ref": "#/definitions/AWS_NimbleStudio_StreamingImage" + "$ref": "#/definitions/AWS_Transfer_Certificate" }, { - "$ref": "#/definitions/AWS_Organizations_Account" + "$ref": "#/definitions/AWS_Deadline_QueueFleetAssociation" }, { - "$ref": "#/definitions/AWS_Pinpoint_InAppTemplate" + "$ref": "#/definitions/AWS_NeptuneGraph_PrivateGraphEndpoint" }, { - "$ref": "#/definitions/AWS_IoT1Click_Device" + "$ref": "#/definitions/AWS_BillingConductor_BillingGroup" }, { - "$ref": "#/definitions/AWS_EC2_IPAMAllocation" + "$ref": "#/definitions/AWS_ApiGateway_Method" }, { - "$ref": "#/definitions/AWS_AppMesh_VirtualRouter" + "$ref": "#/definitions/AWS_LakeFormation_Tag" }, { - "$ref": "#/definitions/AWS_OpenSearchServerless_VpcEndpoint" + "$ref": "#/definitions/AWS_Pinpoint_APNSSandboxChannel" }, { - "$ref": "#/definitions/AWS_DynamoDB_Table" + "$ref": "#/definitions/AWS_NetworkManager_VpcAttachment" }, { - "$ref": "#/definitions/AWS_IoT_Dimension" + "$ref": "#/definitions/AWS_EMR_Studio" }, { - "$ref": "#/definitions/AWS_EntityResolution_IdMappingWorkflow" + "$ref": "#/definitions/AWS_EC2_VPNGatewayRoutePropagation" }, { - "$ref": "#/definitions/AWS_RoboMaker_Fleet" + "$ref": "#/definitions/AWS_AppFlow_Connector" }, { - "$ref": "#/definitions/AWS_IoTTwinMaker_ComponentType" + "$ref": "#/definitions/AWS_ConnectCampaigns_Campaign" }, { - "$ref": "#/definitions/AWS_IoT_ProvisioningTemplate" + "$ref": "#/definitions/AWS_CodeStarConnections_Connection" }, { - "$ref": "#/definitions/AWS_SecurityHub_AutomationRule" + "$ref": "#/definitions/AWS_RDS_DBSecurityGroupIngress" }, { - "$ref": "#/definitions/AWS_NeptuneGraph_PrivateGraphEndpoint" + "$ref": "#/definitions/AWS_Omics_SequenceStore" }, { - "$ref": "#/definitions/AWS_QuickSight_Analysis" + "$ref": "#/definitions/AWS_Glue_SecurityConfiguration" }, { - "$ref": "#/definitions/AWS_IoT1Click_Placement" + "$ref": "#/definitions/AWS_Synthetics_Group" }, { - "$ref": "#/definitions/AWS_EC2_VPCEndpointService" + "$ref": "#/definitions/AWS_IoT_Policy" }, { - "$ref": "#/definitions/AWS_Bedrock_Prompt" + "$ref": "#/definitions/AWS_WAFRegional_WebACL" }, { - "$ref": "#/definitions/AWS_SageMaker_StudioLifecycleConfig" + "$ref": "#/definitions/AWS_EMR_Step" }, { - "$ref": "#/definitions/AWS_ApplicationInsights_Application" + "$ref": "#/definitions/AWS_EC2_EIP" }, { - "$ref": "#/definitions/AWS_WAFv2_RuleGroup" + "$ref": "#/definitions/AWS_DMS_ReplicationConfig" }, { - "$ref": "#/definitions/AWS_ApiGatewayV2_IntegrationResponse" + "$ref": "#/definitions/AWS_IoTSiteWise_Gateway" }, { - "$ref": "#/definitions/AWS_AppStream_AppBlock" + "$ref": "#/definitions/AWS_EC2_NetworkAclEntry" }, { - "$ref": "#/definitions/AWS_SSM_MaintenanceWindowTarget" + "$ref": "#/definitions/AWS_AmplifyUIBuilder_Form" }, { - "$ref": "#/definitions/AWS_ElasticLoadBalancing_LoadBalancer" + "$ref": "#/definitions/AWS_ControlTower_EnabledControl" }, { - "$ref": "#/definitions/AWS_SSO_Assignment" + "$ref": "#/definitions/AWS_AppStream_Fleet" }, { - "$ref": "#/definitions/AWS_VpcLattice_ServiceNetworkServiceAssociation" + "$ref": "#/definitions/AWS_Cognito_UserPoolRiskConfigurationAttachment" }, { - "$ref": "#/definitions/AWS_ApiGateway_Resource" + "$ref": "#/definitions/AWS_CleanRoomsML_TrainingDataset" }, { - "$ref": "#/definitions/AWS_CodePipeline_Pipeline" + "$ref": "#/definitions/AWS_IoTFleetHub_Application" }, { - "$ref": "#/definitions/AWS_DataSync_LocationFSxWindows" + "$ref": "#/definitions/AWS_NimbleStudio_LaunchProfile" }, { - "$ref": "#/definitions/AWS_Redshift_ClusterParameterGroup" + "$ref": "#/definitions/AWS_Logs_LogAnomalyDetector" }, { - "$ref": "#/definitions/AWS_SES_VdmAttributes" + "$ref": "#/definitions/AWS_IoT_PolicyPrincipalAttachment" }, { - "$ref": "#/definitions/AWS_PCAConnectorAD_TemplateGroupAccessControlEntry" + "$ref": "#/definitions/AWS_CleanRooms_AnalysisTemplate" }, { - "$ref": "#/definitions/AWS_IVS_RecordingConfiguration" + "$ref": "#/definitions/AWS_PCAConnectorAD_DirectoryRegistration" }, { - "$ref": "#/definitions/AWS_ApiGatewayV2_VpcLink" + "$ref": "#/definitions/AWS_Logs_LogGroup" }, { - "$ref": "#/definitions/AWS_AppRunner_ObservabilityConfiguration" + "$ref": "#/definitions/AWS_WAFRegional_Rule" }, { - "$ref": "#/definitions/AWS_AppConfig_HostedConfigurationVersion" + "$ref": "#/definitions/AWS_Evidently_Project" }, { - "$ref": "#/definitions/AWS_CloudFormation_WaitCondition" + "$ref": "#/definitions/AWS_ServiceCatalog_PortfolioShare" }, { - "$ref": "#/definitions/AWS_EC2_VPNGateway" + "$ref": "#/definitions/AWS_WAFRegional_SizeConstraintSet" }, { - "$ref": "#/definitions/AWS_RoboMaker_Robot" + "$ref": "#/definitions/AWS_B2BI_Transformer" }, { - "$ref": "#/definitions/AWS_DAX_SubnetGroup" + "$ref": "#/definitions/AWS_SES_MailManagerIngressPoint" }, { - "$ref": "#/definitions/AWS_M2_Environment" + "$ref": "#/definitions/AWS_DMS_ReplicationSubnetGroup" }, { - "$ref": "#/definitions/AWS_ElastiCache_GlobalReplicationGroup" + "$ref": "#/definitions/AWS_S3_Bucket" }, { - "$ref": "#/definitions/AWS_GameLift_Fleet" + "$ref": "#/definitions/AWS_Connect_Rule" }, { - "$ref": "#/definitions/AWS_Redshift_EndpointAuthorization" + "$ref": "#/definitions/AWS_Lambda_Alias" }, { - "$ref": "#/definitions/AWS_WAFRegional_WebACL" + "$ref": "#/definitions/AWS_SecurityHub_FindingAggregator" }, { - "$ref": "#/definitions/AWS_NetworkManager_TransitGatewayPeering" + "$ref": "#/definitions/AWS_EC2_GatewayRouteTableAssociation" }, { - "$ref": "#/definitions/AWS_Lambda_CodeSigningConfig" + "$ref": "#/definitions/AWS_CloudFront_Function" }, { - "$ref": "#/definitions/AWS_Athena_CapacityReservation" + "$ref": "#/definitions/AWS_Panorama_Package" }, { - "$ref": "#/definitions/AWS_Glue_UsageProfile" + "$ref": "#/definitions/AWS_ResilienceHub_ResiliencyPolicy" }, { - "$ref": "#/definitions/AWS_ApiGateway_UsagePlan" + "$ref": "#/definitions/AWS_MediaTailor_SourceLocation" }, { - "$ref": "#/definitions/AWS_GlobalAccelerator_CrossAccountAttachment" + "$ref": "#/definitions/AWS_S3_AccessGrantsInstance" }, { - "$ref": "#/definitions/AWS_Config_AggregationAuthorization" + "$ref": "#/definitions/AWS_RDS_DBProxyEndpoint" }, { - "$ref": "#/definitions/AWS_Connect_Instance" + "$ref": "#/definitions/AWS_EC2_NatGateway" }, { - "$ref": "#/definitions/AWS_MediaLive_EventBridgeRuleTemplateGroup" + "$ref": "#/definitions/AWS_S3_MultiRegionAccessPointPolicy" }, { - "$ref": "#/definitions/AWS_Connect_HoursOfOperation" + "$ref": "#/definitions/AWS_ServiceCatalog_ResourceUpdateConstraint" }, { - "$ref": "#/definitions/AWS_MediaPackage_PackagingConfiguration" + "$ref": "#/definitions/AWS_ApiGatewayV2_Route" }, { - "$ref": "#/definitions/AWS_CodeStarConnections_SyncConfiguration" + "$ref": "#/definitions/AWS_Lightsail_StaticIp" }, { - "$ref": "#/definitions/AWS_Grafana_Workspace" + "$ref": "#/definitions/AWS_WAFv2_RuleGroup" }, { - "$ref": "#/definitions/AWS_InspectorV2_CisScanConfiguration" + "$ref": "#/definitions/AWS_EC2_SubnetCidrBlock" }, { - "$ref": "#/definitions/AWS_ARCZonalShift_AutoshiftObserverNotificationStatus" + "$ref": "#/definitions/AWS_CleanRooms_PrivacyBudgetTemplate" }, { - "$ref": "#/definitions/AWS_CleanRooms_Membership" + "$ref": "#/definitions/AWS_BillingConductor_CustomLineItem" }, { - "$ref": "#/definitions/AWS_EC2_TrafficMirrorTarget" + "$ref": "#/definitions/AWS_DataSync_LocationObjectStorage" }, { - "$ref": "#/definitions/AWS_AppConfig_Deployment" + "$ref": "#/definitions/AWS_SSM_Association" }, { - "$ref": "#/definitions/AWS_EC2_SecurityGroupEgress" + "$ref": "#/definitions/AWS_IoT_Authorizer" }, { - "$ref": "#/definitions/AWS_EC2_Subnet" + "$ref": "#/definitions/AWS_WAF_XssMatchSet" }, { - "$ref": "#/definitions/AWS_EC2_IPAMPoolCidr" + "$ref": "#/definitions/AWS_AppMesh_Mesh" }, { - "$ref": "#/definitions/AWS_XRay_Group" + "$ref": "#/definitions/AWS_VpcLattice_Listener" }, { - "$ref": "#/definitions/AWS_AppStream_Fleet" + "$ref": "#/definitions/AWS_ECS_Service" }, { - "$ref": "#/definitions/AWS_EC2_NetworkPerformanceMetricSubscription" + "$ref": "#/definitions/AWS_AppSync_GraphQLApi" }, { - "$ref": "#/definitions/AWS_WAFv2_WebACLAssociation" + "$ref": "#/definitions/AWS_CloudTrail_Trail" }, { - "$ref": "#/definitions/AWS_DMS_ReplicationSubnetGroup" + "$ref": "#/definitions/AWS_SecurityHub_AutomationRule" }, { - "$ref": "#/definitions/AWS_Pinpoint_Campaign" + "$ref": "#/definitions/AWS_EC2_LaunchTemplate" }, { - "$ref": "#/definitions/AWS_VpcLattice_TargetGroup" + "$ref": "#/definitions/AWS_GreengrassV2_Deployment" }, { - "$ref": "#/definitions/AWS_Glue_TableOptimizer" + "$ref": "#/definitions/AWS_Logs_MetricFilter" }, { - "$ref": "#/definitions/AWS_Omics_RunGroup" + "$ref": "#/definitions/AWS_MediaLive_Multiplexprogram" }, { - "$ref": "#/definitions/AWS_IoT_Thing" + "$ref": "#/definitions/AWS_IoTSiteWise_AssetModel" }, { - "$ref": "#/definitions/AWS_AppStream_ImageBuilder" + "$ref": "#/definitions/AWS_EMRServerless_Application" }, { - "$ref": "#/definitions/AWS_SES_MailManagerArchive" + "$ref": "#/definitions/AWS_CodeArtifact_Domain" }, { - "$ref": "#/definitions/AWS_CloudTrail_EventDataStore" + "$ref": "#/definitions/AWS_OpsWorks_Layer" }, { - "$ref": "#/definitions/AWS_EC2_TransitGatewayVpcAttachment" + "$ref": "#/definitions/AWS_Connect_QuickConnect" }, { - "$ref": "#/definitions/AWS_RedshiftServerless_Namespace" + "$ref": "#/definitions/AWS_CloudFormation_Macro" }, { - "$ref": "#/definitions/AWS_IoTWireless_WirelessDeviceImportTask" + "$ref": "#/definitions/AWS_EC2_TransitGatewayVpcAttachment" }, { - "$ref": "#/definitions/AWS_QLDB_Stream" + "$ref": "#/definitions/AWS_EntityResolution_PolicyStatement" }, { - "$ref": "#/definitions/AWS_EC2_VPCCidrBlock" + "$ref": "#/definitions/AWS_DataZone_DataSource" }, { - "$ref": "#/definitions/AWS_WorkSpacesWeb_TrustStore" + "$ref": "#/definitions/AWS_Lightsail_Database" }, { - "$ref": "#/definitions/AWS_EC2_TransitGatewayMulticastGroupMember" + "$ref": "#/definitions/AWS_MediaLive_Cluster" }, { - "$ref": "#/definitions/AWS_NetworkManager_Device" + "$ref": "#/definitions/AWS_GameLift_GameSessionQueue" }, { - "$ref": "#/definitions/AWS_ApiGateway_VpcLink" + "$ref": "#/definitions/AWS_Route53RecoveryReadiness_ResourceSet" }, { - "$ref": "#/definitions/AWS_EC2_EC2Fleet" + "$ref": "#/definitions/AWS_CustomerProfiles_EventStream" }, { - "$ref": "#/definitions/AWS_ElasticLoadBalancingV2_ListenerCertificate" + "$ref": "#/definitions/AWS_IAM_Role" }, { - "$ref": "#/definitions/AWS_Glue_DevEndpoint" + "$ref": "#/definitions/AWS_Deadline_Farm" }, { - "$ref": "#/definitions/AWS_PCAConnectorSCEP_Connector" + "$ref": "#/definitions/AWS_EC2_TransitGatewayRouteTable" }, { - "$ref": "#/definitions/AWS_IoTWireless_DeviceProfile" + "$ref": "#/definitions/AWS_KinesisVideo_Stream" }, { - "$ref": "#/definitions/AWS_IAM_Policy" + "$ref": "#/definitions/AWS_AppIntegrations_Application" }, { - "$ref": "#/definitions/AWS_CodeBuild_SourceCredential" + "$ref": "#/definitions/AWS_RolesAnywhere_TrustAnchor" }, { - "$ref": "#/definitions/AWS_CloudWatch_CompositeAlarm" + "$ref": "#/definitions/AWS_MediaPackageV2_ChannelPolicy" }, { - "$ref": "#/definitions/AWS_S3_MultiRegionAccessPointPolicy" + "$ref": "#/definitions/AWS_IAM_Group" }, { - "$ref": "#/definitions/AWS_Evidently_Launch" + "$ref": "#/definitions/AWS_Greengrass_CoreDefinition" }, { - "$ref": "#/definitions/AWS_IAM_UserToGroupAddition" + "$ref": "#/definitions/AWS_WAFv2_RegexPatternSet" }, { - "$ref": "#/definitions/AWS_QuickSight_Dashboard" + "$ref": "#/definitions/AWS_Organizations_ResourcePolicy" }, { - "$ref": "#/definitions/AWS_SageMaker_Cluster" + "$ref": "#/definitions/AWS_Route53Resolver_ResolverRule" }, { - "$ref": "#/definitions/AWS_RDS_EventSubscription" + "$ref": "#/definitions/AWS_EC2_NetworkInsightsAccessScope" }, { - "$ref": "#/definitions/AWS_EC2_Volume" + "$ref": "#/definitions/AWS_IVS_PublicKey" }, { - "$ref": "#/definitions/AWS_EC2_VerifiedAccessGroup" + "$ref": "#/definitions/AWS_ControlTower_EnabledBaseline" }, { - "$ref": "#/definitions/AWS_CloudFront_KeyGroup" + "$ref": "#/definitions/AWS_SSMContacts_Plan" }, { - "$ref": "#/definitions/AWS_ElasticLoadBalancingV2_TargetGroup" + "$ref": "#/definitions/AWS_FSx_StorageVirtualMachine" }, { - "$ref": "#/definitions/AWS_IAM_SAMLProvider" + "$ref": "#/definitions/AWS_Bedrock_ApplicationInferenceProfile" }, { - "$ref": "#/definitions/AWS_CloudFront_MonitoringSubscription" + "$ref": "#/definitions/AWS_Transfer_Server" }, { - "$ref": "#/definitions/AWS_RDS_CustomDBEngineVersion" + "$ref": "#/definitions/AWS_DataZone_Project" }, { - "$ref": "#/definitions/AWS_Greengrass_SubscriptionDefinitionVersion" + "$ref": "#/definitions/AWS_SSM_ResourcePolicy" }, { - "$ref": "#/definitions/AWS_ApiGatewayV2_Api" + "$ref": "#/definitions/AWS_OpenSearchServerless_AccessPolicy" }, { - "$ref": "#/definitions/AWS_Route53Resolver_ResolverDNSSECConfig" + "$ref": "#/definitions/AWS_IoTWireless_NetworkAnalyzerConfiguration" }, { - "$ref": "#/definitions/AWS_PinpointEmail_Identity" + "$ref": "#/definitions/AWS_NimbleStudio_Studio" }, { - "$ref": "#/definitions/AWS_CodePipeline_CustomActionType" + "$ref": "#/definitions/AWS_CodeBuild_ReportGroup" }, { - "$ref": "#/definitions/AWS_ApiGateway_BasePathMapping" + "$ref": "#/definitions/AWS_Backup_BackupVault" }, { - "$ref": "#/definitions/AWS_SSM_PatchBaseline" + "$ref": "#/definitions/AWS_EntityResolution_IdNamespace" }, { - "$ref": "#/definitions/AWS_Connect_Prompt" + "$ref": "#/definitions/AWS_MediaTailor_VodSource" }, { - "$ref": "#/definitions/AWS_CloudFormation_CustomResource" + "$ref": "#/definitions/AWS_VerifiedPermissions_PolicyTemplate" }, { - "$ref": "#/definitions/AWS_EMR_InstanceGroupConfig" + "$ref": "#/definitions/AWS_IoT_FleetMetric" }, { - "$ref": "#/definitions/AWS_ElasticLoadBalancingV2_TrustStoreRevocation" + "$ref": "#/definitions/AWS_Config_ConfigRule" }, { - "$ref": "#/definitions/AWS_ElasticLoadBalancingV2_TrustStore" + "$ref": "#/definitions/AWS_ImageBuilder_ImagePipeline" }, { - "$ref": "#/definitions/AWS_Greengrass_GroupVersion" + "$ref": "#/definitions/AWS_VpcLattice_ServiceNetwork" }, { - "$ref": "#/definitions/AWS_MediaPackageV2_OriginEndpointPolicy" + "$ref": "#/definitions/AWS_Athena_DataCatalog" }, { - "$ref": "#/definitions/AWS_CodeGuruProfiler_ProfilingGroup" + "$ref": "#/definitions/AWS_EC2_SecurityGroupVpcAssociation" }, { - "$ref": "#/definitions/AWS_ElasticBeanstalk_Environment" + "$ref": "#/definitions/AWS_IoTWireless_DeviceProfile" }, { - "$ref": "#/definitions/AWS_KinesisFirehose_DeliveryStream" + "$ref": "#/definitions/AWS_EC2_VPNConnectionRoute" }, { - "$ref": "#/definitions/AWS_Greengrass_CoreDefinition" + "$ref": "#/definitions/AWS_Route53_RecordSet" }, { - "$ref": "#/definitions/AWS_NetworkManager_GlobalNetwork" + "$ref": "#/definitions/AWS_Route53Profiles_Profile" }, { - "$ref": "#/definitions/AWS_QuickSight_Topic" + "$ref": "#/definitions/AWS_Location_Tracker" }, { - "$ref": "#/definitions/AWS_Route53Resolver_ResolverEndpoint" + "$ref": "#/definitions/AWS_WAFRegional_RegexPatternSet" }, { - "$ref": "#/definitions/AWS_KinesisVideo_SignalingChannel" + "$ref": "#/definitions/AWS_IoT_ThingPrincipalAttachment" }, { - "$ref": "#/definitions/AWS_IAM_ServerCertificate" + "$ref": "#/definitions/AWS_ApiGatewayV2_Integration" }, { - "$ref": "#/definitions/AWS_SES_ReceiptRule" + "$ref": "#/definitions/AWS_Athena_PreparedStatement" }, { - "$ref": "#/definitions/AWS_Comprehend_Flywheel" + "$ref": "#/definitions/AWS_DevOpsGuru_NotificationChannel" }, { - "$ref": "#/definitions/AWS_OpsWorks_Instance" + "$ref": "#/definitions/AWS_MediaLive_SignalMap" }, { - "$ref": "#/definitions/AWS_StepFunctions_StateMachine" + "$ref": "#/definitions/AWS_IoT1Click_Device" }, { - "$ref": "#/definitions/AWS_ServiceCatalog_ServiceAction" + "$ref": "#/definitions/AWS_Glue_TableOptimizer" }, { - "$ref": "#/definitions/AWS_LicenseManager_Grant" + "$ref": "#/definitions/AWS_IoTThingsGraph_FlowTemplate" }, { - "$ref": "#/definitions/AWS_MemoryDB_Cluster" + "$ref": "#/definitions/AWS_Kendra_DataSource" }, { - "$ref": "#/definitions/AWS_SageMaker_Model" + "$ref": "#/definitions/AWS_SSM_PatchBaseline" }, { - "$ref": "#/definitions/AWS_Transfer_Workflow" + "$ref": "#/definitions/AWS_AppStream_Application" }, { - "$ref": "#/definitions/AWS_DirectoryService_MicrosoftAD" + "$ref": "#/definitions/AWS_FSx_Volume" }, { - "$ref": "#/definitions/AWS_MediaConnect_FlowSource" + "$ref": "#/definitions/AWS_Route53RecoveryReadiness_Cell" }, { - "$ref": "#/definitions/AWS_Cognito_UserPoolResourceServer" + "$ref": "#/definitions/AWS_MediaLive_InputSecurityGroup" }, { - "$ref": "#/definitions/AWS_Cassandra_Keyspace" + "$ref": "#/definitions/AWS_IoTSiteWise_Portal" }, { - "$ref": "#/definitions/AWS_EC2_VerifiedAccessTrustProvider" + "$ref": "#/definitions/AWS_Inspector_AssessmentTemplate" }, { - "$ref": "#/definitions/AWS_CloudFront_Function" + "$ref": "#/definitions/AWS_SageMaker_Workteam" }, { - "$ref": "#/definitions/AWS_Cognito_LogDeliveryConfiguration" + "$ref": "#/definitions/AWS_SSO_PermissionSet" }, { - "$ref": "#/definitions/AWS_Route53RecoveryReadiness_ResourceSet" + "$ref": "#/definitions/AWS_AppStream_Entitlement" }, { - "$ref": "#/definitions/AWS_S3Express_BucketPolicy" + "$ref": "#/definitions/AWS_GuardDuty_Detector" }, { - "$ref": "#/definitions/AWS_CloudTrail_ResourcePolicy" + "$ref": "#/definitions/AWS_ApiGateway_ClientCertificate" }, { - "$ref": "#/definitions/AWS_RedshiftServerless_Workgroup" + "$ref": "#/definitions/AWS_EC2_IPAMAllocation" }, { - "$ref": "#/definitions/AWS_VerifiedPermissions_Policy" + "$ref": "#/definitions/AWS_Deadline_QueueEnvironment" }, { - "$ref": "#/definitions/AWS_IoTAnalytics_Channel" + "$ref": "#/definitions/AWS_Evidently_Experiment" }, { - "$ref": "#/definitions/AWS_CloudFormation_Macro" + "$ref": "#/definitions/AWS_Config_ConfigurationRecorder" }, { - "$ref": "#/definitions/AWS_ServiceCatalog_ResourceUpdateConstraint" + "$ref": "#/definitions/AWS_EC2_NetworkInterface" }, { - "$ref": "#/definitions/AWS_DirectoryService_SimpleAD" + "$ref": "#/definitions/AWS_SecurityHub_SecurityControl" }, { - "$ref": "#/definitions/AWS_WorkSpacesWeb_IdentityProvider" + "$ref": "#/definitions/AWS_Backup_BackupPlan" }, { - "$ref": "#/definitions/AWS_Lightsail_StaticIp" + "$ref": "#/definitions/AWS_RoboMaker_RobotApplication" }, { - "$ref": "#/definitions/AWS_EC2_EnclaveCertificateIamRoleAssociation" + "$ref": "#/definitions/AWS_SES_MailManagerTrafficPolicy" }, { - "$ref": "#/definitions/AWS_QuickSight_Folder" + "$ref": "#/definitions/AWS_PCAConnectorAD_ServicePrincipalName" }, { - "$ref": "#/definitions/AWS_EC2_VolumeAttachment" + "$ref": "#/definitions/AWS_KafkaConnect_CustomPlugin" }, { - "$ref": "#/definitions/AWS_EC2_SubnetNetworkAclAssociation" + "$ref": "#/definitions/AWS_MSK_Cluster" }, { - "$ref": "#/definitions/AWS_S3_MultiRegionAccessPoint" + "$ref": "#/definitions/AWS_Bedrock_KnowledgeBase" }, { - "$ref": "#/definitions/AWS_Connect_UserHierarchyGroup" + "$ref": "#/definitions/AWS_IoTWireless_TaskDefinition" }, { - "$ref": "#/definitions/AWS_Route53Resolver_FirewallDomainList" + "$ref": "#/definitions/AWS_CodePipeline_Webhook" }, { - "$ref": "#/definitions/AWS_RoboMaker_RobotApplicationVersion" + "$ref": "#/definitions/AWS_EC2_LocalGatewayRoute" }, { - "$ref": "#/definitions/AWS_EC2_IPAMResourceDiscovery" + "$ref": "#/definitions/AWS_EC2_Host" }, { - "$ref": "#/definitions/AWS_Evidently_Feature" + "$ref": "#/definitions/AWS_Neptune_DBClusterParameterGroup" }, { - "$ref": "#/definitions/AWS_Lambda_Url" + "$ref": "#/definitions/AWS_Deadline_StorageProfile" }, { - "$ref": "#/definitions/AWS_Glue_DataCatalogEncryptionSettings" + "$ref": "#/definitions/AWS_OpsWorks_UserProfile" }, { - "$ref": "#/definitions/AWS_APS_Workspace" + "$ref": "#/definitions/AWS_LookoutVision_Project" }, { - "$ref": "#/definitions/AWS_LaunchWizard_Deployment" + "$ref": "#/definitions/AWS_Proton_EnvironmentAccountConnection" }, { - "$ref": "#/definitions/AWS_ApiGatewayV2_ApiGatewayManagedOverrides" + "$ref": "#/definitions/AWS_KinesisAnalytics_ApplicationOutput" }, { - "$ref": "#/definitions/AWS_WorkSpaces_Workspace" + "$ref": "#/definitions/AWS_PinpointEmail_ConfigurationSet" }, { - "$ref": "#/definitions/AWS_RefactorSpaces_Application" + "$ref": "#/definitions/AWS_Connect_ContactFlowModule" }, { - "$ref": "#/definitions/AWS_CloudTrail_Trail" + "$ref": "#/definitions/AWS_SSMIncidents_ReplicationSet" }, { - "$ref": "#/definitions/AWS_WAFRegional_WebACLAssociation" + "$ref": "#/definitions/AWS_Config_ConfigurationAggregator" }, { - "$ref": "#/definitions/AWS_Route53Resolver_FirewallRuleGroupAssociation" + "$ref": "#/definitions/AWS_RDS_CustomDBEngineVersion" }, { - "$ref": "#/definitions/AWS_EC2_VPCEndpointServicePermissions" + "$ref": "#/definitions/AWS_EC2_IPAMScope" }, { - "$ref": "#/definitions/AWS_IoTEvents_DetectorModel" + "$ref": "#/definitions/AWS_AutoScaling_LaunchConfiguration" }, { - "$ref": "#/definitions/AWS_Location_RouteCalculator" + "$ref": "#/definitions/AWS_CloudWatch_Dashboard" }, { - "$ref": "#/definitions/AWS_QLDB_Ledger" + "$ref": "#/definitions/AWS_EC2_VPCDHCPOptionsAssociation" }, { - "$ref": "#/definitions/AWS_SageMaker_MlflowTrackingServer" + "$ref": "#/definitions/AWS_CloudFormation_HookDefaultVersion" }, { - "$ref": "#/definitions/AWS_DataZone_ProjectMembership" + "$ref": "#/definitions/AWS_Amplify_Domain" }, { - "$ref": "#/definitions/AWS_SageMaker_CodeRepository" + "$ref": "#/definitions/AWS_ApiGateway_ApiKey" }, { - "$ref": "#/definitions/AWS_PaymentCryptography_Alias" + "$ref": "#/definitions/AWS_CloudWatch_InsightRule" }, { - "$ref": "#/definitions/AWS_GameLift_Alias" + "$ref": "#/definitions/AWS_RAM_Permission" }, { - "$ref": "#/definitions/AWS_RoboMaker_SimulationApplication" + "$ref": "#/definitions/AWS_CloudFront_MonitoringSubscription" }, { - "$ref": "#/definitions/AWS_AppIntegrations_Application" + "$ref": "#/definitions/AWS_Chatbot_MicrosoftTeamsChannelConfiguration" }, { - "$ref": "#/definitions/AWS_EC2_NetworkInsightsPath" + "$ref": "#/definitions/AWS_Lightsail_Container" }, { - "$ref": "#/definitions/AWS_APS_RuleGroupsNamespace" + "$ref": "#/definitions/AWS_IVS_EncoderConfiguration" }, { - "$ref": "#/definitions/AWS_IVS_Stage" + "$ref": "#/definitions/AWS_CodeDeploy_DeploymentConfig" }, { - "$ref": "#/definitions/AWS_MediaPackageV2_Channel" + "$ref": "#/definitions/AWS_NetworkManager_SiteToSiteVpnAttachment" }, { - "$ref": "#/definitions/AWS_Lightsail_Alarm" + "$ref": "#/definitions/AWS_AppConfig_ExtensionAssociation" }, { - "$ref": "#/definitions/AWS_Logs_QueryDefinition" + "$ref": "#/definitions/AWS_BillingConductor_PricingRule" }, { - "$ref": "#/definitions/AWS_Pipes_Pipe" + "$ref": "#/definitions/AWS_ImageBuilder_LifecyclePolicy" }, { - "$ref": "#/definitions/AWS_ApiGatewayV2_Authorizer" + "$ref": "#/definitions/AWS_B2BI_Profile" }, { - "$ref": "#/definitions/AWS_QBusiness_DataSource" + "$ref": "#/definitions/AWS_PCAConnectorSCEP_Challenge" }, { - "$ref": "#/definitions/AWS_Lambda_Permission" + "$ref": "#/definitions/AWS_EKS_FargateProfile" }, { - "$ref": "#/definitions/AWS_LakeFormation_Tag" + "$ref": "#/definitions/AWS_Neptune_DBParameterGroup" }, { - "$ref": "#/definitions/AWS_Proton_EnvironmentAccountConnection" + "$ref": "#/definitions/AWS_Lambda_LayerVersionPermission" }, { - "$ref": "#/definitions/AWS_ElastiCache_User" + "$ref": "#/definitions/AWS_IoT_Dimension" }, { - "$ref": "#/definitions/AWS_MediaConvert_Preset" + "$ref": "#/definitions/AWS_SageMaker_Cluster" }, { - "$ref": "#/definitions/AWS_AppMesh_Route" + "$ref": "#/definitions/AWS_APS_Scraper" }, { - "$ref": "#/definitions/AWS_ApiGateway_RequestValidator" + "$ref": "#/definitions/AWS_CloudTrail_Channel" }, { - "$ref": "#/definitions/AWS_ServiceCatalog_TagOptionAssociation" + "$ref": "#/definitions/AWS_Cassandra_Keyspace" }, { - "$ref": "#/definitions/AWS_RDS_DBProxy" + "$ref": "#/definitions/AWS_Transfer_Profile" }, { - "$ref": "#/definitions/AWS_Route53_RecordSet" + "$ref": "#/definitions/AWS_DataBrew_Schedule" }, { - "$ref": "#/definitions/AWS_VerifiedPermissions_IdentitySource" + "$ref": "#/definitions/AWS_Connect_InstanceStorageConfig" }, { - "$ref": "#/definitions/AWS_Wisdom_Assistant" + "$ref": "#/definitions/AWS_QuickSight_Theme" }, { - "$ref": "#/definitions/AWS_Config_ConfigurationAggregator" + "$ref": "#/definitions/AWS_Comprehend_Flywheel" }, { - "$ref": "#/definitions/AWS_ResilienceHub_ResiliencyPolicy" + "$ref": "#/definitions/AWS_VpcLattice_AuthPolicy" }, { - "$ref": "#/definitions/AWS_MSK_Cluster" + "$ref": "#/definitions/AWS_LakeFormation_DataCellsFilter" }, { - "$ref": "#/definitions/AWS_MediaTailor_Channel" + "$ref": "#/definitions/AWS_EC2_IPAM" }, { - "$ref": "#/definitions/AWS_IoTTwinMaker_SyncJob" + "$ref": "#/definitions/AWS_BackupGateway_Hypervisor" }, { - "$ref": "#/definitions/AWS_Connect_User" + "$ref": "#/definitions/AWS_RDS_Integration" }, { - "$ref": "#/definitions/AWS_SageMaker_AppImageConfig" + "$ref": "#/definitions/AWS_SES_MailManagerArchive" }, { - "$ref": "#/definitions/AWS_ECS_PrimaryTaskSet" + "$ref": "#/definitions/AWS_DataZone_GroupProfile" }, { - "$ref": "#/definitions/AWS_EC2_NetworkAcl" + "$ref": "#/definitions/AWS_SecurityLake_Subscriber" }, { - "$ref": "#/definitions/AWS_B2BI_Capability" + "$ref": "#/definitions/AWS_Evidently_Launch" }, { - "$ref": "#/definitions/AWS_Bedrock_Agent" + "$ref": "#/definitions/AWS_IoTFleetWise_ModelManifest" }, { - "$ref": "#/definitions/AWS_SecretsManager_SecretTargetAttachment" + "$ref": "#/definitions/AWS_Cognito_IdentityPool" }, { - "$ref": "#/definitions/AWS_BCMDataExports_Export" + "$ref": "#/definitions/AWS_Macie_AllowList" }, { - "$ref": "#/definitions/AWS_EC2_TransitGatewayRouteTablePropagation" + "$ref": "#/definitions/AWS_RoboMaker_Fleet" }, { - "$ref": "#/definitions/AWS_SageMaker_ImageVersion" + "$ref": "#/definitions/AWS_GuardDuty_Master" }, { - "$ref": "#/definitions/AWS_APS_Scraper" + "$ref": "#/definitions/AWS_EC2_SubnetNetworkAclAssociation" }, { - "$ref": "#/definitions/AWS_LookoutMetrics_AnomalyDetector" + "$ref": "#/definitions/AWS_KinesisAnalyticsV2_ApplicationReferenceDataSource" }, { - "$ref": "#/definitions/AWS_ManagedBlockchain_Member" + "$ref": "#/definitions/AWS_SecurityHub_Standard" }, { - "$ref": "#/definitions/AWS_Greengrass_CoreDefinitionVersion" + "$ref": "#/definitions/AWS_EC2_PrefixList" }, { - "$ref": "#/definitions/AWS_GameLift_MatchmakingRuleSet" + "$ref": "#/definitions/AWS_GameLift_ContainerGroupDefinition" }, { - "$ref": "#/definitions/AWS_Greengrass_FunctionDefinition" + "$ref": "#/definitions/AWS_RefactorSpaces_Route" }, { - "$ref": "#/definitions/AWS_DMS_EventSubscription" + "$ref": "#/definitions/AWS_Macie_Session" }, { - "$ref": "#/definitions/AWS_Greengrass_ResourceDefinition" + "$ref": "#/definitions/AWS_StepFunctions_StateMachineVersion" }, { - "$ref": "#/definitions/AWS_ElastiCache_ParameterGroup" + "$ref": "#/definitions/AWS_SecurityLake_SubscriberNotification" }, { - "$ref": "#/definitions/AWS_CleanRooms_IdNamespaceAssociation" + "$ref": "#/definitions/AWS_PCAConnectorSCEP_Connector" }, { - "$ref": "#/definitions/AWS_ImageBuilder_Workflow" + "$ref": "#/definitions/AWS_LookoutMetrics_AnomalyDetector" }, { - "$ref": "#/definitions/AWS_Greengrass_Group" + "$ref": "#/definitions/AWS_Config_OrganizationConfigRule" }, { - "$ref": "#/definitions/AWS_WAFv2_WebACL" + "$ref": "#/definitions/AWS_CloudFormation_Publisher" }, { - "$ref": "#/definitions/AWS_SES_MailManagerTrafficPolicy" + "$ref": "#/definitions/AWS_SecretsManager_SecretTargetAttachment" }, { - "$ref": "#/definitions/AWS_ServiceCatalogAppRegistry_AttributeGroupAssociation" + "$ref": "#/definitions/AWS_DynamoDB_GlobalTable" }, { - "$ref": "#/definitions/AWS_EC2_NatGateway" + "$ref": "#/definitions/AWS_IoT_ResourceSpecificLogging" }, { - "$ref": "#/definitions/AWS_EC2_TransitGatewayPeeringAttachment" + "$ref": "#/definitions/AWS_WAFRegional_SqlInjectionMatchSet" }, { - "$ref": "#/definitions/AWS_ServiceCatalog_TagOption" + "$ref": "#/definitions/AWS_EC2_VerifiedAccessGroup" }, { - "$ref": "#/definitions/AWS_LakeFormation_Permissions" + "$ref": "#/definitions/AWS_DataBrew_Recipe" }, { - "$ref": "#/definitions/AWS_EC2_VerifiedAccessInstance" + "$ref": "#/definitions/AWS_DataSync_LocationSMB" }, { - "$ref": "#/definitions/AWS_DMS_Certificate" + "$ref": "#/definitions/AWS_ServiceDiscovery_HttpNamespace" }, { - "$ref": "#/definitions/AWS_Neptune_DBInstance" + "$ref": "#/definitions/AWS_SSM_MaintenanceWindowTarget" }, { - "$ref": "#/definitions/AWS_Backup_RestoreTestingPlan" + "$ref": "#/definitions/AWS_SageMaker_NotebookInstanceLifecycleConfig" }, { - "$ref": "#/definitions/AWS_EC2_SecurityGroup" + "$ref": "#/definitions/AWS_Greengrass_DeviceDefinition" }, { - "$ref": "#/definitions/AWS_NetworkManager_ConnectAttachment" + "$ref": "#/definitions/AWS_RDS_DBSubnetGroup" }, { - "$ref": "#/definitions/AWS_WAFRegional_GeoMatchSet" + "$ref": "#/definitions/AWS_EC2_LocalGatewayRouteTable" }, { - "$ref": "#/definitions/AWS_Lambda_LayerVersion" + "$ref": "#/definitions/AWS_SSO_ApplicationAssignment" }, { - "$ref": "#/definitions/AWS_RefactorSpaces_Route" + "$ref": "#/definitions/AWS_Location_GeofenceCollection" }, { - "$ref": "#/definitions/AWS_Connect_IntegrationAssociation" + "$ref": "#/definitions/AWS_EC2_TransitGatewayMulticastDomainAssociation" }, { - "$ref": "#/definitions/AWS_FSx_FileSystem" + "$ref": "#/definitions/AWS_DocDB_DBCluster" }, { - "$ref": "#/definitions/AWS_EC2_LaunchTemplate" + "$ref": "#/definitions/AWS_Bedrock_GuardrailVersion" }, { - "$ref": "#/definitions/AWS_NetworkFirewall_LoggingConfiguration" + "$ref": "#/definitions/AWS_Kendra_Index" }, { - "$ref": "#/definitions/AWS_ApiGateway_Method" + "$ref": "#/definitions/AWS_NetworkManager_Device" }, { - "$ref": "#/definitions/AWS_RDS_DBParameterGroup" + "$ref": "#/definitions/AWS_SageMaker_Domain" }, { - "$ref": "#/definitions/AWS_CodeBuild_Project" + "$ref": "#/definitions/AWS_Evidently_Feature" }, { - "$ref": "#/definitions/AWS_Events_Archive" + "$ref": "#/definitions/AWS_S3_StorageLens" }, { - "$ref": "#/definitions/AWS_IoTWireless_MulticastGroup" + "$ref": "#/definitions/AWS_VpcLattice_TargetGroup" }, { - "$ref": "#/definitions/AWS_Lambda_EventSourceMapping" + "$ref": "#/definitions/AWS_AppStream_User" }, { - "$ref": "#/definitions/AWS_VpcLattice_AuthPolicy" + "$ref": "#/definitions/AWS_PCAConnectorAD_Template" }, { - "$ref": "#/definitions/AWS_DataSync_LocationEFS" + "$ref": "#/definitions/AWS_Personalize_Dataset" }, { - "$ref": "#/definitions/AWS_OpenSearchServerless_SecurityConfig" + "$ref": "#/definitions/AWS_IAM_Policy" }, { - "$ref": "#/definitions/AWS_SSMContacts_Contact" + "$ref": "#/definitions/AWS_Wisdom_AssistantAssociation" }, { - "$ref": "#/definitions/Alexa_ASK_Skill" + "$ref": "#/definitions/AWS_Athena_CapacityReservation" }, { - "$ref": "#/definitions/AWS_IAM_RolePolicy" + "$ref": "#/definitions/AWS_PinpointEmail_DedicatedIpPool" }, { - "$ref": "#/definitions/AWS_MemoryDB_ACL" + "$ref": "#/definitions/AWS_AppSync_DomainNameApiAssociation" }, { - "$ref": "#/definitions/AWS_AppSync_GraphQLApi" + "$ref": "#/definitions/AWS_Route53Resolver_ResolverRuleAssociation" }, { - "$ref": "#/definitions/AWS_IoT_Policy" + "$ref": "#/definitions/AWS_AppConfig_Deployment" }, { - "$ref": "#/definitions/AWS_EKS_Cluster" + "$ref": "#/definitions/AWS_QBusiness_Plugin" }, { - "$ref": "#/definitions/AWS_XRay_ResourcePolicy" + "$ref": "#/definitions/AWS_EC2_SecurityGroup" }, { - "$ref": "#/definitions/AWS_Backup_RestoreTestingSelection" + "$ref": "#/definitions/AWS_VerifiedPermissions_Policy" }, { - "$ref": "#/definitions/AWS_Lambda_Function" + "$ref": "#/definitions/AWS_SageMaker_DeviceFleet" }, { - "$ref": "#/definitions/AWS_CE_AnomalySubscription" + "$ref": "#/definitions/AWS_MediaConnect_BridgeSource" }, { - "$ref": "#/definitions/AWS_KMS_Alias" + "$ref": "#/definitions/AWS_Lambda_Version" }, { - "$ref": "#/definitions/AWS_EC2_NetworkAclEntry" + "$ref": "#/definitions/AWS_IAM_ServiceLinkedRole" }, { - "$ref": "#/definitions/AWS_ApiGatewayV2_RouteResponse" + "$ref": "#/definitions/AWS_IoT_RoleAlias" }, { - "$ref": "#/definitions/AWS_Lightsail_LoadBalancer" + "$ref": "#/definitions/AWS_SecurityHub_OrganizationConfiguration" }, { - "$ref": "#/definitions/AWS_EC2_RouteTable" + "$ref": "#/definitions/AWS_EC2_CapacityReservation" }, { - "$ref": "#/definitions/AWS_ElastiCache_ReplicationGroup" + "$ref": "#/definitions/AWS_ServiceCatalog_Portfolio" }, { - "$ref": "#/definitions/AWS_AppStream_AppBlockBuilder" + "$ref": "#/definitions/AWS_Cognito_UserPoolResourceServer" }, { - "$ref": "#/definitions/AWS_Synthetics_Group" + "$ref": "#/definitions/AWS_DocDB_DBClusterParameterGroup" }, { - "$ref": "#/definitions/AWS_S3_AccessGrantsInstance" + "$ref": "#/definitions/AWS_StepFunctions_StateMachine" }, { - "$ref": "#/definitions/AWS_MediaPackage_OriginEndpoint" + "$ref": "#/definitions/AWS_PinpointEmail_ConfigurationSetEventDestination" }, { - "$ref": "#/definitions/AWS_FinSpace_Environment" + "$ref": "#/definitions/AWS_VoiceID_Domain" }, { - "$ref": "#/definitions/AWS_WAFv2_IPSet" + "$ref": "#/definitions/AWS_FraudDetector_List" }, { - "$ref": "#/definitions/AWS_Route53_RecordSetGroup" + "$ref": "#/definitions/AWS_GlobalAccelerator_Accelerator" }, { - "$ref": "#/definitions/AWS_EKS_Nodegroup" + "$ref": "#/definitions/AWS_Pinpoint_GCMChannel" }, { - "$ref": "#/definitions/AWS_AmazonMQ_Broker" + "$ref": "#/definitions/AWS_SageMaker_ModelCard" }, { - "$ref": "#/definitions/AWS_IAM_ServiceLinkedRole" + "$ref": "#/definitions/AWS_MediaLive_Multiplex" }, { - "$ref": "#/definitions/AWS_DataZone_EnvironmentActions" + "$ref": "#/definitions/AWS_IoT_ProvisioningTemplate" }, { - "$ref": "#/definitions/AWS_Greengrass_ConnectorDefinition" + "$ref": "#/definitions/AWS_Config_OrganizationConformancePack" }, { - "$ref": "#/definitions/AWS_EC2_EgressOnlyInternetGateway" + "$ref": "#/definitions/AWS_EC2_FlowLog" }, { - "$ref": "#/definitions/AWS_EntityResolution_MatchingWorkflow" + "$ref": "#/definitions/AWS_AutoScaling_AutoScalingGroup" }, { - "$ref": "#/definitions/AWS_LicenseManager_License" + "$ref": "#/definitions/AWS_RAM_ResourceShare" }, { - "$ref": "#/definitions/AWS_SageMaker_Space" + "$ref": "#/definitions/AWS_EC2_CustomerGateway" }, { - "$ref": "#/definitions/AWS_IoTFleetWise_DecoderManifest" + "$ref": "#/definitions/AWS_Grafana_Workspace" }, { - "$ref": "#/definitions/AWS_RDS_DBInstance" + "$ref": "#/definitions/AWS_AppMesh_GatewayRoute" }, { - "$ref": "#/definitions/AWS_NetworkManager_VpcAttachment" + "$ref": "#/definitions/AWS_FraudDetector_Outcome" }, { - "$ref": "#/definitions/AWS_Connect_ApprovedOrigin" + "$ref": "#/definitions/AWS_FraudDetector_Label" }, { - "$ref": "#/definitions/AWS_MemoryDB_ParameterGroup" + "$ref": "#/definitions/AWS_Bedrock_PromptVersion" }, { - "$ref": "#/definitions/AWS_RoboMaker_SimulationApplicationVersion" + "$ref": "#/definitions/AWS_Cognito_UserPool" }, { - "$ref": "#/definitions/AWS_ServiceCatalog_LaunchTemplateConstraint" + "$ref": "#/definitions/AWS_ServiceDiscovery_PrivateDnsNamespace" }, { - "$ref": "#/definitions/AWS_GlobalAccelerator_Accelerator" + "$ref": "#/definitions/AWS_IoT_CACertificate" }, { - "$ref": "#/definitions/AWS_Glue_Crawler" + "$ref": "#/definitions/AWS_Elasticsearch_Domain" }, { - "$ref": "#/definitions/AWS_CodeArtifact_Domain" + "$ref": "#/definitions/AWS_ElasticLoadBalancingV2_Listener" }, { - "$ref": "#/definitions/AWS_Glue_MLTransform" + "$ref": "#/definitions/AWS_Bedrock_Guardrail" }, { - "$ref": "#/definitions/AWS_QuickSight_DataSet" + "$ref": "#/definitions/AWS_IoTAnalytics_Pipeline" }, { - "$ref": "#/definitions/AWS_EC2_TrafficMirrorFilterRule" + "$ref": "#/definitions/AWS_SecurityHub_Hub" }, { - "$ref": "#/definitions/AWS_Glue_Schema" + "$ref": "#/definitions/AWS_Greengrass_Group" }, { - "$ref": "#/definitions/AWS_EC2_IPAMPool" + "$ref": "#/definitions/AWS_SSO_Application" }, { - "$ref": "#/definitions/AWS_NetworkManager_LinkAssociation" + "$ref": "#/definitions/AWS_MediaTailor_LiveSource" }, { - "$ref": "#/definitions/AWS_Batch_ComputeEnvironment" + "$ref": "#/definitions/AWS_IoTTwinMaker_Scene" }, { - "$ref": "#/definitions/AWS_WorkSpacesThinClient_Environment" + "$ref": "#/definitions/AWS_Cognito_UserPoolIdentityProvider" }, { - "$ref": "#/definitions/AWS_DataSync_Task" + "$ref": "#/definitions/AWS_CloudFront_ContinuousDeploymentPolicy" }, { - "$ref": "#/definitions/AWS_LakeFormation_TagAssociation" + "$ref": "#/definitions/AWS_SQS_QueueInlinePolicy" }, { - "$ref": "#/definitions/AWS_CustomerProfiles_Domain" + "$ref": "#/definitions/AWS_ServiceCatalog_ServiceActionAssociation" }, { - "$ref": "#/definitions/AWS_GameLift_ContainerGroupDefinition" + "$ref": "#/definitions/AWS_SSMContacts_Rotation" }, { - "$ref": "#/definitions/AWS_MediaLive_Network" + "$ref": "#/definitions/AWS_KendraRanking_ExecutionPlan" }, { - "$ref": "#/definitions/AWS_RDS_DBProxyEndpoint" + "$ref": "#/definitions/AWS_Connect_SecurityKey" }, { - "$ref": "#/definitions/AWS_CodeDeploy_DeploymentGroup" + "$ref": "#/definitions/AWS_Connect_Instance" }, { - "$ref": "#/definitions/AWS_IoT_CertificateProvider" + "$ref": "#/definitions/AWS_KinesisAnalyticsV2_Application" }, { - "$ref": "#/definitions/AWS_ServiceCatalogAppRegistry_Application" + "$ref": "#/definitions/AWS_WAFRegional_RateBasedRule" }, { - "$ref": "#/definitions/AWS_DataPipeline_Pipeline" + "$ref": "#/definitions/AWS_Pinpoint_APNSVoipChannel" }, { - "$ref": "#/definitions/AWS_WAFv2_LoggingConfiguration" + "$ref": "#/definitions/AWS_IoTWireless_WirelessDevice" }, { - "$ref": "#/definitions/AWS_SageMaker_Workteam" + "$ref": "#/definitions/AWS_AppTest_TestCase" }, { - "$ref": "#/definitions/AWS_SSMIncidents_ReplicationSet" + "$ref": "#/definitions/AWS_IoTFleetWise_Fleet" }, { - "$ref": "#/definitions/AWS_GuardDuty_Detector" + "$ref": "#/definitions/AWS_MediaLive_SdiSource" }, { - "$ref": "#/definitions/AWS_DocDB_EventSubscription" + "$ref": "#/definitions/AWS_ServiceCatalogAppRegistry_Application" }, { - "$ref": "#/definitions/AWS_IoT_FleetMetric" + "$ref": "#/definitions/AWS_Connect_Queue" }, { - "$ref": "#/definitions/AWS_Pinpoint_App" + "$ref": "#/definitions/AWS_Lambda_Url" }, { - "$ref": "#/definitions/AWS_WAF_IPSet" + "$ref": "#/definitions/AWS_Route53_CidrCollection" }, { - "$ref": "#/definitions/AWS_ElastiCache_SecurityGroupIngress" + "$ref": "#/definitions/AWS_EntityResolution_MatchingWorkflow" }, { - "$ref": "#/definitions/AWS_Deadline_Queue" + "$ref": "#/definitions/AWS_EC2_KeyPair" }, { - "$ref": "#/definitions/AWS_Events_Endpoint" + "$ref": "#/definitions/AWS_CloudFormation_ResourceDefaultVersion" }, { - "$ref": "#/definitions/AWS_DataSync_LocationObjectStorage" + "$ref": "#/definitions/AWS_S3Express_DirectoryBucket" }, { - "$ref": "#/definitions/AWS_SES_MailManagerAddonSubscription" + "$ref": "#/definitions/AWS_CloudFormation_GuardHook" }, { - "$ref": "#/definitions/AWS_SNS_Topic" + "$ref": "#/definitions/AWS_StepFunctions_Activity" }, { - "$ref": "#/definitions/AWS_QuickSight_DataSource" + "$ref": "#/definitions/AWS_DataSync_Task" }, { - "$ref": "#/definitions/AWS_KinesisAnalyticsV2_ApplicationOutput" + "$ref": "#/definitions/AWS_EMR_WALWorkspace" }, { - "$ref": "#/definitions/AWS_Bedrock_GuardrailVersion" + "$ref": "#/definitions/AWS_AppConfig_Environment" }, { - "$ref": "#/definitions/AWS_ManagedBlockchain_Accessor" + "$ref": "#/definitions/AWS_CUR_ReportDefinition" }, { - "$ref": "#/definitions/AWS_KinesisAnalytics_Application" + "$ref": "#/definitions/AWS_RefactorSpaces_Application" }, { - "$ref": "#/definitions/AWS_DataSync_StorageSystem" + "$ref": "#/definitions/AWS_BCMDataExports_Export" }, { - "$ref": "#/definitions/AWS_AppRunner_AutoScalingConfiguration" + "$ref": "#/definitions/AWS_IoTCoreDeviceAdvisor_SuiteDefinition" }, { - "$ref": "#/definitions/AWS_NeptuneGraph_Graph" + "$ref": "#/definitions/AWS_EC2_Subnet" }, { - "$ref": "#/definitions/AWS_RefactorSpaces_Service" + "$ref": "#/definitions/AWS_MemoryDB_SubnetGroup" }, { - "$ref": "#/definitions/AWS_ECS_CapacityProvider" + "$ref": "#/definitions/AWS_Scheduler_Schedule" }, { - "$ref": "#/definitions/AWS_WAF_ByteMatchSet" + "$ref": "#/definitions/AWS_Backup_LogicallyAirGappedBackupVault" }, { - "$ref": "#/definitions/AWS_Route53RecoveryControl_ControlPanel" + "$ref": "#/definitions/AWS_Route53Resolver_FirewallDomainList" }, { - "$ref": "#/definitions/AWS_Greengrass_SubscriptionDefinition" + "$ref": "#/definitions/AWS_Oam_Link" }, { - "$ref": "#/definitions/AWS_Redshift_ClusterSecurityGroupIngress" + "$ref": "#/definitions/AWS_WAF_SqlInjectionMatchSet" }, { - "$ref": "#/definitions/AWS_Route53Resolver_ResolverQueryLoggingConfigAssociation" + "$ref": "#/definitions/AWS_CodeStarConnections_SyncConfiguration" }, { - "$ref": "#/definitions/AWS_Deadline_Monitor" + "$ref": "#/definitions/AWS_DataZone_EnvironmentProfile" }, { - "$ref": "#/definitions/AWS_IVSChat_Room" + "$ref": "#/definitions/AWS_EMR_InstanceFleetConfig" }, { - "$ref": "#/definitions/AWS_Deadline_QueueFleetAssociation" + "$ref": "#/definitions/AWS_FinSpace_Environment" }, { - "$ref": "#/definitions/AWS_WAFRegional_RegexPatternSet" + "$ref": "#/definitions/AWS_ElastiCache_GlobalReplicationGroup" }, { - "$ref": "#/definitions/AWS_SSM_Parameter" + "$ref": "#/definitions/AWS_IAM_UserPolicy" }, { - "$ref": "#/definitions/AWS_Bedrock_Guardrail" + "$ref": "#/definitions/AWS_Signer_ProfilePermission" }, { - "$ref": "#/definitions/AWS_AppSync_GraphQLSchema" + "$ref": "#/definitions/AWS_Cognito_UserPoolUserToGroupAttachment" }, { - "$ref": "#/definitions/AWS_CloudTrail_Channel" + "$ref": "#/definitions/AWS_Lambda_CodeSigningConfig" }, { - "$ref": "#/definitions/AWS_ServiceCatalog_LaunchRoleConstraint" + "$ref": "#/definitions/AWS_Lightsail_Instance" }, { - "$ref": "#/definitions/AWS_Route53Resolver_FirewallRuleGroup" + "$ref": "#/definitions/AWS_IoT_ScheduledAudit" }, { - "$ref": "#/definitions/AWS_EC2_NetworkInsightsAccessScope" + "$ref": "#/definitions/AWS_CleanRooms_IdNamespaceAssociation" }, { - "$ref": "#/definitions/AWS_SageMaker_UserProfile" + "$ref": "#/definitions/AWS_EventSchemas_RegistryPolicy" }, { - "$ref": "#/definitions/AWS_CodePipeline_Webhook" + "$ref": "#/definitions/AWS_QBusiness_Index" }, { - "$ref": "#/definitions/AWS_CodeStarNotifications_NotificationRule" + "$ref": "#/definitions/AWS_ARCZonalShift_ZonalAutoshiftConfiguration" }, { - "$ref": "#/definitions/AWS_EC2_Instance" + "$ref": "#/definitions/AWS_CodeBuild_Fleet" }, { - "$ref": "#/definitions/AWS_EC2_EIP" + "$ref": "#/definitions/AWS_Greengrass_ConnectorDefinitionVersion" }, { - "$ref": "#/definitions/AWS_AutoScaling_LifecycleHook" + "$ref": "#/definitions/AWS_IVS_PlaybackKeyPair" }, { - "$ref": "#/definitions/AWS_RDS_OptionGroup" + "$ref": "#/definitions/AWS_AmplifyUIBuilder_Theme" }, { - "$ref": "#/definitions/AWS_EC2_InstanceConnectEndpoint" + "$ref": "#/definitions/AWS_ApiGatewayV2_Deployment" }, { - "$ref": "#/definitions/AWS_RolesAnywhere_TrustAnchor" + "$ref": "#/definitions/AWS_ElastiCache_ReplicationGroup" }, { - "$ref": "#/definitions/AWS_WAF_WebACL" + "$ref": "#/definitions/AWS_EC2_TrafficMirrorSession" }, { - "$ref": "#/definitions/AWS_EMR_SecurityConfiguration" + "$ref": "#/definitions/AWS_ACMPCA_Certificate" }, { - "$ref": "#/definitions/AWS_ControlTower_EnabledControl" + "$ref": "#/definitions/AWS_QBusiness_WebExperience" }, { - "$ref": "#/definitions/AWS_EC2_ClientVpnEndpoint" + "$ref": "#/definitions/AWS_EC2_IPAMPool" }, { - "$ref": "#/definitions/AWS_Connect_ViewVersion" + "$ref": "#/definitions/AWS_ApiGateway_Stage" }, { - "$ref": "#/definitions/AWS_Glue_Connection" + "$ref": "#/definitions/AWS_ApiGatewayV2_Authorizer" }, { - "$ref": "#/definitions/AWS_OpenSearchServerless_LifecyclePolicy" + "$ref": "#/definitions/AWS_AppSync_Resolver" }, { - "$ref": "#/definitions/AWS_Bedrock_FlowVersion" + "$ref": "#/definitions/AWS_CloudTrail_EventDataStore" }, { - "$ref": "#/definitions/AWS_Elasticsearch_Domain" + "$ref": "#/definitions/AWS_ElastiCache_ServerlessCache" }, { - "$ref": "#/definitions/AWS_Lex_ResourcePolicy" + "$ref": "#/definitions/AWS_Pinpoint_EventStream" }, { - "$ref": "#/definitions/AWS_DMS_InstanceProfile" + "$ref": "#/definitions/AWS_EC2_LocalGatewayRouteTableVirtualInterfaceGroupAssociation" }, { - "$ref": "#/definitions/AWS_SecretsManager_RotationSchedule" + "$ref": "#/definitions/AWS_RDS_GlobalCluster" }, { - "$ref": "#/definitions/AWS_Panorama_Package" + "$ref": "#/definitions/AWS_Backup_Framework" }, { - "$ref": "#/definitions/AWS_Route53RecoveryReadiness_RecoveryGroup" + "$ref": "#/definitions/AWS_CodeGuruReviewer_RepositoryAssociation" }, { - "$ref": "#/definitions/AWS_ApiGateway_ApiKey" + "$ref": "#/definitions/AWS_Glue_Registry" }, { - "$ref": "#/definitions/AWS_Pinpoint_PushTemplate" + "$ref": "#/definitions/AWS_Redshift_ScheduledAction" }, { - "$ref": "#/definitions/AWS_MediaStore_Container" + "$ref": "#/definitions/AWS_GameLift_Script" }, { - "$ref": "#/definitions/AWS_AppStream_Entitlement" + "$ref": "#/definitions/AWS_ApiGatewayV2_Model" }, { - "$ref": "#/definitions/AWS_NimbleStudio_Studio" + "$ref": "#/definitions/AWS_SageMaker_Pipeline" }, { - "$ref": "#/definitions/AWS_SES_MailManagerRelay" + "$ref": "#/definitions/AWS_SES_ReceiptFilter" }, { - "$ref": "#/definitions/AWS_WAFv2_RegexPatternSet" + "$ref": "#/definitions/AWS_IVS_StreamKey" }, { - "$ref": "#/definitions/AWS_Inspector_ResourceGroup" + "$ref": "#/definitions/AWS_ACMPCA_Permission" }, { - "$ref": "#/definitions/AWS_AppConfig_Extension" + "$ref": "#/definitions/AWS_ApplicationSignals_ServiceLevelObjective" }, { - "$ref": "#/definitions/AWS_IoTWireless_ServiceProfile" + "$ref": "#/definitions/AWS_PinpointEmail_Identity" }, { - "$ref": "#/definitions/AWS_DataZone_EnvironmentBlueprintConfiguration" + "$ref": "#/definitions/AWS_Pinpoint_App" }, { - "$ref": "#/definitions/AWS_XRay_SamplingRule" + "$ref": "#/definitions/AWS_IoTSiteWise_AccessPolicy" }, { - "$ref": "#/definitions/AWS_CloudFormation_ResourceDefaultVersion" + "$ref": "#/definitions/AWS_WAFRegional_ByteMatchSet" }, { - "$ref": "#/definitions/AWS_Pinpoint_APNSChannel" + "$ref": "#/definitions/AWS_QLDB_Ledger" }, { - "$ref": "#/definitions/AWS_FMS_ResourceSet" + "$ref": "#/definitions/AWS_DMS_ReplicationTask" }, { - "$ref": "#/definitions/AWS_IoTTwinMaker_Entity" + "$ref": "#/definitions/AWS_Shield_ProtectionGroup" }, { - "$ref": "#/definitions/AWS_SES_EmailIdentity" + "$ref": "#/definitions/AWS_Location_Map" }, { - "$ref": "#/definitions/AWS_Config_OrganizationConfigRule" + "$ref": "#/definitions/AWS_WAFv2_WebACLAssociation" }, { - "$ref": "#/definitions/AWS_ECR_RepositoryCreationTemplate" + "$ref": "#/definitions/AWS_ElastiCache_ParameterGroup" }, { - "$ref": "#/definitions/AWS_Omics_AnnotationStore" + "$ref": "#/definitions/AWS_S3_AccessGrantsLocation" }, { - "$ref": "#/definitions/AWS_AppSync_ApiCache" + "$ref": "#/definitions/AWS_ECR_PullThroughCacheRule" }, { - "$ref": "#/definitions/AWS_Logs_LogStream" + "$ref": "#/definitions/AWS_Events_EventBus" }, { - "$ref": "#/definitions/AWS_MediaConvert_Queue" + "$ref": "#/definitions/AWS_DAX_ParameterGroup" }, { - "$ref": "#/definitions/AWS_RDS_DBProxyTargetGroup" + "$ref": "#/definitions/AWS_ApplicationAutoScaling_ScalableTarget" }, { - "$ref": "#/definitions/AWS_DataBrew_Ruleset" + "$ref": "#/definitions/AWS_Connect_RoutingProfile" }, { - "$ref": "#/definitions/AWS_Neptune_DBSubnetGroup" + "$ref": "#/definitions/AWS_CleanRooms_ConfiguredTable" }, { - "$ref": "#/definitions/AWS_WorkSpaces_WorkspacesPool" + "$ref": "#/definitions/AWS_CleanRooms_IdMappingTable" }, { - "$ref": "#/definitions/AWS_ApiGateway_GatewayResponse" + "$ref": "#/definitions/AWS_Glue_DevEndpoint" }, { - "$ref": "#/definitions/AWS_OpsWorks_Layer" + "$ref": "#/definitions/AWS_IoTEvents_AlarmModel" }, { - "$ref": "#/definitions/AWS_IoT_MitigationAction" + "$ref": "#/definitions/AWS_Logs_DeliverySource" }, { - "$ref": "#/definitions/AWS_Panorama_PackageVersion" + "$ref": "#/definitions/AWS_CloudFront_Distribution" }, { - "$ref": "#/definitions/AWS_Cognito_UserPoolDomain" + "$ref": "#/definitions/AWS_BillingConductor_PricingPlan" }, { - "$ref": "#/definitions/AWS_AppConfig_Environment" + "$ref": "#/definitions/AWS_SageMaker_Space" }, { - "$ref": "#/definitions/AWS_Wisdom_KnowledgeBase" + "$ref": "#/definitions/AWS_IAM_RolePolicy" }, { - "$ref": "#/definitions/AWS_IAM_OIDCProvider" + "$ref": "#/definitions/AWS_Cognito_UserPoolUser" }, { - "$ref": "#/definitions/AWS_GameLift_GameServerGroup" + "$ref": "#/definitions/AWS_RolesAnywhere_CRL" }, { - "$ref": "#/definitions/AWS_Connect_PredefinedAttribute" + "$ref": "#/definitions/AWS_EC2_LocalGatewayRouteTableVPCAssociation" }, { - "$ref": "#/definitions/AWS_KMS_Key" + "$ref": "#/definitions/AWS_DataZone_Domain" }, { - "$ref": "#/definitions/AWS_Route53RecoveryControl_Cluster" + "$ref": "#/definitions/AWS_MediaLive_EventBridgeRuleTemplate" }, { - "$ref": "#/definitions/AWS_AppStream_DirectoryConfig" + "$ref": "#/definitions/AWS_IVS_PlaybackRestrictionPolicy" }, { - "$ref": "#/definitions/AWS_EventSchemas_Schema" + "$ref": "#/definitions/AWS_ServiceCatalog_TagOption" }, { - "$ref": "#/definitions/AWS_IAM_Role" + "$ref": "#/definitions/AWS_EC2_VPCEndpointConnectionNotification" }, { - "$ref": "#/definitions/AWS_IoTFleetWise_ModelManifest" + "$ref": "#/definitions/AWS_Connect_UserHierarchyStructure" }, { - "$ref": "#/definitions/AWS_Omics_Workflow" + "$ref": "#/definitions/AWS_AppRunner_VpcConnector" }, { - "$ref": "#/definitions/AWS_IAM_GroupPolicy" + "$ref": "#/definitions/AWS_EMR_InstanceGroupConfig" }, { - "$ref": "#/definitions/AWS_MediaLive_SignalMap" + "$ref": "#/definitions/AWS_EC2_TransitGatewayRouteTableAssociation" }, { - "$ref": "#/definitions/AWS_VpcLattice_ResourcePolicy" + "$ref": "#/definitions/AWS_IoT_SoftwarePackage" }, { - "$ref": "#/definitions/AWS_SSM_ResourcePolicy" + "$ref": "#/definitions/AWS_ECR_ReplicationConfiguration" }, { - "$ref": "#/definitions/AWS_IoTSiteWise_Dashboard" + "$ref": "#/definitions/AWS_ResilienceHub_App" }, { - "$ref": "#/definitions/AWS_Shield_DRTAccess" + "$ref": "#/definitions/AWS_IoTTwinMaker_Entity" }, { - "$ref": "#/definitions/AWS_IoTSiteWise_Gateway" + "$ref": "#/definitions/AWS_ImageBuilder_Component" }, { - "$ref": "#/definitions/AWS_SES_MailManagerAddonInstance" + "$ref": "#/definitions/AWS_SNS_Subscription" }, { - "$ref": "#/definitions/AWS_EC2_GatewayRouteTableAssociation" + "$ref": "#/definitions/AWS_Transfer_Connector" }, { - "$ref": "#/definitions/AWS_DocDB_DBCluster" + "$ref": "#/definitions/AWS_Comprehend_DocumentClassifier" }, { - "$ref": "#/definitions/AWS_SNS_Subscription" + "$ref": "#/definitions/AWS_IoTWireless_Destination" }, { - "$ref": "#/definitions/AWS_IoTWireless_FuotaTask" + "$ref": "#/definitions/AWS_ElasticBeanstalk_Environment" }, { - "$ref": "#/definitions/AWS_WAFRegional_SqlInjectionMatchSet" + "$ref": "#/definitions/AWS_SageMaker_ModelPackageGroup" }, { - "$ref": "#/definitions/AWS_EKS_Addon" + "$ref": "#/definitions/AWS_SecretsManager_RotationSchedule" }, { - "$ref": "#/definitions/AWS_SecurityHub_ProductSubscription" + "$ref": "#/definitions/AWS_ResourceExplorer2_View" }, { - "$ref": "#/definitions/AWS_EC2_SnapshotBlockPublicAccess" + "$ref": "#/definitions/AWS_Deadline_MeteredProduct" }, { - "$ref": "#/definitions/AWS_Bedrock_Flow" + "$ref": "#/definitions/AWS_Route53Resolver_FirewallRuleGroup" }, { - "$ref": "#/definitions/AWS_GuardDuty_Member" + "$ref": "#/definitions/AWS_IoTAnalytics_Datastore" }, { - "$ref": "#/definitions/AWS_EC2_TransitGatewayRouteTableAssociation" + "$ref": "#/definitions/AWS_NetworkManager_TransitGatewayRouteTableAttachment" }, { - "$ref": "#/definitions/AWS_ElasticBeanstalk_ConfigurationTemplate" + "$ref": "#/definitions/AWS_SageMaker_DataQualityJobDefinition" }, { - "$ref": "#/definitions/AWS_AmazonMQ_ConfigurationAssociation" + "$ref": "#/definitions/AWS_ResourceExplorer2_DefaultViewAssociation" }, { - "$ref": "#/definitions/AWS_S3_StorageLensGroup" + "$ref": "#/definitions/AWS_LookoutEquipment_InferenceScheduler" }, { - "$ref": "#/definitions/AWS_ResourceExplorer2_Index" + "$ref": "#/definitions/AWS_Connect_EmailAddress" }, { - "$ref": "#/definitions/AWS_AppSync_DomainName" + "$ref": "#/definitions/AWS_DeviceFarm_VPCEConfiguration" }, { - "$ref": "#/definitions/AWS_DeviceFarm_Project" + "$ref": "#/definitions/AWS_DeviceFarm_NetworkProfile" }, { - "$ref": "#/definitions/AWS_DeviceFarm_DevicePool" + "$ref": "#/definitions/AWS_DeviceFarm_TestGridProject" }, { - "$ref": "#/definitions/AWS_DeviceFarm_TestGridProject" + "$ref": "#/definitions/AWS_CustomerProfiles_SegmentDefinition" }, { "$ref": "#/definitions/AWS_DeviceFarm_InstanceProfile" }, { - "$ref": "#/definitions/AWS_DeviceFarm_NetworkProfile" + "$ref": "#/definitions/AWS_IVS_IngestConfiguration" }, { - "$ref": "#/definitions/AWS_DeviceFarm_VPCEConfiguration" + "$ref": "#/definitions/AWS_DeviceFarm_DevicePool" + }, + { + "$ref": "#/definitions/AWS_DeviceFarm_Project" } ] } diff --git a/server/schema/resources/aws-accessanalyzer-analyzer.json b/server/schema/resources/aws-accessanalyzer-analyzer.json index 46a7a236..e98c6743 100644 --- a/server/schema/resources/aws-accessanalyzer-analyzer.json +++ b/server/schema/resources/aws-accessanalyzer-analyzer.json @@ -93,29 +93,82 @@ }, "Value": { "type": "string", - "description": "The value for the tag. You can specify a value that is 1 to 255 Unicode characters in length and cannot be prefixed with aws:. You can use any of the following characters: the set of Unicode letters, digits, whitespace, _, ., /, =, +, and -. ", - "minLength": 1, + "description": "The value for the tag. You can specify a value that is 0 to 255 Unicode characters in length and cannot be prefixed with aws:. You can use any of the following characters: the set of Unicode letters, digits, whitespace, _, ., /, =, +, and -. ", + "minLength": 0, "maxLength": 255, - "markdownDescription": "The value for the tag. You can specify a value that is 1 to 255 Unicode characters in length and cannot be prefixed with aws:. You can use any of the following characters: the set of Unicode letters, digits, whitespace, _, ., /, =, +, and -. \n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 255 \nUpdate requires: No interruption" + "markdownDescription": "The value for the tag. You can specify a value that is 0 to 255 Unicode characters in length and cannot be prefixed with aws:. You can use any of the following characters: the set of Unicode letters, digits, whitespace, _, ., /, =, +, and -. \n\n---\n\nRequired: No \nType: String \nMaximum Length: 255 \nUpdate requires: No interruption" } }, "required": [ - "Key", - "Value" + "Key" ], "additionalProperties": false, "markdownDescription": "A key-value pair to associate with a resource.\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, + "Tags": { + "type": "array", + "insertionOrder": false, + "uniqueItems": true, + "description": "An array of key-value pairs to apply to this resource.", + "items": { + "$ref": "#/definitions/Tag" + }, + "markdownDescription": "An array of key-value pairs to apply to this resource.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + }, + "AnalysisRuleCriteria": { + "description": "The criteria for an analysis rule for an analyzer.", + "type": "object", + "properties": { + "AccountIds": { + "description": "A list of AWS account IDs to apply to the analysis rule criteria. The accounts cannot include the organization analyzer owner account. Account IDs can only be applied to the analysis rule criteria for organization-level analyzers.", + "type": "array", + "insertionOrder": false, + "items": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "markdownDescription": "A list of AWS account IDs to apply to the analysis rule criteria. The accounts cannot include the organization analyzer owner account. Account IDs can only be applied to the analysis rule criteria for organization-level analyzers.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + }, + "ResourceTags": { + "description": "An array of key-value pairs to match for your resources. You can use the set of Unicode letters, digits, whitespace, _, ., /, =, +, and -.\n\nFor the tag key, you can specify a value that is 1 to 128 characters in length and cannot be prefixed with aws:.\n\nFor the tag value, you can specify a value that is 0 to 256 characters in length. If the specified tag value is 0 characters, the rule is applied to all principals with the specified tag key.", + "type": "array", + "insertionOrder": false, + "items": { + "$ref": "#/definitions/Tags" + }, + "markdownDescription": "An array of key-value pairs to match for your resources. You can use the set of Unicode letters, digits, whitespace, _, ., /, =, +, and -.\n\nFor the tag key, you can specify a value that is 1 to 128 characters in length and cannot be prefixed with aws:.\n\nFor the tag value, you can specify a value that is 0 to 256 characters in length. If the specified tag value is 0 characters, the rule is applied to all principals with the specified tag key.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + } + }, + "additionalProperties": false, + "markdownDescription": "The criteria for an analysis rule for an analyzer.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, "UnusedAccessConfiguration": { "description": "The Configuration for Unused Access Analyzer", "type": "object", "properties": { "UnusedAccessAge": { - "description": "The specified access age in days for which to generate findings for unused access. For example, if you specify 90 days, the analyzer will generate findings for IAM entities within the accounts of the selected organization for any access that hasn't been used in 90 or more days since the analyzer's last scan. You can choose a value between 1 and 180 days.", + "description": "The specified access age in days for which to generate findings for unused access. For example, if you specify 90 days, the analyzer will generate findings for IAM entities within the accounts of the selected organization for any access that hasn't been used in 90 or more days since the analyzer's last scan. You can choose a value between 1 and 365 days.", "type": "integer", "minimum": 1, - "maximum": 180, - "markdownDescription": "The specified access age in days for which to generate findings for unused access. For example, if you specify 90 days, the analyzer will generate findings for IAM entities within the accounts of the selected organization for any access that hasn't been used in 90 or more days since the analyzer's last scan. You can choose a value between 1 and 180 days.\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" + "maximum": 365, + "markdownDescription": "The specified access age in days for which to generate findings for unused access. For example, if you specify 90 days, the analyzer will generate findings for IAM entities within the accounts of the selected organization for any access that hasn't been used in 90 or more days since the analyzer's last scan. You can choose a value between 1 and 365 days.\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" + }, + "AnalysisRule": { + "description": "Contains information about rules for the analyzer.", + "type": "object", + "properties": { + "Exclusions": { + "description": "A list of rules for the analyzer containing criteria to exclude from analysis. Entities that meet the rule criteria will not generate findings.", + "type": "array", + "insertionOrder": false, + "items": { + "$ref": "#/definitions/AnalysisRuleCriteria" + }, + "markdownDescription": "A list of rules for the analyzer containing criteria to exclude from analysis. Entities that meet the rule criteria will not generate findings.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + } + }, + "additionalProperties": false, + "markdownDescription": "Contains information about rules for the analyzer.\n\n---\n\nRequired: No \nUpdate requires: No interruption" } }, "additionalProperties": false, @@ -165,7 +218,7 @@ } }, "additionalProperties": false, - "markdownDescription": "The configuration for the analyzer\n\n---\n\nRequired: No \nUpdate requires: Replacement" + "markdownDescription": "The configuration for the analyzer\n\n---\n\nRequired: No \nUpdate requires: Some interruptions" } }, "required": [ @@ -176,7 +229,9 @@ ], "createOnlyProperties": [ "/properties/AnalyzerName", - "/properties/Type", + "/properties/Type" + ], + "conditionalCreateOnlyProperties": [ "/properties/AnalyzerConfiguration" ], "primaryIdentifier": [ @@ -207,6 +262,7 @@ "access-analyzer:ListAnalyzers", "access-analyzer:TagResource", "access-analyzer:UntagResource", + "access-analyzer:UpdateAnalyzer", "access-analyzer:UpdateArchiveRule" ] }, @@ -229,7 +285,8 @@ "tagProperty": "/properties/Tags", "permissions": [ "access-analyzer:UntagResource", - "access-analyzer:TagResource" + "access-analyzer:TagResource", + "access-analyzer:ListTagsForResource" ] }, "attributes": { diff --git a/server/schema/resources/aws-amplifyuibuilder-component.json b/server/schema/resources/aws-amplifyuibuilder-component.json index 530862a2..ae4585e2 100644 --- a/server/schema/resources/aws-amplifyuibuilder-component.json +++ b/server/schema/resources/aws-amplifyuibuilder-component.json @@ -649,7 +649,11 @@ "tagOnCreate": true, "tagUpdatable": true, "cloudFormationSystemTags": true, - "tagProperty": "/properties/Tags" + "tagProperty": "/properties/Tags", + "permissions": [ + "amplifyuibuilder:TagResource", + "amplifyuibuilder:UntagResource" + ] }, "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-amplifyuibuilder", "additionalProperties": false, diff --git a/server/schema/resources/aws-amplifyuibuilder-form.json b/server/schema/resources/aws-amplifyuibuilder-form.json index 9546544a..ee04527d 100644 --- a/server/schema/resources/aws-amplifyuibuilder-form.json +++ b/server/schema/resources/aws-amplifyuibuilder-form.json @@ -607,15 +607,13 @@ "amplify:GetApp", "amplifyuibuilder:CreateForm", "amplifyuibuilder:GetForm", - "amplifyuibuilder:TagResource", - "amplifyuibuilder:UntagResource" + "amplifyuibuilder:TagResource" ] }, "read": { "permissions": [ "amplify:GetApp", - "amplifyuibuilder:GetForm", - "amplifyuibuilder:TagResource" + "amplifyuibuilder:GetForm" ] }, "update": { @@ -631,7 +629,6 @@ "permissions": [ "amplify:GetApp", "amplifyuibuilder:DeleteForm", - "amplifyuibuilder:TagResource", "amplifyuibuilder:UntagResource" ] }, @@ -661,7 +658,11 @@ "tagOnCreate": true, "tagUpdatable": true, "cloudFormationSystemTags": true, - "tagProperty": "/properties/Tags" + "tagProperty": "/properties/Tags", + "permissions": [ + "amplifyuibuilder:TagResource", + "amplifyuibuilder:UntagResource" + ] }, "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-amplifyuibuilder", "additionalProperties": false, diff --git a/server/schema/resources/aws-amplifyuibuilder-theme.json b/server/schema/resources/aws-amplifyuibuilder-theme.json index c307185f..57194a7c 100644 --- a/server/schema/resources/aws-amplifyuibuilder-theme.json +++ b/server/schema/resources/aws-amplifyuibuilder-theme.json @@ -152,7 +152,11 @@ "tagOnCreate": true, "tagUpdatable": true, "cloudFormationSystemTags": true, - "tagProperty": "/properties/Tags" + "tagProperty": "/properties/Tags", + "permissions": [ + "amplifyuibuilder:TagResource", + "amplifyuibuilder:UntagResource" + ] }, "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-amplifyuibuilder", "additionalProperties": false, diff --git a/server/schema/resources/aws-apigateway-account.json b/server/schema/resources/aws-apigateway-account.json index 290a2c63..79769713 100644 --- a/server/schema/resources/aws-apigateway-account.json +++ b/server/schema/resources/aws-apigateway-account.json @@ -40,9 +40,9 @@ ], "properties": { "CloudWatchRoleArn": { - "description": "The ARN of an Amazon CloudWatch role for the current Account.", + "description": "", "type": "string", - "markdownDescription": "The ARN of an Amazon CloudWatch role for the current Account.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" } }, "attributes": { diff --git a/server/schema/resources/aws-apigateway-apikey.json b/server/schema/resources/aws-apigateway-apikey.json index 72f579ea..b7f910ad 100644 --- a/server/schema/resources/aws-apigateway-apikey.json +++ b/server/schema/resources/aws-apigateway-apikey.json @@ -5,25 +5,25 @@ "additionalProperties": false, "properties": { "CustomerId": { - "description": "An MKT customer identifier, when integrating with the AWS SaaS Marketplace.", + "description": "", "type": "string", - "markdownDescription": "An MKT customer identifier, when integrating with the AWS SaaS Marketplace.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, "Description": { - "description": "The description of the ApiKey.", + "description": "", "type": "string", - "markdownDescription": "The description of the ApiKey.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, "Enabled": { - "description": "Specifies whether the ApiKey can be used by callers.", + "description": "", "default": false, "type": "boolean", - "markdownDescription": "Specifies whether the ApiKey can be used by callers.\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" }, "GenerateDistinctId": { - "description": "Specifies whether (``true``) or not (``false``) the key identifier is distinct from the created API key value. This parameter is deprecated and should not be used.", + "description": "", "type": "boolean", - "markdownDescription": "Specifies whether (``true``) or not (``false``) the key identifier is distinct from the created API key value. This parameter is deprecated and should not be used.\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: Replacement" + "markdownDescription": "\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: Replacement" }, "Name": { "description": "A name for the API key. If you don't specify a name, CFN generates a unique physical ID and uses that ID for the API key name. For more information, see [Name Type](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-name.html).\n If you specify a name, you cannot perform updates that require replacement of this resource. You can perform updates that require no or some interruption. If you must replace the resource, specify a new name.", @@ -31,27 +31,27 @@ "markdownDescription": "A name for the API key. If you don't specify a name, CFN generates a unique physical ID and uses that ID for the API key name. For more information, see [Name Type](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-name.html).\n If you specify a name, you cannot perform updates that require replacement of this resource. You can perform updates that require no or some interruption. If you must replace the resource, specify a new name.\n\n---\n\nRequired: No \nType: String \nUpdate requires: Replacement" }, "StageKeys": { - "description": "DEPRECATED FOR USAGE PLANS - Specifies stages associated with the API key.", + "description": "", "type": "array", "uniqueItems": true, "items": { "$ref": "#/definitions/StageKey" }, - "markdownDescription": "DEPRECATED FOR USAGE PLANS - Specifies stages associated with the API key.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" }, "Tags": { - "description": "The key-value map of strings. The valid character set is [a-zA-Z+-=._:/]. The tag key can be up to 128 characters and must not start with ``aws:``. The tag value can be up to 256 characters.", + "description": "", "type": "array", "uniqueItems": false, "items": { "$ref": "#/definitions/Tag" }, - "markdownDescription": "The key-value map of strings. The valid character set is [a-zA-Z+-=._:/]. The tag key can be up to 128 characters and must not start with ``aws:``. The tag value can be up to 256 characters.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" }, "Value": { - "description": "Specifies a value of the API key.", + "description": "", "type": "string", - "markdownDescription": "Specifies a value of the API key.\n\n---\n\nRequired: No \nType: String \nUpdate requires: Replacement" + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: Replacement" } }, "definitions": { @@ -60,14 +60,14 @@ "additionalProperties": false, "properties": { "RestApiId": { - "description": "The string identifier of the associated RestApi.", + "description": "", "type": "string", - "markdownDescription": "The string identifier of the associated RestApi.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, "StageName": { - "description": "The stage name associated with the stage key.", + "description": "", "type": "string", - "markdownDescription": "The stage name associated with the stage key.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" } }, "description": "``StageKey`` is a property of the [AWS::ApiGateway::ApiKey](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-apikey.html) resource that specifies the stage to associate with the API key. This association allows only clients with the key to make requests to methods in that stage.", diff --git a/server/schema/resources/aws-apigateway-authorizer.json b/server/schema/resources/aws-apigateway-authorizer.json index bec54daf..b6642bd1 100644 --- a/server/schema/resources/aws-apigateway-authorizer.json +++ b/server/schema/resources/aws-apigateway-authorizer.json @@ -4,47 +4,47 @@ "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-apigateway.git", "properties": { "RestApiId": { - "description": "The string identifier of the associated RestApi.", + "description": "", "type": "string", - "markdownDescription": "The string identifier of the associated RestApi.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: Replacement" + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: Replacement" }, "AuthType": { - "description": "Optional customer-defined field, used in OpenAPI imports and exports without functional impact.", + "description": "", "type": "string", - "markdownDescription": "Optional customer-defined field, used in OpenAPI imports and exports without functional impact.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, "AuthorizerCredentials": { - "description": "Specifies the required credentials as an IAM role for API Gateway to invoke the authorizer. To specify an IAM role for API Gateway to assume, use the role's Amazon Resource Name (ARN). To use resource-based permissions on the Lambda function, specify null.", + "description": "", "type": "string", - "markdownDescription": "Specifies the required credentials as an IAM role for API Gateway to invoke the authorizer. To specify an IAM role for API Gateway to assume, use the role's Amazon Resource Name (ARN). To use resource-based permissions on the Lambda function, specify null.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, "AuthorizerResultTtlInSeconds": { - "description": "The TTL in seconds of cached authorizer results. If it equals 0, authorization caching is disabled. If it is greater than 0, API Gateway will cache authorizer responses. If this field is not set, the default value is 300. The maximum value is 3600, or 1 hour.", + "description": "", "type": "integer", - "markdownDescription": "The TTL in seconds of cached authorizer results. If it equals 0, authorization caching is disabled. If it is greater than 0, API Gateway will cache authorizer responses. If this field is not set, the default value is 300. The maximum value is 3600, or 1 hour.\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" }, "AuthorizerUri": { - "description": "Specifies the authorizer's Uniform Resource Identifier (URI). For ``TOKEN`` or ``REQUEST`` authorizers, this must be a well-formed Lambda function URI, for example, ``arn:aws:apigateway:us-west-2:lambda:path/2015-03-31/functions/arn:aws:lambda:us-west-2:{account_id}:function:{lambda_function_name}/invocations``. In general, the URI has this form ``arn:aws:apigateway:{region}:lambda:path/{service_api}``, where ``{region}`` is the same as the region hosting the Lambda function, ``path`` indicates that the remaining substring in the URI should be treated as the path to the resource, including the initial ``/``. For Lambda functions, this is usually of the form ``/2015-03-31/functions/[FunctionARN]/invocations``.", + "description": "", "type": "string", - "markdownDescription": "Specifies the authorizer's Uniform Resource Identifier (URI). For ``TOKEN`` or ``REQUEST`` authorizers, this must be a well-formed Lambda function URI, for example, ``arn:aws:apigateway:us-west-2:lambda:path/2015-03-31/functions/arn:aws:lambda:us-west-2:{account_id}:function:{lambda_function_name}/invocations``. In general, the URI has this form ``arn:aws:apigateway:{region}:lambda:path/{service_api}``, where ``{region}`` is the same as the region hosting the Lambda function, ``path`` indicates that the remaining substring in the URI should be treated as the path to the resource, including the initial ``/``. For Lambda functions, this is usually of the form ``/2015-03-31/functions/[FunctionARN]/invocations``.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, "IdentitySource": { - "description": "The identity source for which authorization is requested. For a ``TOKEN`` or ``COGNITO_USER_POOLS`` authorizer, this is required and specifies the request header mapping expression for the custom header holding the authorization token submitted by the client. For example, if the token header name is ``Auth``, the header mapping expression is ``method.request.header.Auth``. For the ``REQUEST`` authorizer, this is required when authorization caching is enabled. The value is a comma-separated string of one or more mapping expressions of the specified request parameters. For example, if an ``Auth`` header, a ``Name`` query string parameter are defined as identity sources, this value is ``method.request.header.Auth, method.request.querystring.Name``. These parameters will be used to derive the authorization caching key and to perform runtime validation of the ``REQUEST`` authorizer by verifying all of the identity-related request parameters are present, not null and non-empty. Only when this is true does the authorizer invoke the authorizer Lambda function, otherwise, it returns a 401 Unauthorized response without calling the Lambda function. The valid value is a string of comma-separated mapping expressions of the specified request parameters. When the authorization caching is not enabled, this property is optional.", + "description": "", "type": "string", - "markdownDescription": "The identity source for which authorization is requested. For a ``TOKEN`` or ``COGNITO_USER_POOLS`` authorizer, this is required and specifies the request header mapping expression for the custom header holding the authorization token submitted by the client. For example, if the token header name is ``Auth``, the header mapping expression is ``method.request.header.Auth``. For the ``REQUEST`` authorizer, this is required when authorization caching is enabled. The value is a comma-separated string of one or more mapping expressions of the specified request parameters. For example, if an ``Auth`` header, a ``Name`` query string parameter are defined as identity sources, this value is ``method.request.header.Auth, method.request.querystring.Name``. These parameters will be used to derive the authorization caching key and to perform runtime validation of the ``REQUEST`` authorizer by verifying all of the identity-related request parameters are present, not null and non-empty. Only when this is true does the authorizer invoke the authorizer Lambda function, otherwise, it returns a 401 Unauthorized response without calling the Lambda function. The valid value is a string of comma-separated mapping expressions of the specified request parameters. When the authorization caching is not enabled, this property is optional.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, "IdentityValidationExpression": { - "description": "A validation expression for the incoming identity token. For ``TOKEN`` authorizers, this value is a regular expression. For ``COGNITO_USER_POOLS`` authorizers, API Gateway will match the ``aud`` field of the incoming token from the client against the specified regular expression. It will invoke the authorizer's Lambda function when there is a match. Otherwise, it will return a 401 Unauthorized response without calling the Lambda function. The validation expression does not apply to the ``REQUEST`` authorizer.", + "description": "", "type": "string", - "markdownDescription": "A validation expression for the incoming identity token. For ``TOKEN`` authorizers, this value is a regular expression. For ``COGNITO_USER_POOLS`` authorizers, API Gateway will match the ``aud`` field of the incoming token from the client against the specified regular expression. It will invoke the authorizer's Lambda function when there is a match. Otherwise, it will return a 401 Unauthorized response without calling the Lambda function. The validation expression does not apply to the ``REQUEST`` authorizer.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, "Name": { - "description": "The name of the authorizer.", + "description": "", "type": "string", - "markdownDescription": "The name of the authorizer.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" }, "ProviderARNs": { - "description": "A list of the Amazon Cognito user pool ARNs for the ``COGNITO_USER_POOLS`` authorizer. Each element is of this format: ``arn:aws:cognito-idp:{region}:{account_id}:userpool/{user_pool_id}``. For a ``TOKEN`` or ``REQUEST`` authorizer, this is not defined.", + "description": "", "type": "array", "uniqueItems": true, "items": { @@ -52,12 +52,12 @@ "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, "insertionOrder": false, - "markdownDescription": "A list of the Amazon Cognito user pool ARNs for the ``COGNITO_USER_POOLS`` authorizer. Each element is of this format: ``arn:aws:cognito-idp:{region}:{account_id}:userpool/{user_pool_id}``. For a ``TOKEN`` or ``REQUEST`` authorizer, this is not defined.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" }, "Type": { - "description": "The authorizer type. Valid values are ``TOKEN`` for a Lambda function using a single authorization token submitted in a custom header, ``REQUEST`` for a Lambda function using incoming request parameters, and ``COGNITO_USER_POOLS`` for using an Amazon Cognito user pool.", + "description": "", "type": "string", - "markdownDescription": "The authorizer type. Valid values are ``TOKEN`` for a Lambda function using a single authorization token submitted in a custom header, ``REQUEST`` for a Lambda function using incoming request parameters, and ``COGNITO_USER_POOLS`` for using an Amazon Cognito user pool.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" } }, "tagging": { diff --git a/server/schema/resources/aws-apigateway-basepathmapping.json b/server/schema/resources/aws-apigateway-basepathmapping.json index affbbc38..6b008235 100644 --- a/server/schema/resources/aws-apigateway-basepathmapping.json +++ b/server/schema/resources/aws-apigateway-basepathmapping.json @@ -6,23 +6,23 @@ "properties": { "BasePath": { "type": "string", - "description": "The base path name that callers of the API must provide as part of the URL after the domain name.", - "markdownDescription": "The base path name that callers of the API must provide as part of the URL after the domain name.\n\n---\n\nRequired: No \nType: String \nUpdate requires: Replacement" + "description": "", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: Replacement" }, "DomainName": { "type": "string", - "description": "The domain name of the BasePathMapping resource to be described.", - "markdownDescription": "The domain name of the BasePathMapping resource to be described.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: Replacement" + "description": "", + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: Replacement" }, "RestApiId": { "type": "string", - "description": "The string identifier of the associated RestApi.", - "markdownDescription": "The string identifier of the associated RestApi.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "description": "", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, "Stage": { "type": "string", - "description": "The name of the associated stage.", - "markdownDescription": "The name of the associated stage.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "description": "", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" } }, "required": [ diff --git a/server/schema/resources/aws-apigateway-clientcertificate.json b/server/schema/resources/aws-apigateway-clientcertificate.json index ee965403..35c1bd59 100644 --- a/server/schema/resources/aws-apigateway-clientcertificate.json +++ b/server/schema/resources/aws-apigateway-clientcertificate.json @@ -5,18 +5,18 @@ "additionalProperties": false, "properties": { "Description": { - "description": "The description of the client certificate.", + "description": "", "type": "string", - "markdownDescription": "The description of the client certificate.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, "Tags": { - "description": "The collection of tags. Each tag element is associated with a given resource.", + "description": "", "type": "array", "uniqueItems": false, "items": { "$ref": "#/definitions/Tag" }, - "markdownDescription": "The collection of tags. Each tag element is associated with a given resource.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" } }, "definitions": { diff --git a/server/schema/resources/aws-apigateway-deployment.json b/server/schema/resources/aws-apigateway-deployment.json index 6a84dd85..73d2292e 100644 --- a/server/schema/resources/aws-apigateway-deployment.json +++ b/server/schema/resources/aws-apigateway-deployment.json @@ -76,14 +76,14 @@ "type": "object", "properties": { "CacheTtlInSeconds": { - "description": "Specifies the time to live (TTL), in seconds, for cached responses. The higher the TTL, the longer the response will be cached.", + "description": "", "type": "integer", - "markdownDescription": "Specifies the time to live (TTL), in seconds, for cached responses. The higher the TTL, the longer the response will be cached.\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" }, "LoggingLevel": { - "description": "Specifies the logging level for this method, which affects the log entries pushed to Amazon CloudWatch Logs. Valid values are ``OFF``, ``ERROR``, and ``INFO``. Choose ``ERROR`` to write only error-level entries to CloudWatch Logs, or choose ``INFO`` to include all ``ERROR`` events as well as extra informational events.", + "description": "", "type": "string", - "markdownDescription": "Specifies the logging level for this method, which affects the log entries pushed to Amazon CloudWatch Logs. Valid values are ``OFF``, ``ERROR``, and ``INFO``. Choose ``ERROR`` to write only error-level entries to CloudWatch Logs, or choose ``INFO`` to include all ``ERROR`` events as well as extra informational events.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, "ResourcePath": { "description": "The resource path for this method. Forward slashes (``/``) are encoded as ``~1`` and the initial slash must include a forward slash. For example, the path value ``/resource/subresource`` must be encoded as ``/~1resource~1subresource``. To specify the root path, use only a slash (``/``).", @@ -91,29 +91,29 @@ "markdownDescription": "The resource path for this method. Forward slashes (``/``) are encoded as ``~1`` and the initial slash must include a forward slash. For example, the path value ``/resource/subresource`` must be encoded as ``/~1resource~1subresource``. To specify the root path, use only a slash (``/``).\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, "CacheDataEncrypted": { - "description": "Specifies whether the cached responses are encrypted.", + "description": "", "type": "boolean", - "markdownDescription": "Specifies whether the cached responses are encrypted.\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" }, "DataTraceEnabled": { - "description": "Specifies whether data trace logging is enabled for this method, which affects the log entries pushed to Amazon CloudWatch Logs. This can be useful to troubleshoot APIs, but can result in logging sensitive data. We recommend that you don't enable this option for production APIs.", + "description": "", "type": "boolean", - "markdownDescription": "Specifies whether data trace logging is enabled for this method, which affects the log entries pushed to Amazon CloudWatch Logs. This can be useful to troubleshoot APIs, but can result in logging sensitive data. We recommend that you don't enable this option for production APIs.\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" }, "ThrottlingBurstLimit": { - "description": "Specifies the throttling burst limit.", + "description": "", "type": "integer", - "markdownDescription": "Specifies the throttling burst limit.\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" }, "CachingEnabled": { - "description": "Specifies whether responses should be cached and returned for requests. A cache cluster must be enabled on the stage for responses to be cached.", + "description": "", "type": "boolean", - "markdownDescription": "Specifies whether responses should be cached and returned for requests. A cache cluster must be enabled on the stage for responses to be cached.\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" }, "MetricsEnabled": { - "description": "Specifies whether Amazon CloudWatch metrics are enabled for this method.", + "description": "", "type": "boolean", - "markdownDescription": "Specifies whether Amazon CloudWatch metrics are enabled for this method.\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" }, "HttpMethod": { "description": "The HTTP method.", @@ -121,9 +121,9 @@ "markdownDescription": "The HTTP method.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, "ThrottlingRateLimit": { - "description": "Specifies the throttling rate limit.", + "description": "", "type": "number", - "markdownDescription": "Specifies the throttling rate limit.\n\n---\n\nRequired: No \nType: Number \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: No \nType: Number \nUpdate requires: No interruption" } }, "markdownDescription": "The ``MethodSetting`` property type configures settings for all methods in a stage.\n The ``MethodSettings`` property of the [Amazon API Gateway Deployment StageDescription](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-deployment-stagedescription.html) property type contains a list of ``MethodSetting`` property types.\n\n---\n\nRequired: No \nUpdate requires: No interruption" @@ -241,9 +241,9 @@ "markdownDescription": "An array of arbitrary tags (key-value pairs) to associate with the stage.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" }, "CacheClusterEnabled": { - "description": "Specifies whether a cache cluster is enabled for the stage.", + "description": "", "type": "boolean", - "markdownDescription": "Specifies whether a cache cluster is enabled for the stage.\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" } }, "markdownDescription": "``StageDescription`` is a property of the [AWS::ApiGateway::Deployment](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-deployment.html) resource that configures a deployment stage.\n\n---\n\nRequired: No \nUpdate requires: No interruption" @@ -260,20 +260,20 @@ "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" } }, - "description": "Stage variables overridden for a canary release deployment, including new stage variables introduced in the canary. These stage variables are represented as a string-to-string map between stage variable names and their values.", + "description": "", "additionalProperties": false, "type": "object", - "markdownDescription": "Stage variables overridden for a canary release deployment, including new stage variables introduced in the canary. These stage variables are represented as a string-to-string map between stage variable names and their values.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, "PercentTraffic": { - "description": "The percent (0-100) of traffic diverted to a canary deployment.", + "description": "", "type": "number", - "markdownDescription": "The percent (0-100) of traffic diverted to a canary deployment.\n\n---\n\nRequired: No \nType: Number \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: No \nType: Number \nUpdate requires: No interruption" }, "UseStageCache": { - "description": "A Boolean flag to indicate whether the canary deployment uses the stage cache or not.", + "description": "", "type": "boolean", - "markdownDescription": "A Boolean flag to indicate whether the canary deployment uses the stage cache or not.\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" } }, "markdownDescription": "The ``CanarySetting`` property type specifies settings for the canary deployment in this stage.\n ``CanarySetting`` is a property of the [StageDescription](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-deployment-stagedescription.html) property type.\n\n---\n\nRequired: No \nUpdate requires: No interruption" @@ -312,20 +312,20 @@ "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" } }, - "description": "A stage variable overrides used for the canary release deployment. They can override existing stage variables or add new stage variables for the canary release deployment. These stage variables are represented as a string-to-string map between stage variable names and their values.", + "description": "", "additionalProperties": false, "type": "object", - "markdownDescription": "A stage variable overrides used for the canary release deployment. They can override existing stage variables or add new stage variables for the canary release deployment. These stage variables are represented as a string-to-string map between stage variable names and their values.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, "PercentTraffic": { - "description": "The percentage (0.0-100.0) of traffic routed to the canary deployment.", + "description": "", "type": "number", - "markdownDescription": "The percentage (0.0-100.0) of traffic routed to the canary deployment.\n\n---\n\nRequired: No \nType: Number \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: No \nType: Number \nUpdate requires: No interruption" }, "UseStageCache": { - "description": "A Boolean flag to indicate whether the canary release deployment uses the stage cache or not.", + "description": "", "type": "boolean", - "markdownDescription": "A Boolean flag to indicate whether the canary release deployment uses the stage cache or not.\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" } }, "markdownDescription": "The ``DeploymentCanarySettings`` property type specifies settings for the canary deployment.\n\n---\n\nRequired: No \nUpdate requires: No interruption" @@ -336,14 +336,14 @@ "type": "object", "properties": { "Format": { - "description": "A single line format of the access logs of data, as specified by selected $context variables. The format must include at least ``$context.requestId``.", + "description": "", "type": "string", - "markdownDescription": "A single line format of the access logs of data, as specified by selected $context variables. The format must include at least ``$context.requestId``.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, "DestinationArn": { - "description": "The Amazon Resource Name (ARN) of the CloudWatch Logs log group or Kinesis Data Firehose delivery stream to receive access logs. If you specify a Kinesis Data Firehose delivery stream, the stream name must begin with ``amazon-apigateway-``.", + "description": "", "type": "string", - "markdownDescription": "The Amazon Resource Name (ARN) of the CloudWatch Logs log group or Kinesis Data Firehose delivery stream to receive access logs. If you specify a Kinesis Data Firehose delivery stream, the stream name must begin with ``amazon-apigateway-``.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" } }, "markdownDescription": "The ``AccessLogSetting`` property type specifies settings for logging access in this stage.\n ``AccessLogSetting`` is a property of the [StageDescription](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-deployment-stagedescription.html) property type.\n\n---\n\nRequired: No \nUpdate requires: No interruption" @@ -351,9 +351,9 @@ }, "properties": { "Description": { - "description": "The description for the Deployment resource to create.", + "description": "", "type": "string", - "markdownDescription": "The description for the Deployment resource to create.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, "StageDescription": { "description": "The description of the Stage resource for the Deployment resource to create. To specify a stage description, you must also provide a stage name.", @@ -361,19 +361,19 @@ "markdownDescription": "The description of the Stage resource for the Deployment resource to create. To specify a stage description, you must also provide a stage name.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" }, "StageName": { - "description": "The name of the Stage resource for the Deployment resource to create.", + "description": "", "type": "string", - "markdownDescription": "The name of the Stage resource for the Deployment resource to create.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, "RestApiId": { - "description": "The string identifier of the associated RestApi.", + "description": "", "type": "string", - "markdownDescription": "The string identifier of the associated RestApi.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: Replacement" + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: Replacement" }, "DeploymentCanarySettings": { - "description": "The input configuration for a canary deployment.", + "description": "", "$ref": "#/definitions/DeploymentCanarySettings", - "markdownDescription": "The input configuration for a canary deployment.\n\n---\n\nRequired: No \nType: \nUpdate requires: Replacement" + "markdownDescription": "\n\n---\n\nRequired: No \nType: \nUpdate requires: Replacement" } }, "attributes": { diff --git a/server/schema/resources/aws-apigateway-documentationpart.json b/server/schema/resources/aws-apigateway-documentationpart.json index c81ceafa..e0bc3c20 100644 --- a/server/schema/resources/aws-apigateway-documentationpart.json +++ b/server/schema/resources/aws-apigateway-documentationpart.json @@ -5,19 +5,19 @@ "additionalProperties": false, "properties": { "Location": { - "description": "The location of the targeted API entity of the to-be-created documentation part.", + "description": "", "$ref": "#/definitions/Location", - "markdownDescription": "The location of the targeted API entity of the to-be-created documentation part.\n\n---\n\nRequired: Yes \nType: \nUpdate requires: Replacement" + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: \nUpdate requires: Replacement" }, "Properties": { - "description": "The new documentation content map of the targeted API entity. Enclosed key-value pairs are API-specific, but only OpenAPI-compliant key-value pairs can be exported and, hence, published.", + "description": "", "type": "string", - "markdownDescription": "The new documentation content map of the targeted API entity. Enclosed key-value pairs are API-specific, but only OpenAPI-compliant key-value pairs can be exported and, hence, published.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" }, "RestApiId": { - "description": "The string identifier of the associated RestApi.", + "description": "", "type": "string", - "markdownDescription": "The string identifier of the associated RestApi.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: Replacement" + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: Replacement" } }, "definitions": { @@ -26,27 +26,27 @@ "additionalProperties": false, "properties": { "Method": { - "description": "The HTTP verb of a method. It is a valid field for the API entity types of ``METHOD``, ``PATH_PARAMETER``, ``QUERY_PARAMETER``, ``REQUEST_HEADER``, ``REQUEST_BODY``, ``RESPONSE``, ``RESPONSE_HEADER``, and ``RESPONSE_BODY``. The default value is ``*`` for any method. When an applicable child entity inherits the content of an entity of the same type with more general specifications of the other ``location`` attributes, the child entity's ``method`` attribute must match that of the parent entity exactly.", + "description": "", "type": "string", - "markdownDescription": "The HTTP verb of a method. It is a valid field for the API entity types of ``METHOD``, ``PATH_PARAMETER``, ``QUERY_PARAMETER``, ``REQUEST_HEADER``, ``REQUEST_BODY``, ``RESPONSE``, ``RESPONSE_HEADER``, and ``RESPONSE_BODY``. The default value is ``*`` for any method. When an applicable child entity inherits the content of an entity of the same type with more general specifications of the other ``location`` attributes, the child entity's ``method`` attribute must match that of the parent entity exactly.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, "Name": { - "description": "The name of the targeted API entity. It is a valid and required field for the API entity types of ``AUTHORIZER``, ``MODEL``, ``PATH_PARAMETER``, ``QUERY_PARAMETER``, ``REQUEST_HEADER``, ``REQUEST_BODY`` and ``RESPONSE_HEADER``. It is an invalid field for any other entity type.", + "description": "", "type": "string", - "markdownDescription": "The name of the targeted API entity. It is a valid and required field for the API entity types of ``AUTHORIZER``, ``MODEL``, ``PATH_PARAMETER``, ``QUERY_PARAMETER``, ``REQUEST_HEADER``, ``REQUEST_BODY`` and ``RESPONSE_HEADER``. It is an invalid field for any other entity type.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, "Path": { - "description": "The URL path of the target. It is a valid field for the API entity types of ``RESOURCE``, ``METHOD``, ``PATH_PARAMETER``, ``QUERY_PARAMETER``, ``REQUEST_HEADER``, ``REQUEST_BODY``, ``RESPONSE``, ``RESPONSE_HEADER``, and ``RESPONSE_BODY``. The default value is ``/`` for the root resource. When an applicable child entity inherits the content of another entity of the same type with more general specifications of the other ``location`` attributes, the child entity's ``path`` attribute must match that of the parent entity as a prefix.", + "description": "", "type": "string", - "markdownDescription": "The URL path of the target. It is a valid field for the API entity types of ``RESOURCE``, ``METHOD``, ``PATH_PARAMETER``, ``QUERY_PARAMETER``, ``REQUEST_HEADER``, ``REQUEST_BODY``, ``RESPONSE``, ``RESPONSE_HEADER``, and ``RESPONSE_BODY``. The default value is ``/`` for the root resource. When an applicable child entity inherits the content of another entity of the same type with more general specifications of the other ``location`` attributes, the child entity's ``path`` attribute must match that of the parent entity as a prefix.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, "StatusCode": { - "description": "The HTTP status code of a response. It is a valid field for the API entity types of ``RESPONSE``, ``RESPONSE_HEADER``, and ``RESPONSE_BODY``. The default value is ``*`` for any status code. When an applicable child entity inherits the content of an entity of the same type with more general specifications of the other ``location`` attributes, the child entity's ``statusCode`` attribute must match that of the parent entity exactly.", + "description": "", "type": "string", - "markdownDescription": "The HTTP status code of a response. It is a valid field for the API entity types of ``RESPONSE``, ``RESPONSE_HEADER``, and ``RESPONSE_BODY``. The default value is ``*`` for any status code. When an applicable child entity inherits the content of an entity of the same type with more general specifications of the other ``location`` attributes, the child entity's ``statusCode`` attribute must match that of the parent entity exactly.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, "Type": { - "description": "The type of API entity to which the documentation content applies. Valid values are ``API``, ``AUTHORIZER``, ``MODEL``, ``RESOURCE``, ``METHOD``, ``PATH_PARAMETER``, ``QUERY_PARAMETER``, ``REQUEST_HEADER``, ``REQUEST_BODY``, ``RESPONSE``, ``RESPONSE_HEADER``, and ``RESPONSE_BODY``. Content inheritance does not apply to any entity of the ``API``, ``AUTHORIZER``, ``METHOD``, ``MODEL``, ``REQUEST_BODY``, or ``RESOURCE`` type.", + "description": "", "type": "string", "enum": [ "API", @@ -62,7 +62,7 @@ "RESPONSE_HEADER", "RESPONSE_BODY" ], - "markdownDescription": "The type of API entity to which the documentation content applies. Valid values are ``API``, ``AUTHORIZER``, ``MODEL``, ``RESOURCE``, ``METHOD``, ``PATH_PARAMETER``, ``QUERY_PARAMETER``, ``REQUEST_HEADER``, ``REQUEST_BODY``, ``RESPONSE``, ``RESPONSE_HEADER``, and ``RESPONSE_BODY``. Content inheritance does not apply to any entity of the ``API``, ``AUTHORIZER``, ``METHOD``, ``MODEL``, ``REQUEST_BODY``, or ``RESOURCE`` type.\n\n---\n\nRequired: No \nType: String \nAllowed Values: API | AUTHORIZER | MODEL | RESOURCE | METHOD | PATH_PARAMETER | QUERY_PARAMETER | REQUEST_HEADER | REQUEST_BODY | RESPONSE | RESPONSE_HEADER | RESPONSE_BODY \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: API | AUTHORIZER | MODEL | RESOURCE | METHOD | PATH_PARAMETER | QUERY_PARAMETER | REQUEST_HEADER | REQUEST_BODY | RESPONSE | RESPONSE_HEADER | RESPONSE_BODY \nUpdate requires: No interruption" } }, "description": "The ``Location`` property specifies the location of the Amazon API Gateway API entity that the documentation applies to. ``Location`` is a property of the [AWS::ApiGateway::DocumentationPart](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-documentationpart.html) resource.\n For more information about each property, including constraints and valid values, see [DocumentationPart](https://docs.aws.amazon.com/apigateway/latest/api/API_DocumentationPartLocation.html) in the *Amazon API Gateway REST API Reference*.", diff --git a/server/schema/resources/aws-apigateway-documentationversion.json b/server/schema/resources/aws-apigateway-documentationversion.json index 351699a9..2e01ff64 100644 --- a/server/schema/resources/aws-apigateway-documentationversion.json +++ b/server/schema/resources/aws-apigateway-documentationversion.json @@ -5,21 +5,21 @@ "definitions": {}, "properties": { "Description": { - "description": "A description about the new documentation snapshot.", + "description": "", "type": "string", - "markdownDescription": "A description about the new documentation snapshot.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, "DocumentationVersion": { - "description": "The version identifier of the to-be-updated documentation version.", + "description": "", "type": "string", "minLength": 1, - "markdownDescription": "The version identifier of the to-be-updated documentation version.\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nUpdate requires: Replacement" + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nUpdate requires: Replacement" }, "RestApiId": { - "description": "The string identifier of the associated RestApi.", + "description": "", "type": "string", "minLength": 1, - "markdownDescription": "The string identifier of the associated RestApi.\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nUpdate requires: Replacement" + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nUpdate requires: Replacement" } }, "additionalProperties": false, diff --git a/server/schema/resources/aws-apigateway-gatewayresponse.json b/server/schema/resources/aws-apigateway-gatewayresponse.json index 8c91f136..e891d9cb 100644 --- a/server/schema/resources/aws-apigateway-gatewayresponse.json +++ b/server/schema/resources/aws-apigateway-gatewayresponse.json @@ -5,22 +5,22 @@ "additionalProperties": false, "properties": { "RestApiId": { - "description": "The string identifier of the associated RestApi.", + "description": "", "type": "string", - "markdownDescription": "The string identifier of the associated RestApi.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: Replacement" + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: Replacement" }, "ResponseType": { - "description": "The response type of the associated GatewayResponse.", + "description": "", "type": "string", - "markdownDescription": "The response type of the associated GatewayResponse.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: Replacement" + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: Replacement" }, "StatusCode": { - "description": "The HTTP status code for this GatewayResponse.", + "description": "", "type": "string", - "markdownDescription": "The HTTP status code for this GatewayResponse.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, "ResponseParameters": { - "description": "Response parameters (paths, query strings and headers) of the GatewayResponse as a string-to-string map of key-value pairs.", + "description": "", "type": "object", "additionalProperties": false, "patternProperties": { @@ -29,10 +29,10 @@ "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" } }, - "markdownDescription": "Response parameters (paths, query strings and headers) of the GatewayResponse as a string-to-string map of key-value pairs.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, "ResponseTemplates": { - "description": "Response templates of the GatewayResponse as a string-to-string map of key-value pairs.", + "description": "", "type": "object", "additionalProperties": false, "patternProperties": { @@ -41,7 +41,7 @@ "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" } }, - "markdownDescription": "Response templates of the GatewayResponse as a string-to-string map of key-value pairs.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" } }, "required": [ diff --git a/server/schema/resources/aws-apigateway-method.json b/server/schema/resources/aws-apigateway-method.json index 8612558b..df9a2614 100644 --- a/server/schema/resources/aws-apigateway-method.json +++ b/server/schema/resources/aws-apigateway-method.json @@ -48,7 +48,7 @@ ], "definitions": { "MethodResponse": { - "description": "Represents a method response of a given HTTP status code returned to the client. The method response is passed from the back end through the associated integration response that can be transformed using a mapping template.", + "description": "", "additionalProperties": false, "type": "object", "properties": { @@ -62,15 +62,15 @@ "markdownDescription": "\n\n---\n\nRequired: No \nType: ['boolean', 'string'] \nUpdate requires: No interruption" } }, - "description": "A key-value map specifying required or optional response parameters that API Gateway can send back to the caller. A key defines a method response header and the value specifies whether the associated method response header is required or not. The expression of the key must match the pattern ``method.response.header.{name}``, where ``name`` is a valid and unique header name. API Gateway passes certain integration response data to the method response headers specified here according to the mapping you prescribe in the API's IntegrationResponse. The integration response data that can be mapped include an integration response header expressed in ``integration.response.header.{name}``, a static value enclosed within a pair of single quotes (e.g., ``'application/json'``), or a JSON expression from the back-end response payload in the form of ``integration.response.body.{JSON-expression}``, where ``JSON-expression`` is a valid JSON expression without the ``$`` prefix.)", + "description": "", "additionalProperties": false, "type": "object", - "markdownDescription": "A key-value map specifying required or optional response parameters that API Gateway can send back to the caller. A key defines a method response header and the value specifies whether the associated method response header is required or not. The expression of the key must match the pattern ``method.response.header.{name}``, where ``name`` is a valid and unique header name. API Gateway passes certain integration response data to the method response headers specified here according to the mapping you prescribe in the API's IntegrationResponse. The integration response data that can be mapped include an integration response header expressed in ``integration.response.header.{name}``, a static value enclosed within a pair of single quotes (e.g., ``'application/json'``), or a JSON expression from the back-end response payload in the form of ``integration.response.body.{JSON-expression}``, where ``JSON-expression`` is a valid JSON expression without the ``$`` prefix.)\n\n---\n\nRequired: No \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, "StatusCode": { - "description": "The method response's status code.", + "description": "", "type": "string", - "markdownDescription": "The method response's status code.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" }, "ResponseModels": { "patternProperties": { @@ -79,16 +79,16 @@ "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" } }, - "description": "Specifies the Model resources used for the response's content-type. Response models are represented as a key/value map, with a content-type as the key and a Model name as the value.", + "description": "", "additionalProperties": false, "type": "object", - "markdownDescription": "Specifies the Model resources used for the response's content-type. Response models are represented as a key/value map, with a content-type as the key and a Model name as the value.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" } }, "required": [ "StatusCode" ], - "markdownDescription": "Represents a method response of a given HTTP status code returned to the client. The method response is passed from the back end through the associated integration response that can be transformed using a mapping template.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, "Integration": { "description": "``Integration`` is a property of the [AWS::ApiGateway::Method](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-method.html) resource that specifies information about the target backend that a method calls.", @@ -96,47 +96,47 @@ "type": "object", "properties": { "CacheNamespace": { - "description": "Specifies a group of related cached parameters. By default, API Gateway uses the resource ID as the ``cacheNamespace``. You can specify the same ``cacheNamespace`` across resources to return the same cached data for requests to different resources.", + "description": "", "type": "string", - "markdownDescription": "Specifies a group of related cached parameters. By default, API Gateway uses the resource ID as the ``cacheNamespace``. You can specify the same ``cacheNamespace`` across resources to return the same cached data for requests to different resources.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, "ConnectionType": { - "description": "The type of the network connection to the integration endpoint. The valid value is ``INTERNET`` for connections through the public routable internet or ``VPC_LINK`` for private connections between API Gateway and a network load balancer in a VPC. The default value is ``INTERNET``.", + "description": "", "type": "string", "enum": [ "INTERNET", "VPC_LINK" ], - "markdownDescription": "The type of the network connection to the integration endpoint. The valid value is ``INTERNET`` for connections through the public routable internet or ``VPC_LINK`` for private connections between API Gateway and a network load balancer in a VPC. The default value is ``INTERNET``.\n\n---\n\nRequired: No \nType: String \nAllowed Values: INTERNET | VPC_LINK \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: INTERNET | VPC_LINK \nUpdate requires: No interruption" }, "IntegrationResponses": { "uniqueItems": true, - "description": "Specifies the integration's responses.", + "description": "", "type": "array", "items": { "$ref": "#/definitions/IntegrationResponse" }, - "markdownDescription": "Specifies the integration's responses.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" }, "IntegrationHttpMethod": { - "description": "Specifies the integration's HTTP method type. For the Type property, if you specify ``MOCK``, this property is optional. For Lambda integrations, you must set the integration method to ``POST``. For all other types, you must specify this property.", + "description": "", "type": "string", - "markdownDescription": "Specifies the integration's HTTP method type. For the Type property, if you specify ``MOCK``, this property is optional. For Lambda integrations, you must set the integration method to ``POST``. For all other types, you must specify this property.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, "Uri": { - "description": "Specifies Uniform Resource Identifier (URI) of the integration endpoint.\n For ``HTTP`` or ``HTTP_PROXY`` integrations, the URI must be a fully formed, encoded HTTP(S) URL according to the RFC-3986 specification for standard integrations. If ``connectionType`` is ``VPC_LINK`` specify the Network Load Balancer DNS name. For ``AWS`` or ``AWS_PROXY`` integrations, the URI is of the form ``arn:aws:apigateway:{region}:{subdomain.service|service}:path|action/{service_api}``. Here, {Region} is the API Gateway region (e.g., us-east-1); {service} is the name of the integrated AWS service (e.g., s3); and {subdomain} is a designated subdomain supported by certain AWS service for fast host-name lookup. action can be used for an AWS service action-based API, using an Action={name}&{p1}={v1}&p2={v2}... query string. The ensuing {service_api} refers to a supported action {name} plus any required input parameters. Alternatively, path can be used for an AWS service path-based API. The ensuing service_api refers to the path to an AWS service resource, including the region of the integrated AWS service, if applicable. For example, for integration with the S3 API of GetObject, the uri can be either ``arn:aws:apigateway:us-west-2:s3:action/GetObject&Bucket={bucket}&Key={key}`` or ``arn:aws:apigateway:us-west-2:s3:path/{bucket}/{key}``", + "description": "", "type": "string", - "markdownDescription": "Specifies Uniform Resource Identifier (URI) of the integration endpoint.\n For ``HTTP`` or ``HTTP_PROXY`` integrations, the URI must be a fully formed, encoded HTTP(S) URL according to the RFC-3986 specification for standard integrations. If ``connectionType`` is ``VPC_LINK`` specify the Network Load Balancer DNS name. For ``AWS`` or ``AWS_PROXY`` integrations, the URI is of the form ``arn:aws:apigateway:{region}:{subdomain.service|service}:path|action/{service_api}``. Here, {Region} is the API Gateway region (e.g., us-east-1); {service} is the name of the integrated AWS service (e.g., s3); and {subdomain} is a designated subdomain supported by certain AWS service for fast host-name lookup. action can be used for an AWS service action-based API, using an Action={name}&{p1}={v1}&p2={v2}... query string. The ensuing {service_api} refers to a supported action {name} plus any required input parameters. Alternatively, path can be used for an AWS service path-based API. The ensuing service_api refers to the path to an AWS service resource, including the region of the integrated AWS service, if applicable. For example, for integration with the S3 API of GetObject, the uri can be either ``arn:aws:apigateway:us-west-2:s3:action/GetObject&Bucket={bucket}&Key={key}`` or ``arn:aws:apigateway:us-west-2:s3:path/{bucket}/{key}``\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, "PassthroughBehavior": { - "description": "Specifies how the method request body of an unmapped content type will be passed through the integration request to the back end without transformation. A content type is unmapped if no mapping template is defined in the integration or the content type does not match any of the mapped content types, as specified in ``requestTemplates``. The valid value is one of the following: ``WHEN_NO_MATCH``: passes the method request body through the integration request to the back end without transformation when the method request content type does not match any content type associated with the mapping templates defined in the integration request. ``WHEN_NO_TEMPLATES``: passes the method request body through the integration request to the back end without transformation when no mapping template is defined in the integration request. If a template is defined when this option is selected, the method request of an unmapped content-type will be rejected with an HTTP 415 Unsupported Media Type response. ``NEVER``: rejects the method request with an HTTP 415 Unsupported Media Type response when either the method request content type does not match any content type associated with the mapping templates defined in the integration request or no mapping template is defined in the integration request.", + "description": "", "type": "string", "enum": [ "WHEN_NO_MATCH", "WHEN_NO_TEMPLATES", "NEVER" ], - "markdownDescription": "Specifies how the method request body of an unmapped content type will be passed through the integration request to the back end without transformation. A content type is unmapped if no mapping template is defined in the integration or the content type does not match any of the mapped content types, as specified in ``requestTemplates``. The valid value is one of the following: ``WHEN_NO_MATCH``: passes the method request body through the integration request to the back end without transformation when the method request content type does not match any content type associated with the mapping templates defined in the integration request. ``WHEN_NO_TEMPLATES``: passes the method request body through the integration request to the back end without transformation when no mapping template is defined in the integration request. If a template is defined when this option is selected, the method request of an unmapped content-type will be rejected with an HTTP 415 Unsupported Media Type response. ``NEVER``: rejects the method request with an HTTP 415 Unsupported Media Type response when either the method request content type does not match any content type associated with the mapping templates defined in the integration request or no mapping template is defined in the integration request.\n\n---\n\nRequired: No \nType: String \nAllowed Values: WHEN_NO_MATCH | WHEN_NO_TEMPLATES | NEVER \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: WHEN_NO_MATCH | WHEN_NO_TEMPLATES | NEVER \nUpdate requires: No interruption" }, "RequestParameters": { "patternProperties": { @@ -145,18 +145,18 @@ "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" } }, - "description": "A key-value map specifying request parameters that are passed from the method request to the back end. The key is an integration request parameter name and the associated value is a method request parameter value or static value that must be enclosed within single quotes and pre-encoded as required by the back end. The method request parameter value must match the pattern of ``method.request.{location}.{name}``, where ``location`` is ``querystring``, ``path``, or ``header`` and ``name`` must be a valid and unique method request parameter name.", + "description": "", "additionalProperties": false, "type": "object", - "markdownDescription": "A key-value map specifying request parameters that are passed from the method request to the back end. The key is an integration request parameter name and the associated value is a method request parameter value or static value that must be enclosed within single quotes and pre-encoded as required by the back end. The method request parameter value must match the pattern of ``method.request.{location}.{name}``, where ``location`` is ``querystring``, ``path``, or ``header`` and ``name`` must be a valid and unique method request parameter name.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, "ConnectionId": { - "description": "The ID of the VpcLink used for the integration when ``connectionType=VPC_LINK`` and undefined, otherwise.", + "description": "", "type": "string", - "markdownDescription": "The ID of the VpcLink used for the integration when ``connectionType=VPC_LINK`` and undefined, otherwise.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, "Type": { - "description": "Specifies an API method integration type. The valid value is one of the following:\n For the HTTP and HTTP proxy integrations, each integration can specify a protocol (``http/https``), port and path. Standard 80 and 443 ports are supported as well as custom ports above 1024. An HTTP or HTTP proxy integration with a ``connectionType`` of ``VPC_LINK`` is referred to as a private integration and uses a VpcLink to connect API Gateway to a network load balancer of a VPC.", + "description": "", "type": "string", "enum": [ "AWS", @@ -165,26 +165,26 @@ "HTTP_PROXY", "MOCK" ], - "markdownDescription": "Specifies an API method integration type. The valid value is one of the following:\n For the HTTP and HTTP proxy integrations, each integration can specify a protocol (``http/https``), port and path. Standard 80 and 443 ports are supported as well as custom ports above 1024. An HTTP or HTTP proxy integration with a ``connectionType`` of ``VPC_LINK`` is referred to as a private integration and uses a VpcLink to connect API Gateway to a network load balancer of a VPC.\n\n---\n\nRequired: Yes \nType: String \nAllowed Values: AWS | AWS_PROXY | HTTP | HTTP_PROXY | MOCK \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nAllowed Values: AWS | AWS_PROXY | HTTP | HTTP_PROXY | MOCK \nUpdate requires: No interruption" }, "CacheKeyParameters": { "uniqueItems": true, - "description": "A list of request parameters whose values API Gateway caches. To be valid values for ``cacheKeyParameters``, these parameters must also be specified for Method ``requestParameters``.", + "description": "", "type": "array", "items": { "type": "string", "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, - "markdownDescription": "A list of request parameters whose values API Gateway caches. To be valid values for ``cacheKeyParameters``, these parameters must also be specified for Method ``requestParameters``.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" }, "ContentHandling": { - "description": "Specifies how to handle request payload content type conversions. Supported values are ``CONVERT_TO_BINARY`` and ``CONVERT_TO_TEXT``, with the following behaviors:\n If this property is not defined, the request payload will be passed through from the method request to integration request without modification, provided that the ``passthroughBehavior`` is configured to support payload pass-through.", + "description": "", "type": "string", "enum": [ "CONVERT_TO_BINARY", "CONVERT_TO_TEXT" ], - "markdownDescription": "Specifies how to handle request payload content type conversions. Supported values are ``CONVERT_TO_BINARY`` and ``CONVERT_TO_TEXT``, with the following behaviors:\n If this property is not defined, the request payload will be passed through from the method request to integration request without modification, provided that the ``passthroughBehavior`` is configured to support payload pass-through.\n\n---\n\nRequired: No \nType: String \nAllowed Values: CONVERT_TO_BINARY | CONVERT_TO_TEXT \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: CONVERT_TO_BINARY | CONVERT_TO_TEXT \nUpdate requires: No interruption" }, "RequestTemplates": { "patternProperties": { @@ -193,21 +193,21 @@ "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" } }, - "description": "Represents a map of Velocity templates that are applied on the request payload based on the value of the Content-Type header sent by the client. The content type value is the key in this map, and the template (as a String) is the value.", + "description": "", "additionalProperties": false, "type": "object", - "markdownDescription": "Represents a map of Velocity templates that are applied on the request payload based on the value of the Content-Type header sent by the client. The content type value is the key in this map, and the template (as a String) is the value.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, "TimeoutInMillis": { - "description": "Custom timeout between 50 and 29,000 milliseconds. The default value is 29,000 milliseconds or 29 seconds.", + "description": "", "type": "integer", "minimum": 50, - "markdownDescription": "Custom timeout between 50 and 29,000 milliseconds. The default value is 29,000 milliseconds or 29 seconds.\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" }, "Credentials": { - "description": "Specifies the credentials required for the integration, if any. For AWS integrations, three options are available. To specify an IAM Role for API Gateway to assume, use the role's Amazon Resource Name (ARN). To require that the caller's identity be passed through from the request, specify the string ``arn:aws:iam::\\*:user/\\*``. To use resource-based permissions on supported AWS services, specify null.", + "description": "", "type": "string", - "markdownDescription": "Specifies the credentials required for the integration, if any. For AWS integrations, three options are available. To specify an IAM Role for API Gateway to assume, use the role's Amazon Resource Name (ARN). To require that the caller's identity be passed through from the request, specify the string ``arn:aws:iam::\\*:user/\\*``. To use resource-based permissions on supported AWS services, specify null.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" } }, "required": [ @@ -227,24 +227,24 @@ "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" } }, - "description": "Specifies the templates used to transform the integration response body. Response templates are represented as a key/value map, with a content-type as the key and a template as the value.", + "description": "", "additionalProperties": false, "type": "object", - "markdownDescription": "Specifies the templates used to transform the integration response body. Response templates are represented as a key/value map, with a content-type as the key and a template as the value.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, "SelectionPattern": { - "description": "Specifies the regular expression (regex) pattern used to choose an integration response based on the response from the back end. For example, if the success response returns nothing and the error response returns some string, you could use the ``.+`` regex to match error response. However, make sure that the error response does not contain any newline (``\\n``) character in such cases. If the back end is an LAMlong function, the LAMlong function error header is matched. For all other HTTP and AWS back ends, the HTTP status code is matched.", + "description": "", "type": "string", - "markdownDescription": "Specifies the regular expression (regex) pattern used to choose an integration response based on the response from the back end. For example, if the success response returns nothing and the error response returns some string, you could use the ``.+`` regex to match error response. However, make sure that the error response does not contain any newline (``\\n``) character in such cases. If the back end is an LAMlong function, the LAMlong function error header is matched. For all other HTTP and AWS back ends, the HTTP status code is matched.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, "ContentHandling": { - "description": "Specifies how to handle response payload content type conversions. Supported values are ``CONVERT_TO_BINARY`` and ``CONVERT_TO_TEXT``, with the following behaviors:\n If this property is not defined, the response payload will be passed through from the integration response to the method response without modification.", + "description": "", "type": "string", "enum": [ "CONVERT_TO_BINARY", "CONVERT_TO_TEXT" ], - "markdownDescription": "Specifies how to handle response payload content type conversions. Supported values are ``CONVERT_TO_BINARY`` and ``CONVERT_TO_TEXT``, with the following behaviors:\n If this property is not defined, the response payload will be passed through from the integration response to the method response without modification.\n\n---\n\nRequired: No \nType: String \nAllowed Values: CONVERT_TO_BINARY | CONVERT_TO_TEXT \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: CONVERT_TO_BINARY | CONVERT_TO_TEXT \nUpdate requires: No interruption" }, "ResponseParameters": { "patternProperties": { @@ -253,15 +253,15 @@ "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" } }, - "description": "A key-value map specifying response parameters that are passed to the method response from the back end. The key is a method response header parameter name and the mapped value is an integration response header value, a static value enclosed within a pair of single quotes, or a JSON expression from the integration response body. The mapping key must match the pattern of ``method.response.header.{name}``, where ``name`` is a valid and unique header name. The mapped non-static value must match the pattern of ``integration.response.header.{name}`` or ``integration.response.body.{JSON-expression}``, where ``name`` is a valid and unique response header name and ``JSON-expression`` is a valid JSON expression without the ``$`` prefix.", + "description": "", "additionalProperties": false, "type": "object", - "markdownDescription": "A key-value map specifying response parameters that are passed to the method response from the back end. The key is a method response header parameter name and the mapped value is an integration response header value, a static value enclosed within a pair of single quotes, or a JSON expression from the integration response body. The mapping key must match the pattern of ``method.response.header.{name}``, where ``name`` is a valid and unique header name. The mapped non-static value must match the pattern of ``integration.response.header.{name}`` or ``integration.response.body.{JSON-expression}``, where ``name`` is a valid and unique response header name and ``JSON-expression`` is a valid JSON expression without the ``$`` prefix.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, "StatusCode": { - "description": "Specifies the status code that is used to map the integration response to an existing MethodResponse.", + "description": "", "type": "string", - "markdownDescription": "Specifies the status code that is used to map the integration response to an existing MethodResponse.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" } }, "required": [ @@ -272,14 +272,14 @@ }, "properties": { "Integration": { - "description": "Represents an ``HTTP``, ``HTTP_PROXY``, ``AWS``, ``AWS_PROXY``, or Mock integration.", + "description": "", "$ref": "#/definitions/Integration", - "markdownDescription": "Represents an ``HTTP``, ``HTTP_PROXY``, ``AWS``, ``AWS_PROXY``, or Mock integration.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" }, "OperationName": { - "description": "A human-friendly operation identifier for the method. For example, you can assign the ``operationName`` of ``ListPets`` for the ``GET /pets`` method in the ``PetStore`` example.", + "description": "", "type": "string", - "markdownDescription": "A human-friendly operation identifier for the method. For example, you can assign the ``operationName`` of ``ListPets`` for the ``GET /pets`` method in the ``PetStore`` example.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, "RequestModels": { "patternProperties": { @@ -288,29 +288,29 @@ "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" } }, - "description": "A key-value map specifying data schemas, represented by Model resources, (as the mapped value) of the request payloads of given content types (as the mapping key).", + "description": "", "additionalProperties": false, "type": "object", - "markdownDescription": "A key-value map specifying data schemas, represented by Model resources, (as the mapped value) of the request payloads of given content types (as the mapping key).\n\n---\n\nRequired: No \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, "RestApiId": { - "description": "The string identifier of the associated RestApi.", + "description": "", "type": "string", - "markdownDescription": "The string identifier of the associated RestApi.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: Replacement" + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: Replacement" }, "AuthorizationScopes": { - "description": "A list of authorization scopes configured on the method. The scopes are used with a ``COGNITO_USER_POOLS`` authorizer to authorize the method invocation. The authorization works by matching the method scopes against the scopes parsed from the access token in the incoming request. The method invocation is authorized if any method scopes matches a claimed scope in the access token. Otherwise, the invocation is not authorized. When the method scope is configured, the client must provide an access token instead of an identity token for authorization purposes.", + "description": "", "type": "array", "items": { "type": "string", "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, - "markdownDescription": "A list of authorization scopes configured on the method. The scopes are used with a ``COGNITO_USER_POOLS`` authorizer to authorize the method invocation. The authorization works by matching the method scopes against the scopes parsed from the access token in the incoming request. The method invocation is authorized if any method scopes matches a claimed scope in the access token. Otherwise, the invocation is not authorized. When the method scope is configured, the client must provide an access token instead of an identity token for authorization purposes.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" }, "RequestValidatorId": { - "description": "The identifier of a RequestValidator for request validation.", + "description": "", "type": "string", - "markdownDescription": "The identifier of a RequestValidator for request validation.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, "RequestParameters": { "patternProperties": { @@ -322,34 +322,34 @@ "markdownDescription": "\n\n---\n\nRequired: No \nType: ['boolean', 'string'] \nUpdate requires: No interruption" } }, - "description": "A key-value map defining required or optional method request parameters that can be accepted by API Gateway. A key is a method request parameter name matching the pattern of ``method.request.{location}.{name}``, where ``location`` is ``querystring``, ``path``, or ``header`` and ``name`` is a valid and unique parameter name. The value associated with the key is a Boolean flag indicating whether the parameter is required (``true``) or optional (``false``). The method request parameter names defined here are available in Integration to be mapped to integration request parameters or templates.", + "description": "", "additionalProperties": false, "type": "object", - "markdownDescription": "A key-value map defining required or optional method request parameters that can be accepted by API Gateway. A key is a method request parameter name matching the pattern of ``method.request.{location}.{name}``, where ``location`` is ``querystring``, ``path``, or ``header`` and ``name`` is a valid and unique parameter name. The value associated with the key is a Boolean flag indicating whether the parameter is required (``true``) or optional (``false``). The method request parameter names defined here are available in Integration to be mapped to integration request parameters or templates.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, "MethodResponses": { "uniqueItems": true, - "description": "Gets a method response associated with a given HTTP status code.", + "description": "", "type": "array", "items": { "$ref": "#/definitions/MethodResponse" }, - "markdownDescription": "Gets a method response associated with a given HTTP status code.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" }, "AuthorizerId": { - "description": "The identifier of an authorizer to use on this method. The method's authorization type must be ``CUSTOM`` or ``COGNITO_USER_POOLS``.", + "description": "", "type": "string", - "markdownDescription": "The identifier of an authorizer to use on this method. The method's authorization type must be ``CUSTOM`` or ``COGNITO_USER_POOLS``.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, "ResourceId": { - "description": "The Resource identifier for the MethodResponse resource.", + "description": "", "type": "string", - "markdownDescription": "The Resource identifier for the MethodResponse resource.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: Replacement" + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: Replacement" }, "ApiKeyRequired": { - "description": "A boolean flag specifying whether a valid ApiKey is required to invoke this method.", + "description": "", "type": "boolean", - "markdownDescription": "A boolean flag specifying whether a valid ApiKey is required to invoke this method.\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" }, "AuthorizationType": { "description": "The method's authorization type. This parameter is required. For valid values, see [Method](https://docs.aws.amazon.com/apigateway/latest/api/API_Method.html) in the *API Gateway API Reference*.\n If you specify the ``AuthorizerId`` property, specify ``CUSTOM`` or ``COGNITO_USER_POOLS`` for this property.", @@ -357,9 +357,9 @@ "markdownDescription": "The method's authorization type. This parameter is required. For valid values, see [Method](https://docs.aws.amazon.com/apigateway/latest/api/API_Method.html) in the *API Gateway API Reference*.\n If you specify the ``AuthorizerId`` property, specify ``CUSTOM`` or ``COGNITO_USER_POOLS`` for this property.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, "HttpMethod": { - "description": "The method's HTTP verb.", + "description": "", "type": "string", - "markdownDescription": "The method's HTTP verb.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: Replacement" + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: Replacement" } }, "required": [ diff --git a/server/schema/resources/aws-apigateway-model.json b/server/schema/resources/aws-apigateway-model.json index 967d07ee..3b2ca86a 100644 --- a/server/schema/resources/aws-apigateway-model.json +++ b/server/schema/resources/aws-apigateway-model.json @@ -6,13 +6,13 @@ "properties": { "ContentType": { "type": "string", - "description": "The content-type for the model.", - "markdownDescription": "The content-type for the model.\n\n---\n\nRequired: No \nType: String \nUpdate requires: Replacement" + "description": "", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: Replacement" }, "Description": { "type": "string", - "description": "The description of the model.", - "markdownDescription": "The description of the model.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "description": "", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, "Name": { "type": "string", @@ -21,16 +21,16 @@ }, "RestApiId": { "type": "string", - "description": "The string identifier of the associated RestApi.", - "markdownDescription": "The string identifier of the associated RestApi.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: Replacement" + "description": "", + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: Replacement" }, "Schema": { - "description": "The schema for the model. For ``application/json`` models, this should be JSON schema draft 4 model. Do not include \"\\*/\" characters in the description of any properties because such \"\\*/\" characters may be interpreted as the closing marker for comments in some languages, such as Java or JavaScript, causing the installation of your API's SDK generated by API Gateway to fail.", + "description": "", "type": [ "object", "string" ], - "markdownDescription": "The schema for the model. For ``application/json`` models, this should be JSON schema draft 4 model. Do not include \"\\*/\" characters in the description of any properties because such \"\\*/\" characters may be interpreted as the closing marker for comments in some languages, such as Java or JavaScript, causing the installation of your API's SDK generated by API Gateway to fail.\n\n---\n\nRequired: No \nType: ['object', 'string'] \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: No \nType: ['object', 'string'] \nUpdate requires: No interruption" } }, "required": [ diff --git a/server/schema/resources/aws-apigateway-requestvalidator.json b/server/schema/resources/aws-apigateway-requestvalidator.json index e14673f4..01891983 100644 --- a/server/schema/resources/aws-apigateway-requestvalidator.json +++ b/server/schema/resources/aws-apigateway-requestvalidator.json @@ -5,24 +5,24 @@ "additionalProperties": false, "properties": { "Name": { - "description": "The name of this RequestValidator", + "description": "", "type": "string", - "markdownDescription": "The name of this RequestValidator\n\n---\n\nRequired: No \nType: String \nUpdate requires: Replacement" + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: Replacement" }, "RestApiId": { - "description": "The string identifier of the associated RestApi.", + "description": "", "type": "string", - "markdownDescription": "The string identifier of the associated RestApi.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: Replacement" + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: Replacement" }, "ValidateRequestBody": { - "description": "A Boolean flag to indicate whether to validate a request body according to the configured Model schema.", + "description": "", "type": "boolean", - "markdownDescription": "A Boolean flag to indicate whether to validate a request body according to the configured Model schema.\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" }, "ValidateRequestParameters": { - "description": "A Boolean flag to indicate whether to validate request parameters (``true``) or not (``false``).", + "description": "", "type": "boolean", - "markdownDescription": "A Boolean flag to indicate whether to validate request parameters (``true``) or not (``false``).\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" } }, "required": [ diff --git a/server/schema/resources/aws-apigateway-resource.json b/server/schema/resources/aws-apigateway-resource.json index 9c96f87f..e1f73d41 100644 --- a/server/schema/resources/aws-apigateway-resource.json +++ b/server/schema/resources/aws-apigateway-resource.json @@ -58,19 +58,19 @@ ], "properties": { "ParentId": { - "description": "The parent resource's identifier.", + "description": "", "type": "string", - "markdownDescription": "The parent resource's identifier.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: Replacement" + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: Replacement" }, "PathPart": { - "description": "The last path segment for this resource.", + "description": "", "type": "string", - "markdownDescription": "The last path segment for this resource.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: Replacement" + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: Replacement" }, "RestApiId": { - "description": "The string identifier of the associated RestApi.", + "description": "", "type": "string", - "markdownDescription": "The string identifier of the associated RestApi.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: Replacement" + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: Replacement" } }, "required": [ diff --git a/server/schema/resources/aws-apigateway-restapi.json b/server/schema/resources/aws-apigateway-restapi.json index 5e0bf2c7..942ae7ee 100644 --- a/server/schema/resources/aws-apigateway-restapi.json +++ b/server/schema/resources/aws-apigateway-restapi.json @@ -77,17 +77,17 @@ "properties": { "Types": { "uniqueItems": true, - "description": "A list of endpoint types of an API (RestApi) or its custom domain name (DomainName). For an edge-optimized API and its custom domain name, the endpoint type is ``\"EDGE\"``. For a regional API and its custom domain name, the endpoint type is ``REGIONAL``. For a private API, the endpoint type is ``PRIVATE``.", + "description": "", "type": "array", "items": { "type": "string", "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, - "markdownDescription": "A list of endpoint types of an API (RestApi) or its custom domain name (DomainName). For an edge-optimized API and its custom domain name, the endpoint type is ``\"EDGE\"``. For a regional API and its custom domain name, the endpoint type is ``REGIONAL``. For a private API, the endpoint type is ``PRIVATE``.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" }, "VpcEndpointIds": { "uniqueItems": true, - "description": "A list of VpcEndpointIds of an API (RestApi) against which to create Route53 ALIASes. It is only supported for ``PRIVATE`` endpoint type.", + "description": "", "type": "array", "items": { "relationshipRef": { @@ -97,7 +97,7 @@ "type": "string", "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, - "markdownDescription": "A list of VpcEndpointIds of an API (RestApi) against which to create Route53 ALIASes. It is only supported for ``PRIVATE`` endpoint type.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" } }, "markdownDescription": "The ``EndpointConfiguration`` property type specifies the endpoint types of a REST API.\n ``EndpointConfiguration`` is a property of the [AWS::ApiGateway::RestApi](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-restapi.html) resource.\n\n---\n\nRequired: No \nUpdate requires: No interruption" @@ -170,14 +170,14 @@ "markdownDescription": "The Amazon Simple Storage Service (Amazon S3) location that points to an OpenAPI file, which defines a set of RESTful APIs in JSON or YAML format.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" }, "Description": { - "description": "The description of the RestApi.", + "description": "", "type": "string", - "markdownDescription": "The description of the RestApi.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, "MinimumCompressionSize": { - "description": "A nullable integer that is used to enable compression (with non-negative between 0 and 10485760 (10M) bytes, inclusive) or disable compression (with a null value) on an API. When compression is enabled, compression or decompression is not applied on the payload if the payload size is smaller than this value. Setting it to zero allows compression for any payload size.", + "description": "", "type": "integer", - "markdownDescription": "A nullable integer that is used to enable compression (with non-negative between 0 and 10485760 (10M) bytes, inclusive) or disable compression (with a null value) on an API. When compression is enabled, compression or decompression is not applied on the payload if the payload size is smaller than this value. Setting it to zero allows compression for any payload size.\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" }, "Parameters": { "patternProperties": { @@ -186,18 +186,18 @@ "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" } }, - "description": "Custom header parameters as part of the request. For example, to exclude DocumentationParts from an imported API, set ``ignore=documentation`` as a ``parameters`` value, as in the AWS CLI command of ``aws apigateway import-rest-api --parameters ignore=documentation --body 'file:///path/to/imported-api-body.json'``.", + "description": "", "additionalProperties": false, "type": [ "object", "string" ], - "markdownDescription": "Custom header parameters as part of the request. For example, to exclude DocumentationParts from an imported API, set ``ignore=documentation`` as a ``parameters`` value, as in the AWS CLI command of ``aws apigateway import-rest-api --parameters ignore=documentation --body 'file:///path/to/imported-api-body.json'``.\n\n---\n\nRequired: No \nType: ['object', 'string'] \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: No \nType: ['object', 'string'] \nUpdate requires: No interruption" }, "CloneFrom": { - "description": "The ID of the RestApi that you want to clone from.", + "description": "", "type": "string", - "markdownDescription": "The ID of the RestApi that you want to clone from.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, "Mode": { "description": "This property applies only when you use OpenAPI to define your REST API. The ``Mode`` determines how API Gateway handles resource updates.\n Valid values are ``overwrite`` or ``merge``. \n For ``overwrite``, the new API definition replaces the existing one. The existing API identifier remains unchanged.\n For ``merge``, the new API definition is merged with the existing API.\n If you don't specify this property, a default value is chosen. For REST APIs created before March 29, 2021, the default is ``overwrite``. For REST APIs created after March 29, 2021, the new API definition takes precedence, but any container types such as endpoint configurations and binary media types are merged with the existing API. \n Use the default mode to define top-level ``RestApi`` properties in addition to using OpenAPI. Generally, it's preferred to use API Gateway's OpenAPI extensions to model these properties.", @@ -205,24 +205,24 @@ "markdownDescription": "This property applies only when you use OpenAPI to define your REST API. The ``Mode`` determines how API Gateway handles resource updates.\n Valid values are ``overwrite`` or ``merge``. \n For ``overwrite``, the new API definition replaces the existing one. The existing API identifier remains unchanged.\n For ``merge``, the new API definition is merged with the existing API.\n If you don't specify this property, a default value is chosen. For REST APIs created before March 29, 2021, the default is ``overwrite``. For REST APIs created after March 29, 2021, the new API definition takes precedence, but any container types such as endpoint configurations and binary media types are merged with the existing API. \n Use the default mode to define top-level ``RestApi`` properties in addition to using OpenAPI. Generally, it's preferred to use API Gateway's OpenAPI extensions to model these properties.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, "DisableExecuteApiEndpoint": { - "description": "Specifies whether clients can invoke your API by using the default ``execute-api`` endpoint. By default, clients can invoke your API with the default ``https://{api_id}.execute-api.{region}.amazonaws.com`` endpoint. To require that clients use a custom domain name to invoke your API, disable the default endpoint", + "description": "", "type": "boolean", - "markdownDescription": "Specifies whether clients can invoke your API by using the default ``execute-api`` endpoint. By default, clients can invoke your API with the default ``https://{api_id}.execute-api.{region}.amazonaws.com`` endpoint. To require that clients use a custom domain name to invoke your API, disable the default endpoint\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" }, "FailOnWarnings": { - "description": "A query parameter to indicate whether to rollback the API update (``true``) or not (``false``) when a warning is encountered. The default value is ``false``.", + "description": "", "type": "boolean", - "markdownDescription": "A query parameter to indicate whether to rollback the API update (``true``) or not (``false``) when a warning is encountered. The default value is ``false``.\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" }, "BinaryMediaTypes": { "uniqueItems": true, - "description": "The list of binary media types supported by the RestApi. By default, the RestApi supports only UTF-8-encoded text payloads.", + "description": "", "type": "array", "items": { "type": "string", "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, - "markdownDescription": "The list of binary media types supported by the RestApi. By default, the RestApi supports only UTF-8-encoded text payloads.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" }, "Name": { "description": "The name of the RestApi. A name is required if the REST API is not based on an OpenAPI specification.", @@ -230,9 +230,9 @@ "markdownDescription": "The name of the RestApi. A name is required if the REST API is not based on an OpenAPI specification.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, "ApiKeySourceType": { - "description": "The source of the API key for metering requests according to a usage plan. Valid values are: ``HEADER`` to read the API key from the ``X-API-Key`` header of a request. ``AUTHORIZER`` to read the API key from the ``UsageIdentifierKey`` from a custom authorizer.", + "description": "", "type": "string", - "markdownDescription": "The source of the API key for metering requests according to a usage plan. Valid values are: ``HEADER`` to read the API key from the ``X-API-Key`` header of a request. ``AUTHORIZER`` to read the API key from the ``UsageIdentifierKey`` from a custom authorizer.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, "EndpointConfiguration": { "description": "A list of the endpoint types of the API. Use this property when creating an API. When importing an existing API, specify the endpoint configuration types using the ``Parameters`` property.", @@ -249,12 +249,12 @@ }, "Tags": { "uniqueItems": false, - "description": "The key-value map of strings. The valid character set is [a-zA-Z+-=._:/]. The tag key can be up to 128 characters and must not start with ``aws:``. The tag value can be up to 256 characters.", + "description": "", "type": "array", "items": { "$ref": "#/definitions/Tag" }, - "markdownDescription": "The key-value map of strings. The valid character set is [a-zA-Z+-=._:/]. The tag key can be up to 128 characters and must not start with ``aws:``. The tag value can be up to 256 characters.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" } }, "attributes": { diff --git a/server/schema/resources/aws-apigateway-stage.json b/server/schema/resources/aws-apigateway-stage.json index 1f6e71db..cc5908f7 100644 --- a/server/schema/resources/aws-apigateway-stage.json +++ b/server/schema/resources/aws-apigateway-stage.json @@ -5,79 +5,79 @@ "additionalProperties": false, "properties": { "AccessLogSetting": { - "description": "Access log settings, including the access log format and access log destination ARN.", + "description": "", "$ref": "#/definitions/AccessLogSetting", - "markdownDescription": "Access log settings, including the access log format and access log destination ARN.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" }, "CacheClusterEnabled": { - "description": "Specifies whether a cache cluster is enabled for the stage.", + "description": "", "type": "boolean", - "markdownDescription": "Specifies whether a cache cluster is enabled for the stage.\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" }, "CacheClusterSize": { - "description": "The stage's cache capacity in GB. For more information about choosing a cache size, see [Enabling API caching to enhance responsiveness](https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-caching.html).", + "description": "", "type": "string", - "markdownDescription": "The stage's cache capacity in GB. For more information about choosing a cache size, see [Enabling API caching to enhance responsiveness](https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-caching.html).\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, "CanarySetting": { - "description": "Settings for the canary deployment in this stage.", + "description": "", "$ref": "#/definitions/CanarySetting", - "markdownDescription": "Settings for the canary deployment in this stage.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" }, "ClientCertificateId": { - "description": "The identifier of a client certificate for an API stage.", + "description": "", "type": "string", - "markdownDescription": "The identifier of a client certificate for an API stage.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, "DeploymentId": { - "description": "The identifier of the Deployment that the stage points to.", + "description": "", "type": "string", - "markdownDescription": "The identifier of the Deployment that the stage points to.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, "Description": { - "description": "The stage's description.", + "description": "", "type": "string", - "markdownDescription": "The stage's description.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, "DocumentationVersion": { - "description": "The version of the associated API documentation.", + "description": "", "type": "string", - "markdownDescription": "The version of the associated API documentation.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, "MethodSettings": { - "description": "A map that defines the method settings for a Stage resource. Keys (designated as ``/{method_setting_key`` below) are method paths defined as ``{resource_path}/{http_method}`` for an individual method override, or ``/\\*/\\*`` for overriding all methods in the stage.", + "description": "", "type": "array", "uniqueItems": true, "insertionOrder": false, "items": { "$ref": "#/definitions/MethodSetting" }, - "markdownDescription": "A map that defines the method settings for a Stage resource. Keys (designated as ``/{method_setting_key`` below) are method paths defined as ``{resource_path}/{http_method}`` for an individual method override, or ``/\\*/\\*`` for overriding all methods in the stage.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" }, "RestApiId": { - "description": "The string identifier of the associated RestApi.", + "description": "", "type": "string", - "markdownDescription": "The string identifier of the associated RestApi.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: Replacement" + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: Replacement" }, "StageName": { - "description": "The name of the stage is the first path segment in the Uniform Resource Identifier (URI) of a call to API Gateway. Stage names can only contain alphanumeric characters, hyphens, and underscores. Maximum length is 128 characters.", + "description": "", "type": "string", - "markdownDescription": "The name of the stage is the first path segment in the Uniform Resource Identifier (URI) of a call to API Gateway. Stage names can only contain alphanumeric characters, hyphens, and underscores. Maximum length is 128 characters.\n\n---\n\nRequired: No \nType: String \nUpdate requires: Replacement" + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: Replacement" }, "Tags": { - "description": "The collection of tags. Each tag element is associated with a given resource.", + "description": "", "type": "array", "uniqueItems": false, "insertionOrder": false, "items": { "$ref": "#/definitions/Tag" }, - "markdownDescription": "The collection of tags. Each tag element is associated with a given resource.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" }, "TracingEnabled": { - "description": "Specifies whether active tracing with X-ray is enabled for the Stage.", + "description": "", "type": "boolean", - "markdownDescription": "Specifies whether active tracing with X-ray is enabled for the Stage.\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" }, "Variables": { "description": "A map (string-to-string map) that defines the stage variables, where the variable name is the key and the variable value is the value. Variable names are limited to alphanumeric characters. Values must match the following regular expression: ``[A-Za-z0-9-._~:/?#&=,]+``.", @@ -94,24 +94,24 @@ }, "definitions": { "CanarySetting": { - "description": "Configuration settings of a canary deployment.", + "description": "", "type": "object", "additionalProperties": false, "properties": { "DeploymentId": { - "description": "The ID of the canary deployment.", + "description": "", "type": "string", - "markdownDescription": "The ID of the canary deployment.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, "PercentTraffic": { - "description": "The percent (0-100) of traffic diverted to a canary deployment.", + "description": "", "type": "number", "minimum": 0, "maximum": 100, - "markdownDescription": "The percent (0-100) of traffic diverted to a canary deployment.\n\n---\n\nRequired: No \nType: Number \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: No \nType: Number \nUpdate requires: No interruption" }, "StageVariableOverrides": { - "description": "Stage variables overridden for a canary release deployment, including new stage variables introduced in the canary. These stage variables are represented as a string-to-string map between stage variable names and their values.", + "description": "", "type": "object", "additionalProperties": false, "patternProperties": { @@ -120,15 +120,15 @@ "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" } }, - "markdownDescription": "Stage variables overridden for a canary release deployment, including new stage variables introduced in the canary. These stage variables are represented as a string-to-string map between stage variable names and their values.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, "UseStageCache": { - "description": "A Boolean flag to indicate whether the canary deployment uses the stage cache or not.", + "description": "", "type": "boolean", - "markdownDescription": "A Boolean flag to indicate whether the canary deployment uses the stage cache or not.\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" } }, - "markdownDescription": "Configuration settings of a canary deployment.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, "AccessLogSetting": { "description": "The ``AccessLogSetting`` property type specifies settings for logging access in this stage.\n ``AccessLogSetting`` is a property of the [AWS::ApiGateway::Stage](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-stage.html) resource.", @@ -154,24 +154,24 @@ "additionalProperties": false, "properties": { "CacheDataEncrypted": { - "description": "Specifies whether the cached responses are encrypted.", + "description": "", "type": "boolean", - "markdownDescription": "Specifies whether the cached responses are encrypted.\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" }, "CacheTtlInSeconds": { - "description": "Specifies the time to live (TTL), in seconds, for cached responses. The higher the TTL, the longer the response will be cached.", + "description": "", "type": "integer", - "markdownDescription": "Specifies the time to live (TTL), in seconds, for cached responses. The higher the TTL, the longer the response will be cached.\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" }, "CachingEnabled": { - "description": "Specifies whether responses should be cached and returned for requests. A cache cluster must be enabled on the stage for responses to be cached.", + "description": "", "type": "boolean", - "markdownDescription": "Specifies whether responses should be cached and returned for requests. A cache cluster must be enabled on the stage for responses to be cached.\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" }, "DataTraceEnabled": { - "description": "Specifies whether data trace logging is enabled for this method, which affects the log entries pushed to Amazon CloudWatch Logs. This can be useful to troubleshoot APIs, but can result in logging sensitive data. We recommend that you don't enable this option for production APIs.", + "description": "", "type": "boolean", - "markdownDescription": "Specifies whether data trace logging is enabled for this method, which affects the log entries pushed to Amazon CloudWatch Logs. This can be useful to troubleshoot APIs, but can result in logging sensitive data. We recommend that you don't enable this option for production APIs.\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" }, "HttpMethod": { "description": "The HTTP method. To apply settings to multiple resources and methods, specify an asterisk (``*``) for the ``HttpMethod`` and ``/*`` for the ``ResourcePath``. This parameter is required when you specify a ``MethodSetting``.", @@ -179,14 +179,14 @@ "markdownDescription": "The HTTP method. To apply settings to multiple resources and methods, specify an asterisk (``*``) for the ``HttpMethod`` and ``/*`` for the ``ResourcePath``. This parameter is required when you specify a ``MethodSetting``.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, "LoggingLevel": { - "description": "Specifies the logging level for this method, which affects the log entries pushed to Amazon CloudWatch Logs. Valid values are ``OFF``, ``ERROR``, and ``INFO``. Choose ``ERROR`` to write only error-level entries to CloudWatch Logs, or choose ``INFO`` to include all ``ERROR`` events as well as extra informational events.", + "description": "", "type": "string", - "markdownDescription": "Specifies the logging level for this method, which affects the log entries pushed to Amazon CloudWatch Logs. Valid values are ``OFF``, ``ERROR``, and ``INFO``. Choose ``ERROR`` to write only error-level entries to CloudWatch Logs, or choose ``INFO`` to include all ``ERROR`` events as well as extra informational events.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, "MetricsEnabled": { - "description": "Specifies whether Amazon CloudWatch metrics are enabled for this method.", + "description": "", "type": "boolean", - "markdownDescription": "Specifies whether Amazon CloudWatch metrics are enabled for this method.\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" }, "ResourcePath": { "description": "The resource path for this method. Forward slashes (``/``) are encoded as ``~1`` and the initial slash must include a forward slash. For example, the path value ``/resource/subresource`` must be encoded as ``/~1resource~1subresource``. To specify the root path, use only a slash (``/``). To apply settings to multiple resources and methods, specify an asterisk (``*``) for the ``HttpMethod`` and ``/*`` for the ``ResourcePath``. This parameter is required when you specify a ``MethodSetting``.", @@ -194,16 +194,16 @@ "markdownDescription": "The resource path for this method. Forward slashes (``/``) are encoded as ``~1`` and the initial slash must include a forward slash. For example, the path value ``/resource/subresource`` must be encoded as ``/~1resource~1subresource``. To specify the root path, use only a slash (``/``). To apply settings to multiple resources and methods, specify an asterisk (``*``) for the ``HttpMethod`` and ``/*`` for the ``ResourcePath``. This parameter is required when you specify a ``MethodSetting``.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, "ThrottlingBurstLimit": { - "description": "Specifies the throttling burst limit.", + "description": "", "type": "integer", "minimum": 0, - "markdownDescription": "Specifies the throttling burst limit.\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" }, "ThrottlingRateLimit": { - "description": "Specifies the throttling rate limit.", + "description": "", "type": "number", "minimum": 0, - "markdownDescription": "Specifies the throttling rate limit.\n\n---\n\nRequired: No \nType: Number \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: No \nType: Number \nUpdate requires: No interruption" } }, "markdownDescription": "The ``MethodSetting`` property type configures settings for all methods in a stage.\n The ``MethodSettings`` property of the ``AWS::ApiGateway::Stage`` resource contains a list of ``MethodSetting`` property types.\n\n---\n\nRequired: No \nUpdate requires: No interruption" diff --git a/server/schema/resources/aws-apigateway-usageplan.json b/server/schema/resources/aws-apigateway-usageplan.json index 991e7a67..efd05d8c 100644 --- a/server/schema/resources/aws-apigateway-usageplan.json +++ b/server/schema/resources/aws-apigateway-usageplan.json @@ -6,42 +6,42 @@ "properties": { "ApiStages": { "type": "array", - "description": "The associated API stages of a usage plan.", + "description": "", "uniqueItems": true, "items": { "$ref": "#/definitions/ApiStage" }, - "markdownDescription": "The associated API stages of a usage plan.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" }, "Description": { "type": "string", - "description": "The description of a usage plan.", - "markdownDescription": "The description of a usage plan.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "description": "", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, "Quota": { "$ref": "#/definitions/QuotaSettings", - "description": "The target maximum number of permitted requests per a given unit time interval.", - "markdownDescription": "The target maximum number of permitted requests per a given unit time interval.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" + "description": "", + "markdownDescription": "\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" }, "Tags": { "type": "array", - "description": "The collection of tags. Each tag element is associated with a given resource.", + "description": "", "insertionOrder": false, "uniqueItems": false, "items": { "$ref": "#/definitions/Tag" }, - "markdownDescription": "The collection of tags. Each tag element is associated with a given resource.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" }, "Throttle": { "$ref": "#/definitions/ThrottleSettings", - "description": "A map containing method level throttling information for API stage in a usage plan.", - "markdownDescription": "A map containing method level throttling information for API stage in a usage plan.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" + "description": "", + "markdownDescription": "\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" }, "UsagePlanName": { "type": "string", - "description": "The name of a usage plan.", - "markdownDescription": "The name of a usage plan.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "description": "", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" } }, "definitions": { @@ -51,28 +51,28 @@ "properties": { "ApiId": { "type": "string", - "description": "API Id of the associated API stage in a usage plan.", - "markdownDescription": "API Id of the associated API stage in a usage plan.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "description": "", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, "Stage": { "type": "string", - "description": "API stage name of the associated API stage in a usage plan.", - "markdownDescription": "API stage name of the associated API stage in a usage plan.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "description": "", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, "Throttle": { "type": "object", - "description": "Map containing method level throttling information for API stage in a usage plan.", + "description": "", "additionalProperties": false, "patternProperties": { ".*": { "$ref": "#/definitions/ThrottleSettings" } }, - "markdownDescription": "Map containing method level throttling information for API stage in a usage plan.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" } }, - "description": "API stage name of the associated API stage in a usage plan.", - "markdownDescription": "API stage name of the associated API stage in a usage plan.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + "description": "", + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, "ThrottleSettings": { "type": "object", @@ -81,14 +81,14 @@ "BurstLimit": { "type": "integer", "minimum": 0, - "description": "The API target request burst rate limit. This allows more requests through for a period of time than the target rate limit.", - "markdownDescription": "The API target request burst rate limit. This allows more requests through for a period of time than the target rate limit.\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" + "description": "", + "markdownDescription": "\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" }, "RateLimit": { "type": "number", "minimum": 0, - "description": "The API target request rate limit.", - "markdownDescription": "The API target request rate limit.\n\n---\n\nRequired: No \nType: Number \nUpdate requires: No interruption" + "description": "", + "markdownDescription": "\n\n---\n\nRequired: No \nType: Number \nUpdate requires: No interruption" } }, "description": "``ThrottleSettings`` is a property of the [AWS::ApiGateway::UsagePlan](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-usageplan.html) resource that specifies the overall request rate (average requests per second) and burst capacity when users call your REST APIs.", @@ -127,19 +127,19 @@ "Limit": { "type": "integer", "minimum": 0, - "description": "The target maximum number of requests that can be made in a given time period.", - "markdownDescription": "The target maximum number of requests that can be made in a given time period.\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" + "description": "", + "markdownDescription": "\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" }, "Offset": { "type": "integer", "minimum": 0, - "description": "The number of requests subtracted from the given limit in the initial time period.", - "markdownDescription": "The number of requests subtracted from the given limit in the initial time period.\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" + "description": "", + "markdownDescription": "\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" }, "Period": { "type": "string", - "description": "The time period in which the limit applies. Valid values are \"DAY\", \"WEEK\" or \"MONTH\".", - "markdownDescription": "The time period in which the limit applies. Valid values are \"DAY\", \"WEEK\" or \"MONTH\".\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "description": "", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" } }, "description": "``QuotaSettings`` is a property of the [AWS::ApiGateway::UsagePlan](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-usageplan.html) resource that specifies a target for the maximum number of requests users can make to your REST APIs.\n In some cases clients can exceed the targets that you set. Don\u2019t rely on usage plans to control costs. Consider using [](https://docs.aws.amazon.com/cost-management/latest/userguide/budgets-managing-costs.html) to monitor costs and [](https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html) to manage API requests.", diff --git a/server/schema/resources/aws-apigateway-usageplankey.json b/server/schema/resources/aws-apigateway-usageplankey.json index 00f6cc64..fb1b214c 100644 --- a/server/schema/resources/aws-apigateway-usageplankey.json +++ b/server/schema/resources/aws-apigateway-usageplankey.json @@ -10,12 +10,12 @@ "markdownDescription": "The Id of the UsagePlanKey resource.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: Replacement" }, "KeyType": { - "description": "The type of a UsagePlanKey resource for a plan customer.", + "description": "", "type": "string", "enum": [ "API_KEY" ], - "markdownDescription": "The type of a UsagePlanKey resource for a plan customer.\n\n---\n\nRequired: Yes \nType: String \nAllowed Values: API_KEY \nUpdate requires: Replacement" + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nAllowed Values: API_KEY \nUpdate requires: Replacement" }, "UsagePlanId": { "description": "The Id of the UsagePlan resource representing the usage plan containing the UsagePlanKey resource representing a plan customer.", diff --git a/server/schema/resources/aws-apigateway-vpclink.json b/server/schema/resources/aws-apigateway-vpclink.json index e042ed00..9eb1c115 100644 --- a/server/schema/resources/aws-apigateway-vpclink.json +++ b/server/schema/resources/aws-apigateway-vpclink.json @@ -4,14 +4,14 @@ "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-rpdk.git", "properties": { "Name": { - "description": "The name used to label and identify the VPC link.", + "description": "", "type": "string", - "markdownDescription": "The name used to label and identify the VPC link.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" }, "Description": { - "description": "The description of the VPC link.", + "description": "", "type": "string", - "markdownDescription": "The description of the VPC link.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, "Tags": { "description": "An array of arbitrary tags (key-value pairs) to associate with the VPC link.", @@ -24,7 +24,7 @@ "markdownDescription": "An array of arbitrary tags (key-value pairs) to associate with the VPC link.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" }, "TargetArns": { - "description": "The ARN of the network load balancer of the VPC targeted by the VPC link. The network load balancer must be owned by the same AWS-account of the API owner.", + "description": "", "type": "array", "uniqueItems": false, "insertionOrder": false, @@ -32,7 +32,7 @@ "type": "string", "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, - "markdownDescription": "The ARN of the network load balancer of the VPC targeted by the VPC link. The network load balancer must be owned by the same AWS-account of the API owner.\n\n---\n\nRequired: Yes \nType: Array \nUpdate requires: Replacement" + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: Array \nUpdate requires: Replacement" } }, "definitions": { diff --git a/server/schema/resources/aws-apigatewayv2-domainname.json b/server/schema/resources/aws-apigatewayv2-domainname.json index 891c4d6a..dbc0b007 100644 --- a/server/schema/resources/aws-apigatewayv2-domainname.json +++ b/server/schema/resources/aws-apigatewayv2-domainname.json @@ -10,9 +10,9 @@ "markdownDescription": "The mutual TLS authentication configuration for a custom domain name.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" }, "DomainName": { - "description": "The custom domain name for your API in Amazon API Gateway. Uppercase letters are not supported.", + "description": "The custom domain name for your API in Amazon API Gateway. Uppercase letters and the underscore (``_``) character are not supported.", "type": "string", - "markdownDescription": "The custom domain name for your API in Amazon API Gateway. Uppercase letters are not supported.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: Replacement" + "markdownDescription": "The custom domain name for your API in Amazon API Gateway. Uppercase letters and the underscore (``_``) character are not supported.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: Replacement" }, "DomainNameConfigurations": { "description": "The domain name configurations.", @@ -85,8 +85,8 @@ "markdownDescription": "An AWS-managed certificate that will be used by the edge-optimized endpoint for this domain name. AWS Certificate Manager is the only supported source.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" } }, - "description": "The ``DomainNameConfiguration`` property type specifies the configuration for an API's domain name.\n ``DomainNameConfiguration`` is a property of the [AWS::ApiGatewayV2::DomainName](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-domainname.html) resource.", - "markdownDescription": "The ``DomainNameConfiguration`` property type specifies the configuration for an API's domain name.\n ``DomainNameConfiguration`` is a property of the [AWS::ApiGatewayV2::DomainName](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-domainname.html) resource.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + "description": "The ``DomainNameConfiguration`` property type specifies the configuration for an API's domain name.\n ``DomainNameConfiguration`` is a property of the [AWS::ApiGatewayV2::DomainName](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-domainname.html) resource.", + "markdownDescription": "The ``DomainNameConfiguration`` property type specifies the configuration for an API's domain name.\n ``DomainNameConfiguration`` is a property of the [AWS::ApiGatewayV2::DomainName](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-domainname.html) resource.\n\n---\n\nRequired: No \nUpdate requires: No interruption" } }, "required": [ diff --git a/server/schema/resources/aws-appconfig-application.json b/server/schema/resources/aws-appconfig-application.json index 6d790bfa..618a64e0 100644 --- a/server/schema/resources/aws-appconfig-application.json +++ b/server/schema/resources/aws-appconfig-application.json @@ -13,7 +13,7 @@ "description": "The key-value string map. The valid character set is [a-zA-Z1-9 +-=._:/-]. The tag key can be up to 128 characters and must not start with aws:.", "minLength": 1, "maxLength": 128, - "markdownDescription": "The key-value string map. The valid character set is [a-zA-Z1-9 +-=._:/-]. The tag key can be up to 128 characters and must not start with aws:.\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 128 \nPattern: ^(?!aws:.)[a-zA-Z1-9+=._:/-]*$ \nUpdate requires: No interruption" + "markdownDescription": "The key-value string map. The valid character set is [a-zA-Z1-9 +-=._:/-]. The tag key can be up to 128 characters and must not start with aws:.\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 128 \nUpdate requires: No interruption" }, "Value": { "type": "string", @@ -101,7 +101,12 @@ "tagOnCreate": true, "tagUpdatable": true, "cloudFormationSystemTags": true, - "tagProperty": "/properties/Tags" + "tagProperty": "/properties/Tags", + "permissions": [ + "appconfig:TagResource", + "appconfig:UntagResource", + "appconfig:ListTagsForResource" + ] }, "attributes": { "ApplicationId": { diff --git a/server/schema/resources/aws-appconfig-configurationprofile.json b/server/schema/resources/aws-appconfig-configurationprofile.json index d7286fef..0ed3c6fe 100644 --- a/server/schema/resources/aws-appconfig-configurationprofile.json +++ b/server/schema/resources/aws-appconfig-configurationprofile.json @@ -1,6 +1,11 @@ { "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-appconfig", "tagging": { + "permissions": [ + "appconfig:TagResource", + "appconfig:UntagResource", + "appconfig:ListTagsForResource" + ], "taggable": true, "tagOnCreate": true, "tagUpdatable": true, @@ -106,7 +111,7 @@ "description": "The key-value string map. The tag key can be up to 128 characters and must not start with aws:.", "type": "string", "maxLength": 128, - "markdownDescription": "The key-value string map. The tag key can be up to 128 characters and must not start with aws:.\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 128 \nPattern: ^(?!aws:.)[a-zA-Z0-9 +=._:/-]*$ \nUpdate requires: No interruption" + "markdownDescription": "The key-value string map. The tag key can be up to 128 characters and must not start with aws:.\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 128 \nUpdate requires: No interruption" } }, "markdownDescription": "Metadata to assign to the configuration profile. Tags help organize and categorize your AWS AppConfig resources. Each tag consists of a key and an optional value, both of which you define.\n\n---\n\nRequired: No \nUpdate requires: No interruption" diff --git a/server/schema/resources/aws-appconfig-deploymentstrategy.json b/server/schema/resources/aws-appconfig-deploymentstrategy.json index ec699ed0..2ecdb1d4 100644 --- a/server/schema/resources/aws-appconfig-deploymentstrategy.json +++ b/server/schema/resources/aws-appconfig-deploymentstrategy.json @@ -1,67 +1,91 @@ { "typeName": "AWS::AppConfig::DeploymentStrategy", "description": "Resource Type definition for AWS::AppConfig::DeploymentStrategy", - "additionalProperties": false, + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-appconfig.git", "properties": { - "ReplicateTo": { - "type": "string", - "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: Replacement" - }, - "GrowthType": { - "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "DeploymentDurationInMinutes": { + "type": "number", + "description": "Total amount of time for a deployment to last.", + "markdownDescription": "Total amount of time for a deployment to last.\n\n---\n\nRequired: Yes \nType: Number \nUpdate requires: No interruption" }, "Description": { "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "description": "A description of the deployment strategy.", + "markdownDescription": "A description of the deployment strategy.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, - "DeploymentDurationInMinutes": { + "FinalBakeTimeInMinutes": { "type": "number", - "markdownDescription": "\n\n---\n\nRequired: Yes \nType: Number \nUpdate requires: No interruption" + "description": "Specifies the amount of time AWS AppConfig monitors for Amazon CloudWatch alarms after the configuration has been deployed to 100% of its targets, before considering the deployment to be complete. If an alarm is triggered during this time, AWS AppConfig rolls back the deployment. You must configure permissions for AWS AppConfig to roll back based on CloudWatch alarms. For more information, see Configuring permissions for rollback based on Amazon CloudWatch alarms in the AWS AppConfig User Guide.", + "markdownDescription": "Specifies the amount of time AWS AppConfig monitors for Amazon CloudWatch alarms after the configuration has been deployed to 100% of its targets, before considering the deployment to be complete. If an alarm is triggered during this time, AWS AppConfig rolls back the deployment. You must configure permissions for AWS AppConfig to roll back based on CloudWatch alarms. For more information, see Configuring permissions for rollback based on Amazon CloudWatch alarms in the AWS AppConfig User Guide.\n\n---\n\nRequired: No \nType: Number \nUpdate requires: No interruption" }, "GrowthFactor": { "type": "number", - "markdownDescription": "\n\n---\n\nRequired: Yes \nType: Number \nUpdate requires: No interruption" + "description": "The percentage of targets to receive a deployed configuration during each interval.", + "markdownDescription": "The percentage of targets to receive a deployed configuration during each interval.\n\n---\n\nRequired: Yes \nType: Number \nUpdate requires: No interruption" }, - "FinalBakeTimeInMinutes": { - "type": "number", - "markdownDescription": "\n\n---\n\nRequired: No \nType: Number \nUpdate requires: No interruption" + "GrowthType": { + "type": "string", + "description": "The algorithm used to define how percentage grows over time. AWS AppConfig supports the following growth types:\n\nLinear: For this type, AWS AppConfig processes the deployment by dividing the total number of targets by the value specified for Step percentage. For example, a linear deployment that uses a Step percentage of 10 deploys the configuration to 10 percent of the hosts. After those deployments are complete, the system deploys the configuration to the next 10 percent. This continues until 100% of the targets have successfully received the configuration.\n\nExponential: For this type, AWS AppConfig processes the deployment exponentially using the following formula: G*(2^N). In this formula, G is the growth factor specified by the user and N is the number of steps until the configuration is deployed to all targets. For example, if you specify a growth factor of 2, then the system rolls out the configuration as follows:\n\n2*(2^0)\n\n2*(2^1)\n\n2*(2^2)\n\nExpressed numerically, the deployment rolls out as follows: 2% of the targets, 4% of the targets, 8% of the targets, and continues until the configuration has been deployed to all targets.", + "enum": [ + "EXPONENTIAL", + "LINEAR" + ], + "markdownDescription": "The algorithm used to define how percentage grows over time. AWS AppConfig supports the following growth types:\n\nLinear: For this type, AWS AppConfig processes the deployment by dividing the total number of targets by the value specified for Step percentage. For example, a linear deployment that uses a Step percentage of 10 deploys the configuration to 10 percent of the hosts. After those deployments are complete, the system deploys the configuration to the next 10 percent. This continues until 100% of the targets have successfully received the configuration.\n\nExponential: For this type, AWS AppConfig processes the deployment exponentially using the following formula: G*(2^N). In this formula, G is the growth factor specified by the user and N is the number of steps until the configuration is deployed to all targets. For example, if you specify a growth factor of 2, then the system rolls out the configuration as follows:\n\n2*(2^0)\n\n2*(2^1)\n\n2*(2^2)\n\nExpressed numerically, the deployment rolls out as follows: 2% of the targets, 4% of the targets, 8% of the targets, and continues until the configuration has been deployed to all targets.\n\n---\n\nRequired: No \nType: String \nAllowed Values: EXPONENTIAL | LINEAR \nUpdate requires: No interruption" + }, + "Name": { + "type": "string", + "description": "A name for the deployment strategy.", + "markdownDescription": "A name for the deployment strategy.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: Replacement" + }, + "ReplicateTo": { + "type": "string", + "description": "Save the deployment strategy to a Systems Manager (SSM) document.", + "enum": [ + "NONE", + "SSM_DOCUMENT" + ], + "markdownDescription": "Save the deployment strategy to a Systems Manager (SSM) document.\n\n---\n\nRequired: Yes \nType: String \nAllowed Values: NONE | SSM_DOCUMENT \nUpdate requires: Replacement" }, "Tags": { "type": "array", - "uniqueItems": false, + "description": "Assigns metadata to an AWS AppConfig resource. Tags help organize and categorize your AWS AppConfig resources. Each tag consists of a key and an optional value, both of which you define. You can specify a maximum of 50 tags for a resource.", + "uniqueItems": true, + "insertionOrder": false, "items": { - "$ref": "#/definitions/Tags" + "$ref": "#/definitions/Tag" }, - "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" - }, - "Name": { - "type": "string", - "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: Replacement" + "markdownDescription": "Assigns metadata to an AWS AppConfig resource. Tags help organize and categorize your AWS AppConfig resources. Each tag consists of a key and an optional value, both of which you define. You can specify a maximum of 50 tags for a resource.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" } }, "definitions": { - "Tags": { + "Tag": { + "description": "Metadata to assign to the deployment strategy. Tags help organize and categorize your AWS AppConfig resources. Each tag consists of a key and an optional value, both of which you define.", "type": "object", - "additionalProperties": false, "properties": { - "Value": { + "Key": { "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "description": "The key name of the tag. You can specify a value that is 1 to 128 Unicode characters in length and cannot be prefixed with aws:. You can use any of the following characters: the set of Unicode letters, digits, whitespace, _, ., /, =, +, and -.", + "markdownDescription": "The key name of the tag. You can specify a value that is 1 to 128 Unicode characters in length and cannot be prefixed with aws:. You can use any of the following characters: the set of Unicode letters, digits, whitespace, _, ., /, =, +, and -.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, - "Key": { + "Value": { "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "description": "The value for the tag. You can specify a value that is 0 to 256 Unicode characters in length and cannot be prefixed with aws:. You can use any of the following characters: the set of Unicode letters, digits, whitespace, _, ., /, =, +, and -.", + "markdownDescription": "The value for the tag. You can specify a value that is 0 to 256 Unicode characters in length and cannot be prefixed with aws:. You can use any of the following characters: the set of Unicode letters, digits, whitespace, _, ., /, =, +, and -.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" } }, - "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + "additionalProperties": false, + "markdownDescription": "Metadata to assign to the deployment strategy. Tags help organize and categorize your AWS AppConfig resources. Each tag consists of a key and an optional value, both of which you define.\n\n---\n\nRequired: No \nUpdate requires: No interruption" } }, + "additionalProperties": false, "required": [ - "ReplicateTo", "DeploymentDurationInMinutes", "GrowthFactor", - "Name" + "Name", + "ReplicateTo" + ], + "readOnlyProperties": [ + "/properties/Id" ], "createOnlyProperties": [ "/properties/Name", @@ -70,13 +94,54 @@ "primaryIdentifier": [ "/properties/Id" ], - "readOnlyProperties": [ - "/properties/Id" - ], + "handlers": { + "create": { + "permissions": [ + "appconfig:CreateDeploymentStrategy", + "appconfig:TagResource" + ] + }, + "read": { + "permissions": [ + "appconfig:GetDeploymentStrategy", + "appconfig:ListTagsForResource" + ] + }, + "update": { + "permissions": [ + "appconfig:UpdateDeploymentStrategy", + "appconfig:TagResource", + "appconfig:UntagResource" + ] + }, + "delete": { + "permissions": [ + "appconfig:DeleteDeploymentStrategy" + ] + }, + "list": { + "permissions": [ + "appconfig:ListDeploymentStrategies" + ] + } + }, + "tagging": { + "taggable": true, + "tagOnCreate": true, + "tagUpdatable": true, + "cloudFormationSystemTags": true, + "tagProperty": "/properties/Tags", + "permissions": [ + "appconfig:TagResource", + "appconfig:UntagResource", + "appconfig:ListTagsForResource" + ] + }, "attributes": { "Id": { "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "description": "The deployment strategy ID.", + "markdownDescription": "The deployment strategy ID.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" } } } \ No newline at end of file diff --git a/server/schema/resources/aws-appconfig-environment.json b/server/schema/resources/aws-appconfig-environment.json index bb68a8fd..6c9e30c5 100644 --- a/server/schema/resources/aws-appconfig-environment.json +++ b/server/schema/resources/aws-appconfig-environment.json @@ -1,6 +1,11 @@ { "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-appconfig.git", "tagging": { + "permissions": [ + "appconfig:TagResource", + "appconfig:UntagResource", + "appconfig:ListTagsForResource" + ], "taggable": true, "tagOnCreate": true, "tagUpdatable": true, @@ -117,7 +122,7 @@ "description": "The key-value string map. The valid character set is [a-zA-Z1-9+-=._:/]. The tag key can be up to 128 characters and must not start with aws:.", "type": "string", "maxLength": 128, - "markdownDescription": "The key-value string map. The valid character set is [a-zA-Z1-9+-=._:/]. The tag key can be up to 128 characters and must not start with aws:.\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 128 \nPattern: ^(?!aws:.)[a-zA-Z1-9+=._:/-]*$ \nUpdate requires: No interruption" + "markdownDescription": "The key-value string map. The valid character set is [a-zA-Z1-9+-=._:/]. The tag key can be up to 128 characters and must not start with aws:.\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 128 \nUpdate requires: No interruption" } }, "required": [ diff --git a/server/schema/resources/aws-appconfig-extension.json b/server/schema/resources/aws-appconfig-extension.json index 8cf92dc6..bc9eb176 100644 --- a/server/schema/resources/aws-appconfig-extension.json +++ b/server/schema/resources/aws-appconfig-extension.json @@ -177,13 +177,6 @@ "primaryIdentifier": [ "/properties/Id" ], - "tagging": { - "taggable": true, - "tagOnCreate": true, - "tagUpdatable": true, - "cloudFormationSystemTags": true, - "tagProperty": "/properties/Tags" - }, "handlers": { "create": { "permissions": [ @@ -216,6 +209,18 @@ ] } }, + "tagging": { + "taggable": true, + "tagOnCreate": true, + "tagUpdatable": true, + "cloudFormationSystemTags": true, + "tagProperty": "/properties/Tags", + "permissions": [ + "appconfig:TagResource", + "appconfig:UntagResource", + "appconfig:ListTagsForResource" + ] + }, "attributes": { "Id": { "type": "string", diff --git a/server/schema/resources/aws-appconfig-extensionassociation.json b/server/schema/resources/aws-appconfig-extensionassociation.json index 7928a350..4d369fea 100644 --- a/server/schema/resources/aws-appconfig-extensionassociation.json +++ b/server/schema/resources/aws-appconfig-extensionassociation.json @@ -90,13 +90,6 @@ "primaryIdentifier": [ "/properties/Id" ], - "tagging": { - "taggable": true, - "tagOnCreate": true, - "tagUpdatable": true, - "cloudFormationSystemTags": true, - "tagProperty": "/properties/Tags" - }, "handlers": { "create": { "permissions": [ @@ -128,6 +121,18 @@ ] } }, + "tagging": { + "taggable": true, + "tagOnCreate": true, + "tagUpdatable": true, + "cloudFormationSystemTags": true, + "tagProperty": "/properties/Tags", + "permissions": [ + "appconfig:TagResource", + "appconfig:UntagResource", + "appconfig:ListTagsForResource" + ] + }, "attributes": { "Id": { "type": "string", diff --git a/server/schema/resources/aws-applicationinsights-application.json b/server/schema/resources/aws-applicationinsights-application.json index 6f75ba04..8940cadf 100644 --- a/server/schema/resources/aws-applicationinsights-application.json +++ b/server/schema/resources/aws-applicationinsights-application.json @@ -27,6 +27,13 @@ "maxLength": 300, "markdownDescription": "The SNS topic provided to Application Insights that is associated to the created opsItem.\n\n---\n\nRequired: No \nType: String \nMinimum Length: 20 \nMaximum Length: 300 \nPattern: ^arn:aws(-[\\w]+)*:[\\w\\d-]+:([\\w\\d-]*)?:[\\w\\d_-]*([:/].+)*$ \nUpdate requires: No interruption" }, + "SNSNotificationArn": { + "description": "Application Insights sends notifications to this SNS topic whenever there is a problem update in the associated application.", + "type": "string", + "minLength": 20, + "maxLength": 300, + "markdownDescription": "Application Insights sends notifications to this SNS topic whenever there is a problem update in the associated application.\n\n---\n\nRequired: No \nType: String \nMinimum Length: 20 \nMaximum Length: 300 \nPattern: ^arn:aws(-[\\w]+)*:[\\w\\d-]+:([\\w\\d-]*)?:[\\w\\d_-]*([:/].+)*$ \nUpdate requires: No interruption" + }, "Tags": { "description": "The tags of Application Insights application.", "type": "array", @@ -762,6 +769,7 @@ "/properties/CustomComponents", "/properties/GroupingType", "/properties/OpsItemSNSTopicArn", + "/properties/SNSNotificationArn", "/properties/AttachMissingPermission" ], "createOnlyProperties": [ diff --git a/server/schema/resources/aws-applicationsignals-servicelevelobjective.json b/server/schema/resources/aws-applicationsignals-servicelevelobjective.json index bdeae8df..75e5042c 100644 --- a/server/schema/resources/aws-applicationsignals-servicelevelobjective.json +++ b/server/schema/resources/aws-applicationsignals-servicelevelobjective.json @@ -28,6 +28,9 @@ }, "Tags": { "$ref": "#/definitions/Tags" + }, + "BurnRateConfigurations": { + "$ref": "#/definitions/BurnRateConfigurations" } }, "required": [ @@ -472,6 +475,36 @@ "Value" ], "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "BurnRateConfigurations": { + "description": "Each object in this array defines the length of the look-back window used to calculate one burn rate metric for this SLO. The burn rate measures how fast the service is consuming the error budget, relative to the attainment goal of the SLO.", + "type": "array", + "uniqueItems": true, + "insertionOrder": false, + "items": { + "$ref": "#/definitions/BurnRateConfiguration" + }, + "minItems": 0, + "maxItems": 10, + "markdownDescription": "Each object in this array defines the length of the look-back window used to calculate one burn rate metric for this SLO. The burn rate measures how fast the service is consuming the error budget, relative to the attainment goal of the SLO.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + }, + "BurnRateConfiguration": { + "type": "object", + "description": "This object defines the length of the look-back window used to calculate one burn rate metric for this SLO. The burn rate measures how fast the service is consuming the error budget, relative to the attainment goal of the SLO. A burn rate of exactly 1 indicates that the SLO goal will be met exactly.\nFor example, if you specify 60 as the number of minutes in the look-back window, the burn rate is calculated as the following:\nburn rate = error rate over the look-back window / (1 - attainment goal percentage)", + "additionalProperties": false, + "properties": { + "LookBackWindowMinutes": { + "description": "The number of minutes to use as the look-back window.", + "type": "integer", + "minimum": 1, + "maximum": 10080, + "markdownDescription": "The number of minutes to use as the look-back window.\n\n---\n\nRequired: Yes \nType: Integer \nUpdate requires: No interruption" + } + }, + "required": [ + "LookBackWindowMinutes" + ], + "markdownDescription": "This object defines the length of the look-back window used to calculate one burn rate metric for this SLO. The burn rate measures how fast the service is consuming the error budget, relative to the attainment goal of the SLO. A burn rate of exactly 1 indicates that the SLO goal will be met exactly.\nFor example, if you specify 60 as the number of minutes in the look-back window, the burn rate is calculated as the following:\nburn rate = error rate over the look-back window / (1 - attainment goal percentage)\n\n---\n\nRequired: No \nUpdate requires: No interruption" } }, "handlers": { diff --git a/server/schema/resources/aws-appsync-api.json b/server/schema/resources/aws-appsync-api.json new file mode 100644 index 00000000..3d083aa9 --- /dev/null +++ b/server/schema/resources/aws-appsync-api.json @@ -0,0 +1,363 @@ +{ + "typeName": "AWS::AppSync::Api", + "description": "Resource schema for AppSync Api", + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-rpdk.git", + "definitions": { + "EventConfig": { + "description": "The configuration for an Event Api", + "type": "object", + "additionalProperties": false, + "properties": { + "AuthProviders": { + "$ref": "#/definitions/AuthProviders" + }, + "ConnectionAuthModes": { + "$ref": "#/definitions/AuthModes" + }, + "DefaultPublishAuthModes": { + "$ref": "#/definitions/AuthModes" + }, + "DefaultSubscribeAuthModes": { + "$ref": "#/definitions/AuthModes" + }, + "LogConfig": { + "$ref": "#/definitions/EventLogConfig" + } + }, + "required": [ + "AuthProviders", + "ConnectionAuthModes", + "DefaultPublishAuthModes", + "DefaultSubscribeAuthModes" + ], + "markdownDescription": "The configuration for an Event Api\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "AuthMode": { + "description": "An auth mode.", + "type": "object", + "additionalProperties": false, + "properties": { + "AuthType": { + "$ref": "#/definitions/AuthenticationType" + } + }, + "markdownDescription": "An auth mode.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "AuthModes": { + "description": "A list of auth modes for the AppSync API.", + "type": "array", + "insertionOrder": false, + "items": { + "$ref": "#/definitions/AuthMode" + }, + "markdownDescription": "A list of auth modes for the AppSync API.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + }, + "AuthenticationType": { + "description": "Security configuration for your AppSync API.", + "type": "string", + "enum": [ + "AMAZON_COGNITO_USER_POOLS", + "AWS_IAM", + "API_KEY", + "OPENID_CONNECT", + "AWS_LAMBDA" + ], + "markdownDescription": "Security configuration for your AppSync API.\n\n---\n\nRequired: No \nType: String \nAllowed Values: AMAZON_COGNITO_USER_POOLS | AWS_IAM | API_KEY | OPENID_CONNECT | AWS_LAMBDA \nUpdate requires: No interruption" + }, + "OpenIDConnectConfig": { + "description": "The OpenID Connect configuration.", + "type": "object", + "additionalProperties": false, + "properties": { + "ClientId": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "AuthTTL": { + "type": "number", + "markdownDescription": "\n\n---\n\nRequired: No \nType: Number \nUpdate requires: No interruption" + }, + "Issuer": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" + }, + "IatTTL": { + "type": "number", + "markdownDescription": "\n\n---\n\nRequired: No \nType: Number \nUpdate requires: No interruption" + } + }, + "required": [ + "Issuer" + ], + "markdownDescription": "The OpenID Connect configuration.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "CognitoConfig": { + "description": "Optional authorization configuration for using Amazon Cognito user pools with your API endpoint.", + "type": "object", + "additionalProperties": false, + "properties": { + "AppIdClientRegex": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "UserPoolId": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" + }, + "AwsRegion": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" + } + }, + "required": [ + "UserPoolId", + "AwsRegion" + ], + "markdownDescription": "Optional authorization configuration for using Amazon Cognito user pools with your API endpoint.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "LambdaAuthorizerConfig": { + "description": "A LambdaAuthorizerConfig holds configuration on how to authorize AWS AppSync API access when using the AWS_LAMBDA authorizer mode. Be aware that an AWS AppSync API may have only one Lambda authorizer configured at a time.", + "type": "object", + "additionalProperties": false, + "properties": { + "AuthorizerResultTtlInSeconds": { + "type": "integer", + "minimum": 0, + "maximum": 3600, + "markdownDescription": "\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" + }, + "AuthorizerUri": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" + }, + "IdentityValidationExpression": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + } + }, + "required": [ + "AuthorizerUri" + ], + "markdownDescription": "A LambdaAuthorizerConfig holds configuration on how to authorize AWS AppSync API access when using the AWS_LAMBDA authorizer mode. Be aware that an AWS AppSync API may have only one Lambda authorizer configured at a time.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "AuthProviders": { + "description": "A list of auth providers for the AppSync API.", + "type": "array", + "insertionOrder": false, + "items": { + "$ref": "#/definitions/AuthProvider" + }, + "markdownDescription": "A list of auth providers for the AppSync API.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + }, + "AuthProvider": { + "description": "An auth provider for the AppSync API.", + "type": "object", + "additionalProperties": false, + "properties": { + "AuthType": { + "$ref": "#/definitions/AuthenticationType" + }, + "OpenIDConnectConfig": { + "$ref": "#/definitions/OpenIDConnectConfig" + }, + "CognitoConfig": { + "$ref": "#/definitions/CognitoConfig" + }, + "LambdaAuthorizerConfig": { + "$ref": "#/definitions/LambdaAuthorizerConfig" + } + }, + "required": [ + "AuthType" + ], + "markdownDescription": "An auth provider for the AppSync API.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "Tag": { + "description": "An arbitrary set of tags (key-value pairs) for this AppSync API.", + "type": "object", + "properties": { + "Key": { + "description": "A string used to identify this tag. You can specify a maximum of 128 characters for a tag key.", + "type": "string", + "minLength": 1, + "maxLength": 128, + "markdownDescription": "A string used to identify this tag. You can specify a maximum of 128 characters for a tag key.\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 128 \nPattern: ^(?!aws:)[ a-zA-Z+-=._:/]+$ \nUpdate requires: No interruption" + }, + "Value": { + "description": "A string containing the value for this tag. You can specify a maximum of 256 characters for a tag value.", + "type": "string", + "minLength": 0, + "maxLength": 256, + "markdownDescription": "A string containing the value for this tag. You can specify a maximum of 256 characters for a tag value.\n\n---\n\nRequired: Yes \nType: String \nMaximum Length: 256 \nPattern: ^[\\s\\w+-=\\.:/@]*$ \nUpdate requires: No interruption" + } + }, + "required": [ + "Key", + "Value" + ], + "additionalProperties": false, + "markdownDescription": "An arbitrary set of tags (key-value pairs) for this AppSync API.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "Tags": { + "description": "An arbitrary set of tags (key-value pairs) for this AppSync API.", + "type": "array", + "uniqueItems": true, + "insertionOrder": false, + "items": { + "$ref": "#/definitions/Tag" + }, + "markdownDescription": "An arbitrary set of tags (key-value pairs) for this AppSync API.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + }, + "ApiName": { + "description": "The name of the AppSync API.", + "type": "string", + "minLength": 1, + "maxLength": 50, + "markdownDescription": "The name of the AppSync API.\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 50 \nPattern: [A-Za-z0-9_\\-\\ ]+ \nUpdate requires: No interruption" + }, + "OwnerContact": { + "description": "The owner contact information for an API resource.", + "type": "string", + "minLength": 1, + "maxLength": 250, + "markdownDescription": "The owner contact information for an API resource.\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 250 \nPattern: [A-Za-z0-9_\\-\\ \\.]+ \nUpdate requires: No interruption" + }, + "DnsMap": { + "description": "A map of DNS names for the AppSync API.", + "type": "object", + "additionalProperties": false, + "properties": { + "Realtime": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "Http": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + } + }, + "markdownDescription": "A map of DNS names for the AppSync API.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "EventLogLevel": { + "description": "Logging level for the AppSync API.", + "type": "string", + "enum": [ + "NONE", + "ERROR", + "ALL", + "INFO", + "DEBUG" + ], + "markdownDescription": "Logging level for the AppSync API.\n\n---\n\nRequired: No \nType: String \nAllowed Values: NONE | ERROR | ALL | INFO | DEBUG \nUpdate requires: No interruption" + }, + "EventLogConfig": { + "description": "The log config for the AppSync API.", + "type": "object", + "additionalProperties": false, + "properties": { + "LogLevel": { + "$ref": "#/definitions/EventLogLevel" + }, + "CloudWatchLogsRoleArn": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" + } + }, + "required": [ + "LogLevel", + "CloudWatchLogsRoleArn" + ], + "markdownDescription": "The log config for the AppSync API.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + } + }, + "properties": { + "Name": { + "$ref": "#/definitions/ApiName" + }, + "OwnerContact": { + "$ref": "#/definitions/OwnerContact" + }, + "EventConfig": { + "$ref": "#/definitions/EventConfig" + }, + "Tags": { + "$ref": "#/definitions/Tags" + } + }, + "tagging": { + "taggable": true, + "tagOnCreate": true, + "tagUpdatable": true, + "cloudFormationSystemTags": true, + "tagProperty": "/properties/Tags", + "permissions": [ + "appsync:TagResource", + "appsync:UntagResource" + ] + }, + "additionalProperties": false, + "required": [ + "Name" + ], + "readOnlyProperties": [ + "/properties/ApiId", + "/properties/Dns", + "/properties/Dns/Realtime", + "/properties/Dns/Http", + "/properties/ApiArn" + ], + "primaryIdentifier": [ + "/properties/ApiArn" + ], + "handlers": { + "create": { + "permissions": [ + "appsync:CreateApi", + "appsync:TagResource", + "appsync:GetApi", + "iam:PassRole" + ] + }, + "read": { + "permissions": [ + "appsync:GetApi", + "appsync:ListTagsForResource" + ] + }, + "update": { + "permissions": [ + "appsync:UpdateApi", + "appsync:TagResource", + "appsync:UntagResource", + "appsync:GetApi", + "iam:PassRole" + ] + }, + "delete": { + "permissions": [ + "appsync:DeleteApi", + "appsync:UntagResource" + ] + }, + "list": { + "permissions": [ + "appsync:ListApis" + ] + } + }, + "attributes": { + "ApiId": { + "description": "The unique identifier for the AppSync Api generated by the service", + "type": "string", + "markdownDescription": "The unique identifier for the AppSync Api generated by the service\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "ApiArn": { + "description": "The Amazon Resource Name (ARN) of the AppSync Api", + "type": "string", + "markdownDescription": "The Amazon Resource Name (ARN) of the AppSync Api\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "Dns": { + "$ref": "#/definitions/DnsMap" + } + } +} \ No newline at end of file diff --git a/server/schema/resources/aws-appsync-channelnamespace.json b/server/schema/resources/aws-appsync-channelnamespace.json new file mode 100644 index 00000000..fc3c4653 --- /dev/null +++ b/server/schema/resources/aws-appsync-channelnamespace.json @@ -0,0 +1,204 @@ +{ + "typeName": "AWS::AppSync::ChannelNamespace", + "description": "Resource schema for AppSync ChannelNamespace", + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-rpdk.git", + "definitions": { + "Namespace": { + "description": "Namespace indentifier.", + "type": "string", + "minLength": 1, + "maxLength": 50, + "markdownDescription": "Namespace indentifier.\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 50 \nPattern: ([A-Za-z0-9](?:[A-Za-z0-9\\-]{0,48}[A-Za-z0-9])?) \nUpdate requires: No interruption" + }, + "AuthMode": { + "description": "An auth mode.", + "type": "object", + "additionalProperties": false, + "properties": { + "AuthType": { + "$ref": "#/definitions/AuthenticationType" + } + }, + "markdownDescription": "An auth mode.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "AuthModes": { + "type": "array", + "insertionOrder": false, + "items": { + "$ref": "#/definitions/AuthMode" + }, + "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + }, + "AuthenticationType": { + "description": "Security configuration for your AppSync API.", + "type": "string", + "enum": [ + "AMAZON_COGNITO_USER_POOLS", + "AWS_IAM", + "API_KEY", + "OPENID_CONNECT", + "AWS_LAMBDA" + ], + "markdownDescription": "Security configuration for your AppSync API.\n\n---\n\nRequired: No \nType: String \nAllowed Values: AMAZON_COGNITO_USER_POOLS | AWS_IAM | API_KEY | OPENID_CONNECT | AWS_LAMBDA \nUpdate requires: No interruption" + }, + "Code": { + "description": "String of APPSYNC_JS code to be used by the handlers.", + "type": "string", + "minLength": 1, + "maxLength": 32768, + "markdownDescription": "String of APPSYNC_JS code to be used by the handlers.\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 32768 \nUpdate requires: No interruption" + }, + "ChannelNamespaceArn": { + "type": "string", + "description": "The Amazon Resource Name (ARN) for the Channel Namespace.", + "markdownDescription": "The Amazon Resource Name (ARN) for the Channel Namespace.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "Tag": { + "description": "An arbitrary set of tags (key-value pairs) for this AppSync API.", + "type": "object", + "properties": { + "Key": { + "description": "A string used to identify this tag. You can specify a maximum of 128 characters for a tag key.", + "type": "string", + "minLength": 1, + "maxLength": 128, + "markdownDescription": "A string used to identify this tag. You can specify a maximum of 128 characters for a tag key.\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 128 \nPattern: ^(?!aws:)[ a-zA-Z+-=._:/]+$ \nUpdate requires: No interruption" + }, + "Value": { + "description": "A string containing the value for this tag. You can specify a maximum of 256 characters for a tag value.", + "type": "string", + "minLength": 0, + "maxLength": 256, + "markdownDescription": "A string containing the value for this tag. You can specify a maximum of 256 characters for a tag value.\n\n---\n\nRequired: Yes \nType: String \nMaximum Length: 256 \nPattern: ^[\\s\\w+-=\\.:/@]*$ \nUpdate requires: No interruption" + } + }, + "required": [ + "Key", + "Value" + ], + "additionalProperties": false, + "markdownDescription": "An arbitrary set of tags (key-value pairs) for this AppSync API.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "Tags": { + "description": "An arbitrary set of tags (key-value pairs) for this AppSync API.", + "type": "array", + "uniqueItems": true, + "insertionOrder": false, + "items": { + "$ref": "#/definitions/Tag" + }, + "markdownDescription": "An arbitrary set of tags (key-value pairs) for this AppSync API.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + } + }, + "properties": { + "ApiId": { + "description": "AppSync Api Id that this Channel Namespace belongs to.", + "type": "string", + "markdownDescription": "AppSync Api Id that this Channel Namespace belongs to.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: Replacement" + }, + "Name": { + "$ref": "#/definitions/Namespace" + }, + "SubscribeAuthModes": { + "description": "List of AuthModes supported for Subscribe operations.", + "$ref": "#/definitions/AuthModes", + "markdownDescription": "List of AuthModes supported for Subscribe operations.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" + }, + "PublishAuthModes": { + "description": "List of AuthModes supported for Publish operations.", + "$ref": "#/definitions/AuthModes", + "markdownDescription": "List of AuthModes supported for Publish operations.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" + }, + "CodeHandlers": { + "$ref": "#/definitions/Code" + }, + "CodeS3Location": { + "description": "The Amazon S3 endpoint where the code is located.", + "type": "string", + "markdownDescription": "The Amazon S3 endpoint where the code is located.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "Tags": { + "$ref": "#/definitions/Tags" + } + }, + "tagging": { + "taggable": true, + "tagOnCreate": true, + "tagUpdatable": true, + "cloudFormationSystemTags": true, + "tagProperty": "/properties/Tags", + "permissions": [ + "appsync:TagResource", + "appsync:UntagResource" + ] + }, + "additionalProperties": false, + "required": [ + "ApiId", + "Name" + ], + "readOnlyProperties": [ + "/properties/ChannelNamespaceArn" + ], + "createOnlyProperties": [ + "/properties/ApiId", + "/properties/Name" + ], + "primaryIdentifier": [ + "/properties/ChannelNamespaceArn" + ], + "writeOnlyProperties": [ + "/properties/CodeS3Location" + ], + "handlers": { + "create": { + "permissions": [ + "appsync:CreateChannelNamespace", + "appsync:TagResource", + "appsync:GetChannelNamespace", + "s3:GetObject" + ] + }, + "read": { + "permissions": [ + "appsync:GetChannelNamespace", + "appsync:ListTagsForResource" + ] + }, + "update": { + "permissions": [ + "appsync:UpdateChannelNamespace", + "appsync:TagResource", + "appsync:UntagResource", + "appsync:GetChannelNamespace", + "s3:GetObject" + ] + }, + "delete": { + "permissions": [ + "appsync:DeleteChannelNamespace", + "appsync:UntagResource" + ] + }, + "list": { + "permissions": [ + "appsync:ListChannelNamespaces" + ], + "handlerSchema": { + "properties": { + "ApiId": { + "$ref": "resource-schema.json#/properties/ApiId" + } + }, + "required": [ + "ApiId" + ] + } + } + }, + "attributes": { + "ChannelNamespaceArn": { + "$ref": "#/definitions/ChannelNamespaceArn" + } + } +} \ No newline at end of file diff --git a/server/schema/resources/aws-appsync-datasource.json b/server/schema/resources/aws-appsync-datasource.json index 12487792..50e7e6f5 100644 --- a/server/schema/resources/aws-appsync-datasource.json +++ b/server/schema/resources/aws-appsync-datasource.json @@ -1,52 +1,80 @@ { "typeName": "AWS::AppSync::DataSource", "description": "Resource Type definition for AWS::AppSync::DataSource", + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-appsync", "additionalProperties": false, + "tagging": { + "taggable": false + }, "properties": { - "OpenSearchServiceConfig": { - "$ref": "#/definitions/OpenSearchServiceConfig" - }, - "Description": { - "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" - }, - "ServiceRoleArn": { + "ApiId": { + "description": "Unique AWS AppSync GraphQL API identifier where this data source will be created.", "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "markdownDescription": "Unique AWS AppSync GraphQL API identifier where this data source will be created.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: Replacement" }, - "MetricsConfig": { + "Description": { + "description": "The description of the data source.", "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "markdownDescription": "The description of the data source.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, - "Name": { - "type": "string", - "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: Replacement" + "DynamoDBConfig": { + "description": "AWS Region and TableName for an Amazon DynamoDB table in your account.", + "$ref": "#/definitions/DynamoDBConfig", + "markdownDescription": "AWS Region and TableName for an Amazon DynamoDB table in your account.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" }, - "Type": { - "type": "string", - "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" + "ElasticsearchConfig": { + "description": "AWS Region and Endpoints for an Amazon OpenSearch Service domain in your account.\nAs of September 2021, Amazon Elasticsearch Service is Amazon OpenSearch Service. This property is deprecated. For new data sources, use OpenSearchServiceConfig to specify an OpenSearch Service data source.", + "$ref": "#/definitions/ElasticsearchConfig", + "markdownDescription": "AWS Region and Endpoints for an Amazon OpenSearch Service domain in your account.\nAs of September 2021, Amazon Elasticsearch Service is Amazon OpenSearch Service. This property is deprecated. For new data sources, use OpenSearchServiceConfig to specify an OpenSearch Service data source.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" }, "EventBridgeConfig": { - "$ref": "#/definitions/EventBridgeConfig" + "description": "ARN for the EventBridge bus.", + "$ref": "#/definitions/EventBridgeConfig", + "markdownDescription": "ARN for the EventBridge bus.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" }, "HttpConfig": { - "$ref": "#/definitions/HttpConfig" - }, - "RelationalDatabaseConfig": { - "$ref": "#/definitions/RelationalDatabaseConfig" + "description": "Endpoints for an HTTP data source.", + "$ref": "#/definitions/HttpConfig", + "markdownDescription": "Endpoints for an HTTP data source.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" }, "LambdaConfig": { - "$ref": "#/definitions/LambdaConfig" + "description": "An ARN of a Lambda function in valid ARN format. This can be the ARN of a Lambda function that exists in the current account or in another account.", + "$ref": "#/definitions/LambdaConfig", + "markdownDescription": "An ARN of a Lambda function in valid ARN format. This can be the ARN of a Lambda function that exists in the current account or in another account.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" }, - "ApiId": { + "Name": { + "description": "Friendly name for you to identify your AppSync data source after creation.", "type": "string", - "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: Replacement" + "markdownDescription": "Friendly name for you to identify your AppSync data source after creation.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: Replacement" }, - "DynamoDBConfig": { - "$ref": "#/definitions/DynamoDBConfig" + "OpenSearchServiceConfig": { + "description": "AWS Region and Endpoints for an Amazon OpenSearch Service domain in your account.", + "$ref": "#/definitions/OpenSearchServiceConfig", + "markdownDescription": "AWS Region and Endpoints for an Amazon OpenSearch Service domain in your account.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" }, - "ElasticsearchConfig": { - "$ref": "#/definitions/ElasticsearchConfig" + "RelationalDatabaseConfig": { + "description": "Relational Database configuration of the relational database data source.", + "$ref": "#/definitions/RelationalDatabaseConfig", + "markdownDescription": "Relational Database configuration of the relational database data source.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" + }, + "ServiceRoleArn": { + "description": "The AWS Identity and Access Management service role ARN for the data source. The system assumes this role when accessing the data source.", + "type": "string", + "markdownDescription": "The AWS Identity and Access Management service role ARN for the data source. The system assumes this role when accessing the data source.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "Type": { + "description": "The type of the data source.", + "type": "string", + "markdownDescription": "The type of the data source.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" + }, + "MetricsConfig": { + "description": "", + "type": "string", + "enum": [ + "DISABLED", + "ENABLED" + ], + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: DISABLED | ENABLED \nUpdate requires: No interruption" } }, "definitions": { @@ -55,24 +83,29 @@ "additionalProperties": false, "properties": { "DatabaseName": { + "description": "Logical database name.", "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "markdownDescription": "Logical database name.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, "AwsRegion": { + "description": "AWS Region for RDS HTTP endpoint.", "type": "string", - "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" + "markdownDescription": "AWS Region for RDS HTTP endpoint.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" }, "DbClusterIdentifier": { + "description": "Amazon RDS cluster Amazon Resource Name (ARN).", "type": "string", - "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" + "markdownDescription": "Amazon RDS cluster Amazon Resource Name (ARN).\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" }, "AwsSecretStoreArn": { + "description": "The ARN for database credentials stored in AWS Secrets Manager.", "type": "string", - "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" + "markdownDescription": "The ARN for database credentials stored in AWS Secrets Manager.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" }, "Schema": { + "description": "Logical schema name.", "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "markdownDescription": "Logical schema name.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" } }, "required": [ @@ -87,12 +120,14 @@ "additionalProperties": false, "properties": { "AwsRegion": { + "description": "The AWS Region.", "type": "string", - "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" + "markdownDescription": "The AWS Region.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" }, "Endpoint": { + "description": "The endpoint.", "type": "string", - "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" + "markdownDescription": "The endpoint.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" } }, "required": [ @@ -106,12 +141,14 @@ "additionalProperties": false, "properties": { "SigningRegion": { + "description": "The signing Region for AWS Identity and Access Management authorization.", "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "markdownDescription": "The signing Region for AWS Identity and Access Management authorization.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, "SigningServiceName": { + "description": "The signing service name for AWS Identity and Access Management authorization.", "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "markdownDescription": "The signing service name for AWS Identity and Access Management authorization.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" } }, "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" @@ -121,8 +158,9 @@ "additionalProperties": false, "properties": { "EventBusArn": { + "description": "ARN for the EventBridge bus.", "type": "string", - "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" + "markdownDescription": "ARN for the EventBridge bus.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" } }, "required": [ @@ -135,11 +173,14 @@ "additionalProperties": false, "properties": { "AuthorizationType": { + "description": "The authorization type that the HTTP endpoint requires.", "type": "string", - "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" + "markdownDescription": "The authorization type that the HTTP endpoint requires.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" }, "AwsIamConfig": { - "$ref": "#/definitions/AwsIamConfig" + "description": "The AWS Identity and Access Management settings.", + "$ref": "#/definitions/AwsIamConfig", + "markdownDescription": "The AWS Identity and Access Management settings.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" } }, "required": [ @@ -152,16 +193,19 @@ "additionalProperties": false, "properties": { "BaseTableTTL": { + "description": "The number of minutes that an Item is stored in the data source.", "type": "string", - "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" + "markdownDescription": "The number of minutes that an Item is stored in the data source.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" }, "DeltaSyncTableTTL": { + "description": "The number of minutes that a Delta Sync log entry is stored in the Delta Sync table.", "type": "string", - "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" + "markdownDescription": "The number of minutes that a Delta Sync log entry is stored in the Delta Sync table.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" }, "DeltaSyncTableName": { + "description": "The Delta Sync table name.", "type": "string", - "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" + "markdownDescription": "The Delta Sync table name.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" } }, "required": [ @@ -176,11 +220,14 @@ "additionalProperties": false, "properties": { "RdsHttpEndpointConfig": { - "$ref": "#/definitions/RdsHttpEndpointConfig" + "description": "Information about the Amazon RDS resource.", + "$ref": "#/definitions/RdsHttpEndpointConfig", + "markdownDescription": "Information about the Amazon RDS resource.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" }, "RelationalDatabaseSourceType": { + "description": "The type of relational data source.", "type": "string", - "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" + "markdownDescription": "The type of relational data source.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" } }, "required": [ @@ -193,11 +240,14 @@ "additionalProperties": false, "properties": { "Endpoint": { + "description": "The endpoint.", "type": "string", - "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" + "markdownDescription": "The endpoint.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" }, "AuthorizationConfig": { - "$ref": "#/definitions/AuthorizationConfig" + "description": "The authorization configuration.", + "$ref": "#/definitions/AuthorizationConfig", + "markdownDescription": "The authorization configuration.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" } }, "required": [ @@ -210,8 +260,9 @@ "additionalProperties": false, "properties": { "LambdaFunctionArn": { + "description": "The ARN for the Lambda function.", "type": "string", - "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" + "markdownDescription": "The ARN for the Lambda function.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" } }, "required": [ @@ -224,12 +275,14 @@ "additionalProperties": false, "properties": { "AwsRegion": { + "description": "The AWS Region.", "type": "string", - "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" + "markdownDescription": "The AWS Region.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" }, "Endpoint": { + "description": "The endpoint.", "type": "string", - "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" + "markdownDescription": "The endpoint.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" } }, "required": [ @@ -243,23 +296,29 @@ "additionalProperties": false, "properties": { "TableName": { + "description": "The table name.", "type": "string", - "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" + "markdownDescription": "The table name.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" }, "DeltaSyncConfig": { - "$ref": "#/definitions/DeltaSyncConfig" + "description": "The DeltaSyncConfig for a versioned datasource.", + "$ref": "#/definitions/DeltaSyncConfig", + "markdownDescription": "The DeltaSyncConfig for a versioned datasource.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" }, "UseCallerCredentials": { + "description": "Set to TRUE to use AWS Identity and Access Management with this data source.", "type": "boolean", - "markdownDescription": "\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" + "markdownDescription": "Set to TRUE to use AWS Identity and Access Management with this data source.\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" }, "AwsRegion": { + "description": "The AWS Region.", "type": "string", - "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" + "markdownDescription": "The AWS Region.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" }, "Versioned": { + "description": "Set to TRUE to use Conflict Detection and Resolution with this data source.", "type": "boolean", - "markdownDescription": "\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" + "markdownDescription": "Set to TRUE to use Conflict Detection and Resolution with this data source.\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" } }, "required": [ @@ -279,20 +338,60 @@ "/properties/Name" ], "primaryIdentifier": [ - "/properties/Id" + "/properties/DataSourceArn" ], "readOnlyProperties": [ - "/properties/Id", "/properties/DataSourceArn" ], + "deprecatedProperties": [ + "/properties/ElasticsearchConfig" + ], + "handlers": { + "create": { + "permissions": [ + "appsync:CreateDataSource", + "appsync:GetDataSource", + "iam:PassRole" + ] + }, + "read": { + "permissions": [ + "appsync:GetDataSource" + ] + }, + "update": { + "permissions": [ + "appsync:UpdateDataSource", + "iam:PassRole" + ] + }, + "delete": { + "permissions": [ + "appsync:DeleteDataSource", + "appsync:GetDataSource" + ] + }, + "list": { + "handlerSchema": { + "properties": { + "ApiId": { + "$ref": "resource-schema.json#/properties/ApiId" + } + }, + "required": [ + "ApiId" + ] + }, + "permissions": [ + "appsync:ListDataSources" + ] + } + }, "attributes": { "DataSourceArn": { + "description": "The Amazon Resource Name (ARN) of the API key, such as arn:aws:appsync:us-east-1:123456789012:apis/graphqlapiid/datasources/datasourcename.", "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" - }, - "Id": { - "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "markdownDescription": "The Amazon Resource Name (ARN) of the API key, such as arn:aws:appsync:us-east-1:123456789012:apis/graphqlapiid/datasources/datasourcename.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" } } } \ No newline at end of file diff --git a/server/schema/resources/aws-appsync-graphqlapi.json b/server/schema/resources/aws-appsync-graphqlapi.json index 7c0fe919..57b57ad1 100644 --- a/server/schema/resources/aws-appsync-graphqlapi.json +++ b/server/schema/resources/aws-appsync-graphqlapi.json @@ -3,80 +3,110 @@ "description": "Resource Type definition for AWS::AppSync::GraphQLApi", "additionalProperties": false, "properties": { - "OpenIDConnectConfig": { - "$ref": "#/definitions/OpenIDConnectConfig" + "AdditionalAuthenticationProviders": { + "type": "array", + "description": "A list of additional authentication providers for the GraphqlApi API.", + "uniqueItems": true, + "items": { + "$ref": "#/definitions/AdditionalAuthenticationProvider" + }, + "markdownDescription": "A list of additional authentication providers for the GraphqlApi API.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" }, - "MergedApiExecutionRoleArn": { + "ApiType": { + "description": "The value that indicates whether the GraphQL API is a standard API (GRAPHQL) or merged API (MERGED).", "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" - }, - "EnhancedMetricsConfig": { - "$ref": "#/definitions/EnhancedMetricsConfig" + "markdownDescription": "The value that indicates whether the GraphQL API is a standard API (GRAPHQL) or merged API (MERGED).\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, - "Name": { + "AuthenticationType": { + "description": "Security configuration for your GraphQL API", "type": "string", - "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" + "markdownDescription": "Security configuration for your GraphQL API\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" + }, + "EnhancedMetricsConfig": { + "description": "Enables and controls the enhanced metrics feature. Enhanced metrics emit granular data on API usage and performance such as AppSync request and error counts, latency, and cache hits/misses. All enhanced metric data is sent to your CloudWatch account, and you can configure the types of data that will be sent.", + "$ref": "#/definitions/EnhancedMetricsConfig", + "markdownDescription": "Enables and controls the enhanced metrics feature. Enhanced metrics emit granular data on API usage and performance such as AppSync request and error counts, latency, and cache hits/misses. All enhanced metric data is sent to your CloudWatch account, and you can configure the types of data that will be sent.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" }, "EnvironmentVariables": { + "description": "A map containing the list of resources with their properties and environment variables.", "type": "object", - "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + "additionalProperties": false, + "patternProperties": { + "^[A-Za-z]+\\w*$": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + } + }, + "markdownDescription": "A map containing the list of resources with their properties and environment variables.\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, - "ApiType": { + "IntrospectionConfig": { + "description": "Sets the value of the GraphQL API to enable (ENABLED) or disable (DISABLED) introspection. If no value is provided, the introspection configuration will be set to ENABLED by default. This field will produce an error if the operation attempts to use the introspection feature while this field is disabled.", "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "markdownDescription": "Sets the value of the GraphQL API to enable (ENABLED) or disable (DISABLED) introspection. If no value is provided, the introspection configuration will be set to ENABLED by default. This field will produce an error if the operation attempts to use the introspection feature while this field is disabled.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, "LambdaAuthorizerConfig": { - "$ref": "#/definitions/LambdaAuthorizerConfig" + "description": "A LambdaAuthorizerConfig holds configuration on how to authorize AWS AppSync API access when using the AWS_LAMBDA authorizer mode. Be aware that an AWS AppSync API may have only one Lambda authorizer configured at a time.", + "$ref": "#/definitions/LambdaAuthorizerConfig", + "markdownDescription": "A LambdaAuthorizerConfig holds configuration on how to authorize AWS AppSync API access when using the AWS_LAMBDA authorizer mode. Be aware that an AWS AppSync API may have only one Lambda authorizer configured at a time.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" }, - "Tags": { - "type": "array", - "uniqueItems": false, - "items": { - "$ref": "#/definitions/Tag" - }, - "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + "LogConfig": { + "description": "The Amazon CloudWatch Logs configuration.", + "$ref": "#/definitions/LogConfig", + "markdownDescription": "The Amazon CloudWatch Logs configuration.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" }, - "AuthenticationType": { + "MergedApiExecutionRoleArn": { + "description": "The AWS Identity and Access Management service role ARN for a merged API. ", "type": "string", - "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" + "markdownDescription": "The AWS Identity and Access Management service role ARN for a merged API. \n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, - "QueryDepthLimit": { - "type": "integer", - "markdownDescription": "\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" - }, - "IntrospectionConfig": { + "Name": { + "description": "The API name", "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "markdownDescription": "The API name\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" + }, + "OpenIDConnectConfig": { + "description": "The OpenID Connect configuration.", + "$ref": "#/definitions/OpenIDConnectConfig", + "markdownDescription": "The OpenID Connect configuration.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" }, "OwnerContact": { + "description": "The owner contact information for an API resource.", "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "markdownDescription": "The owner contact information for an API resource.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "QueryDepthLimit": { + "description": "The maximum depth a query can have in a single request. Depth refers to the amount of nested levels allowed in the body of query.", + "type": "integer", + "markdownDescription": "The maximum depth a query can have in a single request. Depth refers to the amount of nested levels allowed in the body of query.\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" }, "ResolverCountLimit": { + "description": "The maximum number of resolvers that can be invoked in a single request.", "type": "integer", - "markdownDescription": "\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" + "markdownDescription": "The maximum number of resolvers that can be invoked in a single request.\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" }, - "AdditionalAuthenticationProviders": { + "Tags": { + "description": "An arbitrary set of tags (key-value pairs) for this GraphQL API.\n\n", "type": "array", - "uniqueItems": false, + "uniqueItems": true, "items": { - "$ref": "#/definitions/AdditionalAuthenticationProvider" + "$ref": "#/definitions/Tag" }, - "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + "markdownDescription": "An arbitrary set of tags (key-value pairs) for this GraphQL API.\n\n\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" }, - "XrayEnabled": { - "type": "boolean", - "markdownDescription": "\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" + "UserPoolConfig": { + "description": "Optional authorization configuration for using Amazon Cognito user pools with your GraphQL endpoint.\n\n", + "$ref": "#/definitions/UserPoolConfig", + "markdownDescription": "Optional authorization configuration for using Amazon Cognito user pools with your GraphQL endpoint.\n\n\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" }, "Visibility": { + "description": "Sets the scope of the GraphQL API to public (GLOBAL) or private (PRIVATE). By default, the scope is set to Global if no value is provided.", "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" - }, - "UserPoolConfig": { - "$ref": "#/definitions/UserPoolConfig" + "markdownDescription": "Sets the scope of the GraphQL API to public (GLOBAL) or private (PRIVATE). By default, the scope is set to Global if no value is provided.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, - "LogConfig": { - "$ref": "#/definitions/LogConfig" + "XrayEnabled": { + "description": "A flag indicating whether to use AWS X-Ray tracing for this GraphqlApi.\n\n", + "type": "boolean", + "markdownDescription": "A flag indicating whether to use AWS X-Ray tracing for this GraphqlApi.\n\n\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" } }, "definitions": { @@ -85,20 +115,24 @@ "additionalProperties": false, "properties": { "ClientId": { + "description": "The client identifier of the Relying party at the OpenID identity provider.", "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "markdownDescription": "The client identifier of the Relying party at the OpenID identity provider.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, "AuthTTL": { + "description": "The number of milliseconds that a token is valid after being authenticated.", "type": "number", - "markdownDescription": "\n\n---\n\nRequired: No \nType: Number \nUpdate requires: No interruption" + "markdownDescription": "The number of milliseconds that a token is valid after being authenticated.\n\n---\n\nRequired: No \nType: Number \nUpdate requires: No interruption" }, "Issuer": { + "description": "The issuer for the OIDC configuration. ", "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "markdownDescription": "The issuer for the OIDC configuration. \n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, "IatTTL": { + "description": "The number of milliseconds that a token is valid after it's issued to a user.\n\n", "type": "number", - "markdownDescription": "\n\n---\n\nRequired: No \nType: Number \nUpdate requires: No interruption" + "markdownDescription": "The number of milliseconds that a token is valid after it's issued to a user.\n\n\n\n---\n\nRequired: No \nType: Number \nUpdate requires: No interruption" } }, "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" @@ -108,16 +142,19 @@ "additionalProperties": false, "properties": { "OperationLevelMetricsConfig": { + "description": "Controls how operation metrics will be emitted to CloudWatch. Operation metrics include:\n\n", "type": "string", - "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" + "markdownDescription": "Controls how operation metrics will be emitted to CloudWatch. Operation metrics include:\n\n\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" }, "ResolverLevelMetricsBehavior": { + "description": "Controls how resolver metrics will be emitted to CloudWatch. Resolver metrics include:\n\n", "type": "string", - "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" + "markdownDescription": "Controls how resolver metrics will be emitted to CloudWatch. Resolver metrics include:\n\n\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" }, "DataSourceLevelMetricsBehavior": { + "description": "Controls how data source metrics will be emitted to CloudWatch. Data source metrics include:\n\n", "type": "string", - "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" + "markdownDescription": "Controls how data source metrics will be emitted to CloudWatch. Data source metrics include:\n\n\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" } }, "required": [ @@ -132,16 +169,19 @@ "additionalProperties": false, "properties": { "AppIdClientRegex": { + "description": "A regular expression for validating the incoming Amazon Cognito user pool app client ID. ", "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "markdownDescription": "A regular expression for validating the incoming Amazon Cognito user pool app client ID. \n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, "UserPoolId": { + "description": "The user pool ID", "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "markdownDescription": "The user pool ID\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, "AwsRegion": { + "description": "The AWS Region in which the user pool was created.", "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "markdownDescription": "The AWS Region in which the user pool was created.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" } }, "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" @@ -151,16 +191,19 @@ "additionalProperties": false, "properties": { "IdentityValidationExpression": { + "description": "A regular expression for validation of tokens before the Lambda function is called.", "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "markdownDescription": "A regular expression for validation of tokens before the Lambda function is called.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, "AuthorizerUri": { + "description": "The ARN of the Lambda function to be called for authorization.", "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "markdownDescription": "The ARN of the Lambda function to be called for authorization.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, "AuthorizerResultTtlInSeconds": { - "type": "number", - "markdownDescription": "\n\n---\n\nRequired: No \nType: Number \nUpdate requires: No interruption" + "description": "The number of seconds a response should be cached for.", + "type": "integer", + "markdownDescription": "The number of seconds a response should be cached for.\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" } }, "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" @@ -189,20 +232,24 @@ "additionalProperties": false, "properties": { "AppIdClientRegex": { + "description": "A regular expression for validating the incoming Amazon Cognito user pool app client ID.", "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "markdownDescription": "A regular expression for validating the incoming Amazon Cognito user pool app client ID.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, "UserPoolId": { + "description": "The user pool ID.", "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "markdownDescription": "The user pool ID.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, "AwsRegion": { + "description": "The AWS Region in which the user pool was created.", "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "markdownDescription": "The AWS Region in which the user pool was created.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, "DefaultAction": { + "description": "The action that you want your GraphQL API to take when a request that uses Amazon Cognito user pool authentication doesn't match the Amazon Cognito user pool configuration.", "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "markdownDescription": "The action that you want your GraphQL API to take when a request that uses Amazon Cognito user pool authentication doesn't match the Amazon Cognito user pool configuration.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" } }, "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" @@ -221,8 +268,9 @@ "$ref": "#/definitions/CognitoUserPoolConfig" }, "AuthenticationType": { + "description": "The authentication type for API key, AWS Identity and Access Management, OIDC, Amazon Cognito user pools, or AWS Lambda.", "type": "string", - "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" + "markdownDescription": "The authentication type for API key, AWS Identity and Access Management, OIDC, Amazon Cognito user pools, or AWS Lambda.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" } }, "required": [ @@ -235,70 +283,120 @@ "additionalProperties": false, "properties": { "ExcludeVerboseContent": { + "description": "Set to TRUE to exclude sections that contain information such as headers, context, and evaluated mapping templates, regardless of logging level.", "type": "boolean", - "markdownDescription": "\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" + "markdownDescription": "Set to TRUE to exclude sections that contain information such as headers, context, and evaluated mapping templates, regardless of logging level.\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" }, "FieldLogLevel": { + "description": "The field logging level. Values can be NONE, ERROR, INFO, DEBUG, or ALL.", "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "markdownDescription": "The field logging level. Values can be NONE, ERROR, INFO, DEBUG, or ALL.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, "CloudWatchLogsRoleArn": { + "description": "The service role that AWS AppSync will assume to publish to Amazon CloudWatch Logs in your account.", "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "markdownDescription": "The service role that AWS AppSync will assume to publish to Amazon CloudWatch Logs in your account.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" } }, "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" } }, + "tagging": { + "taggable": true, + "tagOnCreate": true, + "tagUpdatable": true, + "cloudFormationSystemTags": false, + "tagProperty": "/properties/Tags", + "permissions": [ + "appsync:TagResource", + "appsync:UntagResource", + "appsync:ListTagsForResource" + ] + }, "required": [ "Name", "AuthenticationType" ], "primaryIdentifier": [ - "/properties/Id" + "/properties/ApiId" ], "readOnlyProperties": [ "/properties/ApiId", + "/properties/Arn", "/properties/GraphQLEndpointArn", - "/properties/Id", "/properties/GraphQLDns", "/properties/GraphQLUrl", "/properties/RealtimeDns", - "/properties/RealtimeUrl", - "/properties/Arn" + "/properties/RealtimeUrl" ], + "handlers": { + "create": { + "permissions": [ + "appsync:CreateGraphqlApi", + "appsync:TagResource" + ] + }, + "read": { + "permissions": [ + "appsync:GetGraphqlApi", + "appsync:GetGraphqlApiEnvironmentVariables", + "appsync:ListTagsForResource" + ] + }, + "update": { + "permissions": [ + "appsync:GetGraphqlApi", + "appsync:UpdateGraphqlApi", + "appsync:TagResource", + "appsync:UntagResource" + ] + }, + "delete": { + "permissions": [ + "appsync:DeleteGraphqlApi" + ] + }, + "list": { + "permissions": [ + "appsync:ListGraphqlApis" + ] + } + }, "attributes": { - "RealtimeDns": { + "ApiId": { + "description": "Unique AWS AppSync GraphQL API identifier.", "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "markdownDescription": "Unique AWS AppSync GraphQL API identifier.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, - "GraphQLUrl": { + "Arn": { + "description": "The Amazon Resource Name (ARN) of the API key", "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "markdownDescription": "The Amazon Resource Name (ARN) of the API key\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, "GraphQLDns": { + "description": "The fully qualified domain name (FQDN) of the endpoint URL of your GraphQL API.", "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "markdownDescription": "The fully qualified domain name (FQDN) of the endpoint URL of your GraphQL API.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, "GraphQLEndpointArn": { + "description": "The GraphQL endpoint ARN.", "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" - }, - "RealtimeUrl": { - "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "markdownDescription": "The GraphQL endpoint ARN.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, - "Id": { + "GraphQLUrl": { + "description": "The Endpoint URL of your GraphQL API.", "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "markdownDescription": "The Endpoint URL of your GraphQL API.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, - "Arn": { + "RealtimeDns": { + "description": "The fully qualified domain name (FQDN) of the real-time endpoint URL of your GraphQL API.", "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "markdownDescription": "The fully qualified domain name (FQDN) of the real-time endpoint URL of your GraphQL API.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, - "ApiId": { + "RealtimeUrl": { + "description": "The GraphQL API real-time endpoint URL.", "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "markdownDescription": "The GraphQL API real-time endpoint URL.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" } } } \ No newline at end of file diff --git a/server/schema/resources/aws-aps-scraper.json b/server/schema/resources/aws-aps-scraper.json index b9fee846..f6b7124e 100644 --- a/server/schema/resources/aws-aps-scraper.json +++ b/server/schema/resources/aws-aps-scraper.json @@ -147,7 +147,7 @@ "type": "string", "minLength": 1, "maxLength": 100, - "markdownDescription": "Scraper alias.\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 100 \nPattern: ^[0-9A-Za-z][-.0-9A-Z_a-z]*$ \nUpdate requires: Replacement" + "markdownDescription": "Scraper alias.\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 100 \nPattern: ^[0-9A-Za-z][-.0-9A-Z_a-z]*$ \nUpdate requires: No interruption" }, "ScrapeConfiguration": { "$ref": "#/definitions/ScrapeConfiguration" @@ -181,10 +181,7 @@ "/properties/RoleArn" ], "createOnlyProperties": [ - "/properties/ScrapeConfiguration", - "/properties/Source", - "/properties/Destination", - "/properties/Alias" + "/properties/Source" ], "tagging": { "taggable": true, @@ -219,7 +216,10 @@ }, "update": { "permissions": [ + "aps:CreateScraper", "aps:DescribeScraper", + "aps:UpdateScraper", + "aps:DescribeWorkspace", "aps:TagResource", "aps:UntagResource", "aps:ListTagsForResource" diff --git a/server/schema/resources/aws-autoscaling-autoscalinggroup.json b/server/schema/resources/aws-autoscaling-autoscalinggroup.json index 242ba6b3..a30523a6 100644 --- a/server/schema/resources/aws-autoscaling-autoscalinggroup.json +++ b/server/schema/resources/aws-autoscaling-autoscalinggroup.json @@ -25,7 +25,6 @@ "conditionalCreateOnlyProperties": [ "/properties/LaunchConfigurationName", "/properties/VPCZoneIdentifier", - "/properties/PlacementGroup", "/properties/LaunchTemplate", "/properties/MixedInstancesPolicy" ], @@ -57,7 +56,11 @@ "managed-fleets:Get*", "managed-fleets:CreateAutoScalingGroup", "managed-fleets:UpdateAutoScalingGroup", - "ssm:Get*" + "ssm:Get*", + "vpc-lattice:DeregisterTargets", + "vpc-lattice:GetTargetGroup", + "vpc-lattice:ListTargets", + "vpc-lattice:RegisterTargets" ], "timeoutInMinutes": 360 }, @@ -90,7 +93,11 @@ "managed-fleets:RegisterAutoScalingGroup", "managed-fleets:DeregisterAutoScalingGroup", "managed-fleets:UpdateAutoScalingGroup", - "ssm:Get*" + "ssm:Get*", + "vpc-lattice:DeregisterTargets", + "vpc-lattice:GetTargetGroup", + "vpc-lattice:ListTargets", + "vpc-lattice:RegisterTargets" ], "timeoutInMinutes": 660 }, @@ -111,10 +118,308 @@ } }, "writeOnlyProperties": [ + "/properties/SkipZonalShiftValidation", "/properties/InstanceId" ], "additionalProperties": false, "definitions": { + "AvailabilityZoneImpairmentPolicy": { + "description": "", + "additionalProperties": false, + "type": "object", + "properties": { + "ZonalShiftEnabled": { + "type": "boolean", + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: Boolean \nUpdate requires: No interruption" + }, + "ImpairedZoneHealthCheckBehavior": { + "type": "string", + "enum": [ + "IgnoreUnhealthy", + "ReplaceUnhealthy" + ], + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nAllowed Values: IgnoreUnhealthy | ReplaceUnhealthy \nUpdate requires: No interruption" + } + }, + "required": [ + "ImpairedZoneHealthCheckBehavior", + "ZonalShiftEnabled" + ], + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "LifecycleHookSpecification": { + "description": "``LifecycleHookSpecification`` specifies a lifecycle hook for the ``LifecycleHookSpecificationList`` property of the [AWS::AutoScaling::AutoScalingGroup](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-autoscaling-autoscalinggroup.html) resource. A lifecycle hook specifies actions to perform when Amazon EC2 Auto Scaling launches or terminates instances. \n For more information, see [Amazon EC2 Auto Scaling lifecycle hooks](https://docs.aws.amazon.com/autoscaling/ec2/userguide/lifecycle-hooks.html) in the *Amazon EC2 Auto Scaling User Guide*. You can find a sample template snippet in the [Examples](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-as-lifecyclehook.html#aws-resource-as-lifecyclehook--examples) section of the ``AWS::AutoScaling::LifecycleHook`` resource.", + "additionalProperties": false, + "type": "object", + "properties": { + "LifecycleHookName": { + "description": "The name of the lifecycle hook.", + "type": "string", + "markdownDescription": "The name of the lifecycle hook.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" + }, + "LifecycleTransition": { + "description": "The lifecycle transition. For Auto Scaling groups, there are two major lifecycle transitions.\n + To create a lifecycle hook for scale-out events, specify ``autoscaling:EC2_INSTANCE_LAUNCHING``.\n + To create a lifecycle hook for scale-in events, specify ``autoscaling:EC2_INSTANCE_TERMINATING``.", + "type": "string", + "markdownDescription": "The lifecycle transition. For Auto Scaling groups, there are two major lifecycle transitions.\n + To create a lifecycle hook for scale-out events, specify ``autoscaling:EC2_INSTANCE_LAUNCHING``.\n + To create a lifecycle hook for scale-in events, specify ``autoscaling:EC2_INSTANCE_TERMINATING``.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" + }, + "HeartbeatTimeout": { + "description": "The maximum time, in seconds, that can elapse before the lifecycle hook times out. The range is from ``30`` to ``7200`` seconds. The default value is ``3600`` seconds (1 hour).", + "type": "integer", + "markdownDescription": "The maximum time, in seconds, that can elapse before the lifecycle hook times out. The range is from ``30`` to ``7200`` seconds. The default value is ``3600`` seconds (1 hour).\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" + }, + "NotificationMetadata": { + "description": "Additional information that you want to include any time Amazon EC2 Auto Scaling sends a message to the notification target.", + "type": "string", + "markdownDescription": "Additional information that you want to include any time Amazon EC2 Auto Scaling sends a message to the notification target.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "DefaultResult": { + "description": "The action the Auto Scaling group takes when the lifecycle hook timeout elapses or if an unexpected failure occurs. The default value is ``ABANDON``.\n Valid values: ``CONTINUE`` | ``ABANDON``", + "type": "string", + "markdownDescription": "The action the Auto Scaling group takes when the lifecycle hook timeout elapses or if an unexpected failure occurs. The default value is ``ABANDON``.\n Valid values: ``CONTINUE`` | ``ABANDON``\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "NotificationTargetARN": { + "description": "The Amazon Resource Name (ARN) of the notification target that Amazon EC2 Auto Scaling sends notifications to when an instance is in a wait state for the lifecycle hook. You can specify an Amazon SNS topic or an Amazon SQS queue.", + "type": "string", + "markdownDescription": "The Amazon Resource Name (ARN) of the notification target that Amazon EC2 Auto Scaling sends notifications to when an instance is in a wait state for the lifecycle hook. You can specify an Amazon SNS topic or an Amazon SQS queue.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "RoleARN": { + "description": "The ARN of the IAM role that allows the Auto Scaling group to publish to the specified notification target. For information about creating this role, see [Prepare to add a lifecycle hook to your Auto Scaling group](https://docs.aws.amazon.com/autoscaling/ec2/userguide/prepare-for-lifecycle-notifications.html) in the *Amazon EC2 Auto Scaling User Guide*.\n Valid only if the notification target is an Amazon SNS topic or an Amazon SQS queue.", + "type": "string", + "markdownDescription": "The ARN of the IAM role that allows the Auto Scaling group to publish to the specified notification target. For information about creating this role, see [Prepare to add a lifecycle hook to your Auto Scaling group](https://docs.aws.amazon.com/autoscaling/ec2/userguide/prepare-for-lifecycle-notifications.html) in the *Amazon EC2 Auto Scaling User Guide*.\n Valid only if the notification target is an Amazon SNS topic or an Amazon SQS queue.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + } + }, + "required": [ + "LifecycleHookName", + "LifecycleTransition" + ], + "markdownDescription": "``LifecycleHookSpecification`` specifies a lifecycle hook for the ``LifecycleHookSpecificationList`` property of the [AWS::AutoScaling::AutoScalingGroup](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-autoscaling-autoscalinggroup.html) resource. A lifecycle hook specifies actions to perform when Amazon EC2 Auto Scaling launches or terminates instances. \n For more information, see [Amazon EC2 Auto Scaling lifecycle hooks](https://docs.aws.amazon.com/autoscaling/ec2/userguide/lifecycle-hooks.html) in the *Amazon EC2 Auto Scaling User Guide*. You can find a sample template snippet in the [Examples](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-as-lifecyclehook.html#aws-resource-as-lifecyclehook--examples) section of the ``AWS::AutoScaling::LifecycleHook`` resource.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "MemoryGiBPerVCpuRequest": { + "description": "``MemoryGiBPerVCpuRequest`` is a property of the ``InstanceRequirements`` property of the [AWS::AutoScaling::AutoScalingGroup LaunchTemplateOverrides](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-autoscalinggroup-launchtemplateoverrides.html) property type that describes the minimum and maximum amount of memory per vCPU for an instance type, in GiB.", + "additionalProperties": false, + "type": "object", + "properties": { + "Min": { + "description": "The memory minimum in GiB.", + "type": "number", + "markdownDescription": "The memory minimum in GiB.\n\n---\n\nRequired: No \nType: Number \nUpdate requires: No interruption" + }, + "Max": { + "description": "The memory maximum in GiB.", + "type": "number", + "markdownDescription": "The memory maximum in GiB.\n\n---\n\nRequired: No \nType: Number \nUpdate requires: No interruption" + } + }, + "markdownDescription": "``MemoryGiBPerVCpuRequest`` is a property of the ``InstanceRequirements`` property of the [AWS::AutoScaling::AutoScalingGroup LaunchTemplateOverrides](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-autoscalinggroup-launchtemplateoverrides.html) property type that describes the minimum and maximum amount of memory per vCPU for an instance type, in GiB.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "TotalLocalStorageGBRequest": { + "description": "``TotalLocalStorageGBRequest`` is a property of the ``InstanceRequirements`` property of the [AWS::AutoScaling::AutoScalingGroup LaunchTemplateOverrides](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-autoscalinggroup-launchtemplateoverrides.html) property type that describes the minimum and maximum total local storage size for an instance type, in GB.", + "additionalProperties": false, + "type": "object", + "properties": { + "Min": { + "description": "The storage minimum in GB.", + "type": "number", + "markdownDescription": "The storage minimum in GB.\n\n---\n\nRequired: No \nType: Number \nUpdate requires: No interruption" + }, + "Max": { + "description": "The storage maximum in GB.", + "type": "number", + "markdownDescription": "The storage maximum in GB.\n\n---\n\nRequired: No \nType: Number \nUpdate requires: No interruption" + } + }, + "markdownDescription": "``TotalLocalStorageGBRequest`` is a property of the ``InstanceRequirements`` property of the [AWS::AutoScaling::AutoScalingGroup LaunchTemplateOverrides](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-autoscalinggroup-launchtemplateoverrides.html) property type that describes the minimum and maximum total local storage size for an instance type, in GB.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "NetworkBandwidthGbpsRequest": { + "description": "``NetworkBandwidthGbpsRequest`` is a property of the ``InstanceRequirements`` property of the [AWS::AutoScaling::AutoScalingGroup LaunchTemplateOverrides](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-autoscalinggroup-launchtemplateoverrides.html) property type that describes the minimum and maximum network bandwidth for an instance type, in Gbps.\n Setting the minimum bandwidth does not guarantee that your instance will achieve the minimum bandwidth. Amazon EC2 will identify instance types that support the specified minimum bandwidth, but the actual bandwidth of your instance might go below the specified minimum at times. For more information, see [Available instance bandwidth](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-network-bandwidth.html#available-instance-bandwidth) in the *Amazon EC2 User Guide for Linux Instances*.", + "additionalProperties": false, + "type": "object", + "properties": { + "Min": { + "description": "The minimum amount of network bandwidth, in gigabits per second (Gbps).", + "type": "number", + "markdownDescription": "The minimum amount of network bandwidth, in gigabits per second (Gbps).\n\n---\n\nRequired: No \nType: Number \nUpdate requires: No interruption" + }, + "Max": { + "description": "The maximum amount of network bandwidth, in gigabits per second (Gbps).", + "type": "number", + "markdownDescription": "The maximum amount of network bandwidth, in gigabits per second (Gbps).\n\n---\n\nRequired: No \nType: Number \nUpdate requires: No interruption" + } + }, + "markdownDescription": "``NetworkBandwidthGbpsRequest`` is a property of the ``InstanceRequirements`` property of the [AWS::AutoScaling::AutoScalingGroup LaunchTemplateOverrides](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-autoscalinggroup-launchtemplateoverrides.html) property type that describes the minimum and maximum network bandwidth for an instance type, in Gbps.\n Setting the minimum bandwidth does not guarantee that your instance will achieve the minimum bandwidth. Amazon EC2 will identify instance types that support the specified minimum bandwidth, but the actual bandwidth of your instance might go below the specified minimum at times. For more information, see [Available instance bandwidth](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-network-bandwidth.html#available-instance-bandwidth) in the *Amazon EC2 User Guide for Linux Instances*.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "BaselineEbsBandwidthMbpsRequest": { + "description": "``BaselineEbsBandwidthMbpsRequest`` is a property of the ``InstanceRequirements`` property of the [AWS::AutoScaling::AutoScalingGroup LaunchTemplateOverrides](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-autoscalinggroup-launchtemplateoverrides.html) property type that describes the minimum and maximum baseline bandwidth performance for an instance type, in Mbps.", + "additionalProperties": false, + "type": "object", + "properties": { + "Min": { + "description": "The minimum value in Mbps.", + "type": "integer", + "markdownDescription": "The minimum value in Mbps.\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" + }, + "Max": { + "description": "The maximum value in Mbps.", + "type": "integer", + "markdownDescription": "The maximum value in Mbps.\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" + } + }, + "markdownDescription": "``BaselineEbsBandwidthMbpsRequest`` is a property of the ``InstanceRequirements`` property of the [AWS::AutoScaling::AutoScalingGroup LaunchTemplateOverrides](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-autoscalinggroup-launchtemplateoverrides.html) property type that describes the minimum and maximum baseline bandwidth performance for an instance type, in Mbps.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "NetworkInterfaceCountRequest": { + "description": "``NetworkInterfaceCountRequest`` is a property of the ``InstanceRequirements`` property of the [AWS::AutoScaling::AutoScalingGroup LaunchTemplateOverrides](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-autoscalinggroup-launchtemplateoverrides.html) property type that describes the minimum and maximum number of network interfaces for an instance type.", + "additionalProperties": false, + "type": "object", + "properties": { + "Min": { + "description": "The minimum number of network interfaces.", + "type": "integer", + "markdownDescription": "The minimum number of network interfaces.\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" + }, + "Max": { + "description": "The maximum number of network interfaces.", + "type": "integer", + "markdownDescription": "The maximum number of network interfaces.\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" + } + }, + "markdownDescription": "``NetworkInterfaceCountRequest`` is a property of the ``InstanceRequirements`` property of the [AWS::AutoScaling::AutoScalingGroup LaunchTemplateOverrides](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-autoscalinggroup-launchtemplateoverrides.html) property type that describes the minimum and maximum number of network interfaces for an instance type.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "VCpuCountRequest": { + "description": "``VCpuCountRequest`` is a property of the ``InstanceRequirements`` property of the [AWS::AutoScaling::AutoScalingGroup LaunchTemplateOverrides](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-autoscalinggroup-launchtemplateoverrides.html) property type that describes the minimum and maximum number of vCPUs for an instance type.", + "additionalProperties": false, + "type": "object", + "properties": { + "Min": { + "description": "The minimum number of vCPUs.", + "type": "integer", + "markdownDescription": "The minimum number of vCPUs.\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" + }, + "Max": { + "description": "The maximum number of vCPUs.", + "type": "integer", + "markdownDescription": "The maximum number of vCPUs.\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" + } + }, + "markdownDescription": "``VCpuCountRequest`` is a property of the ``InstanceRequirements`` property of the [AWS::AutoScaling::AutoScalingGroup LaunchTemplateOverrides](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-autoscalinggroup-launchtemplateoverrides.html) property type that describes the minimum and maximum number of vCPUs for an instance type.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "PerformanceFactorReferenceRequest": { + "description": "", + "additionalProperties": false, + "type": "object", + "properties": { + "InstanceFamily": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + } + }, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "LaunchTemplate": { + "description": "Use this structure to specify the launch templates and instance types (overrides) for a mixed instances policy.\n ``LaunchTemplate`` is a property of the [AWS::AutoScaling::AutoScalingGroup MixedInstancesPolicy](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-autoscalinggroup-mixedinstancespolicy.html) property type.", + "additionalProperties": false, + "type": "object", + "properties": { + "LaunchTemplateSpecification": { + "description": "The launch template.", + "$ref": "#/definitions/LaunchTemplateSpecification", + "markdownDescription": "The launch template.\n\n---\n\nRequired: Yes \nType: \nUpdate requires: No interruption" + }, + "Overrides": { + "uniqueItems": false, + "description": "Any properties that you specify override the same properties in the launch template.", + "insertionOrder": true, + "type": "array", + "items": { + "$ref": "#/definitions/LaunchTemplateOverrides" + }, + "markdownDescription": "Any properties that you specify override the same properties in the launch template.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + } + }, + "required": [ + "LaunchTemplateSpecification" + ], + "markdownDescription": "Use this structure to specify the launch templates and instance types (overrides) for a mixed instances policy.\n ``LaunchTemplate`` is a property of the [AWS::AutoScaling::AutoScalingGroup MixedInstancesPolicy](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-autoscalinggroup-mixedinstancespolicy.html) property type.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "LaunchTemplateOverrides": { + "description": "Use this structure to let Amazon EC2 Auto Scaling do the following when the Auto Scaling group has a mixed instances policy:\n + Override the instance type that is specified in the launch template.\n + Use multiple instance types.\n \n Specify the instance types that you want, or define your instance requirements instead and let Amazon EC2 Auto Scaling provision the available instance types that meet your requirements. This can provide Amazon EC2 Auto Scaling with a larger selection of instance types to choose from when fulfilling Spot and On-Demand capacities. You can view which instance types are matched before you apply the instance requirements to your Auto Scaling group.\n After you define your instance requirements, you don't have to keep updating these settings to get new EC2 instance types automatically. Amazon EC2 Auto Scaling uses the instance requirements of the Auto Scaling group to determine whether a new EC2 instance type can be used.\n ``LaunchTemplateOverrides`` is a property of the [AWS::AutoScaling::AutoScalingGroup LaunchTemplate](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-autoscalinggroup-launchtemplate.html) property type.", + "additionalProperties": false, + "type": "object", + "properties": { + "LaunchTemplateSpecification": { + "description": "Provides a launch template for the specified instance type or set of instance requirements. For example, some instance types might require a launch template with a different AMI. If not provided, Amazon EC2 Auto Scaling uses the launch template that's specified in the ``LaunchTemplate`` definition. For more information, see [Specifying a different launch template for an instance type](https://docs.aws.amazon.com/autoscaling/ec2/userguide/ec2-auto-scaling-mixed-instances-groups-launch-template-overrides.html) in the *Amazon EC2 Auto Scaling User Guide*. \n You can specify up to 20 launch templates per Auto Scaling group. The launch templates specified in the overrides and in the ``LaunchTemplate`` definition count towards this limit.", + "$ref": "#/definitions/LaunchTemplateSpecification", + "markdownDescription": "Provides a launch template for the specified instance type or set of instance requirements. For example, some instance types might require a launch template with a different AMI. If not provided, Amazon EC2 Auto Scaling uses the launch template that's specified in the ``LaunchTemplate`` definition. For more information, see [Specifying a different launch template for an instance type](https://docs.aws.amazon.com/autoscaling/ec2/userguide/ec2-auto-scaling-mixed-instances-groups-launch-template-overrides.html) in the *Amazon EC2 Auto Scaling User Guide*. \n You can specify up to 20 launch templates per Auto Scaling group. The launch templates specified in the overrides and in the ``LaunchTemplate`` definition count towards this limit.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" + }, + "WeightedCapacity": { + "description": "If you provide a list of instance types to use, you can specify the number of capacity units provided by each instance type in terms of virtual CPUs, memory, storage, throughput, or other relative performance characteristic. When a Spot or On-Demand Instance is launched, the capacity units count toward the desired capacity. Amazon EC2 Auto Scaling launches instances until the desired capacity is totally fulfilled, even if this results in an overage. For example, if there are two units remaining to fulfill capacity, and Amazon EC2 Auto Scaling can only launch an instance with a ``WeightedCapacity`` of five units, the instance is launched, and the desired capacity is exceeded by three units. For more information, see [Configure instance weighting for Amazon EC2 Auto Scaling](https://docs.aws.amazon.com/autoscaling/ec2/userguide/ec2-auto-scaling-mixed-instances-groups-instance-weighting.html) in the *Amazon EC2 Auto Scaling User Guide*. Value must be in the range of 1-999. \n If you specify a value for ``WeightedCapacity`` for one instance type, you must specify a value for ``WeightedCapacity`` for all of them.\n Every Auto Scaling group has three size parameters (``DesiredCapacity``, ``MaxSize``, and ``MinSize``). Usually, you set these sizes based on a specific number of instances. However, if you configure a mixed instances policy that defines weights for the instance types, you must specify these sizes with the same units that you use for weighting instances.", + "type": "string", + "markdownDescription": "If you provide a list of instance types to use, you can specify the number of capacity units provided by each instance type in terms of virtual CPUs, memory, storage, throughput, or other relative performance characteristic. When a Spot or On-Demand Instance is launched, the capacity units count toward the desired capacity. Amazon EC2 Auto Scaling launches instances until the desired capacity is totally fulfilled, even if this results in an overage. For example, if there are two units remaining to fulfill capacity, and Amazon EC2 Auto Scaling can only launch an instance with a ``WeightedCapacity`` of five units, the instance is launched, and the desired capacity is exceeded by three units. For more information, see [Configure instance weighting for Amazon EC2 Auto Scaling](https://docs.aws.amazon.com/autoscaling/ec2/userguide/ec2-auto-scaling-mixed-instances-groups-instance-weighting.html) in the *Amazon EC2 Auto Scaling User Guide*. Value must be in the range of 1-999. \n If you specify a value for ``WeightedCapacity`` for one instance type, you must specify a value for ``WeightedCapacity`` for all of them.\n Every Auto Scaling group has three size parameters (``DesiredCapacity``, ``MaxSize``, and ``MinSize``). Usually, you set these sizes based on a specific number of instances. However, if you configure a mixed instances policy that defines weights for the instance types, you must specify these sizes with the same units that you use for weighting instances.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "InstanceRequirements": { + "description": "The instance requirements. Amazon EC2 Auto Scaling uses your specified requirements to identify instance types. Then, it uses your On-Demand and Spot allocation strategies to launch instances from these instance types.\n You can specify up to four separate sets of instance requirements per Auto Scaling group. This is useful for provisioning instances from different Amazon Machine Images (AMIs) in the same Auto Scaling group. To do this, create the AMIs and create a new launch template for each AMI. Then, create a compatible set of instance requirements for each launch template. \n If you specify ``InstanceRequirements``, you can't specify ``InstanceType``.", + "$ref": "#/definitions/InstanceRequirements", + "markdownDescription": "The instance requirements. Amazon EC2 Auto Scaling uses your specified requirements to identify instance types. Then, it uses your On-Demand and Spot allocation strategies to launch instances from these instance types.\n You can specify up to four separate sets of instance requirements per Auto Scaling group. This is useful for provisioning instances from different Amazon Machine Images (AMIs) in the same Auto Scaling group. To do this, create the AMIs and create a new launch template for each AMI. Then, create a compatible set of instance requirements for each launch template. \n If you specify ``InstanceRequirements``, you can't specify ``InstanceType``.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" + }, + "InstanceType": { + "description": "The instance type, such as ``m3.xlarge``. You must specify an instance type that is supported in your requested Region and Availability Zones. For more information, see [Instance types](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html) in the *Amazon EC2 User Guide for Linux Instances*.\n You can specify up to 40 instance types per Auto Scaling group.", + "type": "string", + "markdownDescription": "The instance type, such as ``m3.xlarge``. You must specify an instance type that is supported in your requested Region and Availability Zones. For more information, see [Instance types](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html) in the *Amazon EC2 User Guide for Linux Instances*.\n You can specify up to 40 instance types per Auto Scaling group.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + } + }, + "markdownDescription": "Use this structure to let Amazon EC2 Auto Scaling do the following when the Auto Scaling group has a mixed instances policy:\n + Override the instance type that is specified in the launch template.\n + Use multiple instance types.\n \n Specify the instance types that you want, or define your instance requirements instead and let Amazon EC2 Auto Scaling provision the available instance types that meet your requirements. This can provide Amazon EC2 Auto Scaling with a larger selection of instance types to choose from when fulfilling Spot and On-Demand capacities. You can view which instance types are matched before you apply the instance requirements to your Auto Scaling group.\n After you define your instance requirements, you don't have to keep updating these settings to get new EC2 instance types automatically. Amazon EC2 Auto Scaling uses the instance requirements of the Auto Scaling group to determine whether a new EC2 instance type can be used.\n ``LaunchTemplateOverrides`` is a property of the [AWS::AutoScaling::AutoScalingGroup LaunchTemplate](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-autoscalinggroup-launchtemplate.html) property type.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "CpuPerformanceFactorRequest": { + "description": "", + "additionalProperties": false, + "type": "object", + "properties": { + "References": { + "$ref": "#/definitions/PerformanceFactorReferenceSetRequest" + } + }, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "MixedInstancesPolicy": { + "description": "Use this structure to launch multiple instance types and On-Demand Instances and Spot Instances within a single Auto Scaling group.\n A mixed instances policy contains information that Amazon EC2 Auto Scaling can use to launch instances and help optimize your costs. For more information, see [Auto Scaling groups with multiple instance types and purchase options](https://docs.aws.amazon.com/autoscaling/ec2/userguide/ec2-auto-scaling-mixed-instances-groups.html) in the *Amazon EC2 Auto Scaling User Guide*.\n You can create a mixed instances policy for new and existing Auto Scaling groups. You must use a launch template to configure the policy. You cannot use a launch configuration.\n There are key differences between Spot Instances and On-Demand Instances:\n + The price for Spot Instances varies based on demand\n + Amazon EC2 can terminate an individual Spot Instance as the availability of, or price for, Spot Instances changes\n \n When a Spot Instance is terminated, Amazon EC2 Auto Scaling group attempts to launch a replacement instance to maintain the desired capacity for the group. \n ``MixedInstancesPolicy`` is a property of the [AWS::AutoScaling::AutoScalingGroup](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-autoscaling-autoscalinggroup.html) resource.", + "additionalProperties": false, + "type": "object", + "properties": { + "InstancesDistribution": { + "description": "The instances distribution.", + "$ref": "#/definitions/InstancesDistribution", + "markdownDescription": "The instances distribution.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" + }, + "LaunchTemplate": { + "description": "One or more launch templates and the instance types (overrides) that are used to launch EC2 instances to fulfill On-Demand and Spot capacities.", + "$ref": "#/definitions/LaunchTemplate", + "markdownDescription": "One or more launch templates and the instance types (overrides) that are used to launch EC2 instances to fulfill On-Demand and Spot capacities.\n\n---\n\nRequired: Yes \nType: \nUpdate requires: No interruption" + } + }, + "required": [ + "LaunchTemplate" + ], + "markdownDescription": "Use this structure to launch multiple instance types and On-Demand Instances and Spot Instances within a single Auto Scaling group.\n A mixed instances policy contains information that Amazon EC2 Auto Scaling can use to launch instances and help optimize your costs. For more information, see [Auto Scaling groups with multiple instance types and purchase options](https://docs.aws.amazon.com/autoscaling/ec2/userguide/ec2-auto-scaling-mixed-instances-groups.html) in the *Amazon EC2 Auto Scaling User Guide*.\n You can create a mixed instances policy for new and existing Auto Scaling groups. You must use a launch template to configure the policy. You cannot use a launch configuration.\n There are key differences between Spot Instances and On-Demand Instances:\n + The price for Spot Instances varies based on demand\n + Amazon EC2 can terminate an individual Spot Instance as the availability of, or price for, Spot Instances changes\n \n When a Spot Instance is terminated, Amazon EC2 Auto Scaling group attempts to launch a replacement instance to maintain the desired capacity for the group. \n ``MixedInstancesPolicy`` is a property of the [AWS::AutoScaling::AutoScalingGroup](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-autoscaling-autoscalinggroup.html) resource.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "CapacityReservationIds": { + "uniqueItems": true, + "insertionOrder": true, + "type": "array", + "items": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + }, + "CapacityReservationResourceGroupArns": { + "uniqueItems": true, + "insertionOrder": true, + "type": "array", + "items": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + }, "TagProperty": { "description": "A structure that specifies a tag for the ``Tags`` property of [AWS::AutoScaling::AutoScalingGroup](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-autoscaling-autoscalinggroup.html) resource.\n For more information, see [Tag Auto Scaling groups and instances](https://docs.aws.amazon.com/autoscaling/ec2/userguide/autoscaling-tagging.html) in the *Amazon EC2 Auto Scaling User Guide*. You can find a sample template snippet in the [Examples](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-autoscaling-autoscalinggroup.html#aws-resource-autoscaling-autoscalinggroup--examples) section of the ``AWS::AutoScaling::AutoScalingGroup`` resource.\n CloudFormation adds the following tags to all Auto Scaling groups and associated instances: \n + aws:cloudformation:stack-name\n + aws:cloudformation:stack-id\n + aws:cloudformation:logical-id", "additionalProperties": false, @@ -225,70 +530,21 @@ }, "markdownDescription": "``AcceleratorCountRequest`` is a property of the ``InstanceRequirements`` property of the [AWS::AutoScaling::AutoScalingGroup LaunchTemplateOverrides](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-autoscalinggroup-launchtemplateoverrides.html) property type that describes the minimum and maximum number of accelerators for an instance type.\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, - "LifecycleHookSpecification": { - "description": "``LifecycleHookSpecification`` specifies a lifecycle hook for the ``LifecycleHookSpecificationList`` property of the [AWS::AutoScaling::AutoScalingGroup](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-autoscaling-autoscalinggroup.html) resource. A lifecycle hook specifies actions to perform when Amazon EC2 Auto Scaling launches or terminates instances. \n For more information, see [Amazon EC2 Auto Scaling lifecycle hooks](https://docs.aws.amazon.com/autoscaling/ec2/userguide/lifecycle-hooks.html) in the *Amazon EC2 Auto Scaling User Guide*. You can find a sample template snippet in the [Examples](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-as-lifecyclehook.html#aws-resource-as-lifecyclehook--examples) section of the ``AWS::AutoScaling::LifecycleHook`` resource.", + "AvailabilityZoneDistribution": { + "description": "", "additionalProperties": false, "type": "object", "properties": { - "LifecycleHookName": { - "description": "The name of the lifecycle hook.", - "type": "string", - "markdownDescription": "The name of the lifecycle hook.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" - }, - "LifecycleTransition": { - "description": "The lifecycle transition. For Auto Scaling groups, there are two major lifecycle transitions.\n + To create a lifecycle hook for scale-out events, specify ``autoscaling:EC2_INSTANCE_LAUNCHING``.\n + To create a lifecycle hook for scale-in events, specify ``autoscaling:EC2_INSTANCE_TERMINATING``.", - "type": "string", - "markdownDescription": "The lifecycle transition. For Auto Scaling groups, there are two major lifecycle transitions.\n + To create a lifecycle hook for scale-out events, specify ``autoscaling:EC2_INSTANCE_LAUNCHING``.\n + To create a lifecycle hook for scale-in events, specify ``autoscaling:EC2_INSTANCE_TERMINATING``.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" - }, - "HeartbeatTimeout": { - "description": "The maximum time, in seconds, that can elapse before the lifecycle hook times out. The range is from ``30`` to ``7200`` seconds. The default value is ``3600`` seconds (1 hour).", - "type": "integer", - "markdownDescription": "The maximum time, in seconds, that can elapse before the lifecycle hook times out. The range is from ``30`` to ``7200`` seconds. The default value is ``3600`` seconds (1 hour).\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" - }, - "NotificationMetadata": { - "description": "Additional information that you want to include any time Amazon EC2 Auto Scaling sends a message to the notification target.", - "type": "string", - "markdownDescription": "Additional information that you want to include any time Amazon EC2 Auto Scaling sends a message to the notification target.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" - }, - "DefaultResult": { - "description": "The action the Auto Scaling group takes when the lifecycle hook timeout elapses or if an unexpected failure occurs. The default value is ``ABANDON``.\n Valid values: ``CONTINUE`` | ``ABANDON``", - "type": "string", - "markdownDescription": "The action the Auto Scaling group takes when the lifecycle hook timeout elapses or if an unexpected failure occurs. The default value is ``ABANDON``.\n Valid values: ``CONTINUE`` | ``ABANDON``\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" - }, - "NotificationTargetARN": { - "description": "The Amazon Resource Name (ARN) of the notification target that Amazon EC2 Auto Scaling sends notifications to when an instance is in a wait state for the lifecycle hook. You can specify an Amazon SNS topic or an Amazon SQS queue.", - "type": "string", - "markdownDescription": "The Amazon Resource Name (ARN) of the notification target that Amazon EC2 Auto Scaling sends notifications to when an instance is in a wait state for the lifecycle hook. You can specify an Amazon SNS topic or an Amazon SQS queue.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" - }, - "RoleARN": { - "description": "The ARN of the IAM role that allows the Auto Scaling group to publish to the specified notification target. For information about creating this role, see [Prepare to add a lifecycle hook to your Auto Scaling group](https://docs.aws.amazon.com/autoscaling/ec2/userguide/prepare-for-lifecycle-notifications.html) in the *Amazon EC2 Auto Scaling User Guide*.\n Valid only if the notification target is an Amazon SNS topic or an Amazon SQS queue.", + "CapacityDistributionStrategy": { "type": "string", - "markdownDescription": "The ARN of the IAM role that allows the Auto Scaling group to publish to the specified notification target. For information about creating this role, see [Prepare to add a lifecycle hook to your Auto Scaling group](https://docs.aws.amazon.com/autoscaling/ec2/userguide/prepare-for-lifecycle-notifications.html) in the *Amazon EC2 Auto Scaling User Guide*.\n Valid only if the notification target is an Amazon SNS topic or an Amazon SQS queue.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" - } - }, - "required": [ - "LifecycleHookName", - "LifecycleTransition" - ], - "markdownDescription": "``LifecycleHookSpecification`` specifies a lifecycle hook for the ``LifecycleHookSpecificationList`` property of the [AWS::AutoScaling::AutoScalingGroup](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-autoscaling-autoscalinggroup.html) resource. A lifecycle hook specifies actions to perform when Amazon EC2 Auto Scaling launches or terminates instances. \n For more information, see [Amazon EC2 Auto Scaling lifecycle hooks](https://docs.aws.amazon.com/autoscaling/ec2/userguide/lifecycle-hooks.html) in the *Amazon EC2 Auto Scaling User Guide*. You can find a sample template snippet in the [Examples](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-as-lifecyclehook.html#aws-resource-as-lifecyclehook--examples) section of the ``AWS::AutoScaling::LifecycleHook`` resource.\n\n---\n\nRequired: No \nUpdate requires: No interruption" - }, - "MemoryGiBPerVCpuRequest": { - "description": "``MemoryGiBPerVCpuRequest`` is a property of the ``InstanceRequirements`` property of the [AWS::AutoScaling::AutoScalingGroup LaunchTemplateOverrides](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-autoscalinggroup-launchtemplateoverrides.html) property type that describes the minimum and maximum amount of memory per vCPU for an instance type, in GiB.", - "additionalProperties": false, - "type": "object", - "properties": { - "Min": { - "description": "The memory minimum in GiB.", - "type": "number", - "markdownDescription": "The memory minimum in GiB.\n\n---\n\nRequired: No \nType: Number \nUpdate requires: No interruption" - }, - "Max": { - "description": "The memory maximum in GiB.", - "type": "number", - "markdownDescription": "The memory maximum in GiB.\n\n---\n\nRequired: No \nType: Number \nUpdate requires: No interruption" + "enum": [ + "balanced-best-effort", + "balanced-only" + ], + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: balanced-best-effort | balanced-only \nUpdate requires: No interruption" } }, - "markdownDescription": "``MemoryGiBPerVCpuRequest`` is a property of the ``InstanceRequirements`` property of the [AWS::AutoScaling::AutoScalingGroup LaunchTemplateOverrides](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-autoscalinggroup-launchtemplateoverrides.html) property type that describes the minimum and maximum amount of memory per vCPU for an instance type, in GiB.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, "NotificationConfiguration": { "description": "A structure that specifies an Amazon SNS notification configuration for the ``NotificationConfigurations`` property of the [AWS::AutoScaling::AutoScalingGroup](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-autoscaling-autoscalinggroup.html) resource.\n For an example template snippet, see [Configure Amazon EC2 Auto Scaling resources](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/quickref-ec2-auto-scaling.html).\n For more information, see [Get Amazon SNS notifications when your Auto Scaling group scales](https://docs.aws.amazon.com/autoscaling/ec2/userguide/ASGettingNotifications.html) in the *Amazon EC2 Auto Scaling User Guide*.", @@ -350,194 +606,70 @@ "Granularity" ], "markdownDescription": "``MetricsCollection`` is a property of the [AWS::AutoScaling::AutoScalingGroup](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-autoscaling-autoscalinggroup.html) resource that describes the group metrics that an Amazon EC2 Auto Scaling group sends to Amazon CloudWatch. These metrics describe the group rather than any of its instances. \n For more information, see [Monitor CloudWatch metrics for your Auto Scaling groups and instances](https://docs.aws.amazon.com/autoscaling/ec2/userguide/as-instance-monitoring.html) in the *Amazon EC2 Auto Scaling User Guide*. You can find a sample template snippet in the [Examples](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-autoscaling-autoscalinggroup.html#aws-resource-autoscaling-autoscalinggroup--examples) section of the ``AWS::AutoScaling::AutoScalingGroup`` resource.\n\n---\n\nRequired: No \nUpdate requires: No interruption" - }, - "TotalLocalStorageGBRequest": { - "description": "``TotalLocalStorageGBRequest`` is a property of the ``InstanceRequirements`` property of the [AWS::AutoScaling::AutoScalingGroup LaunchTemplateOverrides](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-autoscalinggroup-launchtemplateoverrides.html) property type that describes the minimum and maximum total local storage size for an instance type, in GB.", - "additionalProperties": false, - "type": "object", - "properties": { - "Min": { - "description": "The storage minimum in GB.", - "type": "number", - "markdownDescription": "The storage minimum in GB.\n\n---\n\nRequired: No \nType: Number \nUpdate requires: No interruption" - }, - "Max": { - "description": "The storage maximum in GB.", - "type": "number", - "markdownDescription": "The storage maximum in GB.\n\n---\n\nRequired: No \nType: Number \nUpdate requires: No interruption" - } - }, - "markdownDescription": "``TotalLocalStorageGBRequest`` is a property of the ``InstanceRequirements`` property of the [AWS::AutoScaling::AutoScalingGroup LaunchTemplateOverrides](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-autoscalinggroup-launchtemplateoverrides.html) property type that describes the minimum and maximum total local storage size for an instance type, in GB.\n\n---\n\nRequired: No \nUpdate requires: No interruption" - }, - "MemoryMiBRequest": { - "description": "``MemoryMiBRequest`` is a property of the ``InstanceRequirements`` property of the [AWS::AutoScaling::AutoScalingGroup LaunchTemplateOverrides](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-autoscalinggroup-launchtemplateoverrides.html) property type that describes the minimum and maximum instance memory size for an instance type, in MiB.", - "additionalProperties": false, - "type": "object", - "properties": { - "Min": { - "description": "The memory minimum in MiB.", - "type": "integer", - "markdownDescription": "The memory minimum in MiB.\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" - }, - "Max": { - "description": "The memory maximum in MiB.", - "type": "integer", - "markdownDescription": "The memory maximum in MiB.\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" - } - }, - "markdownDescription": "``MemoryMiBRequest`` is a property of the ``InstanceRequirements`` property of the [AWS::AutoScaling::AutoScalingGroup LaunchTemplateOverrides](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-autoscalinggroup-launchtemplateoverrides.html) property type that describes the minimum and maximum instance memory size for an instance type, in MiB.\n\n---\n\nRequired: No \nUpdate requires: No interruption" - }, - "InstanceMaintenancePolicy": { - "description": "``InstanceMaintenancePolicy`` is a property of the [AWS::AutoScaling::AutoScalingGroup](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-autoscaling-autoscalinggroup.html) resource.\n For more information, see [Instance maintenance policies](https://docs.aws.amazon.com/autoscaling/ec2/userguide/ec2-auto-scaling-instance-maintenance-policy.html) in the *Amazon EC2 Auto Scaling User Guide*.", - "additionalProperties": false, - "type": "object", - "properties": { - "MaxHealthyPercentage": { - "description": "Specifies the upper threshold as a percentage of the desired capacity of the Auto Scaling group. It represents the maximum percentage of the group that can be in service and healthy, or pending, to support your workload when replacing instances. Value range is 100 to 200. To clear a previously set value, specify a value of ``-1``.\n Both ``MinHealthyPercentage`` and ``MaxHealthyPercentage`` must be specified, and the difference between them cannot be greater than 100. A large range increases the number of instances that can be replaced at the same time.", - "type": "integer", - "markdownDescription": "Specifies the upper threshold as a percentage of the desired capacity of the Auto Scaling group. It represents the maximum percentage of the group that can be in service and healthy, or pending, to support your workload when replacing instances. Value range is 100 to 200. To clear a previously set value, specify a value of ``-1``.\n Both ``MinHealthyPercentage`` and ``MaxHealthyPercentage`` must be specified, and the difference between them cannot be greater than 100. A large range increases the number of instances that can be replaced at the same time.\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" - }, - "MinHealthyPercentage": { - "description": "Specifies the lower threshold as a percentage of the desired capacity of the Auto Scaling group. It represents the minimum percentage of the group to keep in service, healthy, and ready to use to support your workload when replacing instances. Value range is 0 to 100. To clear a previously set value, specify a value of ``-1``.", - "type": "integer", - "markdownDescription": "Specifies the lower threshold as a percentage of the desired capacity of the Auto Scaling group. It represents the minimum percentage of the group to keep in service, healthy, and ready to use to support your workload when replacing instances. Value range is 0 to 100. To clear a previously set value, specify a value of ``-1``.\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" - } - }, - "dependencies": { - "MaxHealthyPercentage": [ - "MinHealthyPercentage" - ], - "MinHealthyPercentage": [ - "MaxHealthyPercentage" - ] - }, - "markdownDescription": "``InstanceMaintenancePolicy`` is a property of the [AWS::AutoScaling::AutoScalingGroup](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-autoscaling-autoscalinggroup.html) resource.\n For more information, see [Instance maintenance policies](https://docs.aws.amazon.com/autoscaling/ec2/userguide/ec2-auto-scaling-instance-maintenance-policy.html) in the *Amazon EC2 Auto Scaling User Guide*.\n\n---\n\nRequired: No \nUpdate requires: No interruption" - }, - "NetworkBandwidthGbpsRequest": { - "description": "``NetworkBandwidthGbpsRequest`` is a property of the ``InstanceRequirements`` property of the [AWS::AutoScaling::AutoScalingGroup LaunchTemplateOverrides](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-autoscalinggroup-launchtemplateoverrides.html) property type that describes the minimum and maximum network bandwidth for an instance type, in Gbps.\n Setting the minimum bandwidth does not guarantee that your instance will achieve the minimum bandwidth. Amazon EC2 will identify instance types that support the specified minimum bandwidth, but the actual bandwidth of your instance might go below the specified minimum at times. For more information, see [Available instance bandwidth](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-network-bandwidth.html#available-instance-bandwidth) in the *Amazon EC2 User Guide for Linux Instances*.", - "additionalProperties": false, - "type": "object", - "properties": { - "Min": { - "description": "The minimum amount of network bandwidth, in gigabits per second (Gbps).", - "type": "number", - "markdownDescription": "The minimum amount of network bandwidth, in gigabits per second (Gbps).\n\n---\n\nRequired: No \nType: Number \nUpdate requires: No interruption" - }, - "Max": { - "description": "The maximum amount of network bandwidth, in gigabits per second (Gbps).", - "type": "number", - "markdownDescription": "The maximum amount of network bandwidth, in gigabits per second (Gbps).\n\n---\n\nRequired: No \nType: Number \nUpdate requires: No interruption" - } - }, - "markdownDescription": "``NetworkBandwidthGbpsRequest`` is a property of the ``InstanceRequirements`` property of the [AWS::AutoScaling::AutoScalingGroup LaunchTemplateOverrides](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-autoscalinggroup-launchtemplateoverrides.html) property type that describes the minimum and maximum network bandwidth for an instance type, in Gbps.\n Setting the minimum bandwidth does not guarantee that your instance will achieve the minimum bandwidth. Amazon EC2 will identify instance types that support the specified minimum bandwidth, but the actual bandwidth of your instance might go below the specified minimum at times. For more information, see [Available instance bandwidth](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-network-bandwidth.html#available-instance-bandwidth) in the *Amazon EC2 User Guide for Linux Instances*.\n\n---\n\nRequired: No \nUpdate requires: No interruption" - }, - "BaselineEbsBandwidthMbpsRequest": { - "description": "``BaselineEbsBandwidthMbpsRequest`` is a property of the ``InstanceRequirements`` property of the [AWS::AutoScaling::AutoScalingGroup LaunchTemplateOverrides](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-autoscalinggroup-launchtemplateoverrides.html) property type that describes the minimum and maximum baseline bandwidth performance for an instance type, in Mbps.", - "additionalProperties": false, - "type": "object", - "properties": { - "Min": { - "description": "The minimum value in Mbps.", - "type": "integer", - "markdownDescription": "The minimum value in Mbps.\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" - }, - "Max": { - "description": "The maximum value in Mbps.", - "type": "integer", - "markdownDescription": "The maximum value in Mbps.\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" - } - }, - "markdownDescription": "``BaselineEbsBandwidthMbpsRequest`` is a property of the ``InstanceRequirements`` property of the [AWS::AutoScaling::AutoScalingGroup LaunchTemplateOverrides](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-autoscalinggroup-launchtemplateoverrides.html) property type that describes the minimum and maximum baseline bandwidth performance for an instance type, in Mbps.\n\n---\n\nRequired: No \nUpdate requires: No interruption" - }, - "NetworkInterfaceCountRequest": { - "description": "``NetworkInterfaceCountRequest`` is a property of the ``InstanceRequirements`` property of the [AWS::AutoScaling::AutoScalingGroup LaunchTemplateOverrides](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-autoscalinggroup-launchtemplateoverrides.html) property type that describes the minimum and maximum number of network interfaces for an instance type.", + }, + "MemoryMiBRequest": { + "description": "``MemoryMiBRequest`` is a property of the ``InstanceRequirements`` property of the [AWS::AutoScaling::AutoScalingGroup LaunchTemplateOverrides](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-autoscalinggroup-launchtemplateoverrides.html) property type that describes the minimum and maximum instance memory size for an instance type, in MiB.", "additionalProperties": false, "type": "object", "properties": { "Min": { - "description": "The minimum number of network interfaces.", + "description": "The memory minimum in MiB.", "type": "integer", - "markdownDescription": "The minimum number of network interfaces.\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" + "markdownDescription": "The memory minimum in MiB.\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" }, "Max": { - "description": "The maximum number of network interfaces.", + "description": "The memory maximum in MiB.", "type": "integer", - "markdownDescription": "The maximum number of network interfaces.\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" + "markdownDescription": "The memory maximum in MiB.\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" } }, - "markdownDescription": "``NetworkInterfaceCountRequest`` is a property of the ``InstanceRequirements`` property of the [AWS::AutoScaling::AutoScalingGroup LaunchTemplateOverrides](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-autoscalinggroup-launchtemplateoverrides.html) property type that describes the minimum and maximum number of network interfaces for an instance type.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + "markdownDescription": "``MemoryMiBRequest`` is a property of the ``InstanceRequirements`` property of the [AWS::AutoScaling::AutoScalingGroup LaunchTemplateOverrides](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-autoscalinggroup-launchtemplateoverrides.html) property type that describes the minimum and maximum instance memory size for an instance type, in MiB.\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, - "VCpuCountRequest": { - "description": "``VCpuCountRequest`` is a property of the ``InstanceRequirements`` property of the [AWS::AutoScaling::AutoScalingGroup LaunchTemplateOverrides](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-autoscalinggroup-launchtemplateoverrides.html) property type that describes the minimum and maximum number of vCPUs for an instance type.", + "InstanceMaintenancePolicy": { + "description": "``InstanceMaintenancePolicy`` is a property of the [AWS::AutoScaling::AutoScalingGroup](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-autoscaling-autoscalinggroup.html) resource.\n For more information, see [Instance maintenance policies](https://docs.aws.amazon.com/autoscaling/ec2/userguide/ec2-auto-scaling-instance-maintenance-policy.html) in the *Amazon EC2 Auto Scaling User Guide*.", "additionalProperties": false, "type": "object", "properties": { - "Min": { - "description": "The minimum number of vCPUs.", + "MaxHealthyPercentage": { + "description": "Specifies the upper threshold as a percentage of the desired capacity of the Auto Scaling group. It represents the maximum percentage of the group that can be in service and healthy, or pending, to support your workload when replacing instances. Value range is 100 to 200. To clear a previously set value, specify a value of ``-1``.\n Both ``MinHealthyPercentage`` and ``MaxHealthyPercentage`` must be specified, and the difference between them cannot be greater than 100. A large range increases the number of instances that can be replaced at the same time.", "type": "integer", - "markdownDescription": "The minimum number of vCPUs.\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" + "markdownDescription": "Specifies the upper threshold as a percentage of the desired capacity of the Auto Scaling group. It represents the maximum percentage of the group that can be in service and healthy, or pending, to support your workload when replacing instances. Value range is 100 to 200. To clear a previously set value, specify a value of ``-1``.\n Both ``MinHealthyPercentage`` and ``MaxHealthyPercentage`` must be specified, and the difference between them cannot be greater than 100. A large range increases the number of instances that can be replaced at the same time.\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" }, - "Max": { - "description": "The maximum number of vCPUs.", + "MinHealthyPercentage": { + "description": "Specifies the lower threshold as a percentage of the desired capacity of the Auto Scaling group. It represents the minimum percentage of the group to keep in service, healthy, and ready to use to support your workload when replacing instances. Value range is 0 to 100. To clear a previously set value, specify a value of ``-1``.", "type": "integer", - "markdownDescription": "The maximum number of vCPUs.\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" + "markdownDescription": "Specifies the lower threshold as a percentage of the desired capacity of the Auto Scaling group. It represents the minimum percentage of the group to keep in service, healthy, and ready to use to support your workload when replacing instances. Value range is 0 to 100. To clear a previously set value, specify a value of ``-1``.\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" } }, - "markdownDescription": "``VCpuCountRequest`` is a property of the ``InstanceRequirements`` property of the [AWS::AutoScaling::AutoScalingGroup LaunchTemplateOverrides](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-autoscalinggroup-launchtemplateoverrides.html) property type that describes the minimum and maximum number of vCPUs for an instance type.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + "dependencies": { + "MaxHealthyPercentage": [ + "MinHealthyPercentage" + ], + "MinHealthyPercentage": [ + "MaxHealthyPercentage" + ] + }, + "markdownDescription": "``InstanceMaintenancePolicy`` is a property of the [AWS::AutoScaling::AutoScalingGroup](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-autoscaling-autoscalinggroup.html) resource.\n For more information, see [Instance maintenance policies](https://docs.aws.amazon.com/autoscaling/ec2/userguide/ec2-auto-scaling-instance-maintenance-policy.html) in the *Amazon EC2 Auto Scaling User Guide*.\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, - "LaunchTemplate": { - "description": "Use this structure to specify the launch templates and instance types (overrides) for a mixed instances policy.\n ``LaunchTemplate`` is a property of the [AWS::AutoScaling::AutoScalingGroup MixedInstancesPolicy](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-autoscalinggroup-mixedinstancespolicy.html) property type.", + "BaselinePerformanceFactorsRequest": { + "description": "", "additionalProperties": false, "type": "object", "properties": { - "LaunchTemplateSpecification": { - "description": "The launch template.", - "$ref": "#/definitions/LaunchTemplateSpecification", - "markdownDescription": "The launch template.\n\n---\n\nRequired: Yes \nType: \nUpdate requires: No interruption" - }, - "Overrides": { - "uniqueItems": false, - "description": "Any properties that you specify override the same properties in the launch template.", - "insertionOrder": true, - "type": "array", - "items": { - "$ref": "#/definitions/LaunchTemplateOverrides" - }, - "markdownDescription": "Any properties that you specify override the same properties in the launch template.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + "Cpu": { + "$ref": "#/definitions/CpuPerformanceFactorRequest" } }, - "required": [ - "LaunchTemplateSpecification" - ], - "markdownDescription": "Use this structure to specify the launch templates and instance types (overrides) for a mixed instances policy.\n ``LaunchTemplate`` is a property of the [AWS::AutoScaling::AutoScalingGroup MixedInstancesPolicy](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-autoscalinggroup-mixedinstancespolicy.html) property type.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, - "LaunchTemplateOverrides": { - "description": "Use this structure to let Amazon EC2 Auto Scaling do the following when the Auto Scaling group has a mixed instances policy:\n + Override the instance type that is specified in the launch template.\n + Use multiple instance types.\n \n Specify the instance types that you want, or define your instance requirements instead and let Amazon EC2 Auto Scaling provision the available instance types that meet your requirements. This can provide Amazon EC2 Auto Scaling with a larger selection of instance types to choose from when fulfilling Spot and On-Demand capacities. You can view which instance types are matched before you apply the instance requirements to your Auto Scaling group.\n After you define your instance requirements, you don't have to keep updating these settings to get new EC2 instance types automatically. Amazon EC2 Auto Scaling uses the instance requirements of the Auto Scaling group to determine whether a new EC2 instance type can be used.\n ``LaunchTemplateOverrides`` is a property of the [AWS::AutoScaling::AutoScalingGroup LaunchTemplate](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-autoscalinggroup-launchtemplate.html) property type.", - "additionalProperties": false, - "type": "object", - "properties": { - "LaunchTemplateSpecification": { - "description": "Provides a launch template for the specified instance type or set of instance requirements. For example, some instance types might require a launch template with a different AMI. If not provided, Amazon EC2 Auto Scaling uses the launch template that's specified in the ``LaunchTemplate`` definition. For more information, see [Specifying a different launch template for an instance type](https://docs.aws.amazon.com/autoscaling/ec2/userguide/ec2-auto-scaling-mixed-instances-groups-launch-template-overrides.html) in the *Amazon EC2 Auto Scaling User Guide*. \n You can specify up to 20 launch templates per Auto Scaling group. The launch templates specified in the overrides and in the ``LaunchTemplate`` definition count towards this limit.", - "$ref": "#/definitions/LaunchTemplateSpecification", - "markdownDescription": "Provides a launch template for the specified instance type or set of instance requirements. For example, some instance types might require a launch template with a different AMI. If not provided, Amazon EC2 Auto Scaling uses the launch template that's specified in the ``LaunchTemplate`` definition. For more information, see [Specifying a different launch template for an instance type](https://docs.aws.amazon.com/autoscaling/ec2/userguide/ec2-auto-scaling-mixed-instances-groups-launch-template-overrides.html) in the *Amazon EC2 Auto Scaling User Guide*. \n You can specify up to 20 launch templates per Auto Scaling group. The launch templates specified in the overrides and in the ``LaunchTemplate`` definition count towards this limit.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" - }, - "WeightedCapacity": { - "description": "If you provide a list of instance types to use, you can specify the number of capacity units provided by each instance type in terms of virtual CPUs, memory, storage, throughput, or other relative performance characteristic. When a Spot or On-Demand Instance is launched, the capacity units count toward the desired capacity. Amazon EC2 Auto Scaling launches instances until the desired capacity is totally fulfilled, even if this results in an overage. For example, if there are two units remaining to fulfill capacity, and Amazon EC2 Auto Scaling can only launch an instance with a ``WeightedCapacity`` of five units, the instance is launched, and the desired capacity is exceeded by three units. For more information, see [Configure instance weighting for Amazon EC2 Auto Scaling](https://docs.aws.amazon.com/autoscaling/ec2/userguide/ec2-auto-scaling-mixed-instances-groups-instance-weighting.html) in the *Amazon EC2 Auto Scaling User Guide*. Value must be in the range of 1-999. \n If you specify a value for ``WeightedCapacity`` for one instance type, you must specify a value for ``WeightedCapacity`` for all of them.\n Every Auto Scaling group has three size parameters (``DesiredCapacity``, ``MaxSize``, and ``MinSize``). Usually, you set these sizes based on a specific number of instances. However, if you configure a mixed instances policy that defines weights for the instance types, you must specify these sizes with the same units that you use for weighting instances.", - "type": "string", - "markdownDescription": "If you provide a list of instance types to use, you can specify the number of capacity units provided by each instance type in terms of virtual CPUs, memory, storage, throughput, or other relative performance characteristic. When a Spot or On-Demand Instance is launched, the capacity units count toward the desired capacity. Amazon EC2 Auto Scaling launches instances until the desired capacity is totally fulfilled, even if this results in an overage. For example, if there are two units remaining to fulfill capacity, and Amazon EC2 Auto Scaling can only launch an instance with a ``WeightedCapacity`` of five units, the instance is launched, and the desired capacity is exceeded by three units. For more information, see [Configure instance weighting for Amazon EC2 Auto Scaling](https://docs.aws.amazon.com/autoscaling/ec2/userguide/ec2-auto-scaling-mixed-instances-groups-instance-weighting.html) in the *Amazon EC2 Auto Scaling User Guide*. Value must be in the range of 1-999. \n If you specify a value for ``WeightedCapacity`` for one instance type, you must specify a value for ``WeightedCapacity`` for all of them.\n Every Auto Scaling group has three size parameters (``DesiredCapacity``, ``MaxSize``, and ``MinSize``). Usually, you set these sizes based on a specific number of instances. However, if you configure a mixed instances policy that defines weights for the instance types, you must specify these sizes with the same units that you use for weighting instances.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" - }, - "InstanceRequirements": { - "description": "The instance requirements. Amazon EC2 Auto Scaling uses your specified requirements to identify instance types. Then, it uses your On-Demand and Spot allocation strategies to launch instances from these instance types.\n You can specify up to four separate sets of instance requirements per Auto Scaling group. This is useful for provisioning instances from different Amazon Machine Images (AMIs) in the same Auto Scaling group. To do this, create the AMIs and create a new launch template for each AMI. Then, create a compatible set of instance requirements for each launch template. \n If you specify ``InstanceRequirements``, you can't specify ``InstanceType``.", - "$ref": "#/definitions/InstanceRequirements", - "markdownDescription": "The instance requirements. Amazon EC2 Auto Scaling uses your specified requirements to identify instance types. Then, it uses your On-Demand and Spot allocation strategies to launch instances from these instance types.\n You can specify up to four separate sets of instance requirements per Auto Scaling group. This is useful for provisioning instances from different Amazon Machine Images (AMIs) in the same Auto Scaling group. To do this, create the AMIs and create a new launch template for each AMI. Then, create a compatible set of instance requirements for each launch template. \n If you specify ``InstanceRequirements``, you can't specify ``InstanceType``.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" - }, - "InstanceType": { - "description": "The instance type, such as ``m3.xlarge``. You must specify an instance type that is supported in your requested Region and Availability Zones. For more information, see [Instance types](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html) in the *Amazon EC2 User Guide for Linux Instances*.\n You can specify up to 40 instance types per Auto Scaling group.", - "type": "string", - "markdownDescription": "The instance type, such as ``m3.xlarge``. You must specify an instance type that is supported in your requested Region and Availability Zones. For more information, see [Instance types](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html) in the *Amazon EC2 User Guide for Linux Instances*.\n You can specify up to 40 instance types per Auto Scaling group.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" - } + "PerformanceFactorReferenceSetRequest": { + "uniqueItems": true, + "insertionOrder": true, + "type": "array", + "items": { + "$ref": "#/definitions/PerformanceFactorReferenceRequest" }, - "markdownDescription": "Use this structure to let Amazon EC2 Auto Scaling do the following when the Auto Scaling group has a mixed instances policy:\n + Override the instance type that is specified in the launch template.\n + Use multiple instance types.\n \n Specify the instance types that you want, or define your instance requirements instead and let Amazon EC2 Auto Scaling provision the available instance types that meet your requirements. This can provide Amazon EC2 Auto Scaling with a larger selection of instance types to choose from when fulfilling Spot and On-Demand capacities. You can view which instance types are matched before you apply the instance requirements to your Auto Scaling group.\n After you define your instance requirements, you don't have to keep updating these settings to get new EC2 instance types automatically. Amazon EC2 Auto Scaling uses the instance requirements of the Auto Scaling group to determine whether a new EC2 instance type can be used.\n ``LaunchTemplateOverrides`` is a property of the [AWS::AutoScaling::AutoScalingGroup LaunchTemplate](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-autoscalinggroup-launchtemplate.html) property type.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" }, "AcceleratorTotalMemoryMiBRequest": { "description": "``AcceleratorTotalMemoryMiBRequest`` is a property of the ``InstanceRequirements`` property of the [AWS::AutoScaling::AutoScalingGroup LaunchTemplateOverrides](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-autoscalinggroup-launchtemplateoverrides.html) property type that describes the minimum and maximum total memory size for the accelerators for an instance type, in MiB.", @@ -557,43 +689,33 @@ }, "markdownDescription": "``AcceleratorTotalMemoryMiBRequest`` is a property of the ``InstanceRequirements`` property of the [AWS::AutoScaling::AutoScalingGroup LaunchTemplateOverrides](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-autoscalinggroup-launchtemplateoverrides.html) property type that describes the minimum and maximum total memory size for the accelerators for an instance type, in MiB.\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, - "MixedInstancesPolicy": { - "description": "Use this structure to launch multiple instance types and On-Demand Instances and Spot Instances within a single Auto Scaling group.\n A mixed instances policy contains information that Amazon EC2 Auto Scaling can use to launch instances and help optimize your costs. For more information, see [Auto Scaling groups with multiple instance types and purchase options](https://docs.aws.amazon.com/autoscaling/ec2/userguide/ec2-auto-scaling-mixed-instances-groups.html) in the *Amazon EC2 Auto Scaling User Guide*.\n You can create a mixed instances policy for new and existing Auto Scaling groups. You must use a launch template to configure the policy. You cannot use a launch configuration.\n There are key differences between Spot Instances and On-Demand Instances:\n + The price for Spot Instances varies based on demand\n + Amazon EC2 can terminate an individual Spot Instance as the availability of, or price for, Spot Instances changes\n \n When a Spot Instance is terminated, Amazon EC2 Auto Scaling group attempts to launch a replacement instance to maintain the desired capacity for the group. \n ``MixedInstancesPolicy`` is a property of the [AWS::AutoScaling::AutoScalingGroup](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-autoscaling-autoscalinggroup.html) resource.", + "TrafficSourceIdentifier": { + "description": "Identifying information for a traffic source.", "additionalProperties": false, "type": "object", "properties": { - "InstancesDistribution": { - "description": "The instances distribution.", - "$ref": "#/definitions/InstancesDistribution", - "markdownDescription": "The instances distribution.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" + "Type": { + "description": "Provides additional context for the value of ``Identifier``.\n The following lists the valid values:\n + ``elb`` if ``Identifier`` is the name of a Classic Load Balancer.\n + ``elbv2`` if ``Identifier`` is the ARN of an Application Load Balancer, Gateway Load Balancer, or Network Load Balancer target group.\n + ``vpc-lattice`` if ``Identifier`` is the ARN of a VPC Lattice target group.\n \n Required if the identifier is the name of a Classic Load Balancer.", + "type": "string", + "markdownDescription": "Provides additional context for the value of ``Identifier``.\n The following lists the valid values:\n + ``elb`` if ``Identifier`` is the name of a Classic Load Balancer.\n + ``elbv2`` if ``Identifier`` is the ARN of an Application Load Balancer, Gateway Load Balancer, or Network Load Balancer target group.\n + ``vpc-lattice`` if ``Identifier`` is the ARN of a VPC Lattice target group.\n \n Required if the identifier is the name of a Classic Load Balancer.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" }, - "LaunchTemplate": { - "description": "One or more launch templates and the instance types (overrides) that are used to launch EC2 instances to fulfill On-Demand and Spot capacities.", - "$ref": "#/definitions/LaunchTemplate", - "markdownDescription": "One or more launch templates and the instance types (overrides) that are used to launch EC2 instances to fulfill On-Demand and Spot capacities.\n\n---\n\nRequired: Yes \nType: \nUpdate requires: No interruption" + "Identifier": { + "description": "Identifies the traffic source.\n For Application Load Balancers, Gateway Load Balancers, Network Load Balancers, and VPC Lattice, this will be the Amazon Resource Name (ARN) for a target group in this account and Region. For Classic Load Balancers, this will be the name of the Classic Load Balancer in this account and Region.\n For example: \n + Application Load Balancer ARN: ``arn:aws:elasticloadbalancing:us-west-2:123456789012:targetgroup/my-targets/1234567890123456`` \n + Classic Load Balancer name: ``my-classic-load-balancer`` \n + VPC Lattice ARN: ``arn:aws:vpc-lattice:us-west-2:123456789012:targetgroup/tg-1234567890123456`` \n \n To get the ARN of a target group for a Application Load Balancer, Gateway Load Balancer, or Network Load Balancer, or the name of a Classic Load Balancer, use the Elastic Load Balancing [DescribeTargetGroups](https://docs.aws.amazon.com/elasticloadbalancing/latest/APIReference/API_DescribeTargetGroups.html) and [DescribeLoadBalancers](https://docs.aws.amazon.com/elasticloadbalancing/latest/APIReference/API_DescribeLoadBalancers.html) API operations.\n To get the ARN of a target group for VPC Lattice, use the VPC Lattice [GetTargetGroup](https://docs.aws.amazon.com/vpc-lattice/latest/APIReference/API_GetTargetGroup.html) API operation.", + "type": "string", + "markdownDescription": "Identifies the traffic source.\n For Application Load Balancers, Gateway Load Balancers, Network Load Balancers, and VPC Lattice, this will be the Amazon Resource Name (ARN) for a target group in this account and Region. For Classic Load Balancers, this will be the name of the Classic Load Balancer in this account and Region.\n For example: \n + Application Load Balancer ARN: ``arn:aws:elasticloadbalancing:us-west-2:123456789012:targetgroup/my-targets/1234567890123456`` \n + Classic Load Balancer name: ``my-classic-load-balancer`` \n + VPC Lattice ARN: ``arn:aws:vpc-lattice:us-west-2:123456789012:targetgroup/tg-1234567890123456`` \n \n To get the ARN of a target group for a Application Load Balancer, Gateway Load Balancer, or Network Load Balancer, or the name of a Classic Load Balancer, use the Elastic Load Balancing [DescribeTargetGroups](https://docs.aws.amazon.com/elasticloadbalancing/latest/APIReference/API_DescribeTargetGroups.html) and [DescribeLoadBalancers](https://docs.aws.amazon.com/elasticloadbalancing/latest/APIReference/API_DescribeLoadBalancers.html) API operations.\n To get the ARN of a target group for VPC Lattice, use the VPC Lattice [GetTargetGroup](https://docs.aws.amazon.com/vpc-lattice/latest/APIReference/API_GetTargetGroup.html) API operation.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" } }, "required": [ - "LaunchTemplate" + "Identifier", + "Type" ], - "markdownDescription": "Use this structure to launch multiple instance types and On-Demand Instances and Spot Instances within a single Auto Scaling group.\n A mixed instances policy contains information that Amazon EC2 Auto Scaling can use to launch instances and help optimize your costs. For more information, see [Auto Scaling groups with multiple instance types and purchase options](https://docs.aws.amazon.com/autoscaling/ec2/userguide/ec2-auto-scaling-mixed-instances-groups.html) in the *Amazon EC2 Auto Scaling User Guide*.\n You can create a mixed instances policy for new and existing Auto Scaling groups. You must use a launch template to configure the policy. You cannot use a launch configuration.\n There are key differences between Spot Instances and On-Demand Instances:\n + The price for Spot Instances varies based on demand\n + Amazon EC2 can terminate an individual Spot Instance as the availability of, or price for, Spot Instances changes\n \n When a Spot Instance is terminated, Amazon EC2 Auto Scaling group attempts to launch a replacement instance to maintain the desired capacity for the group. \n ``MixedInstancesPolicy`` is a property of the [AWS::AutoScaling::AutoScalingGroup](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-autoscaling-autoscalinggroup.html) resource.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + "markdownDescription": "Identifying information for a traffic source.\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, "InstanceRequirements": { "description": "The attributes for the instance types for a mixed instances policy. Amazon EC2 Auto Scaling uses your specified requirements to identify instance types. Then, it uses your On-Demand and Spot allocation strategies to launch instances from these instance types.\n When you specify multiple attributes, you get instance types that satisfy all of the specified attributes. If you specify multiple values for an attribute, you get instance types that satisfy any of the specified values.\n To limit the list of instance types from which Amazon EC2 Auto Scaling can identify matching instance types, you can use one of the following parameters, but not both in the same request:\n + ``AllowedInstanceTypes`` - The instance types to include in the list. All other instance types are ignored, even if they match your specified attributes.\n + ``ExcludedInstanceTypes`` - The instance types to exclude from the list, even if they match your specified attributes.\n \n You must specify ``VCpuCount`` and ``MemoryMiB``. All other attributes are optional. Any unspecified optional attribute is set to its default.\n For an example template, see [Configure Amazon EC2 Auto Scaling resources](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/quickref-ec2-auto-scaling.html).\n For more information, see [Creating an Auto Scaling group using attribute-based instance type selection](https://docs.aws.amazon.com/autoscaling/ec2/userguide/create-asg-instance-type-requirements.html) in the *Amazon EC2 Auto Scaling User Guide*. For help determining which instance types match your attributes before you apply them to your Auto Scaling group, see [Preview instance types with specified attributes](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-fleet-attribute-based-instance-type-selection.html#ec2fleet-get-instance-types-from-instance-requirements) in the *Amazon EC2 User Guide for Linux Instances*.\n ``InstanceRequirements`` is a property of the ``LaunchTemplateOverrides`` property of the [AWS::AutoScaling::AutoScalingGroup LaunchTemplate](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-autoscalinggroup-launchtemplate.html) property type.", "additionalProperties": false, "type": "object", "properties": { - "LocalStorageTypes": { - "uniqueItems": true, - "description": "Indicates the type of local storage that is required.\n + For instance types with hard disk drive (HDD) storage, specify ``hdd``.\n + For instance types with solid state drive (SSD) storage, specify ``ssd``.\n \n Default: Any local storage type", - "insertionOrder": false, - "type": "array", - "items": { - "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" - }, - "markdownDescription": "Indicates the type of local storage that is required.\n + For instance types with hard disk drive (HDD) storage, specify ``hdd``.\n + For instance types with solid state drive (SSD) storage, specify ``ssd``.\n \n Default: Any local storage type\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" - }, "InstanceGenerations": { "uniqueItems": true, "description": "Indicates whether current or previous generation instance types are included.\n + For current generation instance types, specify ``current``. The current generation includes EC2 instance types currently recommended for use. This typically includes the latest two to three generations in each instance family. For more information, see [Instance types](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html) in the *Amazon EC2 User Guide for Linux Instances*.\n + For previous generation instance types, specify ``previous``.\n \n Default: Any current or previous generation", @@ -605,11 +727,6 @@ }, "markdownDescription": "Indicates whether current or previous generation instance types are included.\n + For current generation instance types, specify ``current``. The current generation includes EC2 instance types currently recommended for use. This typically includes the latest two to three generations in each instance family. For more information, see [Instance types](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html) in the *Amazon EC2 User Guide for Linux Instances*.\n + For previous generation instance types, specify ``previous``.\n \n Default: Any current or previous generation\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" }, - "NetworkInterfaceCount": { - "description": "The minimum and maximum number of network interfaces for an instance type.\n Default: No minimum or maximum limits", - "$ref": "#/definitions/NetworkInterfaceCountRequest", - "markdownDescription": "The minimum and maximum number of network interfaces for an instance type.\n Default: No minimum or maximum limits\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" - }, "AcceleratorTypes": { "uniqueItems": true, "description": "Lists the accelerator types that must be on an instance type.\n + For instance types with GPU accelerators, specify ``gpu``.\n + For instance types with FPGA accelerators, specify ``fpga``.\n + For instance types with inference accelerators, specify ``inference``.\n \n Default: Any accelerator type", @@ -637,33 +754,11 @@ }, "markdownDescription": "Indicates whether instance types must have accelerators by specific manufacturers.\n + For instance types with NVIDIA devices, specify ``nvidia``.\n + For instance types with AMD devices, specify ``amd``.\n + For instance types with AWS devices, specify ``amazon-web-services``.\n + For instance types with Xilinx devices, specify ``xilinx``.\n \n Default: Any manufacturer\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" }, - "ExcludedInstanceTypes": { - "uniqueItems": true, - "description": "The instance types to exclude. You can use strings with one or more wild cards, represented by an asterisk (``*``), to exclude an instance family, type, size, or generation. The following are examples: ``m5.8xlarge``, ``c5*.*``, ``m5a.*``, ``r*``, ``*3*``. \n For example, if you specify ``c5*``, you are excluding the entire C5 instance family, which includes all C5a and C5n instance types. If you specify ``m5a.*``, Amazon EC2 Auto Scaling will exclude all the M5a instance types, but not the M5n instance types.\n If you specify ``ExcludedInstanceTypes``, you can't specify ``AllowedInstanceTypes``.\n Default: No excluded instance types", - "insertionOrder": true, - "type": "array", - "items": { - "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" - }, - "markdownDescription": "The instance types to exclude. You can use strings with one or more wild cards, represented by an asterisk (``*``), to exclude an instance family, type, size, or generation. The following are examples: ``m5.8xlarge``, ``c5*.*``, ``m5a.*``, ``r*``, ``*3*``. \n For example, if you specify ``c5*``, you are excluding the entire C5 instance family, which includes all C5a and C5n instance types. If you specify ``m5a.*``, Amazon EC2 Auto Scaling will exclude all the M5a instance types, but not the M5n instance types.\n If you specify ``ExcludedInstanceTypes``, you can't specify ``AllowedInstanceTypes``.\n Default: No excluded instance types\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" - }, "VCpuCount": { "description": "The minimum and maximum number of vCPUs for an instance type.", "$ref": "#/definitions/VCpuCountRequest", "markdownDescription": "The minimum and maximum number of vCPUs for an instance type.\n\n---\n\nRequired: Yes \nType: \nUpdate requires: No interruption" }, - "AllowedInstanceTypes": { - "uniqueItems": true, - "description": "The instance types to apply your specified attributes against. All other instance types are ignored, even if they match your specified attributes.\n You can use strings with one or more wild cards, represented by an asterisk (``*``), to allow an instance type, size, or generation. The following are examples: ``m5.8xlarge``, ``c5*.*``, ``m5a.*``, ``r*``, ``*3*``.\n For example, if you specify ``c5*``, Amazon EC2 Auto Scaling will allow the entire C5 instance family, which includes all C5a and C5n instance types. If you specify ``m5a.*``, Amazon EC2 Auto Scaling will allow all the M5a instance types, but not the M5n instance types.\n If you specify ``AllowedInstanceTypes``, you can't specify ``ExcludedInstanceTypes``.\n Default: All instance types", - "insertionOrder": true, - "type": "array", - "items": { - "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" - }, - "markdownDescription": "The instance types to apply your specified attributes against. All other instance types are ignored, even if they match your specified attributes.\n You can use strings with one or more wild cards, represented by an asterisk (``*``), to allow an instance type, size, or generation. The following are examples: ``m5.8xlarge``, ``c5*.*``, ``m5a.*``, ``r*``, ``*3*``.\n For example, if you specify ``c5*``, Amazon EC2 Auto Scaling will allow the entire C5 instance family, which includes all C5a and C5n instance types. If you specify ``m5a.*``, Amazon EC2 Auto Scaling will allow all the M5a instance types, but not the M5n instance types.\n If you specify ``AllowedInstanceTypes``, you can't specify ``ExcludedInstanceTypes``.\n Default: All instance types\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" - }, "LocalStorage": { "description": "Indicates whether instance types with instance store volumes are included, excluded, or required. For more information, see [Amazon EC2 instance store](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/InstanceStorage.html) in the *Amazon EC2 User Guide for Linux Instances*.\n Default: ``included``", "type": "string", @@ -680,16 +775,6 @@ }, "markdownDescription": "Lists which specific CPU manufacturers to include.\n + For instance types with Intel CPUs, specify ``intel``.\n + For instance types with AMD CPUs, specify ``amd``.\n + For instance types with AWS CPUs, specify ``amazon-web-services``.\n \n Don't confuse the CPU hardware manufacturer with the CPU hardware architecture. Instances will be launched with a compatible CPU architecture based on the Amazon Machine Image (AMI) that you specify in your launch template. \n Default: Any manufacturer\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" }, - "AcceleratorCount": { - "description": "The minimum and maximum number of accelerators (GPUs, FPGAs, or AWS Inferentia chips) for an instance type.\n To exclude accelerator-enabled instance types, set ``Max`` to ``0``.\n Default: No minimum or maximum limits", - "$ref": "#/definitions/AcceleratorCountRequest", - "markdownDescription": "The minimum and maximum number of accelerators (GPUs, FPGAs, or AWS Inferentia chips) for an instance type.\n To exclude accelerator-enabled instance types, set ``Max`` to ``0``.\n Default: No minimum or maximum limits\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" - }, - "NetworkBandwidthGbps": { - "description": "The minimum and maximum amount of network bandwidth, in gigabits per second (Gbps).\n Default: No minimum or maximum limits", - "$ref": "#/definitions/NetworkBandwidthGbpsRequest", - "markdownDescription": "The minimum and maximum amount of network bandwidth, in gigabits per second (Gbps).\n Default: No minimum or maximum limits\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" - }, "BareMetal": { "description": "Indicates whether bare metal instance types are included, excluded, or required.\n Default: ``excluded``", "type": "string", @@ -705,6 +790,69 @@ "type": "integer", "markdownDescription": "[Price protection] The price protection threshold for Spot Instances, as a percentage of an identified On-Demand price. The identified On-Demand price is the price of the lowest priced current generation C, M, or R instance type with your specified attributes. If no current generation C, M, or R instance type matches your attributes, then the identified price is from either the lowest priced current generation instance types or, failing that, the lowest priced previous generation instance types that match your attributes. When Amazon EC2 Auto Scaling selects instance types with your attributes, we will exclude instance types whose price exceeds your specified threshold.\n The parameter accepts an integer, which Amazon EC2 Auto Scaling interprets as a percentage.\n If you set ``DesiredCapacityType`` to ``vcpu`` or ``memory-mib``, the price protection threshold is based on the per-vCPU or per-memory price instead of the per instance price. \n Only one of ``SpotMaxPricePercentageOverLowestPrice`` or ``MaxSpotPriceAsPercentageOfOptimalOnDemandPrice`` can be specified. If you don't specify either, Amazon EC2 Auto Scaling will automatically apply optimal price protection to consistently select from a wide range of instance types. To indicate no price protection threshold for Spot Instances, meaning you want to consider all instance types that match your attributes, include one of these parameters and specify a high value, such as ``999999``.\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" }, + "OnDemandMaxPricePercentageOverLowestPrice": { + "description": "[Price protection] The price protection threshold for On-Demand Instances, as a percentage higher than an identified On-Demand price. The identified On-Demand price is the price of the lowest priced current generation C, M, or R instance type with your specified attributes. If no current generation C, M, or R instance type matches your attributes, then the identified price is from either the lowest priced current generation instance types or, failing that, the lowest priced previous generation instance types that match your attributes. When Amazon EC2 Auto Scaling selects instance types with your attributes, we will exclude instance types whose price exceeds your specified threshold. \n The parameter accepts an integer, which Amazon EC2 Auto Scaling interprets as a percentage.\n To turn off price protection, specify a high value, such as ``999999``. \n If you set ``DesiredCapacityType`` to ``vcpu`` or ``memory-mib``, the price protection threshold is applied based on the per-vCPU or per-memory price instead of the per instance price. \n Default: ``20``", + "type": "integer", + "markdownDescription": "[Price protection] The price protection threshold for On-Demand Instances, as a percentage higher than an identified On-Demand price. The identified On-Demand price is the price of the lowest priced current generation C, M, or R instance type with your specified attributes. If no current generation C, M, or R instance type matches your attributes, then the identified price is from either the lowest priced current generation instance types or, failing that, the lowest priced previous generation instance types that match your attributes. When Amazon EC2 Auto Scaling selects instance types with your attributes, we will exclude instance types whose price exceeds your specified threshold. \n The parameter accepts an integer, which Amazon EC2 Auto Scaling interprets as a percentage.\n To turn off price protection, specify a high value, such as ``999999``. \n If you set ``DesiredCapacityType`` to ``vcpu`` or ``memory-mib``, the price protection threshold is applied based on the per-vCPU or per-memory price instead of the per instance price. \n Default: ``20``\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" + }, + "MemoryMiB": { + "description": "The minimum and maximum instance memory size for an instance type, in MiB.", + "$ref": "#/definitions/MemoryMiBRequest", + "markdownDescription": "The minimum and maximum instance memory size for an instance type, in MiB.\n\n---\n\nRequired: Yes \nType: \nUpdate requires: No interruption" + }, + "LocalStorageTypes": { + "uniqueItems": true, + "description": "Indicates the type of local storage that is required.\n + For instance types with hard disk drive (HDD) storage, specify ``hdd``.\n + For instance types with solid state drive (SSD) storage, specify ``ssd``.\n \n Default: Any local storage type", + "insertionOrder": false, + "type": "array", + "items": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "markdownDescription": "Indicates the type of local storage that is required.\n + For instance types with hard disk drive (HDD) storage, specify ``hdd``.\n + For instance types with solid state drive (SSD) storage, specify ``ssd``.\n \n Default: Any local storage type\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + }, + "NetworkInterfaceCount": { + "description": "The minimum and maximum number of network interfaces for an instance type.\n Default: No minimum or maximum limits", + "$ref": "#/definitions/NetworkInterfaceCountRequest", + "markdownDescription": "The minimum and maximum number of network interfaces for an instance type.\n Default: No minimum or maximum limits\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" + }, + "ExcludedInstanceTypes": { + "uniqueItems": true, + "description": "The instance types to exclude. You can use strings with one or more wild cards, represented by an asterisk (``*``), to exclude an instance family, type, size, or generation. The following are examples: ``m5.8xlarge``, ``c5*.*``, ``m5a.*``, ``r*``, ``*3*``. \n For example, if you specify ``c5*``, you are excluding the entire C5 instance family, which includes all C5a and C5n instance types. If you specify ``m5a.*``, Amazon EC2 Auto Scaling will exclude all the M5a instance types, but not the M5n instance types.\n If you specify ``ExcludedInstanceTypes``, you can't specify ``AllowedInstanceTypes``.\n Default: No excluded instance types", + "insertionOrder": true, + "type": "array", + "items": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "markdownDescription": "The instance types to exclude. You can use strings with one or more wild cards, represented by an asterisk (``*``), to exclude an instance family, type, size, or generation. The following are examples: ``m5.8xlarge``, ``c5*.*``, ``m5a.*``, ``r*``, ``*3*``. \n For example, if you specify ``c5*``, you are excluding the entire C5 instance family, which includes all C5a and C5n instance types. If you specify ``m5a.*``, Amazon EC2 Auto Scaling will exclude all the M5a instance types, but not the M5n instance types.\n If you specify ``ExcludedInstanceTypes``, you can't specify ``AllowedInstanceTypes``.\n Default: No excluded instance types\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + }, + "AllowedInstanceTypes": { + "uniqueItems": true, + "description": "The instance types to apply your specified attributes against. All other instance types are ignored, even if they match your specified attributes.\n You can use strings with one or more wild cards, represented by an asterisk (``*``), to allow an instance type, size, or generation. The following are examples: ``m5.8xlarge``, ``c5*.*``, ``m5a.*``, ``r*``, ``*3*``.\n For example, if you specify ``c5*``, Amazon EC2 Auto Scaling will allow the entire C5 instance family, which includes all C5a and C5n instance types. If you specify ``m5a.*``, Amazon EC2 Auto Scaling will allow all the M5a instance types, but not the M5n instance types.\n If you specify ``AllowedInstanceTypes``, you can't specify ``ExcludedInstanceTypes``.\n Default: All instance types", + "insertionOrder": true, + "type": "array", + "items": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "markdownDescription": "The instance types to apply your specified attributes against. All other instance types are ignored, even if they match your specified attributes.\n You can use strings with one or more wild cards, represented by an asterisk (``*``), to allow an instance type, size, or generation. The following are examples: ``m5.8xlarge``, ``c5*.*``, ``m5a.*``, ``r*``, ``*3*``.\n For example, if you specify ``c5*``, Amazon EC2 Auto Scaling will allow the entire C5 instance family, which includes all C5a and C5n instance types. If you specify ``m5a.*``, Amazon EC2 Auto Scaling will allow all the M5a instance types, but not the M5n instance types.\n If you specify ``AllowedInstanceTypes``, you can't specify ``ExcludedInstanceTypes``.\n Default: All instance types\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + }, + "AcceleratorCount": { + "description": "The minimum and maximum number of accelerators (GPUs, FPGAs, or AWS Inferentia chips) for an instance type.\n To exclude accelerator-enabled instance types, set ``Max`` to ``0``.\n Default: No minimum or maximum limits", + "$ref": "#/definitions/AcceleratorCountRequest", + "markdownDescription": "The minimum and maximum number of accelerators (GPUs, FPGAs, or AWS Inferentia chips) for an instance type.\n To exclude accelerator-enabled instance types, set ``Max`` to ``0``.\n Default: No minimum or maximum limits\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" + }, + "NetworkBandwidthGbps": { + "description": "The minimum and maximum amount of network bandwidth, in gigabits per second (Gbps).\n Default: No minimum or maximum limits", + "$ref": "#/definitions/NetworkBandwidthGbpsRequest", + "markdownDescription": "The minimum and maximum amount of network bandwidth, in gigabits per second (Gbps).\n Default: No minimum or maximum limits\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" + }, + "BaselinePerformanceFactors": { + "description": "", + "$ref": "#/definitions/BaselinePerformanceFactorsRequest", + "markdownDescription": "\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" + }, "BaselineEbsBandwidthMbps": { "description": "The minimum and maximum baseline bandwidth performance for an instance type, in Mbps. For more information, see [Amazon EBS\u2013optimized instances](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-optimized.html) in the *Amazon EC2 User Guide for Linux Instances*.\n Default: No minimum or maximum limits", "$ref": "#/definitions/BaselineEbsBandwidthMbpsRequest", @@ -731,21 +879,11 @@ "$ref": "#/definitions/AcceleratorTotalMemoryMiBRequest", "markdownDescription": "The minimum and maximum total memory size for the accelerators on an instance type, in MiB.\n Default: No minimum or maximum limits\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" }, - "OnDemandMaxPricePercentageOverLowestPrice": { - "description": "[Price protection] The price protection threshold for On-Demand Instances, as a percentage higher than an identified On-Demand price. The identified On-Demand price is the price of the lowest priced current generation C, M, or R instance type with your specified attributes. If no current generation C, M, or R instance type matches your attributes, then the identified price is from either the lowest priced current generation instance types or, failing that, the lowest priced previous generation instance types that match your attributes. When Amazon EC2 Auto Scaling selects instance types with your attributes, we will exclude instance types whose price exceeds your specified threshold. \n The parameter accepts an integer, which Amazon EC2 Auto Scaling interprets as a percentage.\n To turn off price protection, specify a high value, such as ``999999``. \n If you set ``DesiredCapacityType`` to ``vcpu`` or ``memory-mib``, the price protection threshold is applied based on the per-vCPU or per-memory price instead of the per instance price. \n Default: ``20``", - "type": "integer", - "markdownDescription": "[Price protection] The price protection threshold for On-Demand Instances, as a percentage higher than an identified On-Demand price. The identified On-Demand price is the price of the lowest priced current generation C, M, or R instance type with your specified attributes. If no current generation C, M, or R instance type matches your attributes, then the identified price is from either the lowest priced current generation instance types or, failing that, the lowest priced previous generation instance types that match your attributes. When Amazon EC2 Auto Scaling selects instance types with your attributes, we will exclude instance types whose price exceeds your specified threshold. \n The parameter accepts an integer, which Amazon EC2 Auto Scaling interprets as a percentage.\n To turn off price protection, specify a high value, such as ``999999``. \n If you set ``DesiredCapacityType`` to ``vcpu`` or ``memory-mib``, the price protection threshold is applied based on the per-vCPU or per-memory price instead of the per instance price. \n Default: ``20``\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" - }, "BurstablePerformance": { "description": "Indicates whether burstable performance instance types are included, excluded, or required. For more information, see [Burstable performance instances](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/burstable-performance-instances.html) in the *Amazon EC2 User Guide for Linux Instances*.\n Default: ``excluded``", "type": "string", "markdownDescription": "Indicates whether burstable performance instance types are included, excluded, or required. For more information, see [Burstable performance instances](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/burstable-performance-instances.html) in the *Amazon EC2 User Guide for Linux Instances*.\n Default: ``excluded``\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, - "MemoryMiB": { - "description": "The minimum and maximum instance memory size for an instance type, in MiB.", - "$ref": "#/definitions/MemoryMiBRequest", - "markdownDescription": "The minimum and maximum instance memory size for an instance type, in MiB.\n\n---\n\nRequired: Yes \nType: \nUpdate requires: No interruption" - }, "TotalLocalStorageGB": { "description": "The minimum and maximum total local storage size for an instance type, in GB.\n Default: No minimum or maximum limits", "$ref": "#/definitions/TotalLocalStorageGBRequest", @@ -757,6 +895,38 @@ "VCpuCount" ], "markdownDescription": "The attributes for the instance types for a mixed instances policy. Amazon EC2 Auto Scaling uses your specified requirements to identify instance types. Then, it uses your On-Demand and Spot allocation strategies to launch instances from these instance types.\n When you specify multiple attributes, you get instance types that satisfy all of the specified attributes. If you specify multiple values for an attribute, you get instance types that satisfy any of the specified values.\n To limit the list of instance types from which Amazon EC2 Auto Scaling can identify matching instance types, you can use one of the following parameters, but not both in the same request:\n + ``AllowedInstanceTypes`` - The instance types to include in the list. All other instance types are ignored, even if they match your specified attributes.\n + ``ExcludedInstanceTypes`` - The instance types to exclude from the list, even if they match your specified attributes.\n \n You must specify ``VCpuCount`` and ``MemoryMiB``. All other attributes are optional. Any unspecified optional attribute is set to its default.\n For an example template, see [Configure Amazon EC2 Auto Scaling resources](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/quickref-ec2-auto-scaling.html).\n For more information, see [Creating an Auto Scaling group using attribute-based instance type selection](https://docs.aws.amazon.com/autoscaling/ec2/userguide/create-asg-instance-type-requirements.html) in the *Amazon EC2 Auto Scaling User Guide*. For help determining which instance types match your attributes before you apply them to your Auto Scaling group, see [Preview instance types with specified attributes](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-fleet-attribute-based-instance-type-selection.html#ec2fleet-get-instance-types-from-instance-requirements) in the *Amazon EC2 User Guide for Linux Instances*.\n ``InstanceRequirements`` is a property of the ``LaunchTemplateOverrides`` property of the [AWS::AutoScaling::AutoScalingGroup LaunchTemplate](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-autoscalinggroup-launchtemplate.html) property type.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "CapacityReservationTarget": { + "description": "", + "additionalProperties": false, + "type": "object", + "properties": { + "CapacityReservationIds": { + "$ref": "#/definitions/CapacityReservationIds" + }, + "CapacityReservationResourceGroupArns": { + "$ref": "#/definitions/CapacityReservationResourceGroupArns" + } + }, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "CapacityReservationSpecification": { + "description": "", + "additionalProperties": false, + "type": "object", + "properties": { + "CapacityReservationPreference": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" + }, + "CapacityReservationTarget": { + "$ref": "#/definitions/CapacityReservationTarget" + } + }, + "required": [ + "CapacityReservationPreference" + ], + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" } }, "properties": { @@ -791,6 +961,11 @@ "type": "string", "markdownDescription": "The Amazon Resource Name (ARN) of the service-linked role that the Auto Scaling group uses to call other AWS service on your behalf. By default, Amazon EC2 Auto Scaling uses a service-linked role named ``AWSServiceRoleForAutoScaling``, which it creates if it does not exist. For more information, see [Service-linked roles](https://docs.aws.amazon.com/autoscaling/ec2/userguide/autoscaling-service-linked-role.html) in the *Amazon EC2 Auto Scaling User Guide*.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, + "AvailabilityZoneImpairmentPolicy": { + "description": "", + "$ref": "#/definitions/AvailabilityZoneImpairmentPolicy", + "markdownDescription": "\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" + }, "TargetGroupARNs": { "uniqueItems": false, "description": "The Amazon Resource Names (ARN) of the Elastic Load Balancing target groups to associate with the Auto Scaling group. Instances are registered as targets with the target groups. The target groups receive incoming traffic and route requests to one or more registered targets. For more information, see [Use Elastic Load Balancing to distribute traffic across the instances in your Auto Scaling group](https://docs.aws.amazon.com/autoscaling/ec2/userguide/autoscaling-load-balancer.html) in the *Amazon EC2 Auto Scaling User Guide*.", @@ -832,6 +1007,11 @@ "type": "integer", "markdownDescription": "The amount of time, in seconds, until a new instance is considered to have finished initializing and resource consumption to become stable after it enters the ``InService`` state. \n During an instance refresh, Amazon EC2 Auto Scaling waits for the warm-up period after it replaces an instance before it moves on to replacing the next instance. Amazon EC2 Auto Scaling also waits for the warm-up period before aggregating the metrics for new instances with existing instances in the Amazon CloudWatch metrics that are used for scaling, resulting in more reliable usage data. For more information, see [Set the default instance warmup for an Auto Scaling group](https://docs.aws.amazon.com/autoscaling/ec2/userguide/ec2-auto-scaling-default-instance-warmup.html) in the *Amazon EC2 Auto Scaling User Guide*.\n To manage various warm-up settings at the group level, we recommend that you set the default instance warmup, *even if it is set to 0 seconds*. To remove a value that you previously set, include the property but specify ``-1`` for the value. However, we strongly recommend keeping the default instance warmup enabled by specifying a value of ``0`` or other nominal value.\n Default: None\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" }, + "SkipZonalShiftValidation": { + "description": "", + "type": "boolean", + "markdownDescription": "\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" + }, "NewInstancesProtectedFromScaleIn": { "description": "Indicates whether newly launched instances are protected from termination by Amazon EC2 Auto Scaling when scaling in. For more information about preventing instances from terminating on scale in, see [Use instance scale-in protection](https://docs.aws.amazon.com/autoscaling/ec2/userguide/ec2-auto-scaling-instance-protection.html) in the *Amazon EC2 Auto Scaling User Guide*.", "type": "boolean", @@ -898,6 +1078,11 @@ "$ref": "#/definitions/NotificationConfiguration", "markdownDescription": "\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" }, + "AvailabilityZoneDistribution": { + "description": "", + "$ref": "#/definitions/AvailabilityZoneDistribution", + "markdownDescription": "\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" + }, "MetricsCollection": { "uniqueItems": false, "description": "Enables the monitoring of group metrics of an Auto Scaling group. By default, these metrics are disabled.", @@ -939,6 +1124,16 @@ "type": "string", "markdownDescription": "The name of the Auto Scaling group. This name must be unique per Region per account.\n The name can contain any ASCII character 33 to 126 including most punctuation characters, digits, and upper and lowercased letters.\n You cannot use a colon (:) in the name.\n\n---\n\nRequired: No \nType: String \nUpdate requires: Replacement" }, + "TrafficSources": { + "uniqueItems": true, + "description": "The traffic sources associated with this Auto Scaling group.", + "insertionOrder": false, + "type": "array", + "items": { + "$ref": "#/definitions/TrafficSourceIdentifier" + }, + "markdownDescription": "The traffic sources associated with this Auto Scaling group.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + }, "DesiredCapacityType": { "description": "The unit of measurement for the value specified for desired capacity. Amazon EC2 Auto Scaling supports ``DesiredCapacityType`` for attribute-based instance type selection only. For more information, see [Create a mixed instances group using attribute-based instance type selection](https://docs.aws.amazon.com/autoscaling/ec2/userguide/create-mixed-instances-group-attribute-based-instance-type-selection.html) in the *Amazon EC2 Auto Scaling User Guide*.\n By default, Amazon EC2 Auto Scaling specifies ``units``, which translates into number of instances.\n Valid values: ``units`` | ``vcpu`` | ``memory-mib``", "type": "string", @@ -947,12 +1142,17 @@ "PlacementGroup": { "description": "The name of the placement group into which to launch your instances. For more information, see [Placement groups](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/placement-groups.html) in the *Amazon EC2 User Guide for Linux Instances*.\n A *cluster* placement group is a logical grouping of instances within a single Availability Zone. You cannot specify multiple Availability Zones and a cluster placement group.", "type": "string", - "markdownDescription": "The name of the placement group into which to launch your instances. For more information, see [Placement groups](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/placement-groups.html) in the *Amazon EC2 User Guide for Linux Instances*.\n A *cluster* placement group is a logical grouping of instances within a single Availability Zone. You cannot specify multiple Availability Zones and a cluster placement group.\n\n---\n\nRequired: No \nType: String \nUpdate requires: Some interruptions" + "markdownDescription": "The name of the placement group into which to launch your instances. For more information, see [Placement groups](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/placement-groups.html) in the *Amazon EC2 User Guide for Linux Instances*.\n A *cluster* placement group is a logical grouping of instances within a single Availability Zone. You cannot specify multiple Availability Zones and a cluster placement group.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "CapacityReservationSpecification": { + "description": "", + "$ref": "#/definitions/CapacityReservationSpecification", + "markdownDescription": "\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" }, "HealthCheckType": { - "description": "A comma-separated value string of one or more health check types.\n The valid values are ``EC2``, ``ELB``, and ``VPC_LATTICE``. ``EC2`` is the default health check and cannot be disabled. For more information, see [Health checks for instances in an Auto Scaling group](https://docs.aws.amazon.com/autoscaling/ec2/userguide/ec2-auto-scaling-health-checks.html) in the *Amazon EC2 Auto Scaling User Guide*.\n Only specify ``EC2`` if you must clear a value that was previously set.", + "description": "A comma-separated value string of one or more health check types.\n The valid values are ``EC2``, ``EBS``, ``ELB``, and ``VPC_LATTICE``. ``EC2`` is the default health check and cannot be disabled. For more information, see [Health checks for instances in an Auto Scaling group](https://docs.aws.amazon.com/autoscaling/ec2/userguide/ec2-auto-scaling-health-checks.html) in the *Amazon EC2 Auto Scaling User Guide*.\n Only specify ``EC2`` if you must clear a value that was previously set.", "type": "string", - "markdownDescription": "A comma-separated value string of one or more health check types.\n The valid values are ``EC2``, ``ELB``, and ``VPC_LATTICE``. ``EC2`` is the default health check and cannot be disabled. For more information, see [Health checks for instances in an Auto Scaling group](https://docs.aws.amazon.com/autoscaling/ec2/userguide/ec2-auto-scaling-health-checks.html) in the *Amazon EC2 Auto Scaling User Guide*.\n Only specify ``EC2`` if you must clear a value that was previously set.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "markdownDescription": "A comma-separated value string of one or more health check types.\n The valid values are ``EC2``, ``EBS``, ``ELB``, and ``VPC_LATTICE``. ``EC2`` is the default health check and cannot be disabled. For more information, see [Health checks for instances in an Auto Scaling group](https://docs.aws.amazon.com/autoscaling/ec2/userguide/ec2-auto-scaling-health-checks.html) in the *Amazon EC2 Auto Scaling User Guide*.\n Only specify ``EC2`` if you must clear a value that was previously set.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, "MaxInstanceLifetime": { "description": "The maximum amount of time, in seconds, that an instance can be in service. The default is null. If specified, the value must be either 0 or a number equal to or greater than 86,400 seconds (1 day). For more information, see [Replace Auto Scaling instances based on maximum instance lifetime](https://docs.aws.amazon.com/autoscaling/ec2/userguide/asg-max-instance-lifetime.html) in the *Amazon EC2 Auto Scaling User Guide*.", diff --git a/server/schema/resources/aws-autoscaling-warmpool.json b/server/schema/resources/aws-autoscaling-warmpool.json index 84100e7d..a1ee65fe 100644 --- a/server/schema/resources/aws-autoscaling-warmpool.json +++ b/server/schema/resources/aws-autoscaling-warmpool.json @@ -46,6 +46,9 @@ "required": [ "AutoScalingGroupName" ], + "tagging": { + "taggable": false + }, "handlers": { "create": { "permissions": [ diff --git a/server/schema/resources/aws-b2bi-capability.json b/server/schema/resources/aws-b2bi-capability.json index 967c1382..11927039 100644 --- a/server/schema/resources/aws-b2bi-capability.json +++ b/server/schema/resources/aws-b2bi-capability.json @@ -19,6 +19,14 @@ } ] }, + "CapabilityDirection": { + "type": "string", + "enum": [ + "INBOUND", + "OUTBOUND" + ], + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: INBOUND | OUTBOUND \nUpdate requires: No interruption" + }, "CapabilityType": { "type": "string", "enum": [ @@ -29,6 +37,9 @@ "EdiConfiguration": { "type": "object", "properties": { + "CapabilityDirection": { + "$ref": "#/definitions/CapabilityDirection" + }, "Type": { "$ref": "#/definitions/EdiType" }, @@ -129,57 +140,324 @@ "X12TransactionSet": { "type": "string", "enum": [ + "X12_100", + "X12_101", + "X12_102", + "X12_103", + "X12_104", + "X12_105", + "X12_106", + "X12_107", + "X12_108", + "X12_109", "X12_110", + "X12_111", + "X12_112", + "X12_113", + "X12_120", + "X12_121", + "X12_124", + "X12_125", + "X12_126", + "X12_127", + "X12_128", + "X12_129", + "X12_130", + "X12_131", + "X12_132", + "X12_133", + "X12_135", + "X12_138", + "X12_139", + "X12_140", + "X12_141", + "X12_142", + "X12_143", + "X12_144", + "X12_146", + "X12_147", + "X12_148", + "X12_149", + "X12_150", + "X12_151", + "X12_152", + "X12_153", + "X12_154", + "X12_155", + "X12_157", + "X12_158", + "X12_159", + "X12_160", + "X12_161", + "X12_163", + "X12_170", + "X12_175", + "X12_176", + "X12_179", "X12_180", + "X12_185", + "X12_186", + "X12_187", + "X12_188", + "X12_189", + "X12_190", + "X12_191", + "X12_194", + "X12_195", + "X12_196", + "X12_197", + "X12_198", + "X12_199", + "X12_200", + "X12_201", + "X12_202", + "X12_203", "X12_204", + "X12_205", + "X12_206", "X12_210", "X12_211", + "X12_212", + "X12_213", "X12_214", "X12_215", + "X12_216", + "X12_217", + "X12_218", + "X12_219", + "X12_220", + "X12_222", + "X12_223", + "X12_224", + "X12_225", + "X12_227", + "X12_228", + "X12_240", + "X12_242", + "X12_244", + "X12_245", + "X12_248", + "X12_249", + "X12_250", + "X12_251", + "X12_252", + "X12_255", + "X12_256", "X12_259", "X12_260", + "X12_261", + "X12_262", + "X12_263", + "X12_264", + "X12_265", "X12_266", + "X12_267", + "X12_268", "X12_269", "X12_270", "X12_271", + "X12_272", + "X12_273", "X12_274", "X12_275", "X12_276", "X12_277", "X12_278", + "X12_280", + "X12_283", + "X12_284", + "X12_285", + "X12_286", + "X12_288", + "X12_290", + "X12_300", + "X12_301", + "X12_303", + "X12_304", + "X12_309", "X12_310", + "X12_311", + "X12_312", + "X12_313", "X12_315", + "X12_317", + "X12_319", "X12_322", + "X12_323", + "X12_324", + "X12_325", + "X12_326", + "X12_350", + "X12_352", + "X12_353", + "X12_354", + "X12_355", + "X12_356", + "X12_357", + "X12_358", + "X12_361", + "X12_362", "X12_404", "X12_410", + "X12_412", + "X12_414", "X12_417", + "X12_418", + "X12_419", + "X12_420", "X12_421", + "X12_422", + "X12_423", + "X12_424", + "X12_425", "X12_426", + "X12_429", + "X12_431", + "X12_432", + "X12_433", + "X12_434", + "X12_435", + "X12_436", + "X12_437", + "X12_440", + "X12_451", + "X12_452", + "X12_453", + "X12_455", + "X12_456", + "X12_460", + "X12_463", + "X12_466", + "X12_468", + "X12_470", + "X12_475", + "X12_485", + "X12_486", + "X12_490", + "X12_492", + "X12_494", + "X12_500", + "X12_501", + "X12_503", + "X12_504", + "X12_511", + "X12_517", + "X12_521", + "X12_527", + "X12_536", + "X12_540", + "X12_561", + "X12_567", + "X12_568", + "X12_601", + "X12_602", + "X12_620", + "X12_625", + "X12_650", + "X12_715", + "X12_753", + "X12_754", + "X12_805", + "X12_806", "X12_810", + "X12_811", + "X12_812", + "X12_813", + "X12_814", + "X12_815", + "X12_816", + "X12_818", + "X12_819", "X12_820", + "X12_821", + "X12_822", + "X12_823", "X12_824", + "X12_826", + "X12_827", + "X12_828", + "X12_829", "X12_830", + "X12_831", "X12_832", + "X12_833", "X12_834", "X12_835", + "X12_836", "X12_837", + "X12_838", + "X12_839", + "X12_840", + "X12_841", + "X12_842", + "X12_843", "X12_844", + "X12_845", "X12_846", + "X12_847", + "X12_848", "X12_849", "X12_850", + "X12_851", "X12_852", + "X12_853", + "X12_854", "X12_855", "X12_856", + "X12_857", + "X12_858", + "X12_859", "X12_860", "X12_861", + "X12_862", + "X12_863", "X12_864", "X12_865", + "X12_866", + "X12_867", + "X12_868", "X12_869", "X12_870", + "X12_871", + "X12_872", + "X12_873", + "X12_874", + "X12_875", + "X12_876", + "X12_877", + "X12_878", + "X12_879", + "X12_880", + "X12_881", + "X12_882", + "X12_883", + "X12_884", + "X12_885", + "X12_886", + "X12_887", + "X12_888", + "X12_889", + "X12_891", + "X12_893", + "X12_894", + "X12_895", + "X12_896", + "X12_920", + "X12_924", + "X12_925", + "X12_926", + "X12_928", "X12_940", + "X12_943", + "X12_944", "X12_945", + "X12_947", + "X12_980", "X12_990", + "X12_993", + "X12_996", "X12_997", + "X12_998", "X12_999", "X12_270_X279", "X12_271_X279", @@ -205,17 +483,19 @@ "X12_837_X298", "X12_999_X231" ], - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: X12_110 | X12_180 | X12_204 | X12_210 | X12_211 | X12_214 | X12_215 | X12_259 | X12_260 | X12_266 | X12_269 | X12_270 | X12_271 | X12_274 | X12_275 | X12_276 | X12_277 | X12_278 | X12_310 | X12_315 | X12_322 | X12_404 | X12_410 | X12_417 | X12_421 | X12_426 | X12_810 | X12_820 | X12_824 | X12_830 | X12_832 | X12_834 | X12_835 | X12_837 | X12_844 | X12_846 | X12_849 | X12_850 | X12_852 | X12_855 | X12_856 | X12_860 | X12_861 | X12_864 | X12_865 | X12_869 | X12_870 | X12_940 | X12_945 | X12_990 | X12_997 | X12_999 | X12_270_X279 | X12_271_X279 | X12_275_X210 | X12_275_X211 | X12_276_X212 | X12_277_X212 | X12_277_X214 | X12_277_X364 | X12_278_X217 | X12_820_X218 | X12_820_X306 | X12_824_X186 | X12_834_X220 | X12_834_X307 | X12_834_X318 | X12_835_X221 | X12_837_X222 | X12_837_X223 | X12_837_X224 | X12_837_X291 | X12_837_X292 | X12_837_X298 | X12_999_X231 \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: X12_100 | X12_101 | X12_102 | X12_103 | X12_104 | X12_105 | X12_106 | X12_107 | X12_108 | X12_109 | X12_110 | X12_111 | X12_112 | X12_113 | X12_120 | X12_121 | X12_124 | X12_125 | X12_126 | X12_127 | X12_128 | X12_129 | X12_130 | X12_131 | X12_132 | X12_133 | X12_135 | X12_138 | X12_139 | X12_140 | X12_141 | X12_142 | X12_143 | X12_144 | X12_146 | X12_147 | X12_148 | X12_149 | X12_150 | X12_151 | X12_152 | X12_153 | X12_154 | X12_155 | X12_157 | X12_158 | X12_159 | X12_160 | X12_161 | X12_163 | X12_170 | X12_175 | X12_176 | X12_179 | X12_180 | X12_185 | X12_186 | X12_187 | X12_188 | X12_189 | X12_190 | X12_191 | X12_194 | X12_195 | X12_196 | X12_197 | X12_198 | X12_199 | X12_200 | X12_201 | X12_202 | X12_203 | X12_204 | X12_205 | X12_206 | X12_210 | X12_211 | X12_212 | X12_213 | X12_214 | X12_215 | X12_216 | X12_217 | X12_218 | X12_219 | X12_220 | X12_222 | X12_223 | X12_224 | X12_225 | X12_227 | X12_228 | X12_240 | X12_242 | X12_244 | X12_245 | X12_248 | X12_249 | X12_250 | X12_251 | X12_252 | X12_255 | X12_256 | X12_259 | X12_260 | X12_261 | X12_262 | X12_263 | X12_264 | X12_265 | X12_266 | X12_267 | X12_268 | X12_269 | X12_270 | X12_271 | X12_272 | X12_273 | X12_274 | X12_275 | X12_276 | X12_277 | X12_278 | X12_280 | X12_283 | X12_284 | X12_285 | X12_286 | X12_288 | X12_290 | X12_300 | X12_301 | X12_303 | X12_304 | X12_309 | X12_310 | X12_311 | X12_312 | X12_313 | X12_315 | X12_317 | X12_319 | X12_322 | X12_323 | X12_324 | X12_325 | X12_326 | X12_350 | X12_352 | X12_353 | X12_354 | X12_355 | X12_356 | X12_357 | X12_358 | X12_361 | X12_362 | X12_404 | X12_410 | X12_412 | X12_414 | X12_417 | X12_418 | X12_419 | X12_420 | X12_421 | X12_422 | X12_423 | X12_424 | X12_425 | X12_426 | X12_429 | X12_431 | X12_432 | X12_433 | X12_434 | X12_435 | X12_436 | X12_437 | X12_440 | X12_451 | X12_452 | X12_453 | X12_455 | X12_456 | X12_460 | X12_463 | X12_466 | X12_468 | X12_470 | X12_475 | X12_485 | X12_486 | X12_490 | X12_492 | X12_494 | X12_500 | X12_501 | X12_503 | X12_504 | X12_511 | X12_517 | X12_521 | X12_527 | X12_536 | X12_540 | X12_561 | X12_567 | X12_568 | X12_601 | X12_602 | X12_620 | X12_625 | X12_650 | X12_715 | X12_753 | X12_754 | X12_805 | X12_806 | X12_810 | X12_811 | X12_812 | X12_813 | X12_814 | X12_815 | X12_816 | X12_818 | X12_819 | X12_820 | X12_821 | X12_822 | X12_823 | X12_824 | X12_826 | X12_827 | X12_828 | X12_829 | X12_830 | X12_831 | X12_832 | X12_833 | X12_834 | X12_835 | X12_836 | X12_837 | X12_838 | X12_839 | X12_840 | X12_841 | X12_842 | X12_843 | X12_844 | X12_845 | X12_846 | X12_847 | X12_848 | X12_849 | X12_850 | X12_851 | X12_852 | X12_853 | X12_854 | X12_855 | X12_856 | X12_857 | X12_858 | X12_859 | X12_860 | X12_861 | X12_862 | X12_863 | X12_864 | X12_865 | X12_866 | X12_867 | X12_868 | X12_869 | X12_870 | X12_871 | X12_872 | X12_873 | X12_874 | X12_875 | X12_876 | X12_877 | X12_878 | X12_879 | X12_880 | X12_881 | X12_882 | X12_883 | X12_884 | X12_885 | X12_886 | X12_887 | X12_888 | X12_889 | X12_891 | X12_893 | X12_894 | X12_895 | X12_896 | X12_920 | X12_924 | X12_925 | X12_926 | X12_928 | X12_940 | X12_943 | X12_944 | X12_945 | X12_947 | X12_980 | X12_990 | X12_993 | X12_996 | X12_997 | X12_998 | X12_999 | X12_270_X279 | X12_271_X279 | X12_275_X210 | X12_275_X211 | X12_276_X212 | X12_277_X212 | X12_277_X214 | X12_277_X364 | X12_278_X217 | X12_820_X218 | X12_820_X306 | X12_824_X186 | X12_834_X220 | X12_834_X307 | X12_834_X318 | X12_835_X221 | X12_837_X222 | X12_837_X223 | X12_837_X224 | X12_837_X291 | X12_837_X292 | X12_837_X298 | X12_999_X231 \nUpdate requires: No interruption" }, "X12Version": { "type": "string", "enum": [ "VERSION_4010", "VERSION_4030", + "VERSION_4050", + "VERSION_4060", "VERSION_5010", "VERSION_5010_HIPAA" ], - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: VERSION_4010 | VERSION_4030 | VERSION_5010 | VERSION_5010_HIPAA \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: VERSION_4010 | VERSION_4030 | VERSION_4050 | VERSION_4060 | VERSION_5010 | VERSION_5010_HIPAA \nUpdate requires: No interruption" } }, "properties": { @@ -317,7 +597,12 @@ "tagOnCreate": true, "tagProperty": "/properties/Tags", "tagUpdatable": true, - "taggable": true + "taggable": true, + "permissions": [ + "b2bi:ListTagsForResource", + "b2bi:TagResource", + "b2bi:UntagResource" + ] }, "additionalProperties": false, "attributes": { diff --git a/server/schema/resources/aws-b2bi-partnership.json b/server/schema/resources/aws-b2bi-partnership.json index f709c376..88a20095 100644 --- a/server/schema/resources/aws-b2bi-partnership.json +++ b/server/schema/resources/aws-b2bi-partnership.json @@ -2,6 +2,33 @@ "typeName": "AWS::B2BI::Partnership", "description": "Definition of AWS::B2BI::Partnership Resource Type", "definitions": { + "CapabilityOptions": { + "type": "object", + "properties": { + "OutboundEdi": { + "$ref": "#/definitions/OutboundEdiOptions" + } + }, + "additionalProperties": false, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "OutboundEdiOptions": { + "oneOf": [ + { + "type": "object", + "title": "X12", + "properties": { + "X12": { + "$ref": "#/definitions/X12Envelope" + } + }, + "required": [ + "X12" + ], + "additionalProperties": false + } + ] + }, "Tag": { "type": "object", "properties": { @@ -24,6 +51,135 @@ ], "additionalProperties": false, "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "X12Delimiters": { + "type": "object", + "properties": { + "ComponentSeparator": { + "type": "string", + "maxLength": 1, + "minLength": 1, + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 1 \nPattern: ^[!&'()*+,\\-./:;?=%@\\[\\]_{}|<>~^`\"]$ \nUpdate requires: No interruption" + }, + "DataElementSeparator": { + "type": "string", + "maxLength": 1, + "minLength": 1, + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 1 \nPattern: ^[!&'()*+,\\-./:;?=%@\\[\\]_{}|<>~^`\"]$ \nUpdate requires: No interruption" + }, + "SegmentTerminator": { + "type": "string", + "maxLength": 1, + "minLength": 1, + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 1 \nPattern: ^[!&'()*+,\\-./:;?=%@\\[\\]_{}|<>~^`\"]$ \nUpdate requires: No interruption" + } + }, + "additionalProperties": false, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "X12Envelope": { + "type": "object", + "properties": { + "Common": { + "$ref": "#/definitions/X12OutboundEdiHeaders" + } + }, + "additionalProperties": false, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "X12FunctionalGroupHeaders": { + "type": "object", + "properties": { + "ApplicationSenderCode": { + "type": "string", + "maxLength": 15, + "minLength": 2, + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMinimum Length: 2 \nMaximum Length: 15 \nPattern: ^[a-zA-Z0-9]*$ \nUpdate requires: No interruption" + }, + "ApplicationReceiverCode": { + "type": "string", + "maxLength": 15, + "minLength": 2, + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMinimum Length: 2 \nMaximum Length: 15 \nPattern: ^[a-zA-Z0-9]*$ \nUpdate requires: No interruption" + }, + "ResponsibleAgencyCode": { + "type": "string", + "maxLength": 2, + "minLength": 1, + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 2 \nPattern: ^[a-zA-Z0-9]*$ \nUpdate requires: No interruption" + } + }, + "additionalProperties": false, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "X12InterchangeControlHeaders": { + "type": "object", + "properties": { + "SenderIdQualifier": { + "type": "string", + "maxLength": 2, + "minLength": 2, + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMinimum Length: 2 \nMaximum Length: 2 \nPattern: ^[a-zA-Z0-9]*$ \nUpdate requires: No interruption" + }, + "SenderId": { + "type": "string", + "maxLength": 15, + "minLength": 15, + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMinimum Length: 15 \nMaximum Length: 15 \nPattern: ^[a-zA-Z0-9]*$ \nUpdate requires: No interruption" + }, + "ReceiverIdQualifier": { + "type": "string", + "maxLength": 2, + "minLength": 2, + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMinimum Length: 2 \nMaximum Length: 2 \nPattern: ^[a-zA-Z0-9]*$ \nUpdate requires: No interruption" + }, + "ReceiverId": { + "type": "string", + "maxLength": 15, + "minLength": 15, + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMinimum Length: 15 \nMaximum Length: 15 \nPattern: ^[a-zA-Z0-9]*$ \nUpdate requires: No interruption" + }, + "RepetitionSeparator": { + "type": "string", + "maxLength": 1, + "minLength": 1, + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 1 \nUpdate requires: No interruption" + }, + "AcknowledgmentRequestedCode": { + "type": "string", + "maxLength": 1, + "minLength": 1, + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 1 \nPattern: ^[a-zA-Z0-9]*$ \nUpdate requires: No interruption" + }, + "UsageIndicatorCode": { + "type": "string", + "maxLength": 1, + "minLength": 1, + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 1 \nPattern: ^[a-zA-Z0-9]*$ \nUpdate requires: No interruption" + } + }, + "additionalProperties": false, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "X12OutboundEdiHeaders": { + "type": "object", + "properties": { + "InterchangeControlHeaders": { + "$ref": "#/definitions/X12InterchangeControlHeaders" + }, + "FunctionalGroupHeaders": { + "$ref": "#/definitions/X12FunctionalGroupHeaders" + }, + "Delimiters": { + "$ref": "#/definitions/X12Delimiters" + }, + "ValidateEdi": { + "type": "boolean", + "markdownDescription": "\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" + } + }, + "additionalProperties": false, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" } }, "properties": { @@ -35,7 +191,10 @@ "minLength": 1, "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 64 \nPattern: ^[a-zA-Z0-9_-]+$ \nUpdate requires: No interruption" }, - "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: Array \nUpdate requires: No interruption" + }, + "CapabilityOptions": { + "$ref": "#/definitions/CapabilityOptions" }, "Email": { "type": "string", @@ -72,6 +231,7 @@ } }, "required": [ + "Capabilities", "Email", "Name", "ProfileId" @@ -128,7 +288,12 @@ "tagOnCreate": true, "tagProperty": "/properties/Tags", "tagUpdatable": true, - "taggable": true + "taggable": true, + "permissions": [ + "b2bi:ListTagsForResource", + "b2bi:TagResource", + "b2bi:UntagResource" + ] }, "additionalProperties": false, "attributes": { diff --git a/server/schema/resources/aws-b2bi-profile.json b/server/schema/resources/aws-b2bi-profile.json index 8750b150..4137d8bc 100644 --- a/server/schema/resources/aws-b2bi-profile.json +++ b/server/schema/resources/aws-b2bi-profile.json @@ -138,7 +138,12 @@ "tagOnCreate": true, "tagProperty": "/properties/Tags", "tagUpdatable": true, - "taggable": true + "taggable": true, + "permissions": [ + "b2bi:ListTagsForResource", + "b2bi:TagResource", + "b2bi:UntagResource" + ] }, "additionalProperties": false, "attributes": { diff --git a/server/schema/resources/aws-b2bi-transformer.json b/server/schema/resources/aws-b2bi-transformer.json index dcae56cc..5fa06fa8 100644 --- a/server/schema/resources/aws-b2bi-transformer.json +++ b/server/schema/resources/aws-b2bi-transformer.json @@ -23,9 +23,136 @@ "type": "string", "enum": [ "XML", - "JSON" + "JSON", + "NOT_USED" ], - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: XML | JSON \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: XML | JSON | NOT_USED \nUpdate requires: No interruption" + }, + "FormatOptions": { + "oneOf": [ + { + "type": "object", + "title": "X12", + "properties": { + "X12": { + "$ref": "#/definitions/X12Details" + } + }, + "required": [ + "X12" + ], + "additionalProperties": false + } + ] + }, + "FromFormat": { + "type": "string", + "enum": [ + "X12" + ], + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: X12 \nUpdate requires: No interruption" + }, + "InputConversion": { + "type": "object", + "properties": { + "FromFormat": { + "$ref": "#/definitions/FromFormat" + }, + "FormatOptions": { + "$ref": "#/definitions/FormatOptions" + } + }, + "required": [ + "FromFormat" + ], + "additionalProperties": false, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "Mapping": { + "type": "object", + "properties": { + "TemplateLanguage": { + "$ref": "#/definitions/MappingTemplateLanguage" + }, + "Template": { + "type": "string", + "maxLength": 350000, + "minLength": 0, + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMaximum Length: 350000 \nUpdate requires: No interruption" + } + }, + "required": [ + "TemplateLanguage" + ], + "additionalProperties": false, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "MappingTemplateLanguage": { + "type": "string", + "enum": [ + "XSLT", + "JSONATA" + ], + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: XSLT | JSONATA \nUpdate requires: No interruption" + }, + "OutputConversion": { + "type": "object", + "properties": { + "ToFormat": { + "$ref": "#/definitions/ToFormat" + }, + "FormatOptions": { + "$ref": "#/definitions/FormatOptions" + } + }, + "required": [ + "ToFormat" + ], + "additionalProperties": false, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "SampleDocumentKeys": { + "type": "object", + "properties": { + "Input": { + "type": "string", + "maxLength": 1024, + "minLength": 0, + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMaximum Length: 1024 \nUpdate requires: No interruption" + }, + "Output": { + "type": "string", + "maxLength": 1024, + "minLength": 0, + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMaximum Length: 1024 \nUpdate requires: No interruption" + } + }, + "additionalProperties": false, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "SampleDocuments": { + "type": "object", + "properties": { + "BucketName": { + "type": "string", + "maxLength": 63, + "minLength": 3, + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 3 \nMaximum Length: 63 \nUpdate requires: No interruption" + }, + "Keys": { + "type": "array", + "items": { + "$ref": "#/definitions/SampleDocumentKeys" + }, + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: Array \nUpdate requires: No interruption" + } + }, + "required": [ + "BucketName", + "Keys" + ], + "additionalProperties": false, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, "Tag": { "type": "object", @@ -50,6 +177,13 @@ "additionalProperties": false, "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, + "ToFormat": { + "type": "string", + "enum": [ + "X12" + ], + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: X12 \nUpdate requires: No interruption" + }, "TransformerStatus": { "type": "string", "enum": [ @@ -74,57 +208,324 @@ "X12TransactionSet": { "type": "string", "enum": [ + "X12_100", + "X12_101", + "X12_102", + "X12_103", + "X12_104", + "X12_105", + "X12_106", + "X12_107", + "X12_108", + "X12_109", "X12_110", + "X12_111", + "X12_112", + "X12_113", + "X12_120", + "X12_121", + "X12_124", + "X12_125", + "X12_126", + "X12_127", + "X12_128", + "X12_129", + "X12_130", + "X12_131", + "X12_132", + "X12_133", + "X12_135", + "X12_138", + "X12_139", + "X12_140", + "X12_141", + "X12_142", + "X12_143", + "X12_144", + "X12_146", + "X12_147", + "X12_148", + "X12_149", + "X12_150", + "X12_151", + "X12_152", + "X12_153", + "X12_154", + "X12_155", + "X12_157", + "X12_158", + "X12_159", + "X12_160", + "X12_161", + "X12_163", + "X12_170", + "X12_175", + "X12_176", + "X12_179", "X12_180", + "X12_185", + "X12_186", + "X12_187", + "X12_188", + "X12_189", + "X12_190", + "X12_191", + "X12_194", + "X12_195", + "X12_196", + "X12_197", + "X12_198", + "X12_199", + "X12_200", + "X12_201", + "X12_202", + "X12_203", "X12_204", + "X12_205", + "X12_206", "X12_210", "X12_211", + "X12_212", + "X12_213", "X12_214", "X12_215", + "X12_216", + "X12_217", + "X12_218", + "X12_219", + "X12_220", + "X12_222", + "X12_223", + "X12_224", + "X12_225", + "X12_227", + "X12_228", + "X12_240", + "X12_242", + "X12_244", + "X12_245", + "X12_248", + "X12_249", + "X12_250", + "X12_251", + "X12_252", + "X12_255", + "X12_256", "X12_259", "X12_260", + "X12_261", + "X12_262", + "X12_263", + "X12_264", + "X12_265", "X12_266", + "X12_267", + "X12_268", "X12_269", "X12_270", "X12_271", + "X12_272", + "X12_273", "X12_274", "X12_275", "X12_276", "X12_277", "X12_278", + "X12_280", + "X12_283", + "X12_284", + "X12_285", + "X12_286", + "X12_288", + "X12_290", + "X12_300", + "X12_301", + "X12_303", + "X12_304", + "X12_309", "X12_310", + "X12_311", + "X12_312", + "X12_313", "X12_315", + "X12_317", + "X12_319", "X12_322", + "X12_323", + "X12_324", + "X12_325", + "X12_326", + "X12_350", + "X12_352", + "X12_353", + "X12_354", + "X12_355", + "X12_356", + "X12_357", + "X12_358", + "X12_361", + "X12_362", "X12_404", "X12_410", + "X12_412", + "X12_414", "X12_417", + "X12_418", + "X12_419", + "X12_420", "X12_421", + "X12_422", + "X12_423", + "X12_424", + "X12_425", "X12_426", + "X12_429", + "X12_431", + "X12_432", + "X12_433", + "X12_434", + "X12_435", + "X12_436", + "X12_437", + "X12_440", + "X12_451", + "X12_452", + "X12_453", + "X12_455", + "X12_456", + "X12_460", + "X12_463", + "X12_466", + "X12_468", + "X12_470", + "X12_475", + "X12_485", + "X12_486", + "X12_490", + "X12_492", + "X12_494", + "X12_500", + "X12_501", + "X12_503", + "X12_504", + "X12_511", + "X12_517", + "X12_521", + "X12_527", + "X12_536", + "X12_540", + "X12_561", + "X12_567", + "X12_568", + "X12_601", + "X12_602", + "X12_620", + "X12_625", + "X12_650", + "X12_715", + "X12_753", + "X12_754", + "X12_805", + "X12_806", "X12_810", + "X12_811", + "X12_812", + "X12_813", + "X12_814", + "X12_815", + "X12_816", + "X12_818", + "X12_819", "X12_820", + "X12_821", + "X12_822", + "X12_823", "X12_824", + "X12_826", + "X12_827", + "X12_828", + "X12_829", "X12_830", + "X12_831", "X12_832", + "X12_833", "X12_834", "X12_835", + "X12_836", "X12_837", + "X12_838", + "X12_839", + "X12_840", + "X12_841", + "X12_842", + "X12_843", "X12_844", + "X12_845", "X12_846", + "X12_847", + "X12_848", "X12_849", "X12_850", + "X12_851", "X12_852", + "X12_853", + "X12_854", "X12_855", "X12_856", + "X12_857", + "X12_858", + "X12_859", "X12_860", "X12_861", + "X12_862", + "X12_863", "X12_864", "X12_865", + "X12_866", + "X12_867", + "X12_868", "X12_869", "X12_870", + "X12_871", + "X12_872", + "X12_873", + "X12_874", + "X12_875", + "X12_876", + "X12_877", + "X12_878", + "X12_879", + "X12_880", + "X12_881", + "X12_882", + "X12_883", + "X12_884", + "X12_885", + "X12_886", + "X12_887", + "X12_888", + "X12_889", + "X12_891", + "X12_893", + "X12_894", + "X12_895", + "X12_896", + "X12_920", + "X12_924", + "X12_925", + "X12_926", + "X12_928", "X12_940", + "X12_943", + "X12_944", "X12_945", + "X12_947", + "X12_980", "X12_990", + "X12_993", + "X12_996", "X12_997", + "X12_998", "X12_999", "X12_270_X279", "X12_271_X279", @@ -150,17 +551,19 @@ "X12_837_X298", "X12_999_X231" ], - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: X12_110 | X12_180 | X12_204 | X12_210 | X12_211 | X12_214 | X12_215 | X12_259 | X12_260 | X12_266 | X12_269 | X12_270 | X12_271 | X12_274 | X12_275 | X12_276 | X12_277 | X12_278 | X12_310 | X12_315 | X12_322 | X12_404 | X12_410 | X12_417 | X12_421 | X12_426 | X12_810 | X12_820 | X12_824 | X12_830 | X12_832 | X12_834 | X12_835 | X12_837 | X12_844 | X12_846 | X12_849 | X12_850 | X12_852 | X12_855 | X12_856 | X12_860 | X12_861 | X12_864 | X12_865 | X12_869 | X12_870 | X12_940 | X12_945 | X12_990 | X12_997 | X12_999 | X12_270_X279 | X12_271_X279 | X12_275_X210 | X12_275_X211 | X12_276_X212 | X12_277_X212 | X12_277_X214 | X12_277_X364 | X12_278_X217 | X12_820_X218 | X12_820_X306 | X12_824_X186 | X12_834_X220 | X12_834_X307 | X12_834_X318 | X12_835_X221 | X12_837_X222 | X12_837_X223 | X12_837_X224 | X12_837_X291 | X12_837_X292 | X12_837_X298 | X12_999_X231 \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: X12_100 | X12_101 | X12_102 | X12_103 | X12_104 | X12_105 | X12_106 | X12_107 | X12_108 | X12_109 | X12_110 | X12_111 | X12_112 | X12_113 | X12_120 | X12_121 | X12_124 | X12_125 | X12_126 | X12_127 | X12_128 | X12_129 | X12_130 | X12_131 | X12_132 | X12_133 | X12_135 | X12_138 | X12_139 | X12_140 | X12_141 | X12_142 | X12_143 | X12_144 | X12_146 | X12_147 | X12_148 | X12_149 | X12_150 | X12_151 | X12_152 | X12_153 | X12_154 | X12_155 | X12_157 | X12_158 | X12_159 | X12_160 | X12_161 | X12_163 | X12_170 | X12_175 | X12_176 | X12_179 | X12_180 | X12_185 | X12_186 | X12_187 | X12_188 | X12_189 | X12_190 | X12_191 | X12_194 | X12_195 | X12_196 | X12_197 | X12_198 | X12_199 | X12_200 | X12_201 | X12_202 | X12_203 | X12_204 | X12_205 | X12_206 | X12_210 | X12_211 | X12_212 | X12_213 | X12_214 | X12_215 | X12_216 | X12_217 | X12_218 | X12_219 | X12_220 | X12_222 | X12_223 | X12_224 | X12_225 | X12_227 | X12_228 | X12_240 | X12_242 | X12_244 | X12_245 | X12_248 | X12_249 | X12_250 | X12_251 | X12_252 | X12_255 | X12_256 | X12_259 | X12_260 | X12_261 | X12_262 | X12_263 | X12_264 | X12_265 | X12_266 | X12_267 | X12_268 | X12_269 | X12_270 | X12_271 | X12_272 | X12_273 | X12_274 | X12_275 | X12_276 | X12_277 | X12_278 | X12_280 | X12_283 | X12_284 | X12_285 | X12_286 | X12_288 | X12_290 | X12_300 | X12_301 | X12_303 | X12_304 | X12_309 | X12_310 | X12_311 | X12_312 | X12_313 | X12_315 | X12_317 | X12_319 | X12_322 | X12_323 | X12_324 | X12_325 | X12_326 | X12_350 | X12_352 | X12_353 | X12_354 | X12_355 | X12_356 | X12_357 | X12_358 | X12_361 | X12_362 | X12_404 | X12_410 | X12_412 | X12_414 | X12_417 | X12_418 | X12_419 | X12_420 | X12_421 | X12_422 | X12_423 | X12_424 | X12_425 | X12_426 | X12_429 | X12_431 | X12_432 | X12_433 | X12_434 | X12_435 | X12_436 | X12_437 | X12_440 | X12_451 | X12_452 | X12_453 | X12_455 | X12_456 | X12_460 | X12_463 | X12_466 | X12_468 | X12_470 | X12_475 | X12_485 | X12_486 | X12_490 | X12_492 | X12_494 | X12_500 | X12_501 | X12_503 | X12_504 | X12_511 | X12_517 | X12_521 | X12_527 | X12_536 | X12_540 | X12_561 | X12_567 | X12_568 | X12_601 | X12_602 | X12_620 | X12_625 | X12_650 | X12_715 | X12_753 | X12_754 | X12_805 | X12_806 | X12_810 | X12_811 | X12_812 | X12_813 | X12_814 | X12_815 | X12_816 | X12_818 | X12_819 | X12_820 | X12_821 | X12_822 | X12_823 | X12_824 | X12_826 | X12_827 | X12_828 | X12_829 | X12_830 | X12_831 | X12_832 | X12_833 | X12_834 | X12_835 | X12_836 | X12_837 | X12_838 | X12_839 | X12_840 | X12_841 | X12_842 | X12_843 | X12_844 | X12_845 | X12_846 | X12_847 | X12_848 | X12_849 | X12_850 | X12_851 | X12_852 | X12_853 | X12_854 | X12_855 | X12_856 | X12_857 | X12_858 | X12_859 | X12_860 | X12_861 | X12_862 | X12_863 | X12_864 | X12_865 | X12_866 | X12_867 | X12_868 | X12_869 | X12_870 | X12_871 | X12_872 | X12_873 | X12_874 | X12_875 | X12_876 | X12_877 | X12_878 | X12_879 | X12_880 | X12_881 | X12_882 | X12_883 | X12_884 | X12_885 | X12_886 | X12_887 | X12_888 | X12_889 | X12_891 | X12_893 | X12_894 | X12_895 | X12_896 | X12_920 | X12_924 | X12_925 | X12_926 | X12_928 | X12_940 | X12_943 | X12_944 | X12_945 | X12_947 | X12_980 | X12_990 | X12_993 | X12_996 | X12_997 | X12_998 | X12_999 | X12_270_X279 | X12_271_X279 | X12_275_X210 | X12_275_X211 | X12_276_X212 | X12_277_X212 | X12_277_X214 | X12_277_X364 | X12_278_X217 | X12_820_X218 | X12_820_X306 | X12_824_X186 | X12_834_X220 | X12_834_X307 | X12_834_X318 | X12_835_X221 | X12_837_X222 | X12_837_X223 | X12_837_X224 | X12_837_X291 | X12_837_X292 | X12_837_X298 | X12_999_X231 \nUpdate requires: No interruption" }, "X12Version": { "type": "string", "enum": [ "VERSION_4010", "VERSION_4030", + "VERSION_4050", + "VERSION_4060", "VERSION_5010", "VERSION_5010_HIPAA" ], - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: VERSION_4010 | VERSION_4030 | VERSION_5010 | VERSION_5010_HIPAA \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: VERSION_4010 | VERSION_4030 | VERSION_4050 | VERSION_4060 | VERSION_5010 | VERSION_5010_HIPAA \nUpdate requires: No interruption" } }, "properties": { @@ -170,23 +573,37 @@ "FileFormat": { "$ref": "#/definitions/FileFormat" }, + "InputConversion": { + "$ref": "#/definitions/InputConversion" + }, + "Mapping": { + "$ref": "#/definitions/Mapping" + }, "MappingTemplate": { "type": "string", "maxLength": 350000, "minLength": 0, - "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nMaximum Length: 350000 \nUpdate requires: No interruption" + "description": "This shape is deprecated: This is a legacy trait. Please use input-conversion or output-conversion.", + "markdownDescription": "This shape is deprecated: This is a legacy trait. Please use input-conversion or output-conversion.\n\n---\n\nRequired: No \nType: String \nMaximum Length: 350000 \nUpdate requires: No interruption" }, "Name": { "type": "string", "maxLength": 254, "minLength": 1, - "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 254 \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 254 \nPattern: ^[a-zA-Z0-9_-]{1,512}$ \nUpdate requires: No interruption" + }, + "OutputConversion": { + "$ref": "#/definitions/OutputConversion" }, "SampleDocument": { "type": "string", "maxLength": 1024, "minLength": 0, - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMaximum Length: 1024 \nUpdate requires: No interruption" + "description": "This shape is deprecated: This is a legacy trait. Please use input-conversion or output-conversion.", + "markdownDescription": "This shape is deprecated: This is a legacy trait. Please use input-conversion or output-conversion.\n\n---\n\nRequired: No \nType: String \nMaximum Length: 1024 \nUpdate requires: No interruption" + }, + "SampleDocuments": { + "$ref": "#/definitions/SampleDocuments" }, "Status": { "$ref": "#/definitions/TransformerStatus" @@ -202,9 +619,6 @@ } }, "required": [ - "EdiType", - "FileFormat", - "MappingTemplate", "Name", "Status" ], @@ -214,6 +628,12 @@ "/properties/TransformerArn", "/properties/TransformerId" ], + "deprecatedProperties": [ + "/properties/EdiType", + "/properties/FileFormat", + "/properties/MappingTemplate", + "/properties/SampleDocument" + ], "primaryIdentifier": [ "/properties/TransformerId" ], @@ -265,7 +685,12 @@ "tagOnCreate": true, "tagProperty": "/properties/Tags", "tagUpdatable": true, - "taggable": true + "taggable": true, + "permissions": [ + "b2bi:ListTagsForResource", + "b2bi:TagResource", + "b2bi:UntagResource" + ] }, "additionalProperties": false, "attributes": { diff --git a/server/schema/resources/aws-backup-backupplan.json b/server/schema/resources/aws-backup-backupplan.json index f740a58a..81901e03 100644 --- a/server/schema/resources/aws-backup-backupplan.json +++ b/server/schema/resources/aws-backup-backupplan.json @@ -27,7 +27,12 @@ "tagOnCreate": true, "tagUpdatable": true, "cloudFormationSystemTags": true, - "tagProperty": "/properties/BackupPlanTags" + "tagProperty": "/properties/BackupPlanTags", + "permissions": [ + "backup:TagResource", + "backup:UntagResource", + "backup:ListTags" + ] }, "readOnlyProperties": [ "/properties/BackupPlanId", diff --git a/server/schema/resources/aws-backup-backupvault.json b/server/schema/resources/aws-backup-backupvault.json index f49b1cec..ee2e853a 100644 --- a/server/schema/resources/aws-backup-backupvault.json +++ b/server/schema/resources/aws-backup-backupvault.json @@ -94,7 +94,12 @@ "tagOnCreate": true, "tagUpdatable": true, "cloudFormationSystemTags": true, - "tagProperty": "/properties/BackupVaultTags" + "tagProperty": "/properties/BackupVaultTags", + "permissions": [ + "backup:TagResource", + "backup:UntagResource", + "backup:ListTags" + ] }, "required": [ "BackupVaultName" diff --git a/server/schema/resources/aws-backup-framework.json b/server/schema/resources/aws-backup-framework.json index 061f7329..29acc104 100644 --- a/server/schema/resources/aws-backup-framework.json +++ b/server/schema/resources/aws-backup-framework.json @@ -148,7 +148,12 @@ "tagOnCreate": true, "tagUpdatable": true, "cloudFormationSystemTags": false, - "tagProperty": "/properties/FrameworkTags" + "tagProperty": "/properties/FrameworkTags", + "permissions": [ + "backup:TagResource", + "backup:UntagResource", + "backup:ListTags" + ] }, "required": [ "FrameworkControls" diff --git a/server/schema/resources/aws-backup-logicallyairgappedbackupvault.json b/server/schema/resources/aws-backup-logicallyairgappedbackupvault.json new file mode 100644 index 00000000..f6e1db1e --- /dev/null +++ b/server/schema/resources/aws-backup-logicallyairgappedbackupvault.json @@ -0,0 +1,164 @@ +{ + "typeName": "AWS::Backup::LogicallyAirGappedBackupVault", + "description": "Resource Type definition for AWS::Backup::LogicallyAirGappedBackupVault", + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-rpdk.git", + "definitions": { + "NotificationObjectType": { + "type": "object", + "additionalProperties": false, + "properties": { + "BackupVaultEvents": { + "type": "array", + "insertionOrder": false, + "uniqueItems": false, + "items": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: Array \nUpdate requires: No interruption" + }, + "SNSTopicArn": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" + } + }, + "required": [ + "SNSTopicArn", + "BackupVaultEvents" + ], + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "BackupVaultNamePattern": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nPattern: ^[a-zA-Z0-9\\-\\_]{2,50}$ \nUpdate requires: No interruption" + } + }, + "properties": { + "AccessPolicy": { + "type": [ + "object", + "string" + ], + "markdownDescription": "\n\n---\n\nRequired: No \nType: ['object', 'string'] \nUpdate requires: No interruption" + }, + "BackupVaultName": { + "$ref": "#/definitions/BackupVaultNamePattern" + }, + "MinRetentionDays": { + "type": "integer", + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: Integer \nUpdate requires: Replacement" + }, + "MaxRetentionDays": { + "type": "integer", + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: Integer \nUpdate requires: Replacement" + }, + "BackupVaultTags": { + "type": "object", + "additionalProperties": false, + "patternProperties": { + "^.{1,128}$": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + } + }, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "Notifications": { + "$ref": "#/definitions/NotificationObjectType" + }, + "VaultState": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "VaultType": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + } + }, + "additionalProperties": false, + "tagging": { + "taggable": true, + "tagOnCreate": true, + "tagUpdatable": true, + "cloudFormationSystemTags": true, + "tagProperty": "/properties/BackupVaultTags", + "permissions": [ + "backup:TagResource", + "backup:UntagResource", + "backup:ListTags" + ] + }, + "required": [ + "BackupVaultName", + "MinRetentionDays", + "MaxRetentionDays" + ], + "createOnlyProperties": [ + "/properties/BackupVaultName", + "/properties/MinRetentionDays", + "/properties/MaxRetentionDays" + ], + "readOnlyProperties": [ + "/properties/BackupVaultArn", + "/properties/EncryptionKeyArn" + ], + "primaryIdentifier": [ + "/properties/BackupVaultName" + ], + "handlers": { + "create": { + "permissions": [ + "backup:TagResource", + "backup:CreateLogicallyAirGappedBackupVault", + "backup:PutBackupVaultAccessPolicy", + "backup:PutBackupVaultNotifications", + "backup-storage:Mount", + "backup-storage:MountCapsule", + "backup:DescribeBackupVault" + ] + }, + "read": { + "permissions": [ + "backup:DescribeBackupVault", + "backup:GetBackupVaultNotifications", + "backup:GetBackupVaultAccessPolicy", + "backup:ListTags" + ] + }, + "update": { + "permissions": [ + "backup:DescribeBackupVault", + "backup:DeleteBackupVaultAccessPolicy", + "backup:DeleteBackupVaultNotifications", + "backup:DeleteBackupVaultLockConfiguration", + "backup:GetBackupVaultAccessPolicy", + "backup:ListTags", + "backup:TagResource", + "backup:UntagResource", + "backup:PutBackupVaultAccessPolicy", + "backup:PutBackupVaultNotifications", + "backup:PutBackupVaultLockConfiguration" + ] + }, + "delete": { + "permissions": [ + "backup:DeleteBackupVault" + ] + }, + "list": { + "permissions": [ + "backup:ListBackupVaults" + ] + } + }, + "attributes": { + "EncryptionKeyArn": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "BackupVaultArn": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + } + } +} \ No newline at end of file diff --git a/server/schema/resources/aws-backup-reportplan.json b/server/schema/resources/aws-backup-reportplan.json index debc7684..ba2a5f57 100644 --- a/server/schema/resources/aws-backup-reportplan.json +++ b/server/schema/resources/aws-backup-reportplan.json @@ -149,7 +149,12 @@ "tagOnCreate": true, "tagUpdatable": true, "cloudFormationSystemTags": false, - "tagProperty": "/properties/ReportPlanTags" + "tagProperty": "/properties/ReportPlanTags", + "permissions": [ + "backup:TagResource", + "backup:UntagResource", + "backup:ListTags" + ] }, "required": [ "ReportDeliveryChannel", diff --git a/server/schema/resources/aws-backup-restoretestingplan.json b/server/schema/resources/aws-backup-restoretestingplan.json index 566a0b57..b81d557f 100644 --- a/server/schema/resources/aws-backup-restoretestingplan.json +++ b/server/schema/resources/aws-backup-restoretestingplan.json @@ -135,7 +135,12 @@ "tagOnCreate": true, "tagUpdatable": true, "cloudFormationSystemTags": true, - "tagProperty": "/properties/Tags" + "tagProperty": "/properties/Tags", + "permissions": [ + "backup:TagResource", + "backup:UntagResource", + "backup:ListTags" + ] }, "additionalProperties": false, "required": [ diff --git a/server/schema/resources/aws-batch-computeenvironment.json b/server/schema/resources/aws-batch-computeenvironment.json index a23c02f0..8c3a4c92 100644 --- a/server/schema/resources/aws-batch-computeenvironment.json +++ b/server/schema/resources/aws-batch-computeenvironment.json @@ -207,6 +207,44 @@ "Version": { "type": "string", "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "Overrides": { + "type": "array", + "uniqueItems": false, + "insertionOrder": false, + "items": { + "$ref": "#/definitions/LaunchTemplateSpecificationOverride" + }, + "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + } + }, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "LaunchTemplateSpecificationOverride": { + "type": "object", + "additionalProperties": false, + "properties": { + "LaunchTemplateId": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "LaunchTemplateName": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "Version": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "TargetInstanceTypes": { + "type": "array", + "uniqueItems": false, + "insertionOrder": false, + "items": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" } }, "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" @@ -255,7 +293,11 @@ "tagOnCreate": true, "tagUpdatable": false, "cloudFormationSystemTags": false, - "tagProperty": "/properties/Tags" + "tagProperty": "/properties/Tags", + "permissions": [ + "Batch:TagResource", + "Batch:UntagResource" + ] }, "required": [ "Type" diff --git a/server/schema/resources/aws-batch-jobqueue.json b/server/schema/resources/aws-batch-jobqueue.json index 2214e8a8..05b89008 100644 --- a/server/schema/resources/aws-batch-jobqueue.json +++ b/server/schema/resources/aws-batch-jobqueue.json @@ -124,7 +124,11 @@ "tagOnCreate": true, "tagUpdatable": false, "cloudFormationSystemTags": false, - "tagProperty": "/properties/Tags" + "tagProperty": "/properties/Tags", + "permissions": [ + "Batch:TagResource", + "Batch:UntagResource" + ] }, "required": [ "ComputeEnvironmentOrder", diff --git a/server/schema/resources/aws-bedrock-agent.json b/server/schema/resources/aws-bedrock-agent.json index eb98fcef..28f75dda 100644 --- a/server/schema/resources/aws-bedrock-agent.json +++ b/server/schema/resources/aws-bedrock-agent.json @@ -74,9 +74,10 @@ "type": "string", "description": "Action Group Signature for a BuiltIn Action", "enum": [ - "AMAZON.UserInput" + "AMAZON.UserInput", + "AMAZON.CodeInterpreter" ], - "markdownDescription": "Action Group Signature for a BuiltIn Action\n\n---\n\nRequired: No \nType: String \nAllowed Values: AMAZON.UserInput \nUpdate requires: No interruption" + "markdownDescription": "Action Group Signature for a BuiltIn Action\n\n---\n\nRequired: No \nType: String \nAllowed Values: AMAZON.UserInput | AMAZON.CodeInterpreter \nUpdate requires: No interruption" }, "ActionGroupState": { "type": "string", @@ -529,7 +530,7 @@ "maxLength": 2048, "minLength": 1, "description": "ARN or name of a Bedrock model.", - "markdownDescription": "ARN or name of a Bedrock model.\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 2048 \nPattern: ^arn:aws(-[^:]+)?:bedrock:[a-z0-9-]{1,20}:(([0-9]{12}:custom-model/[a-z0-9-]{1,63}[.]{1}[a-z0-9-]{1,63}(([:][a-z0-9-]{1,63}){0,2})?/[a-z0-9]{12})|(:foundation-model/([a-z0-9-]{1,63}[.]{1}[a-z0-9-]{1,63}([.]?[a-z0-9-]{1,63})([:][a-z0-9-]{1,63}){0,2})))|(([a-z0-9-]{1,63}[.]{1}[a-z0-9-]{1,63}([.]?[a-z0-9-]{1,63})([:][a-z0-9-]{1,63}){0,2}))|(([0-9a-zA-Z][_-]?)+)$ \nUpdate requires: No interruption" + "markdownDescription": "ARN or name of a Bedrock model.\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 2048 \nPattern: ^arn:aws(-[^:]+)?:bedrock:[a-z0-9-]{1,20}:(([0-9]{12}:custom-model/[a-z0-9-]{1,63}[.]{1}[a-z0-9-]{1,63}(([:][a-z0-9-]{1,63}){0,2})?/[a-z0-9]{12})|(:foundation-model/([a-z0-9-]{1,63}[.]{1}[a-z0-9-]{1,63}([.]?[a-z0-9-]{1,63})([:][a-z0-9-]{1,63}){0,2}))|([0-9]{12}:(inference-profile|application-inference-profile)/[a-zA-Z0-9-:.]+))|(([a-z0-9-]{1,63}[.]{1}[a-z0-9-]{1,63}([.]?[a-z0-9-]{1,63})([:][a-z0-9-]{1,63}){0,2}))|(([0-9a-zA-Z][_-]?)+)$ \nUpdate requires: No interruption" }, "GuardrailConfiguration": { "$ref": "#/definitions/GuardrailConfiguration" diff --git a/server/schema/resources/aws-bedrock-applicationinferenceprofile.json b/server/schema/resources/aws-bedrock-applicationinferenceprofile.json new file mode 100644 index 00000000..c19f9d6e --- /dev/null +++ b/server/schema/resources/aws-bedrock-applicationinferenceprofile.json @@ -0,0 +1,247 @@ +{ + "typeName": "AWS::Bedrock::ApplicationInferenceProfile", + "description": "Definition of AWS::Bedrock::ApplicationInferenceProfile Resource Type", + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-bedrock-application-inference-profile", + "definitions": { + "InferenceProfileModelSource": { + "description": "Various ways to encode a list of models in a CreateInferenceProfile request", + "oneOf": [ + { + "type": "object", + "title": "CopyFrom", + "properties": { + "CopyFrom": { + "type": "string", + "maxLength": 2048, + "minLength": 1, + "pattern": "^arn:aws(|-us-gov|-cn|-iso|-iso-b):bedrock:(|[0-9a-z-]{0,20}):(|[0-9]{12}):(inference-profile|foundation-model)/[a-zA-Z0-9-:.]+$", + "description": "Source arns for a custom inference profile to copy its regional load balancing config from. This\ncan either be a foundation model or predefined inference profile ARN." + } + }, + "required": [ + "CopyFrom" + ], + "additionalProperties": false + } + ], + "markdownDescription": "Various ways to encode a list of models in a CreateInferenceProfile request\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" + }, + "InferenceProfileStatus": { + "type": "string", + "description": "Status of the Inference Profile", + "enum": [ + "ACTIVE" + ], + "markdownDescription": "Status of the Inference Profile\n\n---\n\nRequired: No \nType: String \nAllowed Values: ACTIVE \nUpdate requires: No interruption" + }, + "InferenceProfileType": { + "type": "string", + "description": "Type of the Inference Profile", + "enum": [ + "APPLICATION", + "SYSTEM_DEFINED" + ], + "markdownDescription": "Type of the Inference Profile\n\n---\n\nRequired: No \nType: String \nAllowed Values: APPLICATION | SYSTEM_DEFINED \nUpdate requires: No interruption" + }, + "InferenceProfileModel": { + "type": "object", + "description": "Model configuration", + "properties": { + "ModelArn": { + "type": "string", + "description": "ARN for Foundation Models in Bedrock. These models can be used as base models for model customization jobs", + "markdownDescription": "ARN for Foundation Models in Bedrock. These models can be used as base models for model customization jobs\n\n---\n\nRequired: No \nType: String \nPattern: ^arn:aws(-[^:]+)?:bedrock:[a-z0-9-]{1,20}::foundation-model/[a-z0-9-]{1,63}[.]{1}([a-z0-9-]{1,63}[.]){0,2}[a-z0-9-]{1,63}([:][a-z0-9-]{1,63}){0,2}$ \nUpdate requires: No interruption" + } + }, + "additionalProperties": false, + "markdownDescription": "Model configuration\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "Tag": { + "type": "object", + "description": "Definition of the key/value pair for a tag", + "properties": { + "Key": { + "type": "string", + "maxLength": 128, + "minLength": 1, + "description": "Tag Key", + "markdownDescription": "Tag Key\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 128 \nPattern: ^[a-zA-Z0-9\\s._:/=+@-]*$ \nUpdate requires: No interruption" + }, + "Value": { + "type": "string", + "maxLength": 256, + "minLength": 0, + "description": "Tag Value", + "markdownDescription": "Tag Value\n\n---\n\nRequired: Yes \nType: String \nMaximum Length: 256 \nPattern: ^[a-zA-Z0-9\\s._:/=+@-]*$ \nUpdate requires: No interruption" + } + }, + "required": [ + "Key", + "Value" + ], + "additionalProperties": false, + "markdownDescription": "Definition of the key/value pair for a tag\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "Unit": { + "type": "object", + "additionalProperties": false, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + } + }, + "properties": { + "Description": { + "type": "string", + "maxLength": 200, + "minLength": 1, + "description": "Description of the inference profile", + "markdownDescription": "Description of the inference profile\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 200 \nPattern: ^([0-9a-zA-Z:.][ _-]?)+$ \nUpdate requires: Replacement" + }, + "InferenceProfileName": { + "type": "string", + "maxLength": 64, + "minLength": 1, + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 64 \nPattern: ^([0-9a-zA-Z][ _-]?)+$ \nUpdate requires: Replacement" + }, + "ModelSource": { + "$ref": "#/definitions/InferenceProfileModelSource" + }, + "Tags": { + "type": "array", + "items": { + "$ref": "#/definitions/Tag" + }, + "maxItems": 200, + "minItems": 0, + "description": "List of Tags", + "markdownDescription": "List of Tags\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + } + }, + "required": [ + "InferenceProfileName" + ], + "readOnlyProperties": [ + "/properties/Models", + "/properties/InferenceProfileArn", + "/properties/InferenceProfileId", + "/properties/InferenceProfileIdentifier", + "/properties/Status", + "/properties/Type", + "/properties/CreatedAt", + "/properties/UpdatedAt" + ], + "writeOnlyProperties": [ + "/properties/ModelSource" + ], + "createOnlyProperties": [ + "/properties/Description", + "/properties/InferenceProfileName", + "/properties/ModelSource" + ], + "primaryIdentifier": [ + "/properties/InferenceProfileIdentifier" + ], + "handlers": { + "create": { + "permissions": [ + "bedrock:CreateInferenceProfile", + "bedrock:GetInferenceProfile", + "bedrock:TagResource", + "bedrock:ListTagsForResource" + ] + }, + "read": { + "permissions": [ + "bedrock:GetInferenceProfile", + "bedrock:ListTagsForResource" + ] + }, + "update": { + "permissions": [ + "bedrock:GetInferenceProfile", + "bedrock:ListTagsForResource", + "bedrock:TagResource", + "bedrock:UntagResource" + ] + }, + "delete": { + "permissions": [ + "bedrock:DeleteInferenceProfile", + "bedrock:GetInferenceProfile" + ] + }, + "list": { + "handlerSchema": { + "properties": { + "Type": { + "$ref": "resource-schema.json#/properties/Type" + } + } + }, + "permissions": [ + "bedrock:ListInferenceProfiles" + ] + } + }, + "tagging": { + "cloudFormationSystemTags": true, + "tagOnCreate": true, + "tagProperty": "/properties/Tags", + "tagUpdatable": true, + "taggable": true, + "permissions": [ + "bedrock:TagResource", + "bedrock:UntagResource", + "bedrock:ListTagsForResource" + ] + }, + "additionalProperties": false, + "attributes": { + "CreatedAt": { + "type": "string", + "description": "Time Stamp", + "format": "date-time", + "markdownDescription": "Time Stamp\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "InferenceProfileArn": { + "type": "string", + "maxLength": 2048, + "minLength": 1, + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 2048 \nPattern: ^arn:aws(|-us-gov|-cn|-iso|-iso-b):bedrock:(|[0-9a-z-]{0,20}):(|[0-9]{12}):(inference-profile|application-inference-profile)/[a-zA-Z0-9-:.]+$ \nUpdate requires: No interruption" + }, + "InferenceProfileId": { + "type": "string", + "maxLength": 64, + "minLength": 1, + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 64 \nPattern: ^[a-zA-Z0-9-:.]+$ \nUpdate requires: No interruption" + }, + "InferenceProfileIdentifier": { + "type": "string", + "maxLength": 2048, + "minLength": 1, + "description": "Inference profile identifier. Supports both system-defined inference profile ids, and inference profile ARNs.", + "markdownDescription": "Inference profile identifier. Supports both system-defined inference profile ids, and inference profile ARNs.\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 2048 \nPattern: ^(arn:aws(|-us-gov|-cn|-iso|-iso-b):bedrock:(|[0-9a-z-]{0,20}):(|[0-9]{12}):(inference-profile|application-inference-profile)/)?[a-zA-Z0-9-:.]+$ \nUpdate requires: No interruption" + }, + "Models": { + "type": "array", + "items": { + "$ref": "#/definitions/InferenceProfileModel" + }, + "maxItems": 5, + "minItems": 1, + "description": "List of model configuration", + "markdownDescription": "List of model configuration\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + }, + "Status": { + "$ref": "#/definitions/InferenceProfileStatus" + }, + "Type": { + "$ref": "#/definitions/InferenceProfileType" + }, + "UpdatedAt": { + "type": "string", + "description": "Time Stamp", + "format": "date-time", + "markdownDescription": "Time Stamp\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + } + } +} \ No newline at end of file diff --git a/server/schema/resources/aws-bedrock-datasource.json b/server/schema/resources/aws-bedrock-datasource.json index f2550954..409bdfd9 100644 --- a/server/schema/resources/aws-bedrock-datasource.json +++ b/server/schema/resources/aws-bedrock-datasource.json @@ -12,7 +12,7 @@ "maxLength": 2048, "minLength": 1, "description": "The model's ARN.", - "markdownDescription": "The model's ARN.\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 2048 \nPattern: ^arn:aws(-[^:]+)?:bedrock:[a-z0-9-]{1,20}::foundation-model/([a-z0-9-]{1,63}[.]{1}[a-z0-9-]{1,63}([.]?[a-z0-9-]{1,63})([:][a-z0-9-]{1,63}){0,2})$ \nUpdate requires: No interruption" + "markdownDescription": "The model's ARN.\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 2048 \nPattern: ^arn:aws(-[^:]+)?:bedrock:[a-z0-9-]{1,20}::foundation-model/([a-z0-9-]{1,63}[.]{1}[a-z0-9-]{1,63}([.]?[a-z0-9-]{1,63})([:][a-z0-9-]{1,63}){0,2})|(arn:aws(|-us-gov|-cn|-iso|-iso-b):bedrock:(|[0-9a-z-]{1,20}):(|[0-9]{12}):(inference-profile|application-inference-profile)/[a-zA-Z0-9-:.]+)$ \nUpdate requires: No interruption" }, "ParsingPrompt": { "$ref": "#/definitions/ParsingPrompt" diff --git a/server/schema/resources/aws-bedrock-flow.json b/server/schema/resources/aws-bedrock-flow.json index 9fcd181f..68a77b87 100644 --- a/server/schema/resources/aws-bedrock-flow.json +++ b/server/schema/resources/aws-bedrock-flow.json @@ -547,8 +547,11 @@ "type": "string", "maxLength": 2048, "minLength": 1, - "description": "ARN or name of a Bedrock model.", - "markdownDescription": "ARN or name of a Bedrock model.\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 2048 \nPattern: ^arn:aws(-[^:]+)?:bedrock:[a-z0-9-]{1,20}:(([0-9]{12}:custom-model/[a-z0-9-]{1,63}[.]{1}[a-z0-9-]{1,63}(([:][a-z0-9-]{1,63}){0,2})?/[a-z0-9]{12})|(:foundation-model/([a-z0-9-]{1,63}[.]{1}[a-z0-9-]{1,63}([.]?[a-z0-9-]{1,63})([:][a-z0-9-]{1,63}){0,2})))|(([a-z0-9-]{1,63}[.]{1}[a-z0-9-]{1,63}([.]?[a-z0-9-]{1,63})([:][a-z0-9-]{1,63}){0,2}))|(([0-9a-zA-Z][_-]?)+)$ \nUpdate requires: No interruption" + "description": "ARN or Id of a Bedrock Foundational Model or Inference Profile, or the ARN of a imported model, or a provisioned throughput ARN for custom models.", + "markdownDescription": "ARN or Id of a Bedrock Foundational Model or Inference Profile, or the ARN of a imported model, or a provisioned throughput ARN for custom models.\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 2048 \nPattern: ^(arn:aws(-[^:]{1,12})?:(bedrock|sagemaker):[a-z0-9-]{1,20}:([0-9]{12})?:([a-z-]+/)?)?([a-zA-Z0-9.-]{1,63}){0,2}(([:][a-z0-9-]{1,63}){0,2})?(/[a-z0-9]{1,12})?$ \nUpdate requires: No interruption" + }, + "GuardrailConfiguration": { + "$ref": "#/definitions/GuardrailConfiguration" } }, "required": [ @@ -623,6 +626,9 @@ "properties": { "SourceConfiguration": { "$ref": "#/definitions/PromptFlowNodeSourceConfiguration" + }, + "GuardrailConfiguration": { + "$ref": "#/definitions/GuardrailConfiguration" } }, "required": [ @@ -673,8 +679,8 @@ "type": "string", "maxLength": 2048, "minLength": 1, - "description": "ARN or name of a Bedrock model.", - "markdownDescription": "ARN or name of a Bedrock model.\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 2048 \nPattern: ^(arn:aws(-[^:]+)?:bedrock:[a-z0-9-]{1,20}:(([0-9]{12}:custom-model/[a-z0-9-]{1,63}[.]{1}[a-z0-9-]{1,63}/[a-z0-9]{12})|(:foundation-model/[a-z0-9-]{1,63}[.]{1}[a-z0-9-]{1,63}([.:]?[a-z0-9-]{1,63}))|([0-9]{12}:provisioned-model/[a-z0-9]{12})))|([a-z0-9-]{1,63}[.]{1}[a-z0-9-]{1,63}([.:]?[a-z0-9-]{1,63}))|(([0-9a-zA-Z][_-]?)+)$ \nUpdate requires: No interruption" + "description": "ARN or Id of a Bedrock Foundational Model or Inference Profile, or the ARN of a imported model, or a provisioned throughput ARN for custom models.", + "markdownDescription": "ARN or Id of a Bedrock Foundational Model or Inference Profile, or the ARN of a imported model, or a provisioned throughput ARN for custom models.\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 2048 \nPattern: ^(arn:aws(-[^:]{1,12})?:(bedrock|sagemaker):[a-z0-9-]{1,20}:([0-9]{12})?:([a-z-]+/)?)?([a-zA-Z0-9.-]{1,63}){0,2}(([:][a-z0-9-]{1,63}){0,2})?(/[a-z0-9]{1,12})?$ \nUpdate requires: No interruption" }, "InferenceConfiguration": { "$ref": "#/definitions/PromptInferenceConfiguration" @@ -850,13 +856,6 @@ "description": "Cumulative probability cutoff for token selection", "markdownDescription": "Cumulative probability cutoff for token selection\n\n---\n\nRequired: No \nType: Number \nUpdate requires: No interruption" }, - "TopK": { - "type": "number", - "maximum": 500, - "minimum": 0, - "description": "Sample from the k most likely next tokens", - "markdownDescription": "Sample from the k most likely next tokens\n\n---\n\nRequired: No \nType: Number \nUpdate requires: No interruption" - }, "MaxTokens": { "type": "number", "maximum": 4096, @@ -1006,6 +1005,25 @@ }, "additionalProperties": false, "markdownDescription": "A map of tag keys and values\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "GuardrailConfiguration": { + "type": "object", + "description": "Configuration for a guardrail", + "properties": { + "GuardrailIdentifier": { + "type": "string", + "maxLength": 2048, + "description": "Identifier for the guardrail, could be the id or the arn", + "markdownDescription": "Identifier for the guardrail, could be the id or the arn\n\n---\n\nRequired: No \nType: String \nMaximum Length: 2048 \nPattern: ^(([a-z0-9]+)|(arn:aws(-[^:]+)?:bedrock:[a-z0-9-]{1,20}:[0-9]{12}:guardrail/[a-z0-9]+))$ \nUpdate requires: No interruption" + }, + "GuardrailVersion": { + "type": "string", + "description": "Version of the guardrail", + "markdownDescription": "Version of the guardrail\n\n---\n\nRequired: No \nType: String \nPattern: ^(([0-9]{1,8})|(DRAFT))$ \nUpdate requires: No interruption" + } + }, + "additionalProperties": false, + "markdownDescription": "Configuration for a guardrail\n\n---\n\nRequired: No \nUpdate requires: No interruption" } }, "properties": { @@ -1094,14 +1112,18 @@ "bedrock:TagResource", "bedrock:ListTagsForResource", "kms:GenerateDataKey", - "kms:Decrypt" + "kms:Decrypt", + "bedrock:CreateGuardrail", + "bedrock:CreateGuardrailVersion", + "bedrock:GetGuardrail" ] }, "read": { "permissions": [ "bedrock:GetFlow", "bedrock:ListTagsForResource", - "kms:Decrypt" + "kms:Decrypt", + "bedrock:GetGuardrail" ] }, "update": { @@ -1116,18 +1138,23 @@ "bedrock:UntagResource", "bedrock:ListTagsForResource", "kms:GenerateDataKey", - "kms:Decrypt" + "kms:Decrypt", + "bedrock:UpdateGuardrail", + "bedrock:GetGuardrail" ] }, "delete": { "permissions": [ "bedrock:DeleteFlow", - "bedrock:GetFlow" + "bedrock:GetFlow", + "bedrock:DeleteGuardrail", + "bedrock:GetGuardrail" ] }, "list": { "permissions": [ - "bedrock:ListFlows" + "bedrock:ListFlows", + "bedrock:ListGuardrails" ] } }, diff --git a/server/schema/resources/aws-bedrock-flowversion.json b/server/schema/resources/aws-bedrock-flowversion.json index 87be513e..e2c1b4b1 100644 --- a/server/schema/resources/aws-bedrock-flowversion.json +++ b/server/schema/resources/aws-bedrock-flowversion.json @@ -547,8 +547,11 @@ "type": "string", "maxLength": 2048, "minLength": 1, - "description": "ARN or name of a Bedrock model.", - "markdownDescription": "ARN or name of a Bedrock model.\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 2048 \nPattern: ^arn:aws(-[^:]+)?:bedrock:[a-z0-9-]{1,20}:(([0-9]{12}:custom-model/[a-z0-9-]{1,63}[.]{1}[a-z0-9-]{1,63}(([:][a-z0-9-]{1,63}){0,2})?/[a-z0-9]{12})|(:foundation-model/([a-z0-9-]{1,63}[.]{1}[a-z0-9-]{1,63}([.]?[a-z0-9-]{1,63})([:][a-z0-9-]{1,63}){0,2})))|(([a-z0-9-]{1,63}[.]{1}[a-z0-9-]{1,63}([.]?[a-z0-9-]{1,63})([:][a-z0-9-]{1,63}){0,2}))|(([0-9a-zA-Z][_-]?)+)$ \nUpdate requires: No interruption" + "description": "ARN or Id of a Bedrock Foundational Model or Inference Profile, or the ARN of a imported model, or a provisioned throughput ARN for custom models.", + "markdownDescription": "ARN or Id of a Bedrock Foundational Model or Inference Profile, or the ARN of a imported model, or a provisioned throughput ARN for custom models.\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 2048 \nPattern: ^(arn:aws(-[^:]{1,12})?:(bedrock|sagemaker):[a-z0-9-]{1,20}:([0-9]{12})?:([a-z-]+/)?)?([a-zA-Z0-9.-]{1,63}){0,2}(([:][a-z0-9-]{1,63}){0,2})?(/[a-z0-9]{1,12})?$ \nUpdate requires: No interruption" + }, + "GuardrailConfiguration": { + "$ref": "#/definitions/GuardrailConfiguration" } }, "required": [ @@ -598,6 +601,9 @@ "properties": { "SourceConfiguration": { "$ref": "#/definitions/PromptFlowNodeSourceConfiguration" + }, + "GuardrailConfiguration": { + "$ref": "#/definitions/GuardrailConfiguration" } }, "required": [ @@ -648,8 +654,8 @@ "type": "string", "maxLength": 2048, "minLength": 1, - "description": "ARN or name of a Bedrock model.", - "markdownDescription": "ARN or name of a Bedrock model.\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 2048 \nPattern: ^(arn:aws(-[^:]+)?:bedrock:[a-z0-9-]{1,20}:(([0-9]{12}:custom-model/[a-z0-9-]{1,63}[.]{1}[a-z0-9-]{1,63}/[a-z0-9]{12})|(:foundation-model/[a-z0-9-]{1,63}[.]{1}[a-z0-9-]{1,63}([.:]?[a-z0-9-]{1,63}))|([0-9]{12}:provisioned-model/[a-z0-9]{12})))|([a-z0-9-]{1,63}[.]{1}[a-z0-9-]{1,63}([.:]?[a-z0-9-]{1,63}))|(([0-9a-zA-Z][_-]?)+)$ \nUpdate requires: No interruption" + "description": "ARN or Id of a Bedrock Foundational Model or Inference Profile, or the ARN of a imported model, or a provisioned throughput ARN for custom models.", + "markdownDescription": "ARN or Id of a Bedrock Foundational Model or Inference Profile, or the ARN of a imported model, or a provisioned throughput ARN for custom models.\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 2048 \nPattern: ^(arn:aws(-[^:]{1,12})?:(bedrock|sagemaker):[a-z0-9-]{1,20}:([0-9]{12})?:([a-z-]+/)?)?([a-zA-Z0-9.-]{1,63}){0,2}(([:][a-z0-9-]{1,63}){0,2})?(/[a-z0-9]{1,12})?$ \nUpdate requires: No interruption" }, "InferenceConfiguration": { "$ref": "#/definitions/PromptInferenceConfiguration" @@ -825,13 +831,6 @@ "description": "Cumulative probability cutoff for token selection", "markdownDescription": "Cumulative probability cutoff for token selection\n\n---\n\nRequired: No \nType: Number \nUpdate requires: No interruption" }, - "TopK": { - "type": "number", - "maximum": 500, - "minimum": 0, - "description": "Sample from the k most likely next tokens", - "markdownDescription": "Sample from the k most likely next tokens\n\n---\n\nRequired: No \nType: Number \nUpdate requires: No interruption" - }, "MaxTokens": { "type": "number", "maximum": 4096, @@ -910,6 +909,25 @@ ], "additionalProperties": false, "markdownDescription": "Configuration for text prompt template\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "GuardrailConfiguration": { + "type": "object", + "description": "Configuration for a guardrail", + "properties": { + "GuardrailIdentifier": { + "type": "string", + "maxLength": 2048, + "description": "Identifier for the guardrail, could be the id or the arn", + "markdownDescription": "Identifier for the guardrail, could be the id or the arn\n\n---\n\nRequired: No \nType: String \nMaximum Length: 2048 \nPattern: ^(([a-z0-9]+)|(arn:aws(-[^:]+)?:bedrock:[a-z0-9-]{1,20}:[0-9]{12}:guardrail/[a-z0-9]+))$ \nUpdate requires: No interruption" + }, + "GuardrailVersion": { + "type": "string", + "description": "Version of the guardrail", + "markdownDescription": "Version of the guardrail\n\n---\n\nRequired: No \nType: String \nPattern: ^(([0-9]{1,8})|(DRAFT))$ \nUpdate requires: No interruption" + } + }, + "additionalProperties": false, + "markdownDescription": "Configuration for a guardrail\n\n---\n\nRequired: No \nUpdate requires: No interruption" } }, "properties": { @@ -953,24 +971,31 @@ "bedrock:CreateFlowVersion", "bedrock:GetFlowVersion", "kms:GenerateDataKey", - "kms:Decrypt" + "kms:Decrypt", + "bedrock:CreateGuardrail", + "bedrock:CreateGuardrailVersion", + "bedrock:GetGuardrail" ] }, "read": { "permissions": [ "bedrock:GetFlowVersion", - "kms:Decrypt" + "kms:Decrypt", + "bedrock:GetGuardrail" ] }, "delete": { "permissions": [ "bedrock:DeleteFlowVersion", - "bedrock:GetFlowVersion" + "bedrock:GetFlowVersion", + "bedrock:DeleteGuardrail", + "bedrock:GetGuardrail" ] }, "list": { "permissions": [ - "bedrock:ListFlowVersions" + "bedrock:ListFlowVersions", + "bedrock:ListGuardrails" ], "handlerSchema": { "properties": { diff --git a/server/schema/resources/aws-bedrock-prompt.json b/server/schema/resources/aws-bedrock-prompt.json index 244309ff..2f248061 100644 --- a/server/schema/resources/aws-bedrock-prompt.json +++ b/server/schema/resources/aws-bedrock-prompt.json @@ -29,8 +29,8 @@ "type": "string", "maxLength": 2048, "minLength": 1, - "description": "ARN or name of a Bedrock model.", - "markdownDescription": "ARN or name of a Bedrock model.\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 2048 \nPattern: ^(arn:aws(-[^:]+)?:bedrock:[a-z0-9-]{1,20}:(([0-9]{12}:custom-model/[a-z0-9-]{1,63}[.]{1}[a-z0-9-]{1,63}/[a-z0-9]{12})|(:foundation-model/[a-z0-9-]{1,63}[.]{1}[a-z0-9-]{1,63}([.:]?[a-z0-9-]{1,63}))|([0-9]{12}:provisioned-model/[a-z0-9]{12})))|([a-z0-9-]{1,63}[.]{1}[a-z0-9-]{1,63}([.:]?[a-z0-9-]{1,63}))|(([0-9a-zA-Z][_-]?)+)$ \nUpdate requires: No interruption" + "description": "ARN or Id of a Bedrock Foundational Model or Inference Profile, or the ARN of a imported model, or a provisioned throughput ARN for custom models.", + "markdownDescription": "ARN or Id of a Bedrock Foundational Model or Inference Profile, or the ARN of a imported model, or a provisioned throughput ARN for custom models.\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 2048 \nPattern: ^(arn:aws(-[^:]{1,12})?:(bedrock|sagemaker):[a-z0-9-]{1,20}:([0-9]{12})?:([a-z-]+/)?)?([a-zA-Z0-9.-]{1,63}){0,2}(([:][a-z0-9-]{1,63}){0,2})?(/[a-z0-9]{1,12})?$ \nUpdate requires: No interruption" }, "InferenceConfiguration": { "$ref": "#/definitions/PromptInferenceConfiguration" @@ -38,7 +38,8 @@ }, "required": [ "Name", - "TemplateType" + "TemplateType", + "TemplateConfiguration" ], "additionalProperties": false, "markdownDescription": "Prompt variant\n\n---\n\nRequired: No \nUpdate requires: No interruption" @@ -143,13 +144,6 @@ "description": "Cumulative probability cutoff for token selection", "markdownDescription": "Cumulative probability cutoff for token selection\n\n---\n\nRequired: No \nType: Number \nUpdate requires: No interruption" }, - "TopK": { - "type": "number", - "maximum": 500, - "minimum": 0, - "description": "Sample from the k most likely next tokens", - "markdownDescription": "Sample from the k most likely next tokens\n\n---\n\nRequired: No \nType: Number \nUpdate requires: No interruption" - }, "MaxTokens": { "type": "number", "maximum": 4096, @@ -244,7 +238,7 @@ "items": { "$ref": "#/definitions/PromptVariant" }, - "maxItems": 3, + "maxItems": 1, "minItems": 0, "description": "List of prompt variants", "insertionOrder": true, diff --git a/server/schema/resources/aws-bedrock-promptversion.json b/server/schema/resources/aws-bedrock-promptversion.json index b78ff53c..8c14b0cc 100644 --- a/server/schema/resources/aws-bedrock-promptversion.json +++ b/server/schema/resources/aws-bedrock-promptversion.json @@ -30,8 +30,8 @@ "type": "string", "maxLength": 2048, "minLength": 1, - "description": "ARN or name of a Bedrock model.", - "markdownDescription": "ARN or name of a Bedrock model.\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 2048 \nPattern: ^(arn:aws(-[^:]+)?:bedrock:[a-z0-9-]{1,20}:(([0-9]{12}:custom-model/[a-z0-9-]{1,63}[.]{1}[a-z0-9-]{1,63}/[a-z0-9]{12})|(:foundation-model/[a-z0-9-]{1,63}[.]{1}[a-z0-9-]{1,63}([.:]?[a-z0-9-]{1,63}))|([0-9]{12}:provisioned-model/[a-z0-9]{12})))|([a-z0-9-]{1,63}[.]{1}[a-z0-9-]{1,63}([.:]?[a-z0-9-]{1,63}))|(([0-9a-zA-Z][_-]?)+)$ \nUpdate requires: No interruption" + "description": "ARN or Id of a Bedrock Foundational Model or Inference Profile, or the ARN of a imported model, or a provisioned throughput ARN for custom models.", + "markdownDescription": "ARN or Id of a Bedrock Foundational Model or Inference Profile, or the ARN of a imported model, or a provisioned throughput ARN for custom models.\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 2048 \nPattern: ^(arn:aws(-[^:]{1,12})?:(bedrock|sagemaker):[a-z0-9-]{1,20}:([0-9]{12})?:([a-z-]+/)?)?([a-zA-Z0-9.-]{1,63}){0,2}(([:][a-z0-9-]{1,63}){0,2})?(/[a-z0-9]{1,12})?$ \nUpdate requires: No interruption" }, "InferenceConfiguration": { "$ref": "#/definitions/PromptInferenceConfiguration" @@ -39,7 +39,8 @@ }, "required": [ "Name", - "TemplateType" + "TemplateType", + "TemplateConfiguration" ], "additionalProperties": false, "markdownDescription": "Prompt variant\n\n---\n\nRequired: No \nUpdate requires: No interruption" @@ -61,7 +62,7 @@ "$ref": "#/definitions/PromptInputVariable" }, "maxItems": 5, - "minItems": 1, + "minItems": 0, "description": "List of input variables", "insertionOrder": true, "markdownDescription": "List of input variables\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" @@ -110,13 +111,6 @@ "description": "Cumulative probability cutoff for token selection", "markdownDescription": "Cumulative probability cutoff for token selection\n\n---\n\nRequired: No \nType: Number \nUpdate requires: No interruption" }, - "TopK": { - "type": "number", - "maximum": 500, - "minimum": 0, - "description": "Sample from the k most likely next tokens", - "markdownDescription": "Sample from the k most likely next tokens\n\n---\n\nRequired: No \nType: Number \nUpdate requires: No interruption" - }, "MaxTokens": { "type": "number", "maximum": 4096, @@ -226,7 +220,8 @@ ], "createOnlyProperties": [ "/properties/PromptArn", - "/properties/Description" + "/properties/Description", + "/properties/Tags" ], "handlers": { "create": { @@ -246,11 +241,6 @@ "kms:Decrypt" ] }, - "update": { - "permissions": [ - "noservice:NoAction" - ] - }, "delete": { "permissions": [ "bedrock:DeletePrompt", @@ -322,7 +312,7 @@ "items": { "$ref": "#/definitions/PromptVariant" }, - "maxItems": 3, + "maxItems": 1, "minItems": 1, "description": "List of prompt variants", "insertionOrder": true, diff --git a/server/schema/resources/aws-cassandra-keyspace.json b/server/schema/resources/aws-cassandra-keyspace.json index f372f6fb..8a43df06 100644 --- a/server/schema/resources/aws-cassandra-keyspace.json +++ b/server/schema/resources/aws-cassandra-keyspace.json @@ -117,6 +117,19 @@ "primaryIdentifier": [ "/properties/KeyspaceName" ], + "tagging": { + "taggable": true, + "tagOnCreate": true, + "tagUpdatable": true, + "cloudFormationSystemTags": true, + "tagProperty": "/properties/Tags", + "permissions": [ + "cassandra:TagResource", + "cassandra:TagMultiRegionResource", + "cassandra:UntagResource", + "cassandra:UntagMultiRegionResource" + ] + }, "handlers": { "create": { "permissions": [ diff --git a/server/schema/resources/aws-cassandra-table.json b/server/schema/resources/aws-cassandra-table.json index 4dfe2fb9..3802a954 100644 --- a/server/schema/resources/aws-cassandra-table.json +++ b/server/schema/resources/aws-cassandra-table.json @@ -362,6 +362,19 @@ "/properties/KeyspaceName", "/properties/TableName" ], + "tagging": { + "taggable": true, + "tagOnCreate": true, + "tagUpdatable": true, + "cloudFormationSystemTags": true, + "tagProperty": "/properties/Tags", + "permissions": [ + "cassandra:TagResource", + "cassandra:TagMultiRegionResource", + "cassandra:UntagResource", + "cassandra:UntagMultiRegionResource" + ] + }, "handlers": { "create": { "permissions": [ diff --git a/server/schema/resources/aws-cleanrooms-analysistemplate.json b/server/schema/resources/aws-cleanrooms-analysistemplate.json index 6e3251bf..e5285f54 100644 --- a/server/schema/resources/aws-cleanrooms-analysistemplate.json +++ b/server/schema/resources/aws-cleanrooms-analysistemplate.json @@ -35,9 +35,22 @@ "TIMESTAMPTZ", "TIME", "TIMETZ", - "VARBYTE" + "VARBYTE", + "BINARY", + "BYTE", + "CHARACTER", + "DOUBLE", + "FLOAT", + "INT", + "LONG", + "NUMERIC", + "SHORT", + "STRING", + "TIMESTAMP_LTZ", + "TIMESTAMP_NTZ", + "TINYINT" ], - "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nAllowed Values: SMALLINT | INTEGER | BIGINT | DECIMAL | REAL | DOUBLE_PRECISION | BOOLEAN | CHAR | VARCHAR | DATE | TIMESTAMP | TIMESTAMPTZ | TIME | TIMETZ | VARBYTE \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nAllowed Values: SMALLINT | INTEGER | BIGINT | DECIMAL | REAL | DOUBLE_PRECISION | BOOLEAN | CHAR | VARCHAR | DATE | TIMESTAMP | TIMESTAMPTZ | TIME | TIMETZ | VARBYTE | BINARY | BYTE | CHARACTER | DOUBLE | FLOAT | INT | LONG | NUMERIC | SHORT | STRING | TIMESTAMP_LTZ | TIMESTAMP_NTZ | TINYINT \nUpdate requires: No interruption" } }, "required": [ diff --git a/server/schema/resources/aws-cleanrooms-collaboration.json b/server/schema/resources/aws-cleanrooms-collaboration.json index 2a3f92f1..b4b973f1 100644 --- a/server/schema/resources/aws-cleanrooms-collaboration.json +++ b/server/schema/resources/aws-cleanrooms-collaboration.json @@ -3,6 +3,14 @@ "description": "Represents a collaboration between AWS accounts that allows for secure data collaboration", "documentationUrl": "https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cleanrooms-collaboration.html", "definitions": { + "AnalyticsEngine": { + "type": "string", + "enum": [ + "CLEAN_ROOMS_SQL", + "SPARK" + ], + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: CLEAN_ROOMS_SQL | SPARK \nUpdate requires: No interruption" + }, "CollaborationQueryLogStatus": { "type": "string", "enum": [ @@ -196,6 +204,9 @@ "QueryLogStatus": { "$ref": "#/definitions/CollaborationQueryLogStatus" }, + "AnalyticsEngine": { + "$ref": "#/definitions/AnalyticsEngine" + }, "CreatorPaymentConfiguration": { "$ref": "#/definitions/PaymentConfiguration" } @@ -218,7 +229,8 @@ "/properties/DataEncryptionMetadata", "/properties/QueryLogStatus", "/properties/Members", - "/properties/CreatorPaymentConfiguration" + "/properties/CreatorPaymentConfiguration", + "/properties/AnalyticsEngine" ], "primaryIdentifier": [ "/properties/CollaborationIdentifier" diff --git a/server/schema/resources/aws-cleanrooms-membership.json b/server/schema/resources/aws-cleanrooms-membership.json index 47414aed..aef70a14 100644 --- a/server/schema/resources/aws-cleanrooms-membership.json +++ b/server/schema/resources/aws-cleanrooms-membership.json @@ -66,6 +66,10 @@ "KeyPrefix": { "type": "string", "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "SingleFileOutput": { + "type": "boolean", + "markdownDescription": "\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" } }, "required": [ diff --git a/server/schema/resources/aws-cloudformation-customresource.json b/server/schema/resources/aws-cloudformation-customresource.json index 56e21d2d..5dea95dd 100644 --- a/server/schema/resources/aws-cloudformation-customresource.json +++ b/server/schema/resources/aws-cloudformation-customresource.json @@ -6,6 +6,10 @@ "ServiceToken": { "type": "string", "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: Replacement" + }, + "ServiceTimeout": { + "type": "integer", + "markdownDescription": "\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" } }, "required": [ diff --git a/server/schema/resources/aws-cloudformation-guardhook.json b/server/schema/resources/aws-cloudformation-guardhook.json new file mode 100644 index 00000000..f275ca7c --- /dev/null +++ b/server/schema/resources/aws-cloudformation-guardhook.json @@ -0,0 +1,381 @@ +{ + "typeName": "AWS::CloudFormation::GuardHook", + "description": "This is a CloudFormation resource for activating the first-party AWS::Hooks::GuardHook.", + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-rpdk.git", + "definitions": { + "S3Location": { + "description": "S3 Source Location for the Guard files.", + "type": "object", + "properties": { + "Uri": { + "description": "S3 uri of Guard files.", + "type": "string", + "markdownDescription": "S3 uri of Guard files.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" + }, + "VersionId": { + "description": "S3 object version", + "type": "string", + "markdownDescription": "S3 object version\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + } + }, + "additionalProperties": false, + "required": [ + "Uri" + ], + "markdownDescription": "S3 Source Location for the Guard files.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "Role": { + "description": "IAM Role ARN", + "type": "string", + "maxLength": 256, + "markdownDescription": "IAM Role ARN\n\n---\n\nRequired: No \nType: String \nMaximum Length: 256 \nPattern: arn:.+:iam::[0-9]{12}:role/.+ \nUpdate requires: No interruption" + }, + "StackName": { + "description": "CloudFormation Stack name", + "type": "string", + "maxLength": 128, + "markdownDescription": "CloudFormation Stack name\n\n---\n\nRequired: No \nType: String \nMaximum Length: 128 \nPattern: ^[a-zA-Z][-a-zA-Z0-9]*$ \nUpdate requires: No interruption" + }, + "TargetOperation": { + "description": "Which operations should this Hook run against? Resource changes, stacks or change sets.", + "type": "string", + "enum": [ + "RESOURCE", + "STACK", + "CHANGE_SET" + ], + "markdownDescription": "Which operations should this Hook run against? Resource changes, stacks or change sets.\n\n---\n\nRequired: No \nType: String \nAllowed Values: RESOURCE | STACK | CHANGE_SET \nUpdate requires: No interruption" + }, + "TargetName": { + "description": "Type name of hook target. Hook targets are the destination where hooks will be invoked against.", + "type": "string", + "minLength": 1, + "maxLength": 256, + "markdownDescription": "Type name of hook target. Hook targets are the destination where hooks will be invoked against.\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 256 \nPattern: ^(?!.*\\*\\?).*$ \nUpdate requires: No interruption" + }, + "Action": { + "description": "Target actions are the type of operation hooks will be executed at.", + "type": "string", + "enum": [ + "CREATE", + "UPDATE", + "DELETE" + ], + "markdownDescription": "Target actions are the type of operation hooks will be executed at.\n\n---\n\nRequired: No \nType: String \nAllowed Values: CREATE | UPDATE | DELETE \nUpdate requires: No interruption" + }, + "InvocationPoint": { + "description": "Invocation points are the point in provisioning workflow where hooks will be executed.", + "type": "string", + "enum": [ + "PRE_PROVISION" + ], + "markdownDescription": "Invocation points are the point in provisioning workflow where hooks will be executed.\n\n---\n\nRequired: No \nType: String \nAllowed Values: PRE_PROVISION \nUpdate requires: No interruption" + }, + "HookTarget": { + "description": "Hook targets are the destination where hooks will be invoked against.", + "type": "object", + "properties": { + "TargetName": { + "$ref": "#/definitions/TargetName" + }, + "Action": { + "$ref": "#/definitions/Action" + }, + "InvocationPoint": { + "$ref": "#/definitions/InvocationPoint" + } + }, + "additionalProperties": false, + "required": [ + "TargetName", + "Action", + "InvocationPoint" + ], + "markdownDescription": "Hook targets are the destination where hooks will be invoked against.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + } + }, + "properties": { + "RuleLocation": { + "$ref": "#/definitions/S3Location" + }, + "LogBucket": { + "description": "S3 Bucket where the guard validate report will be uploaded to", + "type": "string", + "markdownDescription": "S3 Bucket where the guard validate report will be uploaded to\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "HookStatus": { + "default": "DISABLED", + "description": "Attribute to specify which stacks this hook applies to or should get invoked for", + "type": "string", + "enum": [ + "ENABLED", + "DISABLED" + ], + "markdownDescription": "Attribute to specify which stacks this hook applies to or should get invoked for\n\n---\n\nRequired: Yes \nType: String \nAllowed Values: ENABLED | DISABLED \nUpdate requires: No interruption" + }, + "TargetOperations": { + "description": "Which operations should this Hook run against? Resource changes, stacks or change sets.", + "type": "array", + "uniqueItems": true, + "items": { + "$ref": "#/definitions/TargetOperation" + }, + "markdownDescription": "Which operations should this Hook run against? Resource changes, stacks or change sets.\n\n---\n\nRequired: Yes \nType: Array \nUpdate requires: No interruption" + }, + "FailureMode": { + "default": "WARN", + "description": "Attribute to specify CloudFormation behavior on hook failure.", + "type": "string", + "enum": [ + "FAIL", + "WARN" + ], + "markdownDescription": "Attribute to specify CloudFormation behavior on hook failure.\n\n---\n\nRequired: Yes \nType: String \nAllowed Values: FAIL | WARN \nUpdate requires: No interruption" + }, + "TargetFilters": { + "description": "Attribute to specify which targets should invoke the hook", + "type": "object", + "oneOf": [ + { + "type": "object", + "minProperties": 1, + "properties": { + "TargetNames": { + "description": "List of type names that the hook is going to target", + "type": "array", + "minItems": 1, + "maxItems": 50, + "uniqueItems": true, + "insertionOrder": false, + "items": { + "$ref": "#/definitions/TargetName" + } + }, + "Actions": { + "description": "List of actions that the hook is going to target", + "type": "array", + "minItems": 1, + "maxItems": 50, + "uniqueItems": true, + "insertionOrder": false, + "items": { + "$ref": "#/definitions/Action" + } + }, + "InvocationPoints": { + "description": "List of invocation points that the hook is going to target", + "type": "array", + "minItems": 1, + "maxItems": 50, + "uniqueItems": true, + "insertionOrder": false, + "items": { + "$ref": "#/definitions/InvocationPoint" + } + } + }, + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "Targets": { + "description": "List of hook targets", + "type": "array", + "minItems": 1, + "maxItems": 50, + "uniqueItems": true, + "items": { + "$ref": "#/definitions/HookTarget" + } + } + }, + "additionalProperties": false, + "required": [ + "Targets" + ] + } + ], + "markdownDescription": "Attribute to specify which targets should invoke the hook\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "StackFilters": { + "description": "Filters to allow hooks to target specific stack attributes", + "type": "object", + "properties": { + "FilteringCriteria": { + "description": "Attribute to specify the filtering behavior. ANY will make the Hook pass if one filter matches. ALL will make the Hook pass if all filters match", + "type": "string", + "default": "ALL", + "enum": [ + "ALL", + "ANY" + ], + "markdownDescription": "Attribute to specify the filtering behavior. ANY will make the Hook pass if one filter matches. ALL will make the Hook pass if all filters match\n\n---\n\nRequired: Yes \nType: String \nAllowed Values: ALL | ANY \nUpdate requires: No interruption" + }, + "StackNames": { + "description": "List of stack names as filters", + "type": "object", + "additionalProperties": false, + "minProperties": 1, + "properties": { + "Include": { + "description": "List of stack names that the hook is going to target", + "type": "array", + "maxItems": 50, + "minItems": 1, + "uniqueItems": true, + "insertionOrder": false, + "items": { + "$ref": "#/definitions/StackName" + }, + "markdownDescription": "List of stack names that the hook is going to target\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + }, + "Exclude": { + "description": "List of stack names that the hook is going to be excluded from", + "type": "array", + "maxItems": 50, + "minItems": 1, + "uniqueItems": true, + "insertionOrder": false, + "items": { + "$ref": "#/definitions/StackName" + }, + "markdownDescription": "List of stack names that the hook is going to be excluded from\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + } + }, + "markdownDescription": "List of stack names as filters\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "StackRoles": { + "description": "List of stack roles that are performing the stack operations.", + "type": "object", + "additionalProperties": false, + "minProperties": 1, + "properties": { + "Include": { + "description": "List of stack roles that the hook is going to target", + "type": "array", + "maxItems": 50, + "minItems": 1, + "uniqueItems": true, + "insertionOrder": false, + "items": { + "$ref": "#/definitions/Role" + }, + "markdownDescription": "List of stack roles that the hook is going to target\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + }, + "Exclude": { + "description": "List of stack roles that the hook is going to be excluded from", + "type": "array", + "maxItems": 50, + "minItems": 1, + "uniqueItems": true, + "insertionOrder": false, + "items": { + "$ref": "#/definitions/Role" + }, + "markdownDescription": "List of stack roles that the hook is going to be excluded from\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + } + }, + "markdownDescription": "List of stack roles that are performing the stack operations.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + } + }, + "required": [ + "FilteringCriteria" + ], + "additionalProperties": false, + "markdownDescription": "Filters to allow hooks to target specific stack attributes\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "Alias": { + "description": "The typename alias for the hook.", + "type": "string", + "markdownDescription": "The typename alias for the hook.\n\n---\n\nRequired: Yes \nType: String \nPattern: ^[A-Za-z0-9]{2,64}::[A-Za-z0-9]{2,64}::[A-Za-z0-9]{2,64}$ \nUpdate requires: Replacement" + }, + "ExecutionRole": { + "description": "The execution role ARN assumed by hooks to read Guard rules from S3 and write Guard outputs to S3.", + "$ref": "#/definitions/Role", + "markdownDescription": "The execution role ARN assumed by hooks to read Guard rules from S3 and write Guard outputs to S3.\n\n---\n\nRequired: Yes \nType: \nUpdate requires: Replacement" + }, + "Options": { + "properties": { + "InputParams": { + "$ref": "#/definitions/S3Location" + } + }, + "required": [], + "additionalProperties": false + } + }, + "additionalProperties": false, + "readOnlyProperties": [ + "/properties/HookArn" + ], + "required": [ + "RuleLocation", + "HookStatus", + "TargetOperations", + "FailureMode", + "Alias", + "ExecutionRole" + ], + "createOnlyProperties": [ + "/properties/ExecutionRole", + "/properties/Alias" + ], + "primaryIdentifier": [ + "/properties/HookArn" + ], + "tagging": { + "taggable": false, + "tagOnCreate": false, + "tagUpdatable": false, + "cloudFormationSystemTags": false + }, + "handlers": { + "create": { + "permissions": [ + "cloudformation:ActivateType", + "cloudformation:DescribeType", + "cloudformation:ListTypes", + "cloudformation:SetTypeConfiguration", + "cloudformation:BatchDescribeTypeConfigurations", + "iam:PassRole" + ] + }, + "read": { + "permissions": [ + "cloudformation:DescribeType", + "cloudformation:BatchDescribeTypeConfigurations" + ] + }, + "update": { + "permissions": [ + "cloudformation:BatchDescribeTypeConfigurations", + "cloudformation:DescribeType", + "cloudformation:SetTypeConfiguration", + "iam:PassRole" + ] + }, + "delete": { + "permissions": [ + "cloudformation:BatchDescribeTypeConfigurations", + "cloudformation:DescribeType", + "cloudformation:DeactivateType", + "cloudformation:SetTypeConfiguration" + ] + }, + "list": { + "permissions": [ + "cloudformation:ListTypes", + "cloudformation:DescribeType", + "cloudformation:BatchDescribeTypeConfigurations" + ] + } + }, + "attributes": { + "HookArn": { + "description": "The Amazon Resource Name (ARN) of the activated hook", + "type": "string", + "markdownDescription": "The Amazon Resource Name (ARN) of the activated hook\n\n---\n\nRequired: No \nType: String \nPattern: ^arn:aws[A-Za-z0-9-]{0,64}:cloudformation:[A-Za-z0-9-]{1,64}:([0-9]{12})?:type/hook/.+$ \nUpdate requires: No interruption" + } + } +} \ No newline at end of file diff --git a/server/schema/resources/aws-cloudformation-lambdahook.json b/server/schema/resources/aws-cloudformation-lambdahook.json new file mode 100644 index 00000000..e4d7cb27 --- /dev/null +++ b/server/schema/resources/aws-cloudformation-lambdahook.json @@ -0,0 +1,348 @@ +{ + "typeName": "AWS::CloudFormation::LambdaHook", + "description": "This is a CloudFormation resource for the first-party AWS::Hooks::LambdaHook.", + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-rpdk.git", + "definitions": { + "Role": { + "description": "IAM Role ARN", + "type": "string", + "maxLength": 256, + "markdownDescription": "IAM Role ARN\n\n---\n\nRequired: No \nType: String \nMaximum Length: 256 \nPattern: arn:.+:iam::[0-9]{12}:role/.+ \nUpdate requires: No interruption" + }, + "StackName": { + "description": "CloudFormation Stack name", + "type": "string", + "maxLength": 128, + "markdownDescription": "CloudFormation Stack name\n\n---\n\nRequired: No \nType: String \nMaximum Length: 128 \nPattern: ^[a-zA-Z][-a-zA-Z0-9]*$ \nUpdate requires: No interruption" + }, + "TargetOperation": { + "description": "Which operations should this Hook run against? Resource changes, stacks or change sets.", + "type": "string", + "enum": [ + "RESOURCE", + "STACK", + "CHANGE_SET" + ], + "markdownDescription": "Which operations should this Hook run against? Resource changes, stacks or change sets.\n\n---\n\nRequired: No \nType: String \nAllowed Values: RESOURCE | STACK | CHANGE_SET \nUpdate requires: No interruption" + }, + "TargetName": { + "description": "Type name of hook target. Hook targets are the destination where hooks will be invoked against.", + "type": "string", + "minLength": 1, + "maxLength": 256, + "markdownDescription": "Type name of hook target. Hook targets are the destination where hooks will be invoked against.\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 256 \nPattern: ^(?!.*\\*\\?).*$ \nUpdate requires: No interruption" + }, + "Action": { + "description": "Target actions are the type of operation hooks will be executed at.", + "type": "string", + "enum": [ + "CREATE", + "UPDATE", + "DELETE" + ], + "markdownDescription": "Target actions are the type of operation hooks will be executed at.\n\n---\n\nRequired: No \nType: String \nAllowed Values: CREATE | UPDATE | DELETE \nUpdate requires: No interruption" + }, + "InvocationPoint": { + "description": "Invocation points are the point in provisioning workflow where hooks will be executed.", + "type": "string", + "enum": [ + "PRE_PROVISION" + ], + "markdownDescription": "Invocation points are the point in provisioning workflow where hooks will be executed.\n\n---\n\nRequired: No \nType: String \nAllowed Values: PRE_PROVISION \nUpdate requires: No interruption" + }, + "HookTarget": { + "description": "Hook targets are the destination where hooks will be invoked against.", + "type": "object", + "properties": { + "TargetName": { + "$ref": "#/definitions/TargetName" + }, + "Action": { + "$ref": "#/definitions/Action" + }, + "InvocationPoint": { + "$ref": "#/definitions/InvocationPoint" + } + }, + "additionalProperties": false, + "required": [ + "TargetName", + "Action", + "InvocationPoint" + ], + "markdownDescription": "Hook targets are the destination where hooks will be invoked against.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + } + }, + "properties": { + "LambdaFunction": { + "description": "Amazon Resource Name (ARN), Partial ARN, name, version, or alias of the Lambda function to invoke with this hook.", + "type": "string", + "minLength": 1, + "maxLength": 170, + "markdownDescription": "Amazon Resource Name (ARN), Partial ARN, name, version, or alias of the Lambda function to invoke with this hook.\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 170 \nPattern: (arn:(aws[a-zA-Z-]*)?:lambda:)?([a-z]{2}(-gov)?(-iso([a-z])?)?-[a-z]+-\\d{1}:)?(\\d{12}:)?(function:)?([a-zA-Z0-9-_]+)(:(\\$LATEST|[a-zA-Z0-9-_]+))? \nUpdate requires: No interruption" + }, + "HookStatus": { + "default": "ENABLED", + "description": "Attribute to specify which stacks this hook applies to or should get invoked for", + "type": "string", + "enum": [ + "ENABLED", + "DISABLED" + ], + "markdownDescription": "Attribute to specify which stacks this hook applies to or should get invoked for\n\n---\n\nRequired: Yes \nType: String \nAllowed Values: ENABLED | DISABLED \nUpdate requires: No interruption" + }, + "TargetOperations": { + "description": "Which operations should this Hook run against? Resource changes, stacks or change sets.", + "type": "array", + "uniqueItems": true, + "items": { + "$ref": "#/definitions/TargetOperation" + }, + "markdownDescription": "Which operations should this Hook run against? Resource changes, stacks or change sets.\n\n---\n\nRequired: Yes \nType: Array \nUpdate requires: No interruption" + }, + "FailureMode": { + "description": "Attribute to specify CloudFormation behavior on hook failure.", + "type": "string", + "enum": [ + "FAIL", + "WARN" + ], + "markdownDescription": "Attribute to specify CloudFormation behavior on hook failure.\n\n---\n\nRequired: Yes \nType: String \nAllowed Values: FAIL | WARN \nUpdate requires: No interruption" + }, + "TargetFilters": { + "description": "Attribute to specify which targets should invoke the hook", + "type": "object", + "oneOf": [ + { + "type": "object", + "minProperties": 1, + "properties": { + "TargetNames": { + "description": "List of type names that the hook is going to target", + "type": "array", + "minItems": 1, + "maxItems": 50, + "uniqueItems": true, + "insertionOrder": false, + "items": { + "$ref": "#/definitions/TargetName" + } + }, + "Actions": { + "description": "List of actions that the hook is going to target", + "type": "array", + "minItems": 1, + "maxItems": 50, + "uniqueItems": true, + "insertionOrder": false, + "items": { + "$ref": "#/definitions/Action" + } + }, + "InvocationPoints": { + "description": "List of invocation points that the hook is going to target", + "type": "array", + "minItems": 1, + "maxItems": 50, + "uniqueItems": true, + "insertionOrder": false, + "items": { + "$ref": "#/definitions/InvocationPoint" + } + } + }, + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "Targets": { + "description": "List of hook targets", + "type": "array", + "minItems": 1, + "maxItems": 50, + "uniqueItems": true, + "items": { + "$ref": "#/definitions/HookTarget" + } + } + }, + "additionalProperties": false, + "required": [ + "Targets" + ] + } + ], + "markdownDescription": "Attribute to specify which targets should invoke the hook\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "StackFilters": { + "description": "Filters to allow hooks to target specific stack attributes", + "type": "object", + "properties": { + "FilteringCriteria": { + "description": "Attribute to specify the filtering behavior. ANY will make the Hook pass if one filter matches. ALL will make the Hook pass if all filters match", + "type": "string", + "default": "ALL", + "enum": [ + "ALL", + "ANY" + ], + "markdownDescription": "Attribute to specify the filtering behavior. ANY will make the Hook pass if one filter matches. ALL will make the Hook pass if all filters match\n\n---\n\nRequired: Yes \nType: String \nAllowed Values: ALL | ANY \nUpdate requires: No interruption" + }, + "StackNames": { + "description": "List of stack names as filters", + "type": "object", + "additionalProperties": false, + "minProperties": 1, + "properties": { + "Include": { + "description": "List of stack names that the hook is going to target", + "type": "array", + "maxItems": 50, + "minItems": 1, + "uniqueItems": true, + "insertionOrder": false, + "items": { + "$ref": "#/definitions/StackName" + }, + "markdownDescription": "List of stack names that the hook is going to target\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + }, + "Exclude": { + "description": "List of stack names that the hook is going to be excluded from", + "type": "array", + "maxItems": 50, + "minItems": 1, + "uniqueItems": true, + "insertionOrder": false, + "items": { + "$ref": "#/definitions/StackName" + }, + "markdownDescription": "List of stack names that the hook is going to be excluded from\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + } + }, + "markdownDescription": "List of stack names as filters\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "StackRoles": { + "description": "List of stack roles that are performing the stack operations.", + "type": "object", + "additionalProperties": false, + "minProperties": 1, + "properties": { + "Include": { + "description": "List of stack roles that the hook is going to target", + "type": "array", + "maxItems": 50, + "minItems": 1, + "uniqueItems": true, + "insertionOrder": false, + "items": { + "$ref": "#/definitions/Role" + }, + "markdownDescription": "List of stack roles that the hook is going to target\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + }, + "Exclude": { + "description": "List of stack roles that the hook is going to be excluded from", + "type": "array", + "maxItems": 50, + "minItems": 1, + "uniqueItems": true, + "insertionOrder": false, + "items": { + "$ref": "#/definitions/Role" + }, + "markdownDescription": "List of stack roles that the hook is going to be excluded from\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + } + }, + "markdownDescription": "List of stack roles that are performing the stack operations.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + } + }, + "required": [ + "FilteringCriteria" + ], + "additionalProperties": false, + "markdownDescription": "Filters to allow hooks to target specific stack attributes\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "Alias": { + "description": "The typename alias for the hook.", + "type": "string", + "markdownDescription": "The typename alias for the hook.\n\n---\n\nRequired: Yes \nType: String \nPattern: ^[A-Za-z0-9]{2,64}::[A-Za-z0-9]{2,64}::[A-Za-z0-9]{2,64}$ \nUpdate requires: Replacement" + }, + "ExecutionRole": { + "description": "The execution role ARN assumed by Hooks to invoke Lambda.", + "$ref": "#/definitions/Role", + "markdownDescription": "The execution role ARN assumed by Hooks to invoke Lambda.\n\n---\n\nRequired: Yes \nType: \nUpdate requires: No interruption" + } + }, + "additionalProperties": false, + "required": [ + "LambdaFunction", + "FailureMode", + "Alias", + "ExecutionRole", + "TargetOperations", + "HookStatus" + ], + "readOnlyProperties": [ + "/properties/HookArn" + ], + "createOnlyProperties": [ + "/properties/Alias" + ], + "primaryIdentifier": [ + "/properties/HookArn" + ], + "tagging": { + "taggable": false, + "tagOnCreate": false, + "tagUpdatable": false, + "cloudFormationSystemTags": false + }, + "handlers": { + "create": { + "permissions": [ + "cloudformation:ListTypes", + "cloudformation:ActivateType", + "cloudformation:BatchDescribeTypeConfigurations", + "cloudformation:DescribeType", + "cloudformation:SetTypeConfiguration", + "iam:PassRole" + ] + }, + "read": { + "permissions": [ + "cloudformation:BatchDescribeTypeConfigurations", + "cloudformation:DescribeType" + ] + }, + "update": { + "permissions": [ + "cloudformation:BatchDescribeTypeConfigurations", + "cloudformation:DescribeType", + "cloudformation:SetTypeConfiguration", + "iam:PassRole" + ] + }, + "delete": { + "permissions": [ + "cloudformation:BatchDescribeTypeConfigurations", + "cloudformation:DeactivateType", + "cloudformation:DescribeType", + "cloudformation:SetTypeConfiguration" + ] + }, + "list": { + "permissions": [ + "cloudformation:ListTypes", + "cloudformation:BatchDescribeTypeConfigurations", + "cloudformation:DescribeType" + ] + } + }, + "attributes": { + "HookArn": { + "description": "The Amazon Resource Name (ARN) of the activated hook", + "type": "string", + "markdownDescription": "The Amazon Resource Name (ARN) of the activated hook\n\n---\n\nRequired: No \nType: String \nPattern: ^arn:aws[A-Za-z0-9-]{0,64}:cloudformation:[A-Za-z0-9-]{1,64}:([0-9]{12})?:type/hook/.+$ \nUpdate requires: No interruption" + } + } +} \ No newline at end of file diff --git a/server/schema/resources/aws-cloudformation-publictypeversion.json b/server/schema/resources/aws-cloudformation-publictypeversion.json index 9ce589d4..c1091047 100644 --- a/server/schema/resources/aws-cloudformation-publictypeversion.json +++ b/server/schema/resources/aws-cloudformation-publictypeversion.json @@ -105,7 +105,7 @@ "type": "string", "minLength": 1, "maxLength": 40, - "markdownDescription": "The publisher id assigned by CloudFormation for publishing in this region.\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 40 \nPattern: [0-9a-zA-Z]{40} \nUpdate requires: No interruption" + "markdownDescription": "The publisher id assigned by CloudFormation for publishing in this region.\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 40 \nPattern: [0-9a-zA-Z-]{40} \nUpdate requires: No interruption" }, "PublicTypeArn": { "description": "The Amazon Resource Number (ARN) assigned to the public extension upon publication", diff --git a/server/schema/resources/aws-cloudformation-publisher.json b/server/schema/resources/aws-cloudformation-publisher.json index fca2797b..660a455c 100644 --- a/server/schema/resources/aws-cloudformation-publisher.json +++ b/server/schema/resources/aws-cloudformation-publisher.json @@ -27,9 +27,6 @@ "/properties/AcceptTermsAndConditions", "/properties/ConnectionArn" ], - "writeOnlyProperties": [ - "/properties/ConnectionArn" - ], "primaryIdentifier": [ "/properties/PublisherId" ], @@ -63,7 +60,7 @@ "type": "string", "minLength": 1, "maxLength": 40, - "markdownDescription": "The publisher id assigned by CloudFormation for publishing in this region.\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 40 \nPattern: [0-9a-zA-Z]{40} \nUpdate requires: No interruption" + "markdownDescription": "The publisher id assigned by CloudFormation for publishing in this region.\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 40 \nPattern: [0-9a-zA-Z-]{40} \nUpdate requires: No interruption" }, "PublisherStatus": { "description": "Whether the publisher is verified.", diff --git a/server/schema/resources/aws-cloudformation-typeactivation.json b/server/schema/resources/aws-cloudformation-typeactivation.json index 46af0bff..2613b403 100644 --- a/server/schema/resources/aws-cloudformation-typeactivation.json +++ b/server/schema/resources/aws-cloudformation-typeactivation.json @@ -29,14 +29,14 @@ "ExecutionRoleArn": { "description": "The Amazon Resource Name (ARN) of the IAM execution role to use to register the type. If your resource type calls AWS APIs in any of its handlers, you must create an IAM execution role that includes the necessary permissions to call those AWS APIs, and provision that execution role in your account. CloudFormation then assumes that execution role to provide your resource type with the appropriate credentials.", "type": "string", - "markdownDescription": "The Amazon Resource Name (ARN) of the IAM execution role to use to register the type. If your resource type calls AWS APIs in any of its handlers, you must create an IAM execution role that includes the necessary permissions to call those AWS APIs, and provision that execution role in your account. CloudFormation then assumes that execution role to provide your resource type with the appropriate credentials.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "markdownDescription": "The Amazon Resource Name (ARN) of the IAM execution role to use to register the type. If your resource type calls AWS APIs in any of its handlers, you must create an IAM execution role that includes the necessary permissions to call those AWS APIs, and provision that execution role in your account. CloudFormation then assumes that execution role to provide your resource type with the appropriate credentials.\n\n---\n\nRequired: No \nType: String \nUpdate requires: Replacement" }, "PublisherId": { "description": "The publisher id assigned by CloudFormation for publishing in this region.", "type": "string", "minLength": 1, "maxLength": 40, - "markdownDescription": "The publisher id assigned by CloudFormation for publishing in this region.\n\n---\n\nRequired: Conditional \nType: String \nMinimum Length: 1 \nMaximum Length: 40 \nPattern: [0-9a-zA-Z]{40} \nUpdate requires: No interruption" + "markdownDescription": "The publisher id assigned by CloudFormation for publishing in this region.\n\n---\n\nRequired: Conditional \nType: String \nMinimum Length: 1 \nMaximum Length: 40 \nPattern: [0-9a-zA-Z-]{40} \nUpdate requires: Replacement" }, "LoggingConfig": { "$ref": "#/definitions/LoggingConfig", @@ -47,7 +47,7 @@ "description": "The Amazon Resource Number (ARN) assigned to the public extension upon publication", "type": "string", "maxLength": 1024, - "markdownDescription": "The Amazon Resource Number (ARN) assigned to the public extension upon publication\n\n---\n\nRequired: Conditional \nType: String \nMaximum Length: 1024 \nPattern: arn:aws[A-Za-z0-9-]{0,64}:cloudformation:[A-Za-z0-9-]{1,64}:([0-9]{12})?:type/.+ \nUpdate requires: No interruption" + "markdownDescription": "The Amazon Resource Number (ARN) assigned to the public extension upon publication\n\n---\n\nRequired: Conditional \nType: String \nMaximum Length: 1024 \nPattern: arn:aws[A-Za-z0-9-]{0,64}:cloudformation:[A-Za-z0-9-]{1,64}:([0-9]{12})?:type/.+ \nUpdate requires: Replacement" }, "AutoUpdate": { "description": "Whether to automatically update the extension in this account and region when a new minor version is published by the extension publisher. Major versions released by the publisher must be manually updated.", @@ -59,7 +59,7 @@ "type": "string", "minLength": 10, "maxLength": 204, - "markdownDescription": "An alias to assign to the public extension in this account and region. If you specify an alias for the extension, you must then use the alias to refer to the extension in your templates.\n\n---\n\nRequired: No \nType: String \nMinimum Length: 10 \nMaximum Length: 204 \nPattern: [A-Za-z0-9]{2,64}::[A-Za-z0-9]{2,64}::[A-Za-z0-9]{2,64}(::MODULE){0,1} \nUpdate requires: No interruption" + "markdownDescription": "An alias to assign to the public extension in this account and region. If you specify an alias for the extension, you must then use the alias to refer to the extension in your templates.\n\n---\n\nRequired: No \nType: String \nMinimum Length: 10 \nMaximum Length: 204 \nPattern: [A-Za-z0-9]{2,64}::[A-Za-z0-9]{2,64}::[A-Za-z0-9]{2,64}(::MODULE){0,1} \nUpdate requires: Replacement" }, "VersionBump": { "description": "Manually updates a previously-enabled type to a new major or minor version, if available. You can also use this parameter to update the value of AutoUpdateEnabled", @@ -80,7 +80,7 @@ "TypeName": { "description": "The name of the type being registered.\n\nWe recommend that type names adhere to the following pattern: company_or_organization::service::type.", "type": "string", - "markdownDescription": "The name of the type being registered.\n\nWe recommend that type names adhere to the following pattern: company_or_organization::service::type.\n\n---\n\nRequired: Conditional \nType: String \nPattern: [A-Za-z0-9]{2,64}::[A-Za-z0-9]{2,64}::[A-Za-z0-9]{2,64}(::MODULE){0,1} \nUpdate requires: No interruption" + "markdownDescription": "The name of the type being registered.\n\nWe recommend that type names adhere to the following pattern: company_or_organization::service::type.\n\n---\n\nRequired: Conditional \nType: String \nPattern: [A-Za-z0-9]{2,64}::[A-Za-z0-9]{2,64}::[A-Za-z0-9]{2,64}(::MODULE){0,1} \nUpdate requires: Replacement" }, "Type": { "description": "The kind of extension", @@ -90,7 +90,7 @@ "HOOK" ], "type": "string", - "markdownDescription": "The kind of extension\n\n---\n\nRequired: Conditional \nType: String \nAllowed Values: RESOURCE | MODULE | HOOK \nUpdate requires: No interruption" + "markdownDescription": "The kind of extension\n\n---\n\nRequired: Conditional \nType: String \nAllowed Values: RESOURCE | MODULE | HOOK \nUpdate requires: Replacement" } }, "oneOf": [ @@ -111,15 +111,13 @@ "/properties/Arn" ], "createOnlyProperties": [ - "/properties/LoggingConfig" - ], - "writeOnlyProperties": [ "/properties/ExecutionRoleArn", - "/properties/Type", "/properties/LoggingConfig", - "/properties/VersionBump", - "/properties/AutoUpdate", - "/properties/MajorVersion" + "/properties/TypeNameAlias", + "/properties/TypeName", + "/properties/Type", + "/properties/PublisherId", + "/properties/PublicTypeArn" ], "primaryIdentifier": [ "/properties/Arn" diff --git a/server/schema/resources/aws-cloudtrail-trail.json b/server/schema/resources/aws-cloudtrail-trail.json index a57102ee..f0ed902c 100644 --- a/server/schema/resources/aws-cloudtrail-trail.json +++ b/server/schema/resources/aws-cloudtrail-trail.json @@ -1,12 +1,187 @@ { + "tagging": { + "permissions": [ + "CloudTrail:AddTags", + "CloudTrail:RemoveTags", + "CloudTrail:ListTags" + ], + "taggable": true, + "tagOnCreate": true, + "tagUpdatable": true, + "tagProperty": "/properties/Tags", + "cloudFormationSystemTags": false + }, "typeName": "AWS::CloudTrail::Trail", + "readOnlyProperties": [ + "/properties/Arn", + "/properties/SnsTopicArn" + ], "description": "Creates a trail that specifies the settings for delivery of log data to an Amazon S3 bucket. A maximum of five trails can exist in a region, irrespective of the region in which they were created.", + "createOnlyProperties": [ + "/properties/TrailName" + ], + "primaryIdentifier": [ + "/properties/TrailName" + ], + "required": [ + "S3BucketName", + "IsLogging" + ], "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-cloudtrail.git", + "propertyTransform": { + "/properties/KMSKeyId": "$join([\"arn:(aws)[-]{0,1}[a-z]{0,2}[-]{0,1}[a-z]{0,3}:kms:[a-z]{2}[-]{1}[a-z]{3,10}[-]{0,1}[a-z]{0,10}[-]{1}[1-3]{1}:[0-9]{12}[:]{1}key\\/\", KMSKeyId])" + }, + "handlers": { + "read": { + "permissions": [ + "CloudTrail:GetTrail", + "CloudTrail:GetTrailStatus", + "CloudTrail:ListTags", + "CloudTrail:GetEventSelectors", + "CloudTrail:GetInsightSelectors", + "CloudTrail:DescribeTrails" + ] + }, + "create": { + "permissions": [ + "CloudTrail:CreateTrail", + "CloudTrail:StartLogging", + "CloudTrail:AddTags", + "CloudTrail:PutEventSelectors", + "CloudTrail:PutInsightSelectors", + "iam:GetRole", + "iam:PassRole", + "iam:CreateServiceLinkedRole", + "organizations:DescribeOrganization", + "organizations:ListAWSServiceAccessForOrganization" + ] + }, + "update": { + "permissions": [ + "CloudTrail:UpdateTrail", + "CloudTrail:StartLogging", + "CloudTrail:StopLogging", + "CloudTrail:AddTags", + "CloudTrail:RemoveTags", + "CloudTrail:PutEventSelectors", + "CloudTrail:PutInsightSelectors", + "iam:GetRole", + "iam:PassRole", + "iam:CreateServiceLinkedRole", + "organizations:DescribeOrganization", + "organizations:ListAWSServiceAccessForOrganization", + "CloudTrail:GetTrail", + "CloudTrail:DescribeTrails" + ] + }, + "list": { + "permissions": [ + "CloudTrail:ListTrails", + "CloudTrail:GetTrail", + "CloudTrail:GetTrailStatus", + "CloudTrail:ListTags", + "CloudTrail:GetEventSelectors", + "CloudTrail:GetInsightSelectors", + "CloudTrail:DescribeTrails" + ] + }, + "delete": { + "permissions": [ + "CloudTrail:DeleteTrail" + ] + } + }, + "additionalProperties": false, "definitions": { + "AdvancedEventSelector": { + "description": "Advanced event selectors let you create fine-grained selectors for the following AWS CloudTrail event record \ufb01elds. They help you control costs by logging only those events that are important to you.", + "additionalProperties": false, + "type": "object", + "properties": { + "FieldSelectors": { + "minItems": 1, + "uniqueItems": true, + "description": "Contains all selector statements in an advanced event selector.", + "insertionOrder": false, + "type": "array", + "items": { + "$ref": "#/definitions/AdvancedFieldSelector" + }, + "markdownDescription": "Contains all selector statements in an advanced event selector.\n\n---\n\nRequired: Yes \nType: Array \nUpdate requires: No interruption" + }, + "Name": { + "minLength": 1, + "description": "An optional, descriptive name for an advanced event selector, such as \"Log data events for only two S3 buckets\".", + "type": "string", + "maxLength": 1000, + "markdownDescription": "An optional, descriptive name for an advanced event selector, such as \"Log data events for only two S3 buckets\".\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 1000 \nUpdate requires: No interruption" + } + }, + "required": [ + "FieldSelectors" + ], + "markdownDescription": "Advanced event selectors let you create fine-grained selectors for the following AWS CloudTrail event record \ufb01elds. They help you control costs by logging only those events that are important to you.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "InsightSelector": { + "description": "A string that contains insight types that are logged on a trail.", + "additionalProperties": false, + "type": "object", + "properties": { + "InsightType": { + "description": "The type of insight to log on a trail.", + "type": "string", + "markdownDescription": "The type of insight to log on a trail.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + } + }, + "markdownDescription": "A string that contains insight types that are logged on a trail.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "EventSelector": { + "description": "The type of email sending events to publish to the event destination.", + "additionalProperties": false, + "type": "object", + "properties": { + "IncludeManagementEvents": { + "description": "Specify if you want your event selector to include management events for your trail.", + "type": "boolean", + "markdownDescription": "Specify if you want your event selector to include management events for your trail.\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" + }, + "ReadWriteType": { + "description": "Specify if you want your trail to log read-only events, write-only events, or all. For example, the EC2 GetConsoleOutput is a read-only API operation and RunInstances is a write-only API operation.", + "type": "string", + "enum": [ + "All", + "ReadOnly", + "WriteOnly" + ], + "markdownDescription": "Specify if you want your trail to log read-only events, write-only events, or all. For example, the EC2 GetConsoleOutput is a read-only API operation and RunInstances is a write-only API operation.\n\n---\n\nRequired: No \nType: String \nAllowed Values: All | ReadOnly | WriteOnly \nUpdate requires: No interruption" + }, + "ExcludeManagementEventSources": { + "uniqueItems": true, + "description": "An optional list of service event sources from which you do not want management events to be logged on your trail. In this release, the list can be empty (disables the filter), or it can filter out AWS Key Management Service events by containing \"kms.amazonaws.com\". By default, ExcludeManagementEventSources is empty, and AWS KMS events are included in events that are logged to your trail.", + "insertionOrder": false, + "type": "array", + "items": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "markdownDescription": "An optional list of service event sources from which you do not want management events to be logged on your trail. In this release, the list can be empty (disables the filter), or it can filter out AWS Key Management Service events by containing \"kms.amazonaws.com\". By default, ExcludeManagementEventSources is empty, and AWS KMS events are included in events that are logged to your trail.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + }, + "DataResources": { + "uniqueItems": true, + "insertionOrder": false, + "type": "array", + "items": { + "$ref": "#/definitions/DataResource" + }, + "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + } + }, + "markdownDescription": "The type of email sending events to publish to the event destination.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, "DataResource": { "description": "CloudTrail supports data event logging for Amazon S3 objects and AWS Lambda functions. You can specify up to 250 resources for an individual event selector, but the total number of data resources cannot exceed 250 across all event selectors in a trail. This limit does not apply if you configure resource logging for all data events.", - "type": "object", "additionalProperties": false, + "type": "object", "properties": { "Type": { "description": "The resource type in which you want to log data events. You can specify AWS::S3::Object or AWS::Lambda::Function resources.", @@ -14,10 +189,10 @@ "markdownDescription": "The resource type in which you want to log data events. You can specify AWS::S3::Object or AWS::Lambda::Function resources.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" }, "Values": { - "description": "An array of Amazon Resource Name (ARN) strings or partial ARN strings for the specified objects.", - "type": "array", "uniqueItems": true, + "description": "An array of Amazon Resource Name (ARN) strings or partial ARN strings for the specified objects.", "insertionOrder": false, + "type": "array", "items": { "type": "string", "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" @@ -30,282 +205,157 @@ ], "markdownDescription": "CloudTrail supports data event logging for Amazon S3 objects and AWS Lambda functions. You can specify up to 250 resources for an individual event selector, but the total number of data resources cannot exceed 250 across all event selectors in a trail. This limit does not apply if you configure resource logging for all data events.\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, + "Tag": { + "description": "An arbitrary set of tags (key-value pairs) for this trail.", + "additionalProperties": false, + "type": "object", + "properties": { + "Value": { + "description": "The value for the tag. You can specify a value that is 1 to 255 Unicode characters in length and cannot be prefixed with aws:. You can use any of the following characters: the set of Unicode letters, digits, whitespace, _, ., /, =, +, and -.", + "type": "string", + "markdownDescription": "The value for the tag. You can specify a value that is 1 to 255 Unicode characters in length and cannot be prefixed with aws:. You can use any of the following characters: the set of Unicode letters, digits, whitespace, _, ., /, =, +, and -.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" + }, + "Key": { + "description": "The key name of the tag. You can specify a value that is 1 to 127 Unicode characters in length and cannot be prefixed with aws:. You can use any of the following characters: the set of Unicode letters, digits, whitespace, _, ., /, =, +, and -.", + "type": "string", + "markdownDescription": "The key name of the tag. You can specify a value that is 1 to 127 Unicode characters in length and cannot be prefixed with aws:. You can use any of the following characters: the set of Unicode letters, digits, whitespace, _, ., /, =, +, and -.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" + } + }, + "required": [ + "Value", + "Key" + ], + "markdownDescription": "An arbitrary set of tags (key-value pairs) for this trail.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, "AdvancedFieldSelector": { "description": "A single selector statement in an advanced event selector.", - "type": "object", "additionalProperties": false, + "type": "object", "properties": { "Field": { + "minLength": 1, "description": "A field in an event record on which to filter events to be logged. Supported fields include readOnly, eventCategory, eventSource (for management events), eventName, resources.type, and resources.ARN.", "type": "string", - "minLength": 1, "maxLength": 1000, "markdownDescription": "A field in an event record on which to filter events to be logged. Supported fields include readOnly, eventCategory, eventSource (for management events), eventName, resources.type, and resources.ARN.\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 1000 \nPattern: ([\\w|\\d|\\.|_]+) \nUpdate requires: No interruption" }, "Equals": { - "description": "An operator that includes events that match the exact value of the event record field specified as the value of Field. This is the only valid operator that you can use with the readOnly, eventCategory, and resources.type fields.", - "type": "array", + "minItems": 1, "uniqueItems": true, + "description": "An operator that includes events that match the exact value of the event record field specified as the value of Field. This is the only valid operator that you can use with the readOnly, eventCategory, and resources.type fields.", "insertionOrder": false, - "minItems": 1, + "type": "array", "items": { - "type": "string", "minLength": 1, + "type": "string", "maxLength": 2048, "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 2048 \nPattern: (.+) \nUpdate requires: No interruption" }, "markdownDescription": "An operator that includes events that match the exact value of the event record field specified as the value of Field. This is the only valid operator that you can use with the readOnly, eventCategory, and resources.type fields.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" }, - "StartsWith": { - "description": "An operator that includes events that match the first few characters of the event record field specified as the value of Field.", - "type": "array", + "NotStartsWith": { + "minItems": 1, "uniqueItems": true, + "description": "An operator that excludes events that match the first few characters of the event record field specified as the value of Field.", "insertionOrder": false, - "minItems": 1, + "type": "array", "items": { - "type": "string", "minLength": 1, + "type": "string", "maxLength": 2048, "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 2048 \nPattern: (.+) \nUpdate requires: No interruption" }, - "markdownDescription": "An operator that includes events that match the first few characters of the event record field specified as the value of Field.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + "markdownDescription": "An operator that excludes events that match the first few characters of the event record field specified as the value of Field.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" }, - "EndsWith": { - "description": "An operator that includes events that match the last few characters of the event record field specified as the value of Field.", - "type": "array", + "NotEndsWith": { + "minItems": 1, "uniqueItems": true, + "description": "An operator that excludes events that match the last few characters of the event record field specified as the value of Field.", "insertionOrder": false, - "minItems": 1, + "type": "array", "items": { - "type": "string", "minLength": 1, + "type": "string", "maxLength": 2048, "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 2048 \nPattern: (.+) \nUpdate requires: No interruption" }, - "markdownDescription": "An operator that includes events that match the last few characters of the event record field specified as the value of Field.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + "markdownDescription": "An operator that excludes events that match the last few characters of the event record field specified as the value of Field.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" }, - "NotEquals": { - "description": "An operator that excludes events that match the exact value of the event record field specified as the value of Field.", - "type": "array", + "StartsWith": { + "minItems": 1, "uniqueItems": true, + "description": "An operator that includes events that match the first few characters of the event record field specified as the value of Field.", "insertionOrder": false, - "minItems": 1, + "type": "array", "items": { - "type": "string", "minLength": 1, + "type": "string", "maxLength": 2048, "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 2048 \nPattern: (.+) \nUpdate requires: No interruption" }, - "markdownDescription": "An operator that excludes events that match the exact value of the event record field specified as the value of Field.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + "markdownDescription": "An operator that includes events that match the first few characters of the event record field specified as the value of Field.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" }, - "NotStartsWith": { - "description": "An operator that excludes events that match the first few characters of the event record field specified as the value of Field.", - "type": "array", + "EndsWith": { + "minItems": 1, "uniqueItems": true, + "description": "An operator that includes events that match the last few characters of the event record field specified as the value of Field.", "insertionOrder": false, - "minItems": 1, + "type": "array", "items": { - "type": "string", "minLength": 1, + "type": "string", "maxLength": 2048, "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 2048 \nPattern: (.+) \nUpdate requires: No interruption" }, - "markdownDescription": "An operator that excludes events that match the first few characters of the event record field specified as the value of Field.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + "markdownDescription": "An operator that includes events that match the last few characters of the event record field specified as the value of Field.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" }, - "NotEndsWith": { - "description": "An operator that excludes events that match the last few characters of the event record field specified as the value of Field.", - "type": "array", + "NotEquals": { + "minItems": 1, "uniqueItems": true, + "description": "An operator that excludes events that match the exact value of the event record field specified as the value of Field.", "insertionOrder": false, - "minItems": 1, + "type": "array", "items": { - "type": "string", "minLength": 1, + "type": "string", "maxLength": 2048, "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 2048 \nPattern: (.+) \nUpdate requires: No interruption" }, - "markdownDescription": "An operator that excludes events that match the last few characters of the event record field specified as the value of Field.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + "markdownDescription": "An operator that excludes events that match the exact value of the event record field specified as the value of Field.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" } }, "required": [ "Field" ], "markdownDescription": "A single selector statement in an advanced event selector.\n\n---\n\nRequired: No \nUpdate requires: No interruption" - }, - "AdvancedEventSelector": { - "description": "Advanced event selectors let you create fine-grained selectors for the following AWS CloudTrail event record \ufb01elds. They help you control costs by logging only those events that are important to you.", - "type": "object", - "additionalProperties": false, - "properties": { - "Name": { - "description": "An optional, descriptive name for an advanced event selector, such as \"Log data events for only two S3 buckets\".", - "type": "string", - "minLength": 1, - "maxLength": 1000, - "markdownDescription": "An optional, descriptive name for an advanced event selector, such as \"Log data events for only two S3 buckets\".\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 1000 \nUpdate requires: No interruption" - }, - "FieldSelectors": { - "description": "Contains all selector statements in an advanced event selector.", - "type": "array", - "uniqueItems": true, - "insertionOrder": false, - "minItems": 1, - "items": { - "$ref": "#/definitions/AdvancedFieldSelector" - }, - "markdownDescription": "Contains all selector statements in an advanced event selector.\n\n---\n\nRequired: Yes \nType: Array \nUpdate requires: No interruption" - } - }, - "required": [ - "FieldSelectors" - ], - "markdownDescription": "Advanced event selectors let you create fine-grained selectors for the following AWS CloudTrail event record \ufb01elds. They help you control costs by logging only those events that are important to you.\n\n---\n\nRequired: No \nUpdate requires: No interruption" - }, - "EventSelector": { - "description": "The type of email sending events to publish to the event destination.", - "type": "object", - "additionalProperties": false, - "properties": { - "DataResources": { - "type": "array", - "uniqueItems": true, - "insertionOrder": false, - "items": { - "$ref": "#/definitions/DataResource" - }, - "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" - }, - "IncludeManagementEvents": { - "description": "Specify if you want your event selector to include management events for your trail.", - "type": "boolean", - "markdownDescription": "Specify if you want your event selector to include management events for your trail.\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" - }, - "ReadWriteType": { - "description": "Specify if you want your trail to log read-only events, write-only events, or all. For example, the EC2 GetConsoleOutput is a read-only API operation and RunInstances is a write-only API operation.", - "type": "string", - "enum": [ - "All", - "ReadOnly", - "WriteOnly" - ], - "markdownDescription": "Specify if you want your trail to log read-only events, write-only events, or all. For example, the EC2 GetConsoleOutput is a read-only API operation and RunInstances is a write-only API operation.\n\n---\n\nRequired: No \nType: String \nAllowed Values: All | ReadOnly | WriteOnly \nUpdate requires: No interruption" - }, - "ExcludeManagementEventSources": { - "description": "An optional list of service event sources from which you do not want management events to be logged on your trail. In this release, the list can be empty (disables the filter), or it can filter out AWS Key Management Service events by containing \"kms.amazonaws.com\". By default, ExcludeManagementEventSources is empty, and AWS KMS events are included in events that are logged to your trail.", - "type": "array", - "uniqueItems": true, - "insertionOrder": false, - "items": { - "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" - }, - "markdownDescription": "An optional list of service event sources from which you do not want management events to be logged on your trail. In this release, the list can be empty (disables the filter), or it can filter out AWS Key Management Service events by containing \"kms.amazonaws.com\". By default, ExcludeManagementEventSources is empty, and AWS KMS events are included in events that are logged to your trail.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" - } - }, - "markdownDescription": "The type of email sending events to publish to the event destination.\n\n---\n\nRequired: No \nUpdate requires: No interruption" - }, - "Tag": { - "description": "An arbitrary set of tags (key-value pairs) for this trail.", - "type": "object", - "additionalProperties": false, - "properties": { - "Key": { - "description": "The key name of the tag. You can specify a value that is 1 to 127 Unicode characters in length and cannot be prefixed with aws:. You can use any of the following characters: the set of Unicode letters, digits, whitespace, _, ., /, =, +, and -.", - "type": "string", - "markdownDescription": "The key name of the tag. You can specify a value that is 1 to 127 Unicode characters in length and cannot be prefixed with aws:. You can use any of the following characters: the set of Unicode letters, digits, whitespace, _, ., /, =, +, and -.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" - }, - "Value": { - "description": "The value for the tag. You can specify a value that is 1 to 255 Unicode characters in length and cannot be prefixed with aws:. You can use any of the following characters: the set of Unicode letters, digits, whitespace, _, ., /, =, +, and -.", - "type": "string", - "markdownDescription": "The value for the tag. You can specify a value that is 1 to 255 Unicode characters in length and cannot be prefixed with aws:. You can use any of the following characters: the set of Unicode letters, digits, whitespace, _, ., /, =, +, and -.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" - } - }, - "required": [ - "Value", - "Key" - ], - "markdownDescription": "An arbitrary set of tags (key-value pairs) for this trail.\n\n---\n\nRequired: No \nUpdate requires: No interruption" - }, - "InsightSelector": { - "description": "A string that contains insight types that are logged on a trail.", - "type": "object", - "additionalProperties": false, - "properties": { - "InsightType": { - "description": "The type of insight to log on a trail.", - "type": "string", - "markdownDescription": "The type of insight to log on a trail.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" - } - }, - "markdownDescription": "A string that contains insight types that are logged on a trail.\n\n---\n\nRequired: No \nUpdate requires: No interruption" } }, "properties": { - "CloudWatchLogsLogGroupArn": { - "description": "Specifies a log group name using an Amazon Resource Name (ARN), a unique identifier that represents the log group to which CloudTrail logs will be delivered. Not required unless you specify CloudWatchLogsRoleArn.", - "type": "string", - "markdownDescription": "Specifies a log group name using an Amazon Resource Name (ARN), a unique identifier that represents the log group to which CloudTrail logs will be delivered. Not required unless you specify CloudWatchLogsRoleArn.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" - }, - "CloudWatchLogsRoleArn": { - "description": "Specifies the role for the CloudWatch Logs endpoint to assume to write to a user's log group.", - "type": "string", - "markdownDescription": "Specifies the role for the CloudWatch Logs endpoint to assume to write to a user's log group.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" - }, - "EnableLogFileValidation": { - "description": "Specifies whether log file validation is enabled. The default is false.", + "IncludeGlobalServiceEvents": { + "description": "Specifies whether the trail is publishing events from global services such as IAM to the log files.", "type": "boolean", - "markdownDescription": "Specifies whether log file validation is enabled. The default is false.\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" - }, - "AdvancedEventSelectors": { - "description": "The advanced event selectors that were used to select events for the data store.", - "type": "array", - "items": { - "$ref": "#/definitions/AdvancedEventSelector" - }, - "uniqueItems": true, - "insertionOrder": false, - "markdownDescription": "The advanced event selectors that were used to select events for the data store.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + "markdownDescription": "Specifies whether the trail is publishing events from global services such as IAM to the log files.\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" }, "EventSelectors": { + "maxItems": 5, + "uniqueItems": true, "description": "Use event selectors to further specify the management and data event settings for your trail. By default, trails created without specific event selectors will be configured to log all read and write management events, and no data events. When an event occurs in your account, CloudTrail evaluates the event selector for all trails. For each trail, if the event matches any event selector, the trail processes and logs the event. If the event doesn't match any event selector, the trail doesn't log the event. You can configure up to five event selectors for a trail.", + "insertionOrder": false, "type": "array", "items": { "$ref": "#/definitions/EventSelector" }, - "maxItems": 5, - "uniqueItems": true, - "insertionOrder": false, "markdownDescription": "Use event selectors to further specify the management and data event settings for your trail. By default, trails created without specific event selectors will be configured to log all read and write management events, and no data events. When an event occurs in your account, CloudTrail evaluates the event selector for all trails. For each trail, if the event matches any event selector, the trail processes and logs the event. If the event doesn't match any event selector, the trail doesn't log the event. You can configure up to five event selectors for a trail.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" }, - "IncludeGlobalServiceEvents": { - "description": "Specifies whether the trail is publishing events from global services such as IAM to the log files.", - "type": "boolean", - "markdownDescription": "Specifies whether the trail is publishing events from global services such as IAM to the log files.\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" - }, - "IsLogging": { - "description": "Whether the CloudTrail is currently logging AWS API calls.", - "type": "boolean", - "markdownDescription": "Whether the CloudTrail is currently logging AWS API calls.\n\n---\n\nRequired: Yes \nType: Boolean \nUpdate requires: No interruption" - }, - "IsMultiRegionTrail": { - "description": "Specifies whether the trail applies only to the current region or to all regions. The default is false. If the trail exists only in the current region and this value is set to true, shadow trails (replications of the trail) will be created in the other regions. If the trail exists in all regions and this value is set to false, the trail will remain in the region where it was created, and its shadow trails in other regions will be deleted. As a best practice, consider using trails that log events in all regions.", - "type": "boolean", - "markdownDescription": "Specifies whether the trail applies only to the current region or to all regions. The default is false. If the trail exists only in the current region and this value is set to true, shadow trails (replications of the trail) will be created in the other regions. If the trail exists in all regions and this value is set to false, the trail will remain in the region where it was created, and its shadow trails in other regions will be deleted. As a best practice, consider using trails that log events in all regions.\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" - }, - "IsOrganizationTrail": { - "description": "Specifies whether the trail is created for all accounts in an organization in AWS Organizations, or only for the current AWS account. The default is false, and cannot be true unless the call is made on behalf of an AWS account that is the master account for an organization in AWS Organizations.", - "type": "boolean", - "markdownDescription": "Specifies whether the trail is created for all accounts in an organization in AWS Organizations, or only for the current AWS account. The default is false, and cannot be true unless the call is made on behalf of an AWS account that is the master account for an organization in AWS Organizations.\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" - }, "KMSKeyId": { "description": "Specifies the KMS key ID to use to encrypt the logs delivered by CloudTrail. The value can be an alias name prefixed by 'alias/', a fully specified ARN to an alias, a fully specified ARN to a key, or a globally unique identifier.", "type": "string", "markdownDescription": "Specifies the KMS key ID to use to encrypt the logs delivered by CloudTrail. The value can be an alias name prefixed by 'alias/', a fully specified ARN to an alias, a fully specified ARN to a key, or a globally unique identifier.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, - "S3BucketName": { - "description": "Specifies the name of the Amazon S3 bucket designated for publishing log files. See Amazon S3 Bucket Naming Requirements.", + "CloudWatchLogsRoleArn": { + "description": "Specifies the role for the CloudWatch Logs endpoint to assume to write to a user's log group.", "type": "string", - "markdownDescription": "Specifies the name of the Amazon S3 bucket designated for publishing log files. See Amazon S3 Bucket Naming Requirements.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" + "markdownDescription": "Specifies the role for the CloudWatch Logs endpoint to assume to write to a user's log group.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, "S3KeyPrefix": { "description": "Specifies the Amazon S3 key prefix that comes after the name of the bucket you have designated for log file delivery. For more information, see Finding Your CloudTrail Log Files. The maximum length is 200 characters.", @@ -313,128 +363,84 @@ "maxLength": 200, "markdownDescription": "Specifies the Amazon S3 key prefix that comes after the name of the bucket you have designated for log file delivery. For more information, see Finding Your CloudTrail Log Files. The maximum length is 200 characters.\n\n---\n\nRequired: No \nType: String \nMaximum Length: 200 \nUpdate requires: No interruption" }, - "SnsTopicName": { - "description": "Specifies the name of the Amazon SNS topic defined for notification of log file delivery. The maximum length is 256 characters.", - "type": "string", - "maxLength": 256, - "markdownDescription": "Specifies the name of the Amazon SNS topic defined for notification of log file delivery. The maximum length is 256 characters.\n\n---\n\nRequired: No \nType: String \nMaximum Length: 256 \nUpdate requires: No interruption" - }, - "Tags": { - "type": "array", - "uniqueItems": false, + "AdvancedEventSelectors": { + "uniqueItems": true, + "description": "The advanced event selectors that were used to select events for the data store.", "insertionOrder": false, + "type": "array", "items": { - "$ref": "#/definitions/Tag" + "$ref": "#/definitions/AdvancedEventSelector" }, - "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + "markdownDescription": "The advanced event selectors that were used to select events for the data store.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" }, "TrailName": { - "type": "string", "minLength": 3, + "type": "string", "maxLength": 128, "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMinimum Length: 3 \nMaximum Length: 128 \nPattern: (^[a-zA-Z0-9]$)|(^[a-zA-Z0-9]([a-zA-Z0-9\\._-])*[a-zA-Z0-9]$) \nUpdate requires: Replacement" }, + "IsOrganizationTrail": { + "description": "Specifies whether the trail is created for all accounts in an organization in AWS Organizations, or only for the current AWS account. The default is false, and cannot be true unless the call is made on behalf of an AWS account that is the master account for an organization in AWS Organizations.", + "type": "boolean", + "markdownDescription": "Specifies whether the trail is created for all accounts in an organization in AWS Organizations, or only for the current AWS account. The default is false, and cannot be true unless the call is made on behalf of an AWS account that is the master account for an organization in AWS Organizations.\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" + }, "InsightSelectors": { + "uniqueItems": true, "description": "Lets you enable Insights event logging by specifying the Insights selectors that you want to enable on an existing trail.", + "insertionOrder": false, "type": "array", "items": { "$ref": "#/definitions/InsightSelector" }, - "uniqueItems": true, - "insertionOrder": false, "markdownDescription": "Lets you enable Insights event logging by specifying the Insights selectors that you want to enable on an existing trail.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" - } - }, - "required": [ - "S3BucketName", - "IsLogging" - ], - "readOnlyProperties": [ - "/properties/Arn", - "/properties/SnsTopicArn" - ], - "createOnlyProperties": [ - "/properties/TrailName" - ], - "primaryIdentifier": [ - "/properties/TrailName" - ], - "propertyTransform": { - "/properties/KMSKeyId": "$join([\"arn:(aws)[-]{0,1}[a-z]{0,2}[-]{0,1}[a-z]{0,3}:kms:[a-z]{2}[-]{1}[a-z]{3,10}[-]{0,1}[a-z]{0,10}[-]{1}[1-3]{1}:[0-9]{12}[:]{1}key\\/\", KMSKeyId])" - }, - "handlers": { - "create": { - "permissions": [ - "CloudTrail:CreateTrail", - "CloudTrail:StartLogging", - "CloudTrail:AddTags", - "CloudTrail:PutEventSelectors", - "CloudTrail:PutInsightSelectors", - "iam:GetRole", - "iam:PassRole", - "iam:CreateServiceLinkedRole", - "organizations:DescribeOrganization", - "organizations:ListAWSServiceAccessForOrganization" - ] }, - "read": { - "permissions": [ - "CloudTrail:GetTrail", - "CloudTrail:GetTrailStatus", - "CloudTrail:ListTags", - "CloudTrail:GetEventSelectors", - "CloudTrail:GetInsightSelectors", - "CloudTrail:DescribeTrails" - ] + "CloudWatchLogsLogGroupArn": { + "description": "Specifies a log group name using an Amazon Resource Name (ARN), a unique identifier that represents the log group to which CloudTrail logs will be delivered. Not required unless you specify CloudWatchLogsRoleArn.", + "type": "string", + "markdownDescription": "Specifies a log group name using an Amazon Resource Name (ARN), a unique identifier that represents the log group to which CloudTrail logs will be delivered. Not required unless you specify CloudWatchLogsRoleArn.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, - "update": { - "permissions": [ - "CloudTrail:UpdateTrail", - "CloudTrail:StartLogging", - "CloudTrail:StopLogging", - "CloudTrail:AddTags", - "CloudTrail:RemoveTags", - "CloudTrail:PutEventSelectors", - "CloudTrail:PutInsightSelectors", - "iam:GetRole", - "iam:PassRole", - "iam:CreateServiceLinkedRole", - "organizations:DescribeOrganization", - "organizations:ListAWSServiceAccessForOrganization", - "CloudTrail:GetTrail", - "CloudTrail:DescribeTrails" - ] + "SnsTopicName": { + "description": "Specifies the name of the Amazon SNS topic defined for notification of log file delivery. The maximum length is 256 characters.", + "type": "string", + "maxLength": 256, + "markdownDescription": "Specifies the name of the Amazon SNS topic defined for notification of log file delivery. The maximum length is 256 characters.\n\n---\n\nRequired: No \nType: String \nMaximum Length: 256 \nUpdate requires: No interruption" }, - "delete": { - "permissions": [ - "CloudTrail:DeleteTrail" - ] + "IsMultiRegionTrail": { + "description": "Specifies whether the trail applies only to the current region or to all regions. The default is false. If the trail exists only in the current region and this value is set to true, shadow trails (replications of the trail) will be created in the other regions. If the trail exists in all regions and this value is set to false, the trail will remain in the region where it was created, and its shadow trails in other regions will be deleted. As a best practice, consider using trails that log events in all regions.", + "type": "boolean", + "markdownDescription": "Specifies whether the trail applies only to the current region or to all regions. The default is false. If the trail exists only in the current region and this value is set to true, shadow trails (replications of the trail) will be created in the other regions. If the trail exists in all regions and this value is set to false, the trail will remain in the region where it was created, and its shadow trails in other regions will be deleted. As a best practice, consider using trails that log events in all regions.\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" }, - "list": { - "permissions": [ - "CloudTrail:ListTrails", - "CloudTrail:GetTrail", - "CloudTrail:GetTrailStatus", - "CloudTrail:ListTags", - "CloudTrail:GetEventSelectors", - "CloudTrail:GetInsightSelectors", - "CloudTrail:DescribeTrails" - ] + "S3BucketName": { + "description": "Specifies the name of the Amazon S3 bucket designated for publishing log files. See Amazon S3 Bucket Naming Requirements.", + "type": "string", + "markdownDescription": "Specifies the name of the Amazon S3 bucket designated for publishing log files. See Amazon S3 Bucket Naming Requirements.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" + }, + "EnableLogFileValidation": { + "description": "Specifies whether log file validation is enabled. The default is false.", + "type": "boolean", + "markdownDescription": "Specifies whether log file validation is enabled. The default is false.\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" + }, + "Tags": { + "uniqueItems": false, + "insertionOrder": false, + "type": "array", + "items": { + "$ref": "#/definitions/Tag" + }, + "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + }, + "IsLogging": { + "description": "Whether the CloudTrail is currently logging AWS API calls.", + "type": "boolean", + "markdownDescription": "Whether the CloudTrail is currently logging AWS API calls.\n\n---\n\nRequired: Yes \nType: Boolean \nUpdate requires: No interruption" } }, - "additionalProperties": false, - "tagging": { - "taggable": true, - "tagOnCreate": true, - "tagUpdatable": true, - "cloudFormationSystemTags": false - }, "attributes": { - "Arn": { + "SnsTopicArn": { "type": "string", "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, - "SnsTopicArn": { + "Arn": { "type": "string", "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" } diff --git a/server/schema/resources/aws-codebuild-fleet.json b/server/schema/resources/aws-codebuild-fleet.json index d26aa206..db8eae18 100644 --- a/server/schema/resources/aws-codebuild-fleet.json +++ b/server/schema/resources/aws-codebuild-fleet.json @@ -33,9 +33,10 @@ "BUILD_GENERAL1_MEDIUM", "BUILD_GENERAL1_LARGE", "BUILD_GENERAL1_XLARGE", - "BUILD_GENERAL1_2XLARGE" + "BUILD_GENERAL1_2XLARGE", + "ATTRIBUTE_BASED_COMPUTE" ], - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: BUILD_GENERAL1_SMALL | BUILD_GENERAL1_MEDIUM | BUILD_GENERAL1_LARGE | BUILD_GENERAL1_XLARGE | BUILD_GENERAL1_2XLARGE \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: BUILD_GENERAL1_SMALL | BUILD_GENERAL1_MEDIUM | BUILD_GENERAL1_LARGE | BUILD_GENERAL1_XLARGE | BUILD_GENERAL1_2XLARGE | ATTRIBUTE_BASED_COMPUTE \nUpdate requires: No interruption" }, "OverflowBehavior": { "type": "string", @@ -52,6 +53,9 @@ "FleetVpcConfig": { "$ref": "#/definitions/VpcConfig" }, + "FleetProxyConfiguration": { + "$ref": "#/definitions/ProxyConfiguration" + }, "Tags": { "type": "array", "insertionOrder": false, @@ -63,6 +67,12 @@ "ImageId": { "type": "string", "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nPattern: ^((aws/codebuild/[A-Za-z-]+:[0-9]+(-[0-9._]+)?)|ami-[a-z0-9]{1,1020})$ \nUpdate requires: No interruption" + }, + "ScalingConfiguration": { + "$ref": "#/definitions/ScalingConfigurationInput" + }, + "ComputeConfiguration": { + "$ref": "#/definitions/ComputeConfiguration" } }, "definitions": { @@ -119,6 +129,132 @@ } }, "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "ProxyConfiguration": { + "type": "object", + "additionalProperties": false, + "properties": { + "DefaultBehavior": { + "type": "string", + "enum": [ + "ALLOW_ALL", + "DENY_ALL" + ], + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: ALLOW_ALL | DENY_ALL \nUpdate requires: No interruption" + }, + "OrderedProxyRules": { + "type": "array", + "insertionOrder": true, + "items": { + "$ref": "#/definitions/FleetProxyRule" + }, + "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + } + }, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "FleetProxyRule": { + "type": "object", + "additionalProperties": false, + "properties": { + "Type": { + "type": "string", + "enum": [ + "DOMAIN", + "IP" + ], + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: DOMAIN | IP \nUpdate requires: No interruption" + }, + "Effect": { + "type": "string", + "enum": [ + "ALLOW", + "DENY" + ], + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: ALLOW | DENY \nUpdate requires: No interruption" + }, + "Entities": { + "type": "array", + "insertionOrder": false, + "items": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + } + }, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "ScalingConfigurationInput": { + "type": "object", + "additionalProperties": false, + "properties": { + "MaxCapacity": { + "type": "integer", + "minimum": 1, + "markdownDescription": "\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" + }, + "ScalingType": { + "type": "string", + "enum": [ + "TARGET_TRACKING_SCALING" + ], + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: TARGET_TRACKING_SCALING \nUpdate requires: No interruption" + }, + "TargetTrackingScalingConfigs": { + "type": "array", + "items": { + "$ref": "#/definitions/TargetTrackingScalingConfiguration" + }, + "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + } + }, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "TargetTrackingScalingConfiguration": { + "type": "object", + "additionalProperties": false, + "properties": { + "MetricType": { + "type": "string", + "enum": [ + "FLEET_UTILIZATION_RATE" + ], + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: FLEET_UTILIZATION_RATE \nUpdate requires: No interruption" + }, + "TargetValue": { + "type": "number", + "markdownDescription": "\n\n---\n\nRequired: No \nType: Number \nUpdate requires: No interruption" + } + }, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "ComputeConfiguration": { + "type": "object", + "additionalProperties": false, + "properties": { + "vCpu": { + "type": "integer", + "markdownDescription": "\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" + }, + "memory": { + "type": "integer", + "markdownDescription": "\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" + }, + "disk": { + "type": "integer", + "markdownDescription": "\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" + }, + "machineType": { + "type": "string", + "enum": [ + "GENERAL", + "NVME" + ], + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: GENERAL | NVME \nUpdate requires: No interruption" + } + }, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" } }, "primaryIdentifier": [ diff --git a/server/schema/resources/aws-codeguruprofiler-profilinggroup.json b/server/schema/resources/aws-codeguruprofiler-profilinggroup.json index 18ae739f..9a21a9c6 100644 --- a/server/schema/resources/aws-codeguruprofiler-profilinggroup.json +++ b/server/schema/resources/aws-codeguruprofiler-profilinggroup.json @@ -133,6 +133,18 @@ "/properties/ProfilingGroupName", "/properties/ComputePlatform" ], + "tagging": { + "taggable": true, + "tagOnCreate": true, + "tagUpdatable": true, + "cloudFormationSystemTags": true, + "tagProperty": "/properties/Tags", + "permissions": [ + "codeguru-profiler:TagResource", + "codeguru-profiler:ListTagsForResource", + "codeguru-profiler:UntagResource" + ] + }, "handlers": { "create": { "permissions": [ @@ -154,6 +166,7 @@ "update": { "permissions": [ "sns:Publish", + "codeguru-profiler:DescribeProfilingGroup", "codeguru-profiler:AddNotificationChannels", "codeguru-profiler:GetNotificationConfiguration", "codeguru-profiler:RemoveNotificationChannel", @@ -173,7 +186,9 @@ "list": { "permissions": [ "codeguru-profiler:ListProfilingGroups", - "codeguru-profiler:ListTagsForResource" + "codeguru-profiler:ListTagsForResource", + "codeguru-profiler:GetNotificationConfiguration", + "codeguru-profiler:GetPolicy" ] } }, diff --git a/server/schema/resources/aws-codepipeline-pipeline.json b/server/schema/resources/aws-codepipeline-pipeline.json index 28171e4b..e03b0c0e 100644 --- a/server/schema/resources/aws-codepipeline-pipeline.json +++ b/server/schema/resources/aws-codepipeline-pipeline.json @@ -81,9 +81,10 @@ "Test", "Deploy", "Invoke", - "Approval" + "Approval", + "Compute" ], - "markdownDescription": "A category defines what kind of action can be taken in the stage, and constrains the provider type for the action. Valid categories are limited to one of the values below.\n\n---\n\nRequired: Yes \nType: String \nAllowed Values: Source | Build | Test | Deploy | Invoke | Approval \nUpdate requires: No interruption" + "markdownDescription": "A category defines what kind of action can be taken in the stage, and constrains the provider type for the action. Valid categories are limited to one of the values below.\n\n---\n\nRequired: Yes \nType: String \nAllowed Values: Source | Build | Test | Deploy | Invoke | Approval | Compute \nUpdate requires: No interruption" }, "Version": { "description": "A string that describes the action version.", @@ -238,6 +239,26 @@ }, "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" }, + "Commands": { + "description": "The shell commands to run with your compute action in CodePipeline.", + "type": "array", + "uniqueItems": false, + "items": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "markdownDescription": "The shell commands to run with your compute action in CodePipeline.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + }, + "OutputVariables": { + "description": "The list of variables that are to be exported from the compute action.", + "type": "array", + "uniqueItems": true, + "items": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "markdownDescription": "The list of variables that are to be exported from the compute action.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + }, "Region": { "description": "The action declaration's AWS Region, such as us-east-1.", "type": "string", @@ -533,6 +554,16 @@ "description": "The name of the output of an artifact, such as \"My App\".", "type": "string", "markdownDescription": "The name of the output of an artifact, such as \"My App\".\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" + }, + "Files": { + "description": "The files that you want to associate with the output artifact that will be exported from the compute action.", + "type": "array", + "uniqueItems": true, + "items": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "markdownDescription": "The files that you want to associate with the output artifact that will be exported from the compute action.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" } }, "required": [ @@ -549,9 +580,27 @@ "type": "string", "description": "The specified result for when the failure conditions are met, such as rolling back the stage", "enum": [ - "ROLLBACK" + "ROLLBACK", + "RETRY" ], - "markdownDescription": "The specified result for when the failure conditions are met, such as rolling back the stage\n\n---\n\nRequired: No \nType: String \nAllowed Values: ROLLBACK \nUpdate requires: No interruption" + "markdownDescription": "The specified result for when the failure conditions are met, such as rolling back the stage\n\n---\n\nRequired: No \nType: String \nAllowed Values: ROLLBACK | RETRY \nUpdate requires: No interruption" + }, + "RetryConfiguration": { + "description": "The configuration that specifies the retry configuration for a stage", + "type": "object", + "additionalProperties": false, + "properties": { + "RetryMode": { + "type": "string", + "description": "The specified retry mode type for the given stage. FAILED_ACTIONS will retry only the failed actions. ALL_ACTIONS will retry both failed and successful", + "enum": [ + "ALL_ACTIONS", + "FAILED_ACTIONS" + ], + "markdownDescription": "The specified retry mode type for the given stage. FAILED_ACTIONS will retry only the failed actions. ALL_ACTIONS will retry both failed and successful\n\n---\n\nRequired: No \nType: String \nAllowed Values: ALL_ACTIONS | FAILED_ACTIONS \nUpdate requires: No interruption" + } + }, + "markdownDescription": "The configuration that specifies the retry configuration for a stage\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, "Conditions": { "type": "array", diff --git a/server/schema/resources/aws-cognito-userpool.json b/server/schema/resources/aws-cognito-userpool.json index f29e1e9d..f258240b 100644 --- a/server/schema/resources/aws-cognito-userpool.json +++ b/server/schema/resources/aws-cognito-userpool.json @@ -1,334 +1,448 @@ { - "typeName": "AWS::Cognito::UserPool", - "description": "Definition of AWS::Cognito::UserPool Resource Type", "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-rpdk.git", "tagging": { - "taggable": true, - "tagOnCreate": true, - "tagUpdatable": true, - "cloudFormationSystemTags": false, - "tagProperty": "/properties/UserPoolTags", "permissions": [ "cognito-idp:ListTagsForResource", "cognito-idp:UntagResource", "cognito-idp:TagResource" - ] + ], + "taggable": true, + "tagOnCreate": true, + "tagUpdatable": true, + "tagProperty": "/properties/UserPoolTags", + "cloudFormationSystemTags": false + }, + "propertyTransform": { + "/properties/Schema/*/Name": "'custom:' & '' & Name" + }, + "handlers": { + "read": { + "permissions": [ + "cognito-idp:DescribeUserPool", + "cognito-idp:GetUserPoolMfaConfig" + ] + }, + "create": { + "permissions": [ + "cognito-idp:CreateUserPool", + "iam:PassRole", + "cognito-idp:SetUserPoolMfaConfig", + "cognito-idp:DescribeUserPool", + "kms:CreateGrant", + "iam:CreateServiceLinkedRole", + "cognito-idp:TagResource" + ], + "timeoutInMinutes": 2 + }, + "update": { + "permissions": [ + "cognito-idp:UpdateUserPool", + "cognito-idp:ListTagsForResource", + "cognito-idp:UntagResource", + "cognito-idp:TagResource", + "cognito-idp:SetUserPoolMfaConfig", + "cognito-idp:AddCustomAttributes", + "cognito-idp:DescribeUserPool", + "cognito-idp:GetUserPoolMfaConfig", + "iam:PassRole" + ], + "timeoutInMinutes": 2 + }, + "list": { + "permissions": [ + "cognito-idp:ListUserPools" + ] + }, + "delete": { + "permissions": [ + "cognito-idp:DeleteUserPool" + ], + "timeoutInMinutes": 2 + } }, + "typeName": "AWS::Cognito::UserPool", + "readOnlyProperties": [ + "/properties/ProviderName", + "/properties/UserPoolId", + "/properties/ProviderURL", + "/properties/Arn" + ], + "description": "Definition of AWS::Cognito::UserPool Resource Type", + "writeOnlyProperties": [ + "/properties/EnabledMfas" + ], + "additionalProperties": false, + "primaryIdentifier": [ + "/properties/UserPoolId" + ], "definitions": { - "PasswordPolicy": { + "Policies": { + "additionalProperties": false, "type": "object", "properties": { - "MinimumLength": { - "type": "integer", - "markdownDescription": "\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" - }, - "RequireLowercase": { - "type": "boolean", - "markdownDescription": "\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" - }, - "RequireNumbers": { - "type": "boolean", - "markdownDescription": "\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" - }, - "RequireSymbols": { - "type": "boolean", - "markdownDescription": "\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" - }, - "RequireUppercase": { - "type": "boolean", - "markdownDescription": "\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" - }, - "TemporaryPasswordValidityDays": { - "type": "integer", - "markdownDescription": "\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" - }, - "PasswordHistorySize": { - "type": "integer", - "markdownDescription": "\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" + "PasswordPolicy": { + "$ref": "#/definitions/PasswordPolicy" } }, - "additionalProperties": false, "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, - "Policies": { + "VerificationMessageTemplate": { + "additionalProperties": false, "type": "object", "properties": { - "PasswordPolicy": { - "$ref": "#/definitions/PasswordPolicy" + "EmailMessageByLink": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "EmailMessage": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "SmsMessage": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "EmailSubject": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "DefaultEmailOption": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "EmailSubjectByLink": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" } }, - "additionalProperties": false, "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, "InviteMessageTemplate": { + "additionalProperties": false, "type": "object", "properties": { "EmailMessage": { "type": "string", "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, - "EmailSubject": { + "SMSMessage": { "type": "string", "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, - "SMSMessage": { + "EmailSubject": { "type": "string", "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" } }, - "additionalProperties": false, "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, - "RecoveryOption": { + "NumberAttributeConstraints": { + "additionalProperties": false, "type": "object", "properties": { - "Name": { + "MinValue": { "type": "string", "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, - "Priority": { - "type": "integer", - "markdownDescription": "\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" + "MaxValue": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" } }, - "additionalProperties": false, "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, - "AccountRecoverySetting": { + "AdvancedSecurityAdditionalFlows": { + "additionalProperties": false, "type": "object", "properties": { - "RecoveryMechanisms": { - "type": "array", - "items": { - "$ref": "#/definitions/RecoveryOption" - }, - "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + "CustomAuthMode": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" } }, - "additionalProperties": false, "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, "AdminCreateUserConfig": { + "additionalProperties": false, "type": "object", "properties": { - "AllowAdminCreateUserOnly": { - "type": "boolean", - "markdownDescription": "\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" - }, "InviteMessageTemplate": { "$ref": "#/definitions/InviteMessageTemplate" }, "UnusedAccountValidityDays": { "type": "integer", "markdownDescription": "\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" + }, + "AllowAdminCreateUserOnly": { + "type": "boolean", + "markdownDescription": "\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" } }, - "additionalProperties": false, "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, - "DeviceConfiguration": { + "UsernameConfiguration": { + "additionalProperties": false, "type": "object", "properties": { - "ChallengeRequiredOnNewDevice": { - "type": "boolean", - "markdownDescription": "\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" - }, - "DeviceOnlyRememberedOnUserPrompt": { + "CaseSensitive": { "type": "boolean", "markdownDescription": "\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" } }, - "additionalProperties": false, "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, - "EmailConfiguration": { + "UserPoolAddOns": { + "additionalProperties": false, "type": "object", "properties": { - "ReplyToEmailAddress": { - "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" - }, - "SourceArn": { - "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" - }, - "From": { - "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" - }, - "ConfigurationSet": { - "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "AdvancedSecurityAdditionalFlows": { + "$ref": "#/definitions/AdvancedSecurityAdditionalFlows" }, - "EmailSendingAccount": { + "AdvancedSecurityMode": { "type": "string", "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" } }, - "additionalProperties": false, "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, - "CustomEmailSender": { + "RecoveryOption": { + "additionalProperties": false, "type": "object", "properties": { - "LambdaVersion": { - "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "Priority": { + "type": "integer", + "markdownDescription": "\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" }, - "LambdaArn": { + "Name": { "type": "string", "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" } }, - "additionalProperties": false, "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, - "CustomSMSSender": { + "StringAttributeConstraints": { + "additionalProperties": false, "type": "object", "properties": { - "LambdaVersion": { + "MinLength": { "type": "string", "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, - "LambdaArn": { + "MaxLength": { "type": "string", "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" } }, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "UserAttributeUpdateSettings": { "additionalProperties": false, + "type": "object", + "properties": { + "AttributesRequireVerificationBeforeUpdate": { + "type": "array", + "items": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: Array \nUpdate requires: No interruption" + } + }, + "required": [ + "AttributesRequireVerificationBeforeUpdate" + ], "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, - "PreTokenGenerationConfig": { + "CustomSMSSender": { + "additionalProperties": false, "type": "object", "properties": { - "LambdaVersion": { + "LambdaArn": { "type": "string", "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, - "LambdaArn": { + "LambdaVersion": { "type": "string", "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" } }, - "additionalProperties": false, "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, - "LambdaConfig": { + "EmailConfiguration": { + "additionalProperties": false, "type": "object", "properties": { - "CreateAuthChallenge": { + "ReplyToEmailAddress": { "type": "string", "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, - "CustomMessage": { + "ConfigurationSet": { "type": "string", "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, - "DefineAuthChallenge": { + "EmailSendingAccount": { "type": "string", "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, - "PostAuthentication": { + "SourceArn": { "type": "string", "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, - "PostConfirmation": { + "From": { "type": "string", "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" - }, - "PreAuthentication": { + } + }, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "SmsConfiguration": { + "additionalProperties": false, + "type": "object", + "properties": { + "SnsRegion": { "type": "string", "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, - "PreSignUp": { + "ExternalId": { "type": "string", "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, - "VerifyAuthChallengeResponse": { + "SnsCallerArn": { "type": "string", "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + } + }, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "PasswordPolicy": { + "additionalProperties": false, + "type": "object", + "properties": { + "RequireNumbers": { + "type": "boolean", + "markdownDescription": "\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" }, - "UserMigration": { - "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "MinimumLength": { + "type": "integer", + "markdownDescription": "\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" }, - "PreTokenGeneration": { - "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "TemporaryPasswordValidityDays": { + "type": "integer", + "markdownDescription": "\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" }, - "CustomEmailSender": { - "$ref": "#/definitions/CustomEmailSender" + "RequireUppercase": { + "type": "boolean", + "markdownDescription": "\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" }, - "CustomSMSSender": { - "$ref": "#/definitions/CustomSMSSender" + "RequireLowercase": { + "type": "boolean", + "markdownDescription": "\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" }, - "KMSKeyID": { - "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "RequireSymbols": { + "type": "boolean", + "markdownDescription": "\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" }, - "PreTokenGenerationConfig": { - "$ref": "#/definitions/PreTokenGenerationConfig" + "PasswordHistorySize": { + "type": "integer", + "markdownDescription": "\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" } }, - "additionalProperties": false, "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, - "SmsConfiguration": { + "PreTokenGenerationConfig": { + "additionalProperties": false, "type": "object", "properties": { - "ExternalId": { - "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" - }, - "SnsCallerArn": { + "LambdaArn": { "type": "string", "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, - "SnsRegion": { + "LambdaVersion": { "type": "string", "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" } }, - "additionalProperties": false, "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, - "StringAttributeConstraints": { + "CustomEmailSender": { + "additionalProperties": false, "type": "object", "properties": { - "MaxLength": { + "LambdaArn": { "type": "string", "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, - "MinLength": { + "LambdaVersion": { "type": "string", "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" } }, - "additionalProperties": false, "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, - "NumberAttributeConstraints": { + "LambdaConfig": { + "additionalProperties": false, "type": "object", "properties": { - "MaxValue": { + "CreateAuthChallenge": { "type": "string", "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, - "MinValue": { + "PreSignUp": { "type": "string", "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "KMSKeyID": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "UserMigration": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "PostAuthentication": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "VerifyAuthChallengeResponse": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "PreAuthentication": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "DefineAuthChallenge": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "PreTokenGeneration": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "CustomSMSSender": { + "$ref": "#/definitions/CustomSMSSender" + }, + "PostConfirmation": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "CustomMessage": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "PreTokenGenerationConfig": { + "$ref": "#/definitions/PreTokenGenerationConfig" + }, + "CustomEmailSender": { + "$ref": "#/definitions/CustomEmailSender" } }, - "additionalProperties": false, "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, "SchemaAttribute": { + "additionalProperties": false, "type": "object", "properties": { - "AttributeDataType": { - "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" - }, "DeveloperOnlyAttribute": { "type": "boolean", "markdownDescription": "\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" @@ -337,319 +451,206 @@ "type": "boolean", "markdownDescription": "\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" }, - "Name": { + "AttributeDataType": { "type": "string", "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, - "NumberAttributeConstraints": { - "$ref": "#/definitions/NumberAttributeConstraints" - }, "StringAttributeConstraints": { "$ref": "#/definitions/StringAttributeConstraints" }, "Required": { "type": "boolean", "markdownDescription": "\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" + }, + "NumberAttributeConstraints": { + "$ref": "#/definitions/NumberAttributeConstraints" + }, + "Name": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" } }, - "additionalProperties": false, "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, - "UsernameConfiguration": { + "DeviceConfiguration": { + "additionalProperties": false, "type": "object", "properties": { - "CaseSensitive": { + "DeviceOnlyRememberedOnUserPrompt": { + "type": "boolean", + "markdownDescription": "\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" + }, + "ChallengeRequiredOnNewDevice": { "type": "boolean", "markdownDescription": "\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" } }, - "additionalProperties": false, "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, - "UserAttributeUpdateSettings": { + "AccountRecoverySetting": { + "additionalProperties": false, "type": "object", "properties": { - "AttributesRequireVerificationBeforeUpdate": { + "RecoveryMechanisms": { "type": "array", "items": { - "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "$ref": "#/definitions/RecoveryOption" }, - "markdownDescription": "\n\n---\n\nRequired: Yes \nType: Array \nUpdate requires: No interruption" - } - }, - "required": [ - "AttributesRequireVerificationBeforeUpdate" - ], - "additionalProperties": false, - "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" - }, - "VerificationMessageTemplate": { - "type": "object", - "properties": { - "DefaultEmailOption": { - "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" - }, - "EmailMessage": { - "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" - }, - "EmailMessageByLink": { - "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" - }, - "EmailSubject": { - "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" - }, - "EmailSubjectByLink": { - "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" - }, - "SmsMessage": { - "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" } }, - "additionalProperties": false, "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" - }, - "AdvancedSecurityAdditionalFlows": { - "type": "object", - "properties": { - "CustomAuthMode": { + } + }, + "properties": { + "UserPoolTags": { + "patternProperties": { + ".*": { "type": "string", "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" } }, "additionalProperties": false, - "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" - }, - "UserPoolAddOns": { "type": "object", - "properties": { - "AdvancedSecurityMode": { - "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" - }, - "AdvancedSecurityAdditionalFlows": { - "$ref": "#/definitions/AdvancedSecurityAdditionalFlows" - } - }, - "additionalProperties": false, "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" - } - }, - "properties": { - "UserPoolName": { - "type": "string", - "minLength": 1, - "maxLength": 128, - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 128 \nUpdate requires: No interruption" }, "Policies": { "$ref": "#/definitions/Policies" }, - "AccountRecoverySetting": { - "$ref": "#/definitions/AccountRecoverySetting" - }, - "AdminCreateUserConfig": { - "$ref": "#/definitions/AdminCreateUserConfig" - }, - "AliasAttributes": { + "Schema": { "type": "array", "items": { - "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "$ref": "#/definitions/SchemaAttribute" }, "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" }, - "UsernameAttributes": { - "type": "array", - "items": { - "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" - }, - "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + "AdminCreateUserConfig": { + "$ref": "#/definitions/AdminCreateUserConfig" }, - "AutoVerifiedAttributes": { - "type": "array", - "items": { - "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" - }, - "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + "UsernameConfiguration": { + "$ref": "#/definitions/UsernameConfiguration" }, - "DeviceConfiguration": { - "$ref": "#/definitions/DeviceConfiguration" + "UserPoolName": { + "minLength": 1, + "type": "string", + "maxLength": 128, + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 128 \nUpdate requires: No interruption" + }, + "SmsVerificationMessage": { + "minLength": 6, + "type": "string", + "maxLength": 140, + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMinimum Length: 6 \nMaximum Length: 140 \nUpdate requires: No interruption" + }, + "UserAttributeUpdateSettings": { + "$ref": "#/definitions/UserAttributeUpdateSettings" }, "EmailConfiguration": { "$ref": "#/definitions/EmailConfiguration" }, - "EmailVerificationMessage": { - "type": "string", - "minLength": 6, - "maxLength": 20000, - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMinimum Length: 6 \nMaximum Length: 20000 \nUpdate requires: No interruption" + "SmsConfiguration": { + "$ref": "#/definitions/SmsConfiguration" }, "EmailVerificationSubject": { - "type": "string", "minLength": 1, + "type": "string", "maxLength": 140, "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 140 \nUpdate requires: No interruption" }, - "DeletionProtection": { + "EmailAuthenticationSubject": { + "minLength": 1, "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "maxLength": 140, + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 140 \nUpdate requires: No interruption" }, - "LambdaConfig": { - "$ref": "#/definitions/LambdaConfig" + "AccountRecoverySetting": { + "$ref": "#/definitions/AccountRecoverySetting" + }, + "VerificationMessageTemplate": { + "$ref": "#/definitions/VerificationMessageTemplate" }, "MfaConfiguration": { "type": "string", "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, - "EnabledMfas": { - "type": "array", - "items": { - "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" - }, - "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + "DeletionProtection": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, "SmsAuthenticationMessage": { - "type": "string", "minLength": 6, + "type": "string", "maxLength": 140, "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMinimum Length: 6 \nMaximum Length: 140 \nUpdate requires: No interruption" }, + "UserPoolAddOns": { + "$ref": "#/definitions/UserPoolAddOns" + }, "EmailAuthenticationMessage": { - "type": "string", "minLength": 6, + "type": "string", "maxLength": 20000, "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMinimum Length: 6 \nMaximum Length: 20000 \nUpdate requires: No interruption" }, - "EmailAuthenticationSubject": { - "type": "string", - "minLength": 1, - "maxLength": 140, - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 140 \nUpdate requires: No interruption" - }, - "SmsConfiguration": { - "$ref": "#/definitions/SmsConfiguration" - }, - "SmsVerificationMessage": { - "type": "string", - "minLength": 6, - "maxLength": 140, - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMinimum Length: 6 \nMaximum Length: 140 \nUpdate requires: No interruption" - }, - "Schema": { + "AliasAttributes": { "type": "array", "items": { - "$ref": "#/definitions/SchemaAttribute" + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" }, - "UsernameConfiguration": { - "$ref": "#/definitions/UsernameConfiguration" - }, - "UserAttributeUpdateSettings": { - "$ref": "#/definitions/UserAttributeUpdateSettings" - }, - "UserPoolTags": { - "type": "object", - "patternProperties": { - ".*": { - "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" - } + "EnabledMfas": { + "type": "array", + "items": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, - "additionalProperties": false, - "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" - }, - "VerificationMessageTemplate": { - "$ref": "#/definitions/VerificationMessageTemplate" + "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" }, - "UserPoolAddOns": { - "$ref": "#/definitions/UserPoolAddOns" - } - }, - "additionalProperties": false, - "primaryIdentifier": [ - "/properties/UserPoolId" - ], - "readOnlyProperties": [ - "/properties/ProviderName", - "/properties/UserPoolId", - "/properties/ProviderURL", - "/properties/Arn" - ], - "writeOnlyProperties": [ - "/properties/EnabledMfas" - ], - "propertyTransform": { - "/properties/Schema/*/Name": "'custom:' & '' & Name" - }, - "handlers": { - "create": { - "permissions": [ - "cognito-idp:CreateUserPool", - "iam:PassRole", - "cognito-idp:SetUserPoolMfaConfig", - "cognito-idp:DescribeUserPool", - "kms:CreateGrant", - "iam:CreateServiceLinkedRole" - ], - "timeoutInMinutes": 2 + "LambdaConfig": { + "$ref": "#/definitions/LambdaConfig" }, - "read": { - "permissions": [ - "cognito-idp:DescribeUserPool", - "cognito-idp:GetUserPoolMfaConfig" - ] + "UsernameAttributes": { + "type": "array", + "items": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" }, - "update": { - "permissions": [ - "cognito-idp:UpdateUserPool", - "cognito-idp:ListTagsForResource", - "cognito-idp:UntagResource", - "cognito-idp:TagResource", - "cognito-idp:SetUserPoolMfaConfig", - "cognito-idp:AddCustomAttributes", - "cognito-idp:DescribeUserPool", - "cognito-idp:GetUserPoolMfaConfig", - "iam:PassRole" - ], - "timeoutInMinutes": 2 + "AutoVerifiedAttributes": { + "type": "array", + "items": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" }, - "delete": { - "permissions": [ - "cognito-idp:DeleteUserPool" - ], - "timeoutInMinutes": 2 + "DeviceConfiguration": { + "$ref": "#/definitions/DeviceConfiguration" }, - "list": { - "permissions": [ - "cognito-idp:ListUserPools" - ] + "EmailVerificationMessage": { + "minLength": 6, + "type": "string", + "maxLength": 20000, + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMinimum Length: 6 \nMaximum Length: 20000 \nUpdate requires: No interruption" } }, "attributes": { - "ProviderName": { + "ProviderURL": { "type": "string", "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, - "ProviderURL": { + "ProviderName": { "type": "string", "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, - "Arn": { + "UserPoolId": { "type": "string", "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, - "UserPoolId": { + "Arn": { "type": "string", "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" } diff --git a/server/schema/resources/aws-cognito-userpoolidentityprovider.json b/server/schema/resources/aws-cognito-userpoolidentityprovider.json index 56410277..7be0c9fa 100644 --- a/server/schema/resources/aws-cognito-userpoolidentityprovider.json +++ b/server/schema/resources/aws-cognito-userpoolidentityprovider.json @@ -1,42 +1,63 @@ { "typeName": "AWS::Cognito::UserPoolIdentityProvider", "description": "Resource Type definition for AWS::Cognito::UserPoolIdentityProvider", - "additionalProperties": false, + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-rpdk.git", + "tagging": { + "taggable": false, + "tagOnCreate": false, + "tagUpdatable": false, + "cloudFormationSystemTags": false + }, "properties": { - "ProviderName": { + "UserPoolId": { "type": "string", "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: Replacement" }, - "UserPoolId": { + "ProviderName": { "type": "string", "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: Replacement" }, - "AttributeMapping": { - "type": "object", - "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" - }, - "ProviderDetails": { - "type": "object", - "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" - }, "ProviderType": { "type": "string", "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: Replacement" }, + "ProviderDetails": { + "type": "object", + "patternProperties": { + ".*": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + } + }, + "additionalProperties": false, + "markdownDescription": "\n\n---\n\nRequired: Yes \nUpdate requires: No interruption" + }, "IdpIdentifiers": { "type": "array", - "uniqueItems": false, "items": { "type": "string", "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + }, + "AttributeMapping": { + "type": "object", + "patternProperties": { + ".*": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + } + }, + "additionalProperties": false, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" } }, + "additionalProperties": false, "required": [ - "ProviderName", "UserPoolId", - "ProviderType" + "ProviderName", + "ProviderType", + "ProviderDetails" ], "createOnlyProperties": [ "/properties/UserPoolId", @@ -44,15 +65,51 @@ "/properties/ProviderType" ], "primaryIdentifier": [ - "/properties/Id" - ], - "readOnlyProperties": [ - "/properties/Id" + "/properties/UserPoolId", + "/properties/ProviderName" ], - "attributes": { - "Id": { - "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "handlers": { + "create": { + "permissions": [ + "cognito-idp:CreateIdentityProvider", + "cognito-idp:DescribeIdentityProvider" + ], + "timeoutInMinutes": 2 + }, + "read": { + "permissions": [ + "cognito-idp:DescribeIdentityProvider" + ] + }, + "update": { + "permissions": [ + "cognito-idp:UpdateIdentityProvider", + "cognito-idp:DescribeIdentityProvider" + ], + "timeoutInMinutes": 2 + }, + "delete": { + "permissions": [ + "cognito-idp:DeleteIdentityProvider", + "cognito-idp:DescribeIdentityProvider" + ], + "timeoutInMinutes": 2 + }, + "list": { + "handlerSchema": { + "properties": { + "UserPoolId": { + "$ref": "resource-schema.json#/properties/UserPoolId" + } + }, + "required": [ + "UserPoolId" + ] + }, + "permissions": [ + "cognito-idp:ListIdentityProviders" + ] } - } + }, + "attributes": {} } \ No newline at end of file diff --git a/server/schema/resources/aws-connect-contactflow.json b/server/schema/resources/aws-connect-contactflow.json index 4dd26bf2..d61d2f16 100644 --- a/server/schema/resources/aws-connect-contactflow.json +++ b/server/schema/resources/aws-connect-contactflow.json @@ -78,9 +78,10 @@ "AGENT_WHISPER", "OUTBOUND_WHISPER", "AGENT_TRANSFER", - "QUEUE_TRANSFER" + "QUEUE_TRANSFER", + "CAMPAIGN" ], - "markdownDescription": "The type of the contact flow.\n\n---\n\nRequired: Yes \nType: String \nAllowed Values: CONTACT_FLOW | CUSTOMER_QUEUE | CUSTOMER_HOLD | CUSTOMER_WHISPER | AGENT_HOLD | AGENT_WHISPER | OUTBOUND_WHISPER | AGENT_TRANSFER | QUEUE_TRANSFER \nUpdate requires: Replacement" + "markdownDescription": "The type of the contact flow.\n\n---\n\nRequired: Yes \nType: String \nAllowed Values: CONTACT_FLOW | CUSTOMER_QUEUE | CUSTOMER_HOLD | CUSTOMER_WHISPER | AGENT_HOLD | AGENT_WHISPER | OUTBOUND_WHISPER | AGENT_TRANSFER | QUEUE_TRANSFER | CAMPAIGN \nUpdate requires: Replacement" }, "Tags": { "description": "One or more tags.", @@ -105,7 +106,12 @@ "tagOnCreate": true, "tagUpdatable": true, "cloudFormationSystemTags": true, - "tagProperty": "/properties/Tags" + "tagProperty": "/properties/Tags", + "permissions": [ + "connect:ListTagsForResource", + "connect:UntagResource", + "connect:TagResource" + ] }, "handlers": { "create": { diff --git a/server/schema/resources/aws-connect-contactflowmodule.json b/server/schema/resources/aws-connect-contactflowmodule.json index 0a291832..2e374b3d 100644 --- a/server/schema/resources/aws-connect-contactflowmodule.json +++ b/server/schema/resources/aws-connect-contactflowmodule.json @@ -86,7 +86,12 @@ "tagOnCreate": true, "tagUpdatable": true, "cloudFormationSystemTags": true, - "tagProperty": "/properties/Tags" + "tagProperty": "/properties/Tags", + "permissions": [ + "connect:ListTagsForResource", + "connect:UntagResource", + "connect:TagResource" + ] }, "handlers": { "create": { diff --git a/server/schema/resources/aws-connect-emailaddress.json b/server/schema/resources/aws-connect-emailaddress.json new file mode 100644 index 00000000..b999d291 --- /dev/null +++ b/server/schema/resources/aws-connect-emailaddress.json @@ -0,0 +1,155 @@ +{ + "typeName": "AWS::Connect::EmailAddress", + "description": "Resource Type definition for AWS::Connect::EmailAddress", + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-connect", + "definitions": { + "Tag": { + "description": "A key-value pair to associate with a resource.", + "type": "object", + "properties": { + "Key": { + "type": "string", + "description": "The key name of the tag. You can specify a value that is 1 to 128 Unicode characters in length and cannot be prefixed with aws:. You can use any of the following characters: the set of Unicode letters, digits, whitespace, _, ., /, =, +, and -.", + "minLength": 1, + "maxLength": 128, + "markdownDescription": "The key name of the tag. You can specify a value that is 1 to 128 Unicode characters in length and cannot be prefixed with aws:. You can use any of the following characters: the set of Unicode letters, digits, whitespace, _, ., /, =, +, and -.\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 128 \nUpdate requires: No interruption" + }, + "Value": { + "type": "string", + "description": "The value for the tag. You can specify a value that is 0 to 256 Unicode characters in length and cannot be prefixed with aws:. You can use any of the following characters: the set of Unicode letters, digits, whitespace, _, ., /, =, +, and -.", + "maxLength": 256, + "markdownDescription": "The value for the tag. You can specify a value that is 0 to 256 Unicode characters in length and cannot be prefixed with aws:. You can use any of the following characters: the set of Unicode letters, digits, whitespace, _, ., /, =, +, and -.\n\n---\n\nRequired: Yes \nType: String \nMaximum Length: 256 \nUpdate requires: No interruption" + } + }, + "required": [ + "Key", + "Value" + ], + "additionalProperties": false, + "markdownDescription": "A key-value pair to associate with a resource.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + } + }, + "properties": { + "InstanceArn": { + "description": "The identifier of the Amazon Connect instance.", + "type": "string", + "minLength": 1, + "maxLength": 250, + "markdownDescription": "The identifier of the Amazon Connect instance.\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 250 \nPattern: ^arn:(aws|aws-us-gov):connect:[a-z]{2}-[a-z]+-[0-9]{1}:[0-9]{1,20}:instance/[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$ \nUpdate requires: No interruption" + }, + "Description": { + "description": "A description for the email address.", + "type": "string", + "minLength": 1, + "maxLength": 250, + "markdownDescription": "A description for the email address.\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 250 \nPattern: (^[\\S].*[\\S]$)|(^[\\S]$) \nUpdate requires: No interruption" + }, + "EmailAddress": { + "description": "Email address to be created for this instance", + "type": "string", + "minLength": 1, + "maxLength": 255, + "markdownDescription": "Email address to be created for this instance\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 255 \nPattern: ([^\\s@]+@[^\\s@]+\\.[^\\s@]+) \nUpdate requires: Replacement" + }, + "DisplayName": { + "description": "The display name for the email address.", + "type": "string", + "minLength": 0, + "maxLength": 256, + "markdownDescription": "The display name for the email address.\n\n---\n\nRequired: No \nType: String \nMaximum Length: 256 \nPattern: (^[\\S].*[\\S]$)|(^[\\S]$) \nUpdate requires: No interruption" + }, + "Tags": { + "type": "array", + "maxItems": 50, + "uniqueItems": true, + "insertionOrder": false, + "description": "One or more tags.", + "items": { + "$ref": "#/definitions/Tag" + }, + "markdownDescription": "One or more tags.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + } + }, + "tagging": { + "taggable": true, + "tagOnCreate": true, + "tagUpdatable": true, + "cloudFormationSystemTags": true, + "tagProperty": "/properties/Tags", + "permissions": [ + "connect:TagResource", + "connect:UntagResource" + ] + }, + "additionalProperties": false, + "required": [ + "InstanceArn", + "EmailAddress" + ], + "readOnlyProperties": [ + "/properties/EmailAddressArn" + ], + "createOnlyProperties": [ + "/properties/EmailAddress" + ], + "primaryIdentifier": [ + "/properties/EmailAddressArn" + ], + "handlers": { + "create": { + "permissions": [ + "connect:CreateEmailAddress", + "connect:TagResource", + "connect:ListIntegrationAssociations", + "ses:GetEmailIdentity", + "ses:DescribeReceiptRule", + "ses:UpdateReceiptRule", + "iam:PassRole" + ] + }, + "read": { + "permissions": [ + "connect:DescribeEmailAddress" + ] + }, + "update": { + "permissions": [ + "connect:UpdateEmailAddressMetadata", + "connect:TagResource", + "connect:UntagResource" + ] + }, + "delete": { + "permissions": [ + "connect:DeleteEmailAddress", + "connect:UntagResource", + "iam:PassRole", + "ses:DescribeReceiptRule", + "ses:UpdateReceiptRule" + ] + }, + "list": { + "handlerSchema": { + "properties": { + "InstanceArn": { + "$ref": "resource-schema.json#/properties/InstanceArn" + } + }, + "required": [ + "InstanceArn" + ] + }, + "permissions": [ + "connect:DescribeEmailAddress", + "connect:SearchEmailAddresses" + ] + } + }, + "attributes": { + "EmailAddressArn": { + "description": "The identifier of the email address.", + "type": "string", + "markdownDescription": "The identifier of the email address.\n\n---\n\nRequired: No \nType: String \nPattern: ^arn:(aws|aws-us-gov):connect:[a-z]{2}-[a-z]+-[0-9]{1}:[0-9]{1,20}:instance/[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}/email-address/[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$ \nUpdate requires: No interruption" + } + } +} \ No newline at end of file diff --git a/server/schema/resources/aws-connect-evaluationform.json b/server/schema/resources/aws-connect-evaluationform.json index 6a82ebbc..cbd64f84 100644 --- a/server/schema/resources/aws-connect-evaluationform.json +++ b/server/schema/resources/aws-connect-evaluationform.json @@ -566,7 +566,12 @@ "tagOnCreate": false, "tagUpdatable": true, "cloudFormationSystemTags": true, - "tagProperty": "/properties/Tags" + "tagProperty": "/properties/Tags", + "permissions": [ + "connect:ListTagsForResource", + "connect:UntagResource", + "connect:TagResource" + ] }, "handlers": { "create": { diff --git a/server/schema/resources/aws-connect-hoursofoperation.json b/server/schema/resources/aws-connect-hoursofoperation.json index f681a6f1..85368c2d 100644 --- a/server/schema/resources/aws-connect-hoursofoperation.json +++ b/server/schema/resources/aws-connect-hoursofoperation.json @@ -31,6 +31,7 @@ "connect:CreateHoursOfOperationOverride", "connect:UpdateHoursOfOperationOverride", "connect:DeleteHoursOfOperationOverride", + "connect:ListHoursOfOperationOverrides", "connect:TagResource", "connect:UntagResource" ] diff --git a/server/schema/resources/aws-connect-viewversion.json b/server/schema/resources/aws-connect-viewversion.json index 299c5b11..aeb815cf 100644 --- a/server/schema/resources/aws-connect-viewversion.json +++ b/server/schema/resources/aws-connect-viewversion.json @@ -21,7 +21,7 @@ "type": "string", "minLength": 1, "maxLength": 4096, - "markdownDescription": "The description for the view version.\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 4096 \nPattern: ^([\\p{L}\\p{N}_.:\\/=+\\-@,]+[\\p{L}\\p{Z}\\p{N}_.:\\/=+\\-@,]*)$ \nUpdate requires: Replacement" + "markdownDescription": "The description for the view version.\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 4096 \nPattern: ^([\\p{L}\\p{N}_.:\\/=+\\-@,]+[\\p{L}\\p{Z}\\p{N}_.:\\/=+\\-@,]*)$ \nUpdate requires: No interruption" }, "ViewContentSha256": { "description": "The view content hash to be checked.", @@ -82,7 +82,6 @@ ], "createOnlyProperties": [ "/properties/ViewArn", - "/properties/VersionDescription", "/properties/ViewContentSha256" ], "attributes": { diff --git a/server/schema/resources/aws-connectcampaignsv2-campaign.json b/server/schema/resources/aws-connectcampaignsv2-campaign.json new file mode 100644 index 00000000..a0da65b5 --- /dev/null +++ b/server/schema/resources/aws-connectcampaignsv2-campaign.json @@ -0,0 +1,839 @@ +{ + "typeName": "AWS::ConnectCampaignsV2::Campaign", + "description": "Definition of AWS::ConnectCampaignsV2::Campaign Resource Type", + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-connect-campaigns", + "definitions": { + "CampaignName": { + "type": "string", + "maxLength": 127, + "minLength": 1, + "description": "Campaign name", + "markdownDescription": "Campaign name\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 127 \nUpdate requires: No interruption" + }, + "InstanceId": { + "type": "string", + "maxLength": 256, + "minLength": 0, + "description": "Amazon Connect Instance Id", + "markdownDescription": "Amazon Connect Instance Id\n\n---\n\nRequired: No \nType: String \nMaximum Length: 256 \nPattern: ^[a-zA-Z0-9_\\-.]*$ \nUpdate requires: No interruption" + }, + "Capacity": { + "type": "number", + "maximum": 1, + "minimum": 0.01, + "description": "Allocates outbound capacity for the specific channel of this campaign between multiple active campaigns", + "markdownDescription": "Allocates outbound capacity for the specific channel of this campaign between multiple active campaigns\n\n---\n\nRequired: No \nType: Number \nUpdate requires: No interruption" + }, + "QueueId": { + "type": "string", + "maxLength": 500, + "description": "The queue for the call", + "markdownDescription": "The queue for the call\n\n---\n\nRequired: No \nType: String \nMaximum Length: 500 \nUpdate requires: No interruption" + }, + "ContactFlowId": { + "type": "string", + "maxLength": 500, + "description": "The identifier of the contact flow for the outbound call", + "markdownDescription": "The identifier of the contact flow for the outbound call\n\n---\n\nRequired: No \nType: String \nMaximum Length: 500 \nUpdate requires: No interruption" + }, + "SourcePhoneNumber": { + "type": "string", + "maxLength": 100, + "description": "The phone number associated with the Amazon Connect instance, in E.164 format. If you do not specify a source phone number, you must specify a queue.", + "markdownDescription": "The phone number associated with the Amazon Connect instance, in E.164 format. If you do not specify a source phone number, you must specify a queue.\n\n---\n\nRequired: No \nType: String \nMaximum Length: 100 \nUpdate requires: No interruption" + }, + "Arn": { + "type": "string", + "maxLength": 500, + "minLength": 20, + "description": "Arn", + "markdownDescription": "Arn\n\n---\n\nRequired: No \nType: String \nMinimum Length: 20 \nMaximum Length: 500 \nPattern: ^arn:.*$ \nUpdate requires: No interruption" + }, + "EmailAddress": { + "type": "string", + "maxLength": 255, + "minLength": 1, + "description": "Email address used for Email messages", + "markdownDescription": "Email address used for Email messages\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 255 \nPattern: ^[\\w-\\.\\+]+@([\\w-]+\\.)+[\\w-]{2,4}$ \nUpdate requires: No interruption" + }, + "SourceEmailAddressDisplayName": { + "type": "string", + "maxLength": 127, + "minLength": 1, + "description": "The name of the source email address display name", + "markdownDescription": "The name of the source email address display name\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 127 \nUpdate requires: No interruption" + }, + "BandwidthAllocation": { + "type": "number", + "maximum": 1, + "minimum": 0, + "description": "The bandwidth allocation of a queue resource.", + "markdownDescription": "The bandwidth allocation of a queue resource.\n\n---\n\nRequired: No \nType: Number \nUpdate requires: No interruption" + }, + "TimeStamp": { + "type": "string", + "description": "Timestamp with no UTC offset or timezone", + "maxLength": 100, + "markdownDescription": "Timestamp with no UTC offset or timezone\n\n---\n\nRequired: No \nType: String \nMaximum Length: 100 \nUpdate requires: No interruption" + }, + "TimeZone": { + "type": "string", + "description": "Time Zone Id in the IANA format", + "markdownDescription": "Time Zone Id in the IANA format\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "Iso8601Duration": { + "type": "string", + "description": "Time duration in ISO 8601 format", + "maxLength": 50, + "minLength": 0, + "markdownDescription": "Time duration in ISO 8601 format\n\n---\n\nRequired: No \nType: String \nMaximum Length: 50 \nPattern: ^[a-zA-Z0-9.]*$ \nUpdate requires: No interruption" + }, + "Iso8601Date": { + "type": "string", + "description": "Date in ISO 8601 format, e.g. 2024-01-01", + "markdownDescription": "Date in ISO 8601 format, e.g. 2024-01-01\n\n---\n\nRequired: No \nType: String \nPattern: ^\\d{4}-\\d{2}-\\d{2}$ \nUpdate requires: No interruption" + }, + "Iso8601Time": { + "type": "string", + "description": "Time in ISO 8601 format, e.g. T23:11", + "markdownDescription": "Time in ISO 8601 format, e.g. T23:11\n\n---\n\nRequired: No \nType: String \nPattern: ^T\\d{2}:\\d{2}$ \nUpdate requires: No interruption" + }, + "DayOfWeek": { + "type": "string", + "description": "Day of week", + "enum": [ + "MONDAY", + "TUESDAY", + "WEDNESDAY", + "THURSDAY", + "FRIDAY", + "SATURDAY", + "SUNDAY" + ], + "markdownDescription": "Day of week\n\n---\n\nRequired: No \nType: String \nAllowed Values: MONDAY | TUESDAY | WEDNESDAY | THURSDAY | FRIDAY | SATURDAY | SUNDAY \nUpdate requires: No interruption" + }, + "PredictiveConfig": { + "type": "object", + "description": "Predictive config", + "properties": { + "BandwidthAllocation": { + "$ref": "#/definitions/BandwidthAllocation" + } + }, + "required": [ + "BandwidthAllocation" + ], + "additionalProperties": false, + "markdownDescription": "Predictive config\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "ProgressiveConfig": { + "type": "object", + "description": "Progressive config", + "properties": { + "BandwidthAllocation": { + "$ref": "#/definitions/BandwidthAllocation" + } + }, + "required": [ + "BandwidthAllocation" + ], + "additionalProperties": false, + "markdownDescription": "Progressive config\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "AgentlessConfig": { + "type": "object", + "description": "Agentless config", + "required": [], + "additionalProperties": false, + "markdownDescription": "Agentless config\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "TelephonyOutboundMode": { + "type": "object", + "description": "Telephony Outbound Mode", + "properties": { + "ProgressiveConfig": { + "$ref": "#/definitions/ProgressiveConfig" + }, + "PredictiveConfig": { + "$ref": "#/definitions/PredictiveConfig" + }, + "AgentlessConfig": { + "$ref": "#/definitions/AgentlessConfig" + } + }, + "oneOf": [ + { + "required": [ + "ProgressiveConfig" + ] + }, + { + "required": [ + "PredictiveConfig" + ] + }, + { + "required": [ + "AgentlessConfig" + ] + } + ], + "additionalProperties": false, + "markdownDescription": "Telephony Outbound Mode\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "AnswerMachineDetectionConfig": { + "type": "object", + "description": "The configuration used for answering machine detection during outbound calls", + "properties": { + "EnableAnswerMachineDetection": { + "type": "boolean", + "description": "Flag to decided whether outbound calls should have answering machine detection enabled or not", + "markdownDescription": "Flag to decided whether outbound calls should have answering machine detection enabled or not\n\n---\n\nRequired: Yes \nType: Boolean \nUpdate requires: No interruption" + }, + "AwaitAnswerMachinePrompt": { + "type": "boolean", + "description": "Enables detection of prompts (e.g., beep after after a voicemail greeting)", + "markdownDescription": "Enables detection of prompts (e.g., beep after after a voicemail greeting)\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" + } + }, + "required": [ + "EnableAnswerMachineDetection" + ], + "additionalProperties": false, + "markdownDescription": "The configuration used for answering machine detection during outbound calls\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "TelephonyOutboundConfig": { + "type": "object", + "description": "Default Telephone Outbound config", + "properties": { + "ConnectContactFlowId": { + "$ref": "#/definitions/ContactFlowId" + }, + "ConnectSourcePhoneNumber": { + "$ref": "#/definitions/SourcePhoneNumber" + }, + "AnswerMachineDetectionConfig": { + "$ref": "#/definitions/AnswerMachineDetectionConfig" + } + }, + "required": [ + "ConnectContactFlowId" + ], + "additionalProperties": false, + "markdownDescription": "Default Telephone Outbound config\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "TelephonyChannelSubtypeConfig": { + "type": "object", + "description": "Telephony Channel Subtype config", + "properties": { + "Capacity": { + "$ref": "#/definitions/Capacity" + }, + "ConnectQueueId": { + "$ref": "#/definitions/QueueId" + }, + "OutboundMode": { + "$ref": "#/definitions/TelephonyOutboundMode" + }, + "DefaultOutboundConfig": { + "$ref": "#/definitions/TelephonyOutboundConfig" + } + }, + "required": [ + "OutboundMode", + "DefaultOutboundConfig" + ], + "additionalProperties": false, + "markdownDescription": "Telephony Channel Subtype config\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "SmsOutboundMode": { + "type": "object", + "description": "SMS Outbound Mode", + "properties": { + "AgentlessConfig": { + "$ref": "#/definitions/AgentlessConfig" + } + }, + "additionalProperties": false, + "markdownDescription": "SMS Outbound Mode\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "SmsOutboundConfig": { + "type": "object", + "description": "Default SMS outbound config", + "properties": { + "ConnectSourcePhoneNumberArn": { + "$ref": "#/definitions/Arn" + }, + "WisdomTemplateArn": { + "$ref": "#/definitions/Arn" + } + }, + "required": [ + "ConnectSourcePhoneNumberArn", + "WisdomTemplateArn" + ], + "additionalProperties": false, + "markdownDescription": "Default SMS outbound config\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "SmsChannelSubtypeConfig": { + "type": "object", + "description": "SMS Channel Subtype config", + "properties": { + "Capacity": { + "$ref": "#/definitions/Capacity" + }, + "OutboundMode": { + "$ref": "#/definitions/SmsOutboundMode" + }, + "DefaultOutboundConfig": { + "$ref": "#/definitions/SmsOutboundConfig" + } + }, + "required": [ + "OutboundMode", + "DefaultOutboundConfig" + ], + "additionalProperties": false, + "markdownDescription": "SMS Channel Subtype config\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "EmailOutboundMode": { + "type": "object", + "description": "Email Outbound Mode", + "properties": { + "AgentlessConfig": { + "$ref": "#/definitions/AgentlessConfig" + } + }, + "additionalProperties": false, + "markdownDescription": "Email Outbound Mode\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "EmailOutboundConfig": { + "type": "object", + "description": "Default SMS outbound config", + "properties": { + "ConnectSourceEmailAddress": { + "$ref": "#/definitions/EmailAddress" + }, + "SourceEmailAddressDisplayName": { + "$ref": "#/definitions/SourceEmailAddressDisplayName" + }, + "WisdomTemplateArn": { + "$ref": "#/definitions/Arn" + } + }, + "required": [ + "ConnectSourceEmailAddress", + "WisdomTemplateArn" + ], + "additionalProperties": false, + "markdownDescription": "Default SMS outbound config\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "EmailChannelSubtypeConfig": { + "type": "object", + "description": "Email Channel Subtype config", + "properties": { + "Capacity": { + "$ref": "#/definitions/Capacity" + }, + "OutboundMode": { + "$ref": "#/definitions/EmailOutboundMode" + }, + "DefaultOutboundConfig": { + "$ref": "#/definitions/EmailOutboundConfig" + } + }, + "required": [ + "OutboundMode", + "DefaultOutboundConfig" + ], + "additionalProperties": false, + "markdownDescription": "Email Channel Subtype config\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "ChannelSubtypeConfig": { + "type": "object", + "description": "The possible types of channel subtype config parameters", + "properties": { + "Telephony": { + "$ref": "#/definitions/TelephonyChannelSubtypeConfig" + }, + "Sms": { + "$ref": "#/definitions/SmsChannelSubtypeConfig" + }, + "Email": { + "$ref": "#/definitions/EmailChannelSubtypeConfig" + } + }, + "anyOf": [ + { + "required": [ + "Telephony" + ] + }, + { + "required": [ + "Sms" + ] + }, + { + "required": [ + "Email" + ] + } + ], + "additionalProperties": false, + "markdownDescription": "The possible types of channel subtype config parameters\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "Source": { + "type": "object", + "description": "The possible types of channel config parameters", + "properties": { + "CustomerProfilesSegmentArn": { + "$ref": "#/definitions/Arn" + } + }, + "oneOf": [ + { + "required": [ + "CustomerProfilesSegmentArn" + ] + } + ], + "additionalProperties": false, + "markdownDescription": "The possible types of channel config parameters\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "TimeRange": { + "type": "object", + "description": "Time range in 24 hour format", + "properties": { + "StartTime": { + "$ref": "#/definitions/Iso8601Time" + }, + "EndTime": { + "$ref": "#/definitions/Iso8601Time" + } + }, + "required": [ + "StartTime", + "EndTime" + ], + "additionalProperties": false, + "markdownDescription": "Time range in 24 hour format\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "TimeRangeList": { + "type": "array", + "description": "List of time range", + "items": { + "$ref": "#/definitions/TimeRange" + }, + "insertionOrder": false, + "markdownDescription": "List of time range\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + }, + "DailyHour": { + "type": "object", + "description": "Daily Hour", + "properties": { + "Key": { + "$ref": "#/definitions/DayOfWeek" + }, + "Value": { + "$ref": "#/definitions/TimeRangeList" + } + }, + "additionalProperties": false, + "markdownDescription": "Daily Hour\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "DailyHours": { + "type": "array", + "uniqueItems": true, + "insertionOrder": false, + "description": "Daily Hours map", + "items": { + "$ref": "#/definitions/DailyHour" + }, + "markdownDescription": "Daily Hours map\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + }, + "OpenHours": { + "type": "object", + "description": "Open Hours config", + "properties": { + "DailyHours": { + "$ref": "#/definitions/DailyHours" + } + }, + "required": [ + "DailyHours" + ], + "additionalProperties": false, + "markdownDescription": "Open Hours config\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "RestrictedPeriod": { + "type": "object", + "description": "Restricted period", + "properties": { + "Name": { + "type": "string", + "maxLength": 127, + "description": "The name of a restricted period", + "markdownDescription": "The name of a restricted period\n\n---\n\nRequired: No \nType: String \nMaximum Length: 127 \nUpdate requires: No interruption" + }, + "StartDate": { + "$ref": "#/definitions/Iso8601Date" + }, + "EndDate": { + "$ref": "#/definitions/Iso8601Date" + } + }, + "required": [ + "StartDate", + "EndDate" + ], + "additionalProperties": false, + "markdownDescription": "Restricted period\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "RestrictedPeriodList": { + "type": "array", + "description": "List of restricted period", + "items": { + "$ref": "#/definitions/RestrictedPeriod" + }, + "insertionOrder": false, + "markdownDescription": "List of restricted period\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + }, + "RestrictedPeriods": { + "type": "object", + "description": "Restricted period config", + "properties": { + "RestrictedPeriodList": { + "$ref": "#/definitions/RestrictedPeriodList" + } + }, + "oneOf": [ + { + "required": [ + "RestrictedPeriodList" + ] + } + ], + "additionalProperties": false, + "markdownDescription": "Restricted period config\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "TimeWindow": { + "type": "object", + "description": "Time window config", + "properties": { + "OpenHours": { + "$ref": "#/definitions/OpenHours" + }, + "RestrictedPeriods": { + "$ref": "#/definitions/RestrictedPeriods" + } + }, + "required": [ + "OpenHours" + ], + "additionalProperties": false, + "markdownDescription": "Time window config\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "Schedule": { + "type": "object", + "description": "Campaign schedule", + "properties": { + "StartTime": { + "$ref": "#/definitions/TimeStamp" + }, + "EndTime": { + "$ref": "#/definitions/TimeStamp" + }, + "RefreshFrequency": { + "$ref": "#/definitions/Iso8601Duration" + } + }, + "required": [ + "StartTime", + "EndTime" + ], + "additionalProperties": false, + "markdownDescription": "Campaign schedule\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "LocalTimeZoneDetectionType": { + "type": "string", + "description": "Local TimeZone Detection method", + "enum": [ + "ZIP_CODE", + "AREA_CODE" + ], + "markdownDescription": "Local TimeZone Detection method\n\n---\n\nRequired: No \nType: String \nAllowed Values: ZIP_CODE | AREA_CODE \nUpdate requires: No interruption" + }, + "LocalTimeZoneDetection": { + "type": "array", + "description": "Local TimeZone Detection method list", + "items": { + "$ref": "#/definitions/LocalTimeZoneDetectionType" + }, + "insertionOrder": false, + "markdownDescription": "Local TimeZone Detection method list\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + }, + "LocalTimeZoneConfig": { + "type": "object", + "description": "Local time zone config", + "properties": { + "DefaultTimeZone": { + "$ref": "#/definitions/TimeZone" + }, + "LocalTimeZoneDetection": { + "$ref": "#/definitions/LocalTimeZoneDetection" + } + }, + "additionalProperties": false, + "markdownDescription": "Local time zone config\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "CommunicationTimeConfig": { + "type": "object", + "description": "Campaign communication time config", + "properties": { + "LocalTimeZoneConfig": { + "$ref": "#/definitions/LocalTimeZoneConfig" + }, + "Telephony": { + "$ref": "#/definitions/TimeWindow" + }, + "Sms": { + "$ref": "#/definitions/TimeWindow" + }, + "Email": { + "$ref": "#/definitions/TimeWindow" + } + }, + "required": [ + "LocalTimeZoneConfig" + ], + "additionalProperties": false, + "markdownDescription": "Campaign communication time config\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "CommunicationLimitTimeUnit": { + "type": "string", + "description": "The communication limit time unit", + "enum": [ + "DAY" + ], + "markdownDescription": "The communication limit time unit\n\n---\n\nRequired: No \nType: String \nAllowed Values: DAY \nUpdate requires: No interruption" + }, + "CommunicationLimit": { + "type": "object", + "description": "Communication Limit", + "properties": { + "MaxCountPerRecipient": { + "type": "integer", + "minimum": 1, + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: Integer \nUpdate requires: No interruption" + }, + "Frequency": { + "type": "integer", + "minimum": 1, + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: Integer \nUpdate requires: No interruption" + }, + "Unit": { + "$ref": "#/definitions/CommunicationLimitTimeUnit" + } + }, + "required": [ + "MaxCountPerRecipient", + "Frequency", + "Unit" + ], + "additionalProperties": false, + "markdownDescription": "Communication Limit\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "CommunicationLimitList": { + "type": "array", + "description": "List of communication limit", + "items": { + "$ref": "#/definitions/CommunicationLimit" + }, + "insertionOrder": false, + "markdownDescription": "List of communication limit\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + }, + "CommunicationLimits": { + "type": "object", + "description": "Communication limits", + "properties": { + "CommunicationLimitList": { + "$ref": "#/definitions/CommunicationLimitList" + } + }, + "additionalProperties": false, + "markdownDescription": "Communication limits\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "CommunicationLimitsConfig": { + "type": "object", + "description": "Communication limits config", + "properties": { + "AllChannelsSubtypes": { + "$ref": "#/definitions/CommunicationLimits" + } + }, + "additionalProperties": false, + "markdownDescription": "Communication limits config\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "Tag": { + "type": "object", + "properties": { + "Key": { + "type": "string", + "description": "The key name of the tag.", + "markdownDescription": "The key name of the tag.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" + }, + "Value": { + "type": "string", + "description": "The value for the tag.", + "markdownDescription": "The value for the tag.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" + } + }, + "required": [ + "Key", + "Value" + ], + "additionalProperties": false, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + } + }, + "properties": { + "Name": { + "$ref": "#/definitions/CampaignName" + }, + "ConnectInstanceId": { + "$ref": "#/definitions/InstanceId" + }, + "ChannelSubtypeConfig": { + "$ref": "#/definitions/ChannelSubtypeConfig" + }, + "Source": { + "$ref": "#/definitions/Source" + }, + "ConnectCampaignFlowArn": { + "$ref": "#/definitions/Arn" + }, + "Schedule": { + "$ref": "#/definitions/Schedule" + }, + "CommunicationTimeConfig": { + "$ref": "#/definitions/CommunicationTimeConfig" + }, + "CommunicationLimitsOverride": { + "$ref": "#/definitions/CommunicationLimitsConfig" + }, + "Tags": { + "type": "array", + "maxItems": 50, + "uniqueItems": true, + "insertionOrder": false, + "description": "One or more tags.", + "items": { + "$ref": "#/definitions/Tag" + }, + "markdownDescription": "One or more tags.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + } + }, + "tagging": { + "taggable": true, + "tagOnCreate": true, + "tagUpdatable": true, + "cloudFormationSystemTags": false, + "tagProperty": "/properties/Tags", + "permissions": [ + "connect-campaigns:UntagResource", + "connect-campaigns:TagResource" + ] + }, + "required": [ + "Name", + "ConnectInstanceId", + "ChannelSubtypeConfig" + ], + "readOnlyProperties": [ + "/properties/Arn" + ], + "createOnlyProperties": [ + "/properties/ConnectInstanceId" + ], + "primaryIdentifier": [ + "/properties/Arn" + ], + "handlers": { + "create": { + "permissions": [ + "connect-campaigns:CreateCampaign", + "connect-campaigns:DescribeCampaign", + "connect-campaigns:TagResource", + "connect:DescribeContactFlow", + "connect:DescribeEmailAddress", + "connect:DescribeInstance", + "connect:DescribePhoneNumber", + "connect:DescribeQueue", + "profile:GetSegmentDefinition", + "wisdom:GetMessageTemplate" + ] + }, + "read": { + "permissions": [ + "connect-campaigns:DescribeCampaign" + ] + }, + "delete": { + "permissions": [ + "connect-campaigns:DeleteCampaign", + "connect-campaigns:DeleteCampaignChannelSubtypeConfig", + "connect-campaigns:DeleteCampaignCommunicationLimits", + "connect-campaigns:DeleteCampaignCommunicationTime" + ] + }, + "list": { + "handlerSchema": { + "properties": { + "ConnectInstanceId": { + "$ref": "resource-schema.json#/properties/ConnectInstanceId" + } + }, + "required": [ + "ConnectInstanceId" + ] + }, + "permissions": [ + "connect-campaigns:ListCampaigns" + ] + }, + "update": { + "permissions": [ + "connect-campaigns:DeleteCampaignChannelSubtypeConfig", + "connect-campaigns:DeleteCampaignCommunicationLimits", + "connect-campaigns:DeleteCampaignCommunicationTime", + "connect-campaigns:UpdateCampaignChannelSubtypeConfig", + "connect-campaigns:UpdateCampaignCommunicationLimits", + "connect-campaigns:UpdateCampaignCommunicationTime", + "connect-campaigns:UpdateCampaignName", + "connect-campaigns:UpdateCampaignFlowAssociation", + "connect-campaigns:UpdateCampaignSchedule", + "connect-campaigns:UpdateCampaignSource", + "connect-campaigns:TagResource", + "connect-campaigns:UntagResource", + "connect-campaigns:DescribeCampaign", + "connect:DescribeContactFlow", + "connect:DescribeEmailAddress", + "connect:DescribePhoneNumber", + "connect:DescribeQueue", + "profile:GetSegmentDefinition", + "wisdom:GetMessageTemplate" + ] + } + }, + "additionalProperties": false, + "attributes": { + "Arn": { + "type": "string", + "maxLength": 256, + "minLength": 0, + "description": "Amazon Connect Campaign Arn", + "markdownDescription": "Amazon Connect Campaign Arn\n\n---\n\nRequired: No \nType: String \nMaximum Length: 256 \nPattern: ^arn:aws[-a-z0-9]*:connect-campaigns:[-a-z0-9]*:[0-9]{12}:campaign/[-a-zA-Z0-9]*$ \nUpdate requires: No interruption" + } + } +} \ No newline at end of file diff --git a/server/schema/resources/aws-controltower-enabledcontrol.json b/server/schema/resources/aws-controltower-enabledcontrol.json index 313f10bf..65805372 100644 --- a/server/schema/resources/aws-controltower-enabledcontrol.json +++ b/server/schema/resources/aws-controltower-enabledcontrol.json @@ -213,7 +213,12 @@ "tagOnCreate": true, "tagUpdatable": true, "cloudFormationSystemTags": true, - "tagProperty": "/properties/Tags" + "tagProperty": "/properties/Tags", + "permissions": [ + "controltower:UntagResource", + "controltower:TagResource", + "controltower:ListTagsForResource" + ] }, "attributes": {} } \ No newline at end of file diff --git a/server/schema/resources/aws-controltower-landingzone.json b/server/schema/resources/aws-controltower-landingzone.json index 0e1ee37f..228701ee 100644 --- a/server/schema/resources/aws-controltower-landingzone.json +++ b/server/schema/resources/aws-controltower-landingzone.json @@ -1,5 +1,10 @@ { "tagging": { + "permissions": [ + "controltower:UntagResource", + "controltower:TagResource", + "controltower:ListTagsForResource" + ], "taggable": true, "tagOnCreate": true, "tagUpdatable": true, diff --git a/server/schema/resources/aws-customerprofiles-integration.json b/server/schema/resources/aws-customerprofiles-integration.json index 3b1e9541..f53ba2b4 100644 --- a/server/schema/resources/aws-customerprofiles-integration.json +++ b/server/schema/resources/aws-customerprofiles-integration.json @@ -638,6 +638,20 @@ "$ref": "#/definitions/ObjectTypeMapping" }, "markdownDescription": "The mapping between 3rd party event types and ObjectType names\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + }, + "EventTriggerNames": { + "description": "A list of unique names for active event triggers associated with the integration.", + "type": "array", + "items": { + "type": "string", + "minLength": 1, + "maxLength": 64, + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 64 \nPattern: ^[a-zA-Z0-9_-]+$ \nUpdate requires: No interruption" + }, + "insertionOrder": false, + "minItems": 1, + "maxItems": 1, + "markdownDescription": "A list of unique names for active event triggers associated with the integration.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" } }, "required": [ diff --git a/server/schema/resources/aws-customerprofiles-segmentdefinition.json b/server/schema/resources/aws-customerprofiles-segmentdefinition.json new file mode 100644 index 00000000..2d662565 --- /dev/null +++ b/server/schema/resources/aws-customerprofiles-segmentdefinition.json @@ -0,0 +1,617 @@ +{ + "typeName": "AWS::CustomerProfiles::SegmentDefinition", + "description": "A segment definition resource of Amazon Connect Customer Profiles", + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-customer-profiles", + "definitions": { + "Tag": { + "description": "A key-value pair to associate with a resource.", + "type": "object", + "properties": { + "Key": { + "type": "string", + "description": "The key name of the tag. You can specify a value that is 1 to 128 Unicode characters in length and cannot be prefixed with aws:. You can use any of the following characters: the set of Unicode letters, digits, whitespace, _, ., /, =, +, and -.", + "minLength": 1, + "maxLength": 128, + "markdownDescription": "The key name of the tag. You can specify a value that is 1 to 128 Unicode characters in length and cannot be prefixed with aws:. You can use any of the following characters: the set of Unicode letters, digits, whitespace, _, ., /, =, +, and -.\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 128 \nPattern: ^(?!aws:)[a-zA-Z+-=._:/]+$ \nUpdate requires: No interruption" + }, + "Value": { + "type": "string", + "description": "The value for the tag. You can specify a value that is 0 to 256 Unicode characters in length and cannot be prefixed with aws:. You can use any of the following characters: the set of Unicode letters, digits, whitespace, _, ., /, =, +, and -.", + "minLength": 0, + "maxLength": 256, + "markdownDescription": "The value for the tag. You can specify a value that is 0 to 256 Unicode characters in length and cannot be prefixed with aws:. You can use any of the following characters: the set of Unicode letters, digits, whitespace, _, ., /, =, +, and -.\n\n---\n\nRequired: Yes \nType: String \nMaximum Length: 256 \nUpdate requires: No interruption" + } + }, + "required": [ + "Key", + "Value" + ], + "additionalProperties": false, + "markdownDescription": "A key-value pair to associate with a resource.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "ConditionOverrides": { + "description": "Overrides the condition block within the original calculated attribute definition.", + "type": "object", + "properties": { + "Range": { + "$ref": "#/definitions/RangeOverride" + } + }, + "additionalProperties": false, + "markdownDescription": "Overrides the condition block within the original calculated attribute definition.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "RangeOverride": { + "description": "Defines the range to be applied to the calculated attribute definition.", + "type": "object", + "properties": { + "Start": { + "description": "The starting point for this overridden range.", + "type": "integer", + "minimum": 1, + "maximum": 366, + "markdownDescription": "The starting point for this overridden range.\n\n---\n\nRequired: Yes \nType: Integer \nUpdate requires: No interruption" + }, + "End": { + "description": "The ending point for this overridden range.", + "type": "integer", + "minimum": 0, + "maximum": 366, + "markdownDescription": "The ending point for this overridden range.\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" + }, + "Unit": { + "description": "The unit to be applied to the range.", + "type": "string", + "enum": [ + "DAYS" + ], + "markdownDescription": "The unit to be applied to the range.\n\n---\n\nRequired: Yes \nType: String \nAllowed Values: DAYS \nUpdate requires: No interruption" + } + }, + "required": [ + "Start", + "Unit" + ], + "additionalProperties": false, + "markdownDescription": "Defines the range to be applied to the calculated attribute definition.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "AddressDimension": { + "description": "The address based criteria for the segment.", + "type": "object", + "properties": { + "City": { + "$ref": "#/definitions/ProfileDimension" + }, + "Country": { + "$ref": "#/definitions/ProfileDimension" + }, + "County": { + "$ref": "#/definitions/ProfileDimension" + }, + "PostalCode": { + "$ref": "#/definitions/ProfileDimension" + }, + "Province": { + "$ref": "#/definitions/ProfileDimension" + }, + "State": { + "$ref": "#/definitions/ProfileDimension" + } + }, + "additionalProperties": false, + "markdownDescription": "The address based criteria for the segment.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "AttributeDimension": { + "description": "Specifies attribute based criteria for a segment.", + "type": "object", + "properties": { + "DimensionType": { + "$ref": "#/definitions/AttributeDimensionType" + }, + "Values": { + "type": "array", + "items": { + "type": "string", + "maxLength": 255, + "minLength": 1, + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 255 \nUpdate requires: No interruption" + }, + "insertionOrder": false, + "minItems": 1, + "maxItems": 50, + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: Array \nUpdate requires: No interruption" + } + }, + "required": [ + "DimensionType", + "Values" + ], + "additionalProperties": false, + "markdownDescription": "Specifies attribute based criteria for a segment.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "AttributeDimensionType": { + "description": "The type of segment dimension to use.", + "type": "string", + "enum": [ + "INCLUSIVE", + "EXCLUSIVE", + "CONTAINS", + "BEGINS_WITH", + "ENDS_WITH", + "BEFORE", + "AFTER", + "BETWEEN", + "NOT_BETWEEN", + "ON", + "GREATER_THAN", + "LESS_THAN", + "GREATER_THAN_OR_EQUAL", + "LESS_THAN_OR_EQUAL", + "EQUAL" + ], + "markdownDescription": "The type of segment dimension to use.\n\n---\n\nRequired: No \nType: String \nAllowed Values: INCLUSIVE | EXCLUSIVE | CONTAINS | BEGINS_WITH | ENDS_WITH | BEFORE | AFTER | BETWEEN | NOT_BETWEEN | ON | GREATER_THAN | LESS_THAN | GREATER_THAN_OR_EQUAL | LESS_THAN_OR_EQUAL | EQUAL \nUpdate requires: No interruption" + }, + "CalculatedAttributeDimension": { + "description": "Specifies calculated attribute based criteria for a segment.", + "type": "object", + "properties": { + "DimensionType": { + "$ref": "#/definitions/AttributeDimensionType" + }, + "Values": { + "type": "array", + "items": { + "type": "string", + "minLength": 1, + "maxLength": 255, + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 255 \nUpdate requires: No interruption" + }, + "insertionOrder": false, + "minItems": 1, + "maxItems": 50, + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: Array \nUpdate requires: No interruption" + }, + "ConditionOverrides": { + "$ref": "#/definitions/ConditionOverrides" + } + }, + "required": [ + "DimensionType", + "Values" + ], + "additionalProperties": false, + "markdownDescription": "Specifies calculated attribute based criteria for a segment.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "CustomAttributes": { + "description": "One or more custom attributes to use as criteria for the segment.", + "type": "object", + "patternProperties": { + "^[a-zA-Z_][a-zA-Z_0-9-]*$": { + "$ref": "#/definitions/AttributeDimension" + } + }, + "additionalProperties": false, + "markdownDescription": "One or more custom attributes to use as criteria for the segment.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "CalculatedCustomAttributes": { + "description": "One or more calculated attributes to use as criteria for the segment.", + "type": "object", + "patternProperties": { + "^[a-zA-Z_][a-zA-Z_0-9-]*$": { + "$ref": "#/definitions/CalculatedAttributeDimension" + } + }, + "additionalProperties": false, + "markdownDescription": "One or more calculated attributes to use as criteria for the segment.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "DateDimension": { + "description": "Specifies date based criteria for a segment.", + "type": "object", + "properties": { + "DimensionType": { + "$ref": "#/definitions/DateDimensionType" + }, + "Values": { + "type": "array", + "items": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "insertionOrder": false, + "minItems": 1, + "maxItems": 50, + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: Array \nUpdate requires: No interruption" + } + }, + "required": [ + "DimensionType", + "Values" + ], + "additionalProperties": false, + "markdownDescription": "Specifies date based criteria for a segment.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "DateDimensionType": { + "description": "The type of segment dimension to use for a date dimension.", + "type": "string", + "enum": [ + "BEFORE", + "AFTER", + "BETWEEN", + "NOT_BETWEEN", + "ON" + ], + "markdownDescription": "The type of segment dimension to use for a date dimension.\n\n---\n\nRequired: No \nType: String \nAllowed Values: BEFORE | AFTER | BETWEEN | NOT_BETWEEN | ON \nUpdate requires: No interruption" + }, + "Dimension": { + "description": "The criteria that define the dimensions for the segment.", + "oneOf": [ + { + "type": "object", + "title": "ProfileAttributes", + "properties": { + "ProfileAttributes": { + "$ref": "#/definitions/ProfileAttributes" + } + }, + "required": [ + "ProfileAttributes" + ], + "additionalProperties": false + }, + { + "type": "object", + "title": "CalculatedAttributes", + "properties": { + "CalculatedAttributes": { + "$ref": "#/definitions/CalculatedCustomAttributes" + } + }, + "additionalProperties": false + } + ], + "markdownDescription": "The criteria that define the dimensions for the segment.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" + }, + "ExtraLengthValueProfileDimension": { + "description": "Specifies criteria for a segment using extended-length string values.", + "type": "object", + "properties": { + "DimensionType": { + "$ref": "#/definitions/StringDimensionType" + }, + "Values": { + "type": "array", + "items": { + "type": "string", + "maxLength": 1000, + "minLength": 1, + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 1000 \nUpdate requires: No interruption" + }, + "insertionOrder": false, + "minItems": 1, + "maxItems": 50, + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: Array \nUpdate requires: No interruption" + } + }, + "required": [ + "DimensionType", + "Values" + ], + "additionalProperties": false, + "markdownDescription": "Specifies criteria for a segment using extended-length string values.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "Group": { + "description": "An array that defines the set of segment criteria to evaluate when handling segment groups for the segment.", + "type": "object", + "properties": { + "Dimensions": { + "type": "array", + "items": { + "$ref": "#/definitions/Dimension" + }, + "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + }, + "SourceSegments": { + "type": "array", + "items": { + "$ref": "#/definitions/SourceSegment" + }, + "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + }, + "SourceType": { + "$ref": "#/definitions/IncludeOptions" + }, + "Type": { + "$ref": "#/definitions/IncludeOptions" + } + }, + "additionalProperties": false, + "markdownDescription": "An array that defines the set of segment criteria to evaluate when handling segment groups for the segment.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "IncludeOptions": { + "description": "Specifies the operator on how to handle multiple groups within the same segment.", + "type": "string", + "enum": [ + "ALL", + "ANY", + "NONE" + ], + "markdownDescription": "Specifies the operator on how to handle multiple groups within the same segment.\n\n---\n\nRequired: No \nType: String \nAllowed Values: ALL | ANY | NONE \nUpdate requires: No interruption" + }, + "ProfileAttributes": { + "description": "Specifies the dimension settings within profile attributes for a segment.", + "type": "object", + "properties": { + "AccountNumber": { + "$ref": "#/definitions/ProfileDimension" + }, + "AdditionalInformation": { + "$ref": "#/definitions/ExtraLengthValueProfileDimension" + }, + "FirstName": { + "$ref": "#/definitions/ProfileDimension" + }, + "LastName": { + "$ref": "#/definitions/ProfileDimension" + }, + "MiddleName": { + "$ref": "#/definitions/ProfileDimension" + }, + "GenderString": { + "$ref": "#/definitions/ProfileDimension" + }, + "PartyTypeString": { + "$ref": "#/definitions/ProfileDimension" + }, + "BirthDate": { + "$ref": "#/definitions/DateDimension" + }, + "PhoneNumber": { + "$ref": "#/definitions/ProfileDimension" + }, + "BusinessName": { + "$ref": "#/definitions/ProfileDimension" + }, + "BusinessPhoneNumber": { + "$ref": "#/definitions/ProfileDimension" + }, + "HomePhoneNumber": { + "$ref": "#/definitions/ProfileDimension" + }, + "MobilePhoneNumber": { + "$ref": "#/definitions/ProfileDimension" + }, + "EmailAddress": { + "$ref": "#/definitions/ProfileDimension" + }, + "PersonalEmailAddress": { + "$ref": "#/definitions/ProfileDimension" + }, + "BusinessEmailAddress": { + "$ref": "#/definitions/ProfileDimension" + }, + "Address": { + "$ref": "#/definitions/AddressDimension" + }, + "ShippingAddress": { + "$ref": "#/definitions/AddressDimension" + }, + "MailingAddress": { + "$ref": "#/definitions/AddressDimension" + }, + "BillingAddress": { + "$ref": "#/definitions/AddressDimension" + }, + "Attributes": { + "$ref": "#/definitions/CustomAttributes" + } + }, + "additionalProperties": false, + "markdownDescription": "Specifies the dimension settings within profile attributes for a segment.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "ProfileDimension": { + "description": "Specifies profile based criteria for a segment.", + "type": "object", + "properties": { + "DimensionType": { + "$ref": "#/definitions/StringDimensionType" + }, + "Values": { + "type": "array", + "items": { + "type": "string", + "maxLength": 255, + "minLength": 1, + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 255 \nUpdate requires: No interruption" + }, + "insertionOrder": false, + "minItems": 1, + "maxItems": 50, + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: Array \nUpdate requires: No interruption" + } + }, + "required": [ + "DimensionType", + "Values" + ], + "additionalProperties": false, + "markdownDescription": "Specifies profile based criteria for a segment.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "SegmentGroup": { + "type": "object", + "properties": { + "Groups": { + "type": "array", + "items": { + "$ref": "#/definitions/Group" + }, + "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + }, + "Include": { + "$ref": "#/definitions/IncludeOptions" + } + }, + "additionalProperties": false, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "SourceSegment": { + "description": "The base segment to build the segment on.", + "type": "object", + "properties": { + "SegmentDefinitionName": { + "type": "string", + "maxLength": 64, + "minLength": 1, + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 64 \nPattern: ^[a-zA-Z0-9_-]+$ \nUpdate requires: No interruption" + } + }, + "additionalProperties": false, + "markdownDescription": "The base segment to build the segment on.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "StringDimensionType": { + "description": "The type of segment dimension to use for a string dimension.", + "type": "string", + "enum": [ + "INCLUSIVE", + "EXCLUSIVE", + "CONTAINS", + "BEGINS_WITH", + "ENDS_WITH" + ], + "markdownDescription": "The type of segment dimension to use for a string dimension.\n\n---\n\nRequired: No \nType: String \nAllowed Values: INCLUSIVE | EXCLUSIVE | CONTAINS | BEGINS_WITH | ENDS_WITH \nUpdate requires: No interruption" + } + }, + "properties": { + "Description": { + "description": "The description of the segment definition.", + "type": "string", + "maxLength": 1000, + "minLength": 1, + "markdownDescription": "The description of the segment definition.\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 1000 \nUpdate requires: No interruption" + }, + "DisplayName": { + "description": "The display name of the segment definition.", + "type": "string", + "maxLength": 255, + "minLength": 1, + "markdownDescription": "The display name of the segment definition.\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 255 \nUpdate requires: Replacement" + }, + "DomainName": { + "description": "The unique name of the domain.", + "type": "string", + "maxLength": 64, + "minLength": 1, + "markdownDescription": "The unique name of the domain.\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 64 \nPattern: ^[a-zA-Z0-9_-]+$ \nUpdate requires: Replacement" + }, + "SegmentDefinitionName": { + "description": "The unique name of the segment definition.", + "type": "string", + "maxLength": 64, + "minLength": 1, + "markdownDescription": "The unique name of the segment definition.\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 64 \nPattern: ^[a-zA-Z0-9_-]+$ \nUpdate requires: Replacement" + }, + "SegmentGroups": { + "description": "An array that defines the set of segment criteria to evaluate when handling segment groups for the segment.", + "$ref": "#/definitions/SegmentGroup", + "markdownDescription": "An array that defines the set of segment criteria to evaluate when handling segment groups for the segment.\n\n---\n\nRequired: Yes \nType: \nUpdate requires: Replacement" + }, + "Tags": { + "description": "The tags used to organize, track, or control access for this resource.", + "type": "array", + "uniqueItems": true, + "insertionOrder": false, + "items": { + "$ref": "#/definitions/Tag" + }, + "minItems": 0, + "maxItems": 50, + "markdownDescription": "The tags used to organize, track, or control access for this resource.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + } + }, + "required": [ + "DomainName", + "DisplayName", + "SegmentDefinitionName", + "SegmentGroups" + ], + "readOnlyProperties": [ + "/properties/CreatedAt", + "/properties/SegmentDefinitionArn" + ], + "createOnlyProperties": [ + "/properties/DomainName", + "/properties/SegmentDefinitionName", + "/properties/DisplayName", + "/properties/SegmentGroups" + ], + "primaryIdentifier": [ + "/properties/DomainName", + "/properties/SegmentDefinitionName" + ], + "handlers": { + "create": { + "permissions": [ + "profile:CreateSegmentDefinition", + "profile:TagResource" + ] + }, + "read": { + "permissions": [ + "profile:GetSegmentDefinition" + ] + }, + "update": { + "permissions": [ + "profile:GetSegmentDefinition", + "profile:UntagResource", + "profile:TagResource" + ] + }, + "delete": { + "permissions": [ + "profile:DeleteSegmentDefinition" + ] + }, + "list": { + "handlerSchema": { + "properties": { + "DomainName": { + "$ref": "resource-schema.json#/properties/DomainName" + } + }, + "required": [ + "DomainName" + ] + }, + "permissions": [ + "profile:ListSegmentDefinitions" + ] + } + }, + "tagging": { + "taggable": true, + "tagOnCreate": true, + "tagUpdatable": true, + "cloudFormationSystemTags": true, + "tagProperty": "/properties/Tags", + "permissions": [ + "profile:TagResource", + "profile:UntagResource", + "profile:ListTagsForResource" + ] + }, + "additionalProperties": false, + "attributes": { + "CreatedAt": { + "description": "The time of this segment definition got created.", + "type": "string", + "format": "date-time", + "markdownDescription": "The time of this segment definition got created.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "SegmentDefinitionArn": { + "description": "The Amazon Resource Name (ARN) of the segment definition.", + "type": "string", + "maxLength": 255, + "minLength": 1, + "markdownDescription": "The Amazon Resource Name (ARN) of the segment definition.\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 255 \nUpdate requires: No interruption" + } + } +} \ No newline at end of file diff --git a/server/schema/resources/aws-databrew-dataset.json b/server/schema/resources/aws-databrew-dataset.json index b170e491..5f499a38 100644 --- a/server/schema/resources/aws-databrew-dataset.json +++ b/server/schema/resources/aws-databrew-dataset.json @@ -2,7 +2,6 @@ "typeName": "AWS::DataBrew::Dataset", "description": "Resource schema for AWS::DataBrew::Dataset.", "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-databrew.git", - "taggable": true, "properties": { "Name": { "description": "Dataset name", @@ -478,6 +477,18 @@ "/properties/Name", "/properties/Tags" ], + "tagging": { + "taggable": true, + "tagOnCreate": true, + "tagUpdatable": false, + "cloudFormationSystemTags": true, + "tagProperty": "/properties/Tags", + "permissions": [ + "databrew:TagResource", + "databrew:UntagResource", + "databrew:ListTagsForResource" + ] + }, "handlers": { "create": { "permissions": [ diff --git a/server/schema/resources/aws-databrew-job.json b/server/schema/resources/aws-databrew-job.json index 76dbac77..1235a376 100644 --- a/server/schema/resources/aws-databrew-job.json +++ b/server/schema/resources/aws-databrew-job.json @@ -2,7 +2,6 @@ "typeName": "AWS::DataBrew::Job", "description": "Resource schema for AWS::DataBrew::Job.", "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-databrew.git", - "taggable": true, "properties": { "DatasetName": { "description": "Dataset name", @@ -670,6 +669,18 @@ "/properties/Type", "/properties/Tags" ], + "tagging": { + "taggable": true, + "tagOnCreate": true, + "tagUpdatable": false, + "cloudFormationSystemTags": true, + "tagProperty": "/properties/Tags", + "permissions": [ + "databrew:TagResource", + "databrew:UntagResource", + "databrew:ListTagsForResource" + ] + }, "handlers": { "create": { "permissions": [ diff --git a/server/schema/resources/aws-databrew-project.json b/server/schema/resources/aws-databrew-project.json index 33aac596..f4acd763 100644 --- a/server/schema/resources/aws-databrew-project.json +++ b/server/schema/resources/aws-databrew-project.json @@ -2,7 +2,6 @@ "typeName": "AWS::DataBrew::Project", "description": "Resource schema for AWS::DataBrew::Project.", "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-databrew.git", - "taggable": true, "properties": { "DatasetName": { "description": "Dataset name", @@ -111,6 +110,18 @@ "/properties/Name", "/properties/Tags" ], + "tagging": { + "taggable": true, + "tagOnCreate": true, + "tagUpdatable": false, + "cloudFormationSystemTags": true, + "tagProperty": "/properties/Tags", + "permissions": [ + "databrew:TagResource", + "databrew:UntagResource", + "databrew:ListTagsForResource" + ] + }, "handlers": { "create": { "permissions": [ diff --git a/server/schema/resources/aws-databrew-recipe.json b/server/schema/resources/aws-databrew-recipe.json index 0be8bc7c..be891bc2 100644 --- a/server/schema/resources/aws-databrew-recipe.json +++ b/server/schema/resources/aws-databrew-recipe.json @@ -2,7 +2,6 @@ "typeName": "AWS::DataBrew::Recipe", "description": "Resource schema for AWS::DataBrew::Recipe.", "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-databrew.git", - "taggable": true, "properties": { "Description": { "description": "Description of the recipe", @@ -681,6 +680,18 @@ "/properties/Name", "/properties/Tags" ], + "tagging": { + "taggable": true, + "tagOnCreate": true, + "tagUpdatable": false, + "cloudFormationSystemTags": true, + "tagProperty": "/properties/Tags", + "permissions": [ + "databrew:TagResource", + "databrew:UntagResource", + "databrew:ListTagsForResource" + ] + }, "handlers": { "create": { "permissions": [ diff --git a/server/schema/resources/aws-databrew-ruleset.json b/server/schema/resources/aws-databrew-ruleset.json index c9301c50..6da8584b 100644 --- a/server/schema/resources/aws-databrew-ruleset.json +++ b/server/schema/resources/aws-databrew-ruleset.json @@ -2,7 +2,6 @@ "typeName": "AWS::DataBrew::Ruleset", "description": "Resource schema for AWS::DataBrew::Ruleset.", "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-databrew.git", - "taggable": true, "definitions": { "Expression": { "description": "Expression with rule conditions", @@ -236,6 +235,18 @@ "/properties/TargetArn", "/properties/Tags" ], + "tagging": { + "taggable": true, + "tagOnCreate": true, + "tagUpdatable": false, + "cloudFormationSystemTags": true, + "tagProperty": "/properties/Tags", + "permissions": [ + "databrew:TagResource", + "databrew:UntagResource", + "databrew:ListTagsForResource" + ] + }, "handlers": { "create": { "permissions": [ diff --git a/server/schema/resources/aws-databrew-schedule.json b/server/schema/resources/aws-databrew-schedule.json index c5b06b06..7827f3c9 100644 --- a/server/schema/resources/aws-databrew-schedule.json +++ b/server/schema/resources/aws-databrew-schedule.json @@ -2,7 +2,6 @@ "typeName": "AWS::DataBrew::Schedule", "description": "Resource schema for AWS::DataBrew::Schedule.", "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-databrew.git", - "taggable": true, "properties": { "JobNames": { "type": "array", @@ -82,6 +81,18 @@ "/properties/Name", "/properties/Tags" ], + "tagging": { + "taggable": true, + "tagOnCreate": true, + "tagUpdatable": false, + "cloudFormationSystemTags": true, + "tagProperty": "/properties/Tags", + "permissions": [ + "databrew:TagResource", + "databrew:UntagResource", + "databrew:ListTagsForResource" + ] + }, "handlers": { "create": { "permissions": [ diff --git a/server/schema/resources/aws-datasync-storagesystem.json b/server/schema/resources/aws-datasync-storagesystem.json index 5d6b41aa..6d33b1ce 100644 --- a/server/schema/resources/aws-datasync-storagesystem.json +++ b/server/schema/resources/aws-datasync-storagesystem.json @@ -136,7 +136,12 @@ "tagOnCreate": true, "tagUpdatable": true, "cloudFormationSystemTags": true, - "tagProperty": "/properties/Tags" + "tagProperty": "/properties/Tags", + "permissions": [ + "datasync:TagResource", + "datasync:UntagResource", + "datasync:ListTagsForResource" + ] }, "additionalProperties": false, "required": [ diff --git a/server/schema/resources/aws-datasync-task.json b/server/schema/resources/aws-datasync-task.json index 2798ece0..461d08ef 100644 --- a/server/schema/resources/aws-datasync-task.json +++ b/server/schema/resources/aws-datasync-task.json @@ -536,6 +536,15 @@ "type": "string", "maxLength": 128, "markdownDescription": "The ARN of the source location for the task.\n\n---\n\nRequired: Yes \nType: String \nMaximum Length: 128 \nPattern: ^arn:(aws|aws-cn|aws-us-gov|aws-iso|aws-iso-b):datasync:[a-z\\-0-9]+:[0-9]{12}:location/loc-[0-9a-z]{17}$ \nUpdate requires: Replacement" + }, + "TaskMode": { + "description": "Specifies the task mode for the task.", + "type": "string", + "enum": [ + "BASIC", + "ENHANCED" + ], + "markdownDescription": "Specifies the task mode for the task.\n\n---\n\nRequired: No \nType: String \nAllowed Values: BASIC | ENHANCED \nUpdate requires: Replacement" } }, "tagging": { @@ -566,7 +575,8 @@ ], "createOnlyProperties": [ "/properties/DestinationLocationArn", - "/properties/SourceLocationArn" + "/properties/SourceLocationArn", + "/properties/TaskMode" ], "handlers": { "create": { diff --git a/server/schema/resources/aws-deadline-fleet.json b/server/schema/resources/aws-deadline-fleet.json index a5a9c612..f916c583 100644 --- a/server/schema/resources/aws-deadline-fleet.json +++ b/server/schema/resources/aws-deadline-fleet.json @@ -182,6 +182,53 @@ "additionalProperties": false, "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, + "AcceleratorSelection": { + "type": "object", + "properties": { + "Name": { + "type": "string", + "enum": [ + "t4", + "a10g", + "l4", + "l40s" + ], + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nAllowed Values: t4 | a10g | l4 | l40s \nUpdate requires: No interruption" + }, + "Runtime": { + "type": "string", + "maxLength": 100, + "minLength": 1, + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 100 \nUpdate requires: No interruption" + } + }, + "required": [ + "Name" + ], + "additionalProperties": false, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "AcceleratorCapabilities": { + "type": "object", + "properties": { + "Selections": { + "type": "array", + "items": { + "$ref": "#/definitions/AcceleratorSelection" + }, + "minItems": 1, + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: Array \nUpdate requires: No interruption" + }, + "Count": { + "$ref": "#/definitions/AcceleratorCountRange" + } + }, + "required": [ + "Selections" + ], + "additionalProperties": false, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, "Ec2MarketType": { "type": "string", "enum": [ @@ -380,6 +427,9 @@ "RootEbsVolume": { "$ref": "#/definitions/Ec2EbsVolume" }, + "AcceleratorCapabilities": { + "$ref": "#/definitions/AcceleratorCapabilities" + }, "AllowedInstanceTypes": { "type": "array", "items": { diff --git a/server/schema/resources/aws-devopsguru-notificationchannel.json b/server/schema/resources/aws-devopsguru-notificationchannel.json index 795d5def..19101233 100644 --- a/server/schema/resources/aws-devopsguru-notificationchannel.json +++ b/server/schema/resources/aws-devopsguru-notificationchannel.json @@ -96,6 +96,9 @@ } }, "additionalProperties": false, + "tagging": { + "taggable": false + }, "required": [ "Config" ], diff --git a/server/schema/resources/aws-dms-datamigration.json b/server/schema/resources/aws-dms-datamigration.json new file mode 100644 index 00000000..bbc0c6f0 --- /dev/null +++ b/server/schema/resources/aws-dms-datamigration.json @@ -0,0 +1,240 @@ +{ + "typeName": "AWS::DMS::DataMigration", + "description": "Resource schema for AWS::DMS::DataMigration.", + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-rpdk.git", + "tagging": { + "taggable": true, + "tagOnCreate": true, + "tagUpdatable": true, + "cloudFormationSystemTags": false, + "tagProperty": "/properties/Tags", + "permissions": [ + "dms:AddTagsToResource", + "dms:RemoveTagsFromResource", + "dms:ListTagsForResource" + ] + }, + "definitions": { + "Tag": { + "description": "A key-value pair to associate with a resource.", + "type": "object", + "properties": { + "Key": { + "type": "string", + "description": "The key name of the tag. You can specify a value that is 1 to 128 Unicode characters in length and cannot be prefixed with aws:. You can use any of the following characters: the set of Unicode letters, digits, whitespace, _, ., /, =, +, and -.", + "minLength": 1, + "maxLength": 128, + "markdownDescription": "The key name of the tag. You can specify a value that is 1 to 128 Unicode characters in length and cannot be prefixed with aws:. You can use any of the following characters: the set of Unicode letters, digits, whitespace, _, ., /, =, +, and -.\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 128 \nUpdate requires: No interruption" + }, + "Value": { + "type": "string", + "description": "The value for the tag. You can specify a value that is 0 to 256 Unicode characters in length and cannot be prefixed with aws:. You can use any of the following characters: the set of Unicode letters, digits, whitespace, _, ., /, =, +, and -.", + "minLength": 0, + "maxLength": 256, + "markdownDescription": "The value for the tag. You can specify a value that is 0 to 256 Unicode characters in length and cannot be prefixed with aws:. You can use any of the following characters: the set of Unicode letters, digits, whitespace, _, ., /, =, +, and -.\n\n---\n\nRequired: Yes \nType: String \nMaximum Length: 256 \nUpdate requires: No interruption" + } + }, + "required": [ + "Key", + "Value" + ], + "additionalProperties": false, + "markdownDescription": "A key-value pair to associate with a resource.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "DataMigrationSettings": { + "type": "object", + "properties": { + "CloudwatchLogsEnabled": { + "type": "boolean", + "description": "The property specifies whether to enable the Cloudwatch log.", + "markdownDescription": "The property specifies whether to enable the Cloudwatch log.\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" + }, + "NumberOfJobs": { + "type": "integer", + "description": "The number of parallel jobs that trigger parallel threads to unload the tables from the source, and then load them to the target.", + "minimum": 1, + "maximum": 50, + "markdownDescription": "The number of parallel jobs that trigger parallel threads to unload the tables from the source, and then load them to the target.\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" + }, + "SelectionRules": { + "type": "string", + "description": "The property specifies the rules of selecting objects for data migration.", + "markdownDescription": "The property specifies the rules of selecting objects for data migration.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + } + }, + "additionalProperties": false, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "SourceDataSettings": { + "type": "object", + "properties": { + "CDCStartPosition": { + "type": "string", + "description": "The property is a point in the database engine's log that defines a time where you can begin CDC.", + "maxLength": 40, + "markdownDescription": "The property is a point in the database engine's log that defines a time where you can begin CDC.\n\n---\n\nRequired: No \nType: String \nMaximum Length: 40 \nUpdate requires: No interruption" + }, + "CDCStartTime": { + "type": "string", + "description": "The property indicates the start time for a change data capture (CDC) operation. The value is server time in UTC format.", + "maxLength": 40, + "markdownDescription": "The property indicates the start time for a change data capture (CDC) operation. The value is server time in UTC format.\n\n---\n\nRequired: No \nType: String \nMaximum Length: 40 \nUpdate requires: No interruption" + }, + "CDCStopTime": { + "type": "string", + "description": "The property indicates the stop time for a change data capture (CDC) operation. The value is server time in UTC format.", + "maxLength": 40, + "markdownDescription": "The property indicates the stop time for a change data capture (CDC) operation. The value is server time in UTC format.\n\n---\n\nRequired: No \nType: String \nMaximum Length: 40 \nUpdate requires: No interruption" + }, + "SlotName": { + "type": "string", + "description": "The property sets the name of a previously created logical replication slot for a change data capture (CDC) load of the source instance.", + "maxLength": 255, + "markdownDescription": "The property sets the name of a previously created logical replication slot for a change data capture (CDC) load of the source instance.\n\n---\n\nRequired: No \nType: String \nMaximum Length: 255 \nUpdate requires: No interruption" + } + }, + "additionalProperties": false, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + } + }, + "properties": { + "DataMigrationName": { + "description": "The property describes a name to identify the data migration.", + "type": "string", + "minLength": 1, + "maxLength": 300, + "markdownDescription": "The property describes a name to identify the data migration.\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 300 \nUpdate requires: No interruption" + }, + "DataMigrationIdentifier": { + "description": "The property describes an ARN of the data migration.", + "type": "string", + "minLength": 1, + "maxLength": 300, + "markdownDescription": "The property describes an ARN of the data migration.\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 300 \nUpdate requires: No interruption" + }, + "ServiceAccessRoleArn": { + "description": "The property describes Amazon Resource Name (ARN) of the service access role.", + "type": "string", + "minLength": 1, + "maxLength": 300, + "markdownDescription": "The property describes Amazon Resource Name (ARN) of the service access role.\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 300 \nUpdate requires: No interruption" + }, + "MigrationProjectIdentifier": { + "description": "The property describes an identifier for the migration project. It is used for describing/deleting/modifying can be name/arn", + "type": "string", + "minLength": 1, + "maxLength": 255, + "markdownDescription": "The property describes an identifier for the migration project. It is used for describing/deleting/modifying can be name/arn\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 255 \nUpdate requires: No interruption" + }, + "DataMigrationType": { + "description": "The property describes the type of migration.", + "type": "string", + "enum": [ + "full-load", + "cdc", + "full-load-and-cdc" + ], + "markdownDescription": "The property describes the type of migration.\n\n---\n\nRequired: Yes \nType: String \nAllowed Values: full-load | cdc | full-load-and-cdc \nUpdate requires: No interruption" + }, + "DataMigrationSettings": { + "description": "The property describes the settings for the data migration.", + "$ref": "#/definitions/DataMigrationSettings", + "markdownDescription": "The property describes the settings for the data migration.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" + }, + "SourceDataSettings": { + "description": "The property describes the settings for the data migration.", + "type": "array", + "uniqueItems": true, + "insertionOrder": false, + "items": { + "$ref": "#/definitions/SourceDataSettings" + }, + "markdownDescription": "The property describes the settings for the data migration.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + }, + "Tags": { + "description": "An array of key-value pairs to apply to this resource.", + "type": "array", + "uniqueItems": true, + "insertionOrder": false, + "items": { + "$ref": "#/definitions/Tag" + }, + "markdownDescription": "An array of key-value pairs to apply to this resource.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + } + }, + "primaryIdentifier": [ + "/properties/DataMigrationArn" + ], + "additionalIdentifiers": [ + [ + "/properties/DataMigrationName" + ] + ], + "readOnlyProperties": [ + "/properties/DataMigrationArn", + "/properties/DataMigrationCreateTime" + ], + "writeOnlyProperties": [ + "/properties/DataMigrationIdentifier" + ], + "required": [ + "DataMigrationType", + "MigrationProjectIdentifier", + "ServiceAccessRoleArn" + ], + "additionalProperties": false, + "handlers": { + "create": { + "permissions": [ + "dms:CreateDataMigration", + "dms:DescribeDataMigrations", + "dms:AddTagsToResource", + "dms:ListTagsForResource", + "iam:PassRole" + ] + }, + "read": { + "permissions": [ + "dms:DescribeDataMigrations", + "dms:ListTagsForResource" + ] + }, + "update": { + "permissions": [ + "dms:ModifyDataMigration", + "dms:AddTagsToResource", + "dms:RemoveTagsFromResource", + "dms:ListTagsForResource", + "iam:PassRole" + ] + }, + "delete": { + "permissions": [ + "dms:DeleteDataMigration", + "dms:RemoveTagsFromResource" + ] + }, + "list": { + "permissions": [ + "dms:DescribeDataMigrations", + "dms:ListTagsForResource" + ] + } + }, + "attributes": { + "DataMigrationArn": { + "description": "The property describes an ARN of the data migration.", + "type": "string", + "minLength": 1, + "maxLength": 300, + "markdownDescription": "The property describes an ARN of the data migration.\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 300 \nUpdate requires: No interruption" + }, + "DataMigrationCreateTime": { + "description": "The property describes the create time of the data migration.", + "type": "string", + "minLength": 1, + "maxLength": 40, + "markdownDescription": "The property describes the create time of the data migration.\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 40 \nUpdate requires: No interruption" + } + } +} \ No newline at end of file diff --git a/server/schema/resources/aws-dms-replicationinstance.json b/server/schema/resources/aws-dms-replicationinstance.json index c64b55b7..762a685b 100644 --- a/server/schema/resources/aws-dms-replicationinstance.json +++ b/server/schema/resources/aws-dms-replicationinstance.json @@ -48,6 +48,10 @@ }, "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" }, + "NetworkType": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, "AllowMajorVersionUpgrade": { "type": "boolean", "markdownDescription": "\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" diff --git a/server/schema/resources/aws-dynamodb-globaltable.json b/server/schema/resources/aws-dynamodb-globaltable.json index 4166ccdc..004e61fd 100644 --- a/server/schema/resources/aws-dynamodb-globaltable.json +++ b/server/schema/resources/aws-dynamodb-globaltable.json @@ -51,6 +51,9 @@ "WriteOnDemandThroughputSettings": { "$ref": "#/definitions/WriteOnDemandThroughputSettings" }, + "WarmThroughput": { + "$ref": "#/definitions/WarmThroughput" + }, "Replicas": { "type": "array", "uniqueItems": true, @@ -315,6 +318,9 @@ }, "WriteOnDemandThroughputSettings": { "$ref": "#/definitions/WriteOnDemandThroughputSettings" + }, + "WarmThroughput": { + "$ref": "#/definitions/WarmThroughput" } }, "required": [ @@ -584,6 +590,35 @@ "TargetValue" ], "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "WarmThroughput": { + "type": "object", + "additionalProperties": false, + "properties": { + "ReadUnitsPerSecond": { + "type": "integer", + "minimum": 1, + "markdownDescription": "\n\n---\n\nRequired: Conditional \nType: Integer \nUpdate requires: No interruption" + }, + "WriteUnitsPerSecond": { + "type": "integer", + "minimum": 1, + "markdownDescription": "\n\n---\n\nRequired: Conditional \nType: Integer \nUpdate requires: No interruption" + } + }, + "anyOf": [ + { + "required": [ + "ReadUnitsPerSecond" + ] + }, + { + "required": [ + "WriteUnitsPerSecond" + ] + } + ], + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" } }, "required": [ diff --git a/server/schema/resources/aws-dynamodb-table.json b/server/schema/resources/aws-dynamodb-table.json index 17767c38..7020b009 100644 --- a/server/schema/resources/aws-dynamodb-table.json +++ b/server/schema/resources/aws-dynamodb-table.json @@ -1,5 +1,10 @@ { "tagging": { + "permissions": [ + "dynamodb:TagResource", + "dynamodb:UntagResource", + "dynamodb:ListTagsOfResource" + ], "taggable": true, "tagOnCreate": true, "tagUpdatable": true, @@ -11,7 +16,7 @@ "/properties/Arn", "/properties/StreamArn" ], - "description": "The ``AWS::DynamoDB::Table`` resource creates a DDB table. For more information, see [CreateTable](https://docs.aws.amazon.com/amazondynamodb/latest/APIReference/API_CreateTable.html) in the *API Reference*.\n You should be aware of the following behaviors when working with DDB tables:\n + CFNlong typically creates DDB tables in parallel. However, if your template includes multiple DDB tables with indexes, you must declare dependencies so that the tables are created sequentially. DDBlong limits the number of tables with secondary indexes that are in the creating state. If you create multiple tables with indexes at the same time, DDB returns an error and the stack operation fails. For an example, see [DynamoDB Table with a DependsOn Attribute](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dynamodb-table.html#aws-resource-dynamodb-table--examples--DynamoDB_Table_with_a_DependsOn_Attribute).\n \n Our guidance is to use the latest schema documented here for your CFNlong templates. This schema supports the provisioning of all table settings below. When using this schema in your CFNlong templates, please ensure that your Identity and Access Management (IAM) policies are updated with appropriate permissions to allow for the authorization of these setting changes.", + "description": "The ``AWS::DynamoDB::Table`` resource creates a DDB table. For more information, see [CreateTable](https://docs.aws.amazon.com/amazondynamodb/latest/APIReference/API_CreateTable.html) in the *API Reference*.\n You should be aware of the following behaviors when working with DDB tables:\n + CFNlong typically creates DDB tables in parallel. However, if your template includes multiple DDB tables with indexes, you must declare dependencies so that the tables are created sequentially. DDBlong limits the number of tables with secondary indexes that are in the creating state. If you create multiple tables with indexes at the same time, DDB returns an error and the stack operation fails. For an example, see [DynamoDB Table with a DependsOn Attribute](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dynamodb-table.html#aws-resource-dynamodb-table--examples--DynamoDB_Table_with_a_DependsOn_Attribute).\n \n Our guidance is to use the latest schema documented for your CFNlong templates. This schema supports the provisioning of all table settings below. When using this schema in your CFNlong templates, please ensure that your Identity and Access Management (IAM) policies are updated with appropriate permissions to allow for the authorization of these setting changes.", "createOnlyProperties": [ "/properties/TableName", "/properties/ImportSourceSpecification" @@ -437,6 +442,36 @@ ], "markdownDescription": "Throughput for the specified table, which consists of values for ``ReadCapacityUnits`` and ``WriteCapacityUnits``. For more information about the contents of a provisioned throughput structure, see [Table ProvisionedThroughput](https://docs.aws.amazon.com/amazondynamodb/latest/APIReference/API_ProvisionedThroughput.html).\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, + "WarmThroughput": { + "anyOf": [ + { + "required": [ + "ReadUnitsPerSecond" + ] + }, + { + "required": [ + "WriteUnitsPerSecond" + ] + } + ], + "description": "", + "additionalProperties": false, + "type": "object", + "properties": { + "ReadUnitsPerSecond": { + "type": "integer", + "minimum": 1, + "markdownDescription": "\n\n---\n\nRequired: Conditional \nType: Integer \nUpdate requires: No interruption" + }, + "WriteUnitsPerSecond": { + "type": "integer", + "minimum": 1, + "markdownDescription": "\n\n---\n\nRequired: Conditional \nType: Integer \nUpdate requires: No interruption" + } + }, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, "GlobalSecondaryIndex": { "description": "Represents the properties of a global secondary index.", "additionalProperties": false, @@ -475,6 +510,11 @@ "$ref": "#/definitions/KeySchema" }, "markdownDescription": "The complete key schema for a global secondary index, which consists of one or more pairs of attribute names and key types:\n + ``HASH`` - partition key\n + ``RANGE`` - sort key\n \n The partition key of an item is also known as its *hash attribute*. The term \"hash attribute\" derives from DynamoDB's usage of an internal hash function to evenly distribute data items across partitions, based on their partition key values.\n The sort key of an item is also known as its *range attribute*. The term \"range attribute\" derives from the way DynamoDB stores items with the same partition key physically close together, in sorted order by the sort key value.\n\n---\n\nRequired: Yes \nType: Array \nUpdate requires: No interruption" + }, + "WarmThroughput": { + "description": "", + "$ref": "#/definitions/WarmThroughput", + "markdownDescription": "\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" } }, "required": [ @@ -671,6 +711,11 @@ "$ref": "#/definitions/ProvisionedThroughput", "markdownDescription": "Throughput for the specified table, which consists of values for ``ReadCapacityUnits`` and ``WriteCapacityUnits``. For more information about the contents of a provisioned throughput structure, see [Amazon DynamoDB Table ProvisionedThroughput](https://docs.aws.amazon.com/amazondynamodb/latest/APIReference/API_ProvisionedThroughput.html). \n If you set ``BillingMode`` as ``PROVISIONED``, you must specify this property. If you set ``BillingMode`` as ``PAY_PER_REQUEST``, you cannot specify this property.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" }, + "WarmThroughput": { + "description": "", + "$ref": "#/definitions/WarmThroughput", + "markdownDescription": "\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" + }, "TableName": { "description": "A name for the table. If you don't specify a name, CFNlong generates a unique physical ID and uses that ID for the table name. For more information, see [Name Type](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-name.html).\n If you specify a name, you cannot perform updates that require replacement of this resource. You can perform updates that require no or some interruption. If you must replace the resource, specify a new name.", "type": "string", diff --git a/server/schema/resources/aws-ec2-capacityreservation.json b/server/schema/resources/aws-ec2-capacityreservation.json index 9a1edcce..268ad4cc 100644 --- a/server/schema/resources/aws-ec2-capacityreservation.json +++ b/server/schema/resources/aws-ec2-capacityreservation.json @@ -59,6 +59,10 @@ "InstanceMatchCriteria": { "type": "string", "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "UnusedReservationBillingOwnerId": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" } }, "definitions": { @@ -127,6 +131,9 @@ "/properties/AvailableInstanceCount", "/properties/TotalInstanceCount" ], + "writeOnlyProperties": [ + "/properties/UnusedReservationBillingOwnerId" + ], "handlers": { "create": { "permissions": [ @@ -160,6 +167,7 @@ "ec2:CreateCapacityReservation", "ec2:DescribeCapacityReservations", "ec2:CancelCapacityReservation", + "ec2:AssociateCapacityReservationBillingOwner", "ec2:CreateTags", "ec2:DeleteTags" ] diff --git a/server/schema/resources/aws-ec2-carriergateway.json b/server/schema/resources/aws-ec2-carriergateway.json index 6adfff50..a51a028f 100644 --- a/server/schema/resources/aws-ec2-carriergateway.json +++ b/server/schema/resources/aws-ec2-carriergateway.json @@ -58,6 +58,18 @@ "primaryIdentifier": [ "/properties/CarrierGatewayId" ], + "tagging": { + "taggable": true, + "tagOnCreate": true, + "tagUpdatable": true, + "cloudFormationSystemTags": true, + "tagProperty": "/properties/Tags", + "permissions": [ + "ec2:CreateTags", + "ec2:DeleteTags", + "ec2:DescribeTags" + ] + }, "handlers": { "create": { "permissions": [ @@ -68,14 +80,16 @@ }, "read": { "permissions": [ - "ec2:DescribeCarrierGateways" + "ec2:DescribeCarrierGateways", + "ec2:DescribeTags" ] }, "update": { "permissions": [ "ec2:DescribeCarrierGateways", "ec2:CreateTags", - "ec2:DeleteTags" + "ec2:DeleteTags", + "ec2:DescribeTags" ] }, "delete": { diff --git a/server/schema/resources/aws-ec2-ec2fleet.json b/server/schema/resources/aws-ec2-ec2fleet.json index 173438ed..ec151561 100644 --- a/server/schema/resources/aws-ec2-ec2fleet.json +++ b/server/schema/resources/aws-ec2-ec2fleet.json @@ -1,76 +1,225 @@ { + "handlers": { + "read": { + "permissions": [ + "ec2:DescribeFleets" + ] + }, + "create": { + "permissions": [ + "ec2:CreateFleet", + "ec2:DescribeFleets" + ] + }, + "update": { + "permissions": [ + "ec2:ModifyFleet", + "ec2:DescribeFleets" + ] + }, + "list": { + "permissions": [ + "ec2:DescribeFleets" + ] + }, + "delete": { + "permissions": [ + "ec2:DescribeFleets", + "ec2:DeleteFleets" + ] + } + }, "typeName": "AWS::EC2::EC2Fleet", + "readOnlyProperties": [ + "/properties/FleetId" + ], "description": "Resource Type definition for AWS::EC2::EC2Fleet", + "createOnlyProperties": [ + "/properties/LaunchTemplateConfigs", + "/properties/OnDemandOptions", + "/properties/ReplaceUnhealthyInstances", + "/properties/SpotOptions", + "/properties/TagSpecifications", + "/properties/TerminateInstancesWithExpiration", + "/properties/Type", + "/properties/ValidFrom", + "/properties/ValidUntil" + ], "additionalProperties": false, - "properties": { - "TargetCapacitySpecification": { - "$ref": "#/definitions/TargetCapacitySpecificationRequest" - }, - "OnDemandOptions": { - "$ref": "#/definitions/OnDemandOptionsRequest" - }, - "Type": { - "type": "string", - "enum": [ - "maintain", - "request", - "instant" + "primaryIdentifier": [ + "/properties/FleetId" + ], + "definitions": { + "TargetCapacitySpecificationRequest": { + "additionalProperties": false, + "type": "object", + "properties": { + "DefaultTargetCapacityType": { + "type": "string", + "enum": [ + "on-demand", + "spot" + ], + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: on-demand | spot \nUpdate requires: No interruption" + }, + "TotalTargetCapacity": { + "type": "integer", + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: Integer \nUpdate requires: No interruption" + }, + "OnDemandTargetCapacity": { + "type": "integer", + "markdownDescription": "\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" + }, + "SpotTargetCapacity": { + "type": "integer", + "markdownDescription": "\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" + }, + "TargetCapacityUnitType": { + "type": "string", + "enum": [ + "vcpu", + "memory-mib", + "units" + ], + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: vcpu | memory-mib | units \nUpdate requires: No interruption" + } + }, + "required": [ + "TotalTargetCapacity" ], - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: maintain | request | instant \nUpdate requires: Replacement" + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, - "ExcessCapacityTerminationPolicy": { - "type": "string", - "enum": [ - "termination", - "no-termination" + "FleetLaunchTemplateSpecificationRequest": { + "additionalProperties": false, + "type": "object", + "properties": { + "LaunchTemplateName": { + "minLength": 3, + "type": "string", + "maxLength": 128, + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMinimum Length: 3 \nMaximum Length: 128 \nPattern: [a-zA-Z0-9\\(\\)\\.\\-/_]+ \nUpdate requires: No interruption" + }, + "Version": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" + }, + "LaunchTemplateId": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + } + }, + "required": [ + "Version" ], - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: termination | no-termination \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, - "TagSpecifications": { - "type": "array", - "uniqueItems": false, - "items": { - "$ref": "#/definitions/TagSpecification" + "MemoryGiBPerVCpuRequest": { + "additionalProperties": false, + "type": "object", + "properties": { + "Min": { + "type": "number", + "markdownDescription": "\n\n---\n\nRequired: No \nType: Number \nUpdate requires: No interruption" + }, + "Max": { + "type": "number", + "markdownDescription": "\n\n---\n\nRequired: No \nType: Number \nUpdate requires: No interruption" + } }, - "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: Replacement" + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, - "SpotOptions": { - "$ref": "#/definitions/SpotOptionsRequest" + "CapacityReservationOptionsRequest": { + "additionalProperties": false, + "type": "object", + "properties": { + "UsageStrategy": { + "type": "string", + "enum": [ + "use-capacity-reservations-first" + ], + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: use-capacity-reservations-first \nUpdate requires: No interruption" + } + }, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, - "ValidFrom": { - "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: Replacement" + "TotalLocalStorageGBRequest": { + "additionalProperties": false, + "type": "object", + "properties": { + "Min": { + "type": "number", + "markdownDescription": "\n\n---\n\nRequired: No \nType: Number \nUpdate requires: No interruption" + }, + "Max": { + "type": "number", + "markdownDescription": "\n\n---\n\nRequired: No \nType: Number \nUpdate requires: No interruption" + } + }, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, - "ReplaceUnhealthyInstances": { - "type": "boolean", - "markdownDescription": "\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: Replacement" + "NetworkBandwidthGbpsRequest": { + "additionalProperties": false, + "type": "object", + "properties": { + "Min": { + "type": "number", + "markdownDescription": "\n\n---\n\nRequired: No \nType: Number \nUpdate requires: No interruption" + }, + "Max": { + "type": "number", + "markdownDescription": "\n\n---\n\nRequired: No \nType: Number \nUpdate requires: No interruption" + } + }, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, - "LaunchTemplateConfigs": { - "type": "array", - "uniqueItems": false, - "maxItems": 50, - "items": { - "$ref": "#/definitions/FleetLaunchTemplateConfigRequest" + "VCpuCountRangeRequest": { + "additionalProperties": false, + "type": "object", + "properties": { + "Min": { + "type": "integer", + "markdownDescription": "\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" + }, + "Max": { + "type": "integer", + "markdownDescription": "\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" + } }, - "markdownDescription": "\n\n---\n\nRequired: Yes \nType: Array \nUpdate requires: Replacement" + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, - "TerminateInstancesWithExpiration": { - "type": "boolean", - "markdownDescription": "\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: Replacement" + "BaselineEbsBandwidthMbpsRequest": { + "additionalProperties": false, + "type": "object", + "properties": { + "Min": { + "type": "integer", + "markdownDescription": "\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" + }, + "Max": { + "type": "integer", + "markdownDescription": "\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" + } + }, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, - "ValidUntil": { - "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: Replacement" + "NetworkInterfaceCountRequest": { + "additionalProperties": false, + "type": "object", + "properties": { + "Min": { + "type": "integer", + "markdownDescription": "\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" + }, + "Max": { + "type": "integer", + "markdownDescription": "\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" + } + }, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, - "Context": { - "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" - } - }, - "definitions": { "OnDemandOptionsRequest": { - "type": "object", "additionalProperties": false, + "type": "object", "properties": { "SingleAvailabilityZone": { "type": "boolean", @@ -99,12 +248,9 @@ "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, "SpotOptionsRequest": { - "type": "object", "additionalProperties": false, + "type": "object", "properties": { - "MaintenanceStrategies": { - "$ref": "#/definitions/MaintenanceStrategies" - }, "SingleAvailabilityZone": { "type": "boolean", "markdownDescription": "\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" @@ -136,6 +282,9 @@ "type": "string", "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, + "MaintenanceStrategies": { + "$ref": "#/definitions/MaintenanceStrategies" + }, "InstanceInterruptionBehavior": { "type": "string", "enum": [ @@ -152,72 +301,9 @@ }, "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, - "TargetCapacitySpecificationRequest": { - "type": "object", - "additionalProperties": false, - "properties": { - "DefaultTargetCapacityType": { - "type": "string", - "enum": [ - "on-demand", - "spot" - ], - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: on-demand | spot \nUpdate requires: No interruption" - }, - "TargetCapacityUnitType": { - "type": "string", - "enum": [ - "vcpu", - "memory-mib", - "units" - ], - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: vcpu | memory-mib | units \nUpdate requires: No interruption" - }, - "TotalTargetCapacity": { - "type": "integer", - "markdownDescription": "\n\n---\n\nRequired: Yes \nType: Integer \nUpdate requires: No interruption" - }, - "OnDemandTargetCapacity": { - "type": "integer", - "markdownDescription": "\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" - }, - "SpotTargetCapacity": { - "type": "integer", - "markdownDescription": "\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" - } - }, - "required": [ - "TotalTargetCapacity" - ], - "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" - }, - "FleetLaunchTemplateSpecificationRequest": { - "type": "object", - "additionalProperties": false, - "properties": { - "LaunchTemplateName": { - "type": "string", - "minLength": 3, - "maxLength": 128, - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMinimum Length: 3 \nMaximum Length: 128 \nPattern: [a-zA-Z0-9\\(\\)\\.\\-/_]+ \nUpdate requires: No interruption" - }, - "LaunchTemplateId": { - "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" - }, - "Version": { - "type": "string", - "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" - } - }, - "required": [ - "Version" - ], - "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" - }, "Placement": { - "type": "object", "additionalProperties": false, + "type": "object", "properties": { "GroupName": { "type": "string", @@ -254,237 +340,185 @@ }, "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, - "FleetLaunchTemplateConfigRequest": { - "type": "object", + "PerformanceFactorReferenceRequest": { "additionalProperties": false, + "type": "object", "properties": { - "LaunchTemplateSpecification": { - "$ref": "#/definitions/FleetLaunchTemplateSpecificationRequest" - }, - "Overrides": { - "type": "array", - "uniqueItems": false, - "items": { - "$ref": "#/definitions/FleetLaunchTemplateOverridesRequest" - }, - "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + "InstanceFamily": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" } }, "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, - "CapacityReservationOptionsRequest": { - "type": "object", + "CpuPerformanceFactorRequest": { "additionalProperties": false, + "type": "object", "properties": { - "UsageStrategy": { - "type": "string", - "enum": [ - "use-capacity-reservations-first" - ], - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: use-capacity-reservations-first \nUpdate requires: No interruption" + "References": { + "uniqueItems": false, + "type": "array", + "items": { + "$ref": "#/definitions/PerformanceFactorReferenceRequest" + }, + "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" } }, "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, - "FleetLaunchTemplateOverridesRequest": { - "type": "object", + "MaintenanceStrategies": { "additionalProperties": false, + "type": "object", "properties": { - "WeightedCapacity": { - "type": "number", - "markdownDescription": "\n\n---\n\nRequired: No \nType: Number \nUpdate requires: No interruption" - }, - "Placement": { - "$ref": "#/definitions/Placement" - }, - "Priority": { - "type": "number", - "markdownDescription": "\n\n---\n\nRequired: No \nType: Number \nUpdate requires: No interruption" - }, - "AvailabilityZone": { - "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" - }, - "SubnetId": { - "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" - }, - "InstanceType": { - "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" - }, - "InstanceRequirements": { - "$ref": "#/definitions/InstanceRequirementsRequest" - }, - "MaxPrice": { - "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "CapacityRebalance": { + "$ref": "#/definitions/CapacityRebalance" } }, "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, - "Tag": { - "type": "object", + "AcceleratorCountRequest": { "additionalProperties": false, + "type": "object", "properties": { - "Value": { - "type": "string", - "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" + "Min": { + "type": "integer", + "markdownDescription": "\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" }, - "Key": { - "type": "string", - "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" + "Max": { + "type": "integer", + "markdownDescription": "\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" } }, - "required": [ - "Value", - "Key" - ], "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, - "TagSpecification": { - "type": "object", + "CapacityRebalance": { "additionalProperties": false, + "type": "object", "properties": { - "ResourceType": { + "TerminationDelay": { + "type": "integer", + "markdownDescription": "\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" + }, + "ReplacementStrategy": { "type": "string", "enum": [ - "client-vpn-endpoint", - "customer-gateway", - "dedicated-host", - "dhcp-options", - "egress-only-internet-gateway", - "elastic-gpu", - "elastic-ip", - "export-image-task", - "export-instance-task", - "fleet", - "fpga-image", - "host-reservation", - "image", - "import-image-task", - "import-snapshot-task", - "instance", - "internet-gateway", - "key-pair", - "launch-template", - "local-gateway-route-table-vpc-association", - "natgateway", - "network-acl", - "network-insights-analysis", - "network-insights-path", - "network-interface", - "placement-group", - "reserved-instances", - "route-table", - "security-group", - "snapshot", - "spot-fleet-request", - "spot-instances-request", - "subnet", - "traffic-mirror-filter", - "traffic-mirror-session", - "traffic-mirror-target", - "transit-gateway", - "transit-gateway-attachment", - "transit-gateway-connect-peer", - "transit-gateway-multicast-domain", - "transit-gateway-route-table", - "volume", - "vpc", - "vpc-flow-log", - "vpc-peering-connection", - "vpn-connection", - "vpn-gateway" + "launch", + "launch-before-terminate" ], - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: client-vpn-endpoint | customer-gateway | dedicated-host | dhcp-options | egress-only-internet-gateway | elastic-gpu | elastic-ip | export-image-task | export-instance-task | fleet | fpga-image | host-reservation | image | import-image-task | import-snapshot-task | instance | internet-gateway | key-pair | launch-template | local-gateway-route-table-vpc-association | natgateway | network-acl | network-insights-analysis | network-insights-path | network-interface | placement-group | reserved-instances | route-table | security-group | snapshot | spot-fleet-request | spot-instances-request | subnet | traffic-mirror-filter | traffic-mirror-session | traffic-mirror-target | transit-gateway | transit-gateway-attachment | transit-gateway-connect-peer | transit-gateway-multicast-domain | transit-gateway-route-table | volume | vpc | vpc-flow-log | vpc-peering-connection | vpn-connection | vpn-gateway \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: launch | launch-before-terminate \nUpdate requires: No interruption" + } + }, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "FleetLaunchTemplateConfigRequest": { + "additionalProperties": false, + "type": "object", + "properties": { + "LaunchTemplateSpecification": { + "$ref": "#/definitions/FleetLaunchTemplateSpecificationRequest" }, - "Tags": { - "type": "array", + "Overrides": { "uniqueItems": false, + "type": "array", "items": { - "$ref": "#/definitions/Tag" + "$ref": "#/definitions/FleetLaunchTemplateOverridesRequest" }, "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" } }, "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, - "InstanceRequirementsRequest": { - "type": "object", + "FleetLaunchTemplateOverridesRequest": { "additionalProperties": false, + "type": "object", "properties": { - "VCpuCount": { - "$ref": "#/definitions/VCpuCountRangeRequest" + "WeightedCapacity": { + "type": "number", + "markdownDescription": "\n\n---\n\nRequired: No \nType: Number \nUpdate requires: No interruption" }, - "MemoryMiB": { - "$ref": "#/definitions/MemoryMiBRequest" + "Placement": { + "$ref": "#/definitions/Placement" }, - "CpuManufacturers": { - "type": "array", + "Priority": { + "type": "number", + "markdownDescription": "\n\n---\n\nRequired: No \nType: Number \nUpdate requires: No interruption" + }, + "AvailabilityZone": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "SubnetId": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "InstanceRequirements": { + "$ref": "#/definitions/InstanceRequirementsRequest" + }, + "InstanceType": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "MaxPrice": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + } + }, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "InstanceRequirementsRequest": { + "additionalProperties": false, + "type": "object", + "properties": { + "InstanceGenerations": { "uniqueItems": false, + "type": "array", "items": { "type": "string", "enum": [ - "intel", - "amd", - "amazon-web-services" + "current", + "previous" ], - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: intel | amd | amazon-web-services \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: current | previous \nUpdate requires: No interruption" }, "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" }, "MemoryGiBPerVCpu": { "$ref": "#/definitions/MemoryGiBPerVCpuRequest" }, - "AllowedInstanceTypes": { - "type": "array", + "AcceleratorTypes": { "uniqueItems": false, - "items": { - "type": "string", - "minLength": 1, - "maxLength": 30, - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 30 \nPattern: [a-zA-Z0-9\\.\\*]+ \nUpdate requires: No interruption" - }, - "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" - }, - "ExcludedInstanceTypes": { "type": "array", - "uniqueItems": false, "items": { "type": "string", - "minLength": 1, - "maxLength": 30, - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 30 \nPattern: [a-zA-Z0-9\\.\\*]+ \nUpdate requires: No interruption" + "enum": [ + "gpu", + "fpga", + "inference" + ], + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: gpu | fpga | inference \nUpdate requires: No interruption" }, "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" }, - "InstanceGenerations": { - "type": "array", + "VCpuCount": { + "$ref": "#/definitions/VCpuCountRangeRequest" + }, + "AcceleratorManufacturers": { "uniqueItems": false, + "type": "array", "items": { "type": "string", "enum": [ - "current", - "previous" + "amazon-web-services", + "amd", + "habana", + "nvidia", + "xilinx" ], - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: current | previous \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: amazon-web-services | amd | habana | nvidia | xilinx \nUpdate requires: No interruption" }, "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" }, - "SpotMaxPricePercentageOverLowestPrice": { - "type": "integer", - "markdownDescription": "\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" - }, - "OnDemandMaxPricePercentageOverLowestPrice": { - "type": "integer", - "markdownDescription": "\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" - }, - "MaxSpotPriceAsPercentageOfOptimalOnDemandPrice": { - "type": "integer", - "markdownDescription": "\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" - }, - "BareMetal": { + "LocalStorage": { "type": "string", "enum": [ "included", @@ -493,7 +527,22 @@ ], "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: included | required | excluded \nUpdate requires: No interruption" }, - "BurstablePerformance": { + "CpuManufacturers": { + "uniqueItems": false, + "type": "array", + "items": { + "type": "string", + "enum": [ + "intel", + "amd", + "amazon-web-services", + "apple" + ], + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: intel | amd | amazon-web-services | apple \nUpdate requires: No interruption" + }, + "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + }, + "BareMetal": { "type": "string", "enum": [ "included", @@ -506,24 +555,20 @@ "type": "boolean", "markdownDescription": "\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" }, - "NetworkBandwidthGbps": { - "$ref": "#/definitions/NetworkBandwidthGbpsRequest" + "MaxSpotPriceAsPercentageOfOptimalOnDemandPrice": { + "type": "integer", + "markdownDescription": "\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" }, - "NetworkInterfaceCount": { - "$ref": "#/definitions/NetworkInterfaceCountRequest" + "OnDemandMaxPricePercentageOverLowestPrice": { + "type": "integer", + "markdownDescription": "\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" }, - "LocalStorage": { - "type": "string", - "enum": [ - "included", - "required", - "excluded" - ], - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: included | required | excluded \nUpdate requires: No interruption" + "MemoryMiB": { + "$ref": "#/definitions/MemoryMiBRequest" }, "LocalStorageTypes": { - "type": "array", "uniqueItems": false, + "type": "array", "items": { "type": "string", "enum": [ @@ -534,48 +579,47 @@ }, "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" }, - "TotalLocalStorageGB": { - "$ref": "#/definitions/TotalLocalStorageGBRequest" - }, - "BaselineEbsBandwidthMbps": { - "$ref": "#/definitions/BaselineEbsBandwidthMbpsRequest" + "NetworkInterfaceCount": { + "$ref": "#/definitions/NetworkInterfaceCountRequest" }, - "AcceleratorTypes": { - "type": "array", + "ExcludedInstanceTypes": { "uniqueItems": false, + "type": "array", "items": { + "minLength": 1, "type": "string", - "enum": [ - "gpu", - "fpga", - "inference" - ], - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: gpu | fpga | inference \nUpdate requires: No interruption" + "maxLength": 30, + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 30 \nPattern: [a-zA-Z0-9\\.\\*]+ \nUpdate requires: No interruption" }, "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" }, - "AcceleratorCount": { - "$ref": "#/definitions/AcceleratorCountRequest" - }, - "AcceleratorManufacturers": { - "type": "array", + "AllowedInstanceTypes": { "uniqueItems": false, + "type": "array", "items": { + "minLength": 1, "type": "string", - "enum": [ - "amazon-web-services", - "amd", - "habana", - "nvidia", - "xilinx" - ], - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: amazon-web-services | amd | habana | nvidia | xilinx \nUpdate requires: No interruption" + "maxLength": 30, + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 30 \nPattern: [a-zA-Z0-9\\.\\*]+ \nUpdate requires: No interruption" }, "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" }, + "NetworkBandwidthGbps": { + "$ref": "#/definitions/NetworkBandwidthGbpsRequest" + }, + "AcceleratorCount": { + "$ref": "#/definitions/AcceleratorCountRequest" + }, + "SpotMaxPricePercentageOverLowestPrice": { + "type": "integer", + "markdownDescription": "\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" + }, + "BaselineEbsBandwidthMbps": { + "$ref": "#/definitions/BaselineEbsBandwidthMbpsRequest" + }, "AcceleratorNames": { - "type": "array", "uniqueItems": false, + "type": "array", "items": { "type": "string", "enum": [ @@ -598,73 +642,25 @@ }, "AcceleratorTotalMemoryMiB": { "$ref": "#/definitions/AcceleratorTotalMemoryMiBRequest" - } - }, - "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" - }, - "VCpuCountRangeRequest": { - "type": "object", - "additionalProperties": false, - "properties": { - "Min": { - "type": "integer", - "markdownDescription": "\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" - }, - "Max": { - "type": "integer", - "markdownDescription": "\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" - } - }, - "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" - }, - "MemoryMiBRequest": { - "type": "object", - "additionalProperties": false, - "properties": { - "Min": { - "type": "integer", - "markdownDescription": "\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" }, - "Max": { - "type": "integer", - "markdownDescription": "\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" - } - }, - "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" - }, - "MemoryGiBPerVCpuRequest": { - "type": "object", - "additionalProperties": false, - "properties": { - "Min": { - "type": "number", - "markdownDescription": "\n\n---\n\nRequired: No \nType: Number \nUpdate requires: No interruption" + "BurstablePerformance": { + "type": "string", + "enum": [ + "included", + "required", + "excluded" + ], + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: included | required | excluded \nUpdate requires: No interruption" }, - "Max": { - "type": "number", - "markdownDescription": "\n\n---\n\nRequired: No \nType: Number \nUpdate requires: No interruption" + "TotalLocalStorageGB": { + "$ref": "#/definitions/TotalLocalStorageGBRequest" } }, "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, - "NetworkBandwidthGbpsRequest": { - "type": "object", + "MemoryMiBRequest": { "additionalProperties": false, - "properties": { - "Min": { - "type": "number", - "markdownDescription": "\n\n---\n\nRequired: No \nType: Number \nUpdate requires: No interruption" - }, - "Max": { - "type": "number", - "markdownDescription": "\n\n---\n\nRequired: No \nType: Number \nUpdate requires: No interruption" - } - }, - "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" - }, - "NetworkInterfaceCountRequest": { "type": "object", - "additionalProperties": false, "properties": { "Min": { "type": "integer", @@ -677,54 +673,87 @@ }, "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, - "TotalLocalStorageGBRequest": { - "type": "object", + "TagSpecification": { "additionalProperties": false, - "properties": { - "Min": { - "type": "number", - "markdownDescription": "\n\n---\n\nRequired: No \nType: Number \nUpdate requires: No interruption" - }, - "Max": { - "type": "number", - "markdownDescription": "\n\n---\n\nRequired: No \nType: Number \nUpdate requires: No interruption" - } - }, - "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" - }, - "BaselineEbsBandwidthMbpsRequest": { "type": "object", - "additionalProperties": false, "properties": { - "Min": { - "type": "integer", - "markdownDescription": "\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" + "ResourceType": { + "type": "string", + "enum": [ + "client-vpn-endpoint", + "customer-gateway", + "dedicated-host", + "dhcp-options", + "egress-only-internet-gateway", + "elastic-gpu", + "elastic-ip", + "export-image-task", + "export-instance-task", + "fleet", + "fpga-image", + "host-reservation", + "image", + "import-image-task", + "import-snapshot-task", + "instance", + "internet-gateway", + "key-pair", + "launch-template", + "local-gateway-route-table-vpc-association", + "natgateway", + "network-acl", + "network-insights-analysis", + "network-insights-path", + "network-interface", + "placement-group", + "reserved-instances", + "route-table", + "security-group", + "snapshot", + "spot-fleet-request", + "spot-instances-request", + "subnet", + "traffic-mirror-filter", + "traffic-mirror-session", + "traffic-mirror-target", + "transit-gateway", + "transit-gateway-attachment", + "transit-gateway-connect-peer", + "transit-gateway-multicast-domain", + "transit-gateway-route-table", + "volume", + "vpc", + "vpc-flow-log", + "vpc-peering-connection", + "vpn-connection", + "vpn-gateway" + ], + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: client-vpn-endpoint | customer-gateway | dedicated-host | dhcp-options | egress-only-internet-gateway | elastic-gpu | elastic-ip | export-image-task | export-instance-task | fleet | fpga-image | host-reservation | image | import-image-task | import-snapshot-task | instance | internet-gateway | key-pair | launch-template | local-gateway-route-table-vpc-association | natgateway | network-acl | network-insights-analysis | network-insights-path | network-interface | placement-group | reserved-instances | route-table | security-group | snapshot | spot-fleet-request | spot-instances-request | subnet | traffic-mirror-filter | traffic-mirror-session | traffic-mirror-target | transit-gateway | transit-gateway-attachment | transit-gateway-connect-peer | transit-gateway-multicast-domain | transit-gateway-route-table | volume | vpc | vpc-flow-log | vpc-peering-connection | vpn-connection | vpn-gateway \nUpdate requires: No interruption" }, - "Max": { - "type": "integer", - "markdownDescription": "\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" + "Tags": { + "uniqueItems": false, + "type": "array", + "items": { + "$ref": "#/definitions/Tag" + }, + "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" } }, "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, - "AcceleratorCountRequest": { - "type": "object", + "BaselinePerformanceFactorsRequest": { "additionalProperties": false, + "type": "object", "properties": { - "Min": { - "type": "integer", - "markdownDescription": "\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" - }, - "Max": { - "type": "integer", - "markdownDescription": "\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" + "Cpu": { + "$ref": "#/definitions/CpuPerformanceFactorRequest" } }, "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, "AcceleratorTotalMemoryMiBRequest": { - "type": "object", "additionalProperties": false, + "type": "object", "properties": { "Min": { "type": "integer", @@ -737,87 +766,95 @@ }, "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, - "MaintenanceStrategies": { - "type": "object", + "Tag": { "additionalProperties": false, - "properties": { - "CapacityRebalance": { - "$ref": "#/definitions/CapacityRebalance" - } - }, - "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" - }, - "CapacityRebalance": { "type": "object", - "additionalProperties": false, "properties": { - "ReplacementStrategy": { + "Value": { "type": "string", - "enum": [ - "launch", - "launch-before-terminate" - ], - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: launch | launch-before-terminate \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" }, - "TerminationDelay": { - "type": "integer", - "markdownDescription": "\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" + "Key": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" } }, + "required": [ + "Value", + "Key" + ], "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" } }, - "required": [ - "TargetCapacitySpecification", - "LaunchTemplateConfigs" - ], - "createOnlyProperties": [ - "/properties/LaunchTemplateConfigs", - "/properties/OnDemandOptions", - "/properties/ReplaceUnhealthyInstances", - "/properties/SpotOptions", - "/properties/TagSpecifications", - "/properties/TerminateInstancesWithExpiration", - "/properties/Type", - "/properties/ValidFrom", - "/properties/ValidUntil" - ], - "primaryIdentifier": [ - "/properties/FleetId" - ], - "readOnlyProperties": [ - "/properties/FleetId" - ], - "handlers": { - "create": { - "permissions": [ - "ec2:CreateFleet", - "ec2:DescribeFleets" - ] + "properties": { + "Context": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, - "delete": { - "permissions": [ - "ec2:DescribeFleets", - "ec2:DeleteFleets" - ] + "TargetCapacitySpecification": { + "$ref": "#/definitions/TargetCapacitySpecificationRequest" }, - "list": { - "permissions": [ - "ec2:DescribeFleets" - ] + "OnDemandOptions": { + "$ref": "#/definitions/OnDemandOptionsRequest" }, - "read": { - "permissions": [ - "ec2:DescribeFleets" - ] + "ExcessCapacityTerminationPolicy": { + "type": "string", + "enum": [ + "termination", + "no-termination" + ], + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: termination | no-termination \nUpdate requires: No interruption" }, - "update": { - "permissions": [ - "ec2:ModifyFleet", - "ec2:DescribeFleets" - ] + "TagSpecifications": { + "uniqueItems": false, + "type": "array", + "items": { + "$ref": "#/definitions/TagSpecification" + }, + "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: Replacement" + }, + "SpotOptions": { + "$ref": "#/definitions/SpotOptionsRequest" + }, + "LaunchTemplateConfigs": { + "maxItems": 50, + "uniqueItems": false, + "type": "array", + "items": { + "$ref": "#/definitions/FleetLaunchTemplateConfigRequest" + }, + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: Array \nUpdate requires: Replacement" + }, + "TerminateInstancesWithExpiration": { + "type": "boolean", + "markdownDescription": "\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: Replacement" + }, + "ValidUntil": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: Replacement" + }, + "Type": { + "type": "string", + "enum": [ + "maintain", + "request", + "instant" + ], + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: maintain | request | instant \nUpdate requires: Replacement" + }, + "ValidFrom": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: Replacement" + }, + "ReplaceUnhealthyInstances": { + "type": "boolean", + "markdownDescription": "\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: Replacement" } }, + "required": [ + "TargetCapacitySpecification", + "LaunchTemplateConfigs" + ], "attributes": { "FleetId": { "type": "string", diff --git a/server/schema/resources/aws-ec2-eip.json b/server/schema/resources/aws-ec2-eip.json index d711c2d2..46a5e6c5 100644 --- a/server/schema/resources/aws-ec2-eip.json +++ b/server/schema/resources/aws-ec2-eip.json @@ -60,6 +60,16 @@ "type": "string", "markdownDescription": "The ID of an address pool that you own. Use this parameter to let Amazon EC2 select an address from the address pool.\n Updates to the ``PublicIpv4Pool`` property may require *some interruptions*. Updates on an EIP reassociates the address on its associated resource.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, + "IpamPoolId": { + "description": "", + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: Replacement" + }, + "Address": { + "description": "", + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: Replacement" + }, "Tags": { "description": "Any tags assigned to the Elastic IP address.\n Updates to the ``Tags`` property may require *some interruptions*. Updates on an EIP reassociates the address on its associated resource.", "type": "array", @@ -111,10 +121,14 @@ "createOnlyProperties": [ "/properties/Domain", "/properties/NetworkBorderGroup", - "/properties/TransferAddress" + "/properties/TransferAddress", + "/properties/IpamPoolId", + "/properties/Address" ], "writeOnlyProperties": [ - "/properties/TransferAddress" + "/properties/TransferAddress", + "/properties/IpamPoolId", + "/properties/Address" ], "readOnlyProperties": [ "/properties/PublicIp", diff --git a/server/schema/resources/aws-ec2-flowlog.json b/server/schema/resources/aws-ec2-flowlog.json index de8543fc..0993979b 100644 --- a/server/schema/resources/aws-ec2-flowlog.json +++ b/server/schema/resources/aws-ec2-flowlog.json @@ -154,7 +154,11 @@ "tagOnCreate": true, "tagUpdatable": true, "cloudFormationSystemTags": true, - "tagProperty": "/properties/Tags" + "tagProperty": "/properties/Tags", + "permissions": [ + "ec2:CreateTags", + "ec2:DeleteTags" + ] }, "primaryIdentifier": [ "/properties/Id" diff --git a/server/schema/resources/aws-ec2-launchtemplate.json b/server/schema/resources/aws-ec2-launchtemplate.json index 6bcfda17..21c160d9 100644 --- a/server/schema/resources/aws-ec2-launchtemplate.json +++ b/server/schema/resources/aws-ec2-launchtemplate.json @@ -304,6 +304,17 @@ }, "markdownDescription": "Amazon Elastic Graphics reached end of life on January 8, 2024. For workloads that require graphics acceleration, we recommend that you use Amazon EC2 G4ad, G4dn, or G5 instances.\n Specifies a specification for an Elastic GPU for an Amazon EC2 launch template.\n ``ElasticGpuSpecification`` is a property of [AWS::EC2::LaunchTemplate LaunchTemplateData](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-launchtemplatedata.html).\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, + "Cpu": { + "description": "", + "additionalProperties": false, + "type": "object", + "properties": { + "References": { + "$ref": "#/definitions/References" + } + }, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, "IamInstanceProfile": { "description": "Specifies an IAM instance profile, which is a container for an IAM role for your instance. You can use an IAM role to distribute your AWS credentials to your instances.\n If you are creating the launch template for use with an ASlong group, you can specify either the name or the ARN of the instance profile, but not both.\n ``IamInstanceProfile`` is a property of [AWS::EC2::LaunchTemplate LaunchTemplateData](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-launchtemplatedata.html).", "additionalProperties": false, @@ -626,6 +637,19 @@ }, "markdownDescription": "The minimum and maximum number of network interfaces.\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, + "Reference": { + "description": "", + "additionalProperties": false, + "type": "object", + "properties": { + "InstanceFamily": { + "description": "The instance family to refer. Ensure that you specify the correct family name. For example, C6i and C6g are valid values, but C6 is not.", + "type": "string", + "markdownDescription": "The instance family to refer. Ensure that you specify the correct family name. For example, C6i and C6g are valid values, but C6 is not.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + } + }, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, "CpuOptions": { "description": "Specifies the CPU options for an instance. For more information, see [Optimize CPU options](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-optimize-cpu.html) in the *User Guide*.\n ``CpuOptions`` is a property of [AWS::EC2::LaunchTemplate LaunchTemplateData](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-launchtemplatedata.html).", "additionalProperties": false, @@ -990,6 +1014,16 @@ }, "markdownDescription": "Specifies the market (purchasing) option for an instance.\n ``InstanceMarketOptions`` is a property of the [AWS::EC2::LaunchTemplate LaunchTemplateData](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-launchtemplatedata.html).\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, + "References": { + "uniqueItems": true, + "description": "A list of references to be used as baseline for the CPU performance. Currently, you can only specify a single reference across different instance type variations such as CPU manufacturers, architectures etc.", + "insertionOrder": true, + "type": "array", + "items": { + "$ref": "#/definitions/Reference" + }, + "markdownDescription": "A list of references to be used as baseline for the CPU performance. Currently, you can only specify a single reference across different instance type variations such as CPU manufacturers, architectures etc.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + }, "LaunchTemplateElasticInferenceAccelerator": { "description": "Specifies an elastic inference accelerator.\n ``LaunchTemplateElasticInferenceAccelerator`` is a property of [AWS::EC2::LaunchTemplate LaunchTemplateData](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-launchtemplatedata.html).", "additionalProperties": false, @@ -1031,16 +1065,6 @@ "additionalProperties": false, "type": "object", "properties": { - "LocalStorageTypes": { - "uniqueItems": false, - "description": "The type of local storage that is required.\n + For instance types with hard disk drive (HDD) storage, specify ``hdd``.\n + For instance types with solid state drive (SSD) storage, specify ``ssd``.\n \n Default: ``hdd`` and ``ssd``", - "type": "array", - "items": { - "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" - }, - "markdownDescription": "The type of local storage that is required.\n + For instance types with hard disk drive (HDD) storage, specify ``hdd``.\n + For instance types with solid state drive (SSD) storage, specify ``ssd``.\n \n Default: ``hdd`` and ``ssd``\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" - }, "InstanceGenerations": { "uniqueItems": false, "description": "Indicates whether current or previous generation instance types are included. The current generation instance types are recommended for use. Current generation instance types are typically the latest two to three generations in each instance family. For more information, see [Instance types](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html) in the *Amazon EC2 User Guide*.\n For current generation instance types, specify ``current``.\n For previous generation instance types, specify ``previous``.\n Default: Current and previous generation instance types", @@ -1051,11 +1075,6 @@ }, "markdownDescription": "Indicates whether current or previous generation instance types are included. The current generation instance types are recommended for use. Current generation instance types are typically the latest two to three generations in each instance family. For more information, see [Instance types](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html) in the *Amazon EC2 User Guide*.\n For current generation instance types, specify ``current``.\n For previous generation instance types, specify ``previous``.\n Default: Current and previous generation instance types\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" }, - "NetworkInterfaceCount": { - "description": "The minimum and maximum number of network interfaces.\n Default: No minimum or maximum limits", - "$ref": "#/definitions/NetworkInterfaceCount", - "markdownDescription": "The minimum and maximum number of network interfaces.\n Default: No minimum or maximum limits\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" - }, "MemoryGiBPerVCpu": { "description": "The minimum and maximum amount of memory per vCPU, in GiB.\n Default: No minimum or maximum limits", "$ref": "#/definitions/MemoryGiBPerVCpu", @@ -1076,17 +1095,6 @@ "$ref": "#/definitions/VCpuCount", "markdownDescription": "The minimum and maximum number of vCPUs.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" }, - "ExcludedInstanceTypes": { - "uniqueItems": false, - "description": "The instance types to exclude.\n You can use strings with one or more wild cards, represented by an asterisk (``*``), to exclude an instance type, size, or generation. The following are examples: ``m5.8xlarge``, ``c5*.*``, ``m5a.*``, ``r*``, ``*3*``.\n For example, if you specify ``c5*``,Amazon EC2 will exclude the entire C5 instance family, which includes all C5a and C5n instance types. If you specify ``m5a.*``, Amazon EC2 will exclude all the M5a instance types, but not the M5n instance types.\n If you specify ``ExcludedInstanceTypes``, you can't specify ``AllowedInstanceTypes``.\n Default: No excluded instance types", - "type": "array", - "items": { - "description": "The user data to make available to the instance.", - "type": "string", - "markdownDescription": "The user data to make available to the instance.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" - }, - "markdownDescription": "The instance types to exclude.\n You can use strings with one or more wild cards, represented by an asterisk (``*``), to exclude an instance type, size, or generation. The following are examples: ``m5.8xlarge``, ``c5*.*``, ``m5a.*``, ``r*``, ``*3*``.\n For example, if you specify ``c5*``,Amazon EC2 will exclude the entire C5 instance family, which includes all C5a and C5n instance types. If you specify ``m5a.*``, Amazon EC2 will exclude all the M5a instance types, but not the M5n instance types.\n If you specify ``ExcludedInstanceTypes``, you can't specify ``AllowedInstanceTypes``.\n Default: No excluded instance types\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" - }, "AcceleratorManufacturers": { "uniqueItems": false, "description": "Indicates whether instance types must have accelerators by specific manufacturers.\n + For instance types with AWS devices, specify ``amazon-web-services``.\n + For instance types with AMD devices, specify ``amd``.\n + For instance types with Habana devices, specify ``habana``.\n + For instance types with NVIDIA devices, specify ``nvidia``.\n + For instance types with Xilinx devices, specify ``xilinx``.\n \n Default: Any manufacturer", @@ -1097,16 +1105,6 @@ }, "markdownDescription": "Indicates whether instance types must have accelerators by specific manufacturers.\n + For instance types with AWS devices, specify ``amazon-web-services``.\n + For instance types with AMD devices, specify ``amd``.\n + For instance types with Habana devices, specify ``habana``.\n + For instance types with NVIDIA devices, specify ``nvidia``.\n + For instance types with Xilinx devices, specify ``xilinx``.\n \n Default: Any manufacturer\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" }, - "AllowedInstanceTypes": { - "uniqueItems": false, - "description": "The instance types to apply your specified attributes against. All other instance types are ignored, even if they match your specified attributes.\n You can use strings with one or more wild cards, represented by an asterisk (``*``), to allow an instance type, size, or generation. The following are examples: ``m5.8xlarge``, ``c5*.*``, ``m5a.*``, ``r*``, ``*3*``.\n For example, if you specify ``c5*``,Amazon EC2 will allow the entire C5 instance family, which includes all C5a and C5n instance types. If you specify ``m5a.*``, Amazon EC2 will allow all the M5a instance types, but not the M5n instance types.\n If you specify ``AllowedInstanceTypes``, you can't specify ``ExcludedInstanceTypes``.\n Default: All instance types", - "type": "array", - "items": { - "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" - }, - "markdownDescription": "The instance types to apply your specified attributes against. All other instance types are ignored, even if they match your specified attributes.\n You can use strings with one or more wild cards, represented by an asterisk (``*``), to allow an instance type, size, or generation. The following are examples: ``m5.8xlarge``, ``c5*.*``, ``m5a.*``, ``r*``, ``*3*``.\n For example, if you specify ``c5*``,Amazon EC2 will allow the entire C5 instance family, which includes all C5a and C5n instance types. If you specify ``m5a.*``, Amazon EC2 will allow all the M5a instance types, but not the M5n instance types.\n If you specify ``AllowedInstanceTypes``, you can't specify ``ExcludedInstanceTypes``.\n Default: All instance types\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" - }, "LocalStorage": { "description": "Indicates whether instance types with instance store volumes are included, excluded, or required. For more information, [Amazon EC2 instance store](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/InstanceStorage.html) in the *Amazon EC2 User Guide*.\n + To include instance types with instance store volumes, specify ``included``.\n + To require only instance types with instance store volumes, specify ``required``.\n + To exclude instance types with instance store volumes, specify ``excluded``.\n \n Default: ``included``", "type": "string", @@ -1122,16 +1120,6 @@ }, "markdownDescription": "The CPU manufacturers to include.\n + For instance types with Intel CPUs, specify ``intel``.\n + For instance types with AMD CPUs, specify ``amd``.\n + For instance types with AWS CPUs, specify ``amazon-web-services``.\n \n Don't confuse the CPU manufacturer with the CPU architecture. Instances will be launched with a compatible CPU architecture based on the Amazon Machine Image (AMI) that you specify in your launch template.\n Default: Any manufacturer\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" }, - "AcceleratorCount": { - "description": "The minimum and maximum number of accelerators (GPUs, FPGAs, or AWS Inferentia chips) on an instance.\n To exclude accelerator-enabled instance types, set ``Max`` to ``0``.\n Default: No minimum or maximum limits", - "$ref": "#/definitions/AcceleratorCount", - "markdownDescription": "The minimum and maximum number of accelerators (GPUs, FPGAs, or AWS Inferentia chips) on an instance.\n To exclude accelerator-enabled instance types, set ``Max`` to ``0``.\n Default: No minimum or maximum limits\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" - }, - "NetworkBandwidthGbps": { - "description": "The minimum and maximum amount of network bandwidth, in gigabits per second (Gbps).\n Default: No minimum or maximum limits", - "$ref": "#/definitions/NetworkBandwidthGbps", - "markdownDescription": "The minimum and maximum amount of network bandwidth, in gigabits per second (Gbps).\n Default: No minimum or maximum limits\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" - }, "BareMetal": { "description": "Indicates whether bare metal instance types must be included, excluded, or required.\n + To include bare metal instance types, specify ``included``.\n + To require only bare metal instance types, specify ``required``.\n + To exclude bare metal instance types, specify ``excluded``.\n \n Default: ``excluded``", "type": "string", @@ -1147,6 +1135,62 @@ "type": "integer", "markdownDescription": "[Price protection] The price protection threshold for Spot Instances, as a percentage of an identified On-Demand price. The identified On-Demand price is the price of the lowest priced current generation C, M, or R instance type with your specified attributes. If no current generation C, M, or R instance type matches your attributes, then the identified price is from the lowest priced current generation instance types, and failing that, from the lowest priced previous generation instance types that match your attributes. When Amazon EC2 selects instance types with your attributes, it will exclude instance types whose price exceeds your specified threshold.\n The parameter accepts an integer, which Amazon EC2 interprets as a percentage.\n If you set ``TargetCapacityUnitType`` to ``vcpu`` or ``memory-mib``, the price protection threshold is based on the per vCPU or per memory price instead of the per instance price.\n Only one of ``SpotMaxPricePercentageOverLowestPrice`` or ``MaxSpotPriceAsPercentageOfOptimalOnDemandPrice`` can be specified. If you don't specify either, Amazon EC2 will automatically apply optimal price protection to consistently select from a wide range of instance types. To indicate no price protection threshold for Spot Instances, meaning you want to consider all instance types that match your attributes, include one of these parameters and specify a high value, such as ``999999``.\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" }, + "OnDemandMaxPricePercentageOverLowestPrice": { + "description": "[Price protection] The price protection threshold for On-Demand Instances, as a percentage higher than an identified On-Demand price. The identified On-Demand price is the price of the lowest priced current generation C, M, or R instance type with your specified attributes. When Amazon EC2 selects instance types with your attributes, it will exclude instance types whose price exceeds your specified threshold.\n The parameter accepts an integer, which Amazon EC2 interprets as a percentage.\n To turn off price protection, specify a high value, such as ``999999``.\n This parameter is not supported for [GetSpotPlacementScores](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_GetSpotPlacementScores.html) and [GetInstanceTypesFromInstanceRequirements](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_GetInstanceTypesFromInstanceRequirements.html).\n If you set ``TargetCapacityUnitType`` to ``vcpu`` or ``memory-mib``, the price protection threshold is applied based on the per-vCPU or per-memory price instead of the per-instance price.\n Default: ``20``", + "type": "integer", + "markdownDescription": "[Price protection] The price protection threshold for On-Demand Instances, as a percentage higher than an identified On-Demand price. The identified On-Demand price is the price of the lowest priced current generation C, M, or R instance type with your specified attributes. When Amazon EC2 selects instance types with your attributes, it will exclude instance types whose price exceeds your specified threshold.\n The parameter accepts an integer, which Amazon EC2 interprets as a percentage.\n To turn off price protection, specify a high value, such as ``999999``.\n This parameter is not supported for [GetSpotPlacementScores](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_GetSpotPlacementScores.html) and [GetInstanceTypesFromInstanceRequirements](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_GetInstanceTypesFromInstanceRequirements.html).\n If you set ``TargetCapacityUnitType`` to ``vcpu`` or ``memory-mib``, the price protection threshold is applied based on the per-vCPU or per-memory price instead of the per-instance price.\n Default: ``20``\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" + }, + "MemoryMiB": { + "description": "The minimum and maximum amount of memory, in MiB.", + "$ref": "#/definitions/MemoryMiB", + "markdownDescription": "The minimum and maximum amount of memory, in MiB.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" + }, + "LocalStorageTypes": { + "uniqueItems": false, + "description": "The type of local storage that is required.\n + For instance types with hard disk drive (HDD) storage, specify ``hdd``.\n + For instance types with solid state drive (SSD) storage, specify ``ssd``.\n \n Default: ``hdd`` and ``ssd``", + "type": "array", + "items": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "markdownDescription": "The type of local storage that is required.\n + For instance types with hard disk drive (HDD) storage, specify ``hdd``.\n + For instance types with solid state drive (SSD) storage, specify ``ssd``.\n \n Default: ``hdd`` and ``ssd``\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + }, + "NetworkInterfaceCount": { + "description": "The minimum and maximum number of network interfaces.\n Default: No minimum or maximum limits", + "$ref": "#/definitions/NetworkInterfaceCount", + "markdownDescription": "The minimum and maximum number of network interfaces.\n Default: No minimum or maximum limits\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" + }, + "ExcludedInstanceTypes": { + "uniqueItems": false, + "description": "The instance types to exclude.\n You can use strings with one or more wild cards, represented by an asterisk (``*``), to exclude an instance type, size, or generation. The following are examples: ``m5.8xlarge``, ``c5*.*``, ``m5a.*``, ``r*``, ``*3*``.\n For example, if you specify ``c5*``,Amazon EC2 will exclude the entire C5 instance family, which includes all C5a and C5n instance types. If you specify ``m5a.*``, Amazon EC2 will exclude all the M5a instance types, but not the M5n instance types.\n If you specify ``ExcludedInstanceTypes``, you can't specify ``AllowedInstanceTypes``.\n Default: No excluded instance types", + "type": "array", + "items": { + "description": "The user data to make available to the instance.", + "type": "string", + "markdownDescription": "The user data to make available to the instance.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "markdownDescription": "The instance types to exclude.\n You can use strings with one or more wild cards, represented by an asterisk (``*``), to exclude an instance type, size, or generation. The following are examples: ``m5.8xlarge``, ``c5*.*``, ``m5a.*``, ``r*``, ``*3*``.\n For example, if you specify ``c5*``,Amazon EC2 will exclude the entire C5 instance family, which includes all C5a and C5n instance types. If you specify ``m5a.*``, Amazon EC2 will exclude all the M5a instance types, but not the M5n instance types.\n If you specify ``ExcludedInstanceTypes``, you can't specify ``AllowedInstanceTypes``.\n Default: No excluded instance types\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + }, + "AllowedInstanceTypes": { + "uniqueItems": false, + "description": "The instance types to apply your specified attributes against. All other instance types are ignored, even if they match your specified attributes.\n You can use strings with one or more wild cards, represented by an asterisk (``*``), to allow an instance type, size, or generation. The following are examples: ``m5.8xlarge``, ``c5*.*``, ``m5a.*``, ``r*``, ``*3*``.\n For example, if you specify ``c5*``,Amazon EC2 will allow the entire C5 instance family, which includes all C5a and C5n instance types. If you specify ``m5a.*``, Amazon EC2 will allow all the M5a instance types, but not the M5n instance types.\n If you specify ``AllowedInstanceTypes``, you can't specify ``ExcludedInstanceTypes``.\n Default: All instance types", + "type": "array", + "items": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "markdownDescription": "The instance types to apply your specified attributes against. All other instance types are ignored, even if they match your specified attributes.\n You can use strings with one or more wild cards, represented by an asterisk (``*``), to allow an instance type, size, or generation. The following are examples: ``m5.8xlarge``, ``c5*.*``, ``m5a.*``, ``r*``, ``*3*``.\n For example, if you specify ``c5*``,Amazon EC2 will allow the entire C5 instance family, which includes all C5a and C5n instance types. If you specify ``m5a.*``, Amazon EC2 will allow all the M5a instance types, but not the M5n instance types.\n If you specify ``AllowedInstanceTypes``, you can't specify ``ExcludedInstanceTypes``.\n Default: All instance types\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + }, + "AcceleratorCount": { + "description": "The minimum and maximum number of accelerators (GPUs, FPGAs, or AWS Inferentia chips) on an instance.\n To exclude accelerator-enabled instance types, set ``Max`` to ``0``.\n Default: No minimum or maximum limits", + "$ref": "#/definitions/AcceleratorCount", + "markdownDescription": "The minimum and maximum number of accelerators (GPUs, FPGAs, or AWS Inferentia chips) on an instance.\n To exclude accelerator-enabled instance types, set ``Max`` to ``0``.\n Default: No minimum or maximum limits\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" + }, + "NetworkBandwidthGbps": { + "description": "The minimum and maximum amount of network bandwidth, in gigabits per second (Gbps).\n Default: No minimum or maximum limits", + "$ref": "#/definitions/NetworkBandwidthGbps", + "markdownDescription": "The minimum and maximum amount of network bandwidth, in gigabits per second (Gbps).\n Default: No minimum or maximum limits\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" + }, "SpotMaxPricePercentageOverLowestPrice": { "description": "[Price protection] The price protection threshold for Spot Instances, as a percentage higher than an identified Spot price. The identified Spot price is the Spot price of the lowest priced current generation C, M, or R instance type with your specified attributes. If no current generation C, M, or R instance type matches your attributes, then the identified Spot price is from the lowest priced current generation instance types, and failing that, from the lowest priced previous generation instance types that match your attributes. When Amazon EC2 selects instance types with your attributes, it will exclude instance types whose Spot price exceeds your specified threshold.\n The parameter accepts an integer, which Amazon EC2 interprets as a percentage.\n If you set ``TargetCapacityUnitType`` to ``vcpu`` or ``memory-mib``, the price protection threshold is applied based on the per-vCPU or per-memory price instead of the per-instance price.\n This parameter is not supported for [GetSpotPlacementScores](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_GetSpotPlacementScores.html) and [GetInstanceTypesFromInstanceRequirements](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_GetInstanceTypesFromInstanceRequirements.html).\n Only one of ``SpotMaxPricePercentageOverLowestPrice`` or ``MaxSpotPriceAsPercentageOfOptimalOnDemandPrice`` can be specified. If you don't specify either, Amazon EC2 will automatically apply optimal price protection to consistently select from a wide range of instance types. To indicate no price protection threshold for Spot Instances, meaning you want to consider all instance types that match your attributes, include one of these parameters and specify a high value, such as ``999999``.\n Default: ``100``", "type": "integer", @@ -1157,11 +1201,6 @@ "$ref": "#/definitions/BaselineEbsBandwidthMbps", "markdownDescription": "The minimum and maximum baseline bandwidth to Amazon EBS, in Mbps. For more information, see [Amazon EBS\u2013optimized instances](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-optimized.html) in the *Amazon EC2 User Guide*.\n Default: No minimum or maximum limits\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" }, - "OnDemandMaxPricePercentageOverLowestPrice": { - "description": "[Price protection] The price protection threshold for On-Demand Instances, as a percentage higher than an identified On-Demand price. The identified On-Demand price is the price of the lowest priced current generation C, M, or R instance type with your specified attributes. When Amazon EC2 selects instance types with your attributes, it will exclude instance types whose price exceeds your specified threshold.\n The parameter accepts an integer, which Amazon EC2 interprets as a percentage.\n To turn off price protection, specify a high value, such as ``999999``.\n This parameter is not supported for [GetSpotPlacementScores](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_GetSpotPlacementScores.html) and [GetInstanceTypesFromInstanceRequirements](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_GetInstanceTypesFromInstanceRequirements.html).\n If you set ``TargetCapacityUnitType`` to ``vcpu`` or ``memory-mib``, the price protection threshold is applied based on the per-vCPU or per-memory price instead of the per-instance price.\n Default: ``20``", - "type": "integer", - "markdownDescription": "[Price protection] The price protection threshold for On-Demand Instances, as a percentage higher than an identified On-Demand price. The identified On-Demand price is the price of the lowest priced current generation C, M, or R instance type with your specified attributes. When Amazon EC2 selects instance types with your attributes, it will exclude instance types whose price exceeds your specified threshold.\n The parameter accepts an integer, which Amazon EC2 interprets as a percentage.\n To turn off price protection, specify a high value, such as ``999999``.\n This parameter is not supported for [GetSpotPlacementScores](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_GetSpotPlacementScores.html) and [GetInstanceTypesFromInstanceRequirements](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_GetInstanceTypesFromInstanceRequirements.html).\n If you set ``TargetCapacityUnitType`` to ``vcpu`` or ``memory-mib``, the price protection threshold is applied based on the per-vCPU or per-memory price instead of the per-instance price.\n Default: ``20``\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" - }, "AcceleratorNames": { "uniqueItems": false, "description": "The accelerators that must be on the instance type.\n + For instance types with NVIDIA A10G GPUs, specify ``a10g``.\n + For instance types with NVIDIA A100 GPUs, specify ``a100``.\n + For instance types with NVIDIA H100 GPUs, specify ``h100``.\n + For instance types with AWS Inferentia chips, specify ``inferentia``.\n + For instance types with NVIDIA GRID K520 GPUs, specify ``k520``.\n + For instance types with NVIDIA K80 GPUs, specify ``k80``.\n + For instance types with NVIDIA M60 GPUs, specify ``m60``.\n + For instance types with AMD Radeon Pro V520 GPUs, specify ``radeon-pro-v520``.\n + For instance types with NVIDIA T4 GPUs, specify ``t4``.\n + For instance types with NVIDIA T4G GPUs, specify ``t4g``.\n + For instance types with Xilinx VU9P FPGAs, specify ``vu9p``.\n + For instance types with NVIDIA V100 GPUs, specify ``v100``.\n \n Default: Any accelerator", @@ -1182,11 +1221,6 @@ "type": "string", "markdownDescription": "Indicates whether burstable performance T instance types are included, excluded, or required. For more information, see [Burstable performance instances](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/burstable-performance-instances.html).\n + To include burstable performance instance types, specify ``included``.\n + To require only burstable performance instance types, specify ``required``.\n + To exclude burstable performance instance types, specify ``excluded``.\n \n Default: ``excluded``\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, - "MemoryMiB": { - "description": "The minimum and maximum amount of memory, in MiB.", - "$ref": "#/definitions/MemoryMiB", - "markdownDescription": "The minimum and maximum amount of memory, in MiB.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" - }, "TotalLocalStorageGB": { "description": "The minimum and maximum amount of total local storage, in GB.\n Default: No minimum or maximum limits", "$ref": "#/definitions/TotalLocalStorageGB", diff --git a/server/schema/resources/aws-ec2-networkinsightsaccessscope.json b/server/schema/resources/aws-ec2-networkinsightsaccessscope.json index fd4fbd78..0fffa223 100644 --- a/server/schema/resources/aws-ec2-networkinsightsaccessscope.json +++ b/server/schema/resources/aws-ec2-networkinsightsaccessscope.json @@ -195,6 +195,17 @@ } }, "additionalProperties": false, + "tagging": { + "taggable": true, + "tagOnCreate": true, + "tagUpdatable": true, + "cloudFormationSystemTags": false, + "tagProperty": "/properties/Tags", + "permissions": [ + "ec2:CreateTags", + "ec2:DeleteTags" + ] + }, "readOnlyProperties": [ "/properties/NetworkInsightsAccessScopeId", "/properties/NetworkInsightsAccessScopeArn", diff --git a/server/schema/resources/aws-ec2-networkinsightspath.json b/server/schema/resources/aws-ec2-networkinsightspath.json index 48009ea3..550b3f1e 100644 --- a/server/schema/resources/aws-ec2-networkinsightspath.json +++ b/server/schema/resources/aws-ec2-networkinsightspath.json @@ -117,6 +117,17 @@ } }, "additionalProperties": false, + "tagging": { + "taggable": true, + "tagOnCreate": true, + "tagUpdatable": true, + "cloudFormationSystemTags": false, + "tagProperty": "/properties/Tags", + "permissions": [ + "ec2:CreateTags", + "ec2:DeleteTags" + ] + }, "required": [ "Protocol", "Source" diff --git a/server/schema/resources/aws-ec2-networkinterface.json b/server/schema/resources/aws-ec2-networkinterface.json index 82870a38..9ff1f588 100644 --- a/server/schema/resources/aws-ec2-networkinterface.json +++ b/server/schema/resources/aws-ec2-networkinterface.json @@ -244,7 +244,17 @@ "/properties/EnablePrimaryIpv6", "/properties/ConnectionTrackingSpecification" ], - "taggable": true, + "tagging": { + "taggable": true, + "tagOnCreate": true, + "tagUpdatable": true, + "cloudFormationSystemTags": true, + "tagProperty": "/properties/Tags", + "permissions": [ + "ec2:CreateTags", + "ec2:DeleteTags" + ] + }, "handlers": { "create": { "permissions": [ diff --git a/server/schema/resources/aws-ec2-securitygroupvpcassociation.json b/server/schema/resources/aws-ec2-securitygroupvpcassociation.json new file mode 100644 index 00000000..d34dfca1 --- /dev/null +++ b/server/schema/resources/aws-ec2-securitygroupvpcassociation.json @@ -0,0 +1,93 @@ +{ + "typeName": "AWS::EC2::SecurityGroupVpcAssociation", + "description": "Resource type definition for the AWS::EC2::SecurityGroupVpcAssociation resource", + "definitions": { + "SecurityGroupVpcAssociationState": { + "type": "string", + "additionalProperties": false, + "enum": [ + "associating", + "associated", + "association-failed", + "disassociating", + "disassociated", + "disassociation-failed" + ], + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: associating | associated | association-failed | disassociating | disassociated | disassociation-failed \nUpdate requires: No interruption" + } + }, + "properties": { + "GroupId": { + "description": "The group ID of the specified security group.", + "type": "string", + "markdownDescription": "The group ID of the specified security group.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: Replacement" + }, + "VpcId": { + "description": "The ID of the VPC in the security group vpc association.", + "type": "string", + "markdownDescription": "The ID of the VPC in the security group vpc association.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: Replacement" + } + }, + "additionalProperties": false, + "tagging": { + "taggable": false + }, + "required": [ + "GroupId", + "VpcId" + ], + "createOnlyProperties": [ + "/properties/GroupId", + "/properties/VpcId" + ], + "readOnlyProperties": [ + "/properties/VpcOwnerId", + "/properties/State", + "/properties/StateReason" + ], + "primaryIdentifier": [ + "/properties/GroupId", + "/properties/VpcId" + ], + "handlers": { + "create": { + "permissions": [ + "ec2:AssociateSecurityGroupVpc", + "ec2:DescribeSecurityGroupVpcAssociations" + ] + }, + "read": { + "permissions": [ + "ec2:DescribeSecurityGroupVpcAssociations" + ] + }, + "delete": { + "permissions": [ + "ec2:DisassociateSecurityGroupVpc", + "ec2:DescribeSecurityGroupVpcAssociations" + ] + }, + "list": { + "permissions": [ + "ec2:DescribeSecurityGroupVpcAssociations" + ] + } + }, + "attributes": { + "VpcOwnerId": { + "description": "The owner of the VPC in the security group vpc association.", + "type": "string", + "markdownDescription": "The owner of the VPC in the security group vpc association.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "State": { + "description": "The state of the security group vpc association.", + "$ref": "#/definitions/SecurityGroupVpcAssociationState", + "markdownDescription": "The state of the security group vpc association.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" + }, + "StateReason": { + "description": "The reason for the state of the security group vpc association.", + "type": "string", + "markdownDescription": "The reason for the state of the security group vpc association.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + } + } +} \ No newline at end of file diff --git a/server/schema/resources/aws-ec2-spotfleet.json b/server/schema/resources/aws-ec2-spotfleet.json index 8c15afbe..49b3be39 100644 --- a/server/schema/resources/aws-ec2-spotfleet.json +++ b/server/schema/resources/aws-ec2-spotfleet.json @@ -1,814 +1,809 @@ { + "handlers": { + "read": { + "permissions": [ + "ec2:DescribeSpotFleetRequests" + ] + }, + "create": { + "permissions": [ + "iam:PassRole", + "ec2:CreateTags", + "ec2:RequestSpotFleet", + "ec2:DescribeSpotFleetRequests", + "ec2:RunInstances" + ] + }, + "update": { + "permissions": [ + "ec2:ModifySpotFleetRequest", + "ec2:DescribeSpotFleetRequests" + ] + }, + "list": { + "permissions": [ + "ec2:DescribeSpotFleetRequests" + ] + }, + "delete": { + "permissions": [ + "ec2:DescribeSpotFleetRequests", + "ec2:CancelSpotFleetRequests" + ] + } + }, "typeName": "AWS::EC2::SpotFleet", + "readOnlyProperties": [ + "/properties/Id" + ], "description": "Resource Type definition for AWS::EC2::SpotFleet", + "writeOnlyProperties": [ + "/properties/SpotFleetRequestConfigData/TagSpecifications", + "/properties/SpotFleetRequestConfigData/LaunchSpecifications/*/NetworkInterfaces/*/Groups" + ], + "createOnlyProperties": [ + "/properties/SpotFleetRequestConfigData/AllocationStrategy", + "/properties/SpotFleetRequestConfigData/IamFleetRole", + "/properties/SpotFleetRequestConfigData/InstanceInterruptionBehavior", + "/properties/SpotFleetRequestConfigData/InstancePoolsToUseCount", + "/properties/SpotFleetRequestConfigData/LaunchSpecifications", + "/properties/SpotFleetRequestConfigData/LaunchTemplateConfigs", + "/properties/SpotFleetRequestConfigData/LoadBalancersConfig", + "/properties/SpotFleetRequestConfigData/OnDemandAllocationStrategy", + "/properties/SpotFleetRequestConfigData/OnDemandMaxTotalPrice", + "/properties/SpotFleetRequestConfigData/OnDemandTargetCapacity", + "/properties/SpotFleetRequestConfigData/ReplaceUnhealthyInstances", + "/properties/SpotFleetRequestConfigData/SpotMaintenanceStrategies", + "/properties/SpotFleetRequestConfigData/SpotMaxTotalPrice", + "/properties/SpotFleetRequestConfigData/SpotPrice", + "/properties/SpotFleetRequestConfigData/TagSpecifications", + "/properties/SpotFleetRequestConfigData/TerminateInstancesWithExpiration", + "/properties/SpotFleetRequestConfigData/Type", + "/properties/SpotFleetRequestConfigData/ValidFrom", + "/properties/SpotFleetRequestConfigData/ValidUntil" + ], "additionalProperties": false, - "properties": { - "SpotFleetRequestConfigData": { - "$ref": "#/definitions/SpotFleetRequestConfigData" - } - }, + "primaryIdentifier": [ + "/properties/Id" + ], "definitions": { - "SpotFleetRequestConfigData": { - "type": "object", + "ClassicLoadBalancersConfig": { "additionalProperties": false, + "type": "object", "properties": { - "AllocationStrategy": { - "type": "string", - "enum": [ - "capacityOptimized", - "capacityOptimizedPrioritized", - "diversified", - "lowestPrice", - "priceCapacityOptimized" - ], - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: capacityOptimized | capacityOptimizedPrioritized | diversified | lowestPrice | priceCapacityOptimized \nUpdate requires: No interruption" - }, - "Context": { - "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" - }, - "ExcessCapacityTerminationPolicy": { - "type": "string", - "enum": [ - "Default", - "NoTermination", - "default", - "noTermination" - ], - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: Default | NoTermination | default | noTermination \nUpdate requires: No interruption" - }, - "IamFleetRole": { - "type": "string", - "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" - }, - "InstanceInterruptionBehavior": { - "type": "string", - "enum": [ - "hibernate", - "stop", - "terminate" - ], - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: hibernate | stop | terminate \nUpdate requires: No interruption" - }, - "InstancePoolsToUseCount": { - "type": "integer", - "markdownDescription": "\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" - }, - "LaunchSpecifications": { - "type": "array", + "ClassicLoadBalancers": { "uniqueItems": true, - "items": { - "$ref": "#/definitions/SpotFleetLaunchSpecification" - }, - "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" - }, - "LaunchTemplateConfigs": { "type": "array", - "uniqueItems": true, "items": { - "$ref": "#/definitions/LaunchTemplateConfig" - }, - "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" - }, - "LoadBalancersConfig": { - "$ref": "#/definitions/LoadBalancersConfig" - }, - "OnDemandAllocationStrategy": { - "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" - }, - "OnDemandMaxTotalPrice": { - "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" - }, - "OnDemandTargetCapacity": { - "type": "integer", - "markdownDescription": "\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" - }, - "ReplaceUnhealthyInstances": { - "type": "boolean", - "markdownDescription": "\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" - }, - "SpotMaintenanceStrategies": { - "$ref": "#/definitions/SpotMaintenanceStrategies" - }, - "SpotMaxTotalPrice": { - "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" - }, - "SpotPrice": { - "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" - }, - "TargetCapacity": { - "type": "integer", - "markdownDescription": "\n\n---\n\nRequired: Yes \nType: Integer \nUpdate requires: No interruption" - }, - "TerminateInstancesWithExpiration": { - "type": "boolean", - "markdownDescription": "\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" - }, - "Type": { - "type": "string", - "enum": [ - "maintain", - "request" - ], - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: maintain | request \nUpdate requires: No interruption" - }, - "ValidFrom": { - "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" - }, - "ValidUntil": { - "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" - }, - "TagSpecifications": { - "type": "array", - "uniqueItems": true, - "items": { - "$ref": "#/definitions/SpotFleetTagSpecification" + "$ref": "#/definitions/ClassicLoadBalancer" }, - "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: Array \nUpdate requires: No interruption" + } + }, + "required": [ + "ClassicLoadBalancers" + ], + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "MemoryGiBPerVCpuRequest": { + "additionalProperties": false, + "type": "object", + "properties": { + "Min": { + "type": "number", + "markdownDescription": "\n\n---\n\nRequired: No \nType: Number \nUpdate requires: No interruption" }, - "TargetCapacityUnitType": { + "Max": { + "type": "number", + "markdownDescription": "\n\n---\n\nRequired: No \nType: Number \nUpdate requires: No interruption" + } + }, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "InstanceIpv6Address": { + "additionalProperties": false, + "type": "object", + "properties": { + "Ipv6Address": { "type": "string", - "enum": [ - "vcpu", - "memory-mib", - "units" - ], - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: vcpu | memory-mib | units \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" } }, "required": [ - "IamFleetRole", - "TargetCapacity" + "Ipv6Address" ], - "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: Replacement" + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, - "SpotFleetLaunchSpecification": { - "type": "object", + "SpotFleetMonitoring": { "additionalProperties": false, + "type": "object", "properties": { - "BlockDeviceMappings": { - "type": "array", - "uniqueItems": true, - "items": { - "$ref": "#/definitions/BlockDeviceMapping" - }, - "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" - }, - "EbsOptimized": { - "type": "boolean", + "Enabled": { "default": false, + "type": "boolean", "markdownDescription": "\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" + } + }, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "TotalLocalStorageGBRequest": { + "additionalProperties": false, + "type": "object", + "properties": { + "Min": { + "type": "number", + "markdownDescription": "\n\n---\n\nRequired: No \nType: Number \nUpdate requires: No interruption" }, - "IamInstanceProfile": { - "$ref": "#/definitions/IamInstanceProfileSpecification" - }, - "ImageId": { - "type": "string", - "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" - }, - "InstanceType": { - "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" - }, - "KernelId": { - "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" - }, - "KeyName": { - "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" - }, - "Monitoring": { - "$ref": "#/definitions/SpotFleetMonitoring" - }, - "NetworkInterfaces": { - "type": "array", - "uniqueItems": true, - "items": { - "$ref": "#/definitions/InstanceNetworkInterfaceSpecification" - }, - "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" - }, - "Placement": { - "$ref": "#/definitions/SpotPlacement" + "Max": { + "type": "number", + "markdownDescription": "\n\n---\n\nRequired: No \nType: Number \nUpdate requires: No interruption" + } + }, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "NetworkBandwidthGbpsRequest": { + "additionalProperties": false, + "type": "object", + "properties": { + "Min": { + "type": "number", + "markdownDescription": "\n\n---\n\nRequired: No \nType: Number \nUpdate requires: No interruption" }, - "RamdiskId": { - "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "Max": { + "type": "number", + "markdownDescription": "\n\n---\n\nRequired: No \nType: Number \nUpdate requires: No interruption" + } + }, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "VCpuCountRangeRequest": { + "additionalProperties": false, + "type": "object", + "properties": { + "Min": { + "type": "integer", + "markdownDescription": "\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" }, - "SecurityGroups": { - "type": "array", - "uniqueItems": true, - "items": { - "$ref": "#/definitions/GroupIdentifier" - }, - "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + "Max": { + "type": "integer", + "markdownDescription": "\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" + } + }, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "BaselineEbsBandwidthMbpsRequest": { + "additionalProperties": false, + "type": "object", + "properties": { + "Min": { + "type": "integer", + "markdownDescription": "\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" }, - "SpotPrice": { + "Max": { + "type": "integer", + "markdownDescription": "\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" + } + }, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "FleetLaunchTemplateSpecification": { + "additionalProperties": false, + "type": "object", + "properties": { + "LaunchTemplateName": { + "minLength": 3, "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "maxLength": 128, + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMinimum Length: 3 \nMaximum Length: 128 \nPattern: [a-zA-Z0-9\\(\\)\\.\\-/_]+ \nUpdate requires: No interruption" }, - "SubnetId": { + "Version": { "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" - }, - "TagSpecifications": { - "type": "array", - "uniqueItems": true, - "items": { - "$ref": "#/definitions/SpotFleetTagSpecification" - }, - "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" }, - "UserData": { + "LaunchTemplateId": { "type": "string", "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" - }, - "WeightedCapacity": { - "type": "number", - "markdownDescription": "\n\n---\n\nRequired: No \nType: Number \nUpdate requires: No interruption" - }, - "InstanceRequirements": { - "$ref": "#/definitions/InstanceRequirementsRequest" } }, "required": [ - "ImageId" + "Version" ], "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, - "LoadBalancersConfig": { - "type": "object", + "PrivateIpAddressSpecification": { "additionalProperties": false, + "type": "object", "properties": { - "ClassicLoadBalancersConfig": { - "$ref": "#/definitions/ClassicLoadBalancersConfig" + "PrivateIpAddress": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" }, - "TargetGroupsConfig": { - "$ref": "#/definitions/TargetGroupsConfig" + "Primary": { + "type": "boolean", + "markdownDescription": "\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" } }, + "required": [ + "PrivateIpAddress" + ], "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, - "SpotMaintenanceStrategies": { - "type": "object", + "NetworkInterfaceCountRequest": { "additionalProperties": false, - "properties": { - "CapacityRebalance": { - "$ref": "#/definitions/SpotCapacityRebalance" - } - }, - "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" - }, - "SpotCapacityRebalance": { "type": "object", - "additionalProperties": false, "properties": { - "ReplacementStrategy": { - "type": "string", - "enum": [ - "launch", - "launch-before-terminate" - ], - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: launch | launch-before-terminate \nUpdate requires: No interruption" + "Min": { + "type": "integer", + "markdownDescription": "\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" }, - "TerminationDelay": { + "Max": { "type": "integer", "markdownDescription": "\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" } }, "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, - "LaunchTemplateConfig": { - "type": "object", + "PerformanceFactorReferenceRequest": { "additionalProperties": false, + "type": "object", "properties": { - "LaunchTemplateSpecification": { - "$ref": "#/definitions/FleetLaunchTemplateSpecification" - }, - "Overrides": { - "type": "array", - "uniqueItems": true, - "items": { - "$ref": "#/definitions/LaunchTemplateOverrides" - }, - "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + "InstanceFamily": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" } }, "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, - "SpotFleetTagSpecification": { - "type": "object", + "LaunchTemplateOverrides": { "additionalProperties": false, + "type": "object", "properties": { - "ResourceType": { + "SpotPrice": { "type": "string", - "enum": [ - "client-vpn-endpoint", - "customer-gateway", - "dedicated-host", - "dhcp-options", - "egress-only-internet-gateway", - "elastic-gpu", - "elastic-ip", - "export-image-task", - "export-instance-task", - "fleet", - "fpga-image", - "host-reservation", - "image", - "import-image-task", - "import-snapshot-task", - "instance", - "internet-gateway", - "key-pair", - "launch-template", - "local-gateway-route-table-vpc-association", - "natgateway", - "network-acl", - "network-insights-analysis", - "network-insights-path", - "network-interface", - "placement-group", - "reserved-instances", - "route-table", - "security-group", - "snapshot", - "spot-fleet-request", - "spot-instances-request", - "subnet", - "traffic-mirror-filter", - "traffic-mirror-session", - "traffic-mirror-target", - "transit-gateway", - "transit-gateway-attachment", - "transit-gateway-connect-peer", - "transit-gateway-multicast-domain", - "transit-gateway-route-table", - "volume", - "vpc", - "vpc-flow-log", - "vpc-peering-connection", - "vpn-connection", - "vpn-gateway" - ], - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: client-vpn-endpoint | customer-gateway | dedicated-host | dhcp-options | egress-only-internet-gateway | elastic-gpu | elastic-ip | export-image-task | export-instance-task | fleet | fpga-image | host-reservation | image | import-image-task | import-snapshot-task | instance | internet-gateway | key-pair | launch-template | local-gateway-route-table-vpc-association | natgateway | network-acl | network-insights-analysis | network-insights-path | network-interface | placement-group | reserved-instances | route-table | security-group | snapshot | spot-fleet-request | spot-instances-request | subnet | traffic-mirror-filter | traffic-mirror-session | traffic-mirror-target | transit-gateway | transit-gateway-attachment | transit-gateway-connect-peer | transit-gateway-multicast-domain | transit-gateway-route-table | volume | vpc | vpc-flow-log | vpc-peering-connection | vpn-connection | vpn-gateway \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "WeightedCapacity": { + "type": "number", + "markdownDescription": "\n\n---\n\nRequired: No \nType: Number \nUpdate requires: No interruption" + }, + "Priority": { + "type": "number", + "markdownDescription": "\n\n---\n\nRequired: No \nType: Number \nUpdate requires: No interruption" + }, + "AvailabilityZone": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, - "Tags": { - "type": "array", - "uniqueItems": false, - "items": { - "$ref": "#/definitions/Tag" - }, - "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + "SubnetId": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "InstanceRequirements": { + "$ref": "#/definitions/InstanceRequirementsRequest" + }, + "InstanceType": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" } }, "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, - "FleetLaunchTemplateSpecification": { - "type": "object", + "SpotPlacement": { "additionalProperties": false, + "type": "object", "properties": { - "LaunchTemplateId": { + "GroupName": { "type": "string", "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, - "LaunchTemplateName": { + "Tenancy": { "type": "string", - "minLength": 3, - "maxLength": 128, - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMinimum Length: 3 \nMaximum Length: 128 \nPattern: [a-zA-Z0-9\\(\\)\\.\\-/_]+ \nUpdate requires: No interruption" + "enum": [ + "dedicated", + "default", + "host" + ], + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: dedicated | default | host \nUpdate requires: No interruption" }, - "Version": { + "AvailabilityZone": { "type": "string", - "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" } }, - "required": [ - "Version" - ], "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, - "GroupIdentifier": { + "CpuPerformanceFactorRequest": { + "additionalProperties": false, "type": "object", + "properties": { + "References": { + "uniqueItems": false, + "type": "array", + "items": { + "$ref": "#/definitions/PerformanceFactorReferenceRequest" + }, + "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + } + }, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "TargetGroup": { "additionalProperties": false, + "type": "object", "properties": { - "GroupId": { + "Arn": { "type": "string", "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" } }, "required": [ - "GroupId" + "Arn" ], "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, - "IamInstanceProfileSpecification": { - "type": "object", + "BlockDeviceMapping": { "additionalProperties": false, + "type": "object", "properties": { - "Arn": { + "Ebs": { + "$ref": "#/definitions/EbsBlockDevice" + }, + "NoDevice": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "VirtualName": { "type": "string", "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "DeviceName": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" } }, + "required": [ + "DeviceName" + ], "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, - "ClassicLoadBalancersConfig": { - "type": "object", + "TargetGroupsConfig": { "additionalProperties": false, + "type": "object", "properties": { - "ClassicLoadBalancers": { - "type": "array", + "TargetGroups": { "uniqueItems": true, + "type": "array", "items": { - "$ref": "#/definitions/ClassicLoadBalancer" + "$ref": "#/definitions/TargetGroup" }, "markdownDescription": "\n\n---\n\nRequired: Yes \nType: Array \nUpdate requires: No interruption" } }, "required": [ - "ClassicLoadBalancers" + "TargetGroups" ], "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, - "LaunchTemplateOverrides": { + "SpotCapacityRebalance": { + "additionalProperties": false, "type": "object", + "properties": { + "TerminationDelay": { + "type": "integer", + "markdownDescription": "\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" + }, + "ReplacementStrategy": { + "type": "string", + "enum": [ + "launch", + "launch-before-terminate" + ], + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: launch | launch-before-terminate \nUpdate requires: No interruption" + } + }, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "AcceleratorCountRequest": { "additionalProperties": false, + "type": "object", "properties": { - "AvailabilityZone": { + "Min": { + "type": "integer", + "markdownDescription": "\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" + }, + "Max": { + "type": "integer", + "markdownDescription": "\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" + } + }, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "SpotFleetRequestConfigData": { + "additionalProperties": false, + "type": "object", + "properties": { + "Context": { "type": "string", "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, - "InstanceType": { + "SpotMaxTotalPrice": { "type": "string", "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, - "SpotPrice": { + "ExcessCapacityTerminationPolicy": { + "type": "string", + "enum": [ + "Default", + "NoTermination", + "default", + "noTermination" + ], + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: Default | NoTermination | default | noTermination \nUpdate requires: No interruption" + }, + "TagSpecifications": { + "uniqueItems": true, + "type": "array", + "items": { + "$ref": "#/definitions/SpotFleetTagSpecification" + }, + "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + }, + "InstancePoolsToUseCount": { + "type": "integer", + "markdownDescription": "\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" + }, + "LaunchTemplateConfigs": { + "uniqueItems": true, + "type": "array", + "items": { + "$ref": "#/definitions/LaunchTemplateConfig" + }, + "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + }, + "TargetCapacityUnitType": { + "type": "string", + "enum": [ + "vcpu", + "memory-mib", + "units" + ], + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: vcpu | memory-mib | units \nUpdate requires: No interruption" + }, + "IamFleetRole": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" + }, + "SpotMaintenanceStrategies": { + "$ref": "#/definitions/SpotMaintenanceStrategies" + }, + "TerminateInstancesWithExpiration": { + "type": "boolean", + "markdownDescription": "\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" + }, + "ValidUntil": { "type": "string", "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, - "SubnetId": { + "OnDemandMaxTotalPrice": { "type": "string", "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, - "WeightedCapacity": { - "type": "number", - "markdownDescription": "\n\n---\n\nRequired: No \nType: Number \nUpdate requires: No interruption" + "OnDemandAllocationStrategy": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, - "InstanceRequirements": { - "$ref": "#/definitions/InstanceRequirementsRequest" + "SpotPrice": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, - "Priority": { - "type": "number", - "markdownDescription": "\n\n---\n\nRequired: No \nType: Number \nUpdate requires: No interruption" - } - }, - "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" - }, - "SpotFleetMonitoring": { - "type": "object", - "additionalProperties": false, - "properties": { - "Enabled": { + "AllocationStrategy": { + "type": "string", + "enum": [ + "capacityOptimized", + "capacityOptimizedPrioritized", + "diversified", + "lowestPrice", + "priceCapacityOptimized" + ], + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: capacityOptimized | capacityOptimizedPrioritized | diversified | lowestPrice | priceCapacityOptimized \nUpdate requires: No interruption" + }, + "OnDemandTargetCapacity": { + "type": "integer", + "markdownDescription": "\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" + }, + "Type": { + "type": "string", + "enum": [ + "maintain", + "request" + ], + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: maintain | request \nUpdate requires: No interruption" + }, + "LaunchSpecifications": { + "uniqueItems": true, + "type": "array", + "items": { + "$ref": "#/definitions/SpotFleetLaunchSpecification" + }, + "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + }, + "InstanceInterruptionBehavior": { + "type": "string", + "enum": [ + "hibernate", + "stop", + "terminate" + ], + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: hibernate | stop | terminate \nUpdate requires: No interruption" + }, + "LoadBalancersConfig": { + "$ref": "#/definitions/LoadBalancersConfig" + }, + "ValidFrom": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "ReplaceUnhealthyInstances": { "type": "boolean", - "default": false, "markdownDescription": "\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" + }, + "TargetCapacity": { + "type": "integer", + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: Integer \nUpdate requires: No interruption" } }, - "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + "required": [ + "IamFleetRole", + "TargetCapacity" + ], + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: Replacement" }, - "SpotPlacement": { - "type": "object", + "SpotFleetTagSpecification": { "additionalProperties": false, + "type": "object", "properties": { - "AvailabilityZone": { - "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" - }, - "GroupName": { - "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" - }, - "Tenancy": { + "ResourceType": { "type": "string", "enum": [ - "dedicated", - "default", - "host" + "client-vpn-endpoint", + "customer-gateway", + "dedicated-host", + "dhcp-options", + "egress-only-internet-gateway", + "elastic-gpu", + "elastic-ip", + "export-image-task", + "export-instance-task", + "fleet", + "fpga-image", + "host-reservation", + "image", + "import-image-task", + "import-snapshot-task", + "instance", + "internet-gateway", + "key-pair", + "launch-template", + "local-gateway-route-table-vpc-association", + "natgateway", + "network-acl", + "network-insights-analysis", + "network-insights-path", + "network-interface", + "placement-group", + "reserved-instances", + "route-table", + "security-group", + "snapshot", + "spot-fleet-request", + "spot-instances-request", + "subnet", + "traffic-mirror-filter", + "traffic-mirror-session", + "traffic-mirror-target", + "transit-gateway", + "transit-gateway-attachment", + "transit-gateway-connect-peer", + "transit-gateway-multicast-domain", + "transit-gateway-route-table", + "volume", + "vpc", + "vpc-flow-log", + "vpc-peering-connection", + "vpn-connection", + "vpn-gateway" ], - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: dedicated | default | host \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: client-vpn-endpoint | customer-gateway | dedicated-host | dhcp-options | egress-only-internet-gateway | elastic-gpu | elastic-ip | export-image-task | export-instance-task | fleet | fpga-image | host-reservation | image | import-image-task | import-snapshot-task | instance | internet-gateway | key-pair | launch-template | local-gateway-route-table-vpc-association | natgateway | network-acl | network-insights-analysis | network-insights-path | network-interface | placement-group | reserved-instances | route-table | security-group | snapshot | spot-fleet-request | spot-instances-request | subnet | traffic-mirror-filter | traffic-mirror-session | traffic-mirror-target | transit-gateway | transit-gateway-attachment | transit-gateway-connect-peer | transit-gateway-multicast-domain | transit-gateway-route-table | volume | vpc | vpc-flow-log | vpc-peering-connection | vpn-connection | vpn-gateway \nUpdate requires: No interruption" + }, + "Tags": { + "uniqueItems": false, + "type": "array", + "items": { + "$ref": "#/definitions/Tag" + }, + "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" } }, "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, - "InstanceNetworkInterfaceSpecification": { - "type": "object", + "SpotFleetLaunchSpecification": { "additionalProperties": false, + "type": "object", "properties": { - "AssociatePublicIpAddress": { - "type": "boolean", - "markdownDescription": "\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" - }, - "DeleteOnTermination": { - "type": "boolean", - "markdownDescription": "\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" - }, - "Description": { - "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" - }, - "DeviceIndex": { - "type": "integer", - "markdownDescription": "\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" - }, - "Groups": { - "type": "array", + "SecurityGroups": { "uniqueItems": true, + "type": "array", "items": { - "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "$ref": "#/definitions/GroupIdentifier" }, "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" }, - "Ipv6AddressCount": { - "type": "integer", - "markdownDescription": "\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" - }, - "Ipv6Addresses": { - "type": "array", + "TagSpecifications": { "uniqueItems": true, + "type": "array", "items": { - "$ref": "#/definitions/InstanceIpv6Address" + "$ref": "#/definitions/SpotFleetTagSpecification" }, "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" }, - "NetworkInterfaceId": { + "UserData": { "type": "string", "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, - "PrivateIpAddresses": { - "type": "array", + "BlockDeviceMappings": { "uniqueItems": true, + "type": "array", "items": { - "$ref": "#/definitions/PrivateIpAddressSpecification" + "$ref": "#/definitions/BlockDeviceMapping" }, "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" }, - "SecondaryPrivateIpAddressCount": { - "type": "integer", - "markdownDescription": "\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" + "IamInstanceProfile": { + "$ref": "#/definitions/IamInstanceProfileSpecification" }, - "SubnetId": { + "KernelId": { "type": "string", "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" - } - }, - "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" - }, - "BlockDeviceMapping": { - "type": "object", - "additionalProperties": false, - "properties": { - "DeviceName": { - "type": "string", - "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" - }, - "Ebs": { - "$ref": "#/definitions/EbsBlockDevice" }, - "NoDevice": { + "SubnetId": { "type": "string", "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, - "VirtualName": { - "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" - } - }, - "required": [ - "DeviceName" - ], - "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" - }, - "TargetGroupsConfig": { - "type": "object", - "additionalProperties": false, - "properties": { - "TargetGroups": { - "type": "array", - "uniqueItems": true, - "items": { - "$ref": "#/definitions/TargetGroup" - }, - "markdownDescription": "\n\n---\n\nRequired: Yes \nType: Array \nUpdate requires: No interruption" - } - }, - "required": [ - "TargetGroups" - ], - "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" - }, - "EbsBlockDevice": { - "type": "object", - "additionalProperties": false, - "properties": { - "DeleteOnTermination": { + "EbsOptimized": { + "default": false, "type": "boolean", "markdownDescription": "\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" }, - "Encrypted": { - "type": "boolean", - "markdownDescription": "\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" + "KeyName": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, - "Iops": { - "type": "integer", - "markdownDescription": "\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" + "RamdiskId": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, - "SnapshotId": { + "SpotPrice": { "type": "string", "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, - "VolumeSize": { - "type": "integer", - "markdownDescription": "\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" + "WeightedCapacity": { + "type": "number", + "markdownDescription": "\n\n---\n\nRequired: No \nType: Number \nUpdate requires: No interruption" }, - "VolumeType": { - "type": "string", - "enum": [ - "gp2", - "gp3", - "io1", - "io2", - "sc1", - "st1", - "standard" - ], - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: gp2 | gp3 | io1 | io2 | sc1 | st1 | standard \nUpdate requires: No interruption" - } - }, - "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" - }, - "TargetGroup": { - "type": "object", - "additionalProperties": false, - "properties": { - "Arn": { - "type": "string", - "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" - } - }, - "required": [ - "Arn" - ], - "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" - }, - "Tag": { - "type": "object", - "additionalProperties": false, - "properties": { - "Key": { - "type": "string", - "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" + "Placement": { + "$ref": "#/definitions/SpotPlacement" + }, + "NetworkInterfaces": { + "uniqueItems": true, + "type": "array", + "items": { + "$ref": "#/definitions/InstanceNetworkInterfaceSpecification" + }, + "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" }, - "Value": { + "ImageId": { "type": "string", "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" - } - }, - "required": [ - "Value", - "Key" - ], - "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" - }, - "PrivateIpAddressSpecification": { - "type": "object", - "additionalProperties": false, - "properties": { - "Primary": { - "type": "boolean", - "markdownDescription": "\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" }, - "PrivateIpAddress": { + "InstanceRequirements": { + "$ref": "#/definitions/InstanceRequirementsRequest" + }, + "InstanceType": { "type": "string", - "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "Monitoring": { + "$ref": "#/definitions/SpotFleetMonitoring" } }, "required": [ - "PrivateIpAddress" + "ImageId" ], "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, - "ClassicLoadBalancer": { - "type": "object", + "IamInstanceProfileSpecification": { "additionalProperties": false, + "type": "object", "properties": { - "Name": { + "Arn": { "type": "string", - "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" } }, - "required": [ - "Name" - ], "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, - "InstanceIpv6Address": { - "type": "object", + "LaunchTemplateConfig": { "additionalProperties": false, + "type": "object", "properties": { - "Ipv6Address": { - "type": "string", - "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" + "LaunchTemplateSpecification": { + "$ref": "#/definitions/FleetLaunchTemplateSpecification" + }, + "Overrides": { + "uniqueItems": true, + "type": "array", + "items": { + "$ref": "#/definitions/LaunchTemplateOverrides" + }, + "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" } }, - "required": [ - "Ipv6Address" - ], "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, "InstanceRequirementsRequest": { - "type": "object", "additionalProperties": false, + "type": "object", "properties": { - "VCpuCount": { - "$ref": "#/definitions/VCpuCountRangeRequest" - }, - "MemoryMiB": { - "$ref": "#/definitions/MemoryMiBRequest" - }, - "CpuManufacturers": { - "type": "array", + "InstanceGenerations": { "uniqueItems": false, + "type": "array", "items": { "type": "string", "enum": [ - "intel", - "amd", - "amazon-web-services" + "current", + "previous" ], - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: intel | amd | amazon-web-services \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: current | previous \nUpdate requires: No interruption" }, "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" }, "MemoryGiBPerVCpu": { "$ref": "#/definitions/MemoryGiBPerVCpuRequest" }, - "AllowedInstanceTypes": { - "type": "array", + "AcceleratorTypes": { "uniqueItems": false, - "items": { - "type": "string", - "minLength": 1, - "maxLength": 30, - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 30 \nPattern: [a-zA-Z0-9\\.\\*]+ \nUpdate requires: No interruption" - }, - "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" - }, - "ExcludedInstanceTypes": { "type": "array", - "uniqueItems": false, "items": { "type": "string", - "minLength": 1, - "maxLength": 30, - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 30 \nPattern: [a-zA-Z0-9\\.\\*]+ \nUpdate requires: No interruption" + "enum": [ + "gpu", + "fpga", + "inference" + ], + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: gpu | fpga | inference \nUpdate requires: No interruption" }, "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" }, - "InstanceGenerations": { - "type": "array", + "VCpuCount": { + "$ref": "#/definitions/VCpuCountRangeRequest" + }, + "AcceleratorManufacturers": { "uniqueItems": false, + "type": "array", "items": { "type": "string", "enum": [ - "current", - "previous" + "amazon-web-services", + "amd", + "habana", + "nvidia", + "xilinx" ], - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: current | previous \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: amazon-web-services | amd | habana | nvidia | xilinx \nUpdate requires: No interruption" }, "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" }, - "SpotMaxPricePercentageOverLowestPrice": { - "type": "integer", - "markdownDescription": "\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" - }, - "OnDemandMaxPricePercentageOverLowestPrice": { - "type": "integer", - "markdownDescription": "\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" - }, - "MaxSpotPriceAsPercentageOfOptimalOnDemandPrice": { - "type": "integer", - "markdownDescription": "\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" - }, - "BareMetal": { + "LocalStorage": { "type": "string", "enum": [ "included", @@ -817,7 +812,22 @@ ], "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: included | required | excluded \nUpdate requires: No interruption" }, - "BurstablePerformance": { + "CpuManufacturers": { + "uniqueItems": false, + "type": "array", + "items": { + "type": "string", + "enum": [ + "intel", + "amd", + "amazon-web-services", + "apple" + ], + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: intel | amd | amazon-web-services | apple \nUpdate requires: No interruption" + }, + "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + }, + "BareMetal": { "type": "string", "enum": [ "included", @@ -830,24 +840,20 @@ "type": "boolean", "markdownDescription": "\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" }, - "NetworkBandwidthGbps": { - "$ref": "#/definitions/NetworkBandwidthGbpsRequest" + "MaxSpotPriceAsPercentageOfOptimalOnDemandPrice": { + "type": "integer", + "markdownDescription": "\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" }, - "NetworkInterfaceCount": { - "$ref": "#/definitions/NetworkInterfaceCountRequest" + "OnDemandMaxPricePercentageOverLowestPrice": { + "type": "integer", + "markdownDescription": "\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" }, - "LocalStorage": { - "type": "string", - "enum": [ - "included", - "required", - "excluded" - ], - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: included | required | excluded \nUpdate requires: No interruption" + "MemoryMiB": { + "$ref": "#/definitions/MemoryMiBRequest" }, "LocalStorageTypes": { - "type": "array", "uniqueItems": false, + "type": "array", "items": { "type": "string", "enum": [ @@ -858,48 +864,47 @@ }, "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" }, - "TotalLocalStorageGB": { - "$ref": "#/definitions/TotalLocalStorageGBRequest" - }, - "BaselineEbsBandwidthMbps": { - "$ref": "#/definitions/BaselineEbsBandwidthMbpsRequest" + "NetworkInterfaceCount": { + "$ref": "#/definitions/NetworkInterfaceCountRequest" }, - "AcceleratorTypes": { - "type": "array", + "ExcludedInstanceTypes": { "uniqueItems": false, + "type": "array", "items": { + "minLength": 1, "type": "string", - "enum": [ - "gpu", - "fpga", - "inference" - ], - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: gpu | fpga | inference \nUpdate requires: No interruption" + "maxLength": 30, + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 30 \nPattern: [a-zA-Z0-9\\.\\*]+ \nUpdate requires: No interruption" }, "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" }, - "AcceleratorCount": { - "$ref": "#/definitions/AcceleratorCountRequest" - }, - "AcceleratorManufacturers": { - "type": "array", + "AllowedInstanceTypes": { "uniqueItems": false, + "type": "array", "items": { + "minLength": 1, "type": "string", - "enum": [ - "amazon-web-services", - "amd", - "habana", - "nvidia", - "xilinx" - ], - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: amazon-web-services | amd | habana | nvidia | xilinx \nUpdate requires: No interruption" + "maxLength": 30, + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 30 \nPattern: [a-zA-Z0-9\\.\\*]+ \nUpdate requires: No interruption" }, "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" }, + "NetworkBandwidthGbps": { + "$ref": "#/definitions/NetworkBandwidthGbpsRequest" + }, + "AcceleratorCount": { + "$ref": "#/definitions/AcceleratorCountRequest" + }, + "SpotMaxPricePercentageOverLowestPrice": { + "type": "integer", + "markdownDescription": "\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" + }, + "BaselineEbsBandwidthMbps": { + "$ref": "#/definitions/BaselineEbsBandwidthMbpsRequest" + }, "AcceleratorNames": { - "type": "array", "uniqueItems": false, + "type": "array", "items": { "type": "string", "enum": [ @@ -922,103 +927,138 @@ }, "AcceleratorTotalMemoryMiB": { "$ref": "#/definitions/AcceleratorTotalMemoryMiBRequest" - } - }, - "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" - }, - "VCpuCountRangeRequest": { - "type": "object", - "additionalProperties": false, - "properties": { - "Min": { - "type": "integer", - "markdownDescription": "\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" }, - "Max": { - "type": "integer", - "markdownDescription": "\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" - } - }, - "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" - }, - "MemoryMiBRequest": { - "type": "object", - "additionalProperties": false, - "properties": { - "Min": { - "type": "integer", - "markdownDescription": "\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" + "BurstablePerformance": { + "type": "string", + "enum": [ + "included", + "required", + "excluded" + ], + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: included | required | excluded \nUpdate requires: No interruption" }, - "Max": { - "type": "integer", - "markdownDescription": "\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" + "TotalLocalStorageGB": { + "$ref": "#/definitions/TotalLocalStorageGBRequest" } }, "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, - "MemoryGiBPerVCpuRequest": { - "type": "object", + "MemoryMiBRequest": { "additionalProperties": false, + "type": "object", "properties": { "Min": { - "type": "number", - "markdownDescription": "\n\n---\n\nRequired: No \nType: Number \nUpdate requires: No interruption" + "type": "integer", + "markdownDescription": "\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" }, "Max": { - "type": "number", - "markdownDescription": "\n\n---\n\nRequired: No \nType: Number \nUpdate requires: No interruption" + "type": "integer", + "markdownDescription": "\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" } }, "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, - "NetworkBandwidthGbpsRequest": { - "type": "object", + "BaselinePerformanceFactorsRequest": { "additionalProperties": false, + "type": "object", "properties": { - "Min": { - "type": "number", - "markdownDescription": "\n\n---\n\nRequired: No \nType: Number \nUpdate requires: No interruption" - }, - "Max": { - "type": "number", - "markdownDescription": "\n\n---\n\nRequired: No \nType: Number \nUpdate requires: No interruption" + "Cpu": { + "$ref": "#/definitions/CpuPerformanceFactorRequest" } }, "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, - "NetworkInterfaceCountRequest": { - "type": "object", + "InstanceNetworkInterfaceSpecification": { "additionalProperties": false, + "type": "object", "properties": { - "Min": { + "Description": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "PrivateIpAddresses": { + "uniqueItems": true, + "type": "array", + "items": { + "$ref": "#/definitions/PrivateIpAddressSpecification" + }, + "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + }, + "SecondaryPrivateIpAddressCount": { "type": "integer", "markdownDescription": "\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" }, - "Max": { + "DeviceIndex": { + "type": "integer", + "markdownDescription": "\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" + }, + "Groups": { + "uniqueItems": true, + "type": "array", + "items": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + }, + "Ipv6AddressCount": { "type": "integer", "markdownDescription": "\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" + }, + "Ipv6Addresses": { + "uniqueItems": true, + "type": "array", + "items": { + "$ref": "#/definitions/InstanceIpv6Address" + }, + "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + }, + "SubnetId": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "AssociatePublicIpAddress": { + "type": "boolean", + "markdownDescription": "\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" + }, + "NetworkInterfaceId": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "DeleteOnTermination": { + "type": "boolean", + "markdownDescription": "\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" } }, "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, - "TotalLocalStorageGBRequest": { - "type": "object", + "SpotMaintenanceStrategies": { "additionalProperties": false, + "type": "object", "properties": { - "Min": { - "type": "number", - "markdownDescription": "\n\n---\n\nRequired: No \nType: Number \nUpdate requires: No interruption" - }, - "Max": { - "type": "number", - "markdownDescription": "\n\n---\n\nRequired: No \nType: Number \nUpdate requires: No interruption" + "CapacityRebalance": { + "$ref": "#/definitions/SpotCapacityRebalance" } }, "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, - "BaselineEbsBandwidthMbpsRequest": { + "GroupIdentifier": { + "additionalProperties": false, "type": "object", + "properties": { + "GroupId": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" + } + }, + "required": [ + "GroupId" + ], + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "AcceleratorTotalMemoryMiBRequest": { "additionalProperties": false, + "type": "object", "properties": { "Min": { "type": "integer", @@ -1031,104 +1071,101 @@ }, "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, - "AcceleratorCountRequest": { - "type": "object", + "EbsBlockDevice": { "additionalProperties": false, + "type": "object", "properties": { - "Min": { + "SnapshotId": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "VolumeType": { + "type": "string", + "enum": [ + "gp2", + "gp3", + "io1", + "io2", + "sc1", + "st1", + "standard" + ], + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: gp2 | gp3 | io1 | io2 | sc1 | st1 | standard \nUpdate requires: No interruption" + }, + "Encrypted": { + "type": "boolean", + "markdownDescription": "\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" + }, + "Iops": { "type": "integer", "markdownDescription": "\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" }, - "Max": { + "VolumeSize": { "type": "integer", "markdownDescription": "\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" + }, + "DeleteOnTermination": { + "type": "boolean", + "markdownDescription": "\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" } }, "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, - "AcceleratorTotalMemoryMiBRequest": { + "LoadBalancersConfig": { + "additionalProperties": false, "type": "object", + "properties": { + "ClassicLoadBalancersConfig": { + "$ref": "#/definitions/ClassicLoadBalancersConfig" + }, + "TargetGroupsConfig": { + "$ref": "#/definitions/TargetGroupsConfig" + } + }, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "Tag": { "additionalProperties": false, + "type": "object", "properties": { - "Min": { - "type": "integer", - "markdownDescription": "\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" + "Value": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" }, - "Max": { - "type": "integer", - "markdownDescription": "\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" + "Key": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" + } + }, + "required": [ + "Value", + "Key" + ], + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "ClassicLoadBalancer": { + "additionalProperties": false, + "type": "object", + "properties": { + "Name": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" } }, + "required": [ + "Name" + ], "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" } }, + "properties": { + "SpotFleetRequestConfigData": { + "$ref": "#/definitions/SpotFleetRequestConfigData" + } + }, "required": [ "SpotFleetRequestConfigData" ], - "createOnlyProperties": [ - "/properties/SpotFleetRequestConfigData/AllocationStrategy", - "/properties/SpotFleetRequestConfigData/IamFleetRole", - "/properties/SpotFleetRequestConfigData/InstanceInterruptionBehavior", - "/properties/SpotFleetRequestConfigData/InstancePoolsToUseCount", - "/properties/SpotFleetRequestConfigData/LaunchSpecifications", - "/properties/SpotFleetRequestConfigData/LaunchTemplateConfigs", - "/properties/SpotFleetRequestConfigData/LoadBalancersConfig", - "/properties/SpotFleetRequestConfigData/OnDemandAllocationStrategy", - "/properties/SpotFleetRequestConfigData/OnDemandMaxTotalPrice", - "/properties/SpotFleetRequestConfigData/OnDemandTargetCapacity", - "/properties/SpotFleetRequestConfigData/ReplaceUnhealthyInstances", - "/properties/SpotFleetRequestConfigData/SpotMaintenanceStrategies", - "/properties/SpotFleetRequestConfigData/SpotMaxTotalPrice", - "/properties/SpotFleetRequestConfigData/SpotPrice", - "/properties/SpotFleetRequestConfigData/TagSpecifications", - "/properties/SpotFleetRequestConfigData/TerminateInstancesWithExpiration", - "/properties/SpotFleetRequestConfigData/Type", - "/properties/SpotFleetRequestConfigData/ValidFrom", - "/properties/SpotFleetRequestConfigData/ValidUntil" - ], - "readOnlyProperties": [ - "/properties/Id" - ], - "writeOnlyProperties": [ - "/properties/SpotFleetRequestConfigData/TagSpecifications", - "/properties/SpotFleetRequestConfigData/LaunchSpecifications/*/NetworkInterfaces/*/Groups" - ], - "primaryIdentifier": [ - "/properties/Id" - ], - "handlers": { - "create": { - "permissions": [ - "iam:PassRole", - "ec2:CreateTags", - "ec2:RequestSpotFleet", - "ec2:DescribeSpotFleetRequests", - "ec2:RunInstances" - ] - }, - "delete": { - "permissions": [ - "ec2:DescribeSpotFleetRequests", - "ec2:CancelSpotFleetRequests" - ] - }, - "list": { - "permissions": [ - "ec2:DescribeSpotFleetRequests" - ] - }, - "read": { - "permissions": [ - "ec2:DescribeSpotFleetRequests" - ] - }, - "update": { - "permissions": [ - "ec2:ModifySpotFleetRequest", - "ec2:DescribeSpotFleetRequests" - ] - } - }, "attributes": { "Id": { "type": "string", diff --git a/server/schema/resources/aws-ec2-transitgatewayroutetable.json b/server/schema/resources/aws-ec2-transitgatewayroutetable.json index 039a02e6..8d9a2dcb 100644 --- a/server/schema/resources/aws-ec2-transitgatewayroutetable.json +++ b/server/schema/resources/aws-ec2-transitgatewayroutetable.json @@ -1,9 +1,14 @@ { "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-transitgateway.git", "tagging": { + "permissions": [ + "ec2:CreateTags", + "ec2:DeleteTags" + ], "taggable": true, "tagOnCreate": true, - "tagUpdatable": false, + "tagUpdatable": true, + "tagProperty": "/properties/Tags", "cloudFormationSystemTags": false }, "handlers": { @@ -19,6 +24,13 @@ "ec2:DescribeTransitGatewayRouteTables" ] }, + "update": { + "permissions": [ + "ec2:DescribeTransitGatewayRouteTables", + "ec2:CreateTags", + "ec2:DeleteTags" + ] + }, "list": { "permissions": [ "ec2:DescribeTransitGatewayRouteTables" @@ -39,8 +51,7 @@ ], "description": "Resource Type definition for AWS::EC2::TransitGatewayRouteTable", "createOnlyProperties": [ - "/properties/TransitGatewayId", - "/properties/Tags" + "/properties/TransitGatewayId" ], "additionalProperties": false, "primaryIdentifier": [ @@ -83,7 +94,7 @@ "items": { "$ref": "#/definitions/Tag" }, - "markdownDescription": "Tags are composed of a Key/Value pair. You can use tags to categorize and track each parameter group. The tag value null is permitted.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: Replacement" + "markdownDescription": "Tags are composed of a Key/Value pair. You can use tags to categorize and track each parameter group. The tag value null is permitted.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" } }, "required": [ diff --git a/server/schema/resources/aws-ec2-verifiedaccessendpoint.json b/server/schema/resources/aws-ec2-verifiedaccessendpoint.json index 230edd71..f36c2af6 100644 --- a/server/schema/resources/aws-ec2-verifiedaccessendpoint.json +++ b/server/schema/resources/aws-ec2-verifiedaccessendpoint.json @@ -236,15 +236,18 @@ "tagOnCreate": true, "tagUpdatable": true, "cloudFormationSystemTags": false, - "tagProperty": "/properties/Tags" + "tagProperty": "/properties/Tags", + "permissions": [ + "ec2:CreateTags", + "ec2:DescribeTags", + "ec2:DeleteTags" + ] }, "handlers": { "create": { "permissions": [ "ec2:CreateVerifiedAccessEndpoint", "ec2:DescribeVerifiedAccessEndpoints", - "ec2:CreateTags", - "ec2:DescribeTags", "iam:CreateServiceLinkedRole", "iam:ListRoles", "acm:GetCertificateWithPK", @@ -261,8 +264,9 @@ "elasticloadbalancing:DescribeLoadBalancers", "elasticloadbalancing:DescribeListeners", "elasticloadbalancing:DescribeListenerCertificates", + "ec2:CreateTags", + "ec2:DescribeTags", "acm:DeleteCertificateRelation", - "ec2:DeleteTags", "ec2:DeleteVerifiedAccessEndpoint", "ec2:GetVerifiedAccessEndpointPolicy", "ec2:ModifyVerifiedAccessEndpoint", @@ -285,9 +289,7 @@ "acm:DeleteCertificateRelation", "acm:DescribeCertificate", "acm:GetCertificateWithPK", - "ec2:CreateTags", "ec2:CreateVerifiedAccessEndpoint", - "ec2:DeleteTags", "ec2:DeleteVerifiedAccessEndpoint", "ec2:DescribeAccountAttributes", "ec2:DescribeNetworkInterfaces", @@ -318,9 +320,6 @@ "ec2:ModifyVerifiedAccessEndpointPolicy", "ec2:DescribeVerifiedAccessEndpoints", "ec2:GetVerifiedAccessEndpointPolicy", - "ec2:DescribeTags", - "ec2:DeleteTags", - "ec2:CreateTags", "acm:GetCertificateWithPK", "acm:DescribeCertificate", "acm:CreateCertificateRelation", @@ -337,6 +336,9 @@ "elasticloadbalancing:DescribeLoadBalancers", "elasticloadbalancing:DescribeListeners", "elasticloadbalancing:DescribeListenerCertificates", + "ec2:DescribeTags", + "ec2:DeleteTags", + "ec2:CreateTags", "ec2:CreateVerifiedAccessEndpoint", "ec2:DeleteVerifiedAccessEndpoint", "iam:CreateServiceLinkedRole", @@ -352,15 +354,14 @@ "delete": { "permissions": [ "ec2:DescribeVerifiedAccessEndpoints", - "ec2:DescribeTags", "ec2:DeleteVerifiedAccessEndpoint", + "ec2:DescribeTags", "ec2:DeleteTags", "sso:DeleteManagedApplicationInstance", "acm:DeleteCertificateRelation", "acm:DescribeCertificate", "acm:CreateCertificateRelation", "acm:GetCertificateWithPK", - "ec2:CreateTags", "ec2:CreateVerifiedAccessEndpoint", "ec2:DescribeAccountAttributes", "ec2:DescribeNetworkInterfaces", @@ -394,9 +395,7 @@ "acm:DeleteCertificateRelation", "acm:DescribeCertificate", "acm:GetCertificateWithPK", - "ec2:CreateTags", "ec2:CreateVerifiedAccessEndpoint", - "ec2:DeleteTags", "ec2:DeleteVerifiedAccessEndpoint", "ec2:DescribeAccountAttributes", "ec2:DescribeNetworkInterfaces", diff --git a/server/schema/resources/aws-ec2-verifiedaccessgroup.json b/server/schema/resources/aws-ec2-verifiedaccessgroup.json index 73b1b56c..3834c4b5 100644 --- a/server/schema/resources/aws-ec2-verifiedaccessgroup.json +++ b/server/schema/resources/aws-ec2-verifiedaccessgroup.json @@ -104,7 +104,12 @@ "tagOnCreate": true, "tagUpdatable": true, "cloudFormationSystemTags": false, - "tagProperty": "/properties/Tags" + "tagProperty": "/properties/Tags", + "permissions": [ + "ec2:CreateTags", + "ec2:DescribeTags", + "ec2:DeleteTags" + ] }, "handlers": { "create": { diff --git a/server/schema/resources/aws-ec2-verifiedaccessinstance.json b/server/schema/resources/aws-ec2-verifiedaccessinstance.json index 3bd93e99..9a19cdb7 100644 --- a/server/schema/resources/aws-ec2-verifiedaccessinstance.json +++ b/server/schema/resources/aws-ec2-verifiedaccessinstance.json @@ -211,7 +211,12 @@ "tagOnCreate": true, "tagUpdatable": true, "cloudFormationSystemTags": false, - "tagProperty": "/properties/Tags" + "tagProperty": "/properties/Tags", + "permissions": [ + "ec2:CreateTags", + "ec2:DescribeTags", + "ec2:DeleteTags" + ] }, "handlers": { "create": { diff --git a/server/schema/resources/aws-ec2-verifiedaccesstrustprovider.json b/server/schema/resources/aws-ec2-verifiedaccesstrustprovider.json index b88487b6..d61e9704 100644 --- a/server/schema/resources/aws-ec2-verifiedaccesstrustprovider.json +++ b/server/schema/resources/aws-ec2-verifiedaccesstrustprovider.json @@ -182,7 +182,12 @@ "tagOnCreate": true, "tagUpdatable": true, "cloudFormationSystemTags": false, - "tagProperty": "/properties/Tags" + "tagProperty": "/properties/Tags", + "permissions": [ + "ec2:CreateTags", + "ec2:DescribeTags", + "ec2:DeleteTags" + ] }, "handlers": { "create": { diff --git a/server/schema/resources/aws-ec2-volume.json b/server/schema/resources/aws-ec2-volume.json index e90dda95..a1141e42 100644 --- a/server/schema/resources/aws-ec2-volume.json +++ b/server/schema/resources/aws-ec2-volume.json @@ -99,7 +99,12 @@ "tagOnCreate": true, "tagUpdatable": true, "cloudFormationSystemTags": false, - "tagProperty": "/properties/Tags" + "tagProperty": "/properties/Tags", + "permissions": [ + "ec2:CreateTags", + "ec2:DeleteTags", + "ec2:DescribeTags" + ] }, "handlers": { "create": { @@ -111,7 +116,8 @@ "ec2:CreateTags", "kms:GenerateDataKeyWithoutPlaintext", "kms:CreateGrant" - ] + ], + "timeoutInMinutes": 725 }, "read": { "permissions": [ diff --git a/server/schema/resources/aws-ec2-vpcendpoint.json b/server/schema/resources/aws-ec2-vpcendpoint.json index 555ba2f1..fca25b82 100644 --- a/server/schema/resources/aws-ec2-vpcendpoint.json +++ b/server/schema/resources/aws-ec2-vpcendpoint.json @@ -87,12 +87,12 @@ "markdownDescription": "The name of the endpoint service.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: Replacement" }, "PolicyDocument": { - "description": "An endpoint policy, which controls access to the service from the VPC. The default endpoint policy allows full access to the service. Endpoint policies are supported only for gateway and interface endpoints.\n For CloudFormation templates in YAML, you can provide the policy in JSON or YAML format. CFNlong converts YAML policies to JSON format before calling the API to create or modify the VPC endpoint.", + "description": "An endpoint policy, which controls access to the service from the VPC. The default endpoint policy allows full access to the service. Endpoint policies are supported only for gateway and interface endpoints.\n For CloudFormation templates in YAML, you can provide the policy in JSON or YAML format. For example, if you have a JSON policy, you can convert it to YAML before including it in the YAML template, and CFNlong converts the policy to JSON format before calling the API actions for privatelink. Alternatively, you can include the JSON directly in the YAML, as shown in the following ``Properties`` section:\n ``Properties: VpcEndpointType: 'Interface' ServiceName: !Sub 'com.amazonaws.${AWS::Region}.logs' PolicyDocument: '{ \"Version\":\"2012-10-17\", \"Statement\": [{ \"Effect\":\"Allow\", \"Principal\":\"*\", \"Action\":[\"logs:Describe*\",\"logs:Get*\",\"logs:List*\",\"logs:FilterLogEvents\"], \"Resource\":\"*\" }] }'``", "type": [ "string", "object" ], - "markdownDescription": "An endpoint policy, which controls access to the service from the VPC. The default endpoint policy allows full access to the service. Endpoint policies are supported only for gateway and interface endpoints.\n For CloudFormation templates in YAML, you can provide the policy in JSON or YAML format. CFNlong converts YAML policies to JSON format before calling the API to create or modify the VPC endpoint.\n\n---\n\nRequired: No \nType: ['string', 'object'] \nUpdate requires: No interruption" + "markdownDescription": "An endpoint policy, which controls access to the service from the VPC. The default endpoint policy allows full access to the service. Endpoint policies are supported only for gateway and interface endpoints.\n For CloudFormation templates in YAML, you can provide the policy in JSON or YAML format. For example, if you have a JSON policy, you can convert it to YAML before including it in the YAML template, and CFNlong converts the policy to JSON format before calling the API actions for privatelink. Alternatively, you can include the JSON directly in the YAML, as shown in the following ``Properties`` section:\n ``Properties: VpcEndpointType: 'Interface' ServiceName: !Sub 'com.amazonaws.${AWS::Region}.logs' PolicyDocument: '{ \"Version\":\"2012-10-17\", \"Statement\": [{ \"Effect\":\"Allow\", \"Principal\":\"*\", \"Action\":[\"logs:Describe*\",\"logs:Get*\",\"logs:List*\",\"logs:FilterLogEvents\"], \"Resource\":\"*\" }] }'``\n\n---\n\nRequired: No \nType: ['string', 'object'] \nUpdate requires: No interruption" }, "VpcEndpointType": { "description": "The type of endpoint.\n Default: Gateway", diff --git a/server/schema/resources/aws-ec2-vpcendpointconnectionnotification.json b/server/schema/resources/aws-ec2-vpcendpointconnectionnotification.json index a899ffe8..9ec74fca 100644 --- a/server/schema/resources/aws-ec2-vpcendpointconnectionnotification.json +++ b/server/schema/resources/aws-ec2-vpcendpointconnectionnotification.json @@ -1,70 +1,30 @@ { - "typeName": "AWS::EC2::VPCEndpointConnectionNotification", - "description": "Resource Type definition for AWS::EC2::VPCEndpointConnectionNotification", "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-ec2-vpc-endpoint", - "additionalProperties": false, - "properties": { - "ConnectionEvents": { - "description": "The endpoint events for which to receive notifications.", - "type": "array", - "uniqueItems": false, - "insertionOrder": false, - "items": { - "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" - }, - "markdownDescription": "The endpoint events for which to receive notifications.\n\n---\n\nRequired: Yes \nType: Array \nUpdate requires: No interruption" - }, - "ConnectionNotificationArn": { - "description": "The ARN of the SNS topic for the notifications.", - "type": "string", - "markdownDescription": "The ARN of the SNS topic for the notifications.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" - }, - "ServiceId": { - "description": "The ID of the endpoint service.", - "type": "string", - "markdownDescription": "The ID of the endpoint service.\n\n---\n\nRequired: No \nType: String \nUpdate requires: Replacement" - }, - "VPCEndpointId": { - "description": "The ID of the endpoint.", - "type": "string", - "markdownDescription": "The ID of the endpoint.\n\n---\n\nRequired: No \nType: String \nUpdate requires: Replacement" - } - }, - "required": [ - "ConnectionEvents", - "ConnectionNotificationArn" - ], - "createOnlyProperties": [ - "/properties/ServiceId", - "/properties/VPCEndpointId" - ], "tagging": { "taggable": false, "tagOnCreate": false, "tagUpdatable": false, "cloudFormationSystemTags": false }, - "readOnlyProperties": [ - "/properties/VPCEndpointConnectionNotificationId" - ], - "primaryIdentifier": [ - "/properties/VPCEndpointConnectionNotificationId" - ], "handlers": { + "read": { + "permissions": [ + "ec2:DescribeVpcEndpointConnectionNotifications" + ] + }, "create": { "permissions": [ "ec2:CreateVpcEndpointConnectionNotification" ] }, - "read": { + "update": { "permissions": [ + "ec2:ModifyVpcEndpointConnectionNotification", "ec2:DescribeVpcEndpointConnectionNotifications" ] }, - "update": { + "list": { "permissions": [ - "ec2:ModifyVpcEndpointConnectionNotification", "ec2:DescribeVpcEndpointConnectionNotifications" ] }, @@ -72,13 +32,53 @@ "permissions": [ "ec2:DeleteVpcEndpointConnectionNotifications" ] + } + }, + "typeName": "AWS::EC2::VPCEndpointConnectionNotification", + "readOnlyProperties": [ + "/properties/VPCEndpointConnectionNotificationId" + ], + "description": "Resource Type definition for AWS::EC2::VPCEndpointConnectionNotification", + "createOnlyProperties": [ + "/properties/ServiceId", + "/properties/VPCEndpointId" + ], + "additionalProperties": false, + "primaryIdentifier": [ + "/properties/VPCEndpointConnectionNotificationId" + ], + "properties": { + "ConnectionEvents": { + "uniqueItems": false, + "description": "The endpoint events for which to receive notifications.", + "insertionOrder": false, + "type": "array", + "items": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "markdownDescription": "The endpoint events for which to receive notifications.\n\n---\n\nRequired: Yes \nType: Array \nUpdate requires: No interruption" }, - "list": { - "permissions": [ - "ec2:DescribeVpcEndpointConnectionNotifications" - ] + "VPCEndpointId": { + "description": "The ID of the endpoint.", + "type": "string", + "markdownDescription": "The ID of the endpoint.\n\n---\n\nRequired: No \nType: String \nUpdate requires: Replacement" + }, + "ConnectionNotificationArn": { + "description": "The ARN of the SNS topic for the notifications.", + "type": "string", + "markdownDescription": "The ARN of the SNS topic for the notifications.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" + }, + "ServiceId": { + "description": "The ID of the endpoint service.", + "type": "string", + "markdownDescription": "The ID of the endpoint service.\n\n---\n\nRequired: No \nType: String \nUpdate requires: Replacement" } }, + "required": [ + "ConnectionEvents", + "ConnectionNotificationArn" + ], "attributes": { "VPCEndpointConnectionNotificationId": { "description": "VPC Endpoint Connection ID generated by service", diff --git a/server/schema/resources/aws-ec2-vpcendpointservice.json b/server/schema/resources/aws-ec2-vpcendpointservice.json index d5acce4d..2c638d71 100644 --- a/server/schema/resources/aws-ec2-vpcendpointservice.json +++ b/server/schema/resources/aws-ec2-vpcendpointservice.json @@ -8,6 +8,10 @@ "uniqueItems": false, "items": { "type": "string", + "relationshipRef": { + "typeName": "AWS::ElasticLoadBalancingV2::LoadBalancer", + "propertyPath": "/properties/LoadBalancerArn" + }, "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" diff --git a/server/schema/resources/aws-ec2-vpcendpointservicepermissions.json b/server/schema/resources/aws-ec2-vpcendpointservicepermissions.json index 85cf263c..5b7b33cf 100644 --- a/server/schema/resources/aws-ec2-vpcendpointservicepermissions.json +++ b/server/schema/resources/aws-ec2-vpcendpointservicepermissions.json @@ -1,31 +1,4 @@ { - "typeName": "AWS::EC2::VPCEndpointServicePermissions", - "description": "Resource Type definition for AWS::EC2::VPCEndpointServicePermissions", - "additionalProperties": false, - "properties": { - "AllowedPrincipals": { - "type": "array", - "uniqueItems": false, - "items": { - "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" - }, - "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" - }, - "ServiceId": { - "type": "string", - "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: Replacement" - } - }, - "required": [ - "ServiceId" - ], - "createOnlyProperties": [ - "/properties/ServiceId" - ], - "primaryIdentifier": [ - "/properties/ServiceId" - ], "tagging": { "taggable": false, "tagOnCreate": false, @@ -33,7 +6,7 @@ "cloudFormationSystemTags": false }, "handlers": { - "create": { + "read": { "permissions": [ "ec2:CreateVpcEndpointServicePermissions", "ec2:ModifyVpcEndpointServicePermissions", @@ -41,7 +14,7 @@ "ec2:DescribeVpcEndpointServicePermissions" ] }, - "update": { + "create": { "permissions": [ "ec2:CreateVpcEndpointServicePermissions", "ec2:ModifyVpcEndpointServicePermissions", @@ -49,7 +22,7 @@ "ec2:DescribeVpcEndpointServicePermissions" ] }, - "read": { + "update": { "permissions": [ "ec2:CreateVpcEndpointServicePermissions", "ec2:ModifyVpcEndpointServicePermissions", @@ -57,7 +30,7 @@ "ec2:DescribeVpcEndpointServicePermissions" ] }, - "delete": { + "list": { "permissions": [ "ec2:CreateVpcEndpointServicePermissions", "ec2:ModifyVpcEndpointServicePermissions", @@ -65,7 +38,7 @@ "ec2:DescribeVpcEndpointServicePermissions" ] }, - "list": { + "delete": { "permissions": [ "ec2:CreateVpcEndpointServicePermissions", "ec2:ModifyVpcEndpointServicePermissions", @@ -74,5 +47,32 @@ ] } }, + "typeName": "AWS::EC2::VPCEndpointServicePermissions", + "description": "Resource Type definition for AWS::EC2::VPCEndpointServicePermissions", + "createOnlyProperties": [ + "/properties/ServiceId" + ], + "additionalProperties": false, + "primaryIdentifier": [ + "/properties/ServiceId" + ], + "properties": { + "AllowedPrincipals": { + "uniqueItems": false, + "type": "array", + "items": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + }, + "ServiceId": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: Replacement" + } + }, + "required": [ + "ServiceId" + ], "attributes": {} } \ No newline at end of file diff --git a/server/schema/resources/aws-ec2-vpnconnection.json b/server/schema/resources/aws-ec2-vpnconnection.json index 01d7d621..a2c1cffd 100644 --- a/server/schema/resources/aws-ec2-vpnconnection.json +++ b/server/schema/resources/aws-ec2-vpnconnection.json @@ -69,24 +69,315 @@ "/properties/VpnConnectionId" ], "definitions": { + "CloudwatchLogOptionsSpecification": { + "description": "Options for sending VPN tunnel logs to CloudWatch.", + "additionalProperties": false, + "type": "object", + "properties": { + "LogEnabled": { + "description": "Enable or disable VPN tunnel logging feature. Default value is ``False``.\n Valid values: ``True`` | ``False``", + "type": "boolean", + "markdownDescription": "Enable or disable VPN tunnel logging feature. Default value is ``False``.\n Valid values: ``True`` | ``False``\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" + }, + "LogOutputFormat": { + "description": "Set log format. Default format is ``json``.\n Valid values: ``json`` | ``text``", + "type": "string", + "enum": [ + "json", + "text" + ], + "markdownDescription": "Set log format. Default format is ``json``.\n Valid values: ``json`` | ``text``\n\n---\n\nRequired: No \nType: String \nAllowed Values: json | text \nUpdate requires: No interruption" + }, + "LogGroupArn": { + "description": "The Amazon Resource Name (ARN) of the CloudWatch log group to send logs to.", + "type": "string", + "markdownDescription": "The Amazon Resource Name (ARN) of the CloudWatch log group to send logs to.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + } + }, + "markdownDescription": "Options for sending VPN tunnel logs to CloudWatch.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "Phase1IntegrityAlgorithmsRequestListValue": { + "description": "Specifies the integrity algorithm for the VPN tunnel for phase 1 IKE negotiations.", + "additionalProperties": false, + "type": "object", + "properties": { + "Value": { + "description": "The value for the integrity algorithm.", + "type": "string", + "enum": [ + "SHA1", + "SHA2-256", + "SHA2-384", + "SHA2-512" + ], + "markdownDescription": "The value for the integrity algorithm.\n\n---\n\nRequired: No \nType: String \nAllowed Values: SHA1 | SHA2-256 | SHA2-384 | SHA2-512 \nUpdate requires: No interruption" + } + }, + "markdownDescription": "Specifies the integrity algorithm for the VPN tunnel for phase 1 IKE negotiations.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "Phase2EncryptionAlgorithmsRequestListValue": { + "description": "Specifies the encryption algorithm for the VPN tunnel for phase 2 IKE negotiations.", + "additionalProperties": false, + "type": "object", + "properties": { + "Value": { + "description": "The encryption algorithm.", + "type": "string", + "enum": [ + "AES128", + "AES256", + "AES128-GCM-16", + "AES256-GCM-16" + ], + "markdownDescription": "The encryption algorithm.\n\n---\n\nRequired: No \nType: String \nAllowed Values: AES128 | AES256 | AES128-GCM-16 | AES256-GCM-16 \nUpdate requires: No interruption" + } + }, + "markdownDescription": "Specifies the encryption algorithm for the VPN tunnel for phase 2 IKE negotiations.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "Phase2IntegrityAlgorithmsRequestListValue": { + "description": "Specifies the integrity algorithm for the VPN tunnel for phase 2 IKE negotiations.", + "additionalProperties": false, + "type": "object", + "properties": { + "Value": { + "description": "The integrity algorithm.", + "type": "string", + "enum": [ + "SHA1", + "SHA2-256", + "SHA2-384", + "SHA2-512" + ], + "markdownDescription": "The integrity algorithm.\n\n---\n\nRequired: No \nType: String \nAllowed Values: SHA1 | SHA2-256 | SHA2-384 | SHA2-512 \nUpdate requires: No interruption" + } + }, + "markdownDescription": "Specifies the integrity algorithm for the VPN tunnel for phase 2 IKE negotiations.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "Phase1DHGroupNumbersRequestListValue": { + "description": "Specifies a Diffie-Hellman group number for the VPN tunnel for phase 1 IKE negotiations.", + "additionalProperties": false, + "type": "object", + "properties": { + "Value": { + "description": "The Diffie-Hellmann group number.", + "type": "integer", + "enum": [ + 2, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24 + ], + "markdownDescription": "The Diffie-Hellmann group number.\n\n---\n\nRequired: No \nType: Integer \nAllowed Values: 2 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 \nUpdate requires: No interruption" + } + }, + "markdownDescription": "Specifies a Diffie-Hellman group number for the VPN tunnel for phase 1 IKE negotiations.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, "VpnTunnelOptionsSpecification": { "description": "The tunnel options for a single VPN tunnel.", "additionalProperties": false, "type": "object", "properties": { - "PreSharedKey": { - "description": "The pre-shared key (PSK) to establish initial authentication between the virtual private gateway and customer gateway.\n Constraints: Allowed characters are alphanumeric characters, periods (.), and underscores (_). Must be between 8 and 64 characters in length and cannot start with zero (0).", + "Phase2EncryptionAlgorithms": { + "uniqueItems": false, + "description": "One or more encryption algorithms that are permitted for the VPN tunnel for phase 2 IKE negotiations.\n Valid values: ``AES128`` | ``AES256`` | ``AES128-GCM-16`` | ``AES256-GCM-16``", + "insertionOrder": false, + "type": "array", + "items": { + "$ref": "#/definitions/Phase2EncryptionAlgorithmsRequestListValue" + }, + "markdownDescription": "One or more encryption algorithms that are permitted for the VPN tunnel for phase 2 IKE negotiations.\n Valid values: ``AES128`` | ``AES256`` | ``AES128-GCM-16`` | ``AES256-GCM-16``\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + }, + "Phase2DHGroupNumbers": { + "uniqueItems": false, + "description": "One or more Diffie-Hellman group numbers that are permitted for the VPN tunnel for phase 2 IKE negotiations.\n Valid values: ``2`` | ``5`` | ``14`` | ``15`` | ``16`` | ``17`` | ``18`` | ``19`` | ``20`` | ``21`` | ``22`` | ``23`` | ``24``", + "insertionOrder": false, + "type": "array", + "items": { + "$ref": "#/definitions/Phase2DHGroupNumbersRequestListValue" + }, + "markdownDescription": "One or more Diffie-Hellman group numbers that are permitted for the VPN tunnel for phase 2 IKE negotiations.\n Valid values: ``2`` | ``5`` | ``14`` | ``15`` | ``16`` | ``17`` | ``18`` | ``19`` | ``20`` | ``21`` | ``22`` | ``23`` | ``24``\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + }, + "TunnelInsideIpv6Cidr": { + "description": "The range of inside IPv6 addresses for the tunnel. Any specified CIDR blocks must be unique across all VPN connections that use the same transit gateway.\n Constraints: A size /126 CIDR block from the local ``fd00::/8`` range.", "type": "string", - "markdownDescription": "The pre-shared key (PSK) to establish initial authentication between the virtual private gateway and customer gateway.\n Constraints: Allowed characters are alphanumeric characters, periods (.), and underscores (_). Must be between 8 and 64 characters in length and cannot start with zero (0).\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "markdownDescription": "The range of inside IPv6 addresses for the tunnel. Any specified CIDR blocks must be unique across all VPN connections that use the same transit gateway.\n Constraints: A size /126 CIDR block from the local ``fd00::/8`` range.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "StartupAction": { + "description": "The action to take when the establishing the tunnel for the VPN connection. By default, your customer gateway device must initiate the IKE negotiation and bring up the tunnel. Specify ``start`` for AWS to initiate the IKE negotiation.\n Valid Values: ``add`` | ``start`` \n Default: ``add``", + "type": "string", + "enum": [ + "add", + "start" + ], + "markdownDescription": "The action to take when the establishing the tunnel for the VPN connection. By default, your customer gateway device must initiate the IKE negotiation and bring up the tunnel. Specify ``start`` for AWS to initiate the IKE negotiation.\n Valid Values: ``add`` | ``start`` \n Default: ``add``\n\n---\n\nRequired: No \nType: String \nAllowed Values: add | start \nUpdate requires: No interruption" }, "TunnelInsideCidr": { "description": "The range of inside IP addresses for the tunnel. Any specified CIDR blocks must be unique across all VPN connections that use the same virtual private gateway. \n Constraints: A size /30 CIDR block from the ``169.254.0.0/16`` range. The following CIDR blocks are reserved and cannot be used:\n + ``169.254.0.0/30`` \n + ``169.254.1.0/30`` \n + ``169.254.2.0/30`` \n + ``169.254.3.0/30`` \n + ``169.254.4.0/30`` \n + ``169.254.5.0/30`` \n + ``169.254.169.252/30``", "type": "string", "markdownDescription": "The range of inside IP addresses for the tunnel. Any specified CIDR blocks must be unique across all VPN connections that use the same virtual private gateway. \n Constraints: A size /30 CIDR block from the ``169.254.0.0/16`` range. The following CIDR blocks are reserved and cannot be used:\n + ``169.254.0.0/30`` \n + ``169.254.1.0/30`` \n + ``169.254.2.0/30`` \n + ``169.254.3.0/30`` \n + ``169.254.4.0/30`` \n + ``169.254.5.0/30`` \n + ``169.254.169.252/30``\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "IKEVersions": { + "uniqueItems": false, + "description": "The IKE versions that are permitted for the VPN tunnel.\n Valid values: ``ikev1`` | ``ikev2``", + "insertionOrder": false, + "type": "array", + "items": { + "$ref": "#/definitions/IKEVersionsRequestListValue" + }, + "markdownDescription": "The IKE versions that are permitted for the VPN tunnel.\n Valid values: ``ikev1`` | ``ikev2``\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + }, + "LogOptions": { + "description": "Options for logging VPN tunnel activity.", + "$ref": "#/definitions/VpnTunnelLogOptionsSpecification", + "markdownDescription": "Options for logging VPN tunnel activity.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" + }, + "Phase1DHGroupNumbers": { + "uniqueItems": false, + "description": "One or more Diffie-Hellman group numbers that are permitted for the VPN tunnel for phase 1 IKE negotiations.\n Valid values: ``2`` | ``14`` | ``15`` | ``16`` | ``17`` | ``18`` | ``19`` | ``20`` | ``21`` | ``22`` | ``23`` | ``24``", + "insertionOrder": false, + "type": "array", + "items": { + "$ref": "#/definitions/Phase1DHGroupNumbersRequestListValue" + }, + "markdownDescription": "One or more Diffie-Hellman group numbers that are permitted for the VPN tunnel for phase 1 IKE negotiations.\n Valid values: ``2`` | ``14`` | ``15`` | ``16`` | ``17`` | ``18`` | ``19`` | ``20`` | ``21`` | ``22`` | ``23`` | ``24``\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + }, + "ReplayWindowSize": { + "description": "The number of packets in an IKE replay window.\n Constraints: A value between 64 and 2048.\n Default: ``1024``", + "maximum": 2048, + "type": "integer", + "minimum": 64, + "markdownDescription": "The number of packets in an IKE replay window.\n Constraints: A value between 64 and 2048.\n Default: ``1024``\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" + }, + "EnableTunnelLifecycleControl": { + "description": "Turn on or off tunnel endpoint lifecycle control feature.", + "type": "boolean", + "markdownDescription": "Turn on or off tunnel endpoint lifecycle control feature.\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" + }, + "RekeyMarginTimeSeconds": { + "description": "The margin time, in seconds, before the phase 2 lifetime expires, during which the AWS side of the VPN connection performs an IKE rekey. The exact time of the rekey is randomly selected based on the value for ``RekeyFuzzPercentage``.\n Constraints: A value between 60 and half of ``Phase2LifetimeSeconds``.\n Default: ``270``", + "type": "integer", + "minimum": 60, + "markdownDescription": "The margin time, in seconds, before the phase 2 lifetime expires, during which the AWS side of the VPN connection performs an IKE rekey. The exact time of the rekey is randomly selected based on the value for ``RekeyFuzzPercentage``.\n Constraints: A value between 60 and half of ``Phase2LifetimeSeconds``.\n Default: ``270``\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" + }, + "DPDTimeoutAction": { + "description": "The action to take after DPD timeout occurs. Specify ``restart`` to restart the IKE initiation. Specify ``clear`` to end the IKE session.\n Valid Values: ``clear`` | ``none`` | ``restart`` \n Default: ``clear``", + "type": "string", + "enum": [ + "clear", + "none", + "restart" + ], + "markdownDescription": "The action to take after DPD timeout occurs. Specify ``restart`` to restart the IKE initiation. Specify ``clear`` to end the IKE session.\n Valid Values: ``clear`` | ``none`` | ``restart`` \n Default: ``clear``\n\n---\n\nRequired: No \nType: String \nAllowed Values: clear | none | restart \nUpdate requires: No interruption" + }, + "Phase2LifetimeSeconds": { + "description": "The lifetime for phase 2 of the IKE negotiation, in seconds.\n Constraints: A value between 900 and 3,600. The value must be less than the value for ``Phase1LifetimeSeconds``.\n Default: ``3600``", + "maximum": 3600, + "type": "integer", + "minimum": 900, + "markdownDescription": "The lifetime for phase 2 of the IKE negotiation, in seconds.\n Constraints: A value between 900 and 3,600. The value must be less than the value for ``Phase1LifetimeSeconds``.\n Default: ``3600``\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" + }, + "Phase2IntegrityAlgorithms": { + "uniqueItems": false, + "description": "One or more integrity algorithms that are permitted for the VPN tunnel for phase 2 IKE negotiations.\n Valid values: ``SHA1`` | ``SHA2-256`` | ``SHA2-384`` | ``SHA2-512``", + "insertionOrder": false, + "type": "array", + "items": { + "$ref": "#/definitions/Phase2IntegrityAlgorithmsRequestListValue" + }, + "markdownDescription": "One or more integrity algorithms that are permitted for the VPN tunnel for phase 2 IKE negotiations.\n Valid values: ``SHA1`` | ``SHA2-256`` | ``SHA2-384`` | ``SHA2-512``\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + }, + "Phase1IntegrityAlgorithms": { + "uniqueItems": false, + "description": "One or more integrity algorithms that are permitted for the VPN tunnel for phase 1 IKE negotiations.\n Valid values: ``SHA1`` | ``SHA2-256`` | ``SHA2-384`` | ``SHA2-512``", + "insertionOrder": false, + "type": "array", + "items": { + "$ref": "#/definitions/Phase1IntegrityAlgorithmsRequestListValue" + }, + "markdownDescription": "One or more integrity algorithms that are permitted for the VPN tunnel for phase 1 IKE negotiations.\n Valid values: ``SHA1`` | ``SHA2-256`` | ``SHA2-384`` | ``SHA2-512``\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + }, + "PreSharedKey": { + "description": "The pre-shared key (PSK) to establish initial authentication between the virtual private gateway and customer gateway.\n Constraints: Allowed characters are alphanumeric characters, periods (.), and underscores (_). Must be between 8 and 64 characters in length and cannot start with zero (0).", + "type": "string", + "markdownDescription": "The pre-shared key (PSK) to establish initial authentication between the virtual private gateway and customer gateway.\n Constraints: Allowed characters are alphanumeric characters, periods (.), and underscores (_). Must be between 8 and 64 characters in length and cannot start with zero (0).\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "Phase1LifetimeSeconds": { + "description": "The lifetime for phase 1 of the IKE negotiation, in seconds.\n Constraints: A value between 900 and 28,800.\n Default: ``28800``", + "maximum": 28800, + "type": "integer", + "minimum": 900, + "markdownDescription": "The lifetime for phase 1 of the IKE negotiation, in seconds.\n Constraints: A value between 900 and 28,800.\n Default: ``28800``\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" + }, + "RekeyFuzzPercentage": { + "description": "The percentage of the rekey window (determined by ``RekeyMarginTimeSeconds``) during which the rekey time is randomly selected.\n Constraints: A value between 0 and 100.\n Default: ``100``", + "maximum": 100, + "type": "integer", + "minimum": 0, + "markdownDescription": "The percentage of the rekey window (determined by ``RekeyMarginTimeSeconds``) during which the rekey time is randomly selected.\n Constraints: A value between 0 and 100.\n Default: ``100``\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" + }, + "Phase1EncryptionAlgorithms": { + "uniqueItems": false, + "description": "One or more encryption algorithms that are permitted for the VPN tunnel for phase 1 IKE negotiations.\n Valid values: ``AES128`` | ``AES256`` | ``AES128-GCM-16`` | ``AES256-GCM-16``", + "insertionOrder": false, + "type": "array", + "items": { + "$ref": "#/definitions/Phase1EncryptionAlgorithmsRequestListValue" + }, + "markdownDescription": "One or more encryption algorithms that are permitted for the VPN tunnel for phase 1 IKE negotiations.\n Valid values: ``AES128`` | ``AES256`` | ``AES128-GCM-16`` | ``AES256-GCM-16``\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + }, + "DPDTimeoutSeconds": { + "description": "The number of seconds after which a DPD timeout occurs.\n Constraints: A value greater than or equal to 30.\n Default: ``30``", + "type": "integer", + "minimum": 30, + "markdownDescription": "The number of seconds after which a DPD timeout occurs.\n Constraints: A value greater than or equal to 30.\n Default: ``30``\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" } }, "markdownDescription": "The tunnel options for a single VPN tunnel.\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, + "Phase1EncryptionAlgorithmsRequestListValue": { + "description": "Specifies the encryption algorithm for the VPN tunnel for phase 1 IKE negotiations.", + "additionalProperties": false, + "type": "object", + "properties": { + "Value": { + "description": "The value for the encryption algorithm.", + "type": "string", + "enum": [ + "AES128", + "AES256", + "AES128-GCM-16", + "AES256-GCM-16" + ], + "markdownDescription": "The value for the encryption algorithm.\n\n---\n\nRequired: No \nType: String \nAllowed Values: AES128 | AES256 | AES128-GCM-16 | AES256-GCM-16 \nUpdate requires: No interruption" + } + }, + "markdownDescription": "Specifies the encryption algorithm for the VPN tunnel for phase 1 IKE negotiations.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "IKEVersionsRequestListValue": { + "description": "The IKE version that is permitted for the VPN tunnel.", + "additionalProperties": false, + "type": "object", + "properties": { + "Value": { + "description": "The IKE version.", + "type": "string", + "enum": [ + "ikev1", + "ikev2" + ], + "markdownDescription": "The IKE version.\n\n---\n\nRequired: No \nType: String \nAllowed Values: ikev1 | ikev2 \nUpdate requires: No interruption" + } + }, + "markdownDescription": "The IKE version that is permitted for the VPN tunnel.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, "Tag": { "description": "Specifies a tag. For more information, see [Resource tags](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-resource-tags.html).", "additionalProperties": false, @@ -108,18 +399,59 @@ "Key" ], "markdownDescription": "Specifies a tag. For more information, see [Resource tags](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-resource-tags.html).\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "VpnTunnelLogOptionsSpecification": { + "description": "Options for logging VPN tunnel activity.", + "additionalProperties": false, + "type": "object", + "properties": { + "CloudwatchLogOptions": { + "description": "Options for sending VPN tunnel logs to CloudWatch.", + "$ref": "#/definitions/CloudwatchLogOptionsSpecification", + "markdownDescription": "Options for sending VPN tunnel logs to CloudWatch.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" + } + }, + "markdownDescription": "Options for logging VPN tunnel activity.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "Phase2DHGroupNumbersRequestListValue": { + "description": "Specifies a Diffie-Hellman group number for the VPN tunnel for phase 2 IKE negotiations.", + "additionalProperties": false, + "type": "object", + "properties": { + "Value": { + "description": "The Diffie-Hellmann group number.", + "type": "integer", + "enum": [ + 2, + 5, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24 + ], + "markdownDescription": "The Diffie-Hellmann group number.\n\n---\n\nRequired: No \nType: Integer \nAllowed Values: 2 | 5 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 \nUpdate requires: No interruption" + } + }, + "markdownDescription": "Specifies a Diffie-Hellman group number for the VPN tunnel for phase 2 IKE negotiations.\n\n---\n\nRequired: No \nUpdate requires: No interruption" } }, "properties": { "RemoteIpv6NetworkCidr": { - "description": "", + "description": "The IPv6 CIDR on the AWS side of the VPN connection.\n Default: ``::/0``", "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: Replacement" + "markdownDescription": "The IPv6 CIDR on the AWS side of the VPN connection.\n Default: ``::/0``\n\n---\n\nRequired: No \nType: String \nUpdate requires: Replacement" }, "RemoteIpv4NetworkCidr": { - "description": "", + "description": "The IPv4 CIDR on the AWS side of the VPN connection.\n Default: ``0.0.0.0/0``", "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: Replacement" + "markdownDescription": "The IPv4 CIDR on the AWS side of the VPN connection.\n Default: ``0.0.0.0/0``\n\n---\n\nRequired: No \nType: String \nUpdate requires: Replacement" }, "VpnTunnelOptionsSpecifications": { "uniqueItems": false, @@ -137,9 +469,9 @@ "markdownDescription": "The ID of the customer gateway at your end of the VPN connection.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: Replacement" }, "OutsideIpAddressType": { - "description": "", + "description": "The type of IPv4 address assigned to the outside interface of the customer gateway device.\n Valid values: ``PrivateIpv4`` | ``PublicIpv4`` \n Default: ``PublicIpv4``", "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: Replacement" + "markdownDescription": "The type of IPv4 address assigned to the outside interface of the customer gateway device.\n Valid values: ``PrivateIpv4`` | ``PublicIpv4`` \n Default: ``PublicIpv4``\n\n---\n\nRequired: No \nType: String \nUpdate requires: Replacement" }, "StaticRoutesOnly": { "description": "Indicates whether the VPN connection uses static routes only. Static routes must be used for devices that don't support BGP.\n If you are creating a VPN connection for a device that does not support Border Gateway Protocol (BGP), you must specify ``true``.", @@ -162,9 +494,9 @@ "markdownDescription": "The type of VPN connection.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: Replacement" }, "LocalIpv4NetworkCidr": { - "description": "", + "description": "The IPv4 CIDR on the customer gateway (on-premises) side of the VPN connection.\n Default: ``0.0.0.0/0``", "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: Replacement" + "markdownDescription": "The IPv4 CIDR on the customer gateway (on-premises) side of the VPN connection.\n Default: ``0.0.0.0/0``\n\n---\n\nRequired: No \nType: String \nUpdate requires: Replacement" }, "VpnGatewayId": { "description": "The ID of the virtual private gateway at the AWS side of the VPN connection.\n You must specify either ``TransitGatewayId`` or ``VpnGatewayId``, but not both.", @@ -172,19 +504,19 @@ "markdownDescription": "The ID of the virtual private gateway at the AWS side of the VPN connection.\n You must specify either ``TransitGatewayId`` or ``VpnGatewayId``, but not both.\n\n---\n\nRequired: No \nType: String \nUpdate requires: Replacement" }, "TransportTransitGatewayAttachmentId": { - "description": "", + "description": "The transit gateway attachment ID to use for the VPN tunnel.\n Required if ``OutsideIpAddressType`` is set to ``PrivateIpv4``.", "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: Replacement" + "markdownDescription": "The transit gateway attachment ID to use for the VPN tunnel.\n Required if ``OutsideIpAddressType`` is set to ``PrivateIpv4``.\n\n---\n\nRequired: No \nType: String \nUpdate requires: Replacement" }, "LocalIpv6NetworkCidr": { - "description": "", + "description": "The IPv6 CIDR on the customer gateway (on-premises) side of the VPN connection.\n Default: ``::/0``", "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: Replacement" + "markdownDescription": "The IPv6 CIDR on the customer gateway (on-premises) side of the VPN connection.\n Default: ``::/0``\n\n---\n\nRequired: No \nType: String \nUpdate requires: Replacement" }, "TunnelInsideIpVersion": { - "description": "", + "description": "Indicate whether the VPN tunnels process IPv4 or IPv6 traffic.\n Default: ``ipv4``", "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: Replacement" + "markdownDescription": "Indicate whether the VPN tunnels process IPv4 or IPv6 traffic.\n Default: ``ipv4``\n\n---\n\nRequired: No \nType: String \nUpdate requires: Replacement" }, "Tags": { "uniqueItems": false, diff --git a/server/schema/resources/aws-ecr-repositorycreationtemplate.json b/server/schema/resources/aws-ecr-repositorycreationtemplate.json index 3ac263f0..5ea41f7a 100644 --- a/server/schema/resources/aws-ecr-repositorycreationtemplate.json +++ b/server/schema/resources/aws-ecr-repositorycreationtemplate.json @@ -25,16 +25,17 @@ "description": "The encryption type to use.", "enum": [ "AES256", - "KMS" + "KMS", + "KMS_DSSE" ], - "markdownDescription": "The encryption type to use.\n\n---\n\nRequired: No \nType: String \nAllowed Values: AES256 | KMS \nUpdate requires: No interruption" + "markdownDescription": "The encryption type to use.\n\n---\n\nRequired: No \nType: String \nAllowed Values: AES256 | KMS | KMS_DSSE \nUpdate requires: No interruption" }, "KmsKey": { "type": "string", - "description": "If you use the KMS encryption type, specify the CMK to use for encryption. The alias, key ID, or full ARN of the CMK can be specified. The key must exist in the same Region as the repository. If no key is specified, the default AWS managed CMK for Amazon ECR will be used.", + "description": "If you use the KMS or KMS_DSSE encryption type, specify the CMK to use for encryption. The alias, key ID, or full ARN of the CMK can be specified. The key must exist in the same Region as the repository. If no key is specified, the default AWS managed CMK for Amazon ECR will be used.", "minLength": 1, "maxLength": 2048, - "markdownDescription": "If you use the KMS encryption type, specify the CMK to use for encryption. The alias, key ID, or full ARN of the CMK can be specified. The key must exist in the same Region as the repository. If no key is specified, the default AWS managed CMK for Amazon ECR will be used.\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 2048 \nUpdate requires: No interruption" + "markdownDescription": "If you use the KMS or KMS_DSSE encryption type, specify the CMK to use for encryption. The alias, key ID, or full ARN of the CMK can be specified. The key must exist in the same Region as the repository. If no key is specified, the default AWS managed CMK for Amazon ECR will be used.\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 2048 \nUpdate requires: No interruption" }, "Tag": { "description": "An array of key-value pairs to apply to this resource.", diff --git a/server/schema/resources/aws-ecs-capacityprovider.json b/server/schema/resources/aws-ecs-capacityprovider.json index 1c3ce9c2..2876e460 100644 --- a/server/schema/resources/aws-ecs-capacityprovider.json +++ b/server/schema/resources/aws-ecs-capacityprovider.json @@ -3,7 +3,16 @@ "/properties/AutoScalingGroupProvider/AutoScalingGroupArn": "$split(AutoScalingGroupProvider.AutoScalingGroupArn, \"autoScalingGroupName/\")[-1] $OR $split(AutoScalingGroupArn, \"autoScalingGroupName/\")[-1]" }, "tagging": { - "taggable": true + "permissions": [ + "ecs:TagResource", + "ecs:UntagResource", + "ecs:ListTagsForResource" + ], + "taggable": true, + "tagOnCreate": true, + "tagUpdatable": true, + "tagProperty": "/properties/Tags", + "cloudFormationSystemTags": true }, "handlers": { "read": { @@ -51,38 +60,6 @@ "/properties/Name" ], "definitions": { - "ManagedScaling": { - "description": "The managed scaling settings for the Auto Scaling group capacity provider.", - "additionalProperties": false, - "type": "object", - "properties": { - "Status": { - "type": "string", - "enum": [ - "DISABLED", - "ENABLED" - ], - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: DISABLED | ENABLED \nUpdate requires: No interruption" - }, - "MinimumScalingStepSize": { - "type": "integer", - "markdownDescription": "\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" - }, - "InstanceWarmupPeriod": { - "type": "integer", - "markdownDescription": "\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" - }, - "TargetCapacity": { - "type": "integer", - "markdownDescription": "\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" - }, - "MaximumScalingStepSize": { - "type": "integer", - "markdownDescription": "\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" - } - }, - "markdownDescription": "The managed scaling settings for the Auto Scaling group capacity provider.\n\n---\n\nRequired: No \nUpdate requires: No interruption" - }, "AutoScalingGroupProvider": { "additionalProperties": false, "type": "object", @@ -116,6 +93,38 @@ ], "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: Replacement" }, + "ManagedScaling": { + "description": "The managed scaling settings for the Auto Scaling group capacity provider.", + "additionalProperties": false, + "type": "object", + "properties": { + "Status": { + "type": "string", + "enum": [ + "DISABLED", + "ENABLED" + ], + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: DISABLED | ENABLED \nUpdate requires: No interruption" + }, + "MinimumScalingStepSize": { + "type": "integer", + "markdownDescription": "\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" + }, + "InstanceWarmupPeriod": { + "type": "integer", + "markdownDescription": "\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" + }, + "TargetCapacity": { + "type": "integer", + "markdownDescription": "\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" + }, + "MaximumScalingStepSize": { + "type": "integer", + "markdownDescription": "\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" + } + }, + "markdownDescription": "The managed scaling settings for the Auto Scaling group capacity provider.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, "Tag": { "additionalProperties": false, "type": "object", @@ -150,8 +159,5 @@ "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: Replacement" } }, - "required": [ - "AutoScalingGroupProvider" - ], "attributes": {} } \ No newline at end of file diff --git a/server/schema/resources/aws-ecs-cluster.json b/server/schema/resources/aws-ecs-cluster.json index 81ef33f9..3cc64be9 100644 --- a/server/schema/resources/aws-ecs-cluster.json +++ b/server/schema/resources/aws-ecs-cluster.json @@ -1,6 +1,15 @@ { "tagging": { - "taggable": true + "permissions": [ + "ecs:TagResource", + "ecs:UntagResource", + "ecs:ListTagsForResource" + ], + "taggable": true, + "tagOnCreate": true, + "tagUpdatable": true, + "tagProperty": "/properties/Tags", + "cloudFormationSystemTags": true }, "propertyTransform": { "/properties/Configuration/ManagedStorageConfiguration/FargateEphemeralStorageKmsKeyId": "$join([\"arn:aws[-a-z]*:kms:[a-z0-9-]+:[0-9]{12}:key/\", FargateEphemeralStorageKmsKeyId])" diff --git a/server/schema/resources/aws-ecs-service.json b/server/schema/resources/aws-ecs-service.json index e7fe75f3..8bec8a57 100644 --- a/server/schema/resources/aws-ecs-service.json +++ b/server/schema/resources/aws-ecs-service.json @@ -1,10 +1,18 @@ { "tagging": { + "permissions": [ + "ecs:TagResource", + "ecs:UntagResource", + "ecs:ListTagsForResource" + ], "taggable": true, "tagOnCreate": true, "tagUpdatable": true, "tagProperty": "/properties/Tags", - "cloudFormationSystemTags": true + "cloudFormationSystemTags": false + }, + "propertyTransform": { + "/properties/Role": "Role $OR $join([\"arn:(aws)[-]{0,1}[a-z]{0,3}[-]{0,1}[a-z]{0,3}:iam::[0-9]{12}[:]role/{1}\", Role])" }, "handlers": { "read": { @@ -156,6 +164,31 @@ }, "markdownDescription": "The certificate root authority that secures your service.\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, + "VpcLatticeConfiguration": { + "description": "", + "additionalProperties": false, + "type": "object", + "properties": { + "TargetGroupArn": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" + }, + "PortName": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" + }, + "RoleArn": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" + } + }, + "required": [ + "RoleArn", + "TargetGroupArn", + "PortName" + ], + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, "LoadBalancer": { "description": "The ``LoadBalancer`` property specifies details on a load balancer that is used with a service.\n If the service is using the ``CODE_DEPLOY`` deployment controller, the service is required to use either an Application Load Balancer or Network Load Balancer. When you are creating an ACDlong deployment group, you specify two target groups (referred to as a ``targetGroupPair``). Each target group binds to a separate task set in the deployment. The load balancer can also have up to two listeners, a required listener for production traffic and an optional listener that allows you to test new revisions of the service before routing production traffic to it.\n Services with tasks that use the ``awsvpc`` network mode (for example, those with the Fargate launch type) only support Application Load Balancers and Network Load Balancers. Classic Load Balancers are not supported. Also, when you create any target groups for these services, you must choose ``ip`` as the target type, not ``instance``. Tasks that use the ``awsvpc`` network mode are associated with an elastic network interface, not an Amazon EC2 instance.", "additionalProperties": false, @@ -309,10 +342,10 @@ "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" } }, - "description": "The configuration options to send to the log driver. This parameter requires version 1.19 of the Docker Remote API or greater on your container instance. To check the Docker Remote API version on your container instance, log in to your container instance and run the following command: ``sudo docker version --format '{{.Server.APIVersion}}'``", + "description": "The configuration options to send to the log driver.\n The options you can specify depend on the log driver. Some of the options you can specify when you use the ``awslogs`` log driver to route logs to Amazon CloudWatch include the following:\n + awslogs-create-group Required: No Specify whether you want the log group to be created automatically. If this option isn't specified, it defaults to false. Your IAM policy must include the logs:CreateLogGroup permission before you attempt to use awslogs-create-group. + awslogs-region Required: Yes Specify the Region that the awslogs log driver is to send your Docker logs to. You can choose to send all of your logs from clusters in different Regions to a single region in CloudWatch Logs. This is so that they're all visible in one location. Otherwise, you can separate them by Region for more granularity. Make sure that the specified log group exists in the Region that you specify with this option. + awslogs-group Required: Yes Make sure to specify a log group that the awslogs log driver sends its log streams to. + awslogs-stream-prefix Required: Yes, when using the Fargate launch type.Optional for the EC2 launch type, required for the Fargate launch type. Use the awslogs-stream-prefix option to associate a log stream with the specified prefix, the container name, and the ID of the Amazon ECS task that the container belongs to. If you specify a prefix with this option, then the log stream takes the format prefix-name/container-name/ecs-task-id. If you don't specify a prefix with this option, then the log stream is named after the container ID that's assigned by the Docker daemon on the container instance. Because it's difficult to trace logs back to the container that sent them with just the Docker container ID (which is only available on the container instance), we recommend that you specify a prefix with this option. For Amazon ECS services, you can use the service name as the prefix. Doing so, you can trace log streams to the service that the container belongs to, the name of the container that sent them, and the ID of the task that the container belongs to. You must specify a stream-prefix for your logs to have your logs appear in the Log pane when using the Amazon ECS console. + awslogs-datetime-format Required: No This option defines a multiline start pattern in Python strftime format. A log message consists of a line that matches the pattern and any following lines that don\u2019t match the pattern. The matched line is the delimiter between log messages. One example of a use case for using this format is for parsing output such as a stack dump, which might otherwise be logged in multiple entries. The correct pattern allows it to be captured in a single entry. For more information, see awslogs-datetime-format. You cannot configure both the awslogs-datetime-format and awslogs-multiline-pattern options. Multiline logging performs regular expression parsing and matching of all log messages. This might have a negative impact on logging performance. + awslogs-multiline-pattern Required: No This option defines a multiline start pattern that uses a regular expression. A log message consists of a line that matches the pattern and any following lines that don\u2019t match the pattern. The matched line is the delimiter between log messages. For more information, see awslogs-multiline-pattern. This option is ignored if awslogs-datetime-format is also configured. You cannot configure both the awslogs-datetime-format and awslogs-multiline-pattern options. Multiline logging performs regular expression parsing and matching of all log messages. This might have a negative impact on logging performance. + mode Required: No Valid values: non-blocking | blocking This option defines the delivery mode of log messages from the container to CloudWatch Logs. The delivery mode you choose affects application availability when the flow of logs from container to CloudWatch is interrupted. If you use the blocking mode and the flow of logs to CloudWatch is interrupted, calls from container code to write to the stdout and stderr streams will block. The logging thread of the application will block as a result. This may cause the application to become unresponsive and lead to container healthcheck failure. If you use the non-blocking mode, the container's logs are instead stored in an in-memory intermediate buffer configured with the max-buffer-size option. This prevents the application from becoming unresponsive when logs cannot be sent to CloudWatch. We recommend using this mode if you want to ensure service availability and are okay with some log loss. For more information, see Preventing log loss with non-blocking mode in the awslogs container log driver. + max-buffer-size Required: No Default value: 1m When non-blocking mode is used, the max-buffer-size log option controls the size of the buffer that's used for intermediate message storage. Make sure to specify an adequate buffer size based on your application. When the buffer fills up, further logs cannot be stored. Logs that cannot be stored are lost. \n To route logs using the ``splunk`` log router, you need to specify a ``splunk-token`` and a ``splunk-url``.\n When you use the ``awsfirelens`` log router to route logs to an AWS Service or AWS Partner Network destination for log storage and analytics, you can set the ``log-driver-buffer-limit`` option to limit the number of events that are buffered in memory, before being sent to the log router container. It can help to resolve potential log loss issue because high throughput might result in memory running out for the buffer inside of Docker.\n Other options you can specify when using ``awsfirelens`` to route logs depend on the destination. When you export logs to Amazon Data Firehose, you can specify the AWS Region with ``region`` and a name for the log stream with ``delivery_stream``.\n When you export logs to Amazon Kinesis Data Streams, you can specify an AWS Region with ``region`` and a data stream name with ``stream``.\n When you export logs to Amazon OpenSearch Service, you can specify options like ``Name``, ``Host`` (OpenSearch Service endpoint without protocol), ``Port``, ``Index``, ``Type``, ``Aws_auth``, ``Aws_region``, ``Suppress_Type_Name``, and ``tls``.\n When you export logs to Amazon S3, you can specify the bucket using the ``bucket`` option. You can also specify ``region``, ``total_file_size``, ``upload_timeout``, and ``use_put_object`` as options.\n This parameter requires version 1.19 of the Docker Remote API or greater on your container instance. To check the Docker Remote API version on your container instance, log in to your container instance and run the following command: ``sudo docker version --format '{{.Server.APIVersion}}'``", "additionalProperties": false, "type": "object", - "markdownDescription": "The configuration options to send to the log driver. This parameter requires version 1.19 of the Docker Remote API or greater on your container instance. To check the Docker Remote API version on your container instance, log in to your container instance and run the following command: ``sudo docker version --format '{{.Server.APIVersion}}'``\n\n---\n\nRequired: No \nUpdate requires: No interruption" + "markdownDescription": "The configuration options to send to the log driver.\n The options you can specify depend on the log driver. Some of the options you can specify when you use the ``awslogs`` log driver to route logs to Amazon CloudWatch include the following:\n + awslogs-create-group Required: No Specify whether you want the log group to be created automatically. If this option isn't specified, it defaults to false. Your IAM policy must include the logs:CreateLogGroup permission before you attempt to use awslogs-create-group. + awslogs-region Required: Yes Specify the Region that the awslogs log driver is to send your Docker logs to. You can choose to send all of your logs from clusters in different Regions to a single region in CloudWatch Logs. This is so that they're all visible in one location. Otherwise, you can separate them by Region for more granularity. Make sure that the specified log group exists in the Region that you specify with this option. + awslogs-group Required: Yes Make sure to specify a log group that the awslogs log driver sends its log streams to. + awslogs-stream-prefix Required: Yes, when using the Fargate launch type.Optional for the EC2 launch type, required for the Fargate launch type. Use the awslogs-stream-prefix option to associate a log stream with the specified prefix, the container name, and the ID of the Amazon ECS task that the container belongs to. If you specify a prefix with this option, then the log stream takes the format prefix-name/container-name/ecs-task-id. If you don't specify a prefix with this option, then the log stream is named after the container ID that's assigned by the Docker daemon on the container instance. Because it's difficult to trace logs back to the container that sent them with just the Docker container ID (which is only available on the container instance), we recommend that you specify a prefix with this option. For Amazon ECS services, you can use the service name as the prefix. Doing so, you can trace log streams to the service that the container belongs to, the name of the container that sent them, and the ID of the task that the container belongs to. You must specify a stream-prefix for your logs to have your logs appear in the Log pane when using the Amazon ECS console. + awslogs-datetime-format Required: No This option defines a multiline start pattern in Python strftime format. A log message consists of a line that matches the pattern and any following lines that don\u2019t match the pattern. The matched line is the delimiter between log messages. One example of a use case for using this format is for parsing output such as a stack dump, which might otherwise be logged in multiple entries. The correct pattern allows it to be captured in a single entry. For more information, see awslogs-datetime-format. You cannot configure both the awslogs-datetime-format and awslogs-multiline-pattern options. Multiline logging performs regular expression parsing and matching of all log messages. This might have a negative impact on logging performance. + awslogs-multiline-pattern Required: No This option defines a multiline start pattern that uses a regular expression. A log message consists of a line that matches the pattern and any following lines that don\u2019t match the pattern. The matched line is the delimiter between log messages. For more information, see awslogs-multiline-pattern. This option is ignored if awslogs-datetime-format is also configured. You cannot configure both the awslogs-datetime-format and awslogs-multiline-pattern options. Multiline logging performs regular expression parsing and matching of all log messages. This might have a negative impact on logging performance. + mode Required: No Valid values: non-blocking | blocking This option defines the delivery mode of log messages from the container to CloudWatch Logs. The delivery mode you choose affects application availability when the flow of logs from container to CloudWatch is interrupted. If you use the blocking mode and the flow of logs to CloudWatch is interrupted, calls from container code to write to the stdout and stderr streams will block. The logging thread of the application will block as a result. This may cause the application to become unresponsive and lead to container healthcheck failure. If you use the non-blocking mode, the container's logs are instead stored in an in-memory intermediate buffer configured with the max-buffer-size option. This prevents the application from becoming unresponsive when logs cannot be sent to CloudWatch. We recommend using this mode if you want to ensure service availability and are okay with some log loss. For more information, see Preventing log loss with non-blocking mode in the awslogs container log driver. + max-buffer-size Required: No Default value: 1m When non-blocking mode is used, the max-buffer-size log option controls the size of the buffer that's used for intermediate message storage. Make sure to specify an adequate buffer size based on your application. When the buffer fills up, further logs cannot be stored. Logs that cannot be stored are lost. \n To route logs using the ``splunk`` log router, you need to specify a ``splunk-token`` and a ``splunk-url``.\n When you use the ``awsfirelens`` log router to route logs to an AWS Service or AWS Partner Network destination for log storage and analytics, you can set the ``log-driver-buffer-limit`` option to limit the number of events that are buffered in memory, before being sent to the log router container. It can help to resolve potential log loss issue because high throughput might result in memory running out for the buffer inside of Docker.\n Other options you can specify when using ``awsfirelens`` to route logs depend on the destination. When you export logs to Amazon Data Firehose, you can specify the AWS Region with ``region`` and a name for the log stream with ``delivery_stream``.\n When you export logs to Amazon Kinesis Data Streams, you can specify an AWS Region with ``region`` and a data stream name with ``stream``.\n When you export logs to Amazon OpenSearch Service, you can specify options like ``Name``, ``Host`` (OpenSearch Service endpoint without protocol), ``Port``, ``Index``, ``Type``, ``Aws_auth``, ``Aws_region``, ``Suppress_Type_Name``, and ``tls``.\n When you export logs to Amazon S3, you can specify the bucket using the ``bucket`` option. You can also specify ``region``, ``total_file_size``, ``upload_timeout``, and ``use_put_object`` as options.\n This parameter requires version 1.19 of the Docker Remote API or greater on your container instance. To check the Docker Remote API version on your container instance, log in to your container instance and run the following command: ``sudo docker version --format '{{.Server.APIVersion}}'``\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, "LogDriver": { "description": "The log driver to use for the container.\n For tasks on FARGATElong, the supported log drivers are ``awslogs``, ``splunk``, and ``awsfirelens``.\n For tasks hosted on Amazon EC2 instances, the supported log drivers are ``awslogs``, ``fluentd``, ``gelf``, ``json-file``, ``journald``, ``syslog``, ``splunk``, and ``awsfirelens``.\n For more information about using the ``awslogs`` log driver, see [Send Amazon ECS logs to CloudWatch](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/using_awslogs.html) in the *Amazon Elastic Container Service Developer Guide*.\n For more information about using the ``awsfirelens`` log driver, see [Send Amazon ECS logs to an service or Partner](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/using_firelens.html).\n If you have a custom driver that isn't listed, you can fork the Amazon ECS container agent project that's [available on GitHub](https://docs.aws.amazon.com/https://github.com/aws/amazon-ecs-agent) and customize it to work with that driver. We encourage you to submit pull requests for changes that you would like to have included. However, we don't currently provide support for running modified copies of this software.", @@ -405,7 +438,7 @@ "markdownDescription": "An object representing a constraint on task placement. For more information, see [Task placement constraints](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-placement-constraints.html) in the *Amazon Elastic Container Service Developer Guide*.\n If you're using the Fargate launch type, task placement constraints aren't supported.\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, "ServiceManagedEBSVolumeConfiguration": { - "description": "The configuration for the Amazon EBS volume that Amazon ECS creates and manages on your behalf. These settings are used to create each Amazon EBS volume, with one volume created for each task in the service.\n Many of these parameters map 1:1 with the Amazon EBS ``CreateVolume`` API request parameters.", + "description": "The configuration for the Amazon EBS volume that Amazon ECS creates and manages on your behalf. These settings are used to create each Amazon EBS volume, with one volume created for each task in the service. For information about the supported launch types and operating systems, see [Supported operating systems and launch types](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ebs-volumes.html#ebs-volumes-configuration) in the*Amazon Elastic Container Service Developer Guide*.\n Many of these parameters map 1:1 with the Amazon EBS ``CreateVolume`` API request parameters.", "additionalProperties": false, "type": "object", "required": [ @@ -436,9 +469,9 @@ "markdownDescription": "The tags to apply to the volume. Amazon ECS applies service-managed tags by default. This parameter maps 1:1 with the ``TagSpecifications.N`` parameter of the [CreateVolume API](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateVolume.html) in the *Amazon EC2 API Reference*.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" }, "FilesystemType": { - "description": "The Linux filesystem type for the volume. For volumes created from a snapshot, you must specify the same filesystem type that the volume was using when the snapshot was created. If there is a filesystem type mismatch, the task will fail to start.\n The available filesystem types are\u2028 ``ext3``, ``ext4``, and ``xfs``. If no value is specified, the ``xfs`` filesystem type is used by default.", + "description": "The filesystem type for the volume. For volumes created from a snapshot, you must specify the same filesystem type that the volume was using when the snapshot was created. If there is a filesystem type mismatch, the task will fail to start.\n The available Linux filesystem types are\u2028 ``ext3``, ``ext4``, and ``xfs``. If no value is specified, the ``xfs`` filesystem type is used by default.\n The available Windows filesystem types are ``NTFS``.", "type": "string", - "markdownDescription": "The Linux filesystem type for the volume. For volumes created from a snapshot, you must specify the same filesystem type that the volume was using when the snapshot was created. If there is a filesystem type mismatch, the task will fail to start.\n The available filesystem types are\u2028 ``ext3``, ``ext4``, and ``xfs``. If no value is specified, the ``xfs`` filesystem type is used by default.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "markdownDescription": "The filesystem type for the volume. For volumes created from a snapshot, you must specify the same filesystem type that the volume was using when the snapshot was created. If there is a filesystem type mismatch, the task will fail to start.\n The available Linux filesystem types are\u2028 ``ext3``, ``ext4``, and ``xfs``. If no value is specified, the ``xfs`` filesystem type is used by default.\n The available Windows filesystem types are ``NTFS``.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, "Encrypted": { "description": "Indicates whether the volume should be encrypted. If no value is specified, encryption is turned on by default. This parameter maps 1:1 with the ``Encrypted`` parameter of the [CreateVolume API](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateVolume.html) in the *Amazon EC2 API Reference*.", @@ -466,7 +499,7 @@ "markdownDescription": "The ARN of the IAM role to associate with this volume. This is the Amazon ECS infrastructure IAM role that is used to manage your AWS infrastructure. We recommend using the Amazon ECS-managed ``AmazonECSInfrastructureRolePolicyForVolumes`` IAM policy with this role. For more information, see [Amazon ECS infrastructure IAM role](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/infrastructure_IAM_role.html) in the *Amazon ECS Developer Guide*.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" } }, - "markdownDescription": "The configuration for the Amazon EBS volume that Amazon ECS creates and manages on your behalf. These settings are used to create each Amazon EBS volume, with one volume created for each task in the service.\n Many of these parameters map 1:1 with the Amazon EBS ``CreateVolume`` API request parameters.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + "markdownDescription": "The configuration for the Amazon EBS volume that Amazon ECS creates and manages on your behalf. These settings are used to create each Amazon EBS volume, with one volume created for each task in the service. For information about the supported launch types and operating systems, see [Supported operating systems and launch types](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ebs-volumes.html#ebs-volumes-configuration) in the*Amazon Elastic Container Service Developer Guide*.\n Many of these parameters map 1:1 with the Amazon EBS ``CreateVolume`` API request parameters.\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, "ServiceConnectClientAlias": { "description": "Each alias (\"endpoint\") is a fully-qualified name and port number that other tasks (\"clients\") can use to connect to this service.\n Each name and port mapping must be unique within the namespace.\n Tasks that run in a namespace can use short names to connect to services in the namespace. Tasks can connect to services across all of the clusters in the namespace. Tasks connect through a managed proxy container that collects logs and metrics for increased visibility. Only the tasks that Amazon ECS services create are supported with Service Connect. For more information, see [Service Connect](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/service-connect.html) in the *Amazon Elastic Container Service Developer Guide*.", @@ -755,6 +788,16 @@ ], "markdownDescription": "The launch type on which to run your service. For more information, see [Amazon ECS Launch Types](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/launch_types.html) in the *Amazon Elastic Container Service Developer Guide*.\n\n---\n\nRequired: No \nType: String \nAllowed Values: EC2 | FARGATE | EXTERNAL \nUpdate requires: Replacement" }, + "AvailabilityZoneRebalancing": { + "default": "DISABLED", + "description": "", + "type": "string", + "enum": [ + "ENABLED", + "DISABLED" + ], + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: ENABLED | DISABLED \nUpdate requires: No interruption" + }, "SchedulingStrategy": { "description": "The scheduling strategy to use for the service. For more information, see [Services](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs_services.html).\n There are two service scheduler strategies available:\n + ``REPLICA``-The replica scheduling strategy places and maintains the desired number of tasks across your cluster. By default, the service scheduler spreads tasks across Availability Zones. You can use task placement strategies and constraints to customize task placement decisions. This scheduler strategy is required if the service uses the ``CODE_DEPLOY`` or ``EXTERNAL`` deployment controller types.\n + ``DAEMON``-The daemon scheduling strategy deploys exactly one task on each active container instance that meets all of the task placement constraints that you specify in your cluster. The service scheduler also evaluates the task placement constraints for running tasks and will stop tasks that don't meet the placement constraints. When you're using this strategy, you don't need to specify a desired number of tasks, a task placement strategy, or use Service Auto Scaling policies.\n Tasks using the Fargate launch type or the ``CODE_DEPLOY`` or ``EXTERNAL`` deployment controller types don't support the ``DAEMON`` scheduling strategy.", "type": "string", @@ -823,6 +866,14 @@ "type": "integer", "markdownDescription": "The number of instantiations of the specified task definition to place and keep running in your service.\n For new services, if a desired count is not specified, a default value of ``1`` is used. When using the ``DAEMON`` scheduling strategy, the desired count is not required.\n For existing services, if a desired count is not specified, it is omitted from the operation.\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" }, + "VpcLatticeConfigurations": { + "description": "", + "type": "array", + "items": { + "$ref": "#/definitions/VpcLatticeConfiguration" + }, + "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + }, "DeploymentController": { "description": "The deployment controller to use for the service. If no deployment controller is specified, the default value of ``ECS`` is used.", "$ref": "#/definitions/DeploymentController", diff --git a/server/schema/resources/aws-ecs-taskdefinition.json b/server/schema/resources/aws-ecs-taskdefinition.json index 010ee13c..05c8180a 100644 --- a/server/schema/resources/aws-ecs-taskdefinition.json +++ b/server/schema/resources/aws-ecs-taskdefinition.json @@ -1,6 +1,11 @@ { "sourceUrl": "https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task_definition_parameters.html", "tagging": { + "permissions": [ + "ecs:TagResource", + "ecs:UntagResource", + "ecs:ListTagsForResource" + ], "taggable": true, "tagOnCreate": true, "tagUpdatable": true, @@ -120,14 +125,14 @@ "type": "object", "properties": { "Command": { - "description": "A string array representing the command that the container runs to determine if it is healthy. The string array must start with ``CMD`` to run the command arguments directly, or ``CMD-SHELL`` to run the command with the container's default shell. \n When you use the AWS Management Console JSON panel, the CLIlong, or the APIs, enclose the list of commands in double quotes and brackets.\n ``[ \"CMD-SHELL\", \"curl -f http://localhost/ || exit 1\" ]`` \n You don't include the double quotes and brackets when you use the AWS Management Console.\n ``CMD-SHELL, curl -f http://localhost/ || exit 1`` \n An exit code of 0 indicates success, and non-zero exit code indicates failure. For more information, see ``HealthCheck`` in tthe docker container create command", + "description": "A string array representing the command that the container runs to determine if it is healthy. The string array must start with ``CMD`` to run the command arguments directly, or ``CMD-SHELL`` to run the command with the container's default shell. \n When you use the AWS Management Console JSON panel, the CLIlong, or the APIs, enclose the list of commands in double quotes and brackets.\n ``[ \"CMD-SHELL\", \"curl -f http://localhost/ || exit 1\" ]`` \n You don't include the double quotes and brackets when you use the AWS Management Console.\n ``CMD-SHELL, curl -f http://localhost/ || exit 1`` \n An exit code of 0 indicates success, and non-zero exit code indicates failure. For more information, see ``HealthCheck`` in the docker container create command", "insertionOrder": true, "type": "array", "items": { "type": "string", "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, - "markdownDescription": "A string array representing the command that the container runs to determine if it is healthy. The string array must start with ``CMD`` to run the command arguments directly, or ``CMD-SHELL`` to run the command with the container's default shell. \n When you use the AWS Management Console JSON panel, the CLIlong, or the APIs, enclose the list of commands in double quotes and brackets.\n ``[ \"CMD-SHELL\", \"curl -f http://localhost/ || exit 1\" ]`` \n You don't include the double quotes and brackets when you use the AWS Management Console.\n ``CMD-SHELL, curl -f http://localhost/ || exit 1`` \n An exit code of 0 indicates success, and non-zero exit code indicates failure. For more information, see ``HealthCheck`` in tthe docker container create command\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + "markdownDescription": "A string array representing the command that the container runs to determine if it is healthy. The string array must start with ``CMD`` to run the command arguments directly, or ``CMD-SHELL`` to run the command with the container's default shell. \n When you use the AWS Management Console JSON panel, the CLIlong, or the APIs, enclose the list of commands in double quotes and brackets.\n ``[ \"CMD-SHELL\", \"curl -f http://localhost/ || exit 1\" ]`` \n You don't include the double quotes and brackets when you use the AWS Management Console.\n ``CMD-SHELL, curl -f http://localhost/ || exit 1`` \n An exit code of 0 indicates success, and non-zero exit code indicates failure. For more information, see ``HealthCheck`` in the docker container create command\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" }, "Timeout": { "description": "The time period in seconds to wait for a health check to succeed before it is considered a failure. You may specify between 2 and 60 seconds. The default value is 5.", @@ -215,13 +220,13 @@ }, "VolumesFrom": { "uniqueItems": true, - "description": "Data volumes to mount from another container. This parameter maps to ``VolumesFrom`` in tthe docker container create command and the ``--volumes-from`` option to docker run.", + "description": "Data volumes to mount from another container. This parameter maps to ``VolumesFrom`` in the docker container create command and the ``--volumes-from`` option to docker run.", "insertionOrder": false, "type": "array", "items": { "$ref": "#/definitions/VolumeFrom" }, - "markdownDescription": "Data volumes to mount from another container. This parameter maps to ``VolumesFrom`` in tthe docker container create command and the ``--volumes-from`` option to docker run.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + "markdownDescription": "Data volumes to mount from another container. This parameter maps to ``VolumesFrom`` in the docker container create command and the ``--volumes-from`` option to docker run.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" }, "Cpu": { "description": "The number of ``cpu`` units reserved for the container. This parameter maps to ``CpuShares`` in the docker container create commandand the ``--cpu-shares`` option to docker run.\n This field is optional for tasks using the Fargate launch type, and the only requirement is that the total amount of CPU reserved for all containers within a task be lower than the task-level ``cpu`` value.\n You can determine the number of CPU units that are available per EC2 instance type by multiplying the vCPUs listed for that instance type on the [Amazon EC2 Instances](https://docs.aws.amazon.com/ec2/instance-types/) detail page by 1,024.\n Linux containers share unallocated CPU units with other containers on the container instance with the same ratio as their allocated amount. For example, if you run a single-container task on a single-core instance type with 512 CPU units specified for that container, and that's the only task running on the container instance, that container could use the full 1,024 CPU unit share at any given time. However, if you launched another copy of the same task on that container instance, each task is guaranteed a minimum of 512 CPU units when needed. Moreover, each container could float to higher CPU usage if the other container was not using it. If both tasks were 100% active all of the time, they would be limited to 512 CPU units.\n On Linux container instances, the Docker daemon on the container instance uses the CPU value to calculate the relative CPU share ratios for running containers. The minimum valid CPU share value that the Linux kernel allows is 2, and the maximum valid CPU share value that the Linux kernel allows is 262144. However, the CPU parameter isn't required, and you can use CPU values below 2 or above 262144 in your container definitions. For CPU values below 2 (including null) or above 262144, the behavior varies based on your Amazon ECS container agent version:\n + *Agent versions less than or equal to 1.1.0:* Null and zero CPU values are passed to Docker as 0, which Docker then converts to 1,024 CPU shares. CPU values of 1 are passed to Docker as 1, which the Linux kernel converts to two CPU shares.\n + *Agent versions greater than or equal to 1.2.0:* Null, zero, and CPU values of 1 are passed to Docker as 2.\n + *Agent versions greater than or equal to 1.84.0:* CPU values greater than 256 vCPU are passed to Docker as 256, which is equivalent to 262144 CPU shares.\n \n On Windows container instances, the CPU limit is enforced as an absolute limit, or a quota. Windows containers only have access to the specified amount of CPU that's described in the task definition. A null or zero CPU value is passed to Docker as ``0``, which Windows interprets as 1% of one CPU.", @@ -229,14 +234,14 @@ "markdownDescription": "The number of ``cpu`` units reserved for the container. This parameter maps to ``CpuShares`` in the docker container create commandand the ``--cpu-shares`` option to docker run.\n This field is optional for tasks using the Fargate launch type, and the only requirement is that the total amount of CPU reserved for all containers within a task be lower than the task-level ``cpu`` value.\n You can determine the number of CPU units that are available per EC2 instance type by multiplying the vCPUs listed for that instance type on the [Amazon EC2 Instances](https://docs.aws.amazon.com/ec2/instance-types/) detail page by 1,024.\n Linux containers share unallocated CPU units with other containers on the container instance with the same ratio as their allocated amount. For example, if you run a single-container task on a single-core instance type with 512 CPU units specified for that container, and that's the only task running on the container instance, that container could use the full 1,024 CPU unit share at any given time. However, if you launched another copy of the same task on that container instance, each task is guaranteed a minimum of 512 CPU units when needed. Moreover, each container could float to higher CPU usage if the other container was not using it. If both tasks were 100% active all of the time, they would be limited to 512 CPU units.\n On Linux container instances, the Docker daemon on the container instance uses the CPU value to calculate the relative CPU share ratios for running containers. The minimum valid CPU share value that the Linux kernel allows is 2, and the maximum valid CPU share value that the Linux kernel allows is 262144. However, the CPU parameter isn't required, and you can use CPU values below 2 or above 262144 in your container definitions. For CPU values below 2 (including null) or above 262144, the behavior varies based on your Amazon ECS container agent version:\n + *Agent versions less than or equal to 1.1.0:* Null and zero CPU values are passed to Docker as 0, which Docker then converts to 1,024 CPU shares. CPU values of 1 are passed to Docker as 1, which the Linux kernel converts to two CPU shares.\n + *Agent versions greater than or equal to 1.2.0:* Null, zero, and CPU values of 1 are passed to Docker as 2.\n + *Agent versions greater than or equal to 1.84.0:* CPU values greater than 256 vCPU are passed to Docker as 256, which is equivalent to 262144 CPU shares.\n \n On Windows container instances, the CPU limit is enforced as an absolute limit, or a quota. Windows containers only have access to the specified amount of CPU that's described in the task definition. A null or zero CPU value is passed to Docker as ``0``, which Windows interprets as 1% of one CPU.\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" }, "EntryPoint": { - "description": "Early versions of the Amazon ECS container agent don't properly handle ``entryPoint`` parameters. If you have problems using ``entryPoint``, update your container agent or enter your commands and arguments as ``command`` array items instead.\n The entry point that's passed to the container. This parameter maps to ``Entrypoint`` in tthe docker container create command and the ``--entrypoint`` option to docker run.", + "description": "Early versions of the Amazon ECS container agent don't properly handle ``entryPoint`` parameters. If you have problems using ``entryPoint``, update your container agent or enter your commands and arguments as ``command`` array items instead.\n The entry point that's passed to the container. This parameter maps to ``Entrypoint`` in the docker container create command and the ``--entrypoint`` option to docker run.", "insertionOrder": true, "type": "array", "items": { "type": "string", "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, - "markdownDescription": "Early versions of the Amazon ECS container agent don't properly handle ``entryPoint`` parameters. If you have problems using ``entryPoint``, update your container agent or enter your commands and arguments as ``command`` array items instead.\n The entry point that's passed to the container. This parameter maps to ``Entrypoint`` in tthe docker container create command and the ``--entrypoint`` option to docker run.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + "markdownDescription": "Early versions of the Amazon ECS container agent don't properly handle ``entryPoint`` parameters. If you have problems using ``entryPoint``, update your container agent or enter your commands and arguments as ``command`` array items instead.\n The entry point that's passed to the container. This parameter maps to ``Entrypoint`` in the docker container create command and the ``--entrypoint`` option to docker run.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" }, "DnsServers": { "description": "A list of DNS servers that are presented to the container. This parameter maps to ``Dns`` in the docker container create command and the ``--dns`` option to docker run.\n This parameter is not supported for Windows containers.", @@ -287,9 +292,9 @@ "markdownDescription": "A list of files containing the environment variables to pass to a container. This parameter maps to the ``--env-file`` option to docker run.\n You can specify up to ten environment files. The file must have a ``.env`` file extension. Each line in an environment file contains an environment variable in ``VARIABLE=VALUE`` format. Lines beginning with ``#`` are treated as comments and are ignored.\n If there are environment variables specified using the ``environment`` parameter in a container definition, they take precedence over the variables contained within an environment file. If multiple environment files are specified that contain the same variable, they're processed from the top down. We recommend that you use unique variable names. For more information, see [Specifying Environment Variables](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/taskdef-envfiles.html) in the *Amazon Elastic Container Service Developer Guide*.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" }, "Name": { - "description": "The name of a container. If you're linking multiple containers together in a task definition, the ``name`` of one container can be entered in the ``links`` of another container to connect the containers. Up to 255 letters (uppercase and lowercase), numbers, underscores, and hyphens are allowed. This parameter maps to ``name`` in tthe docker container create command and the ``--name`` option to docker run.", + "description": "The name of a container. If you're linking multiple containers together in a task definition, the ``name`` of one container can be entered in the ``links`` of another container to connect the containers. Up to 255 letters (uppercase and lowercase), numbers, underscores, and hyphens are allowed. This parameter maps to ``name`` in the docker container create command and the ``--name`` option to docker run.", "type": "string", - "markdownDescription": "The name of a container. If you're linking multiple containers together in a task definition, the ``name`` of one container can be entered in the ``links`` of another container to connect the containers. Up to 255 letters (uppercase and lowercase), numbers, underscores, and hyphens are allowed. This parameter maps to ``name`` in tthe docker container create command and the ``--name`` option to docker run.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" + "markdownDescription": "The name of a container. If you're linking multiple containers together in a task definition, the ``name`` of one container can be entered in the ``links`` of another container to connect the containers. Up to 255 letters (uppercase and lowercase), numbers, underscores, and hyphens are allowed. This parameter maps to ``name`` in the docker container create command and the ``--name`` option to docker run.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" }, "FirelensConfiguration": { "description": "The FireLens configuration for the container. This is used to specify and configure a log router for container logs. For more information, see [Custom Log Routing](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/using_firelens.html) in the *Amazon Elastic Container Service Developer Guide*.", @@ -307,13 +312,13 @@ "markdownDescription": "A list of strings to provide custom configuration for multiple security systems. This field isn't valid for containers in tasks using the Fargate launch type.\n For Linux tasks on EC2, this parameter can be used to reference custom labels for SELinux and AppArmor multi-level security systems.\n For any tasks on EC2, this parameter can be used to reference a credential spec file that configures a container for Active Directory authentication. For more information, see [Using gMSAs for Windows Containers](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/windows-gmsa.html) and [Using gMSAs for Linux Containers](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/linux-gmsa.html) in the *Amazon Elastic Container Service Developer Guide*.\n This parameter maps to ``SecurityOpt`` in the docker container create command and the ``--security-opt`` option to docker run.\n The Amazon ECS container agent running on a container instance must register with the ``ECS_SELINUX_CAPABLE=true`` or ``ECS_APPARMOR_CAPABLE=true`` environment variables before containers placed on that instance can use these security options. For more information, see [Amazon ECS Container Agent Configuration](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-agent-config.html) in the *Amazon Elastic Container Service Developer Guide*.\n Valid values: \"no-new-privileges\" | \"apparmor:PROFILE\" | \"label:value\" | \"credentialspec:CredentialSpecFilePath\"\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" }, "SystemControls": { - "description": "A list of namespaced kernel parameters to set in the container. This parameter maps to ``Sysctls`` in tthe docker container create command and the ``--sysctl`` option to docker run. For example, you can configure ``net.ipv4.tcp_keepalive_time`` setting to maintain longer lived connections.", + "description": "A list of namespaced kernel parameters to set in the container. This parameter maps to ``Sysctls`` in the docker container create command and the ``--sysctl`` option to docker run. For example, you can configure ``net.ipv4.tcp_keepalive_time`` setting to maintain longer lived connections.", "insertionOrder": false, "type": "array", "items": { "$ref": "#/definitions/SystemControl" }, - "markdownDescription": "A list of namespaced kernel parameters to set in the container. This parameter maps to ``Sysctls`` in tthe docker container create command and the ``--sysctl`` option to docker run. For example, you can configure ``net.ipv4.tcp_keepalive_time`` setting to maintain longer lived connections.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + "markdownDescription": "A list of namespaced kernel parameters to set in the container. This parameter maps to ``Sysctls`` in the docker container create command and the ``--sysctl`` option to docker run. For example, you can configure ``net.ipv4.tcp_keepalive_time`` setting to maintain longer lived connections.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" }, "Interactive": { "description": "When this parameter is ``true``, you can deploy containerized applications that require ``stdin`` or a ``tty`` to be allocated. This parameter maps to ``OpenStdin`` in the docker container create command and the ``--interactive`` option to docker run.", @@ -350,9 +355,9 @@ "markdownDescription": "A list of ``ulimits`` to set in the container. This parameter maps to ``Ulimits`` in the [Create a container](https://docs.aws.amazon.com/https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate) section of the [Docker Remote API](https://docs.aws.amazon.com/https://docs.docker.com/engine/api/v1.35/) and the ``--ulimit`` option to [docker run](https://docs.aws.amazon.com/https://docs.docker.com/engine/reference/run/). Valid naming values are displayed in the [Ulimit](https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_Ulimit.html) data type. This parameter requires version 1.18 of the Docker Remote API or greater on your container instance. To check the Docker Remote API version on your container instance, log in to your container instance and run the following command: ``sudo docker version --format '{{.Server.APIVersion}}'`` \n This parameter is not supported for Windows containers.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" }, "StopTimeout": { - "description": "Time duration (in seconds) to wait before the container is forcefully killed if it doesn't exit normally on its own.\n For tasks using the Fargate launch type, the task or service requires the following platforms:\n + Linux platform version ``1.3.0`` or later.\n + Windows platform version ``1.0.0`` or later.\n \n The max stop timeout value is 120 seconds and if the parameter is not specified, the default value of 30 seconds is used.\n For tasks that use the EC2 launch type, if the ``stopTimeout`` parameter isn't specified, the value set for the Amazon ECS container agent configuration variable ``ECS_CONTAINER_STOP_TIMEOUT`` is used. If neither the ``stopTimeout`` parameter or the ``ECS_CONTAINER_STOP_TIMEOUT`` agent configuration variable are set, then the default values of 30 seconds for Linux containers and 30 seconds on Windows containers are used. Your container instances require at least version 1.26.0 of the container agent to use a container stop timeout value. However, we recommend using the latest container agent version. For information about checking your agent version and updating to the latest version, see [Updating the Amazon ECS Container Agent](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-agent-update.html) in the *Amazon Elastic Container Service Developer Guide*. If you're using an Amazon ECS-optimized Linux AMI, your instance needs at least version 1.26.0-1 of the ``ecs-init`` package. If your container instances are launched from version ``20190301`` or later, then they contain the required versions of the container agent and ``ecs-init``. For more information, see [Amazon ECS-optimized Linux AMI](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-optimized_AMI.html) in the *Amazon Elastic Container Service Developer Guide*.\n The valid values are 2-120 seconds.", + "description": "Time duration (in seconds) to wait before the container is forcefully killed if it doesn't exit normally on its own.\n For tasks using the Fargate launch type, the task or service requires the following platforms:\n + Linux platform version ``1.3.0`` or later.\n + Windows platform version ``1.0.0`` or later.\n \n For tasks that use the Fargate launch type, the max stop timeout value is 120 seconds and if the parameter is not specified, the default value of 30 seconds is used.\n For tasks that use the EC2 launch type, if the ``stopTimeout`` parameter isn't specified, the value set for the Amazon ECS container agent configuration variable ``ECS_CONTAINER_STOP_TIMEOUT`` is used. If neither the ``stopTimeout`` parameter or the ``ECS_CONTAINER_STOP_TIMEOUT`` agent configuration variable are set, then the default values of 30 seconds for Linux containers and 30 seconds on Windows containers are used. Your container instances require at least version 1.26.0 of the container agent to use a container stop timeout value. However, we recommend using the latest container agent version. For information about checking your agent version and updating to the latest version, see [Updating the Amazon ECS Container Agent](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-agent-update.html) in the *Amazon Elastic Container Service Developer Guide*. If you're using an Amazon ECS-optimized Linux AMI, your instance needs at least version 1.26.0-1 of the ``ecs-init`` package. If your container instances are launched from version ``20190301`` or later, then they contain the required versions of the container agent and ``ecs-init``. For more information, see [Amazon ECS-optimized Linux AMI](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-optimized_AMI.html) in the *Amazon Elastic Container Service Developer Guide*.\n The valid values for Fargate are 2-120 seconds.", "type": "integer", - "markdownDescription": "Time duration (in seconds) to wait before the container is forcefully killed if it doesn't exit normally on its own.\n For tasks using the Fargate launch type, the task or service requires the following platforms:\n + Linux platform version ``1.3.0`` or later.\n + Windows platform version ``1.0.0`` or later.\n \n The max stop timeout value is 120 seconds and if the parameter is not specified, the default value of 30 seconds is used.\n For tasks that use the EC2 launch type, if the ``stopTimeout`` parameter isn't specified, the value set for the Amazon ECS container agent configuration variable ``ECS_CONTAINER_STOP_TIMEOUT`` is used. If neither the ``stopTimeout`` parameter or the ``ECS_CONTAINER_STOP_TIMEOUT`` agent configuration variable are set, then the default values of 30 seconds for Linux containers and 30 seconds on Windows containers are used. Your container instances require at least version 1.26.0 of the container agent to use a container stop timeout value. However, we recommend using the latest container agent version. For information about checking your agent version and updating to the latest version, see [Updating the Amazon ECS Container Agent](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-agent-update.html) in the *Amazon Elastic Container Service Developer Guide*. If you're using an Amazon ECS-optimized Linux AMI, your instance needs at least version 1.26.0-1 of the ``ecs-init`` package. If your container instances are launched from version ``20190301`` or later, then they contain the required versions of the container agent and ``ecs-init``. For more information, see [Amazon ECS-optimized Linux AMI](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-optimized_AMI.html) in the *Amazon Elastic Container Service Developer Guide*.\n The valid values are 2-120 seconds.\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" + "markdownDescription": "Time duration (in seconds) to wait before the container is forcefully killed if it doesn't exit normally on its own.\n For tasks using the Fargate launch type, the task or service requires the following platforms:\n + Linux platform version ``1.3.0`` or later.\n + Windows platform version ``1.0.0`` or later.\n \n For tasks that use the Fargate launch type, the max stop timeout value is 120 seconds and if the parameter is not specified, the default value of 30 seconds is used.\n For tasks that use the EC2 launch type, if the ``stopTimeout`` parameter isn't specified, the value set for the Amazon ECS container agent configuration variable ``ECS_CONTAINER_STOP_TIMEOUT`` is used. If neither the ``stopTimeout`` parameter or the ``ECS_CONTAINER_STOP_TIMEOUT`` agent configuration variable are set, then the default values of 30 seconds for Linux containers and 30 seconds on Windows containers are used. Your container instances require at least version 1.26.0 of the container agent to use a container stop timeout value. However, we recommend using the latest container agent version. For information about checking your agent version and updating to the latest version, see [Updating the Amazon ECS Container Agent](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-agent-update.html) in the *Amazon Elastic Container Service Developer Guide*. If you're using an Amazon ECS-optimized Linux AMI, your instance needs at least version 1.26.0-1 of the ``ecs-init`` package. If your container instances are launched from version ``20190301`` or later, then they contain the required versions of the container agent and ``ecs-init``. For more information, see [Amazon ECS-optimized Linux AMI](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-optimized_AMI.html) in the *Amazon Elastic Container Service Developer Guide*.\n The valid values for Fargate are 2-120 seconds.\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" }, "WorkingDirectory": { "description": "The working directory to run commands inside the container in. This parameter maps to ``WorkingDir`` in the docker container create command and the ``--workdir`` option to docker run.", @@ -379,15 +384,25 @@ "markdownDescription": "A list of hostnames and IP address mappings to append to the ``/etc/hosts`` file on the container. This parameter maps to ``ExtraHosts`` in the docker container create command and the ``--add-host`` option to docker run.\n This parameter isn't supported for Windows containers or tasks that use the ``awsvpc`` network mode.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" }, "Hostname": { - "description": "The hostname to use for your container. This parameter maps to ``Hostname`` in thethe docker container create command and the ``--hostname`` option to docker run.\n The ``hostname`` parameter is not supported if you're using the ``awsvpc`` network mode.", + "description": "The hostname to use for your container. This parameter maps to ``Hostname`` in the docker container create command and the ``--hostname`` option to docker run.\n The ``hostname`` parameter is not supported if you're using the ``awsvpc`` network mode.", "type": "string", - "markdownDescription": "The hostname to use for your container. This parameter maps to ``Hostname`` in thethe docker container create command and the ``--hostname`` option to docker run.\n The ``hostname`` parameter is not supported if you're using the ``awsvpc`` network mode.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "markdownDescription": "The hostname to use for your container. This parameter maps to ``Hostname`` in the docker container create command and the ``--hostname`` option to docker run.\n The ``hostname`` parameter is not supported if you're using the ``awsvpc`` network mode.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, "LinuxParameters": { "description": "Linux-specific modifications that are applied to the container, such as Linux kernel capabilities. For more information see [KernelCapabilities](https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_KernelCapabilities.html).\n This parameter is not supported for Windows containers.", "$ref": "#/definitions/LinuxParameters", "markdownDescription": "Linux-specific modifications that are applied to the container, such as Linux kernel capabilities. For more information see [KernelCapabilities](https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_KernelCapabilities.html).\n This parameter is not supported for Windows containers.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" }, + "VersionConsistency": { + "default": "enabled", + "description": "", + "type": "string", + "enum": [ + "enabled", + "disabled" + ], + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: enabled | disabled \nUpdate requires: No interruption" + }, "RestartPolicy": { "description": "The restart policy for a container. When you set up a restart policy, Amazon ECS can restart the container without needing to replace the task. For more information, see [Restart individual containers in Amazon ECS tasks with container restart policies](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/container-restart-policy.html) in the *Amazon Elastic Container Service Developer Guide*.", "$ref": "#/definitions/RestartPolicy", @@ -399,9 +414,9 @@ "markdownDescription": "When this parameter is true, networking is off within the container. This parameter maps to ``NetworkDisabled`` in the docker container create command.\n This parameter is not supported for Windows containers.\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" }, "PseudoTerminal": { - "description": "When this parameter is ``true``, a TTY is allocated. This parameter maps to ``Tty`` in tthe docker container create command and the ``--tty`` option to docker run.", + "description": "When this parameter is ``true``, a TTY is allocated. This parameter maps to ``Tty`` in the docker container create command and the ``--tty`` option to docker run.", "type": "boolean", - "markdownDescription": "When this parameter is ``true``, a TTY is allocated. This parameter maps to ``Tty`` in tthe docker container create command and the ``--tty`` option to docker run.\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" + "markdownDescription": "When this parameter is ``true``, a TTY is allocated. This parameter maps to ``Tty`` in the docker container create command and the ``--tty`` option to docker run.\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" }, "MountPoints": { "uniqueItems": true, @@ -479,7 +494,7 @@ "markdownDescription": "The ``ContainerDefinition`` property specifies a container definition. Container definitions are used in task definitions to describe the different containers that are launched as part of a task.\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, "SystemControl": { - "description": "A list of namespaced kernel parameters to set in the container. This parameter maps to ``Sysctls`` in tthe docker container create command and the ``--sysctl`` option to docker run. For example, you can configure ``net.ipv4.tcp_keepalive_time`` setting to maintain longer lived connections.\n We don't recommend that you specify network-related ``systemControls`` parameters for multiple containers in a single task that also uses either the ``awsvpc`` or ``host`` network mode. Doing this has the following disadvantages:\n + For tasks that use the ``awsvpc`` network mode including Fargate, if you set ``systemControls`` for any container, it applies to all containers in the task. If you set different ``systemControls`` for multiple containers in a single task, the container that's started last determines which ``systemControls`` take effect.\n + For tasks that use the ``host`` network mode, the network namespace ``systemControls`` aren't supported.\n \n If you're setting an IPC resource namespace to use for the containers in the task, the following conditions apply to your system controls. For more information, see [IPC mode](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task_definition_parameters.html#task_definition_ipcmode).\n + For tasks that use the ``host`` IPC mode, IPC namespace ``systemControls`` aren't supported.\n + For tasks that use the ``task`` IPC mode, IPC namespace ``systemControls`` values apply to all containers within a task.\n \n This parameter is not supported for Windows containers.\n This parameter is only supported for tasks that are hosted on FARGATElong if the tasks are using platform version ``1.4.0`` or later (Linux). This isn't supported for Windows containers on Fargate.", + "description": "A list of namespaced kernel parameters to set in the container. This parameter maps to ``Sysctls`` in the docker container create command and the ``--sysctl`` option to docker run. For example, you can configure ``net.ipv4.tcp_keepalive_time`` setting to maintain longer lived connections.\n We don't recommend that you specify network-related ``systemControls`` parameters for multiple containers in a single task that also uses either the ``awsvpc`` or ``host`` network mode. Doing this has the following disadvantages:\n + For tasks that use the ``awsvpc`` network mode including Fargate, if you set ``systemControls`` for any container, it applies to all containers in the task. If you set different ``systemControls`` for multiple containers in a single task, the container that's started last determines which ``systemControls`` take effect.\n + For tasks that use the ``host`` network mode, the network namespace ``systemControls`` aren't supported.\n \n If you're setting an IPC resource namespace to use for the containers in the task, the following conditions apply to your system controls. For more information, see [IPC mode](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task_definition_parameters.html#task_definition_ipcmode).\n + For tasks that use the ``host`` IPC mode, IPC namespace ``systemControls`` aren't supported.\n + For tasks that use the ``task`` IPC mode, IPC namespace ``systemControls`` values apply to all containers within a task.\n \n This parameter is not supported for Windows containers.\n This parameter is only supported for tasks that are hosted on FARGATElong if the tasks are using platform version ``1.4.0`` or later (Linux). This isn't supported for Windows containers on Fargate.", "additionalProperties": false, "type": "object", "properties": { @@ -494,7 +509,7 @@ "markdownDescription": "The namespaced kernel parameter to set a ``value`` for.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" } }, - "markdownDescription": "A list of namespaced kernel parameters to set in the container. This parameter maps to ``Sysctls`` in tthe docker container create command and the ``--sysctl`` option to docker run. For example, you can configure ``net.ipv4.tcp_keepalive_time`` setting to maintain longer lived connections.\n We don't recommend that you specify network-related ``systemControls`` parameters for multiple containers in a single task that also uses either the ``awsvpc`` or ``host`` network mode. Doing this has the following disadvantages:\n + For tasks that use the ``awsvpc`` network mode including Fargate, if you set ``systemControls`` for any container, it applies to all containers in the task. If you set different ``systemControls`` for multiple containers in a single task, the container that's started last determines which ``systemControls`` take effect.\n + For tasks that use the ``host`` network mode, the network namespace ``systemControls`` aren't supported.\n \n If you're setting an IPC resource namespace to use for the containers in the task, the following conditions apply to your system controls. For more information, see [IPC mode](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task_definition_parameters.html#task_definition_ipcmode).\n + For tasks that use the ``host`` IPC mode, IPC namespace ``systemControls`` aren't supported.\n + For tasks that use the ``task`` IPC mode, IPC namespace ``systemControls`` values apply to all containers within a task.\n \n This parameter is not supported for Windows containers.\n This parameter is only supported for tasks that are hosted on FARGATElong if the tasks are using platform version ``1.4.0`` or later (Linux). This isn't supported for Windows containers on Fargate.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + "markdownDescription": "A list of namespaced kernel parameters to set in the container. This parameter maps to ``Sysctls`` in the docker container create command and the ``--sysctl`` option to docker run. For example, you can configure ``net.ipv4.tcp_keepalive_time`` setting to maintain longer lived connections.\n We don't recommend that you specify network-related ``systemControls`` parameters for multiple containers in a single task that also uses either the ``awsvpc`` or ``host`` network mode. Doing this has the following disadvantages:\n + For tasks that use the ``awsvpc`` network mode including Fargate, if you set ``systemControls`` for any container, it applies to all containers in the task. If you set different ``systemControls`` for multiple containers in a single task, the container that's started last determines which ``systemControls`` take effect.\n + For tasks that use the ``host`` network mode, the network namespace ``systemControls`` aren't supported.\n \n If you're setting an IPC resource namespace to use for the containers in the task, the following conditions apply to your system controls. For more information, see [IPC mode](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task_definition_parameters.html#task_definition_ipcmode).\n + For tasks that use the ``host`` IPC mode, IPC namespace ``systemControls`` aren't supported.\n + For tasks that use the ``task`` IPC mode, IPC namespace ``systemControls`` values apply to all containers within a task.\n \n This parameter is not supported for Windows containers.\n This parameter is only supported for tasks that are hosted on FARGATElong if the tasks are using platform version ``1.4.0`` or later (Linux). This isn't supported for Windows containers on Fargate.\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, "DockerVolumeConfiguration": { "description": "The ``DockerVolumeConfiguration`` property specifies a Docker volume configuration and is used when you use Docker volumes. Docker volumes are only supported when you are using the EC2 launch type. Windows containers only support the use of the ``local`` driver. To use bind mounts, specify a ``host`` instead.", @@ -567,10 +582,10 @@ "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" } }, - "description": "The configuration options to send to the log driver. This parameter requires version 1.19 of the Docker Remote API or greater on your container instance. To check the Docker Remote API version on your container instance, log in to your container instance and run the following command: ``sudo docker version --format '{{.Server.APIVersion}}'``", + "description": "The configuration options to send to the log driver.\n The options you can specify depend on the log driver. Some of the options you can specify when you use the ``awslogs`` log driver to route logs to Amazon CloudWatch include the following:\n + awslogs-create-group Required: No Specify whether you want the log group to be created automatically. If this option isn't specified, it defaults to false. Your IAM policy must include the logs:CreateLogGroup permission before you attempt to use awslogs-create-group. + awslogs-region Required: Yes Specify the Region that the awslogs log driver is to send your Docker logs to. You can choose to send all of your logs from clusters in different Regions to a single region in CloudWatch Logs. This is so that they're all visible in one location. Otherwise, you can separate them by Region for more granularity. Make sure that the specified log group exists in the Region that you specify with this option. + awslogs-group Required: Yes Make sure to specify a log group that the awslogs log driver sends its log streams to. + awslogs-stream-prefix Required: Yes, when using the Fargate launch type.Optional for the EC2 launch type, required for the Fargate launch type. Use the awslogs-stream-prefix option to associate a log stream with the specified prefix, the container name, and the ID of the Amazon ECS task that the container belongs to. If you specify a prefix with this option, then the log stream takes the format prefix-name/container-name/ecs-task-id. If you don't specify a prefix with this option, then the log stream is named after the container ID that's assigned by the Docker daemon on the container instance. Because it's difficult to trace logs back to the container that sent them with just the Docker container ID (which is only available on the container instance), we recommend that you specify a prefix with this option. For Amazon ECS services, you can use the service name as the prefix. Doing so, you can trace log streams to the service that the container belongs to, the name of the container that sent them, and the ID of the task that the container belongs to. You must specify a stream-prefix for your logs to have your logs appear in the Log pane when using the Amazon ECS console. + awslogs-datetime-format Required: No This option defines a multiline start pattern in Python strftime format. A log message consists of a line that matches the pattern and any following lines that don\u2019t match the pattern. The matched line is the delimiter between log messages. One example of a use case for using this format is for parsing output such as a stack dump, which might otherwise be logged in multiple entries. The correct pattern allows it to be captured in a single entry. For more information, see awslogs-datetime-format. You cannot configure both the awslogs-datetime-format and awslogs-multiline-pattern options. Multiline logging performs regular expression parsing and matching of all log messages. This might have a negative impact on logging performance. + awslogs-multiline-pattern Required: No This option defines a multiline start pattern that uses a regular expression. A log message consists of a line that matches the pattern and any following lines that don\u2019t match the pattern. The matched line is the delimiter between log messages. For more information, see awslogs-multiline-pattern. This option is ignored if awslogs-datetime-format is also configured. You cannot configure both the awslogs-datetime-format and awslogs-multiline-pattern options. Multiline logging performs regular expression parsing and matching of all log messages. This might have a negative impact on logging performance. + mode Required: No Valid values: non-blocking | blocking This option defines the delivery mode of log messages from the container to CloudWatch Logs. The delivery mode you choose affects application availability when the flow of logs from container to CloudWatch is interrupted. If you use the blocking mode and the flow of logs to CloudWatch is interrupted, calls from container code to write to the stdout and stderr streams will block. The logging thread of the application will block as a result. This may cause the application to become unresponsive and lead to container healthcheck failure. If you use the non-blocking mode, the container's logs are instead stored in an in-memory intermediate buffer configured with the max-buffer-size option. This prevents the application from becoming unresponsive when logs cannot be sent to CloudWatch. We recommend using this mode if you want to ensure service availability and are okay with some log loss. For more information, see Preventing log loss with non-blocking mode in the awslogs container log driver. + max-buffer-size Required: No Default value: 1m When non-blocking mode is used, the max-buffer-size log option controls the size of the buffer that's used for intermediate message storage. Make sure to specify an adequate buffer size based on your application. When the buffer fills up, further logs cannot be stored. Logs that cannot be stored are lost. \n To route logs using the ``splunk`` log router, you need to specify a ``splunk-token`` and a ``splunk-url``.\n When you use the ``awsfirelens`` log router to route logs to an AWS Service or AWS Partner Network destination for log storage and analytics, you can set the ``log-driver-buffer-limit`` option to limit the number of events that are buffered in memory, before being sent to the log router container. It can help to resolve potential log loss issue because high throughput might result in memory running out for the buffer inside of Docker.\n Other options you can specify when using ``awsfirelens`` to route logs depend on the destination. When you export logs to Amazon Data Firehose, you can specify the AWS Region with ``region`` and a name for the log stream with ``delivery_stream``.\n When you export logs to Amazon Kinesis Data Streams, you can specify an AWS Region with ``region`` and a data stream name with ``stream``.\n When you export logs to Amazon OpenSearch Service, you can specify options like ``Name``, ``Host`` (OpenSearch Service endpoint without protocol), ``Port``, ``Index``, ``Type``, ``Aws_auth``, ``Aws_region``, ``Suppress_Type_Name``, and ``tls``.\n When you export logs to Amazon S3, you can specify the bucket using the ``bucket`` option. You can also specify ``region``, ``total_file_size``, ``upload_timeout``, and ``use_put_object`` as options.\n This parameter requires version 1.19 of the Docker Remote API or greater on your container instance. To check the Docker Remote API version on your container instance, log in to your container instance and run the following command: ``sudo docker version --format '{{.Server.APIVersion}}'``", "additionalProperties": false, "type": "object", - "markdownDescription": "The configuration options to send to the log driver. This parameter requires version 1.19 of the Docker Remote API or greater on your container instance. To check the Docker Remote API version on your container instance, log in to your container instance and run the following command: ``sudo docker version --format '{{.Server.APIVersion}}'``\n\n---\n\nRequired: No \nUpdate requires: No interruption" + "markdownDescription": "The configuration options to send to the log driver.\n The options you can specify depend on the log driver. Some of the options you can specify when you use the ``awslogs`` log driver to route logs to Amazon CloudWatch include the following:\n + awslogs-create-group Required: No Specify whether you want the log group to be created automatically. If this option isn't specified, it defaults to false. Your IAM policy must include the logs:CreateLogGroup permission before you attempt to use awslogs-create-group. + awslogs-region Required: Yes Specify the Region that the awslogs log driver is to send your Docker logs to. You can choose to send all of your logs from clusters in different Regions to a single region in CloudWatch Logs. This is so that they're all visible in one location. Otherwise, you can separate them by Region for more granularity. Make sure that the specified log group exists in the Region that you specify with this option. + awslogs-group Required: Yes Make sure to specify a log group that the awslogs log driver sends its log streams to. + awslogs-stream-prefix Required: Yes, when using the Fargate launch type.Optional for the EC2 launch type, required for the Fargate launch type. Use the awslogs-stream-prefix option to associate a log stream with the specified prefix, the container name, and the ID of the Amazon ECS task that the container belongs to. If you specify a prefix with this option, then the log stream takes the format prefix-name/container-name/ecs-task-id. If you don't specify a prefix with this option, then the log stream is named after the container ID that's assigned by the Docker daemon on the container instance. Because it's difficult to trace logs back to the container that sent them with just the Docker container ID (which is only available on the container instance), we recommend that you specify a prefix with this option. For Amazon ECS services, you can use the service name as the prefix. Doing so, you can trace log streams to the service that the container belongs to, the name of the container that sent them, and the ID of the task that the container belongs to. You must specify a stream-prefix for your logs to have your logs appear in the Log pane when using the Amazon ECS console. + awslogs-datetime-format Required: No This option defines a multiline start pattern in Python strftime format. A log message consists of a line that matches the pattern and any following lines that don\u2019t match the pattern. The matched line is the delimiter between log messages. One example of a use case for using this format is for parsing output such as a stack dump, which might otherwise be logged in multiple entries. The correct pattern allows it to be captured in a single entry. For more information, see awslogs-datetime-format. You cannot configure both the awslogs-datetime-format and awslogs-multiline-pattern options. Multiline logging performs regular expression parsing and matching of all log messages. This might have a negative impact on logging performance. + awslogs-multiline-pattern Required: No This option defines a multiline start pattern that uses a regular expression. A log message consists of a line that matches the pattern and any following lines that don\u2019t match the pattern. The matched line is the delimiter between log messages. For more information, see awslogs-multiline-pattern. This option is ignored if awslogs-datetime-format is also configured. You cannot configure both the awslogs-datetime-format and awslogs-multiline-pattern options. Multiline logging performs regular expression parsing and matching of all log messages. This might have a negative impact on logging performance. + mode Required: No Valid values: non-blocking | blocking This option defines the delivery mode of log messages from the container to CloudWatch Logs. The delivery mode you choose affects application availability when the flow of logs from container to CloudWatch is interrupted. If you use the blocking mode and the flow of logs to CloudWatch is interrupted, calls from container code to write to the stdout and stderr streams will block. The logging thread of the application will block as a result. This may cause the application to become unresponsive and lead to container healthcheck failure. If you use the non-blocking mode, the container's logs are instead stored in an in-memory intermediate buffer configured with the max-buffer-size option. This prevents the application from becoming unresponsive when logs cannot be sent to CloudWatch. We recommend using this mode if you want to ensure service availability and are okay with some log loss. For more information, see Preventing log loss with non-blocking mode in the awslogs container log driver. + max-buffer-size Required: No Default value: 1m When non-blocking mode is used, the max-buffer-size log option controls the size of the buffer that's used for intermediate message storage. Make sure to specify an adequate buffer size based on your application. When the buffer fills up, further logs cannot be stored. Logs that cannot be stored are lost. \n To route logs using the ``splunk`` log router, you need to specify a ``splunk-token`` and a ``splunk-url``.\n When you use the ``awsfirelens`` log router to route logs to an AWS Service or AWS Partner Network destination for log storage and analytics, you can set the ``log-driver-buffer-limit`` option to limit the number of events that are buffered in memory, before being sent to the log router container. It can help to resolve potential log loss issue because high throughput might result in memory running out for the buffer inside of Docker.\n Other options you can specify when using ``awsfirelens`` to route logs depend on the destination. When you export logs to Amazon Data Firehose, you can specify the AWS Region with ``region`` and a name for the log stream with ``delivery_stream``.\n When you export logs to Amazon Kinesis Data Streams, you can specify an AWS Region with ``region`` and a data stream name with ``stream``.\n When you export logs to Amazon OpenSearch Service, you can specify options like ``Name``, ``Host`` (OpenSearch Service endpoint without protocol), ``Port``, ``Index``, ``Type``, ``Aws_auth``, ``Aws_region``, ``Suppress_Type_Name``, and ``tls``.\n When you export logs to Amazon S3, you can specify the bucket using the ``bucket`` option. You can also specify ``region``, ``total_file_size``, ``upload_timeout``, and ``use_put_object`` as options.\n This parameter requires version 1.19 of the Docker Remote API or greater on your container instance. To check the Docker Remote API version on your container instance, log in to your container instance and run the following command: ``sudo docker version --format '{{.Server.APIVersion}}'``\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, "LogDriver": { "description": "The log driver to use for the container.\n For tasks on FARGATElong, the supported log drivers are ``awslogs``, ``splunk``, and ``awsfirelens``.\n For tasks hosted on Amazon EC2 instances, the supported log drivers are ``awslogs``, ``fluentd``, ``gelf``, ``json-file``, ``journald``, ``syslog``, ``splunk``, and ``awsfirelens``.\n For more information about using the ``awslogs`` log driver, see [Send Amazon ECS logs to CloudWatch](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/using_awslogs.html) in the *Amazon Elastic Container Service Developer Guide*.\n For more information about using the ``awsfirelens`` log driver, see [Send Amazon ECS logs to an service or Partner](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/using_firelens.html).\n If you have a custom driver that isn't listed, you can fork the Amazon ECS container agent project that's [available on GitHub](https://docs.aws.amazon.com/https://github.com/aws/amazon-ecs-agent) and customize it to work with that driver. We encourage you to submit pull requests for changes that you would like to have included. However, we don't currently provide support for running modified copies of this software.", @@ -920,13 +935,13 @@ "markdownDescription": "The value for the size (in MiB) of the ``/dev/shm`` volume. This parameter maps to the ``--shm-size`` option to docker run.\n If you are using tasks that use the Fargate launch type, the ``sharedMemorySize`` parameter is not supported.\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" }, "Devices": { - "description": "Any host devices to expose to the container. This parameter maps to ``Devices`` in tthe docker container create command and the ``--device`` option to docker run.\n If you're using tasks that use the Fargate launch type, the ``devices`` parameter isn't supported.", + "description": "Any host devices to expose to the container. This parameter maps to ``Devices`` in the docker container create command and the ``--device`` option to docker run.\n If you're using tasks that use the Fargate launch type, the ``devices`` parameter isn't supported.", "insertionOrder": false, "type": "array", "items": { "$ref": "#/definitions/Device" }, - "markdownDescription": "Any host devices to expose to the container. This parameter maps to ``Devices`` in tthe docker container create command and the ``--device`` option to docker run.\n If you're using tasks that use the Fargate launch type, the ``devices`` parameter isn't supported.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + "markdownDescription": "Any host devices to expose to the container. This parameter maps to ``Devices`` in the docker container create command and the ``--device`` option to docker run.\n If you're using tasks that use the Fargate launch type, the ``devices`` parameter isn't supported.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" }, "InitProcessEnabled": { "description": "Run an ``init`` process inside the container that forwards signals and reaps processes. This parameter maps to the ``--init`` option to docker run. This parameter requires version 1.25 of the Docker Remote API or greater on your container instance. To check the Docker Remote API version on your container instance, log in to your container instance and run the following command: ``sudo docker version --format '{{.Server.APIVersion}}'``", @@ -952,14 +967,14 @@ ], "properties": { "SoftLimit": { - "description": "The soft limit for the ``ulimit`` type.", + "description": "The soft limit for the ``ulimit`` type. The value can be specified in bytes, seconds, or as a count, depending on the ``type`` of the ``ulimit``.", "type": "integer", - "markdownDescription": "The soft limit for the ``ulimit`` type.\n\n---\n\nRequired: Yes \nType: Integer \nUpdate requires: No interruption" + "markdownDescription": "The soft limit for the ``ulimit`` type. The value can be specified in bytes, seconds, or as a count, depending on the ``type`` of the ``ulimit``.\n\n---\n\nRequired: Yes \nType: Integer \nUpdate requires: No interruption" }, "HardLimit": { - "description": "The hard limit for the ``ulimit`` type.", + "description": "The hard limit for the ``ulimit`` type. The value can be specified in bytes, seconds, or as a count, depending on the ``type`` of the ``ulimit``.", "type": "integer", - "markdownDescription": "The hard limit for the ``ulimit`` type.\n\n---\n\nRequired: Yes \nType: Integer \nUpdate requires: No interruption" + "markdownDescription": "The hard limit for the ``ulimit`` type. The value can be specified in bytes, seconds, or as a count, depending on the ``type`` of the ``ulimit``.\n\n---\n\nRequired: Yes \nType: Integer \nUpdate requires: No interruption" }, "Name": { "description": "The ``type`` of the ``ulimit``.", diff --git a/server/schema/resources/aws-ecs-taskset.json b/server/schema/resources/aws-ecs-taskset.json index a332794c..f7c497bd 100644 --- a/server/schema/resources/aws-ecs-taskset.json +++ b/server/schema/resources/aws-ecs-taskset.json @@ -1,85 +1,173 @@ { + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-ecs.git", + "tagging": { + "permissions": [ + "ecs:TagResource", + "ecs:UntagResource", + "ecs:ListTagsForResource" + ], + "taggable": true, + "tagOnCreate": true, + "tagUpdatable": true, + "tagProperty": "/properties/Tags", + "cloudFormationSystemTags": false + }, + "handlers": { + "read": { + "permissions": [ + "ecs:DescribeTaskSets" + ] + }, + "create": { + "permissions": [ + "ecs:CreateTaskSet", + "ecs:DescribeTaskSets", + "ecs:TagResource" + ] + }, + "update": { + "permissions": [ + "ecs:DescribeTaskSets", + "ecs:TagResource", + "ecs:UntagResource", + "ecs:UpdateTaskSet" + ] + }, + "delete": { + "permissions": [ + "ecs:DeleteTaskSet", + "ecs:DescribeTaskSets" + ] + } + }, "typeName": "AWS::ECS::TaskSet", + "readOnlyProperties": [ + "/properties/Id" + ], "description": "Create a task set in the specified cluster and service. This is used when a service uses the EXTERNAL deployment controller type. For more information, see https://docs.aws.amazon.com/AmazonECS/latest/developerguide/deployment-types.htmlin the Amazon Elastic Container Service Developer Guide.", - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-ecs.git", + "createOnlyProperties": [ + "/properties/Cluster", + "/properties/ExternalId", + "/properties/LaunchType", + "/properties/LoadBalancers", + "/properties/NetworkConfiguration", + "/properties/PlatformVersion", + "/properties/Service", + "/properties/ServiceRegistries", + "/properties/TaskDefinition", + "/properties/CapacityProviderStrategy" + ], + "additionalProperties": false, + "primaryIdentifier": [ + "/properties/Cluster", + "/properties/Service", + "/properties/Id" + ], "definitions": { - "LoadBalancer": { - "description": "A load balancer object representing the load balancer to use with the task set. The supported load balancer types are either an Application Load Balancer or a Network Load Balancer. ", + "CapacityProviderStrategyItem": { + "additionalProperties": false, "type": "object", "properties": { - "ContainerName": { - "description": "The name of the container (as it appears in a container definition) to associate with the load balancer.", + "CapacityProvider": { "type": "string", - "markdownDescription": "The name of the container (as it appears in a container definition) to associate with the load balancer.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, - "ContainerPort": { - "description": "The port on the container to associate with the load balancer. This port must correspond to a containerPort in the task definition the tasks in the service are using. For tasks that use the EC2 launch type, the container instance they are launched on must allow ingress traffic on the hostPort of the port mapping.", + "Base": { "type": "integer", - "markdownDescription": "The port on the container to associate with the load balancer. This port must correspond to a containerPort in the task definition the tasks in the service are using. For tasks that use the EC2 launch type, the container instance they are launched on must allow ingress traffic on the hostPort of the port mapping.\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" }, - "TargetGroupArn": { - "description": "The full Amazon Resource Name (ARN) of the Elastic Load Balancing target group or groups associated with a service or task set. A target group ARN is only specified when using an Application Load Balancer or Network Load Balancer. If you are using a Classic Load Balancer this should be omitted. For services using the ECS deployment controller, you can specify one or multiple target groups. For more information, see https://docs.aws.amazon.com/AmazonECS/latest/developerguide/register-multiple-targetgroups.html in the Amazon Elastic Container Service Developer Guide. For services using the CODE_DEPLOY deployment controller, you are required to define two target groups for the load balancer. For more information, see https://docs.aws.amazon.com/AmazonECS/latest/developerguide/deployment-type-bluegreen.html in the Amazon Elastic Container Service Developer Guide. If your service's task definition uses the awsvpc network mode (which is required for the Fargate launch type), you must choose ip as the target type, not instance, when creating your target groups because tasks that use the awsvpc network mode are associated with an elastic network interface, not an Amazon EC2 instance.", - "type": "string", - "markdownDescription": "The full Amazon Resource Name (ARN) of the Elastic Load Balancing target group or groups associated with a service or task set. A target group ARN is only specified when using an Application Load Balancer or Network Load Balancer. If you are using a Classic Load Balancer this should be omitted. For services using the ECS deployment controller, you can specify one or multiple target groups. For more information, see https://docs.aws.amazon.com/AmazonECS/latest/developerguide/register-multiple-targetgroups.html in the Amazon Elastic Container Service Developer Guide. For services using the CODE_DEPLOY deployment controller, you are required to define two target groups for the load balancer. For more information, see https://docs.aws.amazon.com/AmazonECS/latest/developerguide/deployment-type-bluegreen.html in the Amazon Elastic Container Service Developer Guide. If your service's task definition uses the awsvpc network mode (which is required for the Fargate launch type), you must choose ip as the target type, not instance, when creating your target groups because tasks that use the awsvpc network mode are associated with an elastic network interface, not an Amazon EC2 instance.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" - } - }, - "additionalProperties": false, - "markdownDescription": "A load balancer object representing the load balancer to use with the task set. The supported load balancer types are either an Application Load Balancer or a Network Load Balancer. \n\n---\n\nRequired: No \nUpdate requires: No interruption" - }, - "NetworkConfiguration": { - "description": "An object representing the network configuration for a task or service.", - "type": "object", - "properties": { - "AwsVpcConfiguration": { - "$ref": "#/definitions/AwsVpcConfiguration" + "Weight": { + "type": "integer", + "markdownDescription": "\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" } }, - "additionalProperties": false, - "markdownDescription": "An object representing the network configuration for a task or service.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, "AwsVpcConfiguration": { "description": "The VPC subnets and security groups associated with a task. All specified subnets and security groups must be from the same VPC.", + "additionalProperties": false, "type": "object", "properties": { - "AssignPublicIp": { - "description": "Whether the task's elastic network interface receives a public IP address. The default value is DISABLED.", - "type": "string", - "enum": [ - "DISABLED", - "ENABLED" - ], - "markdownDescription": "Whether the task's elastic network interface receives a public IP address. The default value is DISABLED.\n\n---\n\nRequired: No \nType: String \nAllowed Values: DISABLED | ENABLED \nUpdate requires: No interruption" - }, "SecurityGroups": { + "maxItems": 5, "description": "The security groups associated with the task or service. If you do not specify a security group, the default security group for the VPC is used. There is a limit of 5 security groups that can be specified per AwsVpcConfiguration.", "type": "array", "items": { "type": "string", "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, - "maxItems": 5, "markdownDescription": "The security groups associated with the task or service. If you do not specify a security group, the default security group for the VPC is used. There is a limit of 5 security groups that can be specified per AwsVpcConfiguration.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" }, "Subnets": { + "maxItems": 16, "description": "The subnets associated with the task or service. There is a limit of 16 subnets that can be specified per AwsVpcConfiguration.", "type": "array", "items": { "type": "string", "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, - "maxItems": 16, "markdownDescription": "The subnets associated with the task or service. There is a limit of 16 subnets that can be specified per AwsVpcConfiguration.\n\n---\n\nRequired: Yes \nType: Array \nUpdate requires: No interruption" + }, + "AssignPublicIp": { + "description": "Whether the task's elastic network interface receives a public IP address. The default value is DISABLED.", + "type": "string", + "enum": [ + "DISABLED", + "ENABLED" + ], + "markdownDescription": "Whether the task's elastic network interface receives a public IP address. The default value is DISABLED.\n\n---\n\nRequired: No \nType: String \nAllowed Values: DISABLED | ENABLED \nUpdate requires: No interruption" } }, "required": [ "Subnets" ], - "additionalProperties": false, "markdownDescription": "The VPC subnets and security groups associated with a task. All specified subnets and security groups must be from the same VPC.\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, + "LoadBalancer": { + "description": "A load balancer object representing the load balancer to use with the task set. The supported load balancer types are either an Application Load Balancer or a Network Load Balancer. ", + "additionalProperties": false, + "type": "object", + "properties": { + "TargetGroupArn": { + "description": "The full Amazon Resource Name (ARN) of the Elastic Load Balancing target group or groups associated with a service or task set. A target group ARN is only specified when using an Application Load Balancer or Network Load Balancer. If you are using a Classic Load Balancer this should be omitted. For services using the ECS deployment controller, you can specify one or multiple target groups. For more information, see https://docs.aws.amazon.com/AmazonECS/latest/developerguide/register-multiple-targetgroups.html in the Amazon Elastic Container Service Developer Guide. For services using the CODE_DEPLOY deployment controller, you are required to define two target groups for the load balancer. For more information, see https://docs.aws.amazon.com/AmazonECS/latest/developerguide/deployment-type-bluegreen.html in the Amazon Elastic Container Service Developer Guide. If your service's task definition uses the awsvpc network mode (which is required for the Fargate launch type), you must choose ip as the target type, not instance, when creating your target groups because tasks that use the awsvpc network mode are associated with an elastic network interface, not an Amazon EC2 instance.", + "type": "string", + "markdownDescription": "The full Amazon Resource Name (ARN) of the Elastic Load Balancing target group or groups associated with a service or task set. A target group ARN is only specified when using an Application Load Balancer or Network Load Balancer. If you are using a Classic Load Balancer this should be omitted. For services using the ECS deployment controller, you can specify one or multiple target groups. For more information, see https://docs.aws.amazon.com/AmazonECS/latest/developerguide/register-multiple-targetgroups.html in the Amazon Elastic Container Service Developer Guide. For services using the CODE_DEPLOY deployment controller, you are required to define two target groups for the load balancer. For more information, see https://docs.aws.amazon.com/AmazonECS/latest/developerguide/deployment-type-bluegreen.html in the Amazon Elastic Container Service Developer Guide. If your service's task definition uses the awsvpc network mode (which is required for the Fargate launch type), you must choose ip as the target type, not instance, when creating your target groups because tasks that use the awsvpc network mode are associated with an elastic network interface, not an Amazon EC2 instance.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "ContainerName": { + "description": "The name of the container (as it appears in a container definition) to associate with the load balancer.", + "type": "string", + "markdownDescription": "The name of the container (as it appears in a container definition) to associate with the load balancer.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "ContainerPort": { + "description": "The port on the container to associate with the load balancer. This port must correspond to a containerPort in the task definition the tasks in the service are using. For tasks that use the EC2 launch type, the container instance they are launched on must allow ingress traffic on the hostPort of the port mapping.", + "type": "integer", + "markdownDescription": "The port on the container to associate with the load balancer. This port must correspond to a containerPort in the task definition the tasks in the service are using. For tasks that use the EC2 launch type, the container instance they are launched on must allow ingress traffic on the hostPort of the port mapping.\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" + } + }, + "markdownDescription": "A load balancer object representing the load balancer to use with the task set. The supported load balancer types are either an Application Load Balancer or a Network Load Balancer. \n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "NetworkConfiguration": { + "description": "An object representing the network configuration for a task or service.", + "additionalProperties": false, + "type": "object", + "properties": { + "AwsVpcConfiguration": { + "$ref": "#/definitions/AwsVpcConfiguration" + } + }, + "markdownDescription": "An object representing the network configuration for a task or service.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, "Scale": { + "additionalProperties": false, "type": "object", "properties": { + "Value": { + "description": "The value, specified as a percent total of a service's desiredCount, to scale the task set. Accepted values are numbers between 0 and 100.", + "maximum": 100, + "type": "number", + "minimum": 0, + "markdownDescription": "The value, specified as a percent total of a service's desiredCount, to scale the task set. Accepted values are numbers between 0 and 100.\n\n---\n\nRequired: No \nType: Number \nUpdate requires: No interruption" + }, "Unit": { "description": "The unit of measure for the scale value.", "type": "string", @@ -87,19 +175,12 @@ "PERCENT" ], "markdownDescription": "The unit of measure for the scale value.\n\n---\n\nRequired: No \nType: String \nAllowed Values: PERCENT \nUpdate requires: No interruption" - }, - "Value": { - "description": "The value, specified as a percent total of a service's desiredCount, to scale the task set. Accepted values are numbers between 0 and 100.", - "type": "number", - "minimum": 0, - "maximum": 100, - "markdownDescription": "The value, specified as a percent total of a service's desiredCount, to scale the task set. Accepted values are numbers between 0 and 100.\n\n---\n\nRequired: No \nType: Number \nUpdate requires: No interruption" } }, - "additionalProperties": false, "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, "ServiceRegistry": { + "additionalProperties": false, "type": "object", "properties": { "ContainerName": { @@ -107,60 +188,60 @@ "type": "string", "markdownDescription": "The container name value, already specified in the task definition, to be used for your service discovery service. If the task definition that your service task specifies uses the bridge or host network mode, you must specify a containerName and containerPort combination from the task definition. If the task definition that your service task specifies uses the awsvpc network mode and a type SRV DNS record is used, you must specify either a containerName and containerPort combination or a port value, but not both.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, - "ContainerPort": { - "description": "The port value, already specified in the task definition, to be used for your service discovery service. If the task definition your service task specifies uses the bridge or host network mode, you must specify a containerName and containerPort combination from the task definition. If the task definition your service task specifies uses the awsvpc network mode and a type SRV DNS record is used, you must specify either a containerName and containerPort combination or a port value, but not both.", - "type": "integer", - "markdownDescription": "The port value, already specified in the task definition, to be used for your service discovery service. If the task definition your service task specifies uses the bridge or host network mode, you must specify a containerName and containerPort combination from the task definition. If the task definition your service task specifies uses the awsvpc network mode and a type SRV DNS record is used, you must specify either a containerName and containerPort combination or a port value, but not both.\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" - }, "Port": { "description": "The port value used if your service discovery service specified an SRV record. This field may be used if both the awsvpc network mode and SRV records are used.", "type": "integer", "markdownDescription": "The port value used if your service discovery service specified an SRV record. This field may be used if both the awsvpc network mode and SRV records are used.\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" }, + "ContainerPort": { + "description": "The port value, already specified in the task definition, to be used for your service discovery service. If the task definition your service task specifies uses the bridge or host network mode, you must specify a containerName and containerPort combination from the task definition. If the task definition your service task specifies uses the awsvpc network mode and a type SRV DNS record is used, you must specify either a containerName and containerPort combination or a port value, but not both.", + "type": "integer", + "markdownDescription": "The port value, already specified in the task definition, to be used for your service discovery service. If the task definition your service task specifies uses the bridge or host network mode, you must specify a containerName and containerPort combination from the task definition. If the task definition your service task specifies uses the awsvpc network mode and a type SRV DNS record is used, you must specify either a containerName and containerPort combination or a port value, but not both.\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" + }, "RegistryArn": { "description": "The Amazon Resource Name (ARN) of the service registry. The currently supported service registry is AWS Cloud Map. For more information, see https://docs.aws.amazon.com/cloud-map/latest/api/API_CreateService.html", "type": "string", "markdownDescription": "The Amazon Resource Name (ARN) of the service registry. The currently supported service registry is AWS Cloud Map. For more information, see https://docs.aws.amazon.com/cloud-map/latest/api/API_CreateService.html\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" } }, - "additionalProperties": false, "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, "Tag": { + "additionalProperties": false, "type": "object", "properties": { - "Key": { + "Value": { "type": "string", "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, - "Value": { + "Key": { "type": "string", "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" } }, - "additionalProperties": false, "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" } }, + "required": [ + "Cluster", + "Service", + "TaskDefinition" + ], "properties": { - "Cluster": { - "description": "The short name or full Amazon Resource Name (ARN) of the cluster that hosts the service to create the task set in.", + "PlatformVersion": { + "description": "The platform version that the tasks in the task set should use. A platform version is specified only for tasks using the Fargate launch type. If one isn't specified, the LATEST platform version is used by default.", "type": "string", - "markdownDescription": "The short name or full Amazon Resource Name (ARN) of the cluster that hosts the service to create the task set in.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: Replacement" + "markdownDescription": "The platform version that the tasks in the task set should use. A platform version is specified only for tasks using the Fargate launch type. If one isn't specified, the LATEST platform version is used by default.\n\n---\n\nRequired: No \nType: String \nUpdate requires: Replacement" }, "ExternalId": { "description": "An optional non-unique tag that identifies this task set in external systems. If the task set is associated with a service discovery registry, the tasks in this task set will have the ECS_TASK_SET_EXTERNAL_ID AWS Cloud Map attribute set to the provided value. ", "type": "string", "markdownDescription": "An optional non-unique tag that identifies this task set in external systems. If the task set is associated with a service discovery registry, the tasks in this task set will have the ECS_TASK_SET_EXTERNAL_ID AWS Cloud Map attribute set to the provided value. \n\n---\n\nRequired: No \nType: String \nUpdate requires: Replacement" }, - "LaunchType": { - "description": "The launch type that new tasks in the task set will use. For more information, see https://docs.aws.amazon.com/AmazonECS/latest/developerguide/launch_types.html in the Amazon Elastic Container Service Developer Guide. ", + "Cluster": { + "description": "The short name or full Amazon Resource Name (ARN) of the cluster that hosts the service to create the task set in.", "type": "string", - "enum": [ - "EC2", - "FARGATE" - ], - "markdownDescription": "The launch type that new tasks in the task set will use. For more information, see https://docs.aws.amazon.com/AmazonECS/latest/developerguide/launch_types.html in the Amazon Elastic Container Service Developer Guide. \n\n---\n\nRequired: No \nType: String \nAllowed Values: EC2 | FARGATE \nUpdate requires: Replacement" + "markdownDescription": "The short name or full Amazon Resource Name (ARN) of the cluster that hosts the service to create the task set in.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: Replacement" }, "LoadBalancers": { "type": "array", @@ -169,24 +250,16 @@ }, "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: Replacement" }, - "NetworkConfiguration": { - "$ref": "#/definitions/NetworkConfiguration" - }, - "PlatformVersion": { - "description": "The platform version that the tasks in the task set should use. A platform version is specified only for tasks using the Fargate launch type. If one isn't specified, the LATEST platform version is used by default.", + "Service": { + "description": "The short name or full Amazon Resource Name (ARN) of the service to create the task set in.", "type": "string", - "markdownDescription": "The platform version that the tasks in the task set should use. A platform version is specified only for tasks using the Fargate launch type. If one isn't specified, the LATEST platform version is used by default.\n\n---\n\nRequired: No \nType: String \nUpdate requires: Replacement" + "markdownDescription": "The short name or full Amazon Resource Name (ARN) of the service to create the task set in.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: Replacement" }, "Scale": { "description": "A floating-point percentage of the desired number of tasks to place and keep running in the task set.", "$ref": "#/definitions/Scale", "markdownDescription": "A floating-point percentage of the desired number of tasks to place and keep running in the task set.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" }, - "Service": { - "description": "The short name or full Amazon Resource Name (ARN) of the service to create the task set in.", - "type": "string", - "markdownDescription": "The short name or full Amazon Resource Name (ARN) of the service to create the task set in.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: Replacement" - }, "ServiceRegistries": { "description": "The details of the service discovery registries to assign to this task set. For more information, see https://docs.aws.amazon.com/AmazonECS/latest/developerguide/service-discovery.html.", "type": "array", @@ -195,78 +268,38 @@ }, "markdownDescription": "The details of the service discovery registries to assign to this task set. For more information, see https://docs.aws.amazon.com/AmazonECS/latest/developerguide/service-discovery.html.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: Replacement" }, - "Tags": { + "CapacityProviderStrategy": { "type": "array", "items": { - "$ref": "#/definitions/Tag" + "$ref": "#/definitions/CapacityProviderStrategyItem" }, - "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: Replacement" + }, + "LaunchType": { + "description": "The launch type that new tasks in the task set will use. For more information, see https://docs.aws.amazon.com/AmazonECS/latest/developerguide/launch_types.html in the Amazon Elastic Container Service Developer Guide. ", + "type": "string", + "enum": [ + "EC2", + "FARGATE" + ], + "markdownDescription": "The launch type that new tasks in the task set will use. For more information, see https://docs.aws.amazon.com/AmazonECS/latest/developerguide/launch_types.html in the Amazon Elastic Container Service Developer Guide. \n\n---\n\nRequired: No \nType: String \nAllowed Values: EC2 | FARGATE \nUpdate requires: Replacement" }, "TaskDefinition": { "description": "The short name or full Amazon Resource Name (ARN) of the task definition for the tasks in the task set to use.", "type": "string", "markdownDescription": "The short name or full Amazon Resource Name (ARN) of the task definition for the tasks in the task set to use.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: Replacement" - } - }, - "required": [ - "Cluster", - "Service", - "TaskDefinition" - ], - "tagging": { - "taggable": true, - "tagOnCreate": true, - "tagUpdatable": true, - "cloudFormationSystemTags": false - }, - "createOnlyProperties": [ - "/properties/Cluster", - "/properties/ExternalId", - "/properties/LaunchType", - "/properties/LoadBalancers", - "/properties/NetworkConfiguration", - "/properties/PlatformVersion", - "/properties/Service", - "/properties/ServiceRegistries", - "/properties/TaskDefinition" - ], - "readOnlyProperties": [ - "/properties/Id" - ], - "primaryIdentifier": [ - "/properties/Cluster", - "/properties/Service", - "/properties/Id" - ], - "handlers": { - "create": { - "permissions": [ - "ecs:CreateTaskSet", - "ecs:DescribeTaskSets", - "ecs:TagResource" - ] }, - "read": { - "permissions": [ - "ecs:DescribeTaskSets" - ] - }, - "update": { - "permissions": [ - "ecs:DescribeTaskSets", - "ecs:TagResource", - "ecs:UntagResource", - "ecs:UpdateTaskSet" - ] + "NetworkConfiguration": { + "$ref": "#/definitions/NetworkConfiguration" }, - "delete": { - "permissions": [ - "ecs:DeleteTaskSet", - "ecs:DescribeTaskSets" - ] + "Tags": { + "type": "array", + "items": { + "$ref": "#/definitions/Tag" + }, + "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" } }, - "additionalProperties": false, "attributes": { "Id": { "description": "The ID of the task set.", diff --git a/server/schema/resources/aws-efs-accesspoint.json b/server/schema/resources/aws-efs-accesspoint.json index 7332d782..1f5bec8f 100644 --- a/server/schema/resources/aws-efs-accesspoint.json +++ b/server/schema/resources/aws-efs-accesspoint.json @@ -167,8 +167,13 @@ "taggable": true, "tagOnCreate": true, "tagUpdatable": true, - "cloudFormationSystemTags": false, - "tagProperty": "/properties/AccessPointTags" + "cloudFormationSystemTags": true, + "tagProperty": "/properties/AccessPointTags", + "permissions": [ + "elasticfilesystem:TagResource", + "elasticfilesystem:ListTagsForResource", + "elasticfilesystem:UntagResource" + ] }, "handlers": { "create": { diff --git a/server/schema/resources/aws-efs-filesystem.json b/server/schema/resources/aws-efs-filesystem.json index 2bba91c6..079d2b1c 100644 --- a/server/schema/resources/aws-efs-filesystem.json +++ b/server/schema/resources/aws-efs-filesystem.json @@ -93,16 +93,31 @@ "type": "object", "additionalProperties": false, "properties": { + "Status": { + "type": "string", + "description": "", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "StatusMessage": { + "type": "string", + "description": "", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, "FileSystemId": { "type": "string", "description": "The ID of the destination Amazon EFS file system.", - "markdownDescription": "The ID of the destination Amazon EFS file system.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "markdownDescription": "The ID of the destination Amazon EFS file system.\n\n---\n\nRequired: No \nType: String \nPattern: ^(arn:aws[-a-z]*:elasticfilesystem:[0-9a-z-:]+:file-system/fs-[0-9a-f]{8,40}|fs-[0-9a-f]{8,40})$ \nUpdate requires: No interruption" }, "Region": { "type": "string", "description": "The AWS-Region in which the destination file system is located.\n For One Zone file systems, the replication configuration must specify the AWS-Region in which the destination file system is located.", "markdownDescription": "The AWS-Region in which the destination file system is located.\n For One Zone file systems, the replication configuration must specify the AWS-Region in which the destination file system is located.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, + "RoleArn": { + "type": "string", + "description": "", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, "AvailabilityZoneName": { "type": "string", "description": "For One Zone file systems, the replication configuration must specify the Availability Zone in which the destination file system is located. \n Use the format ``us-east-1a`` to specify the Availability Zone. For more information about One Zone file systems, see [EFS file system types](https://docs.aws.amazon.com/efs/latest/ug/storage-classes.html) in the *Amazon EFS User Guide*.\n One Zone file system type is not available in all Availability Zones in AWS-Regions where Amazon EFS is available.", @@ -215,7 +230,9 @@ "additionalProperties": false, "readOnlyProperties": [ "/properties/Arn", - "/properties/FileSystemId" + "/properties/FileSystemId", + "/properties/ReplicationConfiguration/Destinations/*/Status", + "/properties/ReplicationConfiguration/Destinations/*/StatusMessage" ], "primaryIdentifier": [ "/properties/FileSystemId" @@ -233,14 +250,21 @@ ], "propertyTransform": { "/properties/KmsKeyId": "\"arn:aws[-a-z]*:kms:[a-z0-9-]+:[0-9]{12}:key/[a-zA-Z0-9-]+\"", - "/properties/FileSystemProtection/ReplicationOverwriteProtection": "$uppercase(FileSystemProtection.ReplicationOverwriteProtection)='DISABLED' ? 'REPLICATING' : $uppercase(FileSystemProtection.ReplicationOverwriteProtection)" + "/properties/FileSystemProtection/ReplicationOverwriteProtection": "$uppercase(FileSystemProtection.ReplicationOverwriteProtection)='DISABLED' ? 'REPLICATING' : $uppercase(FileSystemProtection.ReplicationOverwriteProtection)", + "/properties/ReplicationConfiguration/Destinations/*/FileSystemId": "$split(FileSystemId, \"/\")[-1]" }, "tagging": { "taggable": true, "tagOnCreate": true, "tagUpdatable": true, - "cloudFormationSystemTags": false, - "tagProperty": "/properties/FileSystemTags" + "cloudFormationSystemTags": true, + "tagProperty": "/properties/FileSystemTags", + "permissions": [ + "elasticfilesystem:TagResource", + "elasticfilesystem:ListTagsForResource", + "elasticfilesystem:UntagResource", + "elasticfilesystem:DeleteTags" + ] }, "handlers": { "create": { @@ -256,7 +280,9 @@ "elasticfilesystem:UpdateFileSystemProtection", "kms:DescribeKey", "kms:GenerateDataKeyWithoutPlaintext", - "kms:CreateGrant" + "kms:CreateGrant", + "iam:PassRole", + "iam:CreateServiceLinkedRole" ] }, "read": { @@ -289,7 +315,9 @@ "elasticfilesystem:UpdateFileSystemProtection", "kms:DescribeKey", "kms:GenerateDataKeyWithoutPlaintext", - "kms:CreateGrant" + "kms:CreateGrant", + "iam:PassRole", + "iam:CreateServiceLinkedRole" ] }, "delete": { diff --git a/server/schema/resources/aws-eks-accessentry.json b/server/schema/resources/aws-eks-accessentry.json index d02517a8..14278f4a 100644 --- a/server/schema/resources/aws-eks-accessentry.json +++ b/server/schema/resources/aws-eks-accessentry.json @@ -142,7 +142,11 @@ "tagOnCreate": true, "tagUpdatable": true, "cloudFormationSystemTags": true, - "tagProperty": "/properties/Tags" + "tagProperty": "/properties/Tags", + "permissions": [ + "eks:TagResource", + "eks:UntagResource" + ] }, "additionalProperties": false, "required": [ diff --git a/server/schema/resources/aws-eks-cluster.json b/server/schema/resources/aws-eks-cluster.json index 6cb22533..fb4c7637 100644 --- a/server/schema/resources/aws-eks-cluster.json +++ b/server/schema/resources/aws-eks-cluster.json @@ -291,6 +291,19 @@ ], "markdownDescription": "Network configuration of nodes run on-premises with EKS Hybrid Nodes.\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, + "BlockStorage": { + "description": "Todo: add description", + "additionalProperties": false, + "type": "object", + "properties": { + "Enabled": { + "description": "Todo: add description", + "type": "boolean", + "markdownDescription": "Todo: add description\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" + } + }, + "markdownDescription": "Todo: add description\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, "UpgradePolicy": { "description": "An object representing the Upgrade Policy to use for the cluster.", "additionalProperties": false, diff --git a/server/schema/resources/aws-eks-nodegroup.json b/server/schema/resources/aws-eks-nodegroup.json index cbbbd277..d819e18e 100644 --- a/server/schema/resources/aws-eks-nodegroup.json +++ b/server/schema/resources/aws-eks-nodegroup.json @@ -117,6 +117,19 @@ } }, "markdownDescription": "The node group update configuration.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "NodeRepairConfig": { + "description": "The node auto repair configuration for node group.", + "type": "object", + "additionalProperties": false, + "properties": { + "Enabled": { + "description": "Set this value to true to enable node auto repair for the node group.", + "type": "boolean", + "markdownDescription": "Set this value to true to enable node auto repair for the node group.\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" + } + }, + "markdownDescription": "The node auto repair configuration for node group.\n\n---\n\nRequired: No \nUpdate requires: No interruption" } }, "properties": { @@ -238,6 +251,11 @@ "$ref": "#/definitions/UpdateConfig", "markdownDescription": "The node group update configuration.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" }, + "NodeRepairConfig": { + "description": "The node auto repair configuration for node group.", + "$ref": "#/definitions/NodeRepairConfig", + "markdownDescription": "The node auto repair configuration for node group.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" + }, "Version": { "description": "The Kubernetes version to use for your managed nodes.", "type": "string", diff --git a/server/schema/resources/aws-elasticache-globalreplicationgroup.json b/server/schema/resources/aws-elasticache-globalreplicationgroup.json index 298ca677..9e923233 100644 --- a/server/schema/resources/aws-elasticache-globalreplicationgroup.json +++ b/server/schema/resources/aws-elasticache-globalreplicationgroup.json @@ -99,6 +99,11 @@ "type": "string", "markdownDescription": "The engine version of the Global Datastore.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, + "Engine": { + "description": "The engine of the Global Datastore.", + "type": "string", + "markdownDescription": "The engine of the Global Datastore.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, "CacheParameterGroupName": { "description": "Cache parameter group name to use for the new engine version. This parameter cannot be modified independently.", "type": "string", diff --git a/server/schema/resources/aws-elasticache-replicationgroup.json b/server/schema/resources/aws-elasticache-replicationgroup.json index 49def186..6db0fc3a 100644 --- a/server/schema/resources/aws-elasticache-replicationgroup.json +++ b/server/schema/resources/aws-elasticache-replicationgroup.json @@ -63,7 +63,7 @@ }, "Engine": { "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: Replacement" + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, "Tags": { "type": "array", @@ -372,6 +372,7 @@ "/properties/KmsKeyId", "/properties/Port", "/properties/SnapshotArns", + "/properties/SnapshotName", "/properties/CacheSubnetGroupName", "/properties/NetworkType", "/properties/DataTieringEnabled", @@ -379,9 +380,7 @@ "/properties/ReplicationGroupId", "/properties/GlobalReplicationGroupId", "/properties/ReplicasPerNodeGroup", - "/properties/PreferredCacheClusterAZs", - "/properties/SnapshotName", - "/properties/Engine" + "/properties/PreferredCacheClusterAZs" ], "primaryIdentifier": [ "/properties/ReplicationGroupId" diff --git a/server/schema/resources/aws-elasticache-serverlesscache.json b/server/schema/resources/aws-elasticache-serverlesscache.json index b86f7c67..11e8f707 100644 --- a/server/schema/resources/aws-elasticache-serverlesscache.json +++ b/server/schema/resources/aws-elasticache-serverlesscache.json @@ -122,12 +122,12 @@ "Engine": { "description": "The engine name of the Serverless Cache.", "type": "string", - "markdownDescription": "The engine name of the Serverless Cache.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: Replacement" + "markdownDescription": "The engine name of the Serverless Cache.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" }, "MajorEngineVersion": { "description": "The major engine version of the Serverless Cache.", "type": "string", - "markdownDescription": "The major engine version of the Serverless Cache.\n\n---\n\nRequired: No \nType: String \nUpdate requires: Replacement" + "markdownDescription": "The major engine version of the Serverless Cache.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, "CacheUsageLimits": { "$ref": "#/definitions/CacheUsageLimits" @@ -212,7 +212,11 @@ "tagOnCreate": true, "tagUpdatable": true, "cloudFormationSystemTags": false, - "tagProperty": "/properties/Tags" + "tagProperty": "/properties/Tags", + "permissions": [ + "elasticache:AddTagsToResource", + "elasticache:RemoveTagsFromResource" + ] }, "additionalProperties": false, "readOnlyProperties": [ @@ -231,8 +235,6 @@ ], "createOnlyProperties": [ "/properties/ServerlessCacheName", - "/properties/Engine", - "/properties/MajorEngineVersion", "/properties/KmsKeyId", "/properties/SnapshotArnsToRestore", "/properties/SubnetIds" diff --git a/server/schema/resources/aws-elasticache-user.json b/server/schema/resources/aws-elasticache-user.json index f1fedb5b..eb87c00c 100644 --- a/server/schema/resources/aws-elasticache-user.json +++ b/server/schema/resources/aws-elasticache-user.json @@ -41,12 +41,13 @@ "markdownDescription": "The username of the user.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: Replacement" }, "Engine": { - "description": "Must be redis.", + "description": "The target cache engine for the user.", "type": "string", "enum": [ - "redis" + "redis", + "valkey" ], - "markdownDescription": "Must be redis.\n\n---\n\nRequired: Yes \nType: String \nAllowed Values: redis \nUpdate requires: Replacement" + "markdownDescription": "The target cache engine for the user.\n\n---\n\nRequired: Yes \nType: String \nAllowed Values: redis | valkey \nUpdate requires: No interruption" }, "AccessString": { "description": "Access permissions string used for this user account.", @@ -133,8 +134,7 @@ ], "createOnlyProperties": [ "/properties/UserId", - "/properties/UserName", - "/properties/Engine" + "/properties/UserName" ], "writeOnlyProperties": [ "/properties/Passwords", diff --git a/server/schema/resources/aws-elasticbeanstalk-environment.json b/server/schema/resources/aws-elasticbeanstalk-environment.json index 14f343b2..fbedcf94 100644 --- a/server/schema/resources/aws-elasticbeanstalk-environment.json +++ b/server/schema/resources/aws-elasticbeanstalk-environment.json @@ -1,5 +1,10 @@ { "tagging": { + "permissions": [ + "elasticbeanstalk:AddTags", + "elasticbeanstalk:RemoveTags", + "elasticbeanstalk:ListTagsForResource" + ], "taggable": true, "tagOnCreate": true, "tagUpdatable": true, @@ -48,11 +53,15 @@ "permissions": [ "elasticbeanstalk:DescribeEnvironments", "elasticbeanstalk:UpdateEnvironment", - "elasticbeanstalk:UpdateTagsForResource", "elasticbeanstalk:AssociateEnvironmentOperationsRole", "elasticbeanstalk:DisassociateEnvironmentOperationsRole", "elasticbeanstalk:AddTags", "elasticbeanstalk:ListTagsForResource", + "elasticbeanstalk:RemoveTags", + "s3:GetBucketLocation", + "s3:GetBucketPolicy", + "s3:ListBucket", + "s3:PutBucketPolicy", "iam:PassRole" ], "timeoutInMinutes": 300 diff --git a/server/schema/resources/aws-elasticloadbalancingv2-loadbalancer.json b/server/schema/resources/aws-elasticloadbalancingv2-loadbalancer.json index 437e0adc..5207615a 100644 --- a/server/schema/resources/aws-elasticloadbalancingv2-loadbalancer.json +++ b/server/schema/resources/aws-elasticloadbalancingv2-loadbalancer.json @@ -1,251 +1,261 @@ { + "typeName": "AWS::ElasticLoadBalancingV2::LoadBalancer", + "description": "Specifies an Application Load Balancer, a Network Load Balancer, or a Gateway Load Balancer.", "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-elasticloadbalancingv2", "documentationUrl": "https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticloadbalancingv2-loadbalancer.html", - "tagging": { - "permissions": [ - "elasticloadbalancing:AddTags", - "elasticloadbalancing:DescribeTags", - "elasticloadbalancing:RemoveTags" - ], - "taggable": true, - "tagOnCreate": true, - "tagUpdatable": true, - "tagProperty": "/properties/Tags", - "cloudFormationSystemTags": false - }, - "handlers": { - "read": { - "permissions": [ - "elasticloadbalancing:DescribeLoadBalancers", - "elasticloadbalancing:DescribeLoadBalancerAttributes", - "elasticloadbalancing:DescribeTags" - ] + "additionalProperties": false, + "properties": { + "IpAddressType": { + "type": "string", + "description": "Note: Internal load balancers must use the ``ipv4`` IP address type.\n [Application Load Balancers] The IP address type. The possible values are ``ipv4`` (for only IPv4 addresses), ``dualstack`` (for IPv4 and IPv6 addresses), and ``dualstack-without-public-ipv4`` (for IPv6 only public addresses, with private IPv4 and IPv6 addresses).\n Note: Application Load Balancer authentication only supports IPv4 addresses when connecting to an Identity Provider (IdP) or Amazon Cognito endpoint. Without a public IPv4 address the load balancer cannot complete the authentication process, resulting in HTTP 500 errors.\n [Network Load Balancers] The IP address type. The possible values are ``ipv4`` (for only IPv4 addresses) and ``dualstack`` (for IPv4 and IPv6 addresses). You can\u2019t specify ``dualstack`` for a load balancer with a UDP or TCP_UDP listener.\n [Gateway Load Balancers] The IP address type. The possible values are ``ipv4`` (for only IPv4 addresses) and ``dualstack`` (for IPv4 and IPv6 addresses).", + "markdownDescription": "Note: Internal load balancers must use the ``ipv4`` IP address type.\n [Application Load Balancers] The IP address type. The possible values are ``ipv4`` (for only IPv4 addresses), ``dualstack`` (for IPv4 and IPv6 addresses), and ``dualstack-without-public-ipv4`` (for IPv6 only public addresses, with private IPv4 and IPv6 addresses).\n Note: Application Load Balancer authentication only supports IPv4 addresses when connecting to an Identity Provider (IdP) or Amazon Cognito endpoint. Without a public IPv4 address the load balancer cannot complete the authentication process, resulting in HTTP 500 errors.\n [Network Load Balancers] The IP address type. The possible values are ``ipv4`` (for only IPv4 addresses) and ``dualstack`` (for IPv4 and IPv6 addresses). You can\u2019t specify ``dualstack`` for a load balancer with a UDP or TCP_UDP listener.\n [Gateway Load Balancers] The IP address type. The possible values are ``ipv4`` (for only IPv4 addresses) and ``dualstack`` (for IPv4 and IPv6 addresses).\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, - "create": { - "permissions": [ - "elasticloadbalancing:CreateLoadBalancer", - "elasticloadbalancing:DescribeLoadBalancers", - "elasticloadbalancing:ModifyLoadBalancerAttributes", - "elasticloadbalancing:AddTags" - ], - "timeoutInMinutes": 30 + "EnablePrefixForIpv6SourceNat": { + "type": "string", + "description": "", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, - "update": { - "permissions": [ - "elasticloadbalancing:ModifyLoadBalancerAttributes", - "elasticloadbalancing:SetSubnets", - "elasticloadbalancing:SetIpAddressType", - "elasticloadbalancing:SetSecurityGroups", - "elasticloadbalancing:AddTags", - "elasticloadbalancing:RemoveTags" - ] + "SecurityGroups": { + "type": "array", + "description": "[Application Load Balancers and Network Load Balancers] The IDs of the security groups for the load balancer.", + "uniqueItems": true, + "insertionOrder": false, + "items": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "markdownDescription": "[Application Load Balancers and Network Load Balancers] The IDs of the security groups for the load balancer.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" }, - "list": { - "permissions": [ - "elasticloadbalancing:DescribeLoadBalancers" - ] + "LoadBalancerAttributes": { + "type": "array", + "description": "The load balancer attributes.", + "uniqueItems": true, + "insertionOrder": false, + "arrayType": "AttributeList", + "items": { + "$ref": "#/definitions/LoadBalancerAttribute" + }, + "markdownDescription": "The load balancer attributes.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" }, - "delete": { - "permissions": [ - "elasticloadbalancing:DescribeLoadBalancers", - "elasticloadbalancing:DeleteLoadBalancer" - ] + "Scheme": { + "type": "string", + "description": "The nodes of an Internet-facing load balancer have public IP addresses. The DNS name of an Internet-facing load balancer is publicly resolvable to the public IP addresses of the nodes. Therefore, Internet-facing load balancers can route requests from clients over the internet.\n The nodes of an internal load balancer have only private IP addresses. The DNS name of an internal load balancer is publicly resolvable to the private IP addresses of the nodes. Therefore, internal load balancers can route requests only from clients with access to the VPC for the load balancer.\n The default is an Internet-facing load balancer.\n You cannot specify a scheme for a Gateway Load Balancer.", + "markdownDescription": "The nodes of an Internet-facing load balancer have public IP addresses. The DNS name of an Internet-facing load balancer is publicly resolvable to the public IP addresses of the nodes. Therefore, Internet-facing load balancers can route requests from clients over the internet.\n The nodes of an internal load balancer have only private IP addresses. The DNS name of an internal load balancer is publicly resolvable to the private IP addresses of the nodes. Therefore, internal load balancers can route requests only from clients with access to the VPC for the load balancer.\n The default is an Internet-facing load balancer.\n You cannot specify a scheme for a Gateway Load Balancer.\n\n---\n\nRequired: No \nType: String \nUpdate requires: Replacement" + }, + "Name": { + "type": "string", + "description": "The name of the load balancer. This name must be unique per region per account, can have a maximum of 32 characters, must contain only alphanumeric characters or hyphens, must not begin or end with a hyphen, and must not begin with \"internal-\".\n If you don't specify a name, AWS CloudFormation generates a unique physical ID for the load balancer. If you specify a name, you cannot perform updates that require replacement of this resource, but you can perform other updates. To replace the resource, specify a new name.", + "markdownDescription": "The name of the load balancer. This name must be unique per region per account, can have a maximum of 32 characters, must contain only alphanumeric characters or hyphens, must not begin or end with a hyphen, and must not begin with \"internal-\".\n If you don't specify a name, AWS CloudFormation generates a unique physical ID for the load balancer. If you specify a name, you cannot perform updates that require replacement of this resource, but you can perform other updates. To replace the resource, specify a new name.\n\n---\n\nRequired: No \nType: String \nUpdate requires: Replacement" + }, + "Subnets": { + "type": "array", + "description": "The IDs of the subnets. You can specify only one subnet per Availability Zone. You must specify either subnets or subnet mappings, but not both. To specify an Elastic IP address, specify subnet mappings instead of subnets.\n [Application Load Balancers] You must specify subnets from at least two Availability Zones.\n [Application Load Balancers on Outposts] You must specify one Outpost subnet.\n [Application Load Balancers on Local Zones] You can specify subnets from one or more Local Zones.\n [Network Load Balancers] You can specify subnets from one or more Availability Zones.\n [Gateway Load Balancers] You can specify subnets from one or more Availability Zones.", + "uniqueItems": true, + "insertionOrder": false, + "items": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "markdownDescription": "The IDs of the subnets. You can specify only one subnet per Availability Zone. You must specify either subnets or subnet mappings, but not both. To specify an Elastic IP address, specify subnet mappings instead of subnets.\n [Application Load Balancers] You must specify subnets from at least two Availability Zones.\n [Application Load Balancers on Outposts] You must specify one Outpost subnet.\n [Application Load Balancers on Local Zones] You can specify subnets from one or more Local Zones.\n [Network Load Balancers] You can specify subnets from one or more Availability Zones.\n [Gateway Load Balancers] You can specify subnets from one or more Availability Zones.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + }, + "Type": { + "type": "string", + "description": "The type of load balancer. The default is ``application``.", + "markdownDescription": "The type of load balancer. The default is ``application``.\n\n---\n\nRequired: No \nType: String \nUpdate requires: Replacement" + }, + "Tags": { + "type": "array", + "description": "The tags to assign to the load balancer.", + "uniqueItems": false, + "insertionOrder": false, + "items": { + "$ref": "#/definitions/Tag" + }, + "markdownDescription": "The tags to assign to the load balancer.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + }, + "SubnetMappings": { + "type": "array", + "description": "The IDs of the subnets. You can specify only one subnet per Availability Zone. You must specify either subnets or subnet mappings, but not both.\n [Application Load Balancers] You must specify subnets from at least two Availability Zones. You cannot specify Elastic IP addresses for your subnets.\n [Application Load Balancers on Outposts] You must specify one Outpost subnet.\n [Application Load Balancers on Local Zones] You can specify subnets from one or more Local Zones.\n [Network Load Balancers] You can specify subnets from one or more Availability Zones. You can specify one Elastic IP address per subnet if you need static IP addresses for your internet-facing load balancer. For internal load balancers, you can specify one private IP address per subnet from the IPv4 range of the subnet. For internet-facing load balancer, you can specify one IPv6 address per subnet.\n [Gateway Load Balancers] You can specify subnets from one or more Availability Zones. You cannot specify Elastic IP addresses for your subnets.", + "uniqueItems": true, + "insertionOrder": false, + "items": { + "$ref": "#/definitions/SubnetMapping" + }, + "markdownDescription": "The IDs of the subnets. You can specify only one subnet per Availability Zone. You must specify either subnets or subnet mappings, but not both.\n [Application Load Balancers] You must specify subnets from at least two Availability Zones. You cannot specify Elastic IP addresses for your subnets.\n [Application Load Balancers on Outposts] You must specify one Outpost subnet.\n [Application Load Balancers on Local Zones] You can specify subnets from one or more Local Zones.\n [Network Load Balancers] You can specify subnets from one or more Availability Zones. You can specify one Elastic IP address per subnet if you need static IP addresses for your internet-facing load balancer. For internal load balancers, you can specify one private IP address per subnet from the IPv4 range of the subnet. For internet-facing load balancer, you can specify one IPv6 address per subnet.\n [Gateway Load Balancers] You can specify subnets from one or more Availability Zones. You cannot specify Elastic IP addresses for your subnets.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + }, + "EnforceSecurityGroupInboundRulesOnPrivateLinkTraffic": { + "type": "string", + "description": "Indicates whether to evaluate inbound security group rules for traffic sent to a Network Load Balancer through privatelink.", + "markdownDescription": "Indicates whether to evaluate inbound security group rules for traffic sent to a Network Load Balancer through privatelink.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" } }, - "typeName": "AWS::ElasticLoadBalancingV2::LoadBalancer", - "readOnlyProperties": [ - "/properties/LoadBalancerName", - "/properties/LoadBalancerFullName", - "/properties/CanonicalHostedZoneID", - "/properties/LoadBalancerArn", - "/properties/DNSName" - ], - "description": "Specifies an Application Load Balancer, a Network Load Balancer, or a Gateway Load Balancer.", - "createOnlyProperties": [ - "/properties/Name", - "/properties/Type", - "/properties/Scheme" - ], - "additionalProperties": false, - "primaryIdentifier": [ - "/properties/LoadBalancerArn" - ], "definitions": { "SubnetMapping": { - "description": "Specifies a subnet for a load balancer.", - "additionalProperties": false, "type": "object", + "additionalProperties": false, "properties": { + "SubnetId": { + "type": "string", + "description": "The ID of the subnet.", + "markdownDescription": "The ID of the subnet.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" + }, "AllocationId": { - "description": "[Network Load Balancers] The allocation ID of the Elastic IP address for an internet-facing load balancer.", "type": "string", + "description": "[Network Load Balancers] The allocation ID of the Elastic IP address for an internet-facing load balancer.", "markdownDescription": "[Network Load Balancers] The allocation ID of the Elastic IP address for an internet-facing load balancer.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, - "IPv6Address": { - "description": "[Network Load Balancers] The IPv6 address.", + "PrivateIPv4Address": { "type": "string", - "markdownDescription": "[Network Load Balancers] The IPv6 address.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "description": "[Network Load Balancers] The private IPv4 address for an internal load balancer.", + "markdownDescription": "[Network Load Balancers] The private IPv4 address for an internal load balancer.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, - "SubnetId": { - "description": "The ID of the subnet.", + "IPv6Address": { "type": "string", - "markdownDescription": "The ID of the subnet.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" + "description": "[Network Load Balancers] The IPv6 address.", + "markdownDescription": "[Network Load Balancers] The IPv6 address.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, - "PrivateIPv4Address": { - "description": "[Network Load Balancers] The private IPv4 address for an internal load balancer.", + "SourceNatIpv6Prefix": { "type": "string", - "markdownDescription": "[Network Load Balancers] The private IPv4 address for an internal load balancer.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "description": "", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" } }, "required": [ "SubnetId" ], + "description": "Specifies a subnet for a load balancer.", "markdownDescription": "Specifies a subnet for a load balancer.\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, "LoadBalancerAttribute": { - "description": "Specifies an attribute for an Application Load Balancer, a Network Load Balancer, or a Gateway Load Balancer.", - "additionalProperties": false, "type": "object", + "additionalProperties": false, "properties": { "Value": { - "description": "The value of the attribute.", "type": "string", + "description": "The value of the attribute.", "markdownDescription": "The value of the attribute.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, "Key": { - "description": "The name of the attribute.\n The following attributes are supported by all load balancers:\n + ``deletion_protection.enabled`` - Indicates whether deletion protection is enabled. The value is ``true`` or ``false``. The default is ``false``.\n + ``load_balancing.cross_zone.enabled`` - Indicates whether cross-zone load balancing is enabled. The possible values are ``true`` and ``false``. The default for Network Load Balancers and Gateway Load Balancers is ``false``. The default for Application Load Balancers is ``true``, and cannot be changed.\n \n The following attributes are supported by both Application Load Balancers and Network Load Balancers:\n + ``access_logs.s3.enabled`` - Indicates whether access logs are enabled. The value is ``true`` or ``false``. The default is ``false``.\n + ``access_logs.s3.bucket`` - The name of the S3 bucket for the access logs. This attribute is required if access logs are enabled. The bucket must exist in the same region as the load balancer and have a bucket policy that grants Elastic Load Balancing permissions to write to the bucket.\n + ``access_logs.s3.prefix`` - The prefix for the location in the S3 bucket for the access logs.\n + ``ipv6.deny_all_igw_traffic`` - Blocks internet gateway (IGW) access to the load balancer. It is set to ``false`` for internet-facing load balancers and ``true`` for internal load balancers, preventing unintended access to your internal load balancer through an internet gateway.\n \n The following attributes are supported by only Application Load Balancers:\n + ``idle_timeout.timeout_seconds`` - The idle timeout value, in seconds. The valid range is 1-4000 seconds. The default is 60 seconds.\n + ``client_keep_alive.seconds`` - The client keep alive value, in seconds. The valid range is 60-604800 seconds. The default is 3600 seconds.\n + ``connection_logs.s3.enabled`` - Indicates whether connection logs are enabled. The value is ``true`` or ``false``. The default is ``false``.\n + ``connection_logs.s3.bucket`` - The name of the S3 bucket for the connection logs. This attribute is required if connection logs are enabled. The bucket must exist in the same region as the load balancer and have a bucket policy that grants Elastic Load Balancing permissions to write to the bucket.\n + ``connection_logs.s3.prefix`` - The prefix for the location in the S3 bucket for the connection logs.\n + ``routing.http.desync_mitigation_mode`` - Determines how the load balancer handles requests that might pose a security risk to your application. The possible values are ``monitor``, ``defensive``, and ``strictest``. The default is ``defensive``.\n + ``routing.http.drop_invalid_header_fields.enabled`` - Indicates whether HTTP headers with invalid header fields are removed by the load balancer (``true``) or routed to targets (``false``). The default is ``false``.\n + ``routing.http.preserve_host_header.enabled`` - Indicates whether the Application Load Balancer should preserve the ``Host`` header in the HTTP request and send it to the target without any change. The possible values are ``true`` and ``false``. The default is ``false``.\n + ``routing.http.x_amzn_tls_version_and_cipher_suite.enabled`` - Indicates whether the two headers (``x-amzn-tls-version`` and ``x-amzn-tls-cipher-suite``), which contain information about the negotiated TLS version and cipher suite, are added to the client request before sending it to the target. The ``x-amzn-tls-version`` header has information about the TLS protocol version negotiated with the client, and the ``x-amzn-tls-cipher-suite`` header has information about the cipher suite negotiated with the client. Both headers are in OpenSSL format. The possible values for the attribute are ``true`` and ``false``. The default is ``false``.\n + ``routing.http.xff_client_port.enabled`` - Indicates whether the ``X-Forwarded-For`` header should preserve the source port that the client used to connect to the load balancer. The possible values are ``true`` and ``false``. The default is ``false``.\n + ``routing.http.xff_header_processing.mode`` - Enables you to modify, preserve, or remove the ``X-Forwarded-For`` header in the HTTP request before the Application Load Balancer sends the request to the target. The possible values are ``append``, ``preserve``, and ``remove``. The default is ``append``.\n + If the value is ``append``, the Application Load Balancer adds the client IP address (of the last hop) to the ``X-Forwarded-For`` header in the HTTP request before it sends it to targets.\n + If the value is ``preserve`` the Application Load Balancer preserves the ``X-Forwarded-For`` header in the HTTP request, and sends it to targets without any change.\n + If the value is ``remove``, the Application Load Balancer removes the ``X-Forwarded-For`` header in the HTTP request before it sends it to targets.\n \n + ``routing.http2.enabled`` - Indicates whether HTTP/2 is enabled. The possible values are ``true`` and ``false``. The default is ``true``. Elastic Load Balancing requires that message header names contain only alphanumeric characters and hyphens.\n + ``waf.fail_open.enabled`` - Indicates whether to allow a WAF-enabled load balancer to route requests to targets if it is unable to forward the request to AWS WAF. The possible values are ``true`` and ``false``. The default is ``false``.\n \n The following attributes are supported by only Network Load Balancers:\n + ``dns_record.client_routing_policy`` - Indicates how traffic is distributed among the load balancer Availability Zones. The possible values are ``availability_zone_affinity`` with 100 percent zonal affinity, ``partial_availability_zone_affinity`` with 85 percent zonal affinity, and ``any_availability_zone`` with 0 percent zonal affinity.", "type": "string", - "markdownDescription": "The name of the attribute.\n The following attributes are supported by all load balancers:\n + ``deletion_protection.enabled`` - Indicates whether deletion protection is enabled. The value is ``true`` or ``false``. The default is ``false``.\n + ``load_balancing.cross_zone.enabled`` - Indicates whether cross-zone load balancing is enabled. The possible values are ``true`` and ``false``. The default for Network Load Balancers and Gateway Load Balancers is ``false``. The default for Application Load Balancers is ``true``, and cannot be changed.\n \n The following attributes are supported by both Application Load Balancers and Network Load Balancers:\n + ``access_logs.s3.enabled`` - Indicates whether access logs are enabled. The value is ``true`` or ``false``. The default is ``false``.\n + ``access_logs.s3.bucket`` - The name of the S3 bucket for the access logs. This attribute is required if access logs are enabled. The bucket must exist in the same region as the load balancer and have a bucket policy that grants Elastic Load Balancing permissions to write to the bucket.\n + ``access_logs.s3.prefix`` - The prefix for the location in the S3 bucket for the access logs.\n + ``ipv6.deny_all_igw_traffic`` - Blocks internet gateway (IGW) access to the load balancer. It is set to ``false`` for internet-facing load balancers and ``true`` for internal load balancers, preventing unintended access to your internal load balancer through an internet gateway.\n \n The following attributes are supported by only Application Load Balancers:\n + ``idle_timeout.timeout_seconds`` - The idle timeout value, in seconds. The valid range is 1-4000 seconds. The default is 60 seconds.\n + ``client_keep_alive.seconds`` - The client keep alive value, in seconds. The valid range is 60-604800 seconds. The default is 3600 seconds.\n + ``connection_logs.s3.enabled`` - Indicates whether connection logs are enabled. The value is ``true`` or ``false``. The default is ``false``.\n + ``connection_logs.s3.bucket`` - The name of the S3 bucket for the connection logs. This attribute is required if connection logs are enabled. The bucket must exist in the same region as the load balancer and have a bucket policy that grants Elastic Load Balancing permissions to write to the bucket.\n + ``connection_logs.s3.prefix`` - The prefix for the location in the S3 bucket for the connection logs.\n + ``routing.http.desync_mitigation_mode`` - Determines how the load balancer handles requests that might pose a security risk to your application. The possible values are ``monitor``, ``defensive``, and ``strictest``. The default is ``defensive``.\n + ``routing.http.drop_invalid_header_fields.enabled`` - Indicates whether HTTP headers with invalid header fields are removed by the load balancer (``true``) or routed to targets (``false``). The default is ``false``.\n + ``routing.http.preserve_host_header.enabled`` - Indicates whether the Application Load Balancer should preserve the ``Host`` header in the HTTP request and send it to the target without any change. The possible values are ``true`` and ``false``. The default is ``false``.\n + ``routing.http.x_amzn_tls_version_and_cipher_suite.enabled`` - Indicates whether the two headers (``x-amzn-tls-version`` and ``x-amzn-tls-cipher-suite``), which contain information about the negotiated TLS version and cipher suite, are added to the client request before sending it to the target. The ``x-amzn-tls-version`` header has information about the TLS protocol version negotiated with the client, and the ``x-amzn-tls-cipher-suite`` header has information about the cipher suite negotiated with the client. Both headers are in OpenSSL format. The possible values for the attribute are ``true`` and ``false``. The default is ``false``.\n + ``routing.http.xff_client_port.enabled`` - Indicates whether the ``X-Forwarded-For`` header should preserve the source port that the client used to connect to the load balancer. The possible values are ``true`` and ``false``. The default is ``false``.\n + ``routing.http.xff_header_processing.mode`` - Enables you to modify, preserve, or remove the ``X-Forwarded-For`` header in the HTTP request before the Application Load Balancer sends the request to the target. The possible values are ``append``, ``preserve``, and ``remove``. The default is ``append``.\n + If the value is ``append``, the Application Load Balancer adds the client IP address (of the last hop) to the ``X-Forwarded-For`` header in the HTTP request before it sends it to targets.\n + If the value is ``preserve`` the Application Load Balancer preserves the ``X-Forwarded-For`` header in the HTTP request, and sends it to targets without any change.\n + If the value is ``remove``, the Application Load Balancer removes the ``X-Forwarded-For`` header in the HTTP request before it sends it to targets.\n \n + ``routing.http2.enabled`` - Indicates whether HTTP/2 is enabled. The possible values are ``true`` and ``false``. The default is ``true``. Elastic Load Balancing requires that message header names contain only alphanumeric characters and hyphens.\n + ``waf.fail_open.enabled`` - Indicates whether to allow a WAF-enabled load balancer to route requests to targets if it is unable to forward the request to AWS WAF. The possible values are ``true`` and ``false``. The default is ``false``.\n \n The following attributes are supported by only Network Load Balancers:\n + ``dns_record.client_routing_policy`` - Indicates how traffic is distributed among the load balancer Availability Zones. The possible values are ``availability_zone_affinity`` with 100 percent zonal affinity, ``partial_availability_zone_affinity`` with 85 percent zonal affinity, and ``any_availability_zone`` with 0 percent zonal affinity.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "description": "The name of the attribute.\n The following attributes are supported by all load balancers:\n + ``deletion_protection.enabled`` - Indicates whether deletion protection is enabled. The value is ``true`` or ``false``. The default is ``false``.\n + ``load_balancing.cross_zone.enabled`` - Indicates whether cross-zone load balancing is enabled. The possible values are ``true`` and ``false``. The default for Network Load Balancers and Gateway Load Balancers is ``false``. The default for Application Load Balancers is ``true``, and cannot be changed.\n \n The following attributes are supported by both Application Load Balancers and Network Load Balancers:\n + ``access_logs.s3.enabled`` - Indicates whether access logs are enabled. The value is ``true`` or ``false``. The default is ``false``.\n + ``access_logs.s3.bucket`` - The name of the S3 bucket for the access logs. This attribute is required if access logs are enabled. The bucket must exist in the same region as the load balancer and have a bucket policy that grants Elastic Load Balancing permissions to write to the bucket.\n + ``access_logs.s3.prefix`` - The prefix for the location in the S3 bucket for the access logs.\n + ``ipv6.deny_all_igw_traffic`` - Blocks internet gateway (IGW) access to the load balancer. It is set to ``false`` for internet-facing load balancers and ``true`` for internal load balancers, preventing unintended access to your internal load balancer through an internet gateway.\n \n The following attributes are supported by only Application Load Balancers:\n + ``idle_timeout.timeout_seconds`` - The idle timeout value, in seconds. The valid range is 1-4000 seconds. The default is 60 seconds.\n + ``client_keep_alive.seconds`` - The client keep alive value, in seconds. The valid range is 60-604800 seconds. The default is 3600 seconds.\n + ``connection_logs.s3.enabled`` - Indicates whether connection logs are enabled. The value is ``true`` or ``false``. The default is ``false``.\n + ``connection_logs.s3.bucket`` - The name of the S3 bucket for the connection logs. This attribute is required if connection logs are enabled. The bucket must exist in the same region as the load balancer and have a bucket policy that grants Elastic Load Balancing permissions to write to the bucket.\n + ``connection_logs.s3.prefix`` - The prefix for the location in the S3 bucket for the connection logs.\n + ``routing.http.desync_mitigation_mode`` - Determines how the load balancer handles requests that might pose a security risk to your application. The possible values are ``monitor``, ``defensive``, and ``strictest``. The default is ``defensive``.\n + ``routing.http.drop_invalid_header_fields.enabled`` - Indicates whether HTTP headers with invalid header fields are removed by the load balancer (``true``) or routed to targets (``false``). The default is ``false``.\n + ``routing.http.preserve_host_header.enabled`` - Indicates whether the Application Load Balancer should preserve the ``Host`` header in the HTTP request and send it to the target without any change. The possible values are ``true`` and ``false``. The default is ``false``.\n + ``routing.http.x_amzn_tls_version_and_cipher_suite.enabled`` - Indicates whether the two headers (``x-amzn-tls-version`` and ``x-amzn-tls-cipher-suite``), which contain information about the negotiated TLS version and cipher suite, are added to the client request before sending it to the target. The ``x-amzn-tls-version`` header has information about the TLS protocol version negotiated with the client, and the ``x-amzn-tls-cipher-suite`` header has information about the cipher suite negotiated with the client. Both headers are in OpenSSL format. The possible values for the attribute are ``true`` and ``false``. The default is ``false``.\n + ``routing.http.xff_client_port.enabled`` - Indicates whether the ``X-Forwarded-For`` header should preserve the source port that the client used to connect to the load balancer. The possible values are ``true`` and ``false``. The default is ``false``.\n + ``routing.http.xff_header_processing.mode`` - Enables you to modify, preserve, or remove the ``X-Forwarded-For`` header in the HTTP request before the Application Load Balancer sends the request to the target. The possible values are ``append``, ``preserve``, and ``remove``. The default is ``append``.\n + If the value is ``append``, the Application Load Balancer adds the client IP address (of the last hop) to the ``X-Forwarded-For`` header in the HTTP request before it sends it to targets.\n + If the value is ``preserve`` the Application Load Balancer preserves the ``X-Forwarded-For`` header in the HTTP request, and sends it to targets without any change.\n + If the value is ``remove``, the Application Load Balancer removes the ``X-Forwarded-For`` header in the HTTP request before it sends it to targets.\n \n + ``routing.http2.enabled`` - Indicates whether HTTP/2 is enabled. The possible values are ``true`` and ``false``. The default is ``true``. Elastic Load Balancing requires that message header names contain only alphanumeric characters and hyphens.\n + ``waf.fail_open.enabled`` - Indicates whether to allow a WAF-enabled load balancer to route requests to targets if it is unable to forward the request to AWS WAF. The possible values are ``true`` and ``false``. The default is ``false``.\n \n The following attributes are supported by only Network Load Balancers:\n + ``dns_record.client_routing_policy`` - Indicates how traffic is distributed among the load balancer Availability Zones. The possible values are ``availability_zone_affinity`` with 100 percent zonal affinity, ``partial_availability_zone_affinity`` with 85 percent zonal affinity, and ``any_availability_zone`` with 0 percent zonal affinity.\n + ``zonal_shift.config.enabled`` - Indicates whether zonal shift is enabled. The possible values are ``true`` and ``false``. The default is ``false``.", + "markdownDescription": "The name of the attribute.\n The following attributes are supported by all load balancers:\n + ``deletion_protection.enabled`` - Indicates whether deletion protection is enabled. The value is ``true`` or ``false``. The default is ``false``.\n + ``load_balancing.cross_zone.enabled`` - Indicates whether cross-zone load balancing is enabled. The possible values are ``true`` and ``false``. The default for Network Load Balancers and Gateway Load Balancers is ``false``. The default for Application Load Balancers is ``true``, and cannot be changed.\n \n The following attributes are supported by both Application Load Balancers and Network Load Balancers:\n + ``access_logs.s3.enabled`` - Indicates whether access logs are enabled. The value is ``true`` or ``false``. The default is ``false``.\n + ``access_logs.s3.bucket`` - The name of the S3 bucket for the access logs. This attribute is required if access logs are enabled. The bucket must exist in the same region as the load balancer and have a bucket policy that grants Elastic Load Balancing permissions to write to the bucket.\n + ``access_logs.s3.prefix`` - The prefix for the location in the S3 bucket for the access logs.\n + ``ipv6.deny_all_igw_traffic`` - Blocks internet gateway (IGW) access to the load balancer. It is set to ``false`` for internet-facing load balancers and ``true`` for internal load balancers, preventing unintended access to your internal load balancer through an internet gateway.\n \n The following attributes are supported by only Application Load Balancers:\n + ``idle_timeout.timeout_seconds`` - The idle timeout value, in seconds. The valid range is 1-4000 seconds. The default is 60 seconds.\n + ``client_keep_alive.seconds`` - The client keep alive value, in seconds. The valid range is 60-604800 seconds. The default is 3600 seconds.\n + ``connection_logs.s3.enabled`` - Indicates whether connection logs are enabled. The value is ``true`` or ``false``. The default is ``false``.\n + ``connection_logs.s3.bucket`` - The name of the S3 bucket for the connection logs. This attribute is required if connection logs are enabled. The bucket must exist in the same region as the load balancer and have a bucket policy that grants Elastic Load Balancing permissions to write to the bucket.\n + ``connection_logs.s3.prefix`` - The prefix for the location in the S3 bucket for the connection logs.\n + ``routing.http.desync_mitigation_mode`` - Determines how the load balancer handles requests that might pose a security risk to your application. The possible values are ``monitor``, ``defensive``, and ``strictest``. The default is ``defensive``.\n + ``routing.http.drop_invalid_header_fields.enabled`` - Indicates whether HTTP headers with invalid header fields are removed by the load balancer (``true``) or routed to targets (``false``). The default is ``false``.\n + ``routing.http.preserve_host_header.enabled`` - Indicates whether the Application Load Balancer should preserve the ``Host`` header in the HTTP request and send it to the target without any change. The possible values are ``true`` and ``false``. The default is ``false``.\n + ``routing.http.x_amzn_tls_version_and_cipher_suite.enabled`` - Indicates whether the two headers (``x-amzn-tls-version`` and ``x-amzn-tls-cipher-suite``), which contain information about the negotiated TLS version and cipher suite, are added to the client request before sending it to the target. The ``x-amzn-tls-version`` header has information about the TLS protocol version negotiated with the client, and the ``x-amzn-tls-cipher-suite`` header has information about the cipher suite negotiated with the client. Both headers are in OpenSSL format. The possible values for the attribute are ``true`` and ``false``. The default is ``false``.\n + ``routing.http.xff_client_port.enabled`` - Indicates whether the ``X-Forwarded-For`` header should preserve the source port that the client used to connect to the load balancer. The possible values are ``true`` and ``false``. The default is ``false``.\n + ``routing.http.xff_header_processing.mode`` - Enables you to modify, preserve, or remove the ``X-Forwarded-For`` header in the HTTP request before the Application Load Balancer sends the request to the target. The possible values are ``append``, ``preserve``, and ``remove``. The default is ``append``.\n + If the value is ``append``, the Application Load Balancer adds the client IP address (of the last hop) to the ``X-Forwarded-For`` header in the HTTP request before it sends it to targets.\n + If the value is ``preserve`` the Application Load Balancer preserves the ``X-Forwarded-For`` header in the HTTP request, and sends it to targets without any change.\n + If the value is ``remove``, the Application Load Balancer removes the ``X-Forwarded-For`` header in the HTTP request before it sends it to targets.\n \n + ``routing.http2.enabled`` - Indicates whether HTTP/2 is enabled. The possible values are ``true`` and ``false``. The default is ``true``. Elastic Load Balancing requires that message header names contain only alphanumeric characters and hyphens.\n + ``waf.fail_open.enabled`` - Indicates whether to allow a WAF-enabled load balancer to route requests to targets if it is unable to forward the request to AWS WAF. The possible values are ``true`` and ``false``. The default is ``false``.\n \n The following attributes are supported by only Network Load Balancers:\n + ``dns_record.client_routing_policy`` - Indicates how traffic is distributed among the load balancer Availability Zones. The possible values are ``availability_zone_affinity`` with 100 percent zonal affinity, ``partial_availability_zone_affinity`` with 85 percent zonal affinity, and ``any_availability_zone`` with 0 percent zonal affinity.\n + ``zonal_shift.config.enabled`` - Indicates whether zonal shift is enabled. The possible values are ``true`` and ``false``. The default is ``false``.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" } }, + "description": "Specifies an attribute for an Application Load Balancer, a Network Load Balancer, or a Gateway Load Balancer.", "markdownDescription": "Specifies an attribute for an Application Load Balancer, a Network Load Balancer, or a Gateway Load Balancer.\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, "Tag": { - "description": "Information about a tag.", - "additionalProperties": false, "type": "object", + "additionalProperties": false, "properties": { "Value": { - "description": "The value of the tag.", "type": "string", + "description": "The value of the tag.", "markdownDescription": "The value of the tag.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, "Key": { - "description": "The key of the tag.", "type": "string", + "description": "The key of the tag.", "markdownDescription": "The key of the tag.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" } }, "required": [ "Key" ], + "description": "Information about a tag.", "markdownDescription": "Information about a tag.\n\n---\n\nRequired: No \nUpdate requires: No interruption" } }, - "properties": { - "IpAddressType": { - "description": "Note: Internal load balancers must use the ``ipv4`` IP address type.\n [Application Load Balancers] The IP address type. The possible values are ``ipv4`` (for only IPv4 addresses), ``dualstack`` (for IPv4 and IPv6 addresses), and ``dualstack-without-public-ipv4`` (for IPv6 only public addresses, with private IPv4 and IPv6 addresses).\n Note: Application Load Balancer authentication only supports IPv4 addresses when connecting to an Identity Provider (IdP) or Amazon Cognito endpoint. Without a public IPv4 address the load balancer cannot complete the authentication process, resulting in HTTP 500 errors.\n [Network Load Balancers] The IP address type. The possible values are ``ipv4`` (for only IPv4 addresses) and ``dualstack`` (for IPv4 and IPv6 addresses). You can\u2019t specify ``dualstack`` for a load balancer with a UDP or TCP_UDP listener.\n [Gateway Load Balancers] The IP address type. The possible values are ``ipv4`` (for only IPv4 addresses) and ``dualstack`` (for IPv4 and IPv6 addresses).", - "type": "string", - "markdownDescription": "Note: Internal load balancers must use the ``ipv4`` IP address type.\n [Application Load Balancers] The IP address type. The possible values are ``ipv4`` (for only IPv4 addresses), ``dualstack`` (for IPv4 and IPv6 addresses), and ``dualstack-without-public-ipv4`` (for IPv6 only public addresses, with private IPv4 and IPv6 addresses).\n Note: Application Load Balancer authentication only supports IPv4 addresses when connecting to an Identity Provider (IdP) or Amazon Cognito endpoint. Without a public IPv4 address the load balancer cannot complete the authentication process, resulting in HTTP 500 errors.\n [Network Load Balancers] The IP address type. The possible values are ``ipv4`` (for only IPv4 addresses) and ``dualstack`` (for IPv4 and IPv6 addresses). You can\u2019t specify ``dualstack`` for a load balancer with a UDP or TCP_UDP listener.\n [Gateway Load Balancers] The IP address type. The possible values are ``ipv4`` (for only IPv4 addresses) and ``dualstack`` (for IPv4 and IPv6 addresses).\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" - }, - "SecurityGroups": { - "uniqueItems": true, - "description": "[Application Load Balancers and Network Load Balancers] The IDs of the security groups for the load balancer.", - "insertionOrder": false, - "type": "array", - "items": { - "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" - }, - "markdownDescription": "[Application Load Balancers and Network Load Balancers] The IDs of the security groups for the load balancer.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" - }, - "LoadBalancerAttributes": { - "arrayType": "AttributeList", - "uniqueItems": true, - "description": "The load balancer attributes.", - "insertionOrder": false, - "type": "array", - "items": { - "$ref": "#/definitions/LoadBalancerAttribute" - }, - "markdownDescription": "The load balancer attributes.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" - }, - "Scheme": { - "description": "The nodes of an Internet-facing load balancer have public IP addresses. The DNS name of an Internet-facing load balancer is publicly resolvable to the public IP addresses of the nodes. Therefore, Internet-facing load balancers can route requests from clients over the internet.\n The nodes of an internal load balancer have only private IP addresses. The DNS name of an internal load balancer is publicly resolvable to the private IP addresses of the nodes. Therefore, internal load balancers can route requests only from clients with access to the VPC for the load balancer.\n The default is an Internet-facing load balancer.\n You cannot specify a scheme for a Gateway Load Balancer.", - "type": "string", - "markdownDescription": "The nodes of an Internet-facing load balancer have public IP addresses. The DNS name of an Internet-facing load balancer is publicly resolvable to the public IP addresses of the nodes. Therefore, Internet-facing load balancers can route requests from clients over the internet.\n The nodes of an internal load balancer have only private IP addresses. The DNS name of an internal load balancer is publicly resolvable to the private IP addresses of the nodes. Therefore, internal load balancers can route requests only from clients with access to the VPC for the load balancer.\n The default is an Internet-facing load balancer.\n You cannot specify a scheme for a Gateway Load Balancer.\n\n---\n\nRequired: No \nType: String \nUpdate requires: Replacement" - }, - "Name": { - "description": "The name of the load balancer. This name must be unique per region per account, can have a maximum of 32 characters, must contain only alphanumeric characters or hyphens, must not begin or end with a hyphen, and must not begin with \"internal-\".\n If you don't specify a name, AWS CloudFormation generates a unique physical ID for the load balancer. If you specify a name, you cannot perform updates that require replacement of this resource, but you can perform other updates. To replace the resource, specify a new name.", - "type": "string", - "markdownDescription": "The name of the load balancer. This name must be unique per region per account, can have a maximum of 32 characters, must contain only alphanumeric characters or hyphens, must not begin or end with a hyphen, and must not begin with \"internal-\".\n If you don't specify a name, AWS CloudFormation generates a unique physical ID for the load balancer. If you specify a name, you cannot perform updates that require replacement of this resource, but you can perform other updates. To replace the resource, specify a new name.\n\n---\n\nRequired: No \nType: String \nUpdate requires: Replacement" - }, - "Subnets": { - "uniqueItems": true, - "description": "The IDs of the subnets. You can specify only one subnet per Availability Zone. You must specify either subnets or subnet mappings, but not both. To specify an Elastic IP address, specify subnet mappings instead of subnets.\n [Application Load Balancers] You must specify subnets from at least two Availability Zones.\n [Application Load Balancers on Outposts] You must specify one Outpost subnet.\n [Application Load Balancers on Local Zones] You can specify subnets from one or more Local Zones.\n [Network Load Balancers] You can specify subnets from one or more Availability Zones.\n [Gateway Load Balancers] You can specify subnets from one or more Availability Zones.", - "insertionOrder": false, - "type": "array", - "items": { - "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" - }, - "markdownDescription": "The IDs of the subnets. You can specify only one subnet per Availability Zone. You must specify either subnets or subnet mappings, but not both. To specify an Elastic IP address, specify subnet mappings instead of subnets.\n [Application Load Balancers] You must specify subnets from at least two Availability Zones.\n [Application Load Balancers on Outposts] You must specify one Outpost subnet.\n [Application Load Balancers on Local Zones] You can specify subnets from one or more Local Zones.\n [Network Load Balancers] You can specify subnets from one or more Availability Zones.\n [Gateway Load Balancers] You can specify subnets from one or more Availability Zones.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + "createOnlyProperties": [ + "/properties/Name", + "/properties/Type", + "/properties/Scheme" + ], + "primaryIdentifier": [ + "/properties/LoadBalancerArn" + ], + "readOnlyProperties": [ + "/properties/LoadBalancerName", + "/properties/LoadBalancerFullName", + "/properties/CanonicalHostedZoneID", + "/properties/LoadBalancerArn", + "/properties/DNSName" + ], + "tagging": { + "taggable": true, + "tagOnCreate": true, + "tagUpdatable": true, + "cloudFormationSystemTags": false, + "tagProperty": "/properties/Tags", + "permissions": [ + "elasticloadbalancing:AddTags", + "elasticloadbalancing:DescribeTags", + "elasticloadbalancing:RemoveTags" + ] + }, + "handlers": { + "create": { + "permissions": [ + "elasticloadbalancing:CreateLoadBalancer", + "elasticloadbalancing:DescribeLoadBalancers", + "elasticloadbalancing:ModifyLoadBalancerAttributes", + "elasticloadbalancing:AddTags" + ], + "timeoutInMinutes": 30 }, - "Type": { - "description": "The type of load balancer. The default is ``application``.", - "type": "string", - "markdownDescription": "The type of load balancer. The default is ``application``.\n\n---\n\nRequired: No \nType: String \nUpdate requires: Replacement" + "delete": { + "permissions": [ + "elasticloadbalancing:DescribeLoadBalancers", + "elasticloadbalancing:DeleteLoadBalancer" + ] }, - "EnforceSecurityGroupInboundRulesOnPrivateLinkTraffic": { - "description": "Indicates whether to evaluate inbound security group rules for traffic sent to a Network Load Balancer through privatelink.", - "type": "string", - "markdownDescription": "Indicates whether to evaluate inbound security group rules for traffic sent to a Network Load Balancer through privatelink.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "list": { + "permissions": [ + "elasticloadbalancing:DescribeLoadBalancers" + ] }, - "Tags": { - "uniqueItems": false, - "description": "The tags to assign to the load balancer.", - "insertionOrder": false, - "type": "array", - "items": { - "$ref": "#/definitions/Tag" - }, - "markdownDescription": "The tags to assign to the load balancer.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + "read": { + "permissions": [ + "elasticloadbalancing:DescribeLoadBalancers", + "elasticloadbalancing:DescribeLoadBalancerAttributes", + "elasticloadbalancing:DescribeTags" + ] }, - "SubnetMappings": { - "uniqueItems": true, - "description": "The IDs of the subnets. You can specify only one subnet per Availability Zone. You must specify either subnets or subnet mappings, but not both.\n [Application Load Balancers] You must specify subnets from at least two Availability Zones. You cannot specify Elastic IP addresses for your subnets.\n [Application Load Balancers on Outposts] You must specify one Outpost subnet.\n [Application Load Balancers on Local Zones] You can specify subnets from one or more Local Zones.\n [Network Load Balancers] You can specify subnets from one or more Availability Zones. You can specify one Elastic IP address per subnet if you need static IP addresses for your internet-facing load balancer. For internal load balancers, you can specify one private IP address per subnet from the IPv4 range of the subnet. For internet-facing load balancer, you can specify one IPv6 address per subnet.\n [Gateway Load Balancers] You can specify subnets from one or more Availability Zones. You cannot specify Elastic IP addresses for your subnets.", - "insertionOrder": false, - "type": "array", - "items": { - "$ref": "#/definitions/SubnetMapping" - }, - "markdownDescription": "The IDs of the subnets. You can specify only one subnet per Availability Zone. You must specify either subnets or subnet mappings, but not both.\n [Application Load Balancers] You must specify subnets from at least two Availability Zones. You cannot specify Elastic IP addresses for your subnets.\n [Application Load Balancers on Outposts] You must specify one Outpost subnet.\n [Application Load Balancers on Local Zones] You can specify subnets from one or more Local Zones.\n [Network Load Balancers] You can specify subnets from one or more Availability Zones. You can specify one Elastic IP address per subnet if you need static IP addresses for your internet-facing load balancer. For internal load balancers, you can specify one private IP address per subnet from the IPv4 range of the subnet. For internet-facing load balancer, you can specify one IPv6 address per subnet.\n [Gateway Load Balancers] You can specify subnets from one or more Availability Zones. You cannot specify Elastic IP addresses for your subnets.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + "update": { + "permissions": [ + "elasticloadbalancing:ModifyLoadBalancerAttributes", + "elasticloadbalancing:SetSubnets", + "elasticloadbalancing:SetIpAddressType", + "elasticloadbalancing:SetSecurityGroups", + "elasticloadbalancing:AddTags", + "elasticloadbalancing:RemoveTags" + ] } }, "attributes": { "DNSName": { - "description": "", "type": "string", + "description": "", "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, "LoadBalancerName": { + "type": "string", "description": "", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "LoadBalancerFullName": { "type": "string", + "description": "", "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, "CanonicalHostedZoneID": { - "description": "", "type": "string", + "description": "", "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, "LoadBalancerArn": { - "description": "", "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" - }, - "LoadBalancerFullName": { "description": "", - "type": "string", "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" } } diff --git a/server/schema/resources/aws-emr-cluster.json b/server/schema/resources/aws-emr-cluster.json index 2d513456..49faf665 100644 --- a/server/schema/resources/aws-emr-cluster.json +++ b/server/schema/resources/aws-emr-cluster.json @@ -196,6 +196,24 @@ }, "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, + "OnDemandResizingSpecification": { + "type": "object", + "additionalProperties": false, + "properties": { + "CapacityReservationOptions": { + "$ref": "#/definitions/OnDemandCapacityReservationOptions" + }, + "AllocationStrategy": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "TimeoutDurationMinutes": { + "type": "integer", + "markdownDescription": "\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" + } + }, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, "StepConfig": { "type": "object", "additionalProperties": false, @@ -230,6 +248,12 @@ "type": "integer", "markdownDescription": "\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" }, + "LaunchSpecifications": { + "$ref": "#/definitions/InstanceFleetProvisioningSpecifications" + }, + "ResizeSpecifications": { + "$ref": "#/definitions/InstanceFleetResizingSpecifications" + }, "InstanceTypeConfigs": { "type": "array", "uniqueItems": true, @@ -238,9 +262,6 @@ }, "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" }, - "LaunchSpecifications": { - "$ref": "#/definitions/InstanceFleetProvisioningSpecifications" - }, "Name": { "type": "string", "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" @@ -263,6 +284,10 @@ "EbsConfiguration": { "$ref": "#/definitions/EbsConfiguration" }, + "Priority": { + "type": "number", + "markdownDescription": "\n\n---\n\nRequired: No \nType: Number \nUpdate requires: No interruption" + }, "BidPriceAsPercentageOfOnDemandPrice": { "type": "number", "markdownDescription": "\n\n---\n\nRequired: No \nType: Number \nUpdate requires: No interruption" @@ -339,6 +364,19 @@ ], "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, + "InstanceFleetResizingSpecifications": { + "type": "object", + "additionalProperties": false, + "properties": { + "OnDemandResizeSpecification": { + "$ref": "#/definitions/OnDemandResizingSpecification" + }, + "SpotResizeSpecification": { + "$ref": "#/definitions/SpotResizingSpecification" + } + }, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, "InstanceFleetProvisioningSpecifications": { "type": "object", "additionalProperties": false, @@ -396,6 +434,9 @@ "type": "object", "additionalProperties": false, "properties": { + "CapacityReservationOptions": { + "$ref": "#/definitions/OnDemandCapacityReservationOptions" + }, "AllocationStrategy": { "type": "string", "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" @@ -865,6 +906,21 @@ ], "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, + "SpotResizingSpecification": { + "type": "object", + "additionalProperties": false, + "properties": { + "AllocationStrategy": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "TimeoutDurationMinutes": { + "type": "integer", + "markdownDescription": "\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" + } + }, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, "AutoScalingPolicy": { "type": "object", "additionalProperties": false, @@ -887,6 +943,25 @@ ], "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, + "OnDemandCapacityReservationOptions": { + "type": "object", + "additionalProperties": false, + "properties": { + "UsageStrategy": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "CapacityReservationResourceGroupArn": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "CapacityReservationPreference": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + } + }, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, "PlacementType": { "type": "object", "additionalProperties": false, diff --git a/server/schema/resources/aws-emr-instancefleetconfig.json b/server/schema/resources/aws-emr-instancefleetconfig.json index 49ac435b..f09e9058 100644 --- a/server/schema/resources/aws-emr-instancefleetconfig.json +++ b/server/schema/resources/aws-emr-instancefleetconfig.json @@ -22,13 +22,16 @@ "LaunchSpecifications": { "$ref": "#/definitions/InstanceFleetProvisioningSpecifications" }, + "ResizeSpecifications": { + "$ref": "#/definitions/InstanceFleetResizingSpecifications" + }, "InstanceTypeConfigs": { "type": "array", "uniqueItems": true, "items": { "$ref": "#/definitions/InstanceTypeConfig" }, - "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: Replacement" + "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" }, "Name": { "type": "string", @@ -111,6 +114,38 @@ }, "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, + "OnDemandCapacityReservationOptions": { + "type": "object", + "additionalProperties": false, + "properties": { + "UsageStrategy": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "CapacityReservationResourceGroupArn": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "CapacityReservationPreference": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + } + }, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "InstanceFleetResizingSpecifications": { + "type": "object", + "additionalProperties": false, + "properties": { + "OnDemandResizeSpecification": { + "$ref": "#/definitions/OnDemandResizingSpecification" + }, + "SpotResizeSpecification": { + "$ref": "#/definitions/SpotResizingSpecification" + } + }, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, "InstanceFleetProvisioningSpecifications": { "type": "object", "additionalProperties": false, @@ -124,10 +159,31 @@ }, "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, + "OnDemandResizingSpecification": { + "type": "object", + "additionalProperties": false, + "properties": { + "CapacityReservationOptions": { + "$ref": "#/definitions/OnDemandCapacityReservationOptions" + }, + "AllocationStrategy": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "TimeoutDurationMinutes": { + "type": "integer", + "markdownDescription": "\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" + } + }, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, "OnDemandProvisioningSpecification": { "type": "object", "additionalProperties": false, "properties": { + "CapacityReservationOptions": { + "$ref": "#/definitions/OnDemandCapacityReservationOptions" + }, "AllocationStrategy": { "type": "string", "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" @@ -170,6 +226,10 @@ "EbsConfiguration": { "$ref": "#/definitions/EbsConfiguration" }, + "Priority": { + "type": "number", + "markdownDescription": "\n\n---\n\nRequired: No \nType: Number \nUpdate requires: No interruption" + }, "BidPriceAsPercentageOfOnDemandPrice": { "type": "number", "markdownDescription": "\n\n---\n\nRequired: No \nType: Number \nUpdate requires: No interruption" @@ -196,6 +256,21 @@ ], "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, + "SpotResizingSpecification": { + "type": "object", + "additionalProperties": false, + "properties": { + "AllocationStrategy": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "TimeoutDurationMinutes": { + "type": "integer", + "markdownDescription": "\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" + } + }, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, "SpotProvisioningSpecification": { "type": "object", "additionalProperties": false, @@ -230,7 +305,6 @@ ], "createOnlyProperties": [ "/properties/Name", - "/properties/InstanceTypeConfigs", "/properties/LaunchSpecifications", "/properties/ClusterId", "/properties/InstanceFleetType" diff --git a/server/schema/resources/aws-emr-walworkspace.json b/server/schema/resources/aws-emr-walworkspace.json index 96dcad7d..42dd1312 100644 --- a/server/schema/resources/aws-emr-walworkspace.json +++ b/server/schema/resources/aws-emr-walworkspace.json @@ -55,7 +55,12 @@ "tagOnCreate": true, "tagUpdatable": true, "cloudFormationSystemTags": false, - "tagProperty": "/properties/Tags" + "tagProperty": "/properties/Tags", + "permissions": [ + "emrwal:TagResource", + "emrwal:UntagResource", + "emrwal:ListTagsForResource" + ] }, "primaryIdentifier": [ "/properties/WALWorkspaceName" diff --git a/server/schema/resources/aws-emrcontainers-virtualcluster.json b/server/schema/resources/aws-emrcontainers-virtualcluster.json index af7a8e82..2b02b436 100644 --- a/server/schema/resources/aws-emrcontainers-virtualcluster.json +++ b/server/schema/resources/aws-emrcontainers-virtualcluster.json @@ -122,6 +122,17 @@ "primaryIdentifier": [ "/properties/Id" ], + "tagging": { + "taggable": true, + "tagOnCreate": true, + "tagUpdatable": true, + "cloudFormationSystemTags": true, + "tagProperty": "/properties/Tags", + "permissions": [ + "emr-containers:TagResource", + "emr-containers:UntagResource" + ] + }, "handlers": { "create": { "permissions": [ @@ -137,7 +148,8 @@ }, "delete": { "permissions": [ - "emr-containers:DeleteVirtualCluster" + "emr-containers:DeleteVirtualCluster", + "emr-containers:DescribeVirtualCluster" ] }, "list": { diff --git a/server/schema/resources/aws-events-apidestination.json b/server/schema/resources/aws-events-apidestination.json index 0c52ff5a..384c80b6 100644 --- a/server/schema/resources/aws-events-apidestination.json +++ b/server/schema/resources/aws-events-apidestination.json @@ -7,7 +7,7 @@ "type": "string", "minLength": 1, "maxLength": 64, - "markdownDescription": "Name of the apiDestination.\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 64 \nUpdate requires: Replacement" + "markdownDescription": "Name of the apiDestination.\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 64 \nPattern: [\\.\\-_A-Za-z0-9]+ \nUpdate requires: Replacement" }, "Description": { "type": "string", @@ -17,7 +17,7 @@ "ConnectionArn": { "description": "The arn of the connection.", "type": "string", - "markdownDescription": "The arn of the connection.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" + "markdownDescription": "The arn of the connection.\n\n---\n\nRequired: Yes \nType: String \nPattern: ^arn:aws([a-z]|\\-)*:events:([a-z]|\\d|\\-)*:([0-9]{12})?:connection/[\\.\\-_A-Za-z0-9]+/[\\-A-Za-z0-9]+$ \nUpdate requires: No interruption" }, "InvocationRateLimitPerSecond": { "type": "integer", @@ -27,7 +27,7 @@ "InvocationEndpoint": { "description": "Url endpoint to invoke.", "type": "string", - "markdownDescription": "Url endpoint to invoke.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" + "markdownDescription": "Url endpoint to invoke.\n\n---\n\nRequired: Yes \nType: String \nPattern: ^((%[0-9A-Fa-f]{2}|[-()_.!~*';/?:@\\x26=+$,A-Za-z0-9])+)([).!';/?:,])?$ \nUpdate requires: No interruption" }, "HttpMethod": { "type": "string", @@ -59,7 +59,10 @@ "/properties/Name" ], "tagging": { - "taggable": false + "taggable": false, + "tagOnCreate": false, + "tagUpdatable": false, + "cloudFormationSystemTags": false }, "handlers": { "create": { @@ -95,7 +98,7 @@ "Arn": { "description": "The arn of the api destination.", "type": "string", - "markdownDescription": "The arn of the api destination.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "markdownDescription": "The arn of the api destination.\n\n---\n\nRequired: No \nType: String \nPattern: ^arn:aws([a-z]|\\-)*:events:([a-z]|\\d|\\-)*:([0-9]{12})?:api-destination/[\\.\\-_A-Za-z0-9]+/[\\-A-Za-z0-9]+$ \nUpdate requires: No interruption" } } } \ No newline at end of file diff --git a/server/schema/resources/aws-events-archive.json b/server/schema/resources/aws-events-archive.json index 9c4e532c..4fac0244 100644 --- a/server/schema/resources/aws-events-archive.json +++ b/server/schema/resources/aws-events-archive.json @@ -7,7 +7,7 @@ "type": "string", "minLength": 1, "maxLength": 48, - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 48 \nUpdate requires: Replacement" + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 48 \nPattern: [\\.\\-_A-Za-z0-9]+ \nUpdate requires: Replacement" }, "SourceArn": { "type": "string", @@ -39,6 +39,12 @@ "primaryIdentifier": [ "/properties/ArchiveName" ], + "tagging": { + "taggable": false, + "tagOnCreate": false, + "tagUpdatable": false, + "cloudFormationSystemTags": false + }, "handlers": { "create": { "permissions": [ @@ -72,7 +78,7 @@ "attributes": { "Arn": { "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nPattern: ^arn:aws([a-z]|\\-)*:events:([a-z]|\\d|\\-)*:([0-9]{12})?:.+\\/.+$ \nUpdate requires: No interruption" } } } \ No newline at end of file diff --git a/server/schema/resources/aws-events-connection.json b/server/schema/resources/aws-events-connection.json index dca76398..e7490b93 100644 --- a/server/schema/resources/aws-events-connection.json +++ b/server/schema/resources/aws-events-connection.json @@ -1,25 +1,73 @@ { + "tagging": { + "taggable": false, + "tagOnCreate": false, + "tagUpdatable": false, + "cloudFormationSystemTags": false + }, + "handlers": { + "read": { + "permissions": [ + "events:DescribeConnection" + ] + }, + "create": { + "permissions": [ + "events:CreateConnection", + "events:DescribeConnection", + "secretsmanager:CreateSecret", + "secretsmanager:GetSecretValue", + "secretsmanager:PutSecretValue", + "iam:CreateServiceLinkedRole" + ] + }, + "update": { + "permissions": [ + "events:UpdateConnection", + "events:DescribeConnection", + "secretsmanager:CreateSecret", + "secretsmanager:UpdateSecret", + "secretsmanager:GetSecretValue", + "secretsmanager:PutSecretValue" + ] + }, + "list": { + "permissions": [ + "events:ListConnections" + ] + }, + "delete": { + "permissions": [ + "events:DeleteConnection", + "events:DescribeConnection" + ] + } + }, "typeName": "AWS::Events::Connection", + "readOnlyProperties": [ + "/properties/Arn", + "/properties/SecretArn", + "/properties/AuthParameters/ConnectivityParameters/ResourceParameters/ResourceAssociationIdentifier" + ], "description": "Resource Type definition for AWS::Events::Connection.", + "writeOnlyProperties": [ + "/properties/AuthParameters/BasicAuthParameters/Password", + "/properties/AuthParameters/ApiKeyAuthParameters/ApiKeyValue", + "/properties/AuthParameters/OAuthParameters/ClientParameters/ClientSecret", + "/properties/AuthParameters/OAuthParameters/OAuthHttpParameters/HeaderParameters", + "/properties/AuthParameters/OAuthParameters/OAuthHttpParameters/QueryStringParameters", + "/properties/AuthParameters/OAuthParameters/OAuthHttpParameters/BodyParameters", + "/properties/AuthParameters/InvocationHttpParameters" + ], + "createOnlyProperties": [ + "/properties/Name" + ], + "additionalProperties": false, + "primaryIdentifier": [ + "/properties/Name" + ], "definitions": { "AuthParameters": { - "type": "object", - "minProperties": 1, - "maxProperties": 2, - "properties": { - "ApiKeyAuthParameters": { - "$ref": "#/definitions/ApiKeyAuthParameters" - }, - "BasicAuthParameters": { - "$ref": "#/definitions/BasicAuthParameters" - }, - "OAuthParameters": { - "$ref": "#/definitions/OAuthParameters" - }, - "InvocationHttpParameters": { - "$ref": "#/definitions/ConnectionHttpParameters" - } - }, "oneOf": [ { "required": [ @@ -37,39 +85,98 @@ ] } ], + "maxProperties": 2, "additionalProperties": false, + "type": "object", + "properties": { + "InvocationHttpParameters": { + "$ref": "#/definitions/ConnectionHttpParameters" + }, + "BasicAuthParameters": { + "$ref": "#/definitions/BasicAuthParameters" + }, + "ApiKeyAuthParameters": { + "$ref": "#/definitions/ApiKeyAuthParameters" + }, + "OAuthParameters": { + "$ref": "#/definitions/OAuthParameters" + } + }, + "minProperties": 1, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "ClientParameters": { + "additionalProperties": false, + "type": "object", + "properties": { + "ClientSecret": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nPattern: ^[ \\t]*[^\\x00-\\x1F\\x7F]+([ \\t]+[^\\x00-\\x1F\\x7F]+)*[ \\t]*$ \nUpdate requires: No interruption" + }, + "ClientID": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nPattern: ^[ \\t]*[^\\x00-\\x1F\\x7F]+([ \\t]+[^\\x00-\\x1F\\x7F]+)*[ \\t]*$ \nUpdate requires: No interruption" + } + }, + "required": [ + "ClientID", + "ClientSecret" + ], "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, "BasicAuthParameters": { + "additionalProperties": false, "type": "object", "properties": { "Username": { "type": "string", - "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nPattern: ^[ \\t]*[^\\x00-\\x1F\\x7F]+([ \\t]+[^\\x00-\\x1F\\x7F]+)*[ \\t]*$ \nUpdate requires: No interruption" }, "Password": { "type": "string", - "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nPattern: ^[ \\t]*[^\\x00-\\x1F\\x7F]+([ \\t]+[^\\x00-\\x1F\\x7F]+)*[ \\t]*$ \nUpdate requires: No interruption" } }, "required": [ "Username", "Password" ], + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "ApiKeyAuthParameters": { "additionalProperties": false, + "type": "object", + "properties": { + "ApiKeyValue": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nPattern: ^[ \\t]*[^\\x00-\\x1F\\x7F]+([ \\t]+[^\\x00-\\x1F\\x7F]+)*[ \\t]*$ \nUpdate requires: No interruption" + }, + "ApiKeyName": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nPattern: ^[ \\t]*[^\\x00-\\x1F\\x7F]+([ \\t]+[^\\x00-\\x1F\\x7F]+)*[ \\t]*$ \nUpdate requires: No interruption" + } + }, + "required": [ + "ApiKeyName", + "ApiKeyValue" + ], "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, "OAuthParameters": { + "additionalProperties": false, "type": "object", "properties": { "ClientParameters": { "$ref": "#/definitions/ClientParameters" }, + "OAuthHttpParameters": { + "$ref": "#/definitions/ConnectionHttpParameters" + }, "AuthorizationEndpoint": { - "type": "string", "minLength": 1, + "type": "string", "maxLength": 2048, - "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 2048 \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 2048 \nPattern: ^((%[0-9A-Fa-f]{2}|[-()_.!~*';/?:@\\x26=+$,A-Za-z0-9])+)([).!';/?:,])?$ \nUpdate requires: No interruption" }, "HttpMethod": { "type": "string", @@ -79,9 +186,6 @@ "PUT" ], "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nAllowed Values: GET | POST | PUT \nUpdate requires: No interruption" - }, - "OAuthHttpParameters": { - "$ref": "#/definitions/ConnectionHttpParameters" } }, "required": [ @@ -89,48 +193,34 @@ "AuthorizationEndpoint", "HttpMethod" ], - "additionalProperties": false, "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, - "ApiKeyAuthParameters": { - "type": "object", - "properties": { - "ApiKeyName": { - "type": "string", - "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" - }, - "ApiKeyValue": { - "type": "string", - "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" - } - }, - "required": [ - "ApiKeyName", - "ApiKeyValue" - ], + "Parameter": { "additionalProperties": false, - "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" - }, - "ClientParameters": { "type": "object", "properties": { - "ClientID": { + "Value": { "type": "string", "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" }, - "ClientSecret": { + "IsValueSecret": { + "default": true, + "type": "boolean", + "markdownDescription": "\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" + }, + "Key": { "type": "string", "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" } }, "required": [ - "ClientID", - "ClientSecret" + "Key", + "Value" ], - "additionalProperties": false, "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, "ConnectionHttpParameters": { + "additionalProperties": false, "type": "object", "properties": { "HeaderParameters": { @@ -155,41 +245,12 @@ "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" } }, - "additionalProperties": false, - "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" - }, - "Parameter": { - "type": "object", - "properties": { - "Key": { - "type": "string", - "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" - }, - "Value": { - "type": "string", - "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" - }, - "IsValueSecret": { - "type": "boolean", - "default": true, - "markdownDescription": "\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" - } - }, - "required": [ - "Key", - "Value" - ], - "additionalProperties": false, "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" } }, "properties": { - "Name": { - "description": "Name of the connection.", - "type": "string", - "minLength": 1, - "maxLength": 64, - "markdownDescription": "Name of the connection.\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 64 \nUpdate requires: Replacement" + "AuthParameters": { + "$ref": "#/definitions/AuthParameters" }, "Description": { "description": "Description of the connection.", @@ -206,75 +267,24 @@ ], "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: API_KEY | BASIC | OAUTH_CLIENT_CREDENTIALS \nUpdate requires: No interruption" }, - "AuthParameters": { - "$ref": "#/definitions/AuthParameters" - } - }, - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/Name" - ], - "readOnlyProperties": [ - "/properties/Arn", - "/properties/SecretArn" - ], - "writeOnlyProperties": [ - "/properties/AuthParameters" - ], - "primaryIdentifier": [ - "/properties/Name" - ], - "tagging": { - "taggable": false - }, - "handlers": { - "create": { - "permissions": [ - "events:CreateConnection", - "events:DescribeConnection", - "secretsmanager:CreateSecret", - "secretsmanager:GetSecretValue", - "secretsmanager:PutSecretValue", - "iam:CreateServiceLinkedRole" - ] - }, - "read": { - "permissions": [ - "events:DescribeConnection" - ] - }, - "update": { - "permissions": [ - "events:UpdateConnection", - "events:DescribeConnection", - "secretsmanager:CreateSecret", - "secretsmanager:UpdateSecret", - "secretsmanager:GetSecretValue", - "secretsmanager:PutSecretValue" - ] - }, - "delete": { - "permissions": [ - "events:DeleteConnection", - "events:DescribeConnection" - ] - }, - "list": { - "permissions": [ - "events:ListConnections" - ] + "Name": { + "minLength": 1, + "description": "Name of the connection.", + "type": "string", + "maxLength": 64, + "markdownDescription": "Name of the connection.\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 64 \nPattern: [\\.\\-_A-Za-z0-9]+ \nUpdate requires: Replacement" } }, "attributes": { - "Arn": { - "description": "The arn of the connection resource.", - "type": "string", - "markdownDescription": "The arn of the connection resource.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" - }, "SecretArn": { "description": "The arn of the secrets manager secret created in the customer account.", "type": "string", - "markdownDescription": "The arn of the secrets manager secret created in the customer account.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "markdownDescription": "The arn of the secrets manager secret created in the customer account.\n\n---\n\nRequired: No \nType: String \nPattern: ^arn:aws([a-z]|\\-)*:secretsmanager:([a-z]|\\d|\\-)*:([0-9]{12})?:secret:([a-z]|\\d|\\-)*(!)*[\\/_+=\\.@\\-A-Za-z0-9]+$ \nUpdate requires: No interruption" + }, + "Arn": { + "description": "The arn of the connection resource.", + "type": "string", + "markdownDescription": "The arn of the connection resource.\n\n---\n\nRequired: No \nType: String \nPattern: ^arn:aws([a-z]|\\-)*:events:([a-z]|\\d|\\-)*:([0-9]{12})?:connection\\/[\\.\\-_A-Za-z0-9]+\\/[\\-A-Za-z0-9]+$ \nUpdate requires: No interruption" } } } \ No newline at end of file diff --git a/server/schema/resources/aws-fis-experimenttemplate.json b/server/schema/resources/aws-fis-experimenttemplate.json index 5b973a73..66f2b59c 100644 --- a/server/schema/resources/aws-fis-experimenttemplate.json +++ b/server/schema/resources/aws-fis-experimenttemplate.json @@ -40,6 +40,22 @@ ], "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, + "CloudWatchDashboard": { + "type": "object", + "additionalProperties": false, + "properties": { + "DashboardIdentifier": { + "type": "string", + "minLength": 1, + "maxLength": 512, + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 512 \nUpdate requires: No interruption" + } + }, + "required": [ + "DashboardIdentifier" + ], + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, "ExperimentTemplateStopConditionList": { "type": "array", "description": "One or more stop conditions.", @@ -343,6 +359,71 @@ }, "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: Replacement" }, + "ExperimentTemplateExperimentReportConfiguration": { + "type": "object", + "additionalProperties": false, + "required": [ + "Outputs", + "DataSources" + ], + "properties": { + "Outputs": { + "type": "object", + "additionalProperties": false, + "properties": { + "ExperimentReportS3Configuration": { + "type": "object", + "additionalProperties": false, + "properties": { + "BucketName": { + "type": "string", + "minLength": 3, + "maxLength": 63, + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 3 \nMaximum Length: 63 \nUpdate requires: No interruption" + }, + "Prefix": { + "type": "string", + "minLength": 1, + "maxLength": 1024, + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 1024 \nUpdate requires: No interruption" + } + }, + "required": [ + "BucketName" + ], + "markdownDescription": "\n\n---\n\nRequired: Yes \nUpdate requires: No interruption" + } + }, + "required": [ + "ExperimentReportS3Configuration" + ], + "markdownDescription": "\n\n---\n\nRequired: Yes \nUpdate requires: No interruption" + }, + "DataSources": { + "type": "object", + "additionalProperties": false, + "properties": { + "CloudWatchDashboards": { + "type": "array", + "items": { + "$ref": "#/definitions/CloudWatchDashboard" + }, + "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + } + }, + "markdownDescription": "\n\n---\n\nRequired: Yes \nUpdate requires: No interruption" + }, + "PreExperimentDuration": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "PostExperimentDuration": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + } + }, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, "RoleArn": { "type": "string", "description": "The Amazon Resource Name (ARN) of an IAM role that grants the AWS FIS service permission to perform service actions on your behalf.", @@ -383,6 +464,9 @@ }, "ExperimentOptions": { "$ref": "#/definitions/ExperimentTemplateExperimentOptions" + }, + "ExperimentReportConfiguration": { + "$ref": "#/definitions/ExperimentTemplateExperimentReportConfiguration" } }, "additionalProperties": false, diff --git a/server/schema/resources/aws-gamelift-alias.json b/server/schema/resources/aws-gamelift-alias.json index 4aee14ae..895dd252 100644 --- a/server/schema/resources/aws-gamelift-alias.json +++ b/server/schema/resources/aws-gamelift-alias.json @@ -14,7 +14,7 @@ "FleetId": { "description": "A unique identifier for a fleet that the alias points to. If you specify SIMPLE for the Type property, you must specify this property.", "type": "string", - "markdownDescription": "A unique identifier for a fleet that the alias points to. If you specify SIMPLE for the Type property, you must specify this property.\n\n---\n\nRequired: Conditional \nType: String \nPattern: ^fleet-\\S+ \nUpdate requires: No interruption" + "markdownDescription": "A unique identifier for a fleet that the alias points to. If you specify SIMPLE for the Type property, you must specify this property.\n\n---\n\nRequired: Conditional \nType: String \nPattern: ^[a-z]*fleet-[a-zA-Z0-9\\-]+ \nUpdate requires: No interruption" }, "Type": { "description": "Simple routing strategy. The alias resolves to one specific fleet. Use this type when routing to active fleets.", diff --git a/server/schema/resources/aws-gamelift-containerfleet.json b/server/schema/resources/aws-gamelift-containerfleet.json new file mode 100644 index 00000000..3a9c2873 --- /dev/null +++ b/server/schema/resources/aws-gamelift-containerfleet.json @@ -0,0 +1,660 @@ +{ + "$schema": "https://schema.cloudformation.us-east-1.amazonaws.com/provider.definition.schema.v1.json", + "typeName": "AWS::GameLift::ContainerFleet", + "description": "The AWS::GameLift::ContainerFleet resource creates an Amazon GameLift (GameLift) container fleet to host game servers.", + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-gamelift.git", + "tagging": { + "taggable": true, + "tagOnCreate": true, + "tagUpdatable": true, + "cloudFormationSystemTags": false, + "tagProperty": "/properties/Tags", + "permissions": [ + "gamelift:ListTagsForResource", + "gamelift:TagResource", + "gamelift:UntagResource" + ] + }, + "definitions": { + "ConnectionPortRange": { + "description": "Defines the range of ports on the instance that allow inbound traffic to connect with containers in a fleet.", + "type": "object", + "properties": { + "FromPort": { + "description": "A starting value for a range of allowed port numbers.", + "type": "integer", + "minimum": 1, + "maximum": 60000, + "markdownDescription": "A starting value for a range of allowed port numbers.\n\n---\n\nRequired: Yes \nType: Integer \nUpdate requires: No interruption" + }, + "ToPort": { + "description": "An ending value for a range of allowed port numbers. Port numbers are end-inclusive. This value must be higher than FromPort.", + "type": "integer", + "minimum": 1, + "maximum": 60000, + "markdownDescription": "An ending value for a range of allowed port numbers. Port numbers are end-inclusive. This value must be higher than FromPort.\n\n---\n\nRequired: Yes \nType: Integer \nUpdate requires: No interruption" + } + }, + "additionalProperties": false, + "required": [ + "FromPort", + "ToPort" + ], + "markdownDescription": "Defines the range of ports on the instance that allow inbound traffic to connect with containers in a fleet.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "IpPermission": { + "description": "A range of IP addresses and port settings that allow inbound traffic to connect to server processes on an Amazon GameLift hosting resource. New game sessions that are started on the fleet are assigned an IP address/port number combination, which must fall into the fleet's allowed ranges. For fleets created with a custom game server, the ranges reflect the server's game session assignments. For Realtime Servers fleets, Amazon GameLift automatically opens two port ranges, one for TCP messaging and one for UDP, for use by the Realtime servers.", + "type": "object", + "properties": { + "FromPort": { + "description": "A starting value for a range of allowed port numbers.", + "type": "integer", + "minimum": 1, + "maximum": 60000, + "markdownDescription": "A starting value for a range of allowed port numbers.\n\n---\n\nRequired: Yes \nType: Integer \nUpdate requires: No interruption" + }, + "IpRange": { + "description": "A range of allowed IP addresses. This value must be expressed in CIDR notation. Example: \"000.000.000.000/[subnet mask]\" or optionally the shortened version \"0.0.0.0/[subnet mask]\".", + "type": "string", + "markdownDescription": "A range of allowed IP addresses. This value must be expressed in CIDR notation. Example: \"000.000.000.000/[subnet mask]\" or optionally the shortened version \"0.0.0.0/[subnet mask]\".\n\n---\n\nRequired: Yes \nType: String \nPattern: (^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])(/([0-9]|[1-2][0-9]|3[0-2]))$) \nUpdate requires: No interruption" + }, + "Protocol": { + "description": "The network communication protocol used by the fleet.", + "type": "string", + "enum": [ + "TCP", + "UDP" + ], + "markdownDescription": "The network communication protocol used by the fleet.\n\n---\n\nRequired: Yes \nType: String \nAllowed Values: TCP | UDP \nUpdate requires: No interruption" + }, + "ToPort": { + "description": "An ending value for a range of allowed port numbers. Port numbers are end-inclusive. This value must be higher than FromPort.", + "type": "integer", + "minimum": 1, + "maximum": 60000, + "markdownDescription": "An ending value for a range of allowed port numbers. Port numbers are end-inclusive. This value must be higher than FromPort.\n\n---\n\nRequired: Yes \nType: Integer \nUpdate requires: No interruption" + } + }, + "additionalProperties": false, + "required": [ + "FromPort", + "IpRange", + "Protocol", + "ToPort" + ], + "markdownDescription": "A range of IP addresses and port settings that allow inbound traffic to connect to server processes on an Amazon GameLift hosting resource. New game sessions that are started on the fleet are assigned an IP address/port number combination, which must fall into the fleet's allowed ranges. For fleets created with a custom game server, the ranges reflect the server's game session assignments. For Realtime Servers fleets, Amazon GameLift automatically opens two port ranges, one for TCP messaging and one for UDP, for use by the Realtime servers.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "GameSessionCreationLimitPolicy": { + "description": "A policy that limits the number of game sessions a player can create on the same fleet. This optional policy gives game owners control over how players can consume available game server resources. A resource creation policy makes the following statement: \"An individual player can create a maximum number of new game sessions within a specified time period\".\n\nThe policy is evaluated when a player tries to create a new game session. For example, assume you have a policy of 10 new game sessions and a time period of 60 minutes. On receiving a CreateGameSession request, Amazon GameLift checks that the player (identified by CreatorId) has created fewer than 10 game sessions in the past 60 minutes.", + "type": "object", + "properties": { + "NewGameSessionsPerCreator": { + "description": "The maximum number of game sessions that an individual can create during the policy period.", + "type": "integer", + "minimum": 0, + "markdownDescription": "The maximum number of game sessions that an individual can create during the policy period.\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" + }, + "PolicyPeriodInMinutes": { + "description": "The time span used in evaluating the resource creation limit policy.", + "type": "integer", + "minimum": 0, + "markdownDescription": "The time span used in evaluating the resource creation limit policy.\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" + } + }, + "additionalProperties": false, + "markdownDescription": "A policy that limits the number of game sessions a player can create on the same fleet. This optional policy gives game owners control over how players can consume available game server resources. A resource creation policy makes the following statement: \"An individual player can create a maximum number of new game sessions within a specified time period\".\n\nThe policy is evaluated when a player tries to create a new game session. For example, assume you have a policy of 10 new game sessions and a time period of 60 minutes. On receiving a CreateGameSession request, Amazon GameLift checks that the player (identified by CreatorId) has created fewer than 10 game sessions in the past 60 minutes.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "LogDestination": { + "description": "Configures the service that provides logs.", + "type": "string", + "enum": [ + "NONE", + "CLOUDWATCH", + "S3" + ], + "markdownDescription": "Configures the service that provides logs.\n\n---\n\nRequired: No \nType: String \nAllowed Values: NONE | CLOUDWATCH | S3 \nUpdate requires: No interruption" + }, + "LogConfiguration": { + "description": "A policy the location and provider of logs from the fleet.", + "type": "object", + "properties": { + "LogDestination": { + "$ref": "#/definitions/LogDestination" + }, + "S3BucketName": { + "description": "The name of the S3 bucket to pull logs from if S3 is the LogDestination", + "type": "string", + "minLength": 1, + "maxLength": 1024, + "markdownDescription": "The name of the S3 bucket to pull logs from if S3 is the LogDestination\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 1024 \nUpdate requires: No interruption" + } + }, + "additionalProperties": false, + "markdownDescription": "A policy the location and provider of logs from the fleet.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "Location": { + "type": "string", + "minLength": 1, + "maxLength": 64, + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 64 \nPattern: ^[A-Za-z0-9\\-]+ \nUpdate requires: No interruption" + }, + "LocationCapacity": { + "description": "Current resource capacity settings in a specified fleet or location. The location value might refer to a fleet's remote location or its home Region.", + "type": "object", + "properties": { + "DesiredEC2Instances": { + "description": "The number of EC2 instances you want to maintain in the specified fleet location. This value must fall between the minimum and maximum size limits.", + "type": "integer", + "minimum": 0, + "markdownDescription": "The number of EC2 instances you want to maintain in the specified fleet location. This value must fall between the minimum and maximum size limits.\n\n---\n\nRequired: Yes \nType: Integer \nUpdate requires: No interruption" + }, + "MinSize": { + "description": "The minimum value allowed for the fleet's instance count for a location.", + "type": "integer", + "minimum": 0, + "markdownDescription": "The minimum value allowed for the fleet's instance count for a location.\n\n---\n\nRequired: Yes \nType: Integer \nUpdate requires: No interruption" + }, + "MaxSize": { + "description": "The maximum value that is allowed for the fleet's instance count for a location.", + "type": "integer", + "minimum": 0, + "markdownDescription": "The maximum value that is allowed for the fleet's instance count for a location.\n\n---\n\nRequired: Yes \nType: Integer \nUpdate requires: No interruption" + } + }, + "additionalProperties": false, + "required": [ + "DesiredEC2Instances", + "MinSize", + "MaxSize" + ], + "markdownDescription": "Current resource capacity settings in a specified fleet or location. The location value might refer to a fleet's remote location or its home Region.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "LocationConfiguration": { + "description": "A remote location where a multi-location fleet can deploy EC2 instances for game hosting.", + "type": "object", + "properties": { + "Location": { + "$ref": "#/definitions/Location" + }, + "LocationCapacity": { + "$ref": "#/definitions/LocationCapacity" + }, + "StoppedActions": { + "$ref": "#/definitions/StoppedActions" + } + }, + "additionalProperties": false, + "required": [ + "Location" + ], + "markdownDescription": "A remote location where a multi-location fleet can deploy EC2 instances for game hosting.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "ScalingPolicy": { + "description": "Rule that controls how a fleet is scaled. Scaling policies are uniquely identified by the combination of name and fleet ID.", + "type": "object", + "properties": { + "ComparisonOperator": { + "description": "Comparison operator to use when measuring a metric against the threshold value.", + "type": "string", + "enum": [ + "GreaterThanOrEqualToThreshold", + "GreaterThanThreshold", + "LessThanThreshold", + "LessThanOrEqualToThreshold" + ], + "markdownDescription": "Comparison operator to use when measuring a metric against the threshold value.\n\n---\n\nRequired: No \nType: String \nAllowed Values: GreaterThanOrEqualToThreshold | GreaterThanThreshold | LessThanThreshold | LessThanOrEqualToThreshold \nUpdate requires: No interruption" + }, + "EvaluationPeriods": { + "description": "Length of time (in minutes) the metric must be at or beyond the threshold before a scaling event is triggered.", + "type": "integer", + "minimum": 1, + "markdownDescription": "Length of time (in minutes) the metric must be at or beyond the threshold before a scaling event is triggered.\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" + }, + "MetricName": { + "description": "Name of the Amazon GameLift-defined metric that is used to trigger a scaling adjustment.", + "type": "string", + "enum": [ + "ActivatingGameSessions", + "ActiveGameSessions", + "ActiveInstances", + "AvailableGameSessions", + "AvailablePlayerSessions", + "CurrentPlayerSessions", + "IdleInstances", + "PercentAvailableGameSessions", + "PercentIdleInstances", + "QueueDepth", + "WaitTime", + "ConcurrentActivatableGameSessions" + ], + "markdownDescription": "Name of the Amazon GameLift-defined metric that is used to trigger a scaling adjustment.\n\n---\n\nRequired: Yes \nType: String \nAllowed Values: ActivatingGameSessions | ActiveGameSessions | ActiveInstances | AvailableGameSessions | AvailablePlayerSessions | CurrentPlayerSessions | IdleInstances | PercentAvailableGameSessions | PercentIdleInstances | QueueDepth | WaitTime | ConcurrentActivatableGameSessions \nUpdate requires: No interruption" + }, + "Name": { + "description": "A descriptive label that is associated with a fleet's scaling policy. Policy names do not need to be unique.", + "type": "string", + "minLength": 1, + "maxLength": 1024, + "markdownDescription": "A descriptive label that is associated with a fleet's scaling policy. Policy names do not need to be unique.\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 1024 \nUpdate requires: No interruption" + }, + "PolicyType": { + "description": "The type of scaling policy to create. For a target-based policy, set the parameter MetricName to 'PercentAvailableGameSessions' and specify a TargetConfiguration. For a rule-based policy set the following parameters: MetricName, ComparisonOperator, Threshold, EvaluationPeriods, ScalingAdjustmentType, and ScalingAdjustment.", + "type": "string", + "enum": [ + "RuleBased", + "TargetBased" + ], + "markdownDescription": "The type of scaling policy to create. For a target-based policy, set the parameter MetricName to 'PercentAvailableGameSessions' and specify a TargetConfiguration. For a rule-based policy set the following parameters: MetricName, ComparisonOperator, Threshold, EvaluationPeriods, ScalingAdjustmentType, and ScalingAdjustment.\n\n---\n\nRequired: No \nType: String \nAllowed Values: RuleBased | TargetBased \nUpdate requires: No interruption" + }, + "ScalingAdjustment": { + "description": "Amount of adjustment to make, based on the scaling adjustment type.", + "type": "integer", + "markdownDescription": "Amount of adjustment to make, based on the scaling adjustment type.\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" + }, + "ScalingAdjustmentType": { + "description": "The type of adjustment to make to a fleet's instance count.", + "type": "string", + "enum": [ + "ChangeInCapacity", + "ExactCapacity", + "PercentChangeInCapacity" + ], + "markdownDescription": "The type of adjustment to make to a fleet's instance count.\n\n---\n\nRequired: No \nType: String \nAllowed Values: ChangeInCapacity | ExactCapacity | PercentChangeInCapacity \nUpdate requires: No interruption" + }, + "TargetConfiguration": { + "description": "An object that contains settings for a target-based scaling policy.", + "$ref": "#/definitions/TargetConfiguration", + "markdownDescription": "An object that contains settings for a target-based scaling policy.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" + }, + "Threshold": { + "description": "Metric value used to trigger a scaling event.", + "type": "number", + "markdownDescription": "Metric value used to trigger a scaling event.\n\n---\n\nRequired: No \nType: Number \nUpdate requires: No interruption" + } + }, + "additionalProperties": false, + "required": [ + "MetricName", + "Name" + ], + "markdownDescription": "Rule that controls how a fleet is scaled. Scaling policies are uniquely identified by the combination of name and fleet ID.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "StoppedActions": { + "description": "A list of fleet actions that have been suspended in the fleet location.", + "type": "array", + "maxItems": 1, + "items": { + "type": "string", + "enum": [ + "AUTO_SCALING" + ], + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: AUTO_SCALING \nUpdate requires: No interruption" + }, + "insertionOrder": false, + "markdownDescription": "A list of fleet actions that have been suspended in the fleet location.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + }, + "TargetConfiguration": { + "description": "Settings for a target-based scaling policy. A target-based policy tracks a particular fleet metric specifies a target value for the metric. As player usage changes, the policy triggers Amazon GameLift to adjust capacity so that the metric returns to the target value. The target configuration specifies settings as needed for the target based policy, including the target value.", + "type": "object", + "properties": { + "TargetValue": { + "description": "Desired value to use with a target-based scaling policy. The value must be relevant for whatever metric the scaling policy is using. For example, in a policy using the metric PercentAvailableGameSessions, the target value should be the preferred size of the fleet's buffer (the percent of capacity that should be idle and ready for new game sessions).", + "type": "number", + "markdownDescription": "Desired value to use with a target-based scaling policy. The value must be relevant for whatever metric the scaling policy is using. For example, in a policy using the metric PercentAvailableGameSessions, the target value should be the preferred size of the fleet's buffer (the percent of capacity that should be idle and ready for new game sessions).\n\n---\n\nRequired: Yes \nType: Number \nUpdate requires: No interruption" + } + }, + "additionalProperties": false, + "required": [ + "TargetValue" + ], + "markdownDescription": "Settings for a target-based scaling policy. A target-based policy tracks a particular fleet metric specifies a target value for the metric. As player usage changes, the policy triggers Amazon GameLift to adjust capacity so that the metric returns to the target value. The target configuration specifies settings as needed for the target based policy, including the target value.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "Tag": { + "description": "A key-value pair to associate with a resource.", + "type": "object", + "properties": { + "Key": { + "type": "string", + "description": "The key name of the tag. You can specify a value that is 1 to 128 Unicode characters in length.", + "minLength": 1, + "maxLength": 128, + "markdownDescription": "The key name of the tag. You can specify a value that is 1 to 128 Unicode characters in length.\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 128 \nUpdate requires: No interruption" + }, + "Value": { + "type": "string", + "description": "The value for the tag. You can specify a value that is 0 to 256 Unicode characters in length.", + "minLength": 0, + "maxLength": 256, + "markdownDescription": "The value for the tag. You can specify a value that is 0 to 256 Unicode characters in length.\n\n---\n\nRequired: Yes \nType: String \nMaximum Length: 256 \nUpdate requires: No interruption" + } + }, + "required": [ + "Key", + "Value" + ], + "additionalProperties": false, + "markdownDescription": "A key-value pair to associate with a resource.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "DeploymentDetails": { + "description": "Provides information about the last deployment ID and its status.", + "type": "object", + "properties": { + "LatestDeploymentId": { + "description": "The ID of the last deployment on the container fleet. This field will be empty if the container fleet does not have a ContainerGroupDefinition attached.", + "type": "string", + "maxLength": 1024, + "markdownDescription": "The ID of the last deployment on the container fleet. This field will be empty if the container fleet does not have a ContainerGroupDefinition attached.\n\n---\n\nRequired: No \nType: String \nMaximum Length: 1024 \nPattern: ^[a-zA-Z0-9\\-]+$|^$ \nUpdate requires: No interruption" + } + }, + "required": [], + "additionalProperties": false, + "markdownDescription": "Provides information about the last deployment ID and its status.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "DeploymentConfiguration": { + "description": "Provides details about how to drain old tasks and replace them with new updated tasks.", + "type": "object", + "properties": { + "ProtectionStrategy": { + "description": "The protection strategy for deployment on the container fleet; defaults to WITH_PROTECTION.", + "type": "string", + "enum": [ + "WITH_PROTECTION", + "IGNORE_PROTECTION" + ], + "markdownDescription": "The protection strategy for deployment on the container fleet; defaults to WITH_PROTECTION.\n\n---\n\nRequired: No \nType: String \nAllowed Values: WITH_PROTECTION | IGNORE_PROTECTION \nUpdate requires: No interruption" + }, + "MinimumHealthyPercentage": { + "description": "The minimum percentage of healthy required; defaults to 75.", + "type": "integer", + "minimum": 30, + "maximum": 75, + "markdownDescription": "The minimum percentage of healthy required; defaults to 75.\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" + }, + "ImpairmentStrategy": { + "description": "The strategy to apply in case of impairment; defaults to MAINTAIN.", + "type": "string", + "enum": [ + "MAINTAIN", + "ROLLBACK" + ], + "markdownDescription": "The strategy to apply in case of impairment; defaults to MAINTAIN.\n\n---\n\nRequired: No \nType: String \nAllowed Values: MAINTAIN | ROLLBACK \nUpdate requires: No interruption" + } + }, + "required": [], + "additionalProperties": false, + "markdownDescription": "Provides details about how to drain old tasks and replace them with new updated tasks.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + } + }, + "properties": { + "FleetRoleArn": { + "description": "A unique identifier for an AWS IAM role that manages access to your AWS services. Create a role or look up a role's ARN from the IAM dashboard in the AWS Management Console.", + "type": "string", + "minLength": 1, + "maxLength": 256, + "markdownDescription": "A unique identifier for an AWS IAM role that manages access to your AWS services. Create a role or look up a role's ARN from the IAM dashboard in the AWS Management Console.\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 256 \nPattern: ^arn:aws(-.*)?:[a-z-]+:(([a-z]+-)+[0-9])?:([0-9]{12})?:[^.]+$ \nUpdate requires: No interruption" + }, + "Description": { + "description": "A human-readable description of a fleet.", + "type": "string", + "minLength": 1, + "maxLength": 1024, + "markdownDescription": "A human-readable description of a fleet.\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 1024 \nUpdate requires: No interruption" + }, + "GameServerContainerGroupDefinitionName": { + "description": "The name of the container group definition that will be created per game server. You must specify GAME_SERVER container group. You have the option to also specify one PER_INSTANCE container group.", + "type": "string", + "minLength": 1, + "maxLength": 512, + "markdownDescription": "The name of the container group definition that will be created per game server. You must specify GAME_SERVER container group. You have the option to also specify one PER_INSTANCE container group.\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 512 \nPattern: ^[a-zA-Z0-9\\-]+$|^arn:.*:containergroupdefinition\\/[a-zA-Z0-9\\-]+(:[0-9]+)?$ \nUpdate requires: No interruption" + }, + "PerInstanceContainerGroupDefinitionName": { + "description": "The name of the container group definition that will be created per instance. This field is optional if you specify GameServerContainerGroupDefinitionName.", + "type": "string", + "minLength": 1, + "maxLength": 512, + "markdownDescription": "The name of the container group definition that will be created per instance. This field is optional if you specify GameServerContainerGroupDefinitionName.\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 512 \nPattern: ^[a-zA-Z0-9\\-]+$|^arn:.*:containergroupdefinition\\/[a-zA-Z0-9\\-]+(:[0-9]+)?$ \nUpdate requires: No interruption" + }, + "InstanceConnectionPortRange": { + "$ref": "#/definitions/ConnectionPortRange" + }, + "InstanceInboundPermissions": { + "description": "A range of IP addresses and port settings that allow inbound traffic to connect to server processes on an Amazon GameLift server.", + "type": "array", + "maxItems": 50, + "items": { + "$ref": "#/definitions/IpPermission" + }, + "insertionOrder": false, + "markdownDescription": "A range of IP addresses and port settings that allow inbound traffic to connect to server processes on an Amazon GameLift server.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + }, + "GameServerContainerGroupsPerInstance": { + "description": "The number of desired game server container groups per instance, a number between 1-5000.", + "type": "integer", + "minimum": 1, + "maximum": 5000, + "markdownDescription": "The number of desired game server container groups per instance, a number between 1-5000.\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" + }, + "DeploymentConfiguration": { + "$ref": "#/definitions/DeploymentConfiguration" + }, + "InstanceType": { + "description": "The name of an EC2 instance type that is supported in Amazon GameLift. A fleet instance type determines the computing resources of each instance in the fleet, including CPU, memory, storage, and networking capacity. Amazon GameLift supports the following EC2 instance types. See Amazon EC2 Instance Types for detailed descriptions.", + "type": "string", + "minLength": 1, + "maxLength": 1024, + "markdownDescription": "The name of an EC2 instance type that is supported in Amazon GameLift. A fleet instance type determines the computing resources of each instance in the fleet, including CPU, memory, storage, and networking capacity. Amazon GameLift supports the following EC2 instance types. See Amazon EC2 Instance Types for detailed descriptions.\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 1024 \nUpdate requires: Replacement" + }, + "BillingType": { + "description": "Indicates whether to use On-Demand instances or Spot instances for this fleet. If empty, the default is ON_DEMAND. Both categories of instances use identical hardware and configurations based on the instance type selected for this fleet.", + "type": "string", + "enum": [ + "ON_DEMAND", + "SPOT" + ], + "markdownDescription": "Indicates whether to use On-Demand instances or Spot instances for this fleet. If empty, the default is ON_DEMAND. Both categories of instances use identical hardware and configurations based on the instance type selected for this fleet.\n\n---\n\nRequired: No \nType: String \nAllowed Values: ON_DEMAND | SPOT \nUpdate requires: Replacement" + }, + "Locations": { + "type": "array", + "maxItems": 100, + "items": { + "$ref": "#/definitions/LocationConfiguration" + }, + "insertionOrder": false, + "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: Replacement" + }, + "ScalingPolicies": { + "description": "A list of rules that control how a fleet is scaled.", + "type": "array", + "maxItems": 50, + "items": { + "$ref": "#/definitions/ScalingPolicy" + }, + "insertionOrder": false, + "markdownDescription": "A list of rules that control how a fleet is scaled.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + }, + "MetricGroups": { + "description": "The name of an Amazon CloudWatch metric group. A metric group aggregates the metrics for all fleets in the group. Specify a string containing the metric group name. You can use an existing name or use a new name to create a new metric group. Currently, this parameter can have only one string.", + "type": "array", + "maxItems": 1, + "items": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "insertionOrder": false, + "markdownDescription": "The name of an Amazon CloudWatch metric group. A metric group aggregates the metrics for all fleets in the group. Specify a string containing the metric group name. You can use an existing name or use a new name to create a new metric group. Currently, this parameter can have only one string.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + }, + "NewGameSessionProtectionPolicy": { + "description": "A game session protection policy to apply to all game sessions hosted on instances in this fleet. When protected, active game sessions cannot be terminated during a scale-down event. If this parameter is not set, instances in this fleet default to no protection. You can change a fleet's protection policy to affect future game sessions on the fleet. You can also set protection for individual game sessions.", + "type": "string", + "enum": [ + "FullProtection", + "NoProtection" + ], + "markdownDescription": "A game session protection policy to apply to all game sessions hosted on instances in this fleet. When protected, active game sessions cannot be terminated during a scale-down event. If this parameter is not set, instances in this fleet default to no protection. You can change a fleet's protection policy to affect future game sessions on the fleet. You can also set protection for individual game sessions.\n\n---\n\nRequired: No \nType: String \nAllowed Values: FullProtection | NoProtection \nUpdate requires: No interruption" + }, + "GameSessionCreationLimitPolicy": { + "description": "A policy that limits the number of game sessions an individual player can create over a span of time for this fleet.", + "$ref": "#/definitions/GameSessionCreationLimitPolicy", + "markdownDescription": "A policy that limits the number of game sessions an individual player can create over a span of time for this fleet.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" + }, + "LogConfiguration": { + "$ref": "#/definitions/LogConfiguration" + }, + "Tags": { + "description": "An array of key-value pairs to apply to this resource.", + "type": "array", + "uniqueItems": true, + "insertionOrder": false, + "maxItems": 200, + "items": { + "$ref": "#/definitions/Tag" + }, + "markdownDescription": "An array of key-value pairs to apply to this resource.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + } + }, + "additionalProperties": false, + "required": [ + "FleetRoleArn" + ], + "createOnlyProperties": [ + "/properties/InstanceType", + "/properties/BillingType", + "/properties/Locations" + ], + "readOnlyProperties": [ + "/properties/CreationTime", + "/properties/Status", + "/properties/FleetId", + "/properties/FleetArn", + "/properties/DeploymentDetails", + "/properties/GameServerContainerGroupDefinitionArn", + "/properties/PerInstanceContainerGroupDefinitionArn", + "/properties/MaximumGameServerContainerGroupsPerInstance" + ], + "writeOnlyProperties": [ + "/properties/ScalingPolicies", + "/properties/Locations", + "/properties/DeploymentConfiguration", + "/properties/GameServerContainerGroupsPerInstance", + "/properties/GameServerContainerGroupDefinitionName", + "/properties/PerInstanceContainerGroupDefinitionName" + ], + "primaryIdentifier": [ + "/properties/FleetId" + ], + "handlers": { + "create": { + "permissions": [ + "gamelift:CreateContainerFleet", + "gamelift:DescribeContainerFleet", + "gamelift:DescribeFleetDeployment", + "gamelift:DescribeFleetLocationAttributes", + "gamelift:DescribeFleetLocationCapacity", + "gamelift:DescribeScalingPolicies", + "gamelift:ListTagsForResource", + "gamelift:PutScalingPolicy", + "gamelift:StopFleetActions", + "gamelift:TagResource", + "gamelift:UpdateFleetCapacity", + "iam:PassRole" + ] + }, + "read": { + "permissions": [ + "gamelift:DescribeContainerFleet", + "gamelift:DescribeFleetLocationAttributes", + "gamelift:DescribeFleetLocationCapacity", + "gamelift:DescribeScalingPolicies", + "gamelift:ListTagsForResource" + ] + }, + "delete": { + "permissions": [ + "gamelift:DeleteContainerFleet", + "gamelift:DescribeContainerFleet" + ] + }, + "list": { + "permissions": [ + "gamelift:ListContainerFleets" + ] + }, + "update": { + "permissions": [ + "gamelift:CreateFleetLocations", + "gamelift:DeleteFleetLocations", + "gamelift:DeleteScalingPolicy", + "gamelift:DescribeContainerFleet", + "gamelift:DescribeFleetDeployment", + "gamelift:DescribeFleetLocationAttributes", + "gamelift:DescribeFleetLocationCapacity", + "gamelift:DescribeScalingPolicies", + "gamelift:ListTagsForResource", + "gamelift:PutScalingPolicy", + "gamelift:StartFleetActions", + "gamelift:StopFleetActions", + "gamelift:TagResource", + "gamelift:UntagResource", + "gamelift:UpdateContainerFleet", + "gamelift:UpdateFleetCapacity", + "iam:PassRole" + ] + } + }, + "attributes": { + "FleetId": { + "description": "Unique fleet ID", + "type": "string", + "minLength": 1, + "maxLength": 128, + "markdownDescription": "Unique fleet ID\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 128 \nPattern: ^[a-z]*fleet-[a-zA-Z0-9\\-]+ \nUpdate requires: No interruption" + }, + "GameServerContainerGroupDefinitionArn": { + "description": "The Amazon Resource Name (ARN) of the game server container group definition. This field will be empty if GameServerContainerGroupDefinitionName is not specified.", + "type": "string", + "maxLength": 512, + "markdownDescription": "The Amazon Resource Name (ARN) of the game server container group definition. This field will be empty if GameServerContainerGroupDefinitionName is not specified.\n\n---\n\nRequired: No \nType: String \nMaximum Length: 512 \nPattern: ^arn:.*:containergroupdefinition\\/[a-zA-Z0-9\\-]+(:[0-9]+)?$|^$ \nUpdate requires: No interruption" + }, + "PerInstanceContainerGroupDefinitionArn": { + "description": "The Amazon Resource Name (ARN) of the per instance container group definition. This field will be empty if PerInstanceContainerGroupDefinitionName is not specified.", + "type": "string", + "maxLength": 512, + "markdownDescription": "The Amazon Resource Name (ARN) of the per instance container group definition. This field will be empty if PerInstanceContainerGroupDefinitionName is not specified.\n\n---\n\nRequired: No \nType: String \nMaximum Length: 512 \nPattern: ^arn:.*:containergroupdefinition\\/[a-zA-Z0-9\\-]+(:[0-9]+)?$|^$ \nUpdate requires: No interruption" + }, + "MaximumGameServerContainerGroupsPerInstance": { + "description": "The maximum number of game server container groups per instance, a number between 1-5000.", + "type": "integer", + "minimum": 1, + "maximum": 5000, + "markdownDescription": "The maximum number of game server container groups per instance, a number between 1-5000.\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" + }, + "CreationTime": { + "description": "A time stamp indicating when this data object was created. Format is a number expressed in Unix time as milliseconds (for example \"1469498468.057\").", + "type": "string", + "markdownDescription": "A time stamp indicating when this data object was created. Format is a number expressed in Unix time as milliseconds (for example \"1469498468.057\").\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "Status": { + "description": "The current status of the container fleet.", + "type": "string", + "enum": [ + "PENDING", + "CREATING", + "CREATED", + "ACTIVATING", + "ACTIVE", + "UPDATING", + "DELETING" + ], + "markdownDescription": "The current status of the container fleet.\n\n---\n\nRequired: No \nType: String \nAllowed Values: PENDING | CREATING | CREATED | ACTIVATING | ACTIVE | UPDATING | DELETING \nUpdate requires: No interruption" + }, + "DeploymentDetails": { + "$ref": "#/definitions/DeploymentDetails" + }, + "FleetArn": { + "description": "The Amazon Resource Name (ARN) that is assigned to a Amazon GameLift container fleet resource and uniquely identifies it across all AWS Regions.", + "type": "string", + "minLength": 1, + "maxLength": 512, + "markdownDescription": "The Amazon Resource Name (ARN) that is assigned to a Amazon GameLift container fleet resource and uniquely identifies it across all AWS Regions.\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 512 \nPattern: ^arn:.*:[a-z]*fleet\\/[a-z]*fleet-[a-zA-Z0-9\\-]+$ \nUpdate requires: No interruption" + } + } +} \ No newline at end of file diff --git a/server/schema/resources/aws-gamelift-containergroupdefinition.json b/server/schema/resources/aws-gamelift-containergroupdefinition.json index 816b9c16..59e58dd0 100644 --- a/server/schema/resources/aws-gamelift-containergroupdefinition.json +++ b/server/schema/resources/aws-gamelift-containergroupdefinition.json @@ -1,101 +1,31 @@ { + "$schema": "https://schema.cloudformation.us-east-1.amazonaws.com/provider.definition.schema.v1.json", + "typeName": "AWS::GameLift::ContainerGroupDefinition", + "description": "The AWS::GameLift::ContainerGroupDefinition resource creates an Amazon GameLift container group definition.", + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-gamelift.git", "tagging": { - "permissions": [ - "gamelift:ListTagsForResource", - "gamelift:TagResource", - "gamelift:UntagResource" - ], "taggable": true, + "cloudFormationSystemTags": false, "tagOnCreate": true, "tagUpdatable": true, "tagProperty": "/properties/Tags", - "cloudFormationSystemTags": false - }, - "$schema": "https://schema.cloudformation.us-east-1.amazonaws.com/provider.definition.schema.v1.json", - "typeName": "AWS::GameLift::ContainerGroupDefinition", - "readOnlyProperties": [ - "/properties/ContainerGroupDefinitionArn", - "/properties/CreationTime", - "/properties/ContainerDefinitions/*/ResolvedImageDigest" - ], - "description": "The AWS::GameLift::ContainerGroupDefinition resource creates an Amazon GameLift container group definition.", - "createOnlyProperties": [ - "/properties/Name", - "/properties/SchedulingStrategy", - "/properties/TotalMemoryLimit", - "/properties/TotalCpuLimit", - "/properties/ContainerDefinitions", - "/properties/OperatingSystem" - ], - "primaryIdentifier": [ - "/properties/Name" - ], - "required": [ - "Name", - "TotalMemoryLimit", - "TotalCpuLimit", - "ContainerDefinitions", - "OperatingSystem" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-gamelift.git", - "handlers": { - "read": { - "permissions": [ - "gamelift:DescribeContainerGroupDefinition", - "gamelift:ListTagsForResource" - ] - }, - "create": { - "permissions": [ - "gamelift:CreateContainerGroupDefinition", - "gamelift:DescribeContainerGroupDefinition", - "gamelift:ListTagsForResource", - "gamelift:TagResource", - "ecr:BatchCheckLayerAvailability", - "ecr:BatchGetImage", - "ecr:GetDownloadUrlForLayer", - "ecr:DescribeImages" - ] - }, - "update": { - "permissions": [ - "gamelift:ListTagsForResource", - "gamelift:TagResource", - "gamelift:UntagResource" - ] - }, - "list": { - "permissions": [ - "gamelift:ListContainerGroupDefinitions" - ] - }, - "delete": { - "permissions": [ - "gamelift:DescribeContainerGroupDefinition", - "gamelift:DeleteContainerGroupDefinition" - ] - } + "permissions": [ + "gamelift:ListTagsForResource", + "gamelift:TagResource", + "gamelift:UntagResource" + ] }, - "additionalProperties": false, "definitions": { "ContainerPortRange": { "description": "A set of one or more port numbers that can be opened on the container.", - "additionalProperties": false, "type": "object", "properties": { "FromPort": { "description": "A starting value for the range of allowed port numbers.", - "maximum": 60000, "type": "integer", "minimum": 1, - "markdownDescription": "A starting value for the range of allowed port numbers.\n\n---\n\nRequired: Yes \nType: Integer \nUpdate requires: No interruption" - }, - "ToPort": { - "description": "An ending value for the range of allowed port numbers. Port numbers are end-inclusive. This value must be equal to or greater than FromPort.", "maximum": 60000, - "type": "integer", - "minimum": 1, - "markdownDescription": "An ending value for the range of allowed port numbers. Port numbers are end-inclusive. This value must be equal to or greater than FromPort.\n\n---\n\nRequired: Yes \nType: Integer \nUpdate requires: No interruption" + "markdownDescription": "A starting value for the range of allowed port numbers.\n\n---\n\nRequired: Yes \nType: Integer \nUpdate requires: No interruption" }, "Protocol": { "description": "Defines the protocol of these ports.", @@ -105,6 +35,13 @@ "UDP" ], "markdownDescription": "Defines the protocol of these ports.\n\n---\n\nRequired: Yes \nType: String \nAllowed Values: TCP | UDP \nUpdate requires: No interruption" + }, + "ToPort": { + "description": "An ending value for the range of allowed port numbers. Port numbers are end-inclusive. This value must be equal to or greater than FromPort.", + "type": "integer", + "minimum": 1, + "maximum": 60000, + "markdownDescription": "An ending value for the range of allowed port numbers. Port numbers are end-inclusive. This value must be equal to or greater than FromPort.\n\n---\n\nRequired: Yes \nType: Integer \nUpdate requires: No interruption" } }, "required": [ @@ -112,307 +49,376 @@ "Protocol", "ToPort" ], + "additionalProperties": false, "markdownDescription": "A set of one or more port numbers that can be opened on the container.\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, - "MemoryLimits": { - "description": "Specifies how much memory is available to the container.", - "additionalProperties": false, + "ContainerHealthCheck": { + "description": "Specifies how the process manager checks the health of containers.", "type": "object", "properties": { - "SoftLimit": { - "description": "The amount of memory that is reserved for the container.", - "maximum": 1024000, + "Command": { + "description": "A string array representing the command that the container runs to determine if it is healthy.", + "type": "array", + "uniqueItems": false, + "insertionOrder": true, + "minItems": 1, + "maxItems": 20, + "items": { + "type": "string", + "minLength": 1, + "maxLength": 255, + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 255 \nPattern: ^.*$ \nUpdate requires: No interruption" + }, + "markdownDescription": "A string array representing the command that the container runs to determine if it is healthy.\n\n---\n\nRequired: Yes \nType: Array \nUpdate requires: No interruption" + }, + "Interval": { + "description": "How often (in seconds) the health is checked.", "type": "integer", - "minimum": 4, - "markdownDescription": "The amount of memory that is reserved for the container.\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" + "minimum": 60, + "maximum": 300, + "markdownDescription": "How often (in seconds) the health is checked.\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" }, - "HardLimit": { - "description": "The hard limit of memory to reserve for the container.", - "maximum": 1024000, + "Timeout": { + "description": "How many seconds the process manager allows the command to run before canceling it.", "type": "integer", - "minimum": 4, - "markdownDescription": "The hard limit of memory to reserve for the container.\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" + "minimum": 30, + "maximum": 60, + "markdownDescription": "How many seconds the process manager allows the command to run before canceling it.\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" + }, + "Retries": { + "description": "How many times the process manager will retry the command after a timeout. (The first run of the command does not count as a retry.)", + "type": "integer", + "minimum": 5, + "maximum": 10, + "markdownDescription": "How many times the process manager will retry the command after a timeout. (The first run of the command does not count as a retry.)\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" + }, + "StartPeriod": { + "description": "The optional grace period (in seconds) to give a container time to boostrap before teh health check is declared failed.", + "type": "integer", + "minimum": 0, + "maximum": 300, + "markdownDescription": "The optional grace period (in seconds) to give a container time to boostrap before teh health check is declared failed.\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" } }, - "markdownDescription": "Specifies how much memory is available to the container.\n\n---\n\nRequired: No \nUpdate requires: No interruption" - }, - "ContainerDependency": { - "description": "A dependency that impacts a container's startup and shutdown.", + "required": [ + "Command" + ], "additionalProperties": false, + "markdownDescription": "Specifies how the process manager checks the health of containers.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "PortConfiguration": { + "description": "Defines the ports on a container.", "type": "object", "properties": { - "Condition": { - "description": "The type of dependency.", - "type": "string", - "enum": [ - "START", - "COMPLETE", - "SUCCESS", - "HEALTHY" - ], - "markdownDescription": "The type of dependency.\n\n---\n\nRequired: Yes \nType: String \nAllowed Values: START | COMPLETE | SUCCESS | HEALTHY \nUpdate requires: No interruption" - }, - "ContainerName": { - "minLength": 1, - "description": "A descriptive label for the container definition. The container being defined depends on this container's condition.", - "type": "string", - "maxLength": 128, - "markdownDescription": "A descriptive label for the container definition. The container being defined depends on this container's condition.\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 128 \nPattern: ^[a-zA-Z0-9-]+$ \nUpdate requires: No interruption" + "ContainerPortRanges": { + "description": "Specifies one or more ranges of ports on a container.", + "type": "array", + "uniqueItems": true, + "insertionOrder": false, + "minItems": 1, + "maxItems": 100, + "items": { + "$ref": "#/definitions/ContainerPortRange" + }, + "markdownDescription": "Specifies one or more ranges of ports on a container.\n\n---\n\nRequired: Yes \nType: Array \nUpdate requires: No interruption" } }, "required": [ - "ContainerName", - "Condition" + "ContainerPortRanges" ], - "markdownDescription": "A dependency that impacts a container's startup and shutdown.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + "additionalProperties": false, + "markdownDescription": "Defines the ports on a container.\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, "ContainerEnvironment": { "description": "An environment variable to set inside a container, in the form of a key-value pair.", - "additionalProperties": false, "type": "object", "properties": { - "Value": { - "minLength": 1, - "description": "The environment variable value.", - "type": "string", - "maxLength": 255, - "markdownDescription": "The environment variable value.\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 255 \nPattern: ^.*$ \nUpdate requires: No interruption" - }, "Name": { - "minLength": 1, "description": "The environment variable name.", "type": "string", + "minLength": 1, "maxLength": 255, "markdownDescription": "The environment variable name.\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 255 \nPattern: ^.*$ \nUpdate requires: No interruption" + }, + "Value": { + "description": "The environment variable value.", + "type": "string", + "minLength": 1, + "maxLength": 255, + "markdownDescription": "The environment variable value.\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 255 \nPattern: ^.*$ \nUpdate requires: No interruption" } }, "required": [ "Name", "Value" ], + "additionalProperties": false, "markdownDescription": "An environment variable to set inside a container, in the form of a key-value pair.\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, - "ContainerDefinition": { - "description": "Details about a container that is used in a container fleet", - "additionalProperties": false, + "ContainerMountPoint": { + "description": "Defines the mount point configuration within a container.", "type": "object", "properties": { - "WorkingDirectory": { - "minLength": 1, - "description": "The working directory to run commands inside the container in.", + "InstancePath": { + "description": "The path on the host that will be mounted in the container.", "type": "string", - "maxLength": 255, - "markdownDescription": "The working directory to run commands inside the container in.\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 255 \nPattern: ^.*$ \nUpdate requires: No interruption" - }, - "MemoryLimits": { - "description": "Specifies how much memory is available to the container. You must specify at least this parameter or the TotalMemoryLimit parameter of the ContainerGroupDefinition.", - "$ref": "#/definitions/MemoryLimits", - "markdownDescription": "Specifies how much memory is available to the container. You must specify at least this parameter or the TotalMemoryLimit parameter of the ContainerGroupDefinition.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" - }, - "HealthCheck": { - "description": "Specifies how the health of the containers will be checked.", - "$ref": "#/definitions/ContainerHealthCheck", - "markdownDescription": "Specifies how the health of the containers will be checked.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" - }, - "Cpu": { - "description": "The maximum number of CPU units reserved for this container. The value is expressed as an integer amount of CPU units. 1 vCPU is equal to 1024 CPU units", - "maximum": 10240, - "type": "integer", - "minimum": 1, - "markdownDescription": "The maximum number of CPU units reserved for this container. The value is expressed as an integer amount of CPU units. 1 vCPU is equal to 1024 CPU units\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" - }, - "EntryPoint": { - "minItems": 1, - "maxItems": 20, - "uniqueItems": false, - "description": "The entry point that's passed to the container so that it will run as an executable. If there are multiple arguments, each argument is a string in the array.", - "insertionOrder": true, - "type": "array", - "items": { - "minLength": 1, - "type": "string", - "maxLength": 1024, - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 1024 \nUpdate requires: No interruption" - }, - "markdownDescription": "The entry point that's passed to the container so that it will run as an executable. If there are multiple arguments, each argument is a string in the array.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" - }, - "ImageUri": { "minLength": 1, - "description": "Specifies the image URI of this container.", - "type": "string", - "maxLength": 255, - "markdownDescription": "Specifies the image URI of this container.\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 255 \nPattern: ^[a-zA-Z0-9-_\\.@\\/:]+$ \nUpdate requires: No interruption" + "maxLength": 1024, + "markdownDescription": "The path on the host that will be mounted in the container.\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 1024 \nPattern: ^\\/[\\s\\S]*$ \nUpdate requires: No interruption" }, - "ResolvedImageDigest": { - "description": "The digest of the container image.", + "ContainerPath": { + "description": "The path inside the container where the mount is accessible.", "type": "string", - "markdownDescription": "The digest of the container image.\n\n---\n\nRequired: No \nType: String \nPattern: ^sha256:[a-fA-F0-9]{64}$ \nUpdate requires: No interruption" - }, - "Essential": { - "description": "Specifies if the container is essential. If an essential container fails a health check, then all containers in the container group will be restarted. You must specify exactly 1 essential container in a container group.", - "type": "boolean", - "markdownDescription": "Specifies if the container is essential. If an essential container fails a health check, then all containers in the container group will be restarted. You must specify exactly 1 essential container in a container group.\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" - }, - "PortConfiguration": { - "description": "Defines the ports on the container.", - "$ref": "#/definitions/PortConfiguration", - "markdownDescription": "Defines the ports on the container.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" - }, - "DependsOn": { - "minItems": 1, - "maxItems": 10, - "uniqueItems": true, - "description": "A list of container dependencies that determines when this container starts up and shuts down. For container groups with multiple containers, dependencies let you define a startup/shutdown sequence across the containers.", - "insertionOrder": true, - "type": "array", - "items": { - "$ref": "#/definitions/ContainerDependency" - }, - "markdownDescription": "A list of container dependencies that determines when this container starts up and shuts down. For container groups with multiple containers, dependencies let you define a startup/shutdown sequence across the containers.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + "minLength": 1, + "maxLength": 1024, + "markdownDescription": "The path inside the container where the mount is accessible.\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 1024 \nPattern: ^(\\/+[^\\/]+\\/*)+$ \nUpdate requires: No interruption" }, + "AccessLevel": { + "description": "The access permissions for the mounted path.", + "type": "string", + "enum": [ + "READ_ONLY", + "READ_AND_WRITE" + ], + "markdownDescription": "The access permissions for the mounted path.\n\n---\n\nRequired: No \nType: String \nAllowed Values: READ_ONLY | READ_AND_WRITE \nUpdate requires: No interruption" + } + }, + "required": [ + "InstancePath" + ], + "additionalProperties": false, + "markdownDescription": "Defines the mount point configuration within a container.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "ContainerDependency": { + "description": "A dependency that impacts a container's startup and shutdown.", + "type": "object", + "properties": { "ContainerName": { - "minLength": 1, - "description": "A descriptive label for the container definition. Container definition names must be unique with a container group definition.", + "description": "A descriptive label for the container definition. The container being defined depends on this container's condition.", "type": "string", + "minLength": 1, "maxLength": 128, - "markdownDescription": "A descriptive label for the container definition. Container definition names must be unique with a container group definition.\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 128 \nPattern: ^[a-zA-Z0-9-]+$ \nUpdate requires: No interruption" - }, - "Command": { - "minItems": 1, - "maxItems": 20, - "uniqueItems": false, - "description": "The command that's passed to the container.", - "insertionOrder": true, - "type": "array", - "items": { - "minLength": 1, - "type": "string", - "maxLength": 255, - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 255 \nPattern: ^.*$ \nUpdate requires: No interruption" - }, - "markdownDescription": "The command that's passed to the container.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + "markdownDescription": "A descriptive label for the container definition. The container being defined depends on this container's condition.\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 128 \nPattern: ^[a-zA-Z0-9-]+$ \nUpdate requires: No interruption" }, - "Environment": { - "minItems": 1, - "maxItems": 20, - "uniqueItems": true, - "description": "The environment variables to pass to a container.", - "insertionOrder": false, - "type": "array", - "items": { - "$ref": "#/definitions/ContainerEnvironment" - }, - "markdownDescription": "The environment variables to pass to a container.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + "Condition": { + "description": "The type of dependency.", + "type": "string", + "enum": [ + "START", + "COMPLETE", + "SUCCESS", + "HEALTHY" + ], + "markdownDescription": "The type of dependency.\n\n---\n\nRequired: Yes \nType: String \nAllowed Values: START | COMPLETE | SUCCESS | HEALTHY \nUpdate requires: No interruption" } }, "required": [ "ContainerName", - "ImageUri" + "Condition" ], - "markdownDescription": "Details about a container that is used in a container fleet\n\n---\n\nRequired: No \nUpdate requires: No interruption" + "additionalProperties": false, + "markdownDescription": "A dependency that impacts a container's startup and shutdown.\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, "Tag": { "description": "A key-value pair to associate with a resource.", - "additionalProperties": false, "type": "object", "properties": { - "Value": { - "minLength": 0, - "description": "The value for the tag. You can specify a value that is 0 to 256 Unicode characters in length.", - "type": "string", - "maxLength": 256, - "markdownDescription": "The value for the tag. You can specify a value that is 0 to 256 Unicode characters in length.\n\n---\n\nRequired: Yes \nType: String \nMaximum Length: 256 \nPattern: ^.*$ \nUpdate requires: No interruption" - }, "Key": { - "minLength": 1, "description": "The key name of the tag. You can specify a value that is 1 to 128 Unicode characters in length.", "type": "string", + "minLength": 1, "maxLength": 128, "markdownDescription": "The key name of the tag. You can specify a value that is 1 to 128 Unicode characters in length.\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 128 \nPattern: ^.*$ \nUpdate requires: No interruption" + }, + "Value": { + "description": "The value for the tag. You can specify a value that is 0 to 256 Unicode characters in length.", + "type": "string", + "minLength": 0, + "maxLength": 256, + "markdownDescription": "The value for the tag. You can specify a value that is 0 to 256 Unicode characters in length.\n\n---\n\nRequired: Yes \nType: String \nMaximum Length: 256 \nPattern: ^.*$ \nUpdate requires: No interruption" } }, "required": [ "Key", "Value" ], + "additionalProperties": false, "markdownDescription": "A key-value pair to associate with a resource.\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, - "PortConfiguration": { - "description": "Defines the ports on a container.", - "additionalProperties": false, + "GameServerContainerDefinition": { + "description": "Specifies the information required to run game servers with this container group", "type": "object", "properties": { - "ContainerPortRanges": { + "ContainerName": { + "description": "A descriptive label for the container definition. Container definition names must be unique with a container group definition.", + "type": "string", + "minLength": 1, + "maxLength": 128, + "markdownDescription": "A descriptive label for the container definition. Container definition names must be unique with a container group definition.\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 128 \nPattern: ^[a-zA-Z0-9-]+$ \nUpdate requires: No interruption" + }, + "DependsOn": { + "description": "A list of container dependencies that determines when this container starts up and shuts down. For container groups with multiple containers, dependencies let you define a startup/shutdown sequence across the containers.", + "type": "array", + "uniqueItems": true, + "insertionOrder": true, "minItems": 1, - "maxItems": 100, + "maxItems": 10, + "items": { + "$ref": "#/definitions/ContainerDependency" + }, + "markdownDescription": "A list of container dependencies that determines when this container starts up and shuts down. For container groups with multiple containers, dependencies let you define a startup/shutdown sequence across the containers.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + }, + "ServerSdkVersion": { + "description": "The version of the server SDK used in this container group", + "type": "string", + "maxLength": 128, + "markdownDescription": "The version of the server SDK used in this container group\n\n---\n\nRequired: Yes \nType: String \nMaximum Length: 128 \nPattern: ^\\d+\\.\\d+\\.\\d+$ \nUpdate requires: No interruption" + }, + "ImageUri": { + "description": "Specifies the image URI of this container.", + "type": "string", + "minLength": 1, + "maxLength": 255, + "markdownDescription": "Specifies the image URI of this container.\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 255 \nPattern: ^[a-zA-Z0-9-_\\.@\\/:]+$ \nUpdate requires: No interruption" + }, + "ResolvedImageDigest": { + "description": "The digest of the container image.", + "type": "string", + "markdownDescription": "The digest of the container image.\n\n---\n\nRequired: No \nType: String \nPattern: ^sha256:[a-fA-F0-9]{64}$ \nUpdate requires: No interruption" + }, + "EnvironmentOverride": { + "description": "The environment variables to pass to a container.", + "type": "array", "uniqueItems": true, - "description": "Specifies one or more ranges of ports on a container.", "insertionOrder": false, + "minItems": 1, + "maxItems": 20, + "items": { + "$ref": "#/definitions/ContainerEnvironment" + }, + "markdownDescription": "The environment variables to pass to a container.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + }, + "PortConfiguration": { + "description": "Defines the ports on the container.", + "$ref": "#/definitions/PortConfiguration", + "markdownDescription": "Defines the ports on the container.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" + }, + "MountPoints": { + "description": "A list of mount point configurations to be used in a container.", "type": "array", + "uniqueItems": true, + "insertionOrder": false, + "minItems": 1, + "maxItems": 10, "items": { - "$ref": "#/definitions/ContainerPortRange" + "$ref": "#/definitions/ContainerMountPoint" }, - "markdownDescription": "Specifies one or more ranges of ports on a container.\n\n---\n\nRequired: Yes \nType: Array \nUpdate requires: No interruption" + "markdownDescription": "A list of mount point configurations to be used in a container.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" } }, "required": [ - "ContainerPortRanges" + "ContainerName", + "ImageUri", + "ServerSdkVersion" ], - "markdownDescription": "Defines the ports on a container.\n\n---\n\nRequired: No \nUpdate requires: No interruption" - }, - "ContainerHealthCheck": { - "description": "Specifies how the process manager checks the health of containers.", "additionalProperties": false, + "markdownDescription": "Specifies the information required to run game servers with this container group\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "SupportContainerDefinition": { + "description": "Supports the function of the main container group", "type": "object", "properties": { - "Command": { - "minItems": 1, - "maxItems": 20, - "uniqueItems": false, - "description": "A string array representing the command that the container runs to determine if it is healthy.", - "insertionOrder": true, + "ContainerName": { + "description": "A descriptive label for the container definition.", + "type": "string", + "minLength": 1, + "maxLength": 128, + "markdownDescription": "A descriptive label for the container definition.\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 128 \nPattern: ^[a-zA-Z0-9-]+$ \nUpdate requires: No interruption" + }, + "Vcpu": { + "description": "The number of virtual CPUs to give to the support group", + "type": "number", + "minimum": 0.125, + "maximum": 10, + "markdownDescription": "The number of virtual CPUs to give to the support group\n\n---\n\nRequired: No \nType: Number \nUpdate requires: No interruption" + }, + "DependsOn": { + "description": "A list of container dependencies that determines when this container starts up and shuts down. For container groups with multiple containers, dependencies let you define a startup/shutdown sequence across the containers.", "type": "array", + "uniqueItems": true, + "insertionOrder": true, + "minItems": 1, + "maxItems": 10, "items": { - "minLength": 1, - "type": "string", - "maxLength": 255, - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 255 \nPattern: ^.*$ \nUpdate requires: No interruption" + "$ref": "#/definitions/ContainerDependency" }, - "markdownDescription": "A string array representing the command that the container runs to determine if it is healthy.\n\n---\n\nRequired: Yes \nType: Array \nUpdate requires: No interruption" + "markdownDescription": "A list of container dependencies that determines when this container starts up and shuts down. For container groups with multiple containers, dependencies let you define a startup/shutdown sequence across the containers.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" }, - "Timeout": { - "description": "How many seconds the process manager allows the command to run before canceling it.", - "maximum": 60, - "type": "integer", - "minimum": 30, - "markdownDescription": "How many seconds the process manager allows the command to run before canceling it.\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" + "Essential": { + "description": "Specifies if the container is essential. If an essential container fails a health check, then all containers in the container group will be restarted. You must specify exactly 1 essential container in a container group.", + "type": "boolean", + "markdownDescription": "Specifies if the container is essential. If an essential container fails a health check, then all containers in the container group will be restarted. You must specify exactly 1 essential container in a container group.\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" }, - "Retries": { - "description": "How many times the process manager will retry the command after a timeout. (The first run of the command does not count as a retry.)", - "maximum": 10, - "type": "integer", - "minimum": 5, - "markdownDescription": "How many times the process manager will retry the command after a timeout. (The first run of the command does not count as a retry.)\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" + "ImageUri": { + "description": "Specifies the image URI of this container.", + "type": "string", + "minLength": 1, + "maxLength": 255, + "markdownDescription": "Specifies the image URI of this container.\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 255 \nPattern: ^[a-zA-Z0-9-_\\.@\\/:]+$ \nUpdate requires: No interruption" }, - "Interval": { - "description": "How often (in seconds) the health is checked.", - "maximum": 300, - "type": "integer", - "minimum": 60, - "markdownDescription": "How often (in seconds) the health is checked.\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" + "ResolvedImageDigest": { + "description": "The digest of the container image.", + "type": "string", + "markdownDescription": "The digest of the container image.\n\n---\n\nRequired: No \nType: String \nPattern: ^sha256:[a-fA-F0-9]{64}$ \nUpdate requires: No interruption" }, - "StartPeriod": { - "description": "The optional grace period (in seconds) to give a container time to boostrap before teh health check is declared failed.", - "maximum": 300, + "MemoryHardLimitMebibytes": { + "description": "The total memory limit of container groups following this definition in MiB", "type": "integer", - "minimum": 0, - "markdownDescription": "The optional grace period (in seconds) to give a container time to boostrap before teh health check is declared failed.\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" + "minimum": 4, + "maximum": 1024000, + "markdownDescription": "The total memory limit of container groups following this definition in MiB\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" + }, + "EnvironmentOverride": { + "description": "The environment variables to pass to a container.", + "type": "array", + "uniqueItems": true, + "insertionOrder": false, + "minItems": 1, + "maxItems": 20, + "items": { + "$ref": "#/definitions/ContainerEnvironment" + }, + "markdownDescription": "The environment variables to pass to a container.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + }, + "PortConfiguration": { + "description": "Defines the ports on the container.", + "$ref": "#/definitions/PortConfiguration", + "markdownDescription": "Defines the ports on the container.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" + }, + "HealthCheck": { + "description": "Specifies how the health of the containers will be checked.", + "$ref": "#/definitions/ContainerHealthCheck", + "markdownDescription": "Specifies how the health of the containers will be checked.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" + }, + "MountPoints": { + "description": "A list of mount point configurations to be used in a container.", + "type": "array", + "uniqueItems": true, + "insertionOrder": false, + "minItems": 1, + "maxItems": 10, + "items": { + "$ref": "#/definitions/ContainerMountPoint" + }, + "markdownDescription": "A list of mount point configurations to be used in a container.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" } }, "required": [ - "Command" + "ContainerName", + "ImageUri" ], - "markdownDescription": "Specifies how the process manager checks the health of containers.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + "additionalProperties": false, + "markdownDescription": "Supports the function of the main container group\n\n---\n\nRequired: No \nUpdate requires: No interruption" } }, "properties": { @@ -422,75 +428,172 @@ "enum": [ "AMAZON_LINUX_2023" ], - "markdownDescription": "The operating system of the container group\n\n---\n\nRequired: Yes \nType: String \nAllowed Values: AMAZON_LINUX_2023 \nUpdate requires: Replacement" + "markdownDescription": "The operating system of the container group\n\n---\n\nRequired: Yes \nType: String \nAllowed Values: AMAZON_LINUX_2023 \nUpdate requires: No interruption" }, "Name": { - "minLength": 1, "description": "A descriptive label for the container group definition.", "type": "string", + "minLength": 1, "maxLength": 128, "markdownDescription": "A descriptive label for the container group definition.\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 128 \nPattern: ^[a-zA-Z0-9-]+$ \nUpdate requires: Replacement" }, - "SchedulingStrategy": { - "description": "Specifies whether the container group includes replica or daemon containers.", + "ContainerGroupType": { + "description": "The scope of the container group", "type": "string", "enum": [ - "REPLICA", - "DAEMON" + "GAME_SERVER", + "PER_INSTANCE" ], - "markdownDescription": "Specifies whether the container group includes replica or daemon containers.\n\n---\n\nRequired: No \nType: String \nAllowed Values: REPLICA | DAEMON \nUpdate requires: Replacement" + "markdownDescription": "The scope of the container group\n\n---\n\nRequired: No \nType: String \nAllowed Values: GAME_SERVER | PER_INSTANCE \nUpdate requires: Replacement" }, - "TotalMemoryLimit": { - "description": "The maximum amount of memory (in MiB) to allocate for this container group.", - "maximum": 1024000, + "TotalMemoryLimitMebibytes": { + "description": "The total memory limit of container groups following this definition in MiB", "type": "integer", "minimum": 4, - "markdownDescription": "The maximum amount of memory (in MiB) to allocate for this container group.\n\n---\n\nRequired: Yes \nType: Integer \nUpdate requires: Replacement" + "maximum": 1024000, + "markdownDescription": "The total memory limit of container groups following this definition in MiB\n\n---\n\nRequired: Yes \nType: Integer \nUpdate requires: No interruption" }, - "ContainerDefinitions": { - "minItems": 1, - "maxItems": 10, + "TotalVcpuLimit": { + "description": "The total amount of virtual CPUs on the container group definition", + "type": "number", + "minimum": 0.125, + "maximum": 10, + "markdownDescription": "The total amount of virtual CPUs on the container group definition\n\n---\n\nRequired: Yes \nType: Number \nUpdate requires: No interruption" + }, + "GameServerContainerDefinition": { + "$ref": "#/definitions/GameServerContainerDefinition" + }, + "SupportContainerDefinitions": { + "description": "A collection of support container definitions that define the containers in this group.", + "type": "array", "uniqueItems": true, - "description": "A collection of container definitions that define the containers in this group.", "insertionOrder": false, - "type": "array", + "minItems": 1, + "maxItems": 10, "items": { - "$ref": "#/definitions/ContainerDefinition" + "$ref": "#/definitions/SupportContainerDefinition" }, - "markdownDescription": "A collection of container definitions that define the containers in this group.\n\n---\n\nRequired: Yes \nType: Array \nUpdate requires: Replacement" + "markdownDescription": "A collection of support container definitions that define the containers in this group.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + }, + "SourceVersionNumber": { + "description": "A specific ContainerGroupDefinition version to be updated", + "type": "integer", + "minimum": 0, + "markdownDescription": "A specific ContainerGroupDefinition version to be updated\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" + }, + "VersionDescription": { + "description": "The description of this version", + "type": "string", + "minLength": 1, + "maxLength": 1024, + "markdownDescription": "The description of this version\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 1024 \nUpdate requires: No interruption" }, "Tags": { - "minItems": 0, - "maxItems": 200, - "uniqueItems": true, "description": "An array of key-value pairs to apply to this resource.", - "insertionOrder": false, "type": "array", + "uniqueItems": true, + "insertionOrder": false, + "minItems": 0, + "maxItems": 200, "items": { "$ref": "#/definitions/Tag" }, "markdownDescription": "An array of key-value pairs to apply to this resource.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + } + }, + "additionalProperties": false, + "required": [ + "Name", + "OperatingSystem", + "TotalMemoryLimitMebibytes", + "TotalVcpuLimit" + ], + "createOnlyProperties": [ + "/properties/Name", + "/properties/ContainerGroupType" + ], + "readOnlyProperties": [ + "/properties/ContainerGroupDefinitionArn", + "/properties/CreationTime", + "/properties/VersionNumber", + "/properties/Status", + "/properties/StatusReason" + ], + "primaryIdentifier": [ + "/properties/Name" + ], + "handlers": { + "create": { + "permissions": [ + "gamelift:CreateContainerGroupDefinition", + "gamelift:DescribeContainerGroupDefinition", + "gamelift:ListTagsForResource", + "gamelift:TagResource", + "ecr:BatchCheckLayerAvailability", + "ecr:BatchGetImage", + "ecr:GetDownloadUrlForLayer", + "ecr:DescribeImages" + ] }, - "TotalCpuLimit": { - "description": "The maximum number of CPU units reserved for this container group. The value is expressed as an integer amount of CPU units. (1 vCPU is equal to 1024 CPU units.)", - "maximum": 10240, - "type": "integer", - "minimum": 128, - "markdownDescription": "The maximum number of CPU units reserved for this container group. The value is expressed as an integer amount of CPU units. (1 vCPU is equal to 1024 CPU units.)\n\n---\n\nRequired: Yes \nType: Integer \nUpdate requires: Replacement" + "read": { + "permissions": [ + "gamelift:DescribeContainerGroupDefinition", + "gamelift:ListTagsForResource" + ] + }, + "update": { + "permissions": [ + "gamelift:UpdateContainerGroupDefinition", + "gamelift:ListTagsForResource", + "gamelift:TagResource", + "gamelift:UntagResource" + ] + }, + "delete": { + "permissions": [ + "gamelift:DescribeContainerGroupDefinition", + "gamelift:DeleteContainerGroupDefinition" + ] + }, + "list": { + "permissions": [ + "gamelift:ListContainerGroupDefinitions" + ] } }, "attributes": { "ContainerGroupDefinitionArn": { - "minLength": 1, "description": "The Amazon Resource Name (ARN) that is assigned to a Amazon GameLift container group resource and uniquely identifies it across all AWS Regions.", "type": "string", + "minLength": 1, "maxLength": 512, - "markdownDescription": "The Amazon Resource Name (ARN) that is assigned to a Amazon GameLift container group resource and uniquely identifies it across all AWS Regions.\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 512 \nPattern: ^arn:.*:containergroupdefinition/containergroupdefinition-[a-zA-Z0-9-]+$|^arn:.*:containergroupdefinition/[a-zA-Z0-9-\\:]+$ \nUpdate requires: No interruption" + "markdownDescription": "The Amazon Resource Name (ARN) that is assigned to a Amazon GameLift container group resource and uniquely identifies it across all AWS Regions.\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 512 \nPattern: ^arn:.*:containergroupdefinition\\/[a-zA-Z0-9\\-]+(:[0-9]+)?$ \nUpdate requires: No interruption" }, "CreationTime": { "description": "A time stamp indicating when this data object was created. Format is a number expressed in Unix time as milliseconds (for example \"1469498468.057\").", "type": "string", "markdownDescription": "A time stamp indicating when this data object was created. Format is a number expressed in Unix time as milliseconds (for example \"1469498468.057\").\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "VersionNumber": { + "description": "The version of this ContainerGroupDefinition", + "type": "integer", + "minimum": 0, + "markdownDescription": "The version of this ContainerGroupDefinition\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" + }, + "Status": { + "description": "A string indicating ContainerGroupDefinition status.", + "type": "string", + "enum": [ + "READY", + "COPYING", + "FAILED" + ], + "markdownDescription": "A string indicating ContainerGroupDefinition status.\n\n---\n\nRequired: No \nType: String \nAllowed Values: READY | COPYING | FAILED \nUpdate requires: No interruption" + }, + "StatusReason": { + "description": "A string indicating the reason for ContainerGroupDefinition status.", + "type": "string", + "markdownDescription": "A string indicating the reason for ContainerGroupDefinition status.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" } } } \ No newline at end of file diff --git a/server/schema/resources/aws-gamelift-fleet.json b/server/schema/resources/aws-gamelift-fleet.json index cd24e8a1..a80c3106 100644 --- a/server/schema/resources/aws-gamelift-fleet.json +++ b/server/schema/resources/aws-gamelift-fleet.json @@ -40,86 +40,6 @@ ], "markdownDescription": "Information about the use of a TLS/SSL certificate for a fleet. TLS certificate generation is enabled at the fleet level, with one certificate generated for the fleet. When this feature is enabled, the certificate can be retrieved using the GameLift Server SDK call GetInstanceCertificate. All instances in a fleet share the same certificate.\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, - "ConnectionPortRange": { - "description": "Defines the range of ports on the instance that allow inbound traffic to connect with containers in a fleet.", - "type": "object", - "properties": { - "FromPort": { - "description": "A starting value for a range of allowed port numbers.", - "type": "integer", - "minimum": 1, - "maximum": 60000, - "markdownDescription": "A starting value for a range of allowed port numbers.\n\n---\n\nRequired: Yes \nType: Integer \nUpdate requires: No interruption" - }, - "ToPort": { - "description": "An ending value for a range of allowed port numbers. Port numbers are end-inclusive. This value must be higher than FromPort.", - "type": "integer", - "minimum": 1, - "maximum": 60000, - "markdownDescription": "An ending value for a range of allowed port numbers. Port numbers are end-inclusive. This value must be higher than FromPort.\n\n---\n\nRequired: Yes \nType: Integer \nUpdate requires: No interruption" - } - }, - "additionalProperties": false, - "required": [ - "FromPort", - "ToPort" - ], - "markdownDescription": "Defines the range of ports on the instance that allow inbound traffic to connect with containers in a fleet.\n\n---\n\nRequired: No \nUpdate requires: No interruption" - }, - "ContainerGroupsConfiguration": { - "description": "Specifies container groups that this instance will hold. You must specify exactly one replica group. Optionally, you may specify exactly one daemon group. You can't change this property after you create the fleet.", - "type": "object", - "properties": { - "ContainerGroupDefinitionNames": { - "description": "The names of the container group definitions that will be created in an instance. You must specify exactly one REPLICA container group. You have the option to also specify one DAEMON container group.", - "type": "array", - "insertionOrder": false, - "minItems": 1, - "maxItems": 2, - "items": { - "type": "string", - "minLength": 1, - "maxLength": 128, - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 128 \nPattern: ^[a-zA-Z0-9\\-]+$ \nUpdate requires: No interruption" - }, - "markdownDescription": "The names of the container group definitions that will be created in an instance. You must specify exactly one REPLICA container group. You have the option to also specify one DAEMON container group.\n\n---\n\nRequired: Yes \nType: Array \nUpdate requires: No interruption" - }, - "ConnectionPortRange": { - "$ref": "#/definitions/ConnectionPortRange" - }, - "ContainerGroupsPerInstance": { - "$ref": "#/definitions/ContainerGroupsPerInstance" - } - }, - "additionalProperties": false, - "required": [ - "ContainerGroupDefinitionNames", - "ConnectionPortRange" - ], - "markdownDescription": "Specifies container groups that this instance will hold. You must specify exactly one replica group. Optionally, you may specify exactly one daemon group. You can't change this property after you create the fleet.\n\n---\n\nRequired: No \nUpdate requires: No interruption" - }, - "ContainerGroupsPerInstance": { - "description": "The number of container groups per instance.", - "type": "object", - "properties": { - "DesiredReplicaContainerGroupsPerInstance": { - "description": "Use this parameter to override the number of replica container groups GameLift will launch per instance with a number that is lower than that calculated maximum.", - "type": "integer", - "minimum": 1, - "maximum": 5000, - "markdownDescription": "Use this parameter to override the number of replica container groups GameLift will launch per instance with a number that is lower than that calculated maximum.\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" - }, - "MaxReplicaContainerGroupsPerInstance": { - "description": "GameLift calculates the maximum number of replica container groups it can launch per instance based on instance properties such as CPU, memory, and connection ports.", - "type": "integer", - "minimum": 1, - "maximum": 5000, - "markdownDescription": "GameLift calculates the maximum number of replica container groups it can launch per instance based on instance properties such as CPU, memory, and connection ports.\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" - } - }, - "additionalProperties": false, - "markdownDescription": "The number of container groups per instance.\n\n---\n\nRequired: No \nUpdate requires: No interruption" - }, "IpPermission": { "description": "A range of IP addresses and port settings that allow inbound traffic to connect to server processes on an Amazon GameLift hosting resource. New game sessions that are started on the fleet are assigned an IP address/port number combination, which must fall into the fleet's allowed ranges. For fleets created with a custom game server, the ranges reflect the server's game session assignments. For Realtime Servers fleets, Amazon GameLift automatically opens two port ranges, one for TCP messaging and one for UDP, for use by the Realtime servers.", "type": "object", @@ -466,13 +386,9 @@ "type": "string", "enum": [ "EC2", - "ANYWHERE", - "CONTAINER" + "ANYWHERE" ], - "markdownDescription": "ComputeType to differentiate EC2 hardware managed by GameLift and Anywhere hardware managed by the customer.\n\n---\n\nRequired: No \nType: String \nAllowed Values: EC2 | ANYWHERE | CONTAINER \nUpdate requires: Replacement" - }, - "ContainerGroupsConfiguration": { - "$ref": "#/definitions/ContainerGroupsConfiguration" + "markdownDescription": "ComputeType to differentiate EC2 hardware managed by GameLift and Anywhere hardware managed by the customer.\n\n---\n\nRequired: No \nType: String \nAllowed Values: EC2 | ANYWHERE \nUpdate requires: Replacement" }, "Description": { "description": "A human-readable description of a fleet.", @@ -641,7 +557,6 @@ "/properties/ApplyCapacity", "/properties/BuildId", "/properties/CertificateConfiguration", - "/properties/ContainerGroupsConfiguration", "/properties/EC2InstanceType", "/properties/FleetType", "/properties/InstanceRoleARN", @@ -660,7 +575,6 @@ "/properties/ServerLaunchPath" ], "readOnlyProperties": [ - "/properties/ContainerGroupsConfiguration/ContainerGroupsPerInstance/MaxReplicaContainerGroupsPerInstance", "/properties/FleetId" ], "writeOnlyProperties": [ diff --git a/server/schema/resources/aws-glue-crawler.json b/server/schema/resources/aws-glue-crawler.json index a7c3bc5c..e53a4bcb 100644 --- a/server/schema/resources/aws-glue-crawler.json +++ b/server/schema/resources/aws-glue-crawler.json @@ -1,49 +1,57 @@ { "typeName": "AWS::Glue::Crawler", "description": "Resource Type definition for AWS::Glue::Crawler", + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-glue.git", "additionalProperties": false, "properties": { "Classifiers": { "type": "array", + "description": "A list of UTF-8 strings that specify the names of custom classifiers that are associated with the crawler.", "uniqueItems": false, "items": { "type": "string", "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, - "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + "markdownDescription": "A list of UTF-8 strings that specify the names of custom classifiers that are associated with the crawler.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" }, "Description": { "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "description": "A description of the crawler.", + "markdownDescription": "A description of the crawler.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, "SchemaChangePolicy": { "$ref": "#/definitions/SchemaChangePolicy" }, "Configuration": { "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "description": "Crawler configuration information. This versioned JSON string allows users to specify aspects of a crawler's behavior.", + "markdownDescription": "Crawler configuration information. This versioned JSON string allows users to specify aspects of a crawler's behavior.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, "RecrawlPolicy": { "$ref": "#/definitions/RecrawlPolicy" }, "DatabaseName": { "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "description": "The name of the database in which the crawler's output is stored.", + "markdownDescription": "The name of the database in which the crawler's output is stored.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, "Targets": { "$ref": "#/definitions/Targets" }, "CrawlerSecurityConfiguration": { "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "description": "The name of the SecurityConfiguration structure to be used by this crawler.", + "markdownDescription": "The name of the SecurityConfiguration structure to be used by this crawler.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, "Name": { "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: Replacement" + "description": "The name of the crawler.", + "markdownDescription": "The name of the crawler.\n\n---\n\nRequired: No \nType: String \nUpdate requires: Replacement" }, "Role": { "type": "string", - "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" + "description": "The Amazon Resource Name (ARN) of an IAM role that's used to access customer resources, such as Amazon Simple Storage Service (Amazon S3) data.", + "markdownDescription": "The Amazon Resource Name (ARN) of an IAM role that's used to access customer resources, such as Amazon Simple Storage Service (Amazon S3) data.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" }, "LakeFormationConfiguration": { "$ref": "#/definitions/LakeFormationConfiguration" @@ -53,318 +61,379 @@ }, "TablePrefix": { "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "description": "The prefix added to the names of tables that are created.", + "markdownDescription": "The prefix added to the names of tables that are created.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, "Tags": { "type": "object", - "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + "description": "The tags to use with this crawler.", + "markdownDescription": "The tags to use with this crawler.\n\n---\n\nRequired: No \nUpdate requires: No interruption" } }, "definitions": { "S3Target": { "type": "object", + "description": "Specifies a data store in Amazon Simple Storage Service (Amazon S3).", "additionalProperties": false, "properties": { "ConnectionName": { "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "description": "The name of a connection which allows a job or crawler to access data in Amazon S3 within an Amazon Virtual Private Cloud environment (Amazon VPC).", + "markdownDescription": "The name of a connection which allows a job or crawler to access data in Amazon S3 within an Amazon Virtual Private Cloud environment (Amazon VPC).\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, "Path": { "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "description": "The path to the Amazon S3 target.", + "markdownDescription": "The path to the Amazon S3 target.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, "SampleSize": { "type": "integer", - "markdownDescription": "\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" + "description": "Sets the number of files in each leaf folder to be crawled when crawling sample files in a dataset. If not set, all the files are crawled. A valid value is an integer between 1 and 249.", + "markdownDescription": "Sets the number of files in each leaf folder to be crawled when crawling sample files in a dataset. If not set, all the files are crawled. A valid value is an integer between 1 and 249.\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" }, "Exclusions": { "type": "array", + "description": "A list of glob patterns used to exclude from the crawl.", "uniqueItems": false, "items": { "type": "string", "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, - "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + "markdownDescription": "A list of glob patterns used to exclude from the crawl.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" }, "DlqEventQueueArn": { "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "description": "A valid Amazon dead-letter SQS ARN. For example, arn:aws:sqs:region:account:deadLetterQueue.", + "markdownDescription": "A valid Amazon dead-letter SQS ARN. For example, arn:aws:sqs:region:account:deadLetterQueue.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, "EventQueueArn": { "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "description": "A valid Amazon SQS ARN. For example, arn:aws:sqs:region:account:sqs.", + "markdownDescription": "A valid Amazon SQS ARN. For example, arn:aws:sqs:region:account:sqs.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" } }, - "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + "markdownDescription": "Specifies a data store in Amazon Simple Storage Service (Amazon S3).\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, "LakeFormationConfiguration": { "type": "object", + "description": "Specifies AWS Lake Formation configuration settings for the crawler", "additionalProperties": false, "properties": { "UseLakeFormationCredentials": { "type": "boolean", - "markdownDescription": "\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" + "description": "Specifies whether to use AWS Lake Formation credentials for the crawler instead of the IAM role credentials.", + "markdownDescription": "Specifies whether to use AWS Lake Formation credentials for the crawler instead of the IAM role credentials.\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" }, "AccountId": { "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "description": "Required for cross account crawls. For same account crawls as the target data, this can be left as null.", + "markdownDescription": "Required for cross account crawls. For same account crawls as the target data, this can be left as null.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" } }, - "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + "markdownDescription": "Specifies AWS Lake Formation configuration settings for the crawler\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, "SchemaChangePolicy": { "type": "object", + "description": "The policy that specifies update and delete behaviors for the crawler. The policy tells the crawler what to do in the event that it detects a change in a table that already exists in the customer's database at the time of the crawl. The SchemaChangePolicy does not affect whether or how new tables and partitions are added. New tables and partitions are always created regardless of the SchemaChangePolicy on a crawler. The SchemaChangePolicy consists of two components, UpdateBehavior and DeleteBehavior.", "additionalProperties": false, "properties": { "UpdateBehavior": { "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "description": "The update behavior when the crawler finds a changed schema. A value of LOG specifies that if a table or a partition already exists, and a change is detected, do not update it, only log that a change was detected. Add new tables and new partitions (including on existing tables). A value of UPDATE_IN_DATABASE specifies that if a table or partition already exists, and a change is detected, update it. Add new tables and partitions.", + "markdownDescription": "The update behavior when the crawler finds a changed schema. A value of LOG specifies that if a table or a partition already exists, and a change is detected, do not update it, only log that a change was detected. Add new tables and new partitions (including on existing tables). A value of UPDATE_IN_DATABASE specifies that if a table or partition already exists, and a change is detected, update it. Add new tables and partitions.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, "DeleteBehavior": { "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "description": "The deletion behavior when the crawler finds a deleted object. A value of LOG specifies that if a table or partition is found to no longer exist, do not delete it, only log that it was found to no longer exist. A value of DELETE_FROM_DATABASE specifies that if a table or partition is found to have been removed, delete it from the database. A value of DEPRECATE_IN_DATABASE specifies that if a table has been found to no longer exist, to add a property to the table that says 'DEPRECATED' and includes a timestamp with the time of deprecation.", + "markdownDescription": "The deletion behavior when the crawler finds a deleted object. A value of LOG specifies that if a table or partition is found to no longer exist, do not delete it, only log that it was found to no longer exist. A value of DELETE_FROM_DATABASE specifies that if a table or partition is found to have been removed, delete it from the database. A value of DEPRECATE_IN_DATABASE specifies that if a table has been found to no longer exist, to add a property to the table that says 'DEPRECATED' and includes a timestamp with the time of deprecation.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" } }, - "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + "markdownDescription": "The policy that specifies update and delete behaviors for the crawler. The policy tells the crawler what to do in the event that it detects a change in a table that already exists in the customer's database at the time of the crawl. The SchemaChangePolicy does not affect whether or how new tables and partitions are added. New tables and partitions are always created regardless of the SchemaChangePolicy on a crawler. The SchemaChangePolicy consists of two components, UpdateBehavior and DeleteBehavior.\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, "IcebergTarget": { "type": "object", + "description": "Specifies Apache Iceberg data store targets.", "additionalProperties": false, "properties": { "ConnectionName": { "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "description": "The name of the connection to use to connect to the Iceberg target.", + "markdownDescription": "The name of the connection to use to connect to the Iceberg target.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, "Paths": { "type": "array", + "description": "One or more Amazon S3 paths that contains Iceberg metadata folders as s3://bucket/prefix .", "uniqueItems": false, "items": { "type": "string", "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, - "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + "markdownDescription": "One or more Amazon S3 paths that contains Iceberg metadata folders as s3://bucket/prefix .\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" }, "Exclusions": { "type": "array", + "description": "A list of global patterns used to exclude from the crawl.", "uniqueItems": false, "items": { "type": "string", "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, - "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + "markdownDescription": "A list of global patterns used to exclude from the crawl.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" }, "MaximumTraversalDepth": { "type": "integer", - "markdownDescription": "\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" + "description": "The maximum depth of Amazon S3 paths that the crawler can traverse to discover the Iceberg metadata folder in your Amazon S3 path. Used to limit the crawler run time.", + "markdownDescription": "The maximum depth of Amazon S3 paths that the crawler can traverse to discover the Iceberg metadata folder in your Amazon S3 path. Used to limit the crawler run time.\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" } }, - "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + "markdownDescription": "Specifies Apache Iceberg data store targets.\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, "Schedule": { "type": "object", + "description": "A scheduling object using a cron statement to schedule an event.", "additionalProperties": false, "properties": { "ScheduleExpression": { "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "description": "A cron expression used to specify the schedule. For more information, see Time-Based Schedules for Jobs and Crawlers. For example, to run something every day at 12:15 UTC, specify cron(15 12 * * ? *).", + "markdownDescription": "A cron expression used to specify the schedule. For more information, see Time-Based Schedules for Jobs and Crawlers. For example, to run something every day at 12:15 UTC, specify cron(15 12 * * ? *).\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" } }, - "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + "markdownDescription": "A scheduling object using a cron statement to schedule an event.\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, "RecrawlPolicy": { "type": "object", + "description": "When crawling an Amazon S3 data source after the first crawl is complete, specifies whether to crawl the entire dataset again or to crawl only folders that were added since the last crawler run. For more information, see Incremental Crawls in AWS Glue in the developer guide.", "additionalProperties": false, "properties": { "RecrawlBehavior": { "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "description": "Specifies whether to crawl the entire dataset again or to crawl only folders that were added since the last crawler run. A value of CRAWL_EVERYTHING specifies crawling the entire dataset again. A value of CRAWL_NEW_FOLDERS_ONLY specifies crawling only folders that were added since the last crawler run. A value of CRAWL_EVENT_MODE specifies crawling only the changes identified by Amazon S3 events.", + "markdownDescription": "Specifies whether to crawl the entire dataset again or to crawl only folders that were added since the last crawler run. A value of CRAWL_EVERYTHING specifies crawling the entire dataset again. A value of CRAWL_NEW_FOLDERS_ONLY specifies crawling only folders that were added since the last crawler run. A value of CRAWL_EVENT_MODE specifies crawling only the changes identified by Amazon S3 events.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" } }, - "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + "markdownDescription": "When crawling an Amazon S3 data source after the first crawl is complete, specifies whether to crawl the entire dataset again or to crawl only folders that were added since the last crawler run. For more information, see Incremental Crawls in AWS Glue in the developer guide.\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, "MongoDBTarget": { "type": "object", + "description": "Specifies an Amazon DocumentDB or MongoDB data store to crawl.", "additionalProperties": false, "properties": { "ConnectionName": { "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "description": "The name of the connection to use to connect to the Amazon DocumentDB or MongoDB target.", + "markdownDescription": "The name of the connection to use to connect to the Amazon DocumentDB or MongoDB target.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, "Path": { "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "description": "The path of the Amazon DocumentDB or MongoDB target (database/collection).", + "markdownDescription": "The path of the Amazon DocumentDB or MongoDB target (database/collection).\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" } }, - "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + "markdownDescription": "Specifies an Amazon DocumentDB or MongoDB data store to crawl.\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, "DeltaTarget": { "type": "object", + "description": "Specifies a Delta data store to crawl one or more Delta tables.", "additionalProperties": false, "properties": { "ConnectionName": { "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "description": "The name of the connection to use to connect to the Delta table target.", + "markdownDescription": "The name of the connection to use to connect to the Delta table target.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, "CreateNativeDeltaTable": { "type": "boolean", - "markdownDescription": "\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" + "description": "Specifies whether the crawler will create native tables, to allow integration with query engines that support querying of the Delta transaction log directly.", + "markdownDescription": "Specifies whether the crawler will create native tables, to allow integration with query engines that support querying of the Delta transaction log directly.\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" }, "WriteManifest": { "type": "boolean", - "markdownDescription": "\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" + "description": "Specifies whether to write the manifest files to the Delta table path.", + "markdownDescription": "Specifies whether to write the manifest files to the Delta table path.\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" }, "DeltaTables": { "type": "array", + "description": "", "uniqueItems": false, "items": { "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "description": "A list of the Amazon S3 paths to the Delta tables.", + "markdownDescription": "A list of the Amazon S3 paths to the Delta tables.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" } }, - "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + "markdownDescription": "Specifies a Delta data store to crawl one or more Delta tables.\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, "JdbcTarget": { "type": "object", + "description": "Specifies a JDBC data store to crawl.", "additionalProperties": false, "properties": { "ConnectionName": { "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "description": "The name of the connection to use to connect to the JDBC target.", + "markdownDescription": "The name of the connection to use to connect to the JDBC target.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, "Path": { "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "description": "The path of the JDBC target.", + "markdownDescription": "The path of the JDBC target.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, "Exclusions": { "type": "array", + "description": "A list of glob patterns used to exclude from the crawl. For more information, see Catalog Tables with a Crawler.", "uniqueItems": false, "items": { "type": "string", "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, - "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + "markdownDescription": "A list of glob patterns used to exclude from the crawl. For more information, see Catalog Tables with a Crawler.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" }, "EnableAdditionalMetadata": { "type": "array", + "description": "Specify a value of RAWTYPES or COMMENTS to enable additional metadata in table responses. RAWTYPES provides the native-level datatype. COMMENTS provides comments associated with a column or table in the database.\n\nIf you do not need additional metadata, keep the field empty.", "uniqueItems": false, "items": { "type": "string", "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, - "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + "markdownDescription": "Specify a value of RAWTYPES or COMMENTS to enable additional metadata in table responses. RAWTYPES provides the native-level datatype. COMMENTS provides comments associated with a column or table in the database.\n\nIf you do not need additional metadata, keep the field empty.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" } }, - "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + "markdownDescription": "Specifies a JDBC data store to crawl.\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, "Targets": { "type": "object", + "description": "Specifies data stores to crawl.", "additionalProperties": false, "properties": { "S3Targets": { "type": "array", + "description": "Specifies Amazon Simple Storage Service (Amazon S3) targets.", "uniqueItems": false, "items": { "$ref": "#/definitions/S3Target" }, - "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + "markdownDescription": "Specifies Amazon Simple Storage Service (Amazon S3) targets.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" }, "CatalogTargets": { "type": "array", + "description": "Specifies AWS Glue Data Catalog targets.", "uniqueItems": false, "items": { "$ref": "#/definitions/CatalogTarget" }, - "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + "markdownDescription": "Specifies AWS Glue Data Catalog targets.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" }, "DeltaTargets": { "type": "array", + "description": "Specifies an array of Delta data store targets.", "uniqueItems": false, "items": { "$ref": "#/definitions/DeltaTarget" }, - "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + "markdownDescription": "Specifies an array of Delta data store targets.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" }, "MongoDBTargets": { "type": "array", + "description": "A list of Mongo DB targets.", "uniqueItems": false, "items": { "$ref": "#/definitions/MongoDBTarget" }, - "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + "markdownDescription": "A list of Mongo DB targets.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" }, "JdbcTargets": { "type": "array", + "description": "Specifies JDBC targets.", "uniqueItems": false, "items": { "$ref": "#/definitions/JdbcTarget" }, - "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + "markdownDescription": "Specifies JDBC targets.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" }, "DynamoDBTargets": { "type": "array", + "description": "Specifies Amazon DynamoDB targets.", "uniqueItems": false, "items": { "$ref": "#/definitions/DynamoDBTarget" }, - "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + "markdownDescription": "Specifies Amazon DynamoDB targets.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" }, "IcebergTargets": { "type": "array", + "description": "Specifies Apache Iceberg data store targets.", "uniqueItems": false, "items": { "$ref": "#/definitions/IcebergTarget" }, - "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + "markdownDescription": "Specifies Apache Iceberg data store targets.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" } }, - "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + "markdownDescription": "Specifies data stores to crawl.\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, "DynamoDBTarget": { "type": "object", + "description": "Specifies an Amazon DynamoDB table to crawl.", "additionalProperties": false, "properties": { "Path": { "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "description": "The name of the DynamoDB table to crawl.", + "markdownDescription": "The name of the DynamoDB table to crawl.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" } }, - "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + "markdownDescription": "Specifies an Amazon DynamoDB table to crawl.\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, "CatalogTarget": { "type": "object", + "description": "Specifies an AWS Glue Data Catalog target.", "additionalProperties": false, "properties": { "ConnectionName": { "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "description": "The name of the connection for an Amazon S3-backed Data Catalog table to be a target of the crawl when using a Catalog connection type paired with a NETWORK Connection type.", + "markdownDescription": "The name of the connection for an Amazon S3-backed Data Catalog table to be a target of the crawl when using a Catalog connection type paired with a NETWORK Connection type.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, "DatabaseName": { "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "description": "The name of the database to be synchronized.", + "markdownDescription": "The name of the database to be synchronized.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, "DlqEventQueueArn": { "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "description": "A valid Amazon dead-letter SQS ARN. For example, arn:aws:sqs:region:account:deadLetterQueue.", + "markdownDescription": "A valid Amazon dead-letter SQS ARN. For example, arn:aws:sqs:region:account:deadLetterQueue.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, "Tables": { "type": "array", + "description": "A list of the tables to be synchronized.", "uniqueItems": false, "items": { "type": "string", "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, - "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + "markdownDescription": "A list of the tables to be synchronized.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" }, "EventQueueArn": { "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "description": "A valid Amazon SQS ARN. For example, arn:aws:sqs:region:account:sqs.", + "markdownDescription": "A valid Amazon SQS ARN. For example, arn:aws:sqs:region:account:sqs.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" } }, - "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + "markdownDescription": "Specifies an AWS Glue Data Catalog target.\n\n---\n\nRequired: No \nUpdate requires: No interruption" } }, + "tagging": { + "taggable": true, + "tagOnCreate": true, + "tagUpdatable": true, + "cloudFormationSystemTags": false, + "tagProperty": "/properties/Tags" + }, "required": [ "Role", "Targets" @@ -373,15 +442,46 @@ "/properties/Name" ], "primaryIdentifier": [ - "/properties/Id" - ], - "readOnlyProperties": [ - "/properties/Id" + "/properties/Name" ], - "attributes": { - "Id": { - "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "handlers": { + "create": { + "permissions": [ + "glue:CreateCrawler", + "glue:GetCrawler", + "glue:TagResource", + "iam:PassRole" + ] + }, + "read": { + "permissions": [ + "glue:GetCrawler", + "glue:GetTags", + "iam:PassRole" + ] + }, + "update": { + "permissions": [ + "glue:UpdateCrawler", + "glue:UntagResource", + "glue:TagResource", + "iam:PassRole" + ] + }, + "delete": { + "permissions": [ + "glue:DeleteCrawler", + "glue:GetCrawler", + "glue:StopCrawler", + "iam:PassRole" + ] + }, + "list": { + "permissions": [ + "glue:ListCrawlers", + "iam:PassRole" + ] } - } + }, + "attributes": {} } \ No newline at end of file diff --git a/server/schema/resources/aws-glue-registry.json b/server/schema/resources/aws-glue-registry.json index 6077f957..67749bd6 100644 --- a/server/schema/resources/aws-glue-registry.json +++ b/server/schema/resources/aws-glue-registry.json @@ -1,6 +1,18 @@ { "typeName": "AWS::Glue::Registry", "description": "This resource creates a Registry for authoring schemas as part of Glue Schema Registry.", + "tagging": { + "taggable": true, + "tagOnCreate": true, + "tagUpdatable": true, + "cloudFormationSystemTags": true, + "tagProperty": "/properties/Tags", + "permissions": [ + "glue:GetTags", + "glue:TagResource", + "glue:UntagResource" + ] + }, "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-glue.git", "definitions": { "Tag": { @@ -73,7 +85,8 @@ "permissions": [ "glue:CreateRegistry", "glue:GetRegistry", - "glue:GetTags" + "glue:GetTags", + "glue:TagResource" ] }, "read": { diff --git a/server/schema/resources/aws-glue-schema.json b/server/schema/resources/aws-glue-schema.json index 2eef0fa6..84c345ca 100644 --- a/server/schema/resources/aws-glue-schema.json +++ b/server/schema/resources/aws-glue-schema.json @@ -1,6 +1,18 @@ { "typeName": "AWS::Glue::Schema", "description": "This resource represents a schema of Glue Schema Registry.", + "tagging": { + "taggable": true, + "tagOnCreate": true, + "tagUpdatable": true, + "cloudFormationSystemTags": true, + "tagProperty": "/properties/Tags", + "permissions": [ + "glue:GetTags", + "glue:TagResource", + "glue:UntagResource" + ] + }, "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-glue.git", "definitions": { "Registry": { @@ -117,7 +129,7 @@ "type": "string", "minLength": 1, "maxLength": 170000, - "markdownDescription": "Definition for the initial schema version in plain-text.\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 170000 \nUpdate requires: Replacement" + "markdownDescription": "Definition for the initial schema version in plain-text.\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 170000 \nUpdate requires: Replacement" }, "CheckpointVersion": { "$ref": "#/definitions/SchemaVersion" @@ -137,7 +149,6 @@ "required": [ "Name", "DataFormat", - "SchemaDefinition", "Compatibility" ], "readOnlyProperties": [ @@ -159,7 +170,8 @@ "handlers": { "create": { "permissions": [ - "glue:CreateSchema" + "glue:CreateSchema", + "glue:TagResource" ] }, "read": { diff --git a/server/schema/resources/aws-guardduty-detector.json b/server/schema/resources/aws-guardduty-detector.json index 6dab4fcc..369f82eb 100644 --- a/server/schema/resources/aws-guardduty-detector.json +++ b/server/schema/resources/aws-guardduty-detector.json @@ -5,8 +5,9 @@ "tagging": { "taggable": true, "tagOnCreate": true, - "tagUpdatable": false, - "cloudFormationSystemTags": false + "tagUpdatable": true, + "cloudFormationSystemTags": false, + "tagProperty": "/properties/Tags" }, "properties": { "FindingPublishingFrequency": { @@ -22,6 +23,7 @@ }, "Features": { "type": "array", + "insertionOrder": false, "items": { "$ref": "#/definitions/CFNFeatureConfiguration" }, @@ -29,6 +31,7 @@ }, "Tags": { "type": "array", + "insertionOrder": false, "items": { "$ref": "#/definitions/TagItem" }, @@ -156,6 +159,7 @@ }, "AdditionalConfiguration": { "type": "array", + "insertionOrder": false, "items": { "$ref": "#/definitions/CFNFeatureAdditionalConfiguration" }, @@ -203,7 +207,8 @@ }, "read": { "permissions": [ - "guardduty:GetDetector" + "guardduty:GetDetector", + "guardduty:ListTagsForResource" ] }, "delete": { @@ -219,7 +224,9 @@ "guardduty:GetDetector", "guardduty:ListDetectors", "iam:CreateServiceLinkedRole", - "iam:GetRole" + "iam:GetRole", + "guardduty:TagResource", + "guardduty:UntagResource" ] }, "list": { diff --git a/server/schema/resources/aws-guardduty-ipset.json b/server/schema/resources/aws-guardduty-ipset.json index a4a19b60..703fdea5 100644 --- a/server/schema/resources/aws-guardduty-ipset.json +++ b/server/schema/resources/aws-guardduty-ipset.json @@ -5,8 +5,14 @@ "tagging": { "taggable": true, "tagOnCreate": true, - "tagUpdatable": false, - "cloudFormationSystemTags": false + "tagUpdatable": true, + "cloudFormationSystemTags": false, + "tagProperty": "/properties/Tags", + "permissions": [ + "guardduty:TagResource", + "guardduty:UntagResource", + "guardduty:ListTagsForResource" + ] }, "properties": { "Format": { @@ -37,6 +43,7 @@ }, "Tags": { "type": "array", + "insertionOrder": false, "items": { "$ref": "#/definitions/TagItem" }, @@ -115,7 +122,9 @@ "guardduty:UpdateIPSet", "guardduty:GetIPSet", "guardduty:ListIPSets", - "iam:PutRolePolicy" + "iam:PutRolePolicy", + "guardduty:TagResource", + "guardduty:UntagResource" ] }, "list": { diff --git a/server/schema/resources/aws-guardduty-threatintelset.json b/server/schema/resources/aws-guardduty-threatintelset.json index 16c5e06f..f8de5402 100644 --- a/server/schema/resources/aws-guardduty-threatintelset.json +++ b/server/schema/resources/aws-guardduty-threatintelset.json @@ -6,8 +6,14 @@ "tagging": { "taggable": true, "tagOnCreate": true, - "tagUpdatable": false, - "cloudFormationSystemTags": false + "tagUpdatable": true, + "cloudFormationSystemTags": false, + "tagProperty": "/properties/Tags", + "permissions": [ + "guardduty:TagResource", + "guardduty:UntagResource", + "guardduty:ListTagsForResource" + ] }, "properties": { "Format": { @@ -115,7 +121,9 @@ "guardduty:UpdateThreatIntelSet", "guardduty:GetThreatIntelSet", "guardduty:ListThreatIntelSets", - "iam:PutRolePolicy" + "iam:PutRolePolicy", + "guardduty:TagResource", + "guardduty:UntagResource" ] }, "list": { diff --git a/server/schema/resources/aws-healthlake-fhirdatastore.json b/server/schema/resources/aws-healthlake-fhirdatastore.json index c0722c0f..ccac9f32 100644 --- a/server/schema/resources/aws-healthlake-fhirdatastore.json +++ b/server/schema/resources/aws-healthlake-fhirdatastore.json @@ -219,7 +219,6 @@ } }, "additionalProperties": false, - "taggable": true, "required": [ "DatastoreTypeVersion" ], @@ -240,6 +239,18 @@ "/properties/SseConfiguration", "/properties/IdentityProviderConfiguration" ], + "tagging": { + "taggable": true, + "tagOnCreate": true, + "tagUpdatable": true, + "cloudFormationSystemTags": true, + "tagProperty": "/properties/Tags", + "permissions": [ + "healthlake:UntagResource", + "healthlake:TagResource", + "healthlake:ListTagsForResource" + ] + }, "handlers": { "create": { "permissions": [ diff --git a/server/schema/resources/aws-iam-managedpolicy.json b/server/schema/resources/aws-iam-managedpolicy.json index 129d9b02..6f3e8fea 100644 --- a/server/schema/resources/aws-iam-managedpolicy.json +++ b/server/schema/resources/aws-iam-managedpolicy.json @@ -3,7 +3,6 @@ "description": "Creates a new managed policy for your AWS-account.\n This operation creates a policy version with a version identifier of ``v1`` and sets v1 as the policy's default version. For more information about policy versions, see [Versioning for managed policies](https://docs.aws.amazon.com/IAM/latest/UserGuide/policies-managed-versions.html) in the *IAM User Guide*.\n As a best practice, you can validate your IAM policies. To learn more, see [Validating IAM policies](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_policy-validator.html) in the *IAM User Guide*.\n For more information about managed policies in general, see [Managed policies and inline policies](https://docs.aws.amazon.com/IAM/latest/UserGuide/policies-managed-vs-inline.html) in the *IAM User Guide*.", "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-iam", "additionalProperties": false, - "replacementStrategy": "delete_then_create", "properties": { "Description": { "type": "string", diff --git a/server/schema/resources/aws-iam-oidcprovider.json b/server/schema/resources/aws-iam-oidcprovider.json index 478a0ca7..42436ee8 100644 --- a/server/schema/resources/aws-iam-oidcprovider.json +++ b/server/schema/resources/aws-iam-oidcprovider.json @@ -119,7 +119,13 @@ "taggable": true, "tagOnCreate": true, "tagUpdatable": true, - "cloudFormationSystemTags": false + "cloudFormationSystemTags": false, + "tagProperty": "/properties/Tags", + "permissions": [ + "iam:TagOpenIDConnectProvider", + "iam:UntagOpenIDConnectProvider", + "iam:ListOpenIDConnectProviderTags" + ] }, "attributes": { "Arn": { diff --git a/server/schema/resources/aws-iam-policy.json b/server/schema/resources/aws-iam-policy.json index d23000c2..c1424f98 100644 --- a/server/schema/resources/aws-iam-policy.json +++ b/server/schema/resources/aws-iam-policy.json @@ -1,6 +1,6 @@ { "typeName": "AWS::IAM::Policy", - "description": "Adds or updates an inline policy document that is embedded in the specified IAM group, user or role.\n An IAM user can also have a managed policy attached to it. For information about policies, see [Managed Policies and Inline Policies](https://docs.aws.amazon.com/IAM/latest/UserGuide/policies-managed-vs-inline.html) in the *User Guide*.\n The Groups, Roles, and Users properties are optional. However, you must specify at least one of these properties.\n For information about policy documents see [Creating policies](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_create.html) in the *User Guide*.\n For information about limits on the number of inline policies that you can embed in an identity, see [Limitations on Entities](https://docs.aws.amazon.com/IAM/latest/UserGuide/LimitationsOnEntities.html) in the *User Guide*.\n This resource does not support [drift detection](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-stack-drift.html). The following inline policy resource types support drift detection:\n + [AWS::IAM::GroupPolicy](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-grouppolicy.html) \n + [AWS::IAM::RolePolicy](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-rolepolicy.html) \n + [AWS::IAM::UserPolicy](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-userpolicy.html)", + "description": "Adds or updates an inline policy document that is embedded in the specified IAM group, user or role.\n An IAM user can also have a managed policy attached to it. For information about policies, see [Managed Policies and Inline Policies](https://docs.aws.amazon.com/IAM/latest/UserGuide/policies-managed-vs-inline.html) in the *User Guide*.\n The Groups, Roles, and Users properties are optional. However, you must specify at least one of these properties.\n For information about policy documents see [Creating policies](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_create.html) in the *User Guide*.\n For information about limits on the number of inline policies that you can embed in an identity, see [Limitations on Entities](https://docs.aws.amazon.com/IAM/latest/UserGuide/LimitationsOnEntities.html) in the *User Guide*.\n This resource does not support [drift detection](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-stack-drift.html). The following inline policy resource types support drift detection:\n + [AWS::IAM::GroupPolicy](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-grouppolicy.html) \n + [AWS::IAM::RolePolicy](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-rolepolicy.html) \n + [AWS::IAM::UserPolicy](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-userpolicy.html)", "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-iam.git", "properties": { "Groups": { diff --git a/server/schema/resources/aws-iam-samlprovider.json b/server/schema/resources/aws-iam-samlprovider.json index b9c2f09d..89b05065 100644 --- a/server/schema/resources/aws-iam-samlprovider.json +++ b/server/schema/resources/aws-iam-samlprovider.json @@ -103,7 +103,13 @@ "taggable": true, "tagOnCreate": true, "tagUpdatable": true, - "cloudFormationSystemTags": false + "cloudFormationSystemTags": false, + "tagProperty": "/properties/Tags", + "permissions": [ + "iam:TagSAMLProvider", + "iam:ListSAMLProviderTags", + "iam:UntagSAMLProvider" + ] }, "attributes": { "Arn": { diff --git a/server/schema/resources/aws-iam-servercertificate.json b/server/schema/resources/aws-iam-servercertificate.json index a7250aaa..f4d5fa57 100644 --- a/server/schema/resources/aws-iam-servercertificate.json +++ b/server/schema/resources/aws-iam-servercertificate.json @@ -125,7 +125,13 @@ "taggable": true, "tagOnCreate": true, "tagUpdatable": true, - "cloudFormationSystemTags": false + "cloudFormationSystemTags": false, + "tagProperty": "/properties/Tags", + "permissions": [ + "iam:TagServerCertificate", + "iam:UntagServerCertificate", + "iam:ListServerCertificateTags" + ] }, "attributes": { "Arn": { diff --git a/server/schema/resources/aws-imagebuilder-component.json b/server/schema/resources/aws-imagebuilder-component.json index b7b92e4f..87261a6c 100644 --- a/server/schema/resources/aws-imagebuilder-component.json +++ b/server/schema/resources/aws-imagebuilder-component.json @@ -28,9 +28,10 @@ "type": "string", "enum": [ "Windows", - "Linux" + "Linux", + "macOS" ], - "markdownDescription": "The platform of the component.\n\n---\n\nRequired: Conditional \nType: String \nAllowed Values: Windows | Linux \nUpdate requires: Replacement" + "markdownDescription": "The platform of the component.\n\n---\n\nRequired: Conditional \nType: String \nAllowed Values: Windows | Linux | macOS \nUpdate requires: Replacement" }, "Data": { "description": "The data of the component.", diff --git a/server/schema/resources/aws-imagebuilder-infrastructureconfiguration.json b/server/schema/resources/aws-imagebuilder-infrastructureconfiguration.json index dce468ec..0fd69bba 100644 --- a/server/schema/resources/aws-imagebuilder-infrastructureconfiguration.json +++ b/server/schema/resources/aws-imagebuilder-infrastructureconfiguration.json @@ -91,6 +91,11 @@ } }, "markdownDescription": "The tags associated with the component.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "Placement": { + "description": "The placement option settings for the infrastructure configuration.", + "$ref": "#/definitions/Placement", + "markdownDescription": "The placement option settings for the infrastructure configuration.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" } }, "definitions": { @@ -166,6 +171,39 @@ } }, "markdownDescription": "The S3 path in which to store the logs.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "Placement": { + "description": "The placement options", + "type": "object", + "additionalProperties": false, + "properties": { + "AvailabilityZone": { + "description": "AvailabilityZone", + "type": "string", + "markdownDescription": "AvailabilityZone\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "Tenancy": { + "description": "Tenancy", + "type": "string", + "enum": [ + "default", + "dedicated", + "host" + ], + "markdownDescription": "Tenancy\n\n---\n\nRequired: No \nType: String \nAllowed Values: default | dedicated | host \nUpdate requires: No interruption" + }, + "HostId": { + "description": "HostId", + "type": "string", + "markdownDescription": "HostId\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "HostResourceGroupArn": { + "description": "HostResourceGroupArn", + "type": "string", + "markdownDescription": "HostResourceGroupArn\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + } + }, + "markdownDescription": "The placement options\n\n---\n\nRequired: No \nUpdate requires: No interruption" } }, "required": [ diff --git a/server/schema/resources/aws-inspectorv2-cisscanconfiguration.json b/server/schema/resources/aws-inspectorv2-cisscanconfiguration.json index 2e9d814a..309029cc 100644 --- a/server/schema/resources/aws-inspectorv2-cisscanconfiguration.json +++ b/server/schema/resources/aws-inspectorv2-cisscanconfiguration.json @@ -130,7 +130,7 @@ "maxItems": 10000, "items": { "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nPattern: ^\\d{12}|ALL_MEMBERS|SELF$ \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nPattern: ^\\d{12}|ALL_ACCOUNTS|SELF$ \nUpdate requires: No interruption" }, "uniqueItems": true, "markdownDescription": "\n\n---\n\nRequired: Yes \nType: Array \nUpdate requires: No interruption" @@ -141,7 +141,8 @@ }, "additionalProperties": false, "required": [ - "AccountIds" + "AccountIds", + "TargetResourceTags" ] }, "TargetResourceTags": { diff --git a/server/schema/resources/aws-iot-domainconfiguration.json b/server/schema/resources/aws-iot-domainconfiguration.json index a8afaf11..ad7d9657 100644 --- a/server/schema/resources/aws-iot-domainconfiguration.json +++ b/server/schema/resources/aws-iot-domainconfiguration.json @@ -68,6 +68,19 @@ "additionalProperties": false, "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, + "ClientCertificateConfig": { + "type": "object", + "properties": { + "ClientCertificateCallbackArn": { + "type": "string", + "minLength": 1, + "maxLength": 170, + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 170 \nUpdate requires: No interruption" + } + }, + "additionalProperties": false, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, "Tag": { "type": "object", "properties": { @@ -144,6 +157,30 @@ "TlsConfig": { "$ref": "#/definitions/TlsConfig" }, + "AuthenticationType": { + "type": "string", + "enum": [ + "AWS_X509", + "CUSTOM_AUTH", + "AWS_SIGV4", + "CUSTOM_AUTH_X509", + "DEFAULT" + ], + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: AWS_X509 | CUSTOM_AUTH | AWS_SIGV4 | CUSTOM_AUTH_X509 | DEFAULT \nUpdate requires: No interruption" + }, + "ApplicationProtocol": { + "type": "string", + "enum": [ + "SECURE_MQTT", + "MQTT_WSS", + "HTTPS", + "DEFAULT" + ], + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: SECURE_MQTT | MQTT_WSS | HTTPS | DEFAULT \nUpdate requires: No interruption" + }, + "ClientCertificateConfig": { + "$ref": "#/definitions/ClientCertificateConfig" + }, "Tags": { "type": "array", "uniqueItems": true, diff --git a/server/schema/resources/aws-iot-thingtype.json b/server/schema/resources/aws-iot-thingtype.json index c492fcce..8114a9c3 100644 --- a/server/schema/resources/aws-iot-thingtype.json +++ b/server/schema/resources/aws-iot-thingtype.json @@ -33,9 +33,24 @@ "type": "string", "maxLength": 2028, "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMaximum Length: 2028 \nPattern: [\\p{Graph}\\x20]* \nUpdate requires: No interruption" + }, + "Mqtt5Configuration": { + "type": "object", + "additionalProperties": false, + "properties": { + "PropagatingAttributes": { + "type": "array", + "uniqueItems": true, + "items": { + "$ref": "#/definitions/PropagatingAttribute" + }, + "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + } + }, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" } }, - "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: Replacement" + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, "Tags": { "description": "An array of key-value pairs to apply to this resource.", @@ -75,6 +90,34 @@ "Value" ], "markdownDescription": "A key-value pair to associate with a resource.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "PropagatingAttribute": { + "type": "object", + "additionalProperties": false, + "properties": { + "UserPropertyKey": { + "type": "string", + "maxLength": 128, + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nMaximum Length: 128 \nPattern: [a-zA-Z0-9:$.]+ \nUpdate requires: No interruption" + }, + "ThingAttribute": { + "type": "string", + "maxLength": 128, + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMaximum Length: 128 \nPattern: [a-zA-Z0-9_.,@/:#-]+ \nUpdate requires: No interruption" + }, + "ConnectionAttribute": { + "type": "string", + "enum": [ + "iot:ClientId", + "iot:Thing.ThingName" + ], + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: iot:ClientId | iot:Thing.ThingName \nUpdate requires: No interruption" + } + }, + "required": [ + "UserPropertyKey" + ], + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" } }, "tagging": { @@ -89,8 +132,7 @@ "/properties/Id" ], "createOnlyProperties": [ - "/properties/ThingTypeName", - "/properties/ThingTypeProperties" + "/properties/ThingTypeName" ], "primaryIdentifier": [ "/properties/ThingTypeName" diff --git a/server/schema/resources/aws-iot-topicrule.json b/server/schema/resources/aws-iot-topicrule.json index 21a1821e..ca4cd809 100644 --- a/server/schema/resources/aws-iot-topicrule.json +++ b/server/schema/resources/aws-iot-topicrule.json @@ -1115,7 +1115,12 @@ "tagOnCreate": true, "tagUpdatable": true, "cloudFormationSystemTags": true, - "tagProperty": "/properties/Tags" + "tagProperty": "/properties/Tags", + "permissions": [ + "iot:UntagResource", + "iot:TagResource", + "iot:ListTagsForResource" + ] }, "required": [ "TopicRulePayload" diff --git a/server/schema/resources/aws-iotcoredeviceadvisor-suitedefinition.json b/server/schema/resources/aws-iotcoredeviceadvisor-suitedefinition.json index 06bfffdf..7a7742a8 100644 --- a/server/schema/resources/aws-iotcoredeviceadvisor-suitedefinition.json +++ b/server/schema/resources/aws-iotcoredeviceadvisor-suitedefinition.json @@ -124,6 +124,18 @@ } }, "additionalProperties": false, + "tagging": { + "taggable": true, + "tagOnCreate": true, + "tagUpdatable": true, + "cloudFormationSystemTags": true, + "tagProperty": "/properties/Tags", + "permissions": [ + "iotdeviceadvisor:TagResource", + "iotdeviceadvisor:UntagResource", + "iot:ListTagsForResource" + ] + }, "required": [ "SuiteDefinitionConfiguration" ], @@ -144,7 +156,6 @@ "iot:ListAttachedPolicies", "iot:ListCertificates", "iot:ListPrincipalPolicies", - "iot:ListTagsForResource", "iot:ListThingPrincipals", "iot:ListThings", "iotdeviceadvisor:CreateSuiteDefinition", @@ -155,7 +166,7 @@ "read": { "permissions": [ "iotdeviceadvisor:GetSuiteDefinition", - "iotdeviceadvisor:TagResource" + "iot:ListTagsForResource" ] }, "update": { @@ -166,7 +177,6 @@ "iot:ListAttachedPolicies", "iot:ListCertificates", "iot:ListPrincipalPolicies", - "iot:ListTagsForResource", "iot:ListThingPrincipals", "iot:ListThings", "iotdeviceadvisor:UpdateSuiteDefinition", diff --git a/server/schema/resources/aws-iotevents-alarmmodel.json b/server/schema/resources/aws-iotevents-alarmmodel.json index fc16cbe8..f6d5d1d1 100644 --- a/server/schema/resources/aws-iotevents-alarmmodel.json +++ b/server/schema/resources/aws-iotevents-alarmmodel.json @@ -1,6 +1,6 @@ { "typeName": "AWS::IoTEvents::AlarmModel", - "description": "The AWS::IoTEvents::AlarmModel resource creates a alarm model. AWS IoT Events alarms help you monitor your data for changes. The data can be metrics that you measure for your equipment and processes. You can create alarms that send notifications when a threshold is breached. Alarms help you detect issues, streamline maintenance, and optimize performance of your equipment and processes.\n\nAlarms are instances of alarm models. The alarm model specifies what to detect, when to send notifications, who gets notified, and more. You can also specify one or more supported actions that occur when the alarm state changes. AWS IoT Events routes input attributes derived from your data to the appropriate alarms. If the data that you're monitoring is outside the specified range, the alarm is invoked. You can also acknowledge the alarms or set them to the snooze mode.", + "description": "Represents an alarm model to monitor an ITE input attribute. You can use the alarm to get notified when the value is outside a specified range. For more information, see [Create an alarm model](https://docs.aws.amazon.com/iotevents/latest/developerguide/create-alarms.html) in the *Developer Guide*.", "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-rpdk.git", "definitions": { "AlarmRule": { @@ -9,7 +9,9 @@ "additionalProperties": false, "properties": { "SimpleRule": { - "$ref": "#/definitions/SimpleRule" + "$ref": "#/definitions/SimpleRule", + "description": "A rule that compares an input property value to a threshold value with a comparison operator.", + "markdownDescription": "A rule that compares an input property value to a threshold value with a comparison operator.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" } }, "markdownDescription": "Defines when your alarm is invoked.\n\n---\n\nRequired: No \nUpdate requires: No interruption" @@ -23,8 +25,8 @@ "type": "string", "minLength": 1, "maxLength": 512, - "description": "The value on the left side of the comparison operator. You can specify an AWS IoT Events input attribute as an input property.", - "markdownDescription": "The value on the left side of the comparison operator. You can specify an AWS IoT Events input attribute as an input property.\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 512 \nUpdate requires: No interruption" + "description": "The value on the left side of the comparison operator. You can specify an ITE input attribute as an input property.", + "markdownDescription": "The value on the left side of the comparison operator. You can specify an ITE input attribute as an input property.\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 512 \nUpdate requires: No interruption" }, "ComparisonOperator": { "type": "string", @@ -43,8 +45,8 @@ "type": "string", "minLength": 1, "maxLength": 512, - "description": "The value on the right side of the comparison operator. You can enter a number or specify an AWS IoT Events input attribute.", - "markdownDescription": "The value on the right side of the comparison operator. You can enter a number or specify an AWS IoT Events input attribute.\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 512 \nUpdate requires: No interruption" + "description": "The value on the right side of the comparison operator. You can enter a number or specify an ITE input attribute.", + "markdownDescription": "The value on the right side of the comparison operator. You can enter a number or specify an ITE input attribute.\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 512 \nUpdate requires: No interruption" } }, "required": [ @@ -60,24 +62,30 @@ "description": "Contains information about one or more alarm actions.", "properties": { "AlarmActions": { - "$ref": "#/definitions/AlarmActions" + "$ref": "#/definitions/AlarmActions", + "description": "Specifies one or more supported actions to receive notifications when the alarm state changes.", + "markdownDescription": "Specifies one or more supported actions to receive notifications when the alarm state changes.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" } }, "markdownDescription": "Contains information about one or more alarm actions.\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, "AlarmCapabilities": { "type": "object", - "description": "Contains the configuration information of alarm state changes", + "description": "Contains the configuration information of alarm state changes.", "additionalProperties": false, "properties": { "InitializationConfiguration": { - "$ref": "#/definitions/InitializationConfiguration" + "$ref": "#/definitions/InitializationConfiguration", + "description": "Specifies the default alarm state. The configuration applies to all alarms that were created based on this alarm model.", + "markdownDescription": "Specifies the default alarm state. The configuration applies to all alarms that were created based on this alarm model.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" }, "AcknowledgeFlow": { - "$ref": "#/definitions/AcknowledgeFlow" + "$ref": "#/definitions/AcknowledgeFlow", + "description": "Specifies whether to get notified for alarm state changes.", + "markdownDescription": "Specifies whether to get notified for alarm state changes.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" } }, - "markdownDescription": "Contains the configuration information of alarm state changes\n\n---\n\nRequired: No \nUpdate requires: No interruption" + "markdownDescription": "Contains the configuration information of alarm state changes.\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, "AlarmActions": { "type": "array", @@ -92,52 +100,70 @@ "AlarmAction": { "type": "object", "additionalProperties": false, - "description": "The actions to be performed.", + "description": "Specifies one of the following actions to receive notifications when the alarm state changes.", "properties": { "DynamoDB": { - "$ref": "#/definitions/DynamoDB" + "$ref": "#/definitions/DynamoDB", + "description": "Defines an action to write to the Amazon DynamoDB table that you created. The standard action payload contains all the information about the detector model instance and the event that triggered the action. You can customize the [payload](https://docs.aws.amazon.com/iotevents/latest/apireference/API_Payload.html). One column of the DynamoDB table receives all attribute-value pairs in the payload that you specify.\n You must use expressions for all parameters in ``DynamoDBAction``. The expressions accept literals, operators, functions, references, and substitution templates.\n **Examples**\n + For literal values, the expressions must contain single quotes. For example, the value for the ``hashKeyType`` parameter can be ``'STRING'``.\n + For references, you must specify either variables or input values. For example, the value for the ``hashKeyField`` parameter can be ``$input.GreenhouseInput.name``.\n + For a substitution template, you must use ``${}``, and the template must be in single quotes. A substitution template can also contain a combination of literals, operators, functions, references, and substitution templates.\n In the following example, the value for the ``hashKeyValue`` parameter uses a substitution template. \n ``'${$input.GreenhouseInput.temperature * 6 / 5 + 32} in Fahrenheit'`` \n + For a string concatenation, you must use ``+``. A string concatenation can also contain a combination of literals, operators, functions, references, and substitution templates.\n In the following example, the value for the ``tableName`` parameter uses a string concatenation. \n ``'GreenhouseTemperatureTable ' + $input.GreenhouseInput.date`` \n \n For more information, see [Expressions](https://docs.aws.amazon.com/iotevents/latest/developerguide/iotevents-expressions.html) in the *Developer Guide*.\n If the defined payload type is a string, ``DynamoDBAction`` writes non-JSON data to the DynamoDB table as binary data. The DynamoDB console displays the data as Base64-encoded text. The value for the ``payloadField`` parameter is ``_raw``.", + "markdownDescription": "Defines an action to write to the Amazon DynamoDB table that you created. The standard action payload contains all the information about the detector model instance and the event that triggered the action. You can customize the [payload](https://docs.aws.amazon.com/iotevents/latest/apireference/API_Payload.html). One column of the DynamoDB table receives all attribute-value pairs in the payload that you specify.\n You must use expressions for all parameters in ``DynamoDBAction``. The expressions accept literals, operators, functions, references, and substitution templates.\n **Examples**\n + For literal values, the expressions must contain single quotes. For example, the value for the ``hashKeyType`` parameter can be ``'STRING'``.\n + For references, you must specify either variables or input values. For example, the value for the ``hashKeyField`` parameter can be ``$input.GreenhouseInput.name``.\n + For a substitution template, you must use ``${}``, and the template must be in single quotes. A substitution template can also contain a combination of literals, operators, functions, references, and substitution templates.\n In the following example, the value for the ``hashKeyValue`` parameter uses a substitution template. \n ``'${$input.GreenhouseInput.temperature * 6 / 5 + 32} in Fahrenheit'`` \n + For a string concatenation, you must use ``+``. A string concatenation can also contain a combination of literals, operators, functions, references, and substitution templates.\n In the following example, the value for the ``tableName`` parameter uses a string concatenation. \n ``'GreenhouseTemperatureTable ' + $input.GreenhouseInput.date`` \n \n For more information, see [Expressions](https://docs.aws.amazon.com/iotevents/latest/developerguide/iotevents-expressions.html) in the *Developer Guide*.\n If the defined payload type is a string, ``DynamoDBAction`` writes non-JSON data to the DynamoDB table as binary data. The DynamoDB console displays the data as Base64-encoded text. The value for the ``payloadField`` parameter is ``_raw``.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" }, "DynamoDBv2": { - "$ref": "#/definitions/DynamoDBv2" + "$ref": "#/definitions/DynamoDBv2", + "description": "Defines an action to write to the Amazon DynamoDB table that you created. The default action payload contains all the information about the detector model instance and the event that triggered the action. You can customize the [payload](https://docs.aws.amazon.com/iotevents/latest/apireference/API_Payload.html). A separate column of the DynamoDB table receives one attribute-value pair in the payload that you specify.\n You must use expressions for all parameters in ``DynamoDBv2Action``. The expressions accept literals, operators, functions, references, and substitution templates.\n **Examples**\n + For literal values, the expressions must contain single quotes. For example, the value for the ``tableName`` parameter can be ``'GreenhouseTemperatureTable'``.\n + For references, you must specify either variables or input values. For example, the value for the ``tableName`` parameter can be ``$variable.ddbtableName``.\n + For a substitution template, you must use ``${}``, and the template must be in single quotes. A substitution template can also contain a combination of literals, operators, functions, references, and substitution templates.\n In the following example, the value for the ``contentExpression`` parameter in ``Payload`` uses a substitution template. \n ``'{\\\"sensorID\\\": \\\"${$input.GreenhouseInput.sensor_id}\\\", \\\"temperature\\\": \\\"${$input.GreenhouseInput.temperature * 9 / 5 + 32}\\\"}'`` \n + For a string concatenation, you must use ``+``. A string concatenation can also contain a combination of literals, operators, functions, references, and substitution templates.\n In the following example, the value for the ``tableName`` parameter uses a string concatenation. \n ``'GreenhouseTemperatureTable ' + $input.GreenhouseInput.date`` \n \n For more information, see [Expressions](https://docs.aws.amazon.com/iotevents/latest/developerguide/iotevents-expressions.html) in the *Developer Guide*.\n The value for the ``type`` parameter in ``Payload`` must be ``JSON``.", + "markdownDescription": "Defines an action to write to the Amazon DynamoDB table that you created. The default action payload contains all the information about the detector model instance and the event that triggered the action. You can customize the [payload](https://docs.aws.amazon.com/iotevents/latest/apireference/API_Payload.html). A separate column of the DynamoDB table receives one attribute-value pair in the payload that you specify.\n You must use expressions for all parameters in ``DynamoDBv2Action``. The expressions accept literals, operators, functions, references, and substitution templates.\n **Examples**\n + For literal values, the expressions must contain single quotes. For example, the value for the ``tableName`` parameter can be ``'GreenhouseTemperatureTable'``.\n + For references, you must specify either variables or input values. For example, the value for the ``tableName`` parameter can be ``$variable.ddbtableName``.\n + For a substitution template, you must use ``${}``, and the template must be in single quotes. A substitution template can also contain a combination of literals, operators, functions, references, and substitution templates.\n In the following example, the value for the ``contentExpression`` parameter in ``Payload`` uses a substitution template. \n ``'{\\\"sensorID\\\": \\\"${$input.GreenhouseInput.sensor_id}\\\", \\\"temperature\\\": \\\"${$input.GreenhouseInput.temperature * 9 / 5 + 32}\\\"}'`` \n + For a string concatenation, you must use ``+``. A string concatenation can also contain a combination of literals, operators, functions, references, and substitution templates.\n In the following example, the value for the ``tableName`` parameter uses a string concatenation. \n ``'GreenhouseTemperatureTable ' + $input.GreenhouseInput.date`` \n \n For more information, see [Expressions](https://docs.aws.amazon.com/iotevents/latest/developerguide/iotevents-expressions.html) in the *Developer Guide*.\n The value for the ``type`` parameter in ``Payload`` must be ``JSON``.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" }, "Firehose": { - "$ref": "#/definitions/Firehose" + "$ref": "#/definitions/Firehose", + "description": "Sends information about the detector model instance and the event that triggered the action to an Amazon Kinesis Data Firehose delivery stream.", + "markdownDescription": "Sends information about the detector model instance and the event that triggered the action to an Amazon Kinesis Data Firehose delivery stream.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" }, "IotEvents": { - "$ref": "#/definitions/IotEvents" + "$ref": "#/definitions/IotEvents", + "description": "Sends an ITE input, passing in information about the detector model instance and the event that triggered the action.", + "markdownDescription": "Sends an ITE input, passing in information about the detector model instance and the event that triggered the action.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" }, "IotSiteWise": { - "$ref": "#/definitions/IotSiteWise" + "$ref": "#/definitions/IotSiteWise", + "description": "Sends information about the detector model instance and the event that triggered the action to a specified asset property in ITSW.\n You must use expressions for all parameters in ``IotSiteWiseAction``. The expressions accept literals, operators, functions, references, and substitutions templates.\n **Examples**\n + For literal values, the expressions must contain single quotes. For example, the value for the ``propertyAlias`` parameter can be ``'/company/windfarm/3/turbine/7/temperature'``.\n + For references, you must specify either variables or input values. For example, the value for the ``assetId`` parameter can be ``$input.TurbineInput.assetId1``.\n + For a substitution template, you must use ``${}``, and the template must be in single quotes. A substitution template can also contain a combination of literals, operators, functions, references, and substitution templates.\n In the following example, the value for the ``propertyAlias`` parameter uses a substitution template. \n ``'company/windfarm/${$input.TemperatureInput.sensorData.windfarmID}/turbine/ ${$input.TemperatureInput.sensorData.turbineID}/temperature'`` \n \n You must specify either ``propertyAlias`` or both ``assetId`` and ``propertyId`` to identify the target asset property in ITSW.\n For more information, see [Expressions](https://docs.aws.amazon.com/iotevents/latest/developerguide/iotevents-expressions.html) in the *Developer Guide*.", + "markdownDescription": "Sends information about the detector model instance and the event that triggered the action to a specified asset property in ITSW.\n You must use expressions for all parameters in ``IotSiteWiseAction``. The expressions accept literals, operators, functions, references, and substitutions templates.\n **Examples**\n + For literal values, the expressions must contain single quotes. For example, the value for the ``propertyAlias`` parameter can be ``'/company/windfarm/3/turbine/7/temperature'``.\n + For references, you must specify either variables or input values. For example, the value for the ``assetId`` parameter can be ``$input.TurbineInput.assetId1``.\n + For a substitution template, you must use ``${}``, and the template must be in single quotes. A substitution template can also contain a combination of literals, operators, functions, references, and substitution templates.\n In the following example, the value for the ``propertyAlias`` parameter uses a substitution template. \n ``'company/windfarm/${$input.TemperatureInput.sensorData.windfarmID}/turbine/ ${$input.TemperatureInput.sensorData.turbineID}/temperature'`` \n \n You must specify either ``propertyAlias`` or both ``assetId`` and ``propertyId`` to identify the target asset property in ITSW.\n For more information, see [Expressions](https://docs.aws.amazon.com/iotevents/latest/developerguide/iotevents-expressions.html) in the *Developer Guide*.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" }, "IotTopicPublish": { - "$ref": "#/definitions/IotTopicPublish" + "$ref": "#/definitions/IotTopicPublish", + "description": "Information required to publish the MQTT message through the IoT message broker.", + "markdownDescription": "Information required to publish the MQTT message through the IoT message broker.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" }, "Lambda": { - "$ref": "#/definitions/Lambda" + "$ref": "#/definitions/Lambda", + "description": "Calls a Lambda function, passing in information about the detector model instance and the event that triggered the action.", + "markdownDescription": "Calls a Lambda function, passing in information about the detector model instance and the event that triggered the action.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" }, "Sns": { - "$ref": "#/definitions/Sns" + "$ref": "#/definitions/Sns", + "description": "Information required to publish the Amazon SNS message.", + "markdownDescription": "Information required to publish the Amazon SNS message.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" }, "Sqs": { - "$ref": "#/definitions/Sqs" + "$ref": "#/definitions/Sqs", + "description": "Sends information about the detector model instance and the event that triggered the action to an Amazon SQS queue.", + "markdownDescription": "Sends information about the detector model instance and the event that triggered the action to an Amazon SQS queue.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" } }, - "markdownDescription": "The actions to be performed.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + "markdownDescription": "Specifies one of the following actions to receive notifications when the alarm state changes.\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, "DynamoDB": { "type": "object", "additionalProperties": false, - "description": "Writes to the DynamoDB table that you created. The default action payload contains all attribute-value pairs that have the information about the alarm model instance and the event that triggered the action. You can also customize the [payload](https://docs.aws.amazon.com/iotevents/latest/apireference/API_Payload.html). One column of the DynamoDB table receives all attribute-value pairs in the payload that you specify. For more information, see [Actions](https://docs.aws.amazon.com/iotevents/latest/developerguide/iotevents-event-actions.html) in *AWS IoT Events Developer Guide*.", + "description": "Defines an action to write to the Amazon DynamoDB table that you created. The standard action payload contains all the information about the detector model instance and the event that triggered the action. You can customize the [payload](https://docs.aws.amazon.com/iotevents/latest/apireference/API_Payload.html). One column of the DynamoDB table receives all attribute-value pairs in the payload that you specify.\n You must use expressions for all parameters in ``DynamoDBAction``. The expressions accept literals, operators, functions, references, and substitution templates.\n **Examples**\n + For literal values, the expressions must contain single quotes. For example, the value for the ``hashKeyType`` parameter can be ``'STRING'``.\n + For references, you must specify either variables or input values. For example, the value for the ``hashKeyField`` parameter can be ``$input.GreenhouseInput.name``.\n + For a substitution template, you must use ``${}``, and the template must be in single quotes. A substitution template can also contain a combination of literals, operators, functions, references, and substitution templates.\n In the following example, the value for the ``hashKeyValue`` parameter uses a substitution template. \n ``'${$input.GreenhouseInput.temperature * 6 / 5 + 32} in Fahrenheit'`` \n + For a string concatenation, you must use ``+``. A string concatenation can also contain a combination of literals, operators, functions, references, and substitution templates.\n In the following example, the value for the ``tableName`` parameter uses a string concatenation. \n ``'GreenhouseTemperatureTable ' + $input.GreenhouseInput.date`` \n \n For more information, see [Expressions](https://docs.aws.amazon.com/iotevents/latest/developerguide/iotevents-expressions.html) in the *Developer Guide*.\n If the defined payload type is a string, ``DynamoDBAction`` writes non-JSON data to the DynamoDB table as binary data. The DynamoDB console displays the data as Base64-encoded text. The value for the ``payloadField`` parameter is ``_raw``.", "properties": { "HashKeyField": { "type": "string", - "description": "The name of the hash key (also called the partition key).", - "markdownDescription": "The name of the hash key (also called the partition key).\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" + "description": "The name of the hash key (also called the partition key). The ``hashKeyField`` value must match the partition key of the target DynamoDB table.", + "markdownDescription": "The name of the hash key (also called the partition key). The ``hashKeyField`` value must match the partition key of the target DynamoDB table.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" }, "HashKeyType": { "type": "string", - "description": "The data type for the hash key (also called the partition key). You can specify the following values:\n\n* `STRING` - The hash key is a string.\n\n* `NUMBER` - The hash key is a number.\n\nIf you don't specify `hashKeyType`, the default value is `STRING`.", - "markdownDescription": "The data type for the hash key (also called the partition key). You can specify the following values:\n\n* `STRING` - The hash key is a string.\n\n* `NUMBER` - The hash key is a number.\n\nIf you don't specify `hashKeyType`, the default value is `STRING`.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "description": "The data type for the hash key (also called the partition key). You can specify the following values:\n + ``'STRING'`` - The hash key is a string.\n + ``'NUMBER'`` - The hash key is a number.\n \n If you don't specify ``hashKeyType``, the default value is ``'STRING'``.", + "markdownDescription": "The data type for the hash key (also called the partition key). You can specify the following values:\n + ``'STRING'`` - The hash key is a string.\n + ``'NUMBER'`` - The hash key is a number.\n \n If you don't specify ``hashKeyType``, the default value is ``'STRING'``.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, "HashKeyValue": { "type": "string", @@ -146,26 +172,28 @@ }, "Operation": { "type": "string", - "description": "The type of operation to perform. You can specify the following values:\n\n* `INSERT` - Insert data as a new item into the DynamoDB table. This item uses the specified hash key as a partition key. If you specified a range key, the item uses the range key as a sort key.\n\n* `UPDATE` - Update an existing item of the DynamoDB table with new data. This item's partition key must match the specified hash key. If you specified a range key, the range key must match the item's sort key.\n\n* `DELETE` - Delete an existing item of the DynamoDB table. This item's partition key must match the specified hash key. If you specified a range key, the range key must match the item's sort key.\n\nIf you don't specify this parameter, AWS IoT Events triggers the `INSERT` operation.", - "markdownDescription": "The type of operation to perform. You can specify the following values:\n\n* `INSERT` - Insert data as a new item into the DynamoDB table. This item uses the specified hash key as a partition key. If you specified a range key, the item uses the range key as a sort key.\n\n* `UPDATE` - Update an existing item of the DynamoDB table with new data. This item's partition key must match the specified hash key. If you specified a range key, the range key must match the item's sort key.\n\n* `DELETE` - Delete an existing item of the DynamoDB table. This item's partition key must match the specified hash key. If you specified a range key, the range key must match the item's sort key.\n\nIf you don't specify this parameter, AWS IoT Events triggers the `INSERT` operation.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "description": "The type of operation to perform. You can specify the following values: \n + ``'INSERT'`` - Insert data as a new item into the DynamoDB table. This item uses the specified hash key as a partition key. If you specified a range key, the item uses the range key as a sort key.\n + ``'UPDATE'`` - Update an existing item of the DynamoDB table with new data. This item's partition key must match the specified hash key. If you specified a range key, the range key must match the item's sort key.\n + ``'DELETE'`` - Delete an existing item of the DynamoDB table. This item's partition key must match the specified hash key. If you specified a range key, the range key must match the item's sort key.\n \n If you don't specify this parameter, ITE triggers the ``'INSERT'`` operation.", + "markdownDescription": "The type of operation to perform. You can specify the following values: \n + ``'INSERT'`` - Insert data as a new item into the DynamoDB table. This item uses the specified hash key as a partition key. If you specified a range key, the item uses the range key as a sort key.\n + ``'UPDATE'`` - Update an existing item of the DynamoDB table with new data. This item's partition key must match the specified hash key. If you specified a range key, the range key must match the item's sort key.\n + ``'DELETE'`` - Delete an existing item of the DynamoDB table. This item's partition key must match the specified hash key. If you specified a range key, the range key must match the item's sort key.\n \n If you don't specify this parameter, ITE triggers the ``'INSERT'`` operation.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, "Payload": { - "$ref": "#/definitions/Payload" + "$ref": "#/definitions/Payload", + "description": "Information needed to configure the payload.\n By default, ITE generates a standard payload in JSON for any action. This action payload contains all attribute-value pairs that have the information about the detector model instance and the event triggered the action. To configure the action payload, you can use ``contentExpression``.", + "markdownDescription": "Information needed to configure the payload.\n By default, ITE generates a standard payload in JSON for any action. This action payload contains all attribute-value pairs that have the information about the detector model instance and the event triggered the action. To configure the action payload, you can use ``contentExpression``.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" }, "PayloadField": { "type": "string", - "description": "The name of the DynamoDB column that receives the action payload.\n\nIf you don't specify this parameter, the name of the DynamoDB column is `payload`.", - "markdownDescription": "The name of the DynamoDB column that receives the action payload.\n\nIf you don't specify this parameter, the name of the DynamoDB column is `payload`.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "description": "The name of the DynamoDB column that receives the action payload.\n If you don't specify this parameter, the name of the DynamoDB column is ``payload``.", + "markdownDescription": "The name of the DynamoDB column that receives the action payload.\n If you don't specify this parameter, the name of the DynamoDB column is ``payload``.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, "RangeKeyField": { "type": "string", - "description": "The name of the range key (also called the sort key).", - "markdownDescription": "The name of the range key (also called the sort key).\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "description": "The name of the range key (also called the sort key). The ``rangeKeyField`` value must match the sort key of the target DynamoDB table.", + "markdownDescription": "The name of the range key (also called the sort key). The ``rangeKeyField`` value must match the sort key of the target DynamoDB table.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, "RangeKeyType": { "type": "string", - "description": "The data type for the range key (also called the sort key), You can specify the following values:\n\n* `STRING` - The range key is a string.\n\n* `NUMBER` - The range key is number.\n\nIf you don't specify `rangeKeyField`, the default value is `STRING`.", - "markdownDescription": "The data type for the range key (also called the sort key), You can specify the following values:\n\n* `STRING` - The range key is a string.\n\n* `NUMBER` - The range key is number.\n\nIf you don't specify `rangeKeyField`, the default value is `STRING`.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "description": "The data type for the range key (also called the sort key), You can specify the following values:\n + ``'STRING'`` - The range key is a string.\n + ``'NUMBER'`` - The range key is number.\n \n If you don't specify ``rangeKeyField``, the default value is ``'STRING'``.", + "markdownDescription": "The data type for the range key (also called the sort key), You can specify the following values:\n + ``'STRING'`` - The range key is a string.\n + ``'NUMBER'`` - The range key is number.\n \n If you don't specify ``rangeKeyField``, the default value is ``'STRING'``.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, "RangeKeyValue": { "type": "string", @@ -174,8 +202,8 @@ }, "TableName": { "type": "string", - "description": "The name of the DynamoDB table.", - "markdownDescription": "The name of the DynamoDB table.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" + "description": "The name of the DynamoDB table. The ``tableName`` value must match the table name of the target DynamoDB table.", + "markdownDescription": "The name of the DynamoDB table. The ``tableName`` value must match the table name of the target DynamoDB table.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" } }, "required": [ @@ -183,15 +211,17 @@ "HashKeyValue", "TableName" ], - "markdownDescription": "Writes to the DynamoDB table that you created. The default action payload contains all attribute-value pairs that have the information about the alarm model instance and the event that triggered the action. You can also customize the [payload](https://docs.aws.amazon.com/iotevents/latest/apireference/API_Payload.html). One column of the DynamoDB table receives all attribute-value pairs in the payload that you specify. For more information, see [Actions](https://docs.aws.amazon.com/iotevents/latest/developerguide/iotevents-event-actions.html) in *AWS IoT Events Developer Guide*.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + "markdownDescription": "Defines an action to write to the Amazon DynamoDB table that you created. The standard action payload contains all the information about the detector model instance and the event that triggered the action. You can customize the [payload](https://docs.aws.amazon.com/iotevents/latest/apireference/API_Payload.html). One column of the DynamoDB table receives all attribute-value pairs in the payload that you specify.\n You must use expressions for all parameters in ``DynamoDBAction``. The expressions accept literals, operators, functions, references, and substitution templates.\n **Examples**\n + For literal values, the expressions must contain single quotes. For example, the value for the ``hashKeyType`` parameter can be ``'STRING'``.\n + For references, you must specify either variables or input values. For example, the value for the ``hashKeyField`` parameter can be ``$input.GreenhouseInput.name``.\n + For a substitution template, you must use ``${}``, and the template must be in single quotes. A substitution template can also contain a combination of literals, operators, functions, references, and substitution templates.\n In the following example, the value for the ``hashKeyValue`` parameter uses a substitution template. \n ``'${$input.GreenhouseInput.temperature * 6 / 5 + 32} in Fahrenheit'`` \n + For a string concatenation, you must use ``+``. A string concatenation can also contain a combination of literals, operators, functions, references, and substitution templates.\n In the following example, the value for the ``tableName`` parameter uses a string concatenation. \n ``'GreenhouseTemperatureTable ' + $input.GreenhouseInput.date`` \n \n For more information, see [Expressions](https://docs.aws.amazon.com/iotevents/latest/developerguide/iotevents-expressions.html) in the *Developer Guide*.\n If the defined payload type is a string, ``DynamoDBAction`` writes non-JSON data to the DynamoDB table as binary data. The DynamoDB console displays the data as Base64-encoded text. The value for the ``payloadField`` parameter is ``_raw``.\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, "DynamoDBv2": { "type": "object", "additionalProperties": false, - "description": "Defines an action to write to the Amazon DynamoDB table that you created. The default action payload contains all attribute-value pairs that have the information about the alarm model instance and the event that triggered the action. You can also customize the [payload](https://docs.aws.amazon.com/iotevents/latest/apireference/API_Payload.html). A separate column of the DynamoDB table receives one attribute-value pair in the payload that you specify.\n\nYou can use expressions for parameters that are strings. For more information, see [Expressions](https://docs.aws.amazon.com/iotevents/latest/developerguide/iotevents-expressions.html) in the *AWS IoT Events Developer Guide*.", + "description": "Defines an action to write to the Amazon DynamoDB table that you created. The default action payload contains all the information about the detector model instance and the event that triggered the action. You can customize the [payload](https://docs.aws.amazon.com/iotevents/latest/apireference/API_Payload.html). A separate column of the DynamoDB table receives one attribute-value pair in the payload that you specify.\n You must use expressions for all parameters in ``DynamoDBv2Action``. The expressions accept literals, operators, functions, references, and substitution templates.\n **Examples**\n + For literal values, the expressions must contain single quotes. For example, the value for the ``tableName`` parameter can be ``'GreenhouseTemperatureTable'``.\n + For references, you must specify either variables or input values. For example, the value for the ``tableName`` parameter can be ``$variable.ddbtableName``.\n + For a substitution template, you must use ``${}``, and the template must be in single quotes. A substitution template can also contain a combination of literals, operators, functions, references, and substitution templates.\n In the following example, the value for the ``contentExpression`` parameter in ``Payload`` uses a substitution template. \n ``'{\\\"sensorID\\\": \\\"${$input.GreenhouseInput.sensor_id}\\\", \\\"temperature\\\": \\\"${$input.GreenhouseInput.temperature * 9 / 5 + 32}\\\"}'`` \n + For a string concatenation, you must use ``+``. A string concatenation can also contain a combination of literals, operators, functions, references, and substitution templates.\n In the following example, the value for the ``tableName`` parameter uses a string concatenation. \n ``'GreenhouseTemperatureTable ' + $input.GreenhouseInput.date`` \n \n For more information, see [Expressions](https://docs.aws.amazon.com/iotevents/latest/developerguide/iotevents-expressions.html) in the *Developer Guide*.\n The value for the ``type`` parameter in ``Payload`` must be ``JSON``.", "properties": { "Payload": { - "$ref": "#/definitions/Payload" + "$ref": "#/definitions/Payload", + "description": "Information needed to configure the payload.\n By default, ITE generates a standard payload in JSON for any action. This action payload contains all attribute-value pairs that have the information about the detector model instance and the event triggered the action. To configure the action payload, you can use ``contentExpression``.", + "markdownDescription": "Information needed to configure the payload.\n By default, ITE generates a standard payload in JSON for any action. This action payload contains all attribute-value pairs that have the information about the detector model instance and the event triggered the action. To configure the action payload, you can use ``contentExpression``.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" }, "TableName": { "type": "string", @@ -202,12 +232,12 @@ "required": [ "TableName" ], - "markdownDescription": "Defines an action to write to the Amazon DynamoDB table that you created. The default action payload contains all attribute-value pairs that have the information about the alarm model instance and the event that triggered the action. You can also customize the [payload](https://docs.aws.amazon.com/iotevents/latest/apireference/API_Payload.html). A separate column of the DynamoDB table receives one attribute-value pair in the payload that you specify.\n\nYou can use expressions for parameters that are strings. For more information, see [Expressions](https://docs.aws.amazon.com/iotevents/latest/developerguide/iotevents-expressions.html) in the *AWS IoT Events Developer Guide*.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + "markdownDescription": "Defines an action to write to the Amazon DynamoDB table that you created. The default action payload contains all the information about the detector model instance and the event that triggered the action. You can customize the [payload](https://docs.aws.amazon.com/iotevents/latest/apireference/API_Payload.html). A separate column of the DynamoDB table receives one attribute-value pair in the payload that you specify.\n You must use expressions for all parameters in ``DynamoDBv2Action``. The expressions accept literals, operators, functions, references, and substitution templates.\n **Examples**\n + For literal values, the expressions must contain single quotes. For example, the value for the ``tableName`` parameter can be ``'GreenhouseTemperatureTable'``.\n + For references, you must specify either variables or input values. For example, the value for the ``tableName`` parameter can be ``$variable.ddbtableName``.\n + For a substitution template, you must use ``${}``, and the template must be in single quotes. A substitution template can also contain a combination of literals, operators, functions, references, and substitution templates.\n In the following example, the value for the ``contentExpression`` parameter in ``Payload`` uses a substitution template. \n ``'{\\\"sensorID\\\": \\\"${$input.GreenhouseInput.sensor_id}\\\", \\\"temperature\\\": \\\"${$input.GreenhouseInput.temperature * 9 / 5 + 32}\\\"}'`` \n + For a string concatenation, you must use ``+``. A string concatenation can also contain a combination of literals, operators, functions, references, and substitution templates.\n In the following example, the value for the ``tableName`` parameter uses a string concatenation. \n ``'GreenhouseTemperatureTable ' + $input.GreenhouseInput.date`` \n \n For more information, see [Expressions](https://docs.aws.amazon.com/iotevents/latest/developerguide/iotevents-expressions.html) in the *Developer Guide*.\n The value for the ``type`` parameter in ``Payload`` must be ``JSON``.\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, "Firehose": { "type": "object", "additionalProperties": false, - "description": "Sends information about the alarm model instance and the event that triggered the action to an Amazon Kinesis Data Firehose delivery stream.", + "description": "Sends information about the detector model instance and the event that triggered the action to an Amazon Kinesis Data Firehose delivery stream.", "properties": { "DeliveryStreamName": { "type": "string", @@ -215,7 +245,9 @@ "markdownDescription": "The name of the Kinesis Data Firehose delivery stream where the data is written.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" }, "Payload": { - "$ref": "#/definitions/Payload" + "$ref": "#/definitions/Payload", + "description": "You can configure the action payload when you send a message to an Amazon Data Firehose delivery stream.", + "markdownDescription": "You can configure the action payload when you send a message to an Amazon Data Firehose delivery stream.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" }, "Separator": { "type": "string", @@ -226,80 +258,86 @@ "required": [ "DeliveryStreamName" ], - "markdownDescription": "Sends information about the alarm model instance and the event that triggered the action to an Amazon Kinesis Data Firehose delivery stream.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + "markdownDescription": "Sends information about the detector model instance and the event that triggered the action to an Amazon Kinesis Data Firehose delivery stream.\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, "IotEvents": { "type": "object", "additionalProperties": false, - "description": "Sends an AWS IoT Events input, passing in information about the alarm model instance and the event that triggered the action.", + "description": "Sends an ITE input, passing in information about the detector model instance and the event that triggered the action.", "properties": { "InputName": { "type": "string", - "description": "The name of the AWS IoT Events input where the data is sent.", + "description": "The name of the ITE input where the data is sent.", "minLength": 1, "maxLength": 128, - "markdownDescription": "The name of the AWS IoT Events input where the data is sent.\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 128 \nPattern: ^[a-zA-Z][a-zA-Z0-9_]*$ \nUpdate requires: No interruption" + "markdownDescription": "The name of the ITE input where the data is sent.\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 128 \nPattern: ^[a-zA-Z][a-zA-Z0-9_]*$ \nUpdate requires: No interruption" }, "Payload": { - "$ref": "#/definitions/Payload" + "$ref": "#/definitions/Payload", + "description": "You can configure the action payload when you send a message to an ITE input.", + "markdownDescription": "You can configure the action payload when you send a message to an ITE input.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" } }, "required": [ "InputName" ], - "markdownDescription": "Sends an AWS IoT Events input, passing in information about the alarm model instance and the event that triggered the action.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + "markdownDescription": "Sends an ITE input, passing in information about the detector model instance and the event that triggered the action.\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, "IotSiteWise": { "type": "object", "additionalProperties": false, - "description": "Sends information about the alarm model instance and the event that triggered the action to a specified asset property in AWS IoT SiteWise.", + "description": "Sends information about the detector model instance and the event that triggered the action to a specified asset property in ITSW.\n You must use expressions for all parameters in ``IotSiteWiseAction``. The expressions accept literals, operators, functions, references, and substitutions templates.\n **Examples**\n + For literal values, the expressions must contain single quotes. For example, the value for the ``propertyAlias`` parameter can be ``'/company/windfarm/3/turbine/7/temperature'``.\n + For references, you must specify either variables or input values. For example, the value for the ``assetId`` parameter can be ``$input.TurbineInput.assetId1``.\n + For a substitution template, you must use ``${}``, and the template must be in single quotes. A substitution template can also contain a combination of literals, operators, functions, references, and substitution templates.\n In the following example, the value for the ``propertyAlias`` parameter uses a substitution template. \n ``'company/windfarm/${$input.TemperatureInput.sensorData.windfarmID}/turbine/ ${$input.TemperatureInput.sensorData.turbineID}/temperature'`` \n \n You must specify either ``propertyAlias`` or both ``assetId`` and ``propertyId`` to identify the target asset property in ITSW.\n For more information, see [Expressions](https://docs.aws.amazon.com/iotevents/latest/developerguide/iotevents-expressions.html) in the *Developer Guide*.", "properties": { "AssetId": { "type": "string", - "description": "The ID of the asset that has the specified property. You can specify an expression.", - "markdownDescription": "The ID of the asset that has the specified property. You can specify an expression.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "description": "The ID of the asset that has the specified property.", + "markdownDescription": "The ID of the asset that has the specified property.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, "EntryId": { "type": "string", - "description": "A unique identifier for this entry. You can use the entry ID to track which data entry causes an error in case of failure. The default is a new unique identifier. You can also specify an expression.", - "markdownDescription": "A unique identifier for this entry. You can use the entry ID to track which data entry causes an error in case of failure. The default is a new unique identifier. You can also specify an expression.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "description": "A unique identifier for this entry. You can use the entry ID to track which data entry causes an error in case of failure. The default is a new unique identifier.", + "markdownDescription": "A unique identifier for this entry. You can use the entry ID to track which data entry causes an error in case of failure. The default is a new unique identifier.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, "PropertyAlias": { "type": "string", - "description": "The alias of the asset property. You can also specify an expression.", - "markdownDescription": "The alias of the asset property. You can also specify an expression.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "description": "The alias of the asset property.", + "markdownDescription": "The alias of the asset property.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, "PropertyId": { "type": "string", - "description": "The ID of the asset property. You can specify an expression.", - "markdownDescription": "The ID of the asset property. You can specify an expression.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "description": "The ID of the asset property.", + "markdownDescription": "The ID of the asset property.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, "PropertyValue": { - "$ref": "#/definitions/AssetPropertyValue" + "$ref": "#/definitions/AssetPropertyValue", + "description": "The value to send to the asset property. This value contains timestamp, quality, and value (TQV) information.", + "markdownDescription": "The value to send to the asset property. This value contains timestamp, quality, and value (TQV) information.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" } }, - "markdownDescription": "Sends information about the alarm model instance and the event that triggered the action to a specified asset property in AWS IoT SiteWise.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + "markdownDescription": "Sends information about the detector model instance and the event that triggered the action to a specified asset property in ITSW.\n You must use expressions for all parameters in ``IotSiteWiseAction``. The expressions accept literals, operators, functions, references, and substitutions templates.\n **Examples**\n + For literal values, the expressions must contain single quotes. For example, the value for the ``propertyAlias`` parameter can be ``'/company/windfarm/3/turbine/7/temperature'``.\n + For references, you must specify either variables or input values. For example, the value for the ``assetId`` parameter can be ``$input.TurbineInput.assetId1``.\n + For a substitution template, you must use ``${}``, and the template must be in single quotes. A substitution template can also contain a combination of literals, operators, functions, references, and substitution templates.\n In the following example, the value for the ``propertyAlias`` parameter uses a substitution template. \n ``'company/windfarm/${$input.TemperatureInput.sensorData.windfarmID}/turbine/ ${$input.TemperatureInput.sensorData.turbineID}/temperature'`` \n \n You must specify either ``propertyAlias`` or both ``assetId`` and ``propertyId`` to identify the target asset property in ITSW.\n For more information, see [Expressions](https://docs.aws.amazon.com/iotevents/latest/developerguide/iotevents-expressions.html) in the *Developer Guide*.\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, "IotTopicPublish": { "type": "object", "additionalProperties": false, - "description": "Information required to publish the MQTT message through the AWS IoT message broker.", + "description": "Information required to publish the MQTT message through the IoT message broker.", "properties": { "MqttTopic": { "type": "string", - "description": "The MQTT topic of the message. You can use a string expression that includes variables (`$variable.`) and input values (`$input..`) as the topic string.", + "description": "The MQTT topic of the message. You can use a string expression that includes variables (``$variable.``) and input values (``$input..``) as the topic string.", "minLength": 1, "maxLength": 128, - "markdownDescription": "The MQTT topic of the message. You can use a string expression that includes variables (`$variable.`) and input values (`$input..`) as the topic string.\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 128 \nUpdate requires: No interruption" + "markdownDescription": "The MQTT topic of the message. You can use a string expression that includes variables (``$variable.``) and input values (``$input..``) as the topic string.\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 128 \nUpdate requires: No interruption" }, "Payload": { - "$ref": "#/definitions/Payload" + "$ref": "#/definitions/Payload", + "description": "You can configure the action payload when you publish a message to an IoTCore topic.", + "markdownDescription": "You can configure the action payload when you publish a message to an IoTCore topic.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" } }, "required": [ "MqttTopic" ], - "markdownDescription": "Information required to publish the MQTT message through the AWS IoT message broker.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + "markdownDescription": "Information required to publish the MQTT message through the IoT message broker.\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, "Lambda": { "type": "object", @@ -313,13 +351,16 @@ "markdownDescription": "The ARN of the Lambda function that is executed.\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 2048 \nUpdate requires: No interruption" }, "Payload": { - "$ref": "#/definitions/Payload" + "$ref": "#/definitions/Payload", + "description": "You can configure the action payload when you send a message to a Lambda function.", + "markdownDescription": "You can configure the action payload when you send a message to a Lambda function.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" } }, "required": [ "FunctionArn" ], - "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + "description": "Calls a Lambda function, passing in information about the detector model instance and the event that triggered the action.", + "markdownDescription": "Calls a Lambda function, passing in information about the detector model instance and the event that triggered the action.\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, "Sns": { "type": "object", @@ -327,7 +368,9 @@ "description": "Information required to publish the Amazon SNS message.", "properties": { "Payload": { - "$ref": "#/definitions/Payload" + "$ref": "#/definitions/Payload", + "description": "You can configure the action payload when you send a message as an Amazon SNS push notification.", + "markdownDescription": "You can configure the action payload when you send a message as an Amazon SNS push notification.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" }, "TargetArn": { "type": "string", @@ -347,7 +390,9 @@ "additionalProperties": false, "properties": { "Payload": { - "$ref": "#/definitions/Payload" + "$ref": "#/definitions/Payload", + "description": "You can configure the action payload when you send a message to an Amazon SQS queue.", + "markdownDescription": "You can configure the action payload when you send a message to an Amazon SQS queue.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" }, "QueueUrl": { "type": "string", @@ -356,37 +401,38 @@ }, "UseBase64": { "type": "boolean", - "description": "Set this to `TRUE` if you want the data to be base-64 encoded before it is written to the queue. Otherwise, set this to `FALSE`.", - "markdownDescription": "Set this to `TRUE` if you want the data to be base-64 encoded before it is written to the queue. Otherwise, set this to `FALSE`.\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" + "description": "Set this to TRUE if you want the data to be base-64 encoded before it is written to the queue. Otherwise, set this to FALSE.", + "markdownDescription": "Set this to TRUE if you want the data to be base-64 encoded before it is written to the queue. Otherwise, set this to FALSE.\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" } }, "required": [ "QueueUrl" ], - "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + "description": "Sends information about the detector model instance and the event that triggered the action to an Amazon SQS queue.", + "markdownDescription": "Sends information about the detector model instance and the event that triggered the action to an Amazon SQS queue.\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, "Payload": { "type": "object", "additionalProperties": false, - "description": "Information needed to configure the payload.\n\nBy default, AWS IoT Events generates a standard payload in JSON for any action. This action payload contains all attribute-value pairs that have the information about the alarm model instance and the event triggered the action. To configure the action payload, you can use `contentExpression`.", + "description": "Information needed to configure the payload.\n By default, ITE generates a standard payload in JSON for any action. This action payload contains all attribute-value pairs that have the information about the detector model instance and the event triggered the action. To configure the action payload, you can use ``contentExpression``.", "properties": { "ContentExpression": { "type": "string", - "description": "The content of the payload. You can use a string expression that includes quoted strings (`''`), variables (`$variable.`), input values (`$input..`), string concatenations, and quoted strings that contain `${}` as the content. The recommended maximum size of a content expression is 1 KB.", + "description": "The content of the payload. You can use a string expression that includes quoted strings (``''``), variables (``$variable.``), input values (``$input..``), string concatenations, and quoted strings that contain ``${}`` as the content. The recommended maximum size of a content expression is 1 KB.", "minLength": 1, - "markdownDescription": "The content of the payload. You can use a string expression that includes quoted strings (`''`), variables (`$variable.`), input values (`$input..`), string concatenations, and quoted strings that contain `${}` as the content. The recommended maximum size of a content expression is 1 KB.\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nUpdate requires: No interruption" + "markdownDescription": "The content of the payload. You can use a string expression that includes quoted strings (``''``), variables (``$variable.``), input values (``$input..``), string concatenations, and quoted strings that contain ``${}`` as the content. The recommended maximum size of a content expression is 1 KB.\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nUpdate requires: No interruption" }, "Type": { "type": "string", - "description": "The value of the payload type can be either `STRING` or `JSON`.", - "markdownDescription": "The value of the payload type can be either `STRING` or `JSON`.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" + "description": "The value of the payload type can be either ``STRING`` or ``JSON``.", + "markdownDescription": "The value of the payload type can be either ``STRING`` or ``JSON``.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" } }, "required": [ "ContentExpression", "Type" ], - "markdownDescription": "Information needed to configure the payload.\n\nBy default, AWS IoT Events generates a standard payload in JSON for any action. This action payload contains all attribute-value pairs that have the information about the alarm model instance and the event triggered the action. To configure the action payload, you can use `contentExpression`.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + "markdownDescription": "Information needed to configure the payload.\n By default, ITE generates a standard payload in JSON for any action. This action payload contains all attribute-value pairs that have the information about the detector model instance and the event triggered the action. To configure the action payload, you can use ``contentExpression``.\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, "InitializationConfiguration": { "type": "object", @@ -395,9 +441,9 @@ "properties": { "DisabledOnInitialization": { "type": "boolean", - "description": "The value must be TRUE or FALSE. If FALSE, all alarm instances created based on the alarm model are activated. The default value is TRUE.", + "description": "The value must be ``TRUE`` or ``FALSE``. If ``FALSE``, all alarm instances created based on the alarm model are activated. The default value is ``TRUE``.", "default": "true", - "markdownDescription": "The value must be TRUE or FALSE. If FALSE, all alarm instances created based on the alarm model are activated. The default value is TRUE.\n\n---\n\nRequired: Yes \nType: Boolean \nUpdate requires: No interruption" + "markdownDescription": "The value must be ``TRUE`` or ``FALSE``. If ``FALSE``, all alarm instances created based on the alarm model are activated. The default value is ``TRUE``.\n\n---\n\nRequired: Yes \nType: Boolean \nUpdate requires: No interruption" } }, "required": [ @@ -412,9 +458,9 @@ "properties": { "Enabled": { "type": "boolean", - "description": "The value must be TRUE or FALSE. If TRUE, you receive a notification when the alarm state changes. You must choose to acknowledge the notification before the alarm state can return to NORMAL. If FALSE, you won't receive notifications. The alarm automatically changes to the NORMAL state when the input property value returns to the specified range.", + "description": "The value must be ``TRUE`` or ``FALSE``. If ``TRUE``, you receive a notification when the alarm state changes. You must choose to acknowledge the notification before the alarm state can return to ``NORMAL``. If ``FALSE``, you won't receive notifications. The alarm automatically changes to the ``NORMAL`` state when the input property value returns to the specified range.", "default": "true", - "markdownDescription": "The value must be TRUE or FALSE. If TRUE, you receive a notification when the alarm state changes. You must choose to acknowledge the notification before the alarm state can return to NORMAL. If FALSE, you won't receive notifications. The alarm automatically changes to the NORMAL state when the input property value returns to the specified range.\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" + "markdownDescription": "The value must be ``TRUE`` or ``FALSE``. If ``TRUE``, you receive a notification when the alarm state changes. You must choose to acknowledge the notification before the alarm state can return to ``NORMAL``. If ``FALSE``, you won't receive notifications. The alarm automatically changes to the ``NORMAL`` state when the input property value returns to the specified range.\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" } }, "markdownDescription": "Specifies whether to get notified for alarm state changes.\n\n---\n\nRequired: No \nUpdate requires: No interruption" @@ -422,95 +468,99 @@ "AssetPropertyValue": { "type": "object", "additionalProperties": false, - "description": "A structure that contains value information. For more information, see [AssetPropertyValue](https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_AssetPropertyValue.html) in the *AWS IoT SiteWise API Reference*.", + "description": "A structure that contains value information. For more information, see [AssetPropertyValue](https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_AssetPropertyValue.html) in the *API Reference*.\n You must use expressions for all parameters in ``AssetPropertyValue``. The expressions accept literals, operators, functions, references, and substitution templates.\n **Examples**\n + For literal values, the expressions must contain single quotes. For example, the value for the ``quality`` parameter can be ``'GOOD'``.\n + For references, you must specify either variables or input values. For example, the value for the ``quality`` parameter can be ``$input.TemperatureInput.sensorData.quality``.\n \n For more information, see [Expressions](https://docs.aws.amazon.com/iotevents/latest/developerguide/iotevents-expressions.html) in the *Developer Guide*.", "properties": { "Quality": { "type": "string", - "description": "The quality of the asset property value. The value must be `GOOD`, `BAD`, or `UNCERTAIN`. You can also specify an expression.", - "markdownDescription": "The quality of the asset property value. The value must be `GOOD`, `BAD`, or `UNCERTAIN`. You can also specify an expression.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "description": "The quality of the asset property value. The value must be ``'GOOD'``, ``'BAD'``, or ``'UNCERTAIN'``.", + "markdownDescription": "The quality of the asset property value. The value must be ``'GOOD'``, ``'BAD'``, or ``'UNCERTAIN'``.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, "Timestamp": { - "$ref": "#/definitions/AssetPropertyTimestamp" + "$ref": "#/definitions/AssetPropertyTimestamp", + "description": "The timestamp associated with the asset property value. The default is the current event time.", + "markdownDescription": "The timestamp associated with the asset property value. The default is the current event time.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" }, "Value": { - "$ref": "#/definitions/AssetPropertyVariant" + "$ref": "#/definitions/AssetPropertyVariant", + "description": "The value to send to an asset property.", + "markdownDescription": "The value to send to an asset property.\n\n---\n\nRequired: Yes \nType: \nUpdate requires: No interruption" } }, "required": [ "Value" ], - "markdownDescription": "A structure that contains value information. For more information, see [AssetPropertyValue](https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_AssetPropertyValue.html) in the *AWS IoT SiteWise API Reference*.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + "markdownDescription": "A structure that contains value information. For more information, see [AssetPropertyValue](https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_AssetPropertyValue.html) in the *API Reference*.\n You must use expressions for all parameters in ``AssetPropertyValue``. The expressions accept literals, operators, functions, references, and substitution templates.\n **Examples**\n + For literal values, the expressions must contain single quotes. For example, the value for the ``quality`` parameter can be ``'GOOD'``.\n + For references, you must specify either variables or input values. For example, the value for the ``quality`` parameter can be ``$input.TemperatureInput.sensorData.quality``.\n \n For more information, see [Expressions](https://docs.aws.amazon.com/iotevents/latest/developerguide/iotevents-expressions.html) in the *Developer Guide*.\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, "AssetPropertyTimestamp": { "type": "object", "additionalProperties": false, - "description": "A structure that contains timestamp information. For more information, see [TimeInNanos](https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_TimeInNanos.html) in the *AWS IoT SiteWise API Reference*.", + "description": "A structure that contains timestamp information. For more information, see [TimeInNanos](https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_TimeInNanos.html) in the *API Reference*.\n You must use expressions for all parameters in ``AssetPropertyTimestamp``. The expressions accept literals, operators, functions, references, and substitution templates.\n **Examples**\n + For literal values, the expressions must contain single quotes. For example, the value for the ``timeInSeconds`` parameter can be ``'1586400675'``.\n + For references, you must specify either variables or input values. For example, the value for the ``offsetInNanos`` parameter can be ``$variable.time``.\n + For a substitution template, you must use ``${}``, and the template must be in single quotes. A substitution template can also contain a combination of literals, operators, functions, references, and substitution templates.\n In the following example, the value for the ``timeInSeconds`` parameter uses a substitution template.\n ``'${$input.TemperatureInput.sensorData.timestamp / 1000}'`` \n \n For more information, see [Expressions](https://docs.aws.amazon.com/iotevents/latest/developerguide/iotevents-expressions.html) in the *Developer Guide*.", "properties": { "OffsetInNanos": { "type": "string", - "description": "The timestamp, in seconds, in the Unix epoch format. The valid range is between `1-31556889864403199`. You can also specify an expression.", - "markdownDescription": "The timestamp, in seconds, in the Unix epoch format. The valid range is between `1-31556889864403199`. You can also specify an expression.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "description": "The nanosecond offset converted from ``timeInSeconds``. The valid range is between 0-999999999.", + "markdownDescription": "The nanosecond offset converted from ``timeInSeconds``. The valid range is between 0-999999999.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, "TimeInSeconds": { "type": "string", - "description": "The nanosecond offset converted from `timeInSeconds`. The valid range is between `0-999999999`. You can also specify an expression.", - "markdownDescription": "The nanosecond offset converted from `timeInSeconds`. The valid range is between `0-999999999`. You can also specify an expression.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" + "description": "The timestamp, in seconds, in the Unix epoch format. The valid range is between 1-31556889864403199.", + "markdownDescription": "The timestamp, in seconds, in the Unix epoch format. The valid range is between 1-31556889864403199.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" } }, "required": [ "TimeInSeconds" ], - "markdownDescription": "A structure that contains timestamp information. For more information, see [TimeInNanos](https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_TimeInNanos.html) in the *AWS IoT SiteWise API Reference*.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + "markdownDescription": "A structure that contains timestamp information. For more information, see [TimeInNanos](https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_TimeInNanos.html) in the *API Reference*.\n You must use expressions for all parameters in ``AssetPropertyTimestamp``. The expressions accept literals, operators, functions, references, and substitution templates.\n **Examples**\n + For literal values, the expressions must contain single quotes. For example, the value for the ``timeInSeconds`` parameter can be ``'1586400675'``.\n + For references, you must specify either variables or input values. For example, the value for the ``offsetInNanos`` parameter can be ``$variable.time``.\n + For a substitution template, you must use ``${}``, and the template must be in single quotes. A substitution template can also contain a combination of literals, operators, functions, references, and substitution templates.\n In the following example, the value for the ``timeInSeconds`` parameter uses a substitution template.\n ``'${$input.TemperatureInput.sensorData.timestamp / 1000}'`` \n \n For more information, see [Expressions](https://docs.aws.amazon.com/iotevents/latest/developerguide/iotevents-expressions.html) in the *Developer Guide*.\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, "AssetPropertyVariant": { "type": "object", "additionalProperties": false, - "description": "A structure that contains an asset property value. For more information, see [Variant](https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_Variant.html) in the *AWS IoT SiteWise API Reference*.", + "description": "A structure that contains an asset property value. For more information, see [Variant](https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_Variant.html) in the *API Reference*.\n You must use expressions for all parameters in ``AssetPropertyVariant``. The expressions accept literals, operators, functions, references, and substitution templates.\n **Examples**\n + For literal values, the expressions must contain single quotes. For example, the value for the ``integerValue`` parameter can be ``'100'``.\n + For references, you must specify either variables or parameters. For example, the value for the ``booleanValue`` parameter can be ``$variable.offline``.\n + For a substitution template, you must use ``${}``, and the template must be in single quotes. A substitution template can also contain a combination of literals, operators, functions, references, and substitution templates. \n In the following example, the value for the ``doubleValue`` parameter uses a substitution template. \n ``'${$input.TemperatureInput.sensorData.temperature * 6 / 5 + 32}'`` \n \n For more information, see [Expressions](https://docs.aws.amazon.com/iotevents/latest/developerguide/iotevents-expressions.html) in the *Developer Guide*.\n You must specify one of the following value types, depending on the ``dataType`` of the specified asset property. For more information, see [AssetProperty](https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_AssetProperty.html) in the *API Reference*.", "properties": { "BooleanValue": { "type": "string", - "description": "The asset property value is a Boolean value that must be `TRUE` or `FALSE`. You can also specify an expression. If you use an expression, the evaluated result should be a Boolean value.", - "markdownDescription": "The asset property value is a Boolean value that must be `TRUE` or `FALSE`. You can also specify an expression. If you use an expression, the evaluated result should be a Boolean value.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "description": "The asset property value is a Boolean value that must be ``'TRUE'`` or ``'FALSE'``. You must use an expression, and the evaluated result should be a Boolean value.", + "markdownDescription": "The asset property value is a Boolean value that must be ``'TRUE'`` or ``'FALSE'``. You must use an expression, and the evaluated result should be a Boolean value.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, "DoubleValue": { "type": "string", - "description": "The asset property value is a double. You can also specify an expression. If you use an expression, the evaluated result should be a double.", - "markdownDescription": "The asset property value is a double. You can also specify an expression. If you use an expression, the evaluated result should be a double.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "description": "The asset property value is a double. You must use an expression, and the evaluated result should be a double.", + "markdownDescription": "The asset property value is a double. You must use an expression, and the evaluated result should be a double.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, "IntegerValue": { "type": "string", - "description": "The asset property value is an integer. You can also specify an expression. If you use an expression, the evaluated result should be an integer.", - "markdownDescription": "The asset property value is an integer. You can also specify an expression. If you use an expression, the evaluated result should be an integer.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "description": "The asset property value is an integer. You must use an expression, and the evaluated result should be an integer.", + "markdownDescription": "The asset property value is an integer. You must use an expression, and the evaluated result should be an integer.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, "StringValue": { "type": "string", - "description": "The asset property value is a string. You can also specify an expression. If you use an expression, the evaluated result should be a string.", - "markdownDescription": "The asset property value is a string. You can also specify an expression. If you use an expression, the evaluated result should be a string.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "description": "The asset property value is a string. You must use an expression, and the evaluated result should be a string.", + "markdownDescription": "The asset property value is a string. You must use an expression, and the evaluated result should be a string.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" } }, - "markdownDescription": "A structure that contains an asset property value. For more information, see [Variant](https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_Variant.html) in the *AWS IoT SiteWise API Reference*.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + "markdownDescription": "A structure that contains an asset property value. For more information, see [Variant](https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_Variant.html) in the *API Reference*.\n You must use expressions for all parameters in ``AssetPropertyVariant``. The expressions accept literals, operators, functions, references, and substitution templates.\n **Examples**\n + For literal values, the expressions must contain single quotes. For example, the value for the ``integerValue`` parameter can be ``'100'``.\n + For references, you must specify either variables or parameters. For example, the value for the ``booleanValue`` parameter can be ``$variable.offline``.\n + For a substitution template, you must use ``${}``, and the template must be in single quotes. A substitution template can also contain a combination of literals, operators, functions, references, and substitution templates. \n In the following example, the value for the ``doubleValue`` parameter uses a substitution template. \n ``'${$input.TemperatureInput.sensorData.temperature * 6 / 5 + 32}'`` \n \n For more information, see [Expressions](https://docs.aws.amazon.com/iotevents/latest/developerguide/iotevents-expressions.html) in the *Developer Guide*.\n You must specify one of the following value types, depending on the ``dataType`` of the specified asset property. For more information, see [AssetProperty](https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_AssetProperty.html) in the *API Reference*.\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, "Tag": { "type": "object", "additionalProperties": false, - "description": "Tags to be applied to Input.", + "description": "Metadata that can be used to manage the resource.", "properties": { "Key": { - "description": "Key of the Tag.", + "description": "The tag's key.", "type": "string", - "markdownDescription": "Key of the Tag.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" + "markdownDescription": "The tag's key.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" }, "Value": { - "description": "Value of the Tag.", + "description": "The tag's value.", "type": "string", - "markdownDescription": "Value of the Tag.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" + "markdownDescription": "The tag's value.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" } }, "required": [ "Value", "Key" ], - "markdownDescription": "Tags to be applied to Input.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + "markdownDescription": "Metadata that can be used to manage the resource.\n\n---\n\nRequired: No \nUpdate requires: No interruption" } }, "properties": { @@ -523,49 +573,55 @@ }, "AlarmModelDescription": { "type": "string", - "description": "A brief description of the alarm model.", + "description": "The description of the alarm model.", "maxLength": 1024, - "markdownDescription": "A brief description of the alarm model.\n\n---\n\nRequired: No \nType: String \nMaximum Length: 1024 \nUpdate requires: No interruption" + "markdownDescription": "The description of the alarm model.\n\n---\n\nRequired: No \nType: String \nMaximum Length: 1024 \nUpdate requires: No interruption" }, "RoleArn": { "type": "string", - "description": "The ARN of the role that grants permission to AWS IoT Events to perform its operations.", + "description": "The ARN of the IAM role that allows the alarm to perform actions and access AWS resources. For more information, see [Amazon Resource Names (ARNs)](https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html) in the *General Reference*.", "minLength": 1, "maxLength": 2048, - "markdownDescription": "The ARN of the role that grants permission to AWS IoT Events to perform its operations.\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 2048 \nUpdate requires: No interruption" + "markdownDescription": "The ARN of the IAM role that allows the alarm to perform actions and access AWS resources. For more information, see [Amazon Resource Names (ARNs)](https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html) in the *General Reference*.\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 2048 \nUpdate requires: No interruption" }, "Key": { "type": "string", - "description": "The value used to identify a alarm instance. When a device or system sends input, a new alarm instance with a unique key value is created. AWS IoT Events can continue to route input to its corresponding alarm instance based on this identifying information.\n\nThis parameter uses a JSON-path expression to select the attribute-value pair in the message payload that is used for identification. To route the message to the correct alarm instance, the device must send a message payload that contains the same attribute-value.", + "description": "An input attribute used as a key to create an alarm. ITE routes [inputs](https://docs.aws.amazon.com/iotevents/latest/apireference/API_Input.html) associated with this key to the alarm.", "minLength": 1, "maxLength": 128, - "markdownDescription": "The value used to identify a alarm instance. When a device or system sends input, a new alarm instance with a unique key value is created. AWS IoT Events can continue to route input to its corresponding alarm instance based on this identifying information.\n\nThis parameter uses a JSON-path expression to select the attribute-value pair in the message payload that is used for identification. To route the message to the correct alarm instance, the device must send a message payload that contains the same attribute-value.\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 128 \nPattern: ^((`[\\w\\- ]+`)|([\\w\\-]+))(\\.((`[\\w\\- ]+`)|([\\w\\-]+)))*$ \nUpdate requires: Replacement" + "markdownDescription": "An input attribute used as a key to create an alarm. ITE routes [inputs](https://docs.aws.amazon.com/iotevents/latest/apireference/API_Input.html) associated with this key to the alarm.\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 128 \nPattern: ^((`[\\w\\- ]+`)|([\\w\\-]+))(\\.((`[\\w\\- ]+`)|([\\w\\-]+)))*$ \nUpdate requires: Replacement" }, "Severity": { "type": "integer", - "description": "A non-negative integer that reflects the severity level of the alarm.\n\n", + "description": "A non-negative integer that reflects the severity level of the alarm.", "minimum": 0, "maximum": 2147483647, - "markdownDescription": "A non-negative integer that reflects the severity level of the alarm.\n\n\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" + "markdownDescription": "A non-negative integer that reflects the severity level of the alarm.\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" }, "AlarmRule": { - "$ref": "#/definitions/AlarmRule" + "$ref": "#/definitions/AlarmRule", + "description": "Defines when your alarm is invoked.", + "markdownDescription": "Defines when your alarm is invoked.\n\n---\n\nRequired: Yes \nType: \nUpdate requires: No interruption" }, "AlarmEventActions": { - "$ref": "#/definitions/AlarmEventActions" + "$ref": "#/definitions/AlarmEventActions", + "description": "Contains information about one or more alarm actions.", + "markdownDescription": "Contains information about one or more alarm actions.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" }, "AlarmCapabilities": { - "$ref": "#/definitions/AlarmCapabilities" + "$ref": "#/definitions/AlarmCapabilities", + "description": "Contains the configuration information of alarm state changes.", + "markdownDescription": "Contains the configuration information of alarm state changes.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" }, "Tags": { "type": "array", "uniqueItems": false, "insertionOrder": false, - "description": "An array of key-value pairs to apply to this resource.\n\nFor more information, see [Tag](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-resource-tags.html).", + "description": "A list of key-value pairs that contain metadata for the alarm model. The tags help you manage the alarm model. For more information, see [Tagging your resources](https://docs.aws.amazon.com/iotevents/latest/developerguide/tagging-iotevents.html) in the *Developer Guide*.\n You can create up to 50 tags for one alarm model.", "items": { "$ref": "#/definitions/Tag" }, - "markdownDescription": "An array of key-value pairs to apply to this resource.\n\nFor more information, see [Tag](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-resource-tags.html).\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + "markdownDescription": "A list of key-value pairs that contain metadata for the alarm model. The tags help you manage the alarm model. For more information, see [Tagging your resources](https://docs.aws.amazon.com/iotevents/latest/developerguide/tagging-iotevents.html) in the *Developer Guide*.\n You can create up to 50 tags for one alarm model.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" } }, "required": [ @@ -620,5 +676,17 @@ ] } }, + "tagging": { + "taggable": true, + "tagOnCreate": true, + "tagUpdatable": true, + "cloudFormationSystemTags": false, + "tagProperty": "/properties/Tags", + "permissions": [ + "iotevents:UntagResource", + "iotevents:TagResource", + "iotevents:ListTagsForResource" + ] + }, "attributes": {} } \ No newline at end of file diff --git a/server/schema/resources/aws-iotevents-detectormodel.json b/server/schema/resources/aws-iotevents-detectormodel.json index 6451ffa9..33eec31e 100644 --- a/server/schema/resources/aws-iotevents-detectormodel.json +++ b/server/schema/resources/aws-iotevents-detectormodel.json @@ -1,6 +1,6 @@ { "typeName": "AWS::IoTEvents::DetectorModel", - "description": "The AWS::IoTEvents::DetectorModel resource creates a detector model. You create a *detector model* (a model of your equipment or process) using *states*. For each state, you define conditional (Boolean) logic that evaluates the incoming inputs to detect significant events. When an event is detected, it can change the state or trigger custom-built or predefined actions using other AWS services. You can define additional events that trigger actions when entering or exiting a state and, optionally, when a condition is met. For more information, see [How to Use AWS IoT Events](https://docs.aws.amazon.com/iotevents/latest/developerguide/how-to-use-iotevents.html) in the *AWS IoT Events Developer Guide*.", + "description": "The AWS::IoTEvents::DetectorModel resource creates a detector model. You create a *detector model* (a model of your equipment or process) using *states*. For each state, you define conditional (Boolean) logic that evaluates the incoming inputs to detect significant events. When an event is detected, it can change the state or trigger custom-built or predefined actions using other AWS services. You can define additional events that trigger actions when entering or exiting a state and, optionally, when a condition is met. For more information, see [How to Use](https://docs.aws.amazon.com/iotevents/latest/developerguide/how-to-use-iotevents.html) in the *Developer Guide*.\n When you successfully update a detector model (using the ITE console, ITE API or CLI commands, or CFN) all detector instances created by the model are reset to their initial states. (The detector's ``state``, and the values of any variables and timers are reset.)\n When you successfully update a detector model (using the ITE console, ITE API or CLI commands, or CFN) the version number of the detector model is incremented. (A detector model with version number 1 before the update has version number 2 after the update succeeds.)\n If you attempt to update a detector model using CFN and the update does not succeed, the system may, in some cases, restore the original detector model. When this occurs, the detector model's version is incremented twice (for example, from version 1 to version 3) and the detector instances are reset.\n Also, be aware that if you attempt to update several detector models at once using CFN, some updates may succeed and others fail. In this case, the effects on each detector model's detector instances and version number depend on whether the update succeeded or failed, with the results as stated.", "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-rpdk.git", "definitions": { "DetectorModelDefinition": { @@ -39,13 +39,19 @@ "description": "Information that defines a state of a detector.", "properties": { "OnEnter": { - "$ref": "#/definitions/OnEnter" + "$ref": "#/definitions/OnEnter", + "description": "When entering this state, perform these ``actions`` if the ``condition`` is TRUE.", + "markdownDescription": "When entering this state, perform these ``actions`` if the ``condition`` is TRUE.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" }, "OnExit": { - "$ref": "#/definitions/OnExit" + "$ref": "#/definitions/OnExit", + "description": "When exiting this state, perform these ``actions`` if the specified ``condition`` is ``TRUE``.", + "markdownDescription": "When exiting this state, perform these ``actions`` if the specified ``condition`` is ``TRUE``.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" }, "OnInput": { - "$ref": "#/definitions/OnInput" + "$ref": "#/definitions/OnInput", + "description": "When an input is received and the ``condition`` is TRUE, perform the specified ``actions``.", + "markdownDescription": "When an input is received and the ``condition`` is TRUE, perform the specified ``actions``.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" }, "StateName": { "type": "string", @@ -63,71 +69,71 @@ "OnEnter": { "type": "object", "additionalProperties": false, - "description": "When entering this state, perform these `actions` if the `condition` is `TRUE`.", + "description": "When entering this state, perform these ``actions`` if the ``condition`` is TRUE.", "properties": { "Events": { "type": "array", "uniqueItems": false, "insertionOrder": false, - "description": "Specifies the `actions` that are performed when the state is entered and the `condition` is `TRUE`.", + "description": "Specifies the actions that are performed when the state is entered and the ``condition`` is ``TRUE``.", "items": { "$ref": "#/definitions/Event" }, - "markdownDescription": "Specifies the `actions` that are performed when the state is entered and the `condition` is `TRUE`.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + "markdownDescription": "Specifies the actions that are performed when the state is entered and the ``condition`` is ``TRUE``.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" } }, - "markdownDescription": "When entering this state, perform these `actions` if the `condition` is `TRUE`.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + "markdownDescription": "When entering this state, perform these ``actions`` if the ``condition`` is TRUE.\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, "OnExit": { "type": "object", "additionalProperties": false, - "description": "When exiting this state, perform these `actions` if the specified `condition` is `TRUE`.", + "description": "When exiting this state, perform these ``actions`` if the specified ``condition`` is ``TRUE``.", "properties": { "Events": { "type": "array", "uniqueItems": false, "insertionOrder": false, - "description": "Specifies the `actions` that are performed when the state is exited and the `condition` is `TRUE`.", + "description": "Specifies the ``actions`` that are performed when the state is exited and the ``condition`` is ``TRUE``.", "items": { "$ref": "#/definitions/Event" }, - "markdownDescription": "Specifies the `actions` that are performed when the state is exited and the `condition` is `TRUE`.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + "markdownDescription": "Specifies the ``actions`` that are performed when the state is exited and the ``condition`` is ``TRUE``.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" } }, - "markdownDescription": "When exiting this state, perform these `actions` if the specified `condition` is `TRUE`.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + "markdownDescription": "When exiting this state, perform these ``actions`` if the specified ``condition`` is ``TRUE``.\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, "OnInput": { "type": "object", "additionalProperties": false, - "description": "When an input is received and the `condition` is `TRUE`, perform the specified `actions`.", + "description": "Specifies the actions performed when the ``condition`` evaluates to TRUE.", "properties": { "Events": { "type": "array", "uniqueItems": false, "insertionOrder": false, - "description": "Specifies the `actions` performed when the `condition` evaluates to `TRUE`.", + "description": "Specifies the actions performed when the ``condition`` evaluates to TRUE.", "items": { "$ref": "#/definitions/Event" }, - "markdownDescription": "Specifies the `actions` performed when the `condition` evaluates to `TRUE`.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + "markdownDescription": "Specifies the actions performed when the ``condition`` evaluates to TRUE.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" }, "TransitionEvents": { "type": "array", "uniqueItems": false, "insertionOrder": true, - "description": "Specifies the `actions` performed, and the next `state` entered, when a `condition` evaluates to `TRUE`.", + "description": "Specifies the actions performed, and the next state entered, when a ``condition`` evaluates to TRUE.", "items": { "$ref": "#/definitions/TransitionEvent" }, - "markdownDescription": "Specifies the `actions` performed, and the next `state` entered, when a `condition` evaluates to `TRUE`.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + "markdownDescription": "Specifies the actions performed, and the next state entered, when a ``condition`` evaluates to TRUE.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" } }, - "markdownDescription": "When an input is received and the `condition` is `TRUE`, perform the specified `actions`.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + "markdownDescription": "Specifies the actions performed when the ``condition`` evaluates to TRUE.\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, "Event": { "type": "object", "additionalProperties": false, - "description": "Specifies the `actions` to be performed when the `condition` evaluates to `TRUE`.", + "description": "Specifies the ``actions`` to be performed when the ``condition`` evaluates to TRUE.", "properties": { "Actions": { "type": "array", @@ -141,9 +147,9 @@ }, "Condition": { "type": "string", - "description": "The Boolean expression that, when `TRUE`, causes the `actions` to be performed. If not present, the `actions` are performed (=`TRUE`). If the expression result is not a `Boolean` value, the `actions` are not performed (=`FALSE`).", + "description": "Optional. The Boolean expression that, when TRUE, causes the ``actions`` to be performed. If not present, the actions are performed (=TRUE). If the expression result is not a Boolean value, the actions are not performed (=FALSE).", "maxLength": 512, - "markdownDescription": "The Boolean expression that, when `TRUE`, causes the `actions` to be performed. If not present, the `actions` are performed (=`TRUE`). If the expression result is not a `Boolean` value, the `actions` are not performed (=`FALSE`).\n\n---\n\nRequired: No \nType: String \nMaximum Length: 512 \nUpdate requires: No interruption" + "markdownDescription": "Optional. The Boolean expression that, when TRUE, causes the ``actions`` to be performed. If not present, the actions are performed (=TRUE). If the expression result is not a Boolean value, the actions are not performed (=FALSE).\n\n---\n\nRequired: No \nType: String \nMaximum Length: 512 \nUpdate requires: No interruption" }, "EventName": { "type": "string", @@ -155,12 +161,12 @@ "required": [ "EventName" ], - "markdownDescription": "Specifies the `actions` to be performed when the `condition` evaluates to `TRUE`.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + "markdownDescription": "Specifies the ``actions`` to be performed when the ``condition`` evaluates to TRUE.\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, "TransitionEvent": { "type": "object", "additionalProperties": false, - "description": "Specifies the `actions `performed and the next `state` entered when a `condition` evaluates to `TRUE`.", + "description": "Specifies the actions performed and the next state entered when a ``condition`` evaluates to TRUE.", "properties": { "Actions": { "type": "array", @@ -174,16 +180,16 @@ }, "Condition": { "type": "string", - "description": "A Boolean expression that when `TRUE` causes the `actions` to be performed and the `nextState` to be entered.", + "description": "Required. A Boolean expression that when TRUE causes the actions to be performed and the ``nextState`` to be entered.", "maxLength": 512, - "markdownDescription": "A Boolean expression that when `TRUE` causes the `actions` to be performed and the `nextState` to be entered.\n\n---\n\nRequired: Yes \nType: String \nMaximum Length: 512 \nUpdate requires: No interruption" + "markdownDescription": "Required. A Boolean expression that when TRUE causes the actions to be performed and the ``nextState`` to be entered.\n\n---\n\nRequired: Yes \nType: String \nMaximum Length: 512 \nUpdate requires: No interruption" }, "EventName": { "type": "string", - "description": "The name of the event.", + "description": "The name of the transition event.", "minLength": 1, "maxLength": 128, - "markdownDescription": "The name of the event.\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 128 \nUpdate requires: No interruption" + "markdownDescription": "The name of the transition event.\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 128 \nUpdate requires: No interruption" }, "NextState": { "type": "string", @@ -198,54 +204,80 @@ "EventName", "NextState" ], - "markdownDescription": "Specifies the `actions `performed and the next `state` entered when a `condition` evaluates to `TRUE`.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + "markdownDescription": "Specifies the actions performed and the next state entered when a ``condition`` evaluates to TRUE.\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, "Action": { "type": "object", "additionalProperties": false, - "description": "The actions to be performed.", + "description": "An action to be performed when the ``condition`` is TRUE.", "properties": { "ClearTimer": { - "$ref": "#/definitions/ClearTimer" + "$ref": "#/definitions/ClearTimer", + "description": "Information needed to clear the timer.", + "markdownDescription": "Information needed to clear the timer.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" }, "DynamoDB": { - "$ref": "#/definitions/DynamoDB" + "$ref": "#/definitions/DynamoDB", + "description": "Writes to the DynamoDB table that you created. The default action payload contains all attribute-value pairs that have the information about the detector model instance and the event that triggered the action. You can customize the [payload](https://docs.aws.amazon.com/iotevents/latest/apireference/API_Payload.html). One column of the DynamoDB table receives all attribute-value pairs in the payload that you specify. For more information, see [Actions](https://docs.aws.amazon.com/iotevents/latest/developerguide/iotevents-event-actions.html) in *Developer Guide*.", + "markdownDescription": "Writes to the DynamoDB table that you created. The default action payload contains all attribute-value pairs that have the information about the detector model instance and the event that triggered the action. You can customize the [payload](https://docs.aws.amazon.com/iotevents/latest/apireference/API_Payload.html). One column of the DynamoDB table receives all attribute-value pairs in the payload that you specify. For more information, see [Actions](https://docs.aws.amazon.com/iotevents/latest/developerguide/iotevents-event-actions.html) in *Developer Guide*.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" }, "DynamoDBv2": { - "$ref": "#/definitions/DynamoDBv2" + "$ref": "#/definitions/DynamoDBv2", + "description": "Writes to the DynamoDB table that you created. The default action payload contains all attribute-value pairs that have the information about the detector model instance and the event that triggered the action. You can customize the [payload](https://docs.aws.amazon.com/iotevents/latest/apireference/API_Payload.html). A separate column of the DynamoDB table receives one attribute-value pair in the payload that you specify. For more information, see [Actions](https://docs.aws.amazon.com/iotevents/latest/developerguide/iotevents-event-actions.html) in *Developer Guide*.", + "markdownDescription": "Writes to the DynamoDB table that you created. The default action payload contains all attribute-value pairs that have the information about the detector model instance and the event that triggered the action. You can customize the [payload](https://docs.aws.amazon.com/iotevents/latest/apireference/API_Payload.html). A separate column of the DynamoDB table receives one attribute-value pair in the payload that you specify. For more information, see [Actions](https://docs.aws.amazon.com/iotevents/latest/developerguide/iotevents-event-actions.html) in *Developer Guide*.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" }, "Firehose": { - "$ref": "#/definitions/Firehose" + "$ref": "#/definitions/Firehose", + "description": "Sends information about the detector model instance and the event that triggered the action to an Amazon Kinesis Data Firehose delivery stream.", + "markdownDescription": "Sends information about the detector model instance and the event that triggered the action to an Amazon Kinesis Data Firehose delivery stream.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" }, "IotEvents": { - "$ref": "#/definitions/IotEvents" + "$ref": "#/definitions/IotEvents", + "description": "Sends ITE input, which passes information about the detector model instance and the event that triggered the action.", + "markdownDescription": "Sends ITE input, which passes information about the detector model instance and the event that triggered the action.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" }, "IotSiteWise": { - "$ref": "#/definitions/IotSiteWise" + "$ref": "#/definitions/IotSiteWise", + "description": "Sends information about the detector model instance and the event that triggered the action to an asset property in ITSW .", + "markdownDescription": "Sends information about the detector model instance and the event that triggered the action to an asset property in ITSW .\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" }, "IotTopicPublish": { - "$ref": "#/definitions/IotTopicPublish" + "$ref": "#/definitions/IotTopicPublish", + "description": "Publishes an MQTT message with the given topic to the IoT message broker.", + "markdownDescription": "Publishes an MQTT message with the given topic to the IoT message broker.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" }, "Lambda": { - "$ref": "#/definitions/Lambda" + "$ref": "#/definitions/Lambda", + "description": "Calls a Lambda function, passing in information about the detector model instance and the event that triggered the action.", + "markdownDescription": "Calls a Lambda function, passing in information about the detector model instance and the event that triggered the action.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" }, "ResetTimer": { - "$ref": "#/definitions/ResetTimer" + "$ref": "#/definitions/ResetTimer", + "description": "Information needed to reset the timer.", + "markdownDescription": "Information needed to reset the timer.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" }, "SetTimer": { - "$ref": "#/definitions/SetTimer" + "$ref": "#/definitions/SetTimer", + "description": "Information needed to set the timer.", + "markdownDescription": "Information needed to set the timer.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" }, "SetVariable": { - "$ref": "#/definitions/SetVariable" + "$ref": "#/definitions/SetVariable", + "description": "Sets a variable to a specified value.", + "markdownDescription": "Sets a variable to a specified value.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" }, "Sns": { - "$ref": "#/definitions/Sns" + "$ref": "#/definitions/Sns", + "description": "Sends an Amazon SNS message.", + "markdownDescription": "Sends an Amazon SNS message.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" }, "Sqs": { - "$ref": "#/definitions/Sqs" + "$ref": "#/definitions/Sqs", + "description": "Sends an Amazon SNS message.", + "markdownDescription": "Sends an Amazon SNS message.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" } }, - "markdownDescription": "The actions to be performed.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + "markdownDescription": "An action to be performed when the ``condition`` is TRUE.\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, "ClearTimer": { "type": "object", @@ -256,7 +288,8 @@ "type": "string", "minLength": 1, "maxLength": 128, - "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 128 \nUpdate requires: No interruption" + "description": "The name of the timer to clear.", + "markdownDescription": "The name of the timer to clear.\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 128 \nUpdate requires: No interruption" } }, "required": [ @@ -267,17 +300,17 @@ "DynamoDB": { "type": "object", "additionalProperties": false, - "description": "Writes to the DynamoDB table that you created. The default action payload contains all attribute-value pairs that have the information about the detector model instance and the event that triggered the action. You can also customize the [payload](https://docs.aws.amazon.com/iotevents/latest/apireference/API_Payload.html). One column of the DynamoDB table receives all attribute-value pairs in the payload that you specify. For more information, see [Actions](https://docs.aws.amazon.com/iotevents/latest/developerguide/iotevents-event-actions.html) in *AWS IoT Events Developer Guide*.", + "description": "Defines an action to write to the Amazon DynamoDB table that you created. The standard action payload contains all the information about the detector model instance and the event that triggered the action. You can customize the [payload](https://docs.aws.amazon.com/iotevents/latest/apireference/API_Payload.html). One column of the DynamoDB table receives all attribute-value pairs in the payload that you specify.\n You must use expressions for all parameters in ``DynamoDBAction``. The expressions accept literals, operators, functions, references, and substitution templates.\n **Examples**\n + For literal values, the expressions must contain single quotes. For example, the value for the ``hashKeyType`` parameter can be ``'STRING'``.\n + For references, you must specify either variables or input values. For example, the value for the ``hashKeyField`` parameter can be ``$input.GreenhouseInput.name``.\n + For a substitution template, you must use ``${}``, and the template must be in single quotes. A substitution template can also contain a combination of literals, operators, functions, references, and substitution templates.\n In the following example, the value for the ``hashKeyValue`` parameter uses a substitution template. \n ``'${$input.GreenhouseInput.temperature * 6 / 5 + 32} in Fahrenheit'`` \n + For a string concatenation, you must use ``+``. A string concatenation can also contain a combination of literals, operators, functions, references, and substitution templates.\n In the following example, the value for the ``tableName`` parameter uses a string concatenation. \n ``'GreenhouseTemperatureTable ' + $input.GreenhouseInput.date`` \n \n For more information, see [Expressions](https://docs.aws.amazon.com/iotevents/latest/developerguide/iotevents-expressions.html) in the *Developer Guide*.\n If the defined payload type is a string, ``DynamoDBAction`` writes non-JSON data to the DynamoDB table as binary data. The DynamoDB console displays the data as Base64-encoded text. The value for the ``payloadField`` parameter is ``_raw``.", "properties": { "HashKeyField": { "type": "string", - "description": "The name of the hash key (also called the partition key).", - "markdownDescription": "The name of the hash key (also called the partition key).\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" + "description": "The name of the hash key (also called the partition key). The ``hashKeyField`` value must match the partition key of the target DynamoDB table.", + "markdownDescription": "The name of the hash key (also called the partition key). The ``hashKeyField`` value must match the partition key of the target DynamoDB table.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" }, "HashKeyType": { "type": "string", - "description": "The data type for the hash key (also called the partition key). You can specify the following values:\n\n* `STRING` - The hash key is a string.\n\n* `NUMBER` - The hash key is a number.\n\nIf you don't specify `hashKeyType`, the default value is `STRING`.", - "markdownDescription": "The data type for the hash key (also called the partition key). You can specify the following values:\n\n* `STRING` - The hash key is a string.\n\n* `NUMBER` - The hash key is a number.\n\nIf you don't specify `hashKeyType`, the default value is `STRING`.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "description": "The data type for the hash key (also called the partition key). You can specify the following values:\n + ``'STRING'`` - The hash key is a string.\n + ``'NUMBER'`` - The hash key is a number.\n \n If you don't specify ``hashKeyType``, the default value is ``'STRING'``.", + "markdownDescription": "The data type for the hash key (also called the partition key). You can specify the following values:\n + ``'STRING'`` - The hash key is a string.\n + ``'NUMBER'`` - The hash key is a number.\n \n If you don't specify ``hashKeyType``, the default value is ``'STRING'``.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, "HashKeyValue": { "type": "string", @@ -286,26 +319,28 @@ }, "Operation": { "type": "string", - "description": "The type of operation to perform. You can specify the following values:\n\n* `INSERT` - Insert data as a new item into the DynamoDB table. This item uses the specified hash key as a partition key. If you specified a range key, the item uses the range key as a sort key.\n\n* `UPDATE` - Update an existing item of the DynamoDB table with new data. This item's partition key must match the specified hash key. If you specified a range key, the range key must match the item's sort key.\n\n* `DELETE` - Delete an existing item of the DynamoDB table. This item's partition key must match the specified hash key. If you specified a range key, the range key must match the item's sort key.\n\nIf you don't specify this parameter, AWS IoT Events triggers the `INSERT` operation.", - "markdownDescription": "The type of operation to perform. You can specify the following values:\n\n* `INSERT` - Insert data as a new item into the DynamoDB table. This item uses the specified hash key as a partition key. If you specified a range key, the item uses the range key as a sort key.\n\n* `UPDATE` - Update an existing item of the DynamoDB table with new data. This item's partition key must match the specified hash key. If you specified a range key, the range key must match the item's sort key.\n\n* `DELETE` - Delete an existing item of the DynamoDB table. This item's partition key must match the specified hash key. If you specified a range key, the range key must match the item's sort key.\n\nIf you don't specify this parameter, AWS IoT Events triggers the `INSERT` operation.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "description": "The type of operation to perform. You can specify the following values: \n + ``'INSERT'`` - Insert data as a new item into the DynamoDB table. This item uses the specified hash key as a partition key. If you specified a range key, the item uses the range key as a sort key.\n + ``'UPDATE'`` - Update an existing item of the DynamoDB table with new data. This item's partition key must match the specified hash key. If you specified a range key, the range key must match the item's sort key.\n + ``'DELETE'`` - Delete an existing item of the DynamoDB table. This item's partition key must match the specified hash key. If you specified a range key, the range key must match the item's sort key.\n \n If you don't specify this parameter, ITE triggers the ``'INSERT'`` operation.", + "markdownDescription": "The type of operation to perform. You can specify the following values: \n + ``'INSERT'`` - Insert data as a new item into the DynamoDB table. This item uses the specified hash key as a partition key. If you specified a range key, the item uses the range key as a sort key.\n + ``'UPDATE'`` - Update an existing item of the DynamoDB table with new data. This item's partition key must match the specified hash key. If you specified a range key, the range key must match the item's sort key.\n + ``'DELETE'`` - Delete an existing item of the DynamoDB table. This item's partition key must match the specified hash key. If you specified a range key, the range key must match the item's sort key.\n \n If you don't specify this parameter, ITE triggers the ``'INSERT'`` operation.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, "Payload": { - "$ref": "#/definitions/Payload" + "$ref": "#/definitions/Payload", + "description": "Information needed to configure the payload.\n By default, ITE generates a standard payload in JSON for any action. This action payload contains all attribute-value pairs that have the information about the detector model instance and the event triggered the action. To configure the action payload, you can use ``contentExpression``.", + "markdownDescription": "Information needed to configure the payload.\n By default, ITE generates a standard payload in JSON for any action. This action payload contains all attribute-value pairs that have the information about the detector model instance and the event triggered the action. To configure the action payload, you can use ``contentExpression``.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" }, "PayloadField": { "type": "string", - "description": "The name of the DynamoDB column that receives the action payload.\n\nIf you don't specify this parameter, the name of the DynamoDB column is `payload`.", - "markdownDescription": "The name of the DynamoDB column that receives the action payload.\n\nIf you don't specify this parameter, the name of the DynamoDB column is `payload`.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "description": "The name of the DynamoDB column that receives the action payload.\n If you don't specify this parameter, the name of the DynamoDB column is ``payload``.", + "markdownDescription": "The name of the DynamoDB column that receives the action payload.\n If you don't specify this parameter, the name of the DynamoDB column is ``payload``.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, "RangeKeyField": { "type": "string", - "description": "The name of the range key (also called the sort key).", - "markdownDescription": "The name of the range key (also called the sort key).\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "description": "The name of the range key (also called the sort key). The ``rangeKeyField`` value must match the sort key of the target DynamoDB table.", + "markdownDescription": "The name of the range key (also called the sort key). The ``rangeKeyField`` value must match the sort key of the target DynamoDB table.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, "RangeKeyType": { "type": "string", - "description": "The data type for the range key (also called the sort key), You can specify the following values:\n\n* `STRING` - The range key is a string.\n\n* `NUMBER` - The range key is number.\n\nIf you don't specify `rangeKeyField`, the default value is `STRING`.", - "markdownDescription": "The data type for the range key (also called the sort key), You can specify the following values:\n\n* `STRING` - The range key is a string.\n\n* `NUMBER` - The range key is number.\n\nIf you don't specify `rangeKeyField`, the default value is `STRING`.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "description": "The data type for the range key (also called the sort key), You can specify the following values:\n + ``'STRING'`` - The range key is a string.\n + ``'NUMBER'`` - The range key is number.\n \n If you don't specify ``rangeKeyField``, the default value is ``'STRING'``.", + "markdownDescription": "The data type for the range key (also called the sort key), You can specify the following values:\n + ``'STRING'`` - The range key is a string.\n + ``'NUMBER'`` - The range key is number.\n \n If you don't specify ``rangeKeyField``, the default value is ``'STRING'``.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, "RangeKeyValue": { "type": "string", @@ -314,8 +349,8 @@ }, "TableName": { "type": "string", - "description": "The name of the DynamoDB table.", - "markdownDescription": "The name of the DynamoDB table.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" + "description": "The name of the DynamoDB table. The ``tableName`` value must match the table name of the target DynamoDB table.", + "markdownDescription": "The name of the DynamoDB table. The ``tableName`` value must match the table name of the target DynamoDB table.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" } }, "required": [ @@ -323,15 +358,17 @@ "HashKeyValue", "TableName" ], - "markdownDescription": "Writes to the DynamoDB table that you created. The default action payload contains all attribute-value pairs that have the information about the detector model instance and the event that triggered the action. You can also customize the [payload](https://docs.aws.amazon.com/iotevents/latest/apireference/API_Payload.html). One column of the DynamoDB table receives all attribute-value pairs in the payload that you specify. For more information, see [Actions](https://docs.aws.amazon.com/iotevents/latest/developerguide/iotevents-event-actions.html) in *AWS IoT Events Developer Guide*.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + "markdownDescription": "Defines an action to write to the Amazon DynamoDB table that you created. The standard action payload contains all the information about the detector model instance and the event that triggered the action. You can customize the [payload](https://docs.aws.amazon.com/iotevents/latest/apireference/API_Payload.html). One column of the DynamoDB table receives all attribute-value pairs in the payload that you specify.\n You must use expressions for all parameters in ``DynamoDBAction``. The expressions accept literals, operators, functions, references, and substitution templates.\n **Examples**\n + For literal values, the expressions must contain single quotes. For example, the value for the ``hashKeyType`` parameter can be ``'STRING'``.\n + For references, you must specify either variables or input values. For example, the value for the ``hashKeyField`` parameter can be ``$input.GreenhouseInput.name``.\n + For a substitution template, you must use ``${}``, and the template must be in single quotes. A substitution template can also contain a combination of literals, operators, functions, references, and substitution templates.\n In the following example, the value for the ``hashKeyValue`` parameter uses a substitution template. \n ``'${$input.GreenhouseInput.temperature * 6 / 5 + 32} in Fahrenheit'`` \n + For a string concatenation, you must use ``+``. A string concatenation can also contain a combination of literals, operators, functions, references, and substitution templates.\n In the following example, the value for the ``tableName`` parameter uses a string concatenation. \n ``'GreenhouseTemperatureTable ' + $input.GreenhouseInput.date`` \n \n For more information, see [Expressions](https://docs.aws.amazon.com/iotevents/latest/developerguide/iotevents-expressions.html) in the *Developer Guide*.\n If the defined payload type is a string, ``DynamoDBAction`` writes non-JSON data to the DynamoDB table as binary data. The DynamoDB console displays the data as Base64-encoded text. The value for the ``payloadField`` parameter is ``_raw``.\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, "DynamoDBv2": { "type": "object", "additionalProperties": false, - "description": "Defines an action to write to the Amazon DynamoDB table that you created. The default action payload contains all attribute-value pairs that have the information about the detector model instance and the event that triggered the action. You can also customize the [payload](https://docs.aws.amazon.com/iotevents/latest/apireference/API_Payload.html). A separate column of the DynamoDB table receives one attribute-value pair in the payload that you specify.\n\nYou can use expressions for parameters that are strings. For more information, see [Expressions](https://docs.aws.amazon.com/iotevents/latest/developerguide/iotevents-expressions.html) in the *AWS IoT Events Developer Guide*.", + "description": "Defines an action to write to the Amazon DynamoDB table that you created. The default action payload contains all the information about the detector model instance and the event that triggered the action. You can customize the [payload](https://docs.aws.amazon.com/iotevents/latest/apireference/API_Payload.html). A separate column of the DynamoDB table receives one attribute-value pair in the payload that you specify.\n You must use expressions for all parameters in ``DynamoDBv2Action``. The expressions accept literals, operators, functions, references, and substitution templates.\n **Examples**\n + For literal values, the expressions must contain single quotes. For example, the value for the ``tableName`` parameter can be ``'GreenhouseTemperatureTable'``.\n + For references, you must specify either variables or input values. For example, the value for the ``tableName`` parameter can be ``$variable.ddbtableName``.\n + For a substitution template, you must use ``${}``, and the template must be in single quotes. A substitution template can also contain a combination of literals, operators, functions, references, and substitution templates.\n In the following example, the value for the ``contentExpression`` parameter in ``Payload`` uses a substitution template. \n ``'{\\\"sensorID\\\": \\\"${$input.GreenhouseInput.sensor_id}\\\", \\\"temperature\\\": \\\"${$input.GreenhouseInput.temperature * 9 / 5 + 32}\\\"}'`` \n + For a string concatenation, you must use ``+``. A string concatenation can also contain a combination of literals, operators, functions, references, and substitution templates.\n In the following example, the value for the ``tableName`` parameter uses a string concatenation. \n ``'GreenhouseTemperatureTable ' + $input.GreenhouseInput.date`` \n \n For more information, see [Expressions](https://docs.aws.amazon.com/iotevents/latest/developerguide/iotevents-expressions.html) in the *Developer Guide*.\n The value for the ``type`` parameter in ``Payload`` must be ``JSON``.", "properties": { "Payload": { - "$ref": "#/definitions/Payload" + "$ref": "#/definitions/Payload", + "description": "Information needed to configure the payload.\n By default, ITE generates a standard payload in JSON for any action. This action payload contains all attribute-value pairs that have the information about the detector model instance and the event triggered the action. To configure the action payload, you can use ``contentExpression``.", + "markdownDescription": "Information needed to configure the payload.\n By default, ITE generates a standard payload in JSON for any action. This action payload contains all attribute-value pairs that have the information about the detector model instance and the event triggered the action. To configure the action payload, you can use ``contentExpression``.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" }, "TableName": { "type": "string", @@ -342,7 +379,7 @@ "required": [ "TableName" ], - "markdownDescription": "Defines an action to write to the Amazon DynamoDB table that you created. The default action payload contains all attribute-value pairs that have the information about the detector model instance and the event that triggered the action. You can also customize the [payload](https://docs.aws.amazon.com/iotevents/latest/apireference/API_Payload.html). A separate column of the DynamoDB table receives one attribute-value pair in the payload that you specify.\n\nYou can use expressions for parameters that are strings. For more information, see [Expressions](https://docs.aws.amazon.com/iotevents/latest/developerguide/iotevents-expressions.html) in the *AWS IoT Events Developer Guide*.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + "markdownDescription": "Defines an action to write to the Amazon DynamoDB table that you created. The default action payload contains all the information about the detector model instance and the event that triggered the action. You can customize the [payload](https://docs.aws.amazon.com/iotevents/latest/apireference/API_Payload.html). A separate column of the DynamoDB table receives one attribute-value pair in the payload that you specify.\n You must use expressions for all parameters in ``DynamoDBv2Action``. The expressions accept literals, operators, functions, references, and substitution templates.\n **Examples**\n + For literal values, the expressions must contain single quotes. For example, the value for the ``tableName`` parameter can be ``'GreenhouseTemperatureTable'``.\n + For references, you must specify either variables or input values. For example, the value for the ``tableName`` parameter can be ``$variable.ddbtableName``.\n + For a substitution template, you must use ``${}``, and the template must be in single quotes. A substitution template can also contain a combination of literals, operators, functions, references, and substitution templates.\n In the following example, the value for the ``contentExpression`` parameter in ``Payload`` uses a substitution template. \n ``'{\\\"sensorID\\\": \\\"${$input.GreenhouseInput.sensor_id}\\\", \\\"temperature\\\": \\\"${$input.GreenhouseInput.temperature * 9 / 5 + 32}\\\"}'`` \n + For a string concatenation, you must use ``+``. A string concatenation can also contain a combination of literals, operators, functions, references, and substitution templates.\n In the following example, the value for the ``tableName`` parameter uses a string concatenation. \n ``'GreenhouseTemperatureTable ' + $input.GreenhouseInput.date`` \n \n For more information, see [Expressions](https://docs.aws.amazon.com/iotevents/latest/developerguide/iotevents-expressions.html) in the *Developer Guide*.\n The value for the ``type`` parameter in ``Payload`` must be ``JSON``.\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, "Firehose": { "type": "object", @@ -355,7 +392,9 @@ "markdownDescription": "The name of the Kinesis Data Firehose delivery stream where the data is written.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" }, "Payload": { - "$ref": "#/definitions/Payload" + "$ref": "#/definitions/Payload", + "description": "You can configure the action payload when you send a message to an Amazon Data Firehose delivery stream.", + "markdownDescription": "You can configure the action payload when you send a message to an Amazon Data Firehose delivery stream.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" }, "Separator": { "type": "string", @@ -371,78 +410,84 @@ "IotEvents": { "type": "object", "additionalProperties": false, - "description": "Sends an AWS IoT Events input, passing in information about the detector model instance and the event that triggered the action.", + "description": "Sends an ITE input, passing in information about the detector model instance and the event that triggered the action.", "properties": { "InputName": { "type": "string", - "description": "The name of the AWS IoT Events input where the data is sent.", + "description": "The name of the ITE input where the data is sent.", "minLength": 1, "maxLength": 128, - "markdownDescription": "The name of the AWS IoT Events input where the data is sent.\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 128 \nPattern: ^[a-zA-Z][a-zA-Z0-9_]*$ \nUpdate requires: No interruption" + "markdownDescription": "The name of the ITE input where the data is sent.\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 128 \nPattern: ^[a-zA-Z][a-zA-Z0-9_]*$ \nUpdate requires: No interruption" }, "Payload": { - "$ref": "#/definitions/Payload" + "$ref": "#/definitions/Payload", + "description": "You can configure the action payload when you send a message to an ITE input.", + "markdownDescription": "You can configure the action payload when you send a message to an ITE input.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" } }, "required": [ "InputName" ], - "markdownDescription": "Sends an AWS IoT Events input, passing in information about the detector model instance and the event that triggered the action.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + "markdownDescription": "Sends an ITE input, passing in information about the detector model instance and the event that triggered the action.\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, "IotSiteWise": { "type": "object", "additionalProperties": false, - "description": "Sends information about the detector model instance and the event that triggered the action to a specified asset property in AWS IoT SiteWise.", + "description": "Sends information about the detector model instance and the event that triggered the action to a specified asset property in ITSW.\n You must use expressions for all parameters in ``IotSiteWiseAction``. The expressions accept literals, operators, functions, references, and substitutions templates.\n **Examples**\n + For literal values, the expressions must contain single quotes. For example, the value for the ``propertyAlias`` parameter can be ``'/company/windfarm/3/turbine/7/temperature'``.\n + For references, you must specify either variables or input values. For example, the value for the ``assetId`` parameter can be ``$input.TurbineInput.assetId1``.\n + For a substitution template, you must use ``${}``, and the template must be in single quotes. A substitution template can also contain a combination of literals, operators, functions, references, and substitution templates.\n In the following example, the value for the ``propertyAlias`` parameter uses a substitution template. \n ``'company/windfarm/${$input.TemperatureInput.sensorData.windfarmID}/turbine/ ${$input.TemperatureInput.sensorData.turbineID}/temperature'`` \n \n You must specify either ``propertyAlias`` or both ``assetId`` and ``propertyId`` to identify the target asset property in ITSW.\n For more information, see [Expressions](https://docs.aws.amazon.com/iotevents/latest/developerguide/iotevents-expressions.html) in the *Developer Guide*.", "properties": { "AssetId": { "type": "string", - "description": "The ID of the asset that has the specified property. You can specify an expression.", - "markdownDescription": "The ID of the asset that has the specified property. You can specify an expression.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "description": "The ID of the asset that has the specified property.", + "markdownDescription": "The ID of the asset that has the specified property.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, "EntryId": { "type": "string", - "description": "A unique identifier for this entry. You can use the entry ID to track which data entry causes an error in case of failure. The default is a new unique identifier. You can also specify an expression.", - "markdownDescription": "A unique identifier for this entry. You can use the entry ID to track which data entry causes an error in case of failure. The default is a new unique identifier. You can also specify an expression.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "description": "A unique identifier for this entry. You can use the entry ID to track which data entry causes an error in case of failure. The default is a new unique identifier.", + "markdownDescription": "A unique identifier for this entry. You can use the entry ID to track which data entry causes an error in case of failure. The default is a new unique identifier.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, "PropertyAlias": { "type": "string", - "description": "The alias of the asset property. You can also specify an expression.", - "markdownDescription": "The alias of the asset property. You can also specify an expression.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "description": "The alias of the asset property.", + "markdownDescription": "The alias of the asset property.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, "PropertyId": { "type": "string", - "description": "The ID of the asset property. You can specify an expression.", - "markdownDescription": "The ID of the asset property. You can specify an expression.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "description": "The ID of the asset property.", + "markdownDescription": "The ID of the asset property.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, "PropertyValue": { - "$ref": "#/definitions/AssetPropertyValue" + "$ref": "#/definitions/AssetPropertyValue", + "description": "The value to send to the asset property. This value contains timestamp, quality, and value (TQV) information.", + "markdownDescription": "The value to send to the asset property. This value contains timestamp, quality, and value (TQV) information.\n\n---\n\nRequired: Yes \nType: \nUpdate requires: No interruption" } }, "required": [ "PropertyValue" ], - "markdownDescription": "Sends information about the detector model instance and the event that triggered the action to a specified asset property in AWS IoT SiteWise.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + "markdownDescription": "Sends information about the detector model instance and the event that triggered the action to a specified asset property in ITSW.\n You must use expressions for all parameters in ``IotSiteWiseAction``. The expressions accept literals, operators, functions, references, and substitutions templates.\n **Examples**\n + For literal values, the expressions must contain single quotes. For example, the value for the ``propertyAlias`` parameter can be ``'/company/windfarm/3/turbine/7/temperature'``.\n + For references, you must specify either variables or input values. For example, the value for the ``assetId`` parameter can be ``$input.TurbineInput.assetId1``.\n + For a substitution template, you must use ``${}``, and the template must be in single quotes. A substitution template can also contain a combination of literals, operators, functions, references, and substitution templates.\n In the following example, the value for the ``propertyAlias`` parameter uses a substitution template. \n ``'company/windfarm/${$input.TemperatureInput.sensorData.windfarmID}/turbine/ ${$input.TemperatureInput.sensorData.turbineID}/temperature'`` \n \n You must specify either ``propertyAlias`` or both ``assetId`` and ``propertyId`` to identify the target asset property in ITSW.\n For more information, see [Expressions](https://docs.aws.amazon.com/iotevents/latest/developerguide/iotevents-expressions.html) in the *Developer Guide*.\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, "IotTopicPublish": { "type": "object", "additionalProperties": false, - "description": "Information required to publish the MQTT message through the AWS IoT message broker.", + "description": "Information required to publish the MQTT message through the IoT message broker.", "properties": { "MqttTopic": { "type": "string", - "description": "The MQTT topic of the message. You can use a string expression that includes variables (`$variable.`) and input values (`$input..`) as the topic string.", + "description": "The MQTT topic of the message. You can use a string expression that includes variables (``$variable.``) and input values (``$input..``) as the topic string.", "minLength": 1, "maxLength": 128, - "markdownDescription": "The MQTT topic of the message. You can use a string expression that includes variables (`$variable.`) and input values (`$input..`) as the topic string.\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 128 \nUpdate requires: No interruption" + "markdownDescription": "The MQTT topic of the message. You can use a string expression that includes variables (``$variable.``) and input values (``$input..``) as the topic string.\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 128 \nUpdate requires: No interruption" }, "Payload": { - "$ref": "#/definitions/Payload" + "$ref": "#/definitions/Payload", + "description": "You can configure the action payload when you publish a message to an IoTCore topic.", + "markdownDescription": "You can configure the action payload when you publish a message to an IoTCore topic.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" } }, "required": [ "MqttTopic" ], - "markdownDescription": "Information required to publish the MQTT message through the AWS IoT message broker.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + "markdownDescription": "Information required to publish the MQTT message through the IoT message broker.\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, "Lambda": { "type": "object", @@ -456,13 +501,16 @@ "markdownDescription": "The ARN of the Lambda function that is executed.\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 2048 \nUpdate requires: No interruption" }, "Payload": { - "$ref": "#/definitions/Payload" + "$ref": "#/definitions/Payload", + "description": "You can configure the action payload when you send a message to a Lambda function.", + "markdownDescription": "You can configure the action payload when you send a message to a Lambda function.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" } }, "required": [ "FunctionArn" ], - "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + "description": "Calls a Lambda function, passing in information about the detector model instance and the event that triggered the action.", + "markdownDescription": "Calls a Lambda function, passing in information about the detector model instance and the event that triggered the action.\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, "ResetTimer": { "type": "object", @@ -489,17 +537,17 @@ "properties": { "DurationExpression": { "type": "string", - "description": "The duration of the timer, in seconds. You can use a string expression that includes numbers, variables (`$variable.`), and input values (`$input..`) as the duration. The range of the duration is `1-31622400` seconds. To ensure accuracy, the minimum duration is `60` seconds. The evaluated result of the duration is rounded down to the nearest whole number.", + "description": "The duration of the timer, in seconds. You can use a string expression that includes numbers, variables (``$variable.``), and input values (``$input..``) as the duration. The range of the duration is 1-31622400 seconds. To ensure accuracy, the minimum duration is 60 seconds. The evaluated result of the duration is rounded down to the nearest whole number.", "minLength": 1, "maxLength": 1024, - "markdownDescription": "The duration of the timer, in seconds. You can use a string expression that includes numbers, variables (`$variable.`), and input values (`$input..`) as the duration. The range of the duration is `1-31622400` seconds. To ensure accuracy, the minimum duration is `60` seconds. The evaluated result of the duration is rounded down to the nearest whole number.\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 1024 \nUpdate requires: No interruption" + "markdownDescription": "The duration of the timer, in seconds. You can use a string expression that includes numbers, variables (``$variable.``), and input values (``$input..``) as the duration. The range of the duration is 1-31622400 seconds. To ensure accuracy, the minimum duration is 60 seconds. The evaluated result of the duration is rounded down to the nearest whole number.\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 1024 \nUpdate requires: No interruption" }, "Seconds": { "type": "integer", - "description": "The number of seconds until the timer expires. The minimum value is `60` seconds to ensure accuracy. The maximum value is `31622400` seconds.", + "description": "The number of seconds until the timer expires. The minimum value is 60 seconds to ensure accuracy. The maximum value is 31622400 seconds.", "minimum": 60, "maximum": 31622400, - "markdownDescription": "The number of seconds until the timer expires. The minimum value is `60` seconds to ensure accuracy. The maximum value is `31622400` seconds.\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" + "markdownDescription": "The number of seconds until the timer expires. The minimum value is 60 seconds to ensure accuracy. The maximum value is 31622400 seconds.\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" }, "TimerName": { "type": "string", @@ -546,7 +594,9 @@ "description": "Information required to publish the Amazon SNS message.", "properties": { "Payload": { - "$ref": "#/definitions/Payload" + "$ref": "#/definitions/Payload", + "description": "You can configure the action payload when you send a message as an Amazon SNS push notification.", + "markdownDescription": "You can configure the action payload when you send a message as an Amazon SNS push notification.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" }, "TargetArn": { "type": "string", @@ -566,7 +616,9 @@ "additionalProperties": false, "properties": { "Payload": { - "$ref": "#/definitions/Payload" + "$ref": "#/definitions/Payload", + "description": "You can configure the action payload when you send a message to an Amazon SQS queue.", + "markdownDescription": "You can configure the action payload when you send a message to an Amazon SQS queue.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" }, "QueueUrl": { "type": "string", @@ -575,135 +627,142 @@ }, "UseBase64": { "type": "boolean", - "description": "Set this to `TRUE` if you want the data to be base-64 encoded before it is written to the queue. Otherwise, set this to `FALSE`.", - "markdownDescription": "Set this to `TRUE` if you want the data to be base-64 encoded before it is written to the queue. Otherwise, set this to `FALSE`.\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" + "description": "Set this to TRUE if you want the data to be base-64 encoded before it is written to the queue. Otherwise, set this to FALSE.", + "markdownDescription": "Set this to TRUE if you want the data to be base-64 encoded before it is written to the queue. Otherwise, set this to FALSE.\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" } }, "required": [ "QueueUrl" ], - "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + "description": "Sends information about the detector model instance and the event that triggered the action to an Amazon SQS queue.", + "markdownDescription": "Sends information about the detector model instance and the event that triggered the action to an Amazon SQS queue.\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, "AssetPropertyValue": { "type": "object", "additionalProperties": false, - "description": "A structure that contains value information. For more information, see [AssetPropertyValue](https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_AssetPropertyValue.html) in the *AWS IoT SiteWise API Reference*.", + "description": "A structure that contains value information. For more information, see [AssetPropertyValue](https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_AssetPropertyValue.html) in the *API Reference*.\n You must use expressions for all parameters in ``AssetPropertyValue``. The expressions accept literals, operators, functions, references, and substitution templates.\n **Examples**\n + For literal values, the expressions must contain single quotes. For example, the value for the ``quality`` parameter can be ``'GOOD'``.\n + For references, you must specify either variables or input values. For example, the value for the ``quality`` parameter can be ``$input.TemperatureInput.sensorData.quality``.\n \n For more information, see [Expressions](https://docs.aws.amazon.com/iotevents/latest/developerguide/iotevents-expressions.html) in the *Developer Guide*.", "properties": { "Quality": { "type": "string", - "description": "The quality of the asset property value. The value must be `GOOD`, `BAD`, or `UNCERTAIN`. You can also specify an expression.", - "markdownDescription": "The quality of the asset property value. The value must be `GOOD`, `BAD`, or `UNCERTAIN`. You can also specify an expression.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "description": "The quality of the asset property value. The value must be ``'GOOD'``, ``'BAD'``, or ``'UNCERTAIN'``.", + "markdownDescription": "The quality of the asset property value. The value must be ``'GOOD'``, ``'BAD'``, or ``'UNCERTAIN'``.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, "Timestamp": { - "$ref": "#/definitions/AssetPropertyTimestamp" + "$ref": "#/definitions/AssetPropertyTimestamp", + "description": "The timestamp associated with the asset property value. The default is the current event time.", + "markdownDescription": "The timestamp associated with the asset property value. The default is the current event time.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" }, "Value": { - "$ref": "#/definitions/AssetPropertyVariant" + "$ref": "#/definitions/AssetPropertyVariant", + "description": "The value to send to an asset property.", + "markdownDescription": "The value to send to an asset property.\n\n---\n\nRequired: Yes \nType: \nUpdate requires: No interruption" } }, "required": [ "Value" ], - "markdownDescription": "A structure that contains value information. For more information, see [AssetPropertyValue](https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_AssetPropertyValue.html) in the *AWS IoT SiteWise API Reference*.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + "markdownDescription": "A structure that contains value information. For more information, see [AssetPropertyValue](https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_AssetPropertyValue.html) in the *API Reference*.\n You must use expressions for all parameters in ``AssetPropertyValue``. The expressions accept literals, operators, functions, references, and substitution templates.\n **Examples**\n + For literal values, the expressions must contain single quotes. For example, the value for the ``quality`` parameter can be ``'GOOD'``.\n + For references, you must specify either variables or input values. For example, the value for the ``quality`` parameter can be ``$input.TemperatureInput.sensorData.quality``.\n \n For more information, see [Expressions](https://docs.aws.amazon.com/iotevents/latest/developerguide/iotevents-expressions.html) in the *Developer Guide*.\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, "AssetPropertyTimestamp": { "type": "object", "additionalProperties": false, - "description": "A structure that contains timestamp information. For more information, see [TimeInNanos](https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_TimeInNanos.html) in the *AWS IoT SiteWise API Reference*.", + "description": "A structure that contains timestamp information. For more information, see [TimeInNanos](https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_TimeInNanos.html) in the *API Reference*.\n You must use expressions for all parameters in ``AssetPropertyTimestamp``. The expressions accept literals, operators, functions, references, and substitution templates.\n **Examples**\n + For literal values, the expressions must contain single quotes. For example, the value for the ``timeInSeconds`` parameter can be ``'1586400675'``.\n + For references, you must specify either variables or input values. For example, the value for the ``offsetInNanos`` parameter can be ``$variable.time``.\n + For a substitution template, you must use ``${}``, and the template must be in single quotes. A substitution template can also contain a combination of literals, operators, functions, references, and substitution templates.\n In the following example, the value for the ``timeInSeconds`` parameter uses a substitution template.\n ``'${$input.TemperatureInput.sensorData.timestamp / 1000}'`` \n \n For more information, see [Expressions](https://docs.aws.amazon.com/iotevents/latest/developerguide/iotevents-expressions.html) in the *Developer Guide*.", "properties": { "OffsetInNanos": { "type": "string", - "description": "The timestamp, in seconds, in the Unix epoch format. The valid range is between `1-31556889864403199`. You can also specify an expression.", - "markdownDescription": "The timestamp, in seconds, in the Unix epoch format. The valid range is between `1-31556889864403199`. You can also specify an expression.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "description": "The nanosecond offset converted from ``timeInSeconds``. The valid range is between 0-999999999.", + "markdownDescription": "The nanosecond offset converted from ``timeInSeconds``. The valid range is between 0-999999999.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, "TimeInSeconds": { "type": "string", - "description": "The nanosecond offset converted from `timeInSeconds`. The valid range is between `0-999999999`. You can also specify an expression.", - "markdownDescription": "The nanosecond offset converted from `timeInSeconds`. The valid range is between `0-999999999`. You can also specify an expression.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" + "description": "The timestamp, in seconds, in the Unix epoch format. The valid range is between 1-31556889864403199.", + "markdownDescription": "The timestamp, in seconds, in the Unix epoch format. The valid range is between 1-31556889864403199.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" } }, "required": [ "TimeInSeconds" ], - "markdownDescription": "A structure that contains timestamp information. For more information, see [TimeInNanos](https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_TimeInNanos.html) in the *AWS IoT SiteWise API Reference*.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + "markdownDescription": "A structure that contains timestamp information. For more information, see [TimeInNanos](https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_TimeInNanos.html) in the *API Reference*.\n You must use expressions for all parameters in ``AssetPropertyTimestamp``. The expressions accept literals, operators, functions, references, and substitution templates.\n **Examples**\n + For literal values, the expressions must contain single quotes. For example, the value for the ``timeInSeconds`` parameter can be ``'1586400675'``.\n + For references, you must specify either variables or input values. For example, the value for the ``offsetInNanos`` parameter can be ``$variable.time``.\n + For a substitution template, you must use ``${}``, and the template must be in single quotes. A substitution template can also contain a combination of literals, operators, functions, references, and substitution templates.\n In the following example, the value for the ``timeInSeconds`` parameter uses a substitution template.\n ``'${$input.TemperatureInput.sensorData.timestamp / 1000}'`` \n \n For more information, see [Expressions](https://docs.aws.amazon.com/iotevents/latest/developerguide/iotevents-expressions.html) in the *Developer Guide*.\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, "AssetPropertyVariant": { "type": "object", "additionalProperties": false, - "description": "A structure that contains an asset property value. For more information, see [Variant](https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_Variant.html) in the *AWS IoT SiteWise API Reference*.", + "description": "A structure that contains an asset property value. For more information, see [Variant](https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_Variant.html) in the *API Reference*.\n You must use expressions for all parameters in ``AssetPropertyVariant``. The expressions accept literals, operators, functions, references, and substitution templates.\n **Examples**\n + For literal values, the expressions must contain single quotes. For example, the value for the ``integerValue`` parameter can be ``'100'``.\n + For references, you must specify either variables or parameters. For example, the value for the ``booleanValue`` parameter can be ``$variable.offline``.\n + For a substitution template, you must use ``${}``, and the template must be in single quotes. A substitution template can also contain a combination of literals, operators, functions, references, and substitution templates. \n In the following example, the value for the ``doubleValue`` parameter uses a substitution template. \n ``'${$input.TemperatureInput.sensorData.temperature * 6 / 5 + 32}'`` \n \n For more information, see [Expressions](https://docs.aws.amazon.com/iotevents/latest/developerguide/iotevents-expressions.html) in the *Developer Guide*.\n You must specify one of the following value types, depending on the ``dataType`` of the specified asset property. For more information, see [AssetProperty](https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_AssetProperty.html) in the *API Reference*.", "properties": { "BooleanValue": { "type": "string", - "description": "The asset property value is a Boolean value that must be `TRUE` or `FALSE`. You can also specify an expression. If you use an expression, the evaluated result should be a Boolean value.", - "markdownDescription": "The asset property value is a Boolean value that must be `TRUE` or `FALSE`. You can also specify an expression. If you use an expression, the evaluated result should be a Boolean value.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "description": "The asset property value is a Boolean value that must be ``'TRUE'`` or ``'FALSE'``. You must use an expression, and the evaluated result should be a Boolean value.", + "markdownDescription": "The asset property value is a Boolean value that must be ``'TRUE'`` or ``'FALSE'``. You must use an expression, and the evaluated result should be a Boolean value.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, "DoubleValue": { "type": "string", - "description": "The asset property value is a double. You can also specify an expression. If you use an expression, the evaluated result should be a double.", - "markdownDescription": "The asset property value is a double. You can also specify an expression. If you use an expression, the evaluated result should be a double.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "description": "The asset property value is a double. You must use an expression, and the evaluated result should be a double.", + "markdownDescription": "The asset property value is a double. You must use an expression, and the evaluated result should be a double.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, "IntegerValue": { "type": "string", - "description": "The asset property value is an integer. You can also specify an expression. If you use an expression, the evaluated result should be an integer.", - "markdownDescription": "The asset property value is an integer. You can also specify an expression. If you use an expression, the evaluated result should be an integer.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "description": "The asset property value is an integer. You must use an expression, and the evaluated result should be an integer.", + "markdownDescription": "The asset property value is an integer. You must use an expression, and the evaluated result should be an integer.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, "StringValue": { "type": "string", - "description": "The asset property value is a string. You can also specify an expression. If you use an expression, the evaluated result should be a string.", - "markdownDescription": "The asset property value is a string. You can also specify an expression. If you use an expression, the evaluated result should be a string.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "description": "The asset property value is a string. You must use an expression, and the evaluated result should be a string.", + "markdownDescription": "The asset property value is a string. You must use an expression, and the evaluated result should be a string.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" } }, - "markdownDescription": "A structure that contains an asset property value. For more information, see [Variant](https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_Variant.html) in the *AWS IoT SiteWise API Reference*.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + "markdownDescription": "A structure that contains an asset property value. For more information, see [Variant](https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_Variant.html) in the *API Reference*.\n You must use expressions for all parameters in ``AssetPropertyVariant``. The expressions accept literals, operators, functions, references, and substitution templates.\n **Examples**\n + For literal values, the expressions must contain single quotes. For example, the value for the ``integerValue`` parameter can be ``'100'``.\n + For references, you must specify either variables or parameters. For example, the value for the ``booleanValue`` parameter can be ``$variable.offline``.\n + For a substitution template, you must use ``${}``, and the template must be in single quotes. A substitution template can also contain a combination of literals, operators, functions, references, and substitution templates. \n In the following example, the value for the ``doubleValue`` parameter uses a substitution template. \n ``'${$input.TemperatureInput.sensorData.temperature * 6 / 5 + 32}'`` \n \n For more information, see [Expressions](https://docs.aws.amazon.com/iotevents/latest/developerguide/iotevents-expressions.html) in the *Developer Guide*.\n You must specify one of the following value types, depending on the ``dataType`` of the specified asset property. For more information, see [AssetProperty](https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_AssetProperty.html) in the *API Reference*.\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, "Payload": { "type": "object", "additionalProperties": false, - "description": "Information needed to configure the payload.\n\nBy default, AWS IoT Events generates a standard payload in JSON for any action. This action payload contains all attribute-value pairs that have the information about the detector model instance and the event triggered the action. To configure the action payload, you can use `contentExpression`.", + "description": "Information needed to configure the payload.\n By default, ITE generates a standard payload in JSON for any action. This action payload contains all attribute-value pairs that have the information about the detector model instance and the event triggered the action. To configure the action payload, you can use ``contentExpression``.", "properties": { "ContentExpression": { "type": "string", - "description": "The content of the payload. You can use a string expression that includes quoted strings (`''`), variables (`$variable.`), input values (`$input..`), string concatenations, and quoted strings that contain `${}` as the content. The recommended maximum size of a content expression is 1 KB.", + "description": "The content of the payload. You can use a string expression that includes quoted strings (``''``), variables (``$variable.``), input values (``$input..``), string concatenations, and quoted strings that contain ``${}`` as the content. The recommended maximum size of a content expression is 1 KB.", "minLength": 1, - "markdownDescription": "The content of the payload. You can use a string expression that includes quoted strings (`''`), variables (`$variable.`), input values (`$input..`), string concatenations, and quoted strings that contain `${}` as the content. The recommended maximum size of a content expression is 1 KB.\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nUpdate requires: No interruption" + "markdownDescription": "The content of the payload. You can use a string expression that includes quoted strings (``''``), variables (``$variable.``), input values (``$input..``), string concatenations, and quoted strings that contain ``${}`` as the content. The recommended maximum size of a content expression is 1 KB.\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nUpdate requires: No interruption" }, "Type": { "type": "string", - "description": "The value of the payload type can be either `STRING` or `JSON`.", - "markdownDescription": "The value of the payload type can be either `STRING` or `JSON`.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" + "description": "The value of the payload type can be either ``STRING`` or ``JSON``.", + "markdownDescription": "The value of the payload type can be either ``STRING`` or ``JSON``.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" } }, "required": [ "ContentExpression", "Type" ], - "markdownDescription": "Information needed to configure the payload.\n\nBy default, AWS IoT Events generates a standard payload in JSON for any action. This action payload contains all attribute-value pairs that have the information about the detector model instance and the event triggered the action. To configure the action payload, you can use `contentExpression`.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + "markdownDescription": "Information needed to configure the payload.\n By default, ITE generates a standard payload in JSON for any action. This action payload contains all attribute-value pairs that have the information about the detector model instance and the event triggered the action. To configure the action payload, you can use ``contentExpression``.\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, "Tag": { "type": "object", "additionalProperties": false, - "description": "Tags to be applied to Input.", + "description": "Metadata that can be used to manage the resource.", "properties": { "Key": { - "description": "Key of the Tag.", + "description": "The tag's key.", "type": "string", - "markdownDescription": "Key of the Tag.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" + "markdownDescription": "The tag's key.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" }, "Value": { - "description": "Value of the Tag.", + "description": "The tag's value.", "type": "string", - "markdownDescription": "Value of the Tag.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" + "markdownDescription": "The tag's value.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" } }, "required": [ "Value", "Key" ], - "markdownDescription": "Tags to be applied to Input.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + "markdownDescription": "Metadata that can be used to manage the resource.\n\n---\n\nRequired: No \nUpdate requires: No interruption" } }, "properties": { "DetectorModelDefinition": { - "$ref": "#/definitions/DetectorModelDefinition" + "$ref": "#/definitions/DetectorModelDefinition", + "description": "Information that defines how a detector operates.", + "markdownDescription": "Information that defines how a detector operates.\n\n---\n\nRequired: Yes \nType: \nUpdate requires: No interruption" }, "DetectorModelDescription": { "type": "string", @@ -729,27 +788,27 @@ }, "Key": { "type": "string", - "description": "The value used to identify a detector instance. When a device or system sends input, a new detector instance with a unique key value is created. AWS IoT Events can continue to route input to its corresponding detector instance based on this identifying information.\n\nThis parameter uses a JSON-path expression to select the attribute-value pair in the message payload that is used for identification. To route the message to the correct detector instance, the device must send a message payload that contains the same attribute-value.", + "description": "The value used to identify a detector instance. When a device or system sends input, a new detector instance with a unique key value is created. ITE can continue to route input to its corresponding detector instance based on this identifying information. \n This parameter uses a JSON-path expression to select the attribute-value pair in the message payload that is used for identification. To route the message to the correct detector instance, the device must send a message payload that contains the same attribute-value.", "minLength": 1, "maxLength": 128, - "markdownDescription": "The value used to identify a detector instance. When a device or system sends input, a new detector instance with a unique key value is created. AWS IoT Events can continue to route input to its corresponding detector instance based on this identifying information.\n\nThis parameter uses a JSON-path expression to select the attribute-value pair in the message payload that is used for identification. To route the message to the correct detector instance, the device must send a message payload that contains the same attribute-value.\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 128 \nPattern: ^((`[\\w\\- ]+`)|([\\w\\-]+))(\\.((`[\\w\\- ]+`)|([\\w\\-]+)))*$ \nUpdate requires: Replacement" + "markdownDescription": "The value used to identify a detector instance. When a device or system sends input, a new detector instance with a unique key value is created. ITE can continue to route input to its corresponding detector instance based on this identifying information. \n This parameter uses a JSON-path expression to select the attribute-value pair in the message payload that is used for identification. To route the message to the correct detector instance, the device must send a message payload that contains the same attribute-value.\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 128 \nPattern: ^((`[\\w\\- ]+`)|([\\w\\-]+))(\\.((`[\\w\\- ]+`)|([\\w\\-]+)))*$ \nUpdate requires: Replacement" }, "RoleArn": { "type": "string", - "description": "The ARN of the role that grants permission to AWS IoT Events to perform its operations.", + "description": "The ARN of the role that grants permission to ITE to perform its operations.", "minLength": 1, "maxLength": 2048, - "markdownDescription": "The ARN of the role that grants permission to AWS IoT Events to perform its operations.\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 2048 \nUpdate requires: No interruption" + "markdownDescription": "The ARN of the role that grants permission to ITE to perform its operations.\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 2048 \nUpdate requires: No interruption" }, "Tags": { "type": "array", "uniqueItems": false, "insertionOrder": false, - "description": "An array of key-value pairs to apply to this resource.\n\nFor more information, see [Tag](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-resource-tags.html).", + "description": "An array of key-value pairs to apply to this resource.\n For more information, see [Tag](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-resource-tags.html).", "items": { "$ref": "#/definitions/Tag" }, - "markdownDescription": "An array of key-value pairs to apply to this resource.\n\nFor more information, see [Tag](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-resource-tags.html).\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + "markdownDescription": "An array of key-value pairs to apply to this resource.\n For more information, see [Tag](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-resource-tags.html).\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" } }, "required": [ @@ -764,7 +823,6 @@ "/properties/DetectorModelName", "/properties/Key" ], - "taggable": true, "handlers": { "create": { "permissions": [ @@ -805,5 +863,17 @@ ] } }, + "tagging": { + "taggable": true, + "tagOnCreate": true, + "tagUpdatable": true, + "cloudFormationSystemTags": false, + "tagProperty": "/properties/Tags", + "permissions": [ + "iotevents:UntagResource", + "iotevents:TagResource", + "iotevents:ListTagsForResource" + ] + }, "attributes": {} } \ No newline at end of file diff --git a/server/schema/resources/aws-iotevents-input.json b/server/schema/resources/aws-iotevents-input.json index 3372bbf7..fb7c605e 100644 --- a/server/schema/resources/aws-iotevents-input.json +++ b/server/schema/resources/aws-iotevents-input.json @@ -1,6 +1,6 @@ { "typeName": "AWS::IoTEvents::Input", - "description": "The AWS::IoTEvents::Input resource creates an input. To monitor your devices and processes, they must have a way to get telemetry data into AWS IoT Events. This is done by sending messages as *inputs* to AWS IoT Events. For more information, see [How to Use AWS IoT Events](https://docs.aws.amazon.com/iotevents/latest/developerguide/how-to-use-iotevents.html) in the *AWS IoT Events Developer Guide*.", + "description": "The AWS::IoTEvents::Input resource creates an input. To monitor your devices and processes, they must have a way to get telemetry data into ITE. This is done by sending messages as *inputs* to ITE. For more information, see [How to Use](https://docs.aws.amazon.com/iotevents/latest/developerguide/how-to-use-iotevents.html) in the *Developer Guide*.", "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-iotevents.git", "definitions": { "InputDefinition": { @@ -12,13 +12,13 @@ "type": "array", "uniqueItems": true, "insertionOrder": false, - "description": "The attributes from the JSON payload that are made available by the input. Inputs are derived from messages sent to the AWS IoT Events system using `BatchPutMessage`. Each such message contains a JSON payload, and those attributes (and their paired values) specified here are available for use in the `condition` expressions used by detectors that monitor this input.", + "description": "The attributes from the JSON payload that are made available by the input. Inputs are derived from messages sent to the ITE system using ``BatchPutMessage``. Each such message contains a JSON payload, and those attributes (and their paired values) specified here are available for use in the ``condition`` expressions used by detectors that monitor this input.", "minItems": 1, "maxItems": 200, "items": { "$ref": "#/definitions/Attribute" }, - "markdownDescription": "The attributes from the JSON payload that are made available by the input. Inputs are derived from messages sent to the AWS IoT Events system using `BatchPutMessage`. Each such message contains a JSON payload, and those attributes (and their paired values) specified here are available for use in the `condition` expressions used by detectors that monitor this input.\n\n---\n\nRequired: Yes \nType: Array \nUpdate requires: No interruption" + "markdownDescription": "The attributes from the JSON payload that are made available by the input. Inputs are derived from messages sent to the ITE system using ``BatchPutMessage``. Each such message contains a JSON payload, and those attributes (and their paired values) specified here are available for use in the ``condition`` expressions used by detectors that monitor this input.\n\n---\n\nRequired: Yes \nType: Array \nUpdate requires: No interruption" } }, "required": [ @@ -29,47 +29,49 @@ "Attribute": { "type": "object", "additionalProperties": false, - "description": "The attributes from the JSON payload that are made available by the input. Inputs are derived from messages sent to the AWS IoT Events system using `BatchPutMessage`. Each such message contains a JSON payload, and those attributes (and their paired values) specified here are available for use in the `condition` expressions used by detectors that monitor this input.", + "description": "The attributes from the JSON payload that are made available by the input. Inputs are derived from messages sent to the ITE system using ``BatchPutMessage``. Each such message contains a JSON payload. Those attributes (and their paired values) specified here are available for use in the ``condition`` expressions used by detectors.", "properties": { "JsonPath": { - "description": "An expression that specifies an attribute-value pair in a JSON structure. Use this to specify an attribute from the JSON payload that is made available by the input. Inputs are derived from messages sent to AWS IoT Events (`BatchPutMessage`). Each such message contains a JSON payload. The attribute (and its paired value) specified here are available for use in the `condition` expressions used by detectors.\n\n_Syntax_: `....`", + "description": "An expression that specifies an attribute-value pair in a JSON structure. Use this to specify an attribute from the JSON payload that is made available by the input. Inputs are derived from messages sent to ITE (``BatchPutMessage``). Each such message contains a JSON payload. The attribute (and its paired value) specified here are available for use in the ``condition`` expressions used by detectors. \n Syntax: ``....``", "minLength": 1, "maxLength": 128, "type": "string", - "markdownDescription": "An expression that specifies an attribute-value pair in a JSON structure. Use this to specify an attribute from the JSON payload that is made available by the input. Inputs are derived from messages sent to AWS IoT Events (`BatchPutMessage`). Each such message contains a JSON payload. The attribute (and its paired value) specified here are available for use in the `condition` expressions used by detectors.\n\n_Syntax_: `....`\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 128 \nPattern: ^((`[a-zA-Z0-9_\\- ]+`)|([a-zA-Z0-9_\\-]+))(\\.((`[a-zA-Z0-9_\\- ]+`)|([a-zA-Z0-9_\\-]+)))*$ \nUpdate requires: No interruption" + "markdownDescription": "An expression that specifies an attribute-value pair in a JSON structure. Use this to specify an attribute from the JSON payload that is made available by the input. Inputs are derived from messages sent to ITE (``BatchPutMessage``). Each such message contains a JSON payload. The attribute (and its paired value) specified here are available for use in the ``condition`` expressions used by detectors. \n Syntax: ``....``\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 128 \nPattern: ^((`[a-zA-Z0-9_\\- ]+`)|([a-zA-Z0-9_\\-]+))(\\.((`[a-zA-Z0-9_\\- ]+`)|([a-zA-Z0-9_\\-]+)))*$ \nUpdate requires: No interruption" } }, "required": [ "JsonPath" ], - "markdownDescription": "The attributes from the JSON payload that are made available by the input. Inputs are derived from messages sent to the AWS IoT Events system using `BatchPutMessage`. Each such message contains a JSON payload, and those attributes (and their paired values) specified here are available for use in the `condition` expressions used by detectors that monitor this input.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + "markdownDescription": "The attributes from the JSON payload that are made available by the input. Inputs are derived from messages sent to the ITE system using ``BatchPutMessage``. Each such message contains a JSON payload. Those attributes (and their paired values) specified here are available for use in the ``condition`` expressions used by detectors.\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, "Tag": { "type": "object", "additionalProperties": false, - "description": "Tags to be applied to Input.", + "description": "Metadata that can be used to manage the resource.", "properties": { "Key": { - "description": "Key of the Tag.", + "description": "The tag's key.", "type": "string", - "markdownDescription": "Key of the Tag.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" + "markdownDescription": "The tag's key.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" }, "Value": { - "description": "Value of the Tag.", + "description": "The tag's value.", "type": "string", - "markdownDescription": "Value of the Tag.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" + "markdownDescription": "The tag's value.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" } }, "required": [ "Value", "Key" ], - "markdownDescription": "Tags to be applied to Input.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + "markdownDescription": "Metadata that can be used to manage the resource.\n\n---\n\nRequired: No \nUpdate requires: No interruption" } }, "properties": { "InputDefinition": { - "$ref": "#/definitions/InputDefinition" + "$ref": "#/definitions/InputDefinition", + "description": "The definition of the input.", + "markdownDescription": "The definition of the input.\n\n---\n\nRequired: Yes \nType: \nUpdate requires: No interruption" }, "InputDescription": { "description": "A brief description of the input.", @@ -89,11 +91,11 @@ "type": "array", "uniqueItems": false, "insertionOrder": false, - "description": "An array of key-value pairs to apply to this resource.\n\nFor more information, see [Tag](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-resource-tags.html).", + "description": "An array of key-value pairs to apply to this resource.\n For more information, see [Tag](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-resource-tags.html).", "items": { "$ref": "#/definitions/Tag" }, - "markdownDescription": "An array of key-value pairs to apply to this resource.\n\nFor more information, see [Tag](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-resource-tags.html).\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + "markdownDescription": "An array of key-value pairs to apply to this resource.\n For more information, see [Tag](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-resource-tags.html).\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" } }, "additionalProperties": false, @@ -106,7 +108,6 @@ "createOnlyProperties": [ "/properties/InputName" ], - "taggable": true, "handlers": { "create": { "permissions": [ @@ -143,5 +144,17 @@ ] } }, + "tagging": { + "taggable": true, + "tagOnCreate": true, + "tagUpdatable": true, + "cloudFormationSystemTags": false, + "tagProperty": "/properties/Tags", + "permissions": [ + "iotevents:UntagResource", + "iotevents:TagResource", + "iotevents:ListTagsForResource" + ] + }, "attributes": {} } \ No newline at end of file diff --git a/server/schema/resources/aws-iotfleetwise-campaign.json b/server/schema/resources/aws-iotfleetwise-campaign.json index b9d02b02..b2c2ed01 100644 --- a/server/schema/resources/aws-iotfleetwise-campaign.json +++ b/server/schema/resources/aws-iotfleetwise-campaign.json @@ -11,26 +11,6 @@ "default": "OFF", "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: OFF | SNAPPY \nUpdate requires: No interruption" }, - "ConditionBasedSignalFetchConfig": { - "type": "object", - "properties": { - "ConditionExpression": { - "type": "string", - "maxLength": 2048, - "minLength": 1, - "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 2048 \nUpdate requires: No interruption" - }, - "TriggerMode": { - "$ref": "#/definitions/TriggerMode" - } - }, - "required": [ - "ConditionExpression", - "TriggerMode" - ], - "additionalProperties": false, - "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" - }, "DataDestinationConfig": { "oneOf": [ { @@ -168,6 +148,26 @@ ], "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: CREATING | WAITING_FOR_APPROVAL | RUNNING | SUSPENDED \nUpdate requires: No interruption" }, + "ConditionBasedSignalFetchConfig": { + "type": "object", + "properties": { + "ConditionExpression": { + "type": "string", + "maxLength": 2048, + "minLength": 1, + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 2048 \nUpdate requires: No interruption" + }, + "TriggerMode": { + "$ref": "#/definitions/TriggerMode" + } + }, + "required": [ + "ConditionExpression", + "TriggerMode" + ], + "additionalProperties": false, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, "DiagnosticsMode": { "type": "string", "enum": [ @@ -198,6 +198,9 @@ "type": "number", "minimum": 0, "markdownDescription": "\n\n---\n\nRequired: No \nType: Number \nUpdate requires: No interruption" + }, + "DataPartitionId": { + "$ref": "#/definitions/DataPartitionId" } }, "required": [ @@ -379,18 +382,13 @@ "markdownDescription": "\n\n---\n\nRequired: No \nType: Number \nUpdate requires: No interruption" }, "Expression": { - "minLength": 1, - "type": "string", - "maxLength": 2048, - "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 2048 \nUpdate requires: No interruption" + "$ref": "#/definitions/EventExpression" }, "TriggerMode": { "$ref": "#/definitions/TriggerMode" }, "ConditionLanguageVersion": { - "type": "integer", - "minimum": 1, - "markdownDescription": "\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" + "$ref": "#/definitions/LanguageVersion" } }, "required": [ @@ -398,6 +396,150 @@ ], "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, + "EventExpression": { + "type": "string", + "minLength": 1, + "maxLength": 2048, + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 2048 \nUpdate requires: No interruption" + }, + "LanguageVersion": { + "type": "integer", + "minimum": 1, + "markdownDescription": "\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" + }, + "DataPartition": { + "type": "object", + "properties": { + "Id": { + "$ref": "#/definitions/DataPartitionId" + }, + "StorageOptions": { + "$ref": "#/definitions/DataPartitionStorageOptions" + }, + "UploadOptions": { + "$ref": "#/definitions/DataPartitionUploadOptions" + } + }, + "required": [ + "Id", + "StorageOptions" + ], + "additionalProperties": false, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "DataPartitionStorageOptions": { + "type": "object", + "properties": { + "MaximumSize": { + "$ref": "#/definitions/StorageMaximumSize" + }, + "MinimumTimeToLive": { + "$ref": "#/definitions/StorageMinimumTimeToLive" + }, + "StorageLocation": { + "$ref": "#/definitions/StorageLocation" + } + }, + "required": [ + "MaximumSize", + "MinimumTimeToLive", + "StorageLocation" + ], + "additionalProperties": false, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "StorageLocation": { + "type": "string", + "minLength": 1, + "maxLength": 4096, + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 4096 \nUpdate requires: No interruption" + }, + "StorageMaximumSize": { + "type": "object", + "properties": { + "Unit": { + "$ref": "#/definitions/StorageMaximumSizeUnit" + }, + "Value": { + "$ref": "#/definitions/StorageMaximumSizeValue" + } + }, + "required": [ + "Unit", + "Value" + ], + "additionalProperties": false, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "StorageMaximumSizeUnit": { + "type": "string", + "enum": [ + "MB", + "GB", + "TB" + ], + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: MB | GB | TB \nUpdate requires: No interruption" + }, + "StorageMaximumSizeValue": { + "type": "integer", + "minimum": 1, + "maximum": 1073741824, + "markdownDescription": "\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" + }, + "StorageMinimumTimeToLive": { + "type": "object", + "properties": { + "Unit": { + "$ref": "#/definitions/StorageMinimumTimeToLiveUnit" + }, + "Value": { + "$ref": "#/definitions/StorageMinimumTimeToLiveValue" + } + }, + "required": [ + "Unit", + "Value" + ], + "additionalProperties": false, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "StorageMinimumTimeToLiveUnit": { + "type": "string", + "enum": [ + "HOURS", + "DAYS", + "WEEKS" + ], + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: HOURS | DAYS | WEEKS \nUpdate requires: No interruption" + }, + "StorageMinimumTimeToLiveValue": { + "type": "integer", + "minimum": 1, + "maximum": 10000, + "markdownDescription": "\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" + }, + "DataPartitionUploadOptions": { + "type": "object", + "properties": { + "Expression": { + "$ref": "#/definitions/EventExpression" + }, + "ConditionLanguageVersion": { + "$ref": "#/definitions/LanguageVersion" + } + }, + "required": [ + "Expression" + ], + "additionalProperties": false, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "DataPartitionId": { + "type": "string", + "minLength": 1, + "maxLength": 128, + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 128 \nPattern: ^[a-zA-Z0-9]+$ \nUpdate requires: No interruption" + }, "Tag": { "type": "object", "properties": { @@ -555,6 +697,17 @@ "CollectionScheme": { "$ref": "#/definitions/CollectionScheme" }, + "DataPartitions": { + "type": "array", + "items": { + "$ref": "#/definitions/DataPartition" + }, + "insertionOrder": true, + "uniqueItems": true, + "maxItems": 20, + "minItems": 0, + "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: Replacement" + }, "Tags": { "type": "array", "items": { @@ -599,7 +752,8 @@ "/properties/Priority", "/properties/Compression", "/properties/StartTime", - "/properties/ExpiryTime" + "/properties/ExpiryTime", + "/properties/DataPartitions" ], "additionalProperties": false, "primaryIdentifier": [ diff --git a/server/schema/resources/aws-iotsitewise-dashboard.json b/server/schema/resources/aws-iotsitewise-dashboard.json index e0eb0984..03fee777 100644 --- a/server/schema/resources/aws-iotsitewise-dashboard.json +++ b/server/schema/resources/aws-iotsitewise-dashboard.json @@ -57,7 +57,18 @@ } }, "additionalProperties": false, - "taggable": true, + "tagging": { + "taggable": true, + "tagOnCreate": true, + "tagUpdatable": true, + "cloudFormationSystemTags": true, + "tagProperty": "/properties/Tags", + "permissions": [ + "iotsitewise:TagResource", + "iotsitewise:UntagResource", + "iotsitewise:ListTagsForResource" + ] + }, "required": [ "DashboardDefinition", "DashboardDescription", @@ -118,7 +129,8 @@ }, "list": { "permissions": [ - "iotsitewise:ListDashboards" + "iotsitewise:ListDashboards", + "iotsitewise:ListTagsForResource" ] } }, diff --git a/server/schema/resources/aws-iotsitewise-project.json b/server/schema/resources/aws-iotsitewise-project.json index 224b2751..5aa48475 100644 --- a/server/schema/resources/aws-iotsitewise-project.json +++ b/server/schema/resources/aws-iotsitewise-project.json @@ -66,7 +66,18 @@ } }, "additionalProperties": false, - "taggable": true, + "tagging": { + "taggable": true, + "tagOnCreate": true, + "tagUpdatable": true, + "cloudFormationSystemTags": true, + "tagProperty": "/properties/Tags", + "permissions": [ + "iotsitewise:TagResource", + "iotsitewise:UntagResource", + "iotsitewise:ListTagsForResource" + ] + }, "required": [ "PortalId", "ProjectName" @@ -119,7 +130,8 @@ }, "list": { "permissions": [ - "iotsitewise:ListProjects" + "iotsitewise:ListProjects", + "iotsitewise:ListTagsForResource" ] } }, diff --git a/server/schema/resources/aws-iottwinmaker-componenttype.json b/server/schema/resources/aws-iottwinmaker-componenttype.json index a866a535..341dba63 100644 --- a/server/schema/resources/aws-iottwinmaker-componenttype.json +++ b/server/schema/resources/aws-iottwinmaker-componenttype.json @@ -499,7 +499,12 @@ "tagOnCreate": true, "tagUpdatable": true, "cloudFormationSystemTags": true, - "tagProperty": "/properties/Tags" + "tagProperty": "/properties/Tags", + "permissions": [ + "iottwinmaker:TagResource", + "iottwinmaker:UntagResource", + "iottwinmaker:ListTagsForResource" + ] }, "required": [ "WorkspaceId", diff --git a/server/schema/resources/aws-iottwinmaker-entity.json b/server/schema/resources/aws-iottwinmaker-entity.json index 2ad60707..8ea748c0 100644 --- a/server/schema/resources/aws-iottwinmaker-entity.json +++ b/server/schema/resources/aws-iottwinmaker-entity.json @@ -541,7 +541,12 @@ "tagOnCreate": true, "tagUpdatable": true, "cloudFormationSystemTags": true, - "tagProperty": "/properties/Tags" + "tagProperty": "/properties/Tags", + "permissions": [ + "iottwinmaker:TagResource", + "iottwinmaker:UntagResource", + "iottwinmaker:ListTagsForResource" + ] }, "required": [ "WorkspaceId", diff --git a/server/schema/resources/aws-iottwinmaker-scene.json b/server/schema/resources/aws-iottwinmaker-scene.json index e33ed334..ed1aa072 100644 --- a/server/schema/resources/aws-iottwinmaker-scene.json +++ b/server/schema/resources/aws-iottwinmaker-scene.json @@ -90,7 +90,12 @@ "tagOnCreate": true, "tagUpdatable": true, "cloudFormationSystemTags": true, - "tagProperty": "/properties/Tags" + "tagProperty": "/properties/Tags", + "permissions": [ + "iottwinmaker:TagResource", + "iottwinmaker:UntagResource", + "iottwinmaker:ListTagsForResource" + ] }, "required": [ "WorkspaceId", diff --git a/server/schema/resources/aws-iottwinmaker-syncjob.json b/server/schema/resources/aws-iottwinmaker-syncjob.json index 83d8ca37..a946ea4b 100644 --- a/server/schema/resources/aws-iottwinmaker-syncjob.json +++ b/server/schema/resources/aws-iottwinmaker-syncjob.json @@ -73,7 +73,12 @@ "tagOnCreate": true, "tagUpdatable": false, "cloudFormationSystemTags": true, - "tagProperty": "/properties/Tags" + "tagProperty": "/properties/Tags", + "permissions": [ + "iottwinmaker:TagResource", + "iottwinmaker:UntagResource", + "iottwinmaker:ListTagsForResource" + ] }, "handlers": { "create": { diff --git a/server/schema/resources/aws-iottwinmaker-workspace.json b/server/schema/resources/aws-iottwinmaker-workspace.json index 70d70242..48c435e5 100644 --- a/server/schema/resources/aws-iottwinmaker-workspace.json +++ b/server/schema/resources/aws-iottwinmaker-workspace.json @@ -57,7 +57,12 @@ "tagOnCreate": true, "tagUpdatable": true, "cloudFormationSystemTags": true, - "tagProperty": "/properties/Tags" + "tagProperty": "/properties/Tags", + "permissions": [ + "iottwinmaker:TagResource", + "iottwinmaker:UntagResource", + "iottwinmaker:ListTagsForResource" + ] }, "required": [ "WorkspaceId", diff --git a/server/schema/resources/aws-iotwireless-destination.json b/server/schema/resources/aws-iotwireless-destination.json index 4a043c93..9b27df86 100644 --- a/server/schema/resources/aws-iotwireless-destination.json +++ b/server/schema/resources/aws-iotwireless-destination.json @@ -85,14 +85,24 @@ "primaryIdentifier": [ "/properties/Name" ], - "taggable": true, + "tagging": { + "taggable": true, + "tagOnCreate": true, + "tagUpdatable": true, + "cloudFormationSystemTags": true, + "tagProperty": "/properties/Tags", + "permissions": [ + "iotwireless:TagResource", + "iotwireless:UntagResource", + "iotwireless:ListTagsForResource" + ] + }, "handlers": { "create": { "permissions": [ "iam:PassRole", "iotwireless:CreateDestination", - "iotwireless:TagResource", - "iotwireless:ListTagsForResource" + "iotwireless:TagResource" ] }, "read": { @@ -104,9 +114,10 @@ "update": { "permissions": [ "iam:PassRole", + "iotwireless:GetDestination", "iotwireless:UpdateDestination", "iotwireless:UntagResource", - "iotwireless:ListTagsForResource" + "iotwireless:TagResource" ] }, "delete": { diff --git a/server/schema/resources/aws-iotwireless-deviceprofile.json b/server/schema/resources/aws-iotwireless-deviceprofile.json index 5b623809..ef7b0857 100644 --- a/server/schema/resources/aws-iotwireless-deviceprofile.json +++ b/server/schema/resources/aws-iotwireless-deviceprofile.json @@ -146,12 +146,12 @@ "description": "Name of service profile", "type": "string", "maxLength": 256, - "markdownDescription": "Name of service profile\n\n---\n\nRequired: No \nType: String \nMaximum Length: 256 \nUpdate requires: No interruption" + "markdownDescription": "Name of service profile\n\n---\n\nRequired: No \nType: String \nMaximum Length: 256 \nUpdate requires: Replacement" }, "LoRaWAN": { "description": "LoRaWANDeviceProfile supports all LoRa specific attributes for service profile for CreateDeviceProfile operation", "$ref": "#/definitions/LoRaWANDeviceProfile", - "markdownDescription": "LoRaWANDeviceProfile supports all LoRa specific attributes for service profile for CreateDeviceProfile operation\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" + "markdownDescription": "LoRaWANDeviceProfile supports all LoRa specific attributes for service profile for CreateDeviceProfile operation\n\n---\n\nRequired: No \nType: \nUpdate requires: Replacement" }, "Tags": { "description": "A list of key-value pairs that contain metadata for the device profile.", @@ -171,16 +171,37 @@ "/properties/Arn", "/properties/Id" ], + "createOnlyProperties": [ + "/properties/Name", + "/properties/LoRaWAN" + ], "primaryIdentifier": [ "/properties/Id" ], - "taggable": true, + "tagging": { + "taggable": true, + "tagOnCreate": true, + "tagUpdatable": true, + "cloudFormationSystemTags": true, + "tagProperty": "/properties/Tags", + "permissions": [ + "iotwireless:TagResource", + "iotwireless:UntagResource", + "iotwireless:ListTagsForResource" + ] + }, "handlers": { "create": { "permissions": [ "iotwireless:CreateDeviceProfile", + "iotwireless:TagResource" + ] + }, + "update": { + "permissions": [ + "iotwireless:GetDeviceProfile", "iotwireless:TagResource", - "iotwireless:ListTagsForResource" + "iotwireless:UntagResource" ] }, "read": { diff --git a/server/schema/resources/aws-iotwireless-fuotatask.json b/server/schema/resources/aws-iotwireless-fuotatask.json index 5bc17625..10881925 100644 --- a/server/schema/resources/aws-iotwireless-fuotatask.json +++ b/server/schema/resources/aws-iotwireless-fuotatask.json @@ -2,7 +2,18 @@ "typeName": "AWS::IoTWireless::FuotaTask", "description": "Create and manage FUOTA tasks.", "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-rpdk.git", - "taggable": true, + "tagging": { + "taggable": true, + "tagOnCreate": true, + "tagUpdatable": true, + "cloudFormationSystemTags": true, + "tagProperty": "/properties/Tags", + "permissions": [ + "iotwireless:TagResource", + "iotwireless:UntagResource", + "iotwireless:ListTagsForResource" + ] + }, "definitions": { "Tag": { "type": "object", @@ -135,7 +146,6 @@ "permissions": [ "iotwireless:CreateFuotaTask", "iotwireless:TagResource", - "iotwireless:ListTagsForResource", "iam:GetRole", "iam:PassRole" ] @@ -150,8 +160,9 @@ "permissions": [ "iam:PassRole", "iotwireless:UpdateFuotaTask", + "iotwireless:GetFuotaTask", + "iotwireless:TagResource", "iotwireless:UntagResource", - "iotwireless:ListTagsForResource", "iotwireless:AssociateMulticastGroupWithFuotaTask", "iotwireless:DisassociateMulticastGroupFromFuotaTask", "iotwireless:AssociateWirelessDeviceWithFuotaTask", diff --git a/server/schema/resources/aws-iotwireless-multicastgroup.json b/server/schema/resources/aws-iotwireless-multicastgroup.json index d36ab0a7..953c671a 100644 --- a/server/schema/resources/aws-iotwireless-multicastgroup.json +++ b/server/schema/resources/aws-iotwireless-multicastgroup.json @@ -2,7 +2,18 @@ "typeName": "AWS::IoTWireless::MulticastGroup", "description": "Create and manage Multicast groups.", "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-rpdk.git", - "taggable": true, + "tagging": { + "taggable": true, + "tagOnCreate": true, + "tagUpdatable": true, + "cloudFormationSystemTags": true, + "tagProperty": "/properties/Tags", + "permissions": [ + "iotwireless:TagResource", + "iotwireless:UntagResource", + "iotwireless:ListTagsForResource" + ] + }, "definitions": { "Tag": { "type": "object", @@ -119,8 +130,7 @@ "create": { "permissions": [ "iotwireless:CreateMulticastGroup", - "iotwireless:TagResource", - "iotwireless:ListTagsForResource" + "iotwireless:TagResource" ] }, "read": { @@ -132,8 +142,9 @@ "update": { "permissions": [ "iotwireless:UpdateMulticastGroup", + "iotwireless:GetMulticastGroup", + "iotwireless:TagResource", "iotwireless:UntagResource", - "iotwireless:ListTagsForResource", "iotwireless:AssociateWirelessDeviceWithMulticastGroup", "iotwireless:DisassociateWirelessDeviceFromMulticastGroup" ] diff --git a/server/schema/resources/aws-iotwireless-networkanalyzerconfiguration.json b/server/schema/resources/aws-iotwireless-networkanalyzerconfiguration.json index ac078d8f..132d56b8 100644 --- a/server/schema/resources/aws-iotwireless-networkanalyzerconfiguration.json +++ b/server/schema/resources/aws-iotwireless-networkanalyzerconfiguration.json @@ -105,16 +105,21 @@ "items": { "$ref": "#/definitions/Tag" }, - "markdownDescription": "An array of key-value pairs to apply to this resource.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: Replacement" + "markdownDescription": "An array of key-value pairs to apply to this resource.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" } }, "additionalProperties": false, "tagging": { "taggable": true, "tagOnCreate": true, - "tagUpdatable": false, + "tagUpdatable": true, "cloudFormationSystemTags": false, - "tagProperty": "/properties/Tags" + "tagProperty": "/properties/Tags", + "permissions": [ + "iotwireless:TagResource", + "iotwireless:UntagResource", + "iotwireless:ListTagsForResource" + ] }, "required": [ "Name" @@ -123,8 +128,7 @@ "/properties/Arn" ], "createOnlyProperties": [ - "/properties/Name", - "/properties/Tags" + "/properties/Name" ], "primaryIdentifier": [ "/properties/Name" @@ -133,8 +137,7 @@ "create": { "permissions": [ "iotwireless:CreateNetworkAnalyzerConfiguration", - "iotwireless:TagResource", - "iotwireless:ListTagsForResource" + "iotwireless:TagResource" ] }, "read": { @@ -146,8 +149,9 @@ "update": { "permissions": [ "iotwireless:UpdateNetworkAnalyzerConfiguration", - "iotwireless:UntagResource", - "iotwireless:ListTagsForResource" + "iotwireless:GetNetworkAnalyzerConfiguration", + "iotwireless:TagResource", + "iotwireless:UntagResource" ] }, "delete": { diff --git a/server/schema/resources/aws-iotwireless-partneraccount.json b/server/schema/resources/aws-iotwireless-partneraccount.json index aa00a091..5e550b93 100644 --- a/server/schema/resources/aws-iotwireless-partneraccount.json +++ b/server/schema/resources/aws-iotwireless-partneraccount.json @@ -136,13 +136,24 @@ "primaryIdentifier": [ "/properties/PartnerAccountId" ], - "taggable": true, + "tagging": { + "taggable": true, + "tagOnCreate": true, + "tagUpdatable": true, + "cloudFormationSystemTags": true, + "tagProperty": "/properties/Tags", + "permissions": [ + "iotwireless:TagResource", + "iotwireless:UntagResource", + "iotwireless:ListTagsForResource" + ] + }, "handlers": { "create": { "permissions": [ "iotwireless:AssociateAwsAccountWithPartnerAccount", "iotwireless:TagResource", - "iotwireless:ListTagsForResource" + "iotwireless:GetPartnerAccount" ] }, "read": { @@ -159,9 +170,12 @@ }, "update": { "permissions": [ + "iotwireless:GetPartnerAccount", + "iotwireless:AssociateAwsAccountWithPartnerAccount", "iotwireless:UpdatePartnerAccount", - "iotwireless:UntagResource", - "iotwireless:ListTagsForResource" + "iotwireless:ListTagsForResource", + "iotwireless:TagResource", + "iotwireless:UntagResource" ] }, "delete": { diff --git a/server/schema/resources/aws-iotwireless-serviceprofile.json b/server/schema/resources/aws-iotwireless-serviceprofile.json index d53fc51b..bd1f447d 100644 --- a/server/schema/resources/aws-iotwireless-serviceprofile.json +++ b/server/schema/resources/aws-iotwireless-serviceprofile.json @@ -111,12 +111,12 @@ "description": "Name of service profile", "type": "string", "maxLength": 256, - "markdownDescription": "Name of service profile\n\n---\n\nRequired: No \nType: String \nMaximum Length: 256 \nUpdate requires: No interruption" + "markdownDescription": "Name of service profile\n\n---\n\nRequired: No \nType: String \nMaximum Length: 256 \nUpdate requires: Replacement" }, "LoRaWAN": { "description": "LoRaWAN supports all LoRa specific attributes for service profile for CreateServiceProfile operation", "$ref": "#/definitions/LoRaWANServiceProfile", - "markdownDescription": "LoRaWAN supports all LoRa specific attributes for service profile for CreateServiceProfile operation\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" + "markdownDescription": "LoRaWAN supports all LoRa specific attributes for service profile for CreateServiceProfile operation\n\n---\n\nRequired: No \nType: \nUpdate requires: Replacement" }, "Tags": { "description": "A list of key-value pairs that contain metadata for the service profile.", @@ -152,16 +152,37 @@ "/properties/LoRaWAN/TargetPer", "/properties/LoRaWAN/MinGwDiversity" ], + "createOnlyProperties": [ + "/properties/Name", + "/properties/LoRaWAN" + ], "primaryIdentifier": [ "/properties/Id" ], - "taggable": true, + "tagging": { + "taggable": true, + "tagOnCreate": true, + "tagUpdatable": true, + "cloudFormationSystemTags": true, + "tagProperty": "/properties/Tags", + "permissions": [ + "iotwireless:TagResource", + "iotwireless:UntagResource", + "iotwireless:ListTagsForResource" + ] + }, "handlers": { "create": { "permissions": [ "iotwireless:CreateServiceProfile", + "iotwireless:TagResource" + ] + }, + "update": { + "permissions": [ + "iotwireless:GetServiceProfile", "iotwireless:TagResource", - "iotwireless:ListTagsForResource" + "iotwireless:UntagResource" ] }, "read": { diff --git a/server/schema/resources/aws-iotwireless-taskdefinition.json b/server/schema/resources/aws-iotwireless-taskdefinition.json index c79899ab..befc0988 100644 --- a/server/schema/resources/aws-iotwireless-taskdefinition.json +++ b/server/schema/resources/aws-iotwireless-taskdefinition.json @@ -161,17 +161,34 @@ "primaryIdentifier": [ "/properties/Id" ], - "taggable": true, + "tagging": { + "taggable": true, + "tagOnCreate": true, + "tagUpdatable": true, + "cloudFormationSystemTags": true, + "tagProperty": "/properties/Tags", + "permissions": [ + "iotwireless:TagResource", + "iotwireless:UntagResource", + "iotwireless:ListTagsForResource" + ] + }, "handlers": { "create": { "permissions": [ "iotwireless:CreateWirelessGatewayTaskDefinition", "iotwireless:TagResource", - "iotwireless:ListTagsForResource", "iam:GetRole", "iam:PassRole" ] }, + "update": { + "permissions": [ + "iotwireless:GetWirelessGatewayTaskDefinition", + "iotwireless:TagResource", + "iotwireless:UntagResource" + ] + }, "read": { "permissions": [ "iotwireless:GetWirelessGatewayTaskDefinition", @@ -184,6 +201,13 @@ ] }, "list": { + "handlerSchema": { + "properties": { + "TaskDefinitionType": { + "$ref": "#/properties/TaskDefinitionType" + } + } + }, "permissions": [ "iotwireless:ListWirelessGatewayTaskDefinitions", "iotwireless:ListTagsForResource" diff --git a/server/schema/resources/aws-iotwireless-wirelessdevice.json b/server/schema/resources/aws-iotwireless-wirelessdevice.json index 795c3ce9..7a87016f 100644 --- a/server/schema/resources/aws-iotwireless-wirelessdevice.json +++ b/server/schema/resources/aws-iotwireless-wirelessdevice.json @@ -334,13 +334,23 @@ "primaryIdentifier": [ "/properties/Id" ], - "taggable": true, + "tagging": { + "taggable": true, + "tagOnCreate": true, + "tagUpdatable": true, + "cloudFormationSystemTags": true, + "tagProperty": "/properties/Tags", + "permissions": [ + "iotwireless:TagResource", + "iotwireless:UntagResource", + "iotwireless:ListTagsForResource" + ] + }, "handlers": { "create": { "permissions": [ "iotwireless:CreateWirelessDevice", - "iotwireless:TagResource", - "iotwireless:ListTagsForResource" + "iotwireless:TagResource" ] }, "read": { @@ -352,9 +362,10 @@ "update": { "permissions": [ "iotwireless:UpdateWirelessDevice", - "iotwireless:UntagResource", - "iotwireless:ListTagsForResource", - "iotwireless:AssociateWirelessDeviceWithThing" + "iotwireless:GetWirelessDevice", + "iotwireless:AssociateWirelessDeviceWithThing", + "iotwireless:TagResource", + "iotwireless:UntagResource" ] }, "delete": { diff --git a/server/schema/resources/aws-iotwireless-wirelessdeviceimporttask.json b/server/schema/resources/aws-iotwireless-wirelessdeviceimporttask.json index 33bc605b..9e8c4a47 100644 --- a/server/schema/resources/aws-iotwireless-wirelessdeviceimporttask.json +++ b/server/schema/resources/aws-iotwireless-wirelessdeviceimporttask.json @@ -61,12 +61,12 @@ "SidewalkManufacturingSn": { "type": "string", "maxLength": 64, - "markdownDescription": "\n\n---\n\nRequired: Conditional \nType: String \nMaximum Length: 64 \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMaximum Length: 64 \nUpdate requires: No interruption" }, "DeviceCreationFile": { "type": "string", "maxLength": 1024, - "markdownDescription": "\n\n---\n\nRequired: Conditional \nType: String \nMaximum Length: 1024 \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMaximum Length: 1024 \nUpdate requires: No interruption" }, "DeviceCreationFileList": { "$ref": "#/definitions/DeviceCreationFileList" @@ -75,27 +75,6 @@ "$ref": "#/definitions/Role" } }, - "oneOf": [ - { - "allOf": [ - { - "required": [ - "DeviceCreationFile" - ] - }, - { - "required": [ - "Role" - ] - } - ] - }, - { - "required": [ - "SidewalkManufacturingSn" - ] - } - ], "markdownDescription": "sidewalk contain file for created device and role\n\n---\n\nRequired: Yes \nUpdate requires: No interruption" }, "Tags": { @@ -113,9 +92,14 @@ "tagging": { "taggable": true, "tagOnCreate": true, - "tagUpdatable": false, - "cloudFormationSystemTags": false, - "tagProperty": "/properties/Tags" + "tagUpdatable": true, + "cloudFormationSystemTags": true, + "tagProperty": "/properties/Tags", + "permissions": [ + "iotwireless:TagResource", + "iotwireless:UntagResource", + "iotwireless:ListTagsForResource" + ] }, "required": [ "DestinationName", @@ -146,7 +130,6 @@ "iotwireless:StartWirelessDeviceImportTask", "iotwireless:StartSingleWirelessDeviceImportTask", "iotwireless:TagResource", - "iotwireless:ListTagsForResource", "iam:PassRole" ] }, @@ -158,9 +141,10 @@ }, "update": { "permissions": [ + "iotwireless:GetWirelessDeviceImportTask", "iotwireless:UpdateWirelessDeviceImportTask", + "iotwireless:TagResource", "iotwireless:UntagResource", - "iotwireless:ListTagsForResource", "iam:PassRole" ] }, diff --git a/server/schema/resources/aws-iotwireless-wirelessgateway.json b/server/schema/resources/aws-iotwireless-wirelessgateway.json index 3ac98ebf..04daab31 100644 --- a/server/schema/resources/aws-iotwireless-wirelessgateway.json +++ b/server/schema/resources/aws-iotwireless-wirelessgateway.json @@ -99,13 +99,23 @@ "primaryIdentifier": [ "/properties/Id" ], - "taggable": true, + "tagging": { + "taggable": true, + "tagOnCreate": true, + "tagUpdatable": true, + "cloudFormationSystemTags": true, + "tagProperty": "/properties/Tags", + "permissions": [ + "iotwireless:TagResource", + "iotwireless:UntagResource", + "iotwireless:ListTagsForResource" + ] + }, "handlers": { "create": { "permissions": [ "iotwireless:CreateWirelessGateway", - "iotwireless:TagResource", - "iotwireless:ListTagsForResource" + "iotwireless:TagResource" ] }, "read": { @@ -116,10 +126,11 @@ }, "update": { "permissions": [ + "iotwireless:GetWirelessGateway", "iotwireless:UpdateWirelessGateway", - "iotwireless:UntagResource", - "iotwireless:ListTagsForResource", - "iotwireless:AssociateWirelessGatewayWithThing" + "iotwireless:AssociateWirelessGatewayWithThing", + "iotwireless:TagResource", + "iotwireless:UntagResource" ] }, "delete": { diff --git a/server/schema/resources/aws-ivs-encoderconfiguration.json b/server/schema/resources/aws-ivs-encoderconfiguration.json index e144776b..67894caf 100644 --- a/server/schema/resources/aws-ivs-encoderconfiguration.json +++ b/server/schema/resources/aws-ivs-encoderconfiguration.json @@ -53,20 +53,20 @@ "markdownDescription": "Video frame rate, in fps. Default: 30.\n\n---\n\nRequired: No \nType: Number \nUpdate requires: No interruption" }, "Height": { - "description": "Video-resolution height. Note that the maximum value is determined by width times height, such that the maximum total pixels is 2073600 (1920x1080 or 1080x1920). Default: 720.", + "description": "Video-resolution height. This must be an even number. Note that the maximum value is determined by width times height, such that the maximum total pixels is 2073600 (1920x1080 or 1080x1920). Default: 720.", "type": "integer", - "minimum": 1, + "minimum": 2, "maximum": 1920, "default": 720, - "markdownDescription": "Video-resolution height. Note that the maximum value is determined by width times height, such that the maximum total pixels is 2073600 (1920x1080 or 1080x1920). Default: 720.\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" + "markdownDescription": "Video-resolution height. This must be an even number. Note that the maximum value is determined by width times height, such that the maximum total pixels is 2073600 (1920x1080 or 1080x1920). Default: 720.\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" }, "Width": { - "description": "Video-resolution width. Note that the maximum value is determined by width times height, such that the maximum total pixels is 2073600 (1920x1080 or 1080x1920). Default: 1280.", + "description": "Video-resolution width. This must be an even number. Note that the maximum value is determined by width times height, such that the maximum total pixels is 2073600 (1920x1080 or 1080x1920). Default: 1280.", "type": "integer", - "minimum": 1, + "minimum": 2, "maximum": 1920, "default": 1280, - "markdownDescription": "Video-resolution width. Note that the maximum value is determined by width times height, such that the maximum total pixels is 2073600 (1920x1080 or 1080x1920). Default: 1280.\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" + "markdownDescription": "Video-resolution width. This must be an even number. Note that the maximum value is determined by width times height, such that the maximum total pixels is 2073600 (1920x1080 or 1080x1920). Default: 1280.\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" } }, "markdownDescription": "Video configuration. Default: video resolution 1280x720, bitrate 2500 kbps, 30 fps\n\n---\n\nRequired: No \nUpdate requires: Replacement" diff --git a/server/schema/resources/aws-ivs-ingestconfiguration.json b/server/schema/resources/aws-ivs-ingestconfiguration.json new file mode 100644 index 00000000..97de6ee5 --- /dev/null +++ b/server/schema/resources/aws-ivs-ingestconfiguration.json @@ -0,0 +1,178 @@ +{ + "typeName": "AWS::IVS::IngestConfiguration", + "description": "Resource Type definition for AWS::IVS::IngestConfiguration", + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-rpdk.git", + "definitions": { + "Tag": { + "type": "object", + "additionalProperties": false, + "properties": { + "Key": { + "type": "string", + "minLength": 1, + "maxLength": 128, + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 128 \nUpdate requires: No interruption" + }, + "Value": { + "type": "string", + "minLength": 1, + "maxLength": 256, + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 256 \nUpdate requires: No interruption" + } + }, + "required": [ + "Value", + "Key" + ], + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + } + }, + "properties": { + "Name": { + "description": "IngestConfiguration", + "type": "string", + "minLength": 0, + "maxLength": 128, + "default": "-", + "markdownDescription": "IngestConfiguration\n\n---\n\nRequired: No \nType: String \nMaximum Length: 128 \nPattern: ^[a-zA-Z0-9-_]*$ \nUpdate requires: Replacement" + }, + "StageArn": { + "description": "Stage ARN. A value other than an empty string indicates that stage is linked to IngestConfiguration. Default: \"\" (recording is disabled).", + "type": "string", + "default": "", + "minLength": 0, + "maxLength": 128, + "markdownDescription": "Stage ARN. A value other than an empty string indicates that stage is linked to IngestConfiguration. Default: \"\" (recording is disabled).\n\n---\n\nRequired: No \nType: String \nMaximum Length: 128 \nPattern: ^arn:aws:ivs:[a-z0-9-]+:[0-9]+:stage/[a-zA-Z0-9-]+$ \nUpdate requires: No interruption" + }, + "IngestProtocol": { + "description": "Ingest Protocol.", + "type": "string", + "enum": [ + "RTMP", + "RTMPS" + ], + "default": "RTMPS", + "markdownDescription": "Ingest Protocol.\n\n---\n\nRequired: No \nType: String \nAllowed Values: RTMP | RTMPS \nUpdate requires: Replacement" + }, + "InsecureIngest": { + "description": "Whether ingest configuration allows insecure ingest.", + "type": "boolean", + "default": false, + "markdownDescription": "Whether ingest configuration allows insecure ingest.\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: Replacement" + }, + "UserId": { + "description": "User defined indentifier for participant associated with IngestConfiguration.", + "type": "string", + "markdownDescription": "User defined indentifier for participant associated with IngestConfiguration.\n\n---\n\nRequired: No \nType: String \nUpdate requires: Replacement" + }, + "Tags": { + "description": "A list of key-value pairs that contain metadata for the asset model.", + "type": "array", + "uniqueItems": true, + "insertionOrder": false, + "maxItems": 50, + "items": { + "$ref": "#/definitions/Tag" + }, + "markdownDescription": "A list of key-value pairs that contain metadata for the asset model.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + } + }, + "additionalProperties": false, + "required": [], + "tagging": { + "taggable": true, + "tagOnCreate": true, + "tagUpdatable": true, + "cloudFormationSystemTags": false, + "tagProperty": "/properties/Tags", + "permissions": [ + "ivs:TagResource", + "ivs:UntagResource", + "ivs:ListTagsForResource" + ] + }, + "createOnlyProperties": [ + "/properties/InsecureIngest", + "/properties/UserId", + "/properties/Name", + "/properties/IngestProtocol" + ], + "writeOnlyProperties": [ + "/properties/InsecureIngest" + ], + "readOnlyProperties": [ + "/properties/Arn", + "/properties/ParticipantId", + "/properties/StreamKey", + "/properties/State" + ], + "primaryIdentifier": [ + "/properties/Arn" + ], + "handlers": { + "create": { + "permissions": [ + "ivs:CreateIngestConfiguration", + "ivs:TagResource" + ] + }, + "read": { + "permissions": [ + "ivs:GetIngestConfiguration", + "ivs:ListTagsForResource" + ] + }, + "update": { + "permissions": [ + "ivs:GetIngestConfiguration", + "ivs:UpdateIngestConfiguration", + "ivs:TagResource", + "ivs:UntagResource", + "ivs:ListTagsForResource" + ] + }, + "delete": { + "permissions": [ + "ivs:DeleteIngestConfiguration", + "ivs:UntagResource" + ] + }, + "list": { + "permissions": [ + "ivs:ListIngestConfigurations", + "ivs:ListTagsForResource" + ] + } + }, + "attributes": { + "Arn": { + "description": "IngestConfiguration ARN is automatically generated on creation and assigned as the unique identifier.", + "type": "string", + "minLength": 1, + "maxLength": 128, + "markdownDescription": "IngestConfiguration ARN is automatically generated on creation and assigned as the unique identifier.\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 128 \nPattern: ^arn:aws:ivs:[a-z0-9-]+:[0-9]+:ingest-configuration/[a-zA-Z0-9-]+$ \nUpdate requires: No interruption" + }, + "ParticipantId": { + "description": "Participant Id is automatically generated on creation and assigned.", + "type": "string", + "minLength": 0, + "maxLength": 64, + "markdownDescription": "Participant Id is automatically generated on creation and assigned.\n\n---\n\nRequired: No \nType: String \nMaximum Length: 64 \nPattern: ^[a-zA-Z0-9-_]*$ \nUpdate requires: No interruption" + }, + "State": { + "description": "State of IngestConfiguration which determines whether IngestConfiguration is in use or not.", + "type": "string", + "enum": [ + "ACTIVE", + "INACTIVE" + ], + "default": "INACTIVE", + "markdownDescription": "State of IngestConfiguration which determines whether IngestConfiguration is in use or not.\n\n---\n\nRequired: No \nType: String \nAllowed Values: ACTIVE | INACTIVE \nUpdate requires: No interruption" + }, + "StreamKey": { + "description": "Stream-key value.", + "type": "string", + "markdownDescription": "Stream-key value.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + } + } +} \ No newline at end of file diff --git a/server/schema/resources/aws-kafkaconnect-connector.json b/server/schema/resources/aws-kafkaconnect-connector.json index fc9ce26b..7c928f14 100644 --- a/server/schema/resources/aws-kafkaconnect-connector.json +++ b/server/schema/resources/aws-kafkaconnect-connector.json @@ -7,7 +7,13 @@ "tagOnCreate": true, "tagUpdatable": true, "cloudFormationSystemTags": true, - "tagProperty": "/properties/Tags" + "tagProperty": "/properties/Tags", + "permissions": [ + "kafkaconnect:ListTagsForResource", + "kafkaconnect:UntagResource", + "kafkaconnect:TagResource", + "firehose:TagDeliveryStream" + ] }, "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-kafkaconnect.git", "properties": { diff --git a/server/schema/resources/aws-kafkaconnect-customplugin.json b/server/schema/resources/aws-kafkaconnect-customplugin.json index 23bd82ec..f8132441 100644 --- a/server/schema/resources/aws-kafkaconnect-customplugin.json +++ b/server/schema/resources/aws-kafkaconnect-customplugin.json @@ -157,7 +157,12 @@ "tagOnCreate": true, "tagUpdatable": true, "cloudFormationSystemTags": true, - "tagProperty": "/properties/Tags" + "tagProperty": "/properties/Tags", + "permissions": [ + "kafkaconnect:ListTagsForResource", + "kafkaconnect:UntagResource", + "kafkaconnect:TagResource" + ] }, "handlers": { "create": { diff --git a/server/schema/resources/aws-kafkaconnect-workerconfiguration.json b/server/schema/resources/aws-kafkaconnect-workerconfiguration.json index 1519a757..48059a1e 100644 --- a/server/schema/resources/aws-kafkaconnect-workerconfiguration.json +++ b/server/schema/resources/aws-kafkaconnect-workerconfiguration.json @@ -83,7 +83,12 @@ "tagOnCreate": true, "tagUpdatable": true, "cloudFormationSystemTags": true, - "tagProperty": "/properties/Tags" + "tagProperty": "/properties/Tags", + "permissions": [ + "kafkaconnect:ListTagsForResource", + "kafkaconnect:UntagResource", + "kafkaconnect:TagResource" + ] }, "handlers": { "create": { diff --git a/server/schema/resources/aws-kinesis-resourcepolicy.json b/server/schema/resources/aws-kinesis-resourcepolicy.json new file mode 100644 index 00000000..45ce6643 --- /dev/null +++ b/server/schema/resources/aws-kinesis-resourcepolicy.json @@ -0,0 +1,73 @@ +{ + "typeName": "AWS::Kinesis::ResourcePolicy", + "description": "Resource Type definition for AWS::Kinesis::ResourcePolicy", + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-kinesis.git", + "properties": { + "ResourceArn": { + "description": "The ARN of the AWS Kinesis resource to which the policy applies.", + "type": "string", + "minLength": 1, + "maxLength": 2048, + "anyOf": [ + { + "relationshipRef": { + "typeName": "AWS::Kinesis::Stream", + "propertyPath": "/properties/Arn" + } + }, + { + "relationshipRef": { + "typeName": "AWS::Kinesis::StreamConsumer", + "propertyPath": "/properties/ConsumerARN" + } + } + ], + "markdownDescription": "The ARN of the AWS Kinesis resource to which the policy applies.\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 2048 \nPattern: arn:aws.*:kinesis:.*:\\d{12}:stream/\\S+ \nUpdate requires: Replacement" + }, + "ResourcePolicy": { + "description": "A policy document containing permissions to add to the specified resource. In IAM, you must provide policy documents in JSON format. However, in CloudFormation you can provide the policy in JSON or YAML format because CloudFormation converts YAML to JSON before submitting it to IAM.", + "type": "object", + "markdownDescription": "A policy document containing permissions to add to the specified resource. In IAM, you must provide policy documents in JSON format. However, in CloudFormation you can provide the policy in JSON or YAML format because CloudFormation converts YAML to JSON before submitting it to IAM.\n\n---\n\nRequired: Yes \nUpdate requires: No interruption" + } + }, + "additionalProperties": false, + "required": [ + "ResourceArn", + "ResourcePolicy" + ], + "createOnlyProperties": [ + "/properties/ResourceArn" + ], + "primaryIdentifier": [ + "/properties/ResourceArn" + ], + "tagging": { + "taggable": false + }, + "handlers": { + "create": { + "permissions": [ + "kinesis:GetResourcePolicy", + "kinesis:PutResourcePolicy" + ] + }, + "read": { + "permissions": [ + "kinesis:GetResourcePolicy" + ] + }, + "update": { + "permissions": [ + "kinesis:PutResourcePolicy", + "kinesis:GetResourcePolicy" + ] + }, + "delete": { + "permissions": [ + "kinesis:DeleteResourcePolicy", + "kinesis:GetResourcePolicy" + ] + } + }, + "attributes": {} +} \ No newline at end of file diff --git a/server/schema/resources/aws-kinesis-stream.json b/server/schema/resources/aws-kinesis-stream.json index aae68650..f2e1702e 100644 --- a/server/schema/resources/aws-kinesis-stream.json +++ b/server/schema/resources/aws-kinesis-stream.json @@ -1,6 +1,11 @@ { "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-kinesis.git", "tagging": { + "permissions": [ + "kinesis:AddTagsToStream", + "kinesis:RemoveTagsFromStream", + "kinesis:ListTagsForStream" + ], "taggable": true, "tagOnCreate": true, "tagUpdatable": true, @@ -63,6 +68,7 @@ "createOnlyProperties": [ "/properties/Name" ], + "$comment": "Do not set SystemTags to true without implementing a fail-open mechanism. It should not fail when adding systemTags for customers without AddTagsToStream Permission. Cloudformation will automatically add system tags even if customer does not have the AddTagsToStream permission. COE: https://www.coe.a2z.com/coe/236297/content", "additionalProperties": false, "primaryIdentifier": [ "/properties/Name" diff --git a/server/schema/resources/aws-kinesisfirehose-deliverystream.json b/server/schema/resources/aws-kinesisfirehose-deliverystream.json index 65bb0de7..ae0dd37c 100644 --- a/server/schema/resources/aws-kinesisfirehose-deliverystream.json +++ b/server/schema/resources/aws-kinesisfirehose-deliverystream.json @@ -15,11 +15,12 @@ "DeliveryStreamType": { "type": "string", "enum": [ + "DatabaseAsSource", "DirectPut", "KinesisStreamAsSource", "MSKAsSource" ], - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: DirectPut | KinesisStreamAsSource | MSKAsSource \nUpdate requires: Replacement" + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: DatabaseAsSource | DirectPut | KinesisStreamAsSource | MSKAsSource \nUpdate requires: Replacement" }, "ElasticsearchDestinationConfiguration": { "$ref": "#/definitions/ElasticsearchDestinationConfiguration" @@ -33,6 +34,9 @@ "ExtendedS3DestinationConfiguration": { "$ref": "#/definitions/ExtendedS3DestinationConfiguration" }, + "DatabaseSourceConfiguration": { + "$ref": "#/definitions/DatabaseSourceConfiguration" + }, "KinesisStreamSourceConfiguration": { "$ref": "#/definitions/KinesisStreamSourceConfiguration" }, @@ -236,6 +240,204 @@ ], "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, + "DatabaseSourceConfiguration": { + "type": "object", + "additionalProperties": false, + "properties": { + "Type": { + "type": "string", + "enum": [ + "MySQL", + "PostgreSQL" + ], + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nAllowed Values: MySQL | PostgreSQL \nUpdate requires: No interruption" + }, + "Endpoint": { + "type": "string", + "minLength": 1, + "maxLength": 255, + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 255 \nPattern: ^(?!\\s*$).+ \nUpdate requires: No interruption" + }, + "Port": { + "type": "integer", + "minimum": 0, + "maximum": 65535, + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: Integer \nUpdate requires: No interruption" + }, + "SSLMode": { + "type": "string", + "enum": [ + "Disabled", + "Enabled" + ], + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: Disabled | Enabled \nUpdate requires: No interruption" + }, + "Databases": { + "$ref": "#/definitions/Databases" + }, + "Tables": { + "$ref": "#/definitions/DatabaseTables" + }, + "Columns": { + "$ref": "#/definitions/DatabaseColumns" + }, + "SurrogateKeys": { + "type": "array", + "items": { + "type": "string", + "minLength": 1, + "maxLength": 1024, + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 1024 \nPattern: ^\\S+$ \nUpdate requires: No interruption" + }, + "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + }, + "SnapshotWatermarkTable": { + "$ref": "#/definitions/DatabaseTableName" + }, + "DatabaseSourceAuthenticationConfiguration": { + "$ref": "#/definitions/DatabaseSourceAuthenticationConfiguration" + }, + "DatabaseSourceVPCConfiguration": { + "$ref": "#/definitions/DatabaseSourceVPCConfiguration" + }, + "Digest": { + "type": "string", + "minLength": 1, + "maxLength": 512, + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 512 \nPattern: .* \nUpdate requires: No interruption" + }, + "PublicCertificate": { + "type": "string", + "minLength": 1, + "maxLength": 4096, + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 4096 \nPattern: .* \nUpdate requires: No interruption" + } + }, + "required": [ + "Type", + "Endpoint", + "Port", + "Databases", + "Tables", + "SnapshotWatermarkTable", + "DatabaseSourceAuthenticationConfiguration", + "DatabaseSourceVPCConfiguration" + ], + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "Databases": { + "type": "object", + "additionalProperties": false, + "properties": { + "Include": { + "type": "array", + "items": { + "$ref": "#/definitions/DatabaseName" + }, + "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + }, + "Exclude": { + "type": "array", + "items": { + "$ref": "#/definitions/DatabaseName" + }, + "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + } + }, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "DatabaseName": { + "type": "string", + "minLength": 1, + "maxLength": 64, + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 64 \nPattern: [\\u0001-\\uFFFF]* \nUpdate requires: No interruption" + }, + "DatabaseTables": { + "type": "object", + "additionalProperties": false, + "properties": { + "Include": { + "type": "array", + "items": { + "$ref": "#/definitions/DatabaseTableName" + }, + "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + }, + "Exclude": { + "type": "array", + "items": { + "$ref": "#/definitions/DatabaseTableName" + }, + "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + } + }, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "DatabaseTableName": { + "type": "string", + "minLength": 1, + "maxLength": 129, + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 129 \nPattern: [\\u0001-\\uFFFF]* \nUpdate requires: No interruption" + }, + "DatabaseColumns": { + "type": "object", + "additionalProperties": false, + "properties": { + "Include": { + "type": "array", + "items": { + "$ref": "#/definitions/DatabaseColumnName" + }, + "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + }, + "Exclude": { + "type": "array", + "items": { + "$ref": "#/definitions/DatabaseColumnName" + }, + "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + } + }, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "DatabaseColumnName": { + "type": "string", + "minLength": 1, + "maxLength": 194, + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 194 \nPattern: [\\u0001-\\uFFFF]* \nUpdate requires: No interruption" + }, + "DatabaseSourceAuthenticationConfiguration": { + "type": "object", + "additionalProperties": false, + "properties": { + "SecretsManagerConfiguration": { + "$ref": "#/definitions/SecretsManagerConfiguration" + } + }, + "required": [ + "SecretsManagerConfiguration" + ], + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "DatabaseSourceVPCConfiguration": { + "type": "object", + "additionalProperties": false, + "properties": { + "VpcEndpointServiceName": { + "$ref": "#/definitions/VpcEndpointServiceName" + } + }, + "required": [ + "VpcEndpointServiceName" + ], + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "VpcEndpointServiceName": { + "type": "string", + "minLength": 47, + "maxLength": 255, + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMinimum Length: 47 \nMaximum Length: 255 \nPattern: ([a-zA-Z0-9\\-\\_]+\\.){2,3}vpce\\.[a-zA-Z0-9\\-]*\\.vpce-svc\\-[a-zA-Z0-9\\-]{17}$ \nUpdate requires: No interruption" + }, "MSKSourceConfiguration": { "type": "object", "additionalProperties": false, @@ -1806,17 +2008,17 @@ "typeName": "AWS::IAM::Role", "propertyPath": "/properties/Arn" }, - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 512 \nPattern: arn:.* \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 512 \nPattern: arn:.*:iam::\\d{12}:role/[a-zA-Z_0-9+=,.@\\-_/]+ \nUpdate requires: No interruption" }, "SecretARN": { "type": "string", "minLength": 1, - "maxLength": 512, + "maxLength": 2048, "relationshipRef": { "typeName": "AWS::SecretsManager::Secret", "propertyPath": "/properties/Arn" }, - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 512 \nPattern: arn:.* \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 2048 \nPattern: arn:.*:secretsmanager:[a-zA-Z0-9\\-]+:\\d{12}:secret:[a-zA-Z0-9\\-/_+=.@]+ \nUpdate requires: No interruption" } }, "required": [ @@ -1901,6 +2103,7 @@ "/properties/ElasticsearchDestinationConfiguration/VpcConfiguration", "/properties/AmazonopensearchserviceDestinationConfiguration/VpcConfiguration", "/properties/AmazonOpenSearchServerlessDestinationConfiguration/VpcConfiguration", + "/properties/DatabaseSourceConfiguration", "/properties/KinesisStreamSourceConfiguration", "/properties/MSKSourceConfiguration", "/properties/IcebergDestinationConfiguration", diff --git a/server/schema/resources/aws-lambda-eventsourcemapping.json b/server/schema/resources/aws-lambda-eventsourcemapping.json index 03fdbba6..0782bf4b 100644 --- a/server/schema/resources/aws-lambda-eventsourcemapping.json +++ b/server/schema/resources/aws-lambda-eventsourcemapping.json @@ -1,263 +1,117 @@ { - "typeName": "AWS::Lambda::EventSourceMapping", - "description": "The ``AWS::Lambda::EventSourceMapping`` resource creates a mapping between an event source and an LAMlong function. LAM reads items from the event source and triggers the function.\n For details about each event source type, see the following topics. In particular, each of the topics describes the required and optional parameters for the specific event source. \n + [Configuring a Dynamo DB stream as an event source](https://docs.aws.amazon.com/lambda/latest/dg/with-ddb.html#services-dynamodb-eventsourcemapping) \n + [Configuring a Kinesis stream as an event source](https://docs.aws.amazon.com/lambda/latest/dg/with-kinesis.html#services-kinesis-eventsourcemapping) \n + [Configuring an SQS queue as an event source](https://docs.aws.amazon.com/lambda/latest/dg/with-sqs.html#events-sqs-eventsource) \n + [Configuring an MQ broker as an event source](https://docs.aws.amazon.com/lambda/latest/dg/with-mq.html#services-mq-eventsourcemapping) \n + [Configuring MSK as an event source](https://docs.aws.amazon.com/lambda/latest/dg/with-msk.html) \n + [Configuring Self-Managed Apache Kafka as an event source](https://docs.aws.amazon.com/lambda/latest/dg/kafka-smaa.html) \n + [Configuring Amazon DocumentDB as an event source](https://docs.aws.amazon.com/lambda/latest/dg/with-documentdb.html)", - "additionalProperties": false, - "properties": { - "BatchSize": { - "description": "The maximum number of records in each batch that Lambda pulls from your stream or queue and sends to your function. Lambda passes all of the records in the batch to the function in a single call, up to the payload limit for synchronous invocation (6 MB).\n + *Amazon Kinesis* \u2013 Default 100. Max 10,000.\n + *Amazon DynamoDB Streams* \u2013 Default 100. Max 10,000.\n + *Amazon Simple Queue Service* \u2013 Default 10. For standard queues the max is 10,000. For FIFO queues the max is 10.\n + *Amazon Managed Streaming for Apache Kafka* \u2013 Default 100. Max 10,000.\n + *Self-managed Apache Kafka* \u2013 Default 100. Max 10,000.\n + *Amazon MQ (ActiveMQ and RabbitMQ)* \u2013 Default 100. Max 10,000.\n + *DocumentDB* \u2013 Default 100. Max 10,000.", - "type": "integer", - "minimum": 1, - "maximum": 10000, - "markdownDescription": "The maximum number of records in each batch that Lambda pulls from your stream or queue and sends to your function. Lambda passes all of the records in the batch to the function in a single call, up to the payload limit for synchronous invocation (6 MB).\n + *Amazon Kinesis* \u2013 Default 100. Max 10,000.\n + *Amazon DynamoDB Streams* \u2013 Default 100. Max 10,000.\n + *Amazon Simple Queue Service* \u2013 Default 10. For standard queues the max is 10,000. For FIFO queues the max is 10.\n + *Amazon Managed Streaming for Apache Kafka* \u2013 Default 100. Max 10,000.\n + *Self-managed Apache Kafka* \u2013 Default 100. Max 10,000.\n + *Amazon MQ (ActiveMQ and RabbitMQ)* \u2013 Default 100. Max 10,000.\n + *DocumentDB* \u2013 Default 100. Max 10,000.\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" - }, - "BisectBatchOnFunctionError": { - "description": "(Kinesis and DynamoDB Streams only) If the function returns an error, split the batch in two and retry. The default value is false.", - "type": "boolean", - "markdownDescription": "(Kinesis and DynamoDB Streams only) If the function returns an error, split the batch in two and retry. The default value is false.\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" - }, - "DestinationConfig": { - "description": "(Kinesis, DynamoDB Streams, Amazon MSK, and self-managed Apache Kafka event sources only) A configuration object that specifies the destination of an event after Lambda processes it.", - "$ref": "#/definitions/DestinationConfig", - "markdownDescription": "(Kinesis, DynamoDB Streams, Amazon MSK, and self-managed Apache Kafka event sources only) A configuration object that specifies the destination of an event after Lambda processes it.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" - }, - "Enabled": { - "description": "When true, the event source mapping is active. When false, Lambda pauses polling and invocation.\n Default: True", - "type": "boolean", - "markdownDescription": "When true, the event source mapping is active. When false, Lambda pauses polling and invocation.\n Default: True\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" - }, - "EventSourceArn": { - "description": "The Amazon Resource Name (ARN) of the event source.\n + *Amazon Kinesis* \u2013 The ARN of the data stream or a stream consumer.\n + *Amazon DynamoDB Streams* \u2013 The ARN of the stream.\n + *Amazon Simple Queue Service* \u2013 The ARN of the queue.\n + *Amazon Managed Streaming for Apache Kafka* \u2013 The ARN of the cluster or the ARN of the VPC connection (for [cross-account event source mappings](https://docs.aws.amazon.com/lambda/latest/dg/with-msk.html#msk-multi-vpc)).\n + *Amazon MQ* \u2013 The ARN of the broker.\n + *Amazon DocumentDB* \u2013 The ARN of the DocumentDB change stream.", - "type": "string", - "minLength": 12, - "maxLength": 1024, - "markdownDescription": "The Amazon Resource Name (ARN) of the event source.\n + *Amazon Kinesis* \u2013 The ARN of the data stream or a stream consumer.\n + *Amazon DynamoDB Streams* \u2013 The ARN of the stream.\n + *Amazon Simple Queue Service* \u2013 The ARN of the queue.\n + *Amazon Managed Streaming for Apache Kafka* \u2013 The ARN of the cluster or the ARN of the VPC connection (for [cross-account event source mappings](https://docs.aws.amazon.com/lambda/latest/dg/with-msk.html#msk-multi-vpc)).\n + *Amazon MQ* \u2013 The ARN of the broker.\n + *Amazon DocumentDB* \u2013 The ARN of the DocumentDB change stream.\n\n---\n\nRequired: No \nType: String \nMinimum Length: 12 \nMaximum Length: 1024 \nPattern: arn:(aws[a-zA-Z0-9-]*):([a-zA-Z0-9\\-])+:([a-z]{2}(-gov)?(-iso([a-z])?)?-[a-z]+-\\d{1})?:(\\d{12})?:(.*) \nUpdate requires: Replacement" - }, - "FilterCriteria": { - "description": "An object that defines the filter criteria that determine whether Lambda should process an event. For more information, see [Lambda event filtering](https://docs.aws.amazon.com/lambda/latest/dg/invocation-eventfiltering.html).", - "$ref": "#/definitions/FilterCriteria", - "markdownDescription": "An object that defines the filter criteria that determine whether Lambda should process an event. For more information, see [Lambda event filtering](https://docs.aws.amazon.com/lambda/latest/dg/invocation-eventfiltering.html).\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" - }, - "KmsKeyArn": { - "description": "The ARN of the KMSlong (KMS) customer managed key that Lambda uses to encrypt your function's [filter criteria](https://docs.aws.amazon.com/lambda/latest/dg/invocation-eventfiltering.html#filtering-basics).", - "type": "string", - "minLength": 12, - "maxLength": 2048, - "markdownDescription": "The ARN of the KMSlong (KMS) customer managed key that Lambda uses to encrypt your function's [filter criteria](https://docs.aws.amazon.com/lambda/latest/dg/invocation-eventfiltering.html#filtering-basics).\n\n---\n\nRequired: No \nType: String \nMinimum Length: 12 \nMaximum Length: 2048 \nPattern: (arn:(aws[a-zA-Z-]*)?:[a-z0-9-.]+:.*)|() \nUpdate requires: No interruption" - }, - "FunctionName": { - "description": "The name or ARN of the Lambda function.\n **Name formats**\n + *Function name* \u2013 ``MyFunction``.\n + *Function ARN* \u2013 ``arn:aws:lambda:us-west-2:123456789012:function:MyFunction``.\n + *Version or Alias ARN* \u2013 ``arn:aws:lambda:us-west-2:123456789012:function:MyFunction:PROD``.\n + *Partial ARN* \u2013 ``123456789012:function:MyFunction``.\n \n The length constraint applies only to the full ARN. If you specify only the function name, it's limited to 64 characters in length.", - "type": "string", - "minLength": 1, - "maxLength": 140, - "markdownDescription": "The name or ARN of the Lambda function.\n **Name formats**\n + *Function name* \u2013 ``MyFunction``.\n + *Function ARN* \u2013 ``arn:aws:lambda:us-west-2:123456789012:function:MyFunction``.\n + *Version or Alias ARN* \u2013 ``arn:aws:lambda:us-west-2:123456789012:function:MyFunction:PROD``.\n + *Partial ARN* \u2013 ``123456789012:function:MyFunction``.\n \n The length constraint applies only to the full ARN. If you specify only the function name, it's limited to 64 characters in length.\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 140 \nPattern: (arn:(aws[a-zA-Z-]*)?:lambda:)?([a-z]{2}(-gov)?(-iso([a-z])?)?-[a-z]+-\\d{1}:)?(\\d{12}:)?(function:)?([a-zA-Z0-9-_]+)(:(\\$LATEST|[a-zA-Z0-9-_]+))? \nUpdate requires: No interruption" - }, - "MaximumBatchingWindowInSeconds": { - "description": "The maximum amount of time, in seconds, that Lambda spends gathering records before invoking the function.\n *Default (, , event sources)*: 0\n *Default (, Kafka, , event sources)*: 500 ms\n *Related setting:* For SQS event sources, when you set ``BatchSize`` to a value greater than 10, you must set ``MaximumBatchingWindowInSeconds`` to at least 1.", - "type": "integer", - "minimum": 0, - "maximum": 300, - "markdownDescription": "The maximum amount of time, in seconds, that Lambda spends gathering records before invoking the function.\n *Default (, , event sources)*: 0\n *Default (, Kafka, , event sources)*: 500 ms\n *Related setting:* For SQS event sources, when you set ``BatchSize`` to a value greater than 10, you must set ``MaximumBatchingWindowInSeconds`` to at least 1.\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" - }, - "MaximumRecordAgeInSeconds": { - "description": "(Kinesis and DynamoDB Streams only) Discard records older than the specified age. The default value is -1, which sets the maximum age to infinite. When the value is set to infinite, Lambda never discards old records.\n The minimum valid value for maximum record age is 60s. Although values less than 60 and greater than -1 fall within the parameter's absolute range, they are not allowed", - "type": "integer", - "minimum": -1, - "maximum": 604800, - "markdownDescription": "(Kinesis and DynamoDB Streams only) Discard records older than the specified age. The default value is -1, which sets the maximum age to infinite. When the value is set to infinite, Lambda never discards old records.\n The minimum valid value for maximum record age is 60s. Although values less than 60 and greater than -1 fall within the parameter's absolute range, they are not allowed\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" - }, - "MaximumRetryAttempts": { - "description": "(Kinesis and DynamoDB Streams only) Discard records after the specified number of retries. The default value is -1, which sets the maximum number of retries to infinite. When MaximumRetryAttempts is infinite, Lambda retries failed records until the record expires in the event source.", - "type": "integer", - "minimum": -1, - "maximum": 10000, - "markdownDescription": "(Kinesis and DynamoDB Streams only) Discard records after the specified number of retries. The default value is -1, which sets the maximum number of retries to infinite. When MaximumRetryAttempts is infinite, Lambda retries failed records until the record expires in the event source.\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" - }, - "ParallelizationFactor": { - "description": "(Kinesis and DynamoDB Streams only) The number of batches to process concurrently from each shard. The default value is 1.", - "type": "integer", - "minimum": 1, - "maximum": 10, - "markdownDescription": "(Kinesis and DynamoDB Streams only) The number of batches to process concurrently from each shard. The default value is 1.\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" - }, - "StartingPosition": { - "description": "The position in a stream from which to start reading. Required for Amazon Kinesis and Amazon DynamoDB.\n + *LATEST* - Read only new records.\n + *TRIM_HORIZON* - Process all available records.\n + *AT_TIMESTAMP* - Specify a time from which to start reading records.", - "type": "string", - "minLength": 6, - "maxLength": 12, - "markdownDescription": "The position in a stream from which to start reading. Required for Amazon Kinesis and Amazon DynamoDB.\n + *LATEST* - Read only new records.\n + *TRIM_HORIZON* - Process all available records.\n + *AT_TIMESTAMP* - Specify a time from which to start reading records.\n\n---\n\nRequired: No \nType: String \nMinimum Length: 6 \nMaximum Length: 12 \nPattern: (LATEST|TRIM_HORIZON|AT_TIMESTAMP)+ \nUpdate requires: Replacement" - }, - "StartingPositionTimestamp": { - "description": "With ``StartingPosition`` set to ``AT_TIMESTAMP``, the time from which to start reading, in Unix time seconds. ``StartingPositionTimestamp`` cannot be in the future.", - "type": "number", - "markdownDescription": "With ``StartingPosition`` set to ``AT_TIMESTAMP``, the time from which to start reading, in Unix time seconds. ``StartingPositionTimestamp`` cannot be in the future.\n\n---\n\nRequired: No \nType: Number \nUpdate requires: Replacement" - }, - "Tags": { - "description": "", - "type": "array", - "uniqueItems": true, - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Tag" - }, - "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" - }, - "Topics": { - "description": "The name of the Kafka topic.", - "type": "array", - "uniqueItems": true, - "items": { - "type": "string", - "minLength": 1, - "maxLength": 249, - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 249 \nPattern: ^[^.]([a-zA-Z0-9\\-_.]+) \nUpdate requires: No interruption" - }, - "minItems": 1, - "maxItems": 1, - "markdownDescription": "The name of the Kafka topic.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" - }, - "Queues": { - "description": "(Amazon MQ) The name of the Amazon MQ broker destination queue to consume.", - "type": "array", - "uniqueItems": true, - "items": { - "type": "string", - "minLength": 1, - "maxLength": 1000, - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 1000 \nPattern: [\\s\\S]* \nUpdate requires: No interruption" - }, - "minItems": 1, - "maxItems": 1, - "markdownDescription": "(Amazon MQ) The name of the Amazon MQ broker destination queue to consume.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" - }, - "SourceAccessConfigurations": { - "description": "An array of the authentication protocol, VPC components, or virtual host to secure and define your event source.", - "type": "array", - "uniqueItems": true, - "items": { - "$ref": "#/definitions/SourceAccessConfiguration" - }, - "minItems": 1, - "maxItems": 22, - "markdownDescription": "An array of the authentication protocol, VPC components, or virtual host to secure and define your event source.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" - }, - "TumblingWindowInSeconds": { - "description": "(Kinesis and DynamoDB Streams only) The duration in seconds of a processing window for DynamoDB and Kinesis Streams event sources. A value of 0 seconds indicates no tumbling window.", - "type": "integer", - "minimum": 0, - "maximum": 900, - "markdownDescription": "(Kinesis and DynamoDB Streams only) The duration in seconds of a processing window for DynamoDB and Kinesis Streams event sources. A value of 0 seconds indicates no tumbling window.\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" - }, - "FunctionResponseTypes": { - "description": "(Kinesis, DynamoDB Streams, and SQS) A list of current response type enums applied to the event source mapping.\n Valid Values: ``ReportBatchItemFailures``", - "type": "array", - "uniqueItems": true, - "items": { - "type": "string", - "enum": [ - "ReportBatchItemFailures" - ], - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: ReportBatchItemFailures \nUpdate requires: No interruption" - }, - "minLength": 0, - "maxLength": 1, - "markdownDescription": "(Kinesis, DynamoDB Streams, and SQS) A list of current response type enums applied to the event source mapping.\n Valid Values: ``ReportBatchItemFailures``\n\n---\n\nRequired: No \nType: Array \nMaximum Length: 1 \nUpdate requires: No interruption" - }, - "SelfManagedEventSource": { - "description": "The self-managed Apache Kafka cluster for your event source.", - "$ref": "#/definitions/SelfManagedEventSource", - "markdownDescription": "The self-managed Apache Kafka cluster for your event source.\n\n---\n\nRequired: No \nType: \nUpdate requires: Replacement" + "tagging": { + "taggable": true, + "tagOnCreate": true, + "tagUpdatable": true, + "tagProperty": "/properties/Tags", + "cloudFormationSystemTags": true + }, + "propertyTransform": { + "/properties/StartingPositionTimestamp": "StartingPositionTimestamp * 1000" + }, + "handlers": { + "read": { + "permissions": [ + "lambda:GetEventSourceMapping", + "lambda:ListTags", + "kms:Decrypt" + ] }, - "AmazonManagedKafkaEventSourceConfig": { - "description": "Specific configuration settings for an Amazon Managed Streaming for Apache Kafka (Amazon MSK) event source.", - "$ref": "#/definitions/AmazonManagedKafkaEventSourceConfig", - "markdownDescription": "Specific configuration settings for an Amazon Managed Streaming for Apache Kafka (Amazon MSK) event source.\n\n---\n\nRequired: No \nType: \nUpdate requires: Replacement" + "create": { + "permissions": [ + "lambda:CreateEventSourceMapping", + "lambda:GetEventSourceMapping", + "lambda:TagResource", + "kms:DescribeKey", + "kms:GenerateDataKey", + "kms:Decrypt" + ] }, - "SelfManagedKafkaEventSourceConfig": { - "description": "Specific configuration settings for a self-managed Apache Kafka event source.", - "$ref": "#/definitions/SelfManagedKafkaEventSourceConfig", - "markdownDescription": "Specific configuration settings for a self-managed Apache Kafka event source.\n\n---\n\nRequired: No \nType: \nUpdate requires: Replacement" + "update": { + "permissions": [ + "lambda:UpdateEventSourceMapping", + "lambda:GetEventSourceMapping", + "lambda:ListTags", + "lambda:TagResource", + "lambda:UntagResource", + "kms:DescribeKey", + "kms:GenerateDataKey", + "kms:Decrypt" + ] }, - "ScalingConfig": { - "description": "(Amazon SQS only) The scaling configuration for the event source. For more information, see [Configuring maximum concurrency for Amazon SQS event sources](https://docs.aws.amazon.com/lambda/latest/dg/with-sqs.html#events-sqs-max-concurrency).", - "$ref": "#/definitions/ScalingConfig", - "markdownDescription": "(Amazon SQS only) The scaling configuration for the event source. For more information, see [Configuring maximum concurrency for Amazon SQS event sources](https://docs.aws.amazon.com/lambda/latest/dg/with-sqs.html#events-sqs-max-concurrency).\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" + "list": { + "permissions": [ + "lambda:ListEventSourceMappings" + ] }, - "DocumentDBEventSourceConfig": { - "description": "Specific configuration settings for a DocumentDB event source.", - "$ref": "#/definitions/DocumentDBEventSourceConfig", - "markdownDescription": "Specific configuration settings for a DocumentDB event source.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" + "delete": { + "permissions": [ + "lambda:DeleteEventSourceMapping", + "lambda:GetEventSourceMapping", + "kms:Decrypt" + ] } }, + "typeName": "AWS::Lambda::EventSourceMapping", + "readOnlyProperties": [ + "/properties/Id", + "/properties/EventSourceMappingArn" + ], + "description": "The ``AWS::Lambda::EventSourceMapping`` resource creates a mapping between an event source and an LAMlong function. LAM reads items from the event source and triggers the function.\n For details about each event source type, see the following topics. In particular, each of the topics describes the required and optional parameters for the specific event source. \n + [Configuring a Dynamo DB stream as an event source](https://docs.aws.amazon.com/lambda/latest/dg/with-ddb.html#services-dynamodb-eventsourcemapping) \n + [Configuring a Kinesis stream as an event source](https://docs.aws.amazon.com/lambda/latest/dg/with-kinesis.html#services-kinesis-eventsourcemapping) \n + [Configuring an SQS queue as an event source](https://docs.aws.amazon.com/lambda/latest/dg/with-sqs.html#events-sqs-eventsource) \n + [Configuring an MQ broker as an event source](https://docs.aws.amazon.com/lambda/latest/dg/with-mq.html#services-mq-eventsourcemapping) \n + [Configuring MSK as an event source](https://docs.aws.amazon.com/lambda/latest/dg/with-msk.html) \n + [Configuring Self-Managed Apache Kafka as an event source](https://docs.aws.amazon.com/lambda/latest/dg/kafka-smaa.html) \n + [Configuring Amazon DocumentDB as an event source](https://docs.aws.amazon.com/lambda/latest/dg/with-documentdb.html)", + "createOnlyProperties": [ + "/properties/EventSourceArn", + "/properties/StartingPosition", + "/properties/StartingPositionTimestamp", + "/properties/SelfManagedEventSource", + "/properties/AmazonManagedKafkaEventSourceConfig", + "/properties/SelfManagedKafkaEventSourceConfig" + ], + "additionalProperties": false, + "primaryIdentifier": [ + "/properties/Id" + ], "definitions": { - "DestinationConfig": { - "type": "object", - "additionalProperties": false, - "description": "A configuration object that specifies the destination of an event after Lambda processes it.", - "properties": { - "OnFailure": { - "description": "The destination configuration for failed invocations.", - "$ref": "#/definitions/OnFailure", - "markdownDescription": "The destination configuration for failed invocations.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" - } - }, - "markdownDescription": "A configuration object that specifies the destination of an event after Lambda processes it.\n\n---\n\nRequired: No \nUpdate requires: No interruption" - }, - "FilterCriteria": { - "type": "object", - "description": "An object that contains the filters for an event source.", + "ScalingConfig": { + "description": "(Amazon SQS only) The scaling configuration for the event source. To remove the configuration, pass an empty value.", "additionalProperties": false, - "properties": { - "Filters": { - "description": "A list of filters.", - "type": "array", - "uniqueItems": true, - "items": { - "$ref": "#/definitions/Filter" - }, - "minItems": 1, - "maxItems": 20, - "markdownDescription": "A list of filters.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" - } - }, - "markdownDescription": "An object that contains the filters for an event source.\n\n---\n\nRequired: No \nUpdate requires: No interruption" - }, - "Filter": { "type": "object", - "description": "A structure within a ``FilterCriteria`` object that defines an event filtering pattern.", - "additionalProperties": false, "properties": { - "Pattern": { - "type": "string", - "description": "A filter pattern. For more information on the syntax of a filter pattern, see [Filter rule syntax](https://docs.aws.amazon.com/lambda/latest/dg/invocation-eventfiltering.html#filtering-syntax).", - "minLength": 0, - "maxLength": 4096, - "markdownDescription": "A filter pattern. For more information on the syntax of a filter pattern, see [Filter rule syntax](https://docs.aws.amazon.com/lambda/latest/dg/invocation-eventfiltering.html#filtering-syntax).\n\n---\n\nRequired: No \nType: String \nMaximum Length: 4096 \nPattern: .* \nUpdate requires: No interruption" + "MaximumConcurrency": { + "description": "Limits the number of concurrent instances that the SQS event source can invoke.", + "$ref": "#/definitions/MaximumConcurrency", + "markdownDescription": "Limits the number of concurrent instances that the SQS event source can invoke.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" } }, - "markdownDescription": "A structure within a ``FilterCriteria`` object that defines an event filtering pattern.\n\n---\n\nRequired: No \nUpdate requires: No interruption" - }, - "OnFailure": { - "type": "object", - "description": "A destination for events that failed processing.", + "markdownDescription": "(Amazon SQS only) The scaling configuration for the event source. To remove the configuration, pass an empty value.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "SelfManagedEventSource": { + "description": "The self-managed Apache Kafka cluster for your event source.", "additionalProperties": false, + "type": "object", "properties": { - "Destination": { - "description": "The Amazon Resource Name (ARN) of the destination resource.\n To retain records of [asynchronous invocations](https://docs.aws.amazon.com/lambda/latest/dg/invocation-async.html#invocation-async-destinations), you can configure an Amazon SNS topic, Amazon SQS queue, Lambda function, or Amazon EventBridge event bus as the destination.\n To retain records of failed invocations from [Kinesis and DynamoDB event sources](https://docs.aws.amazon.com/lambda/latest/dg/invocation-eventsourcemapping.html#event-source-mapping-destinations), you can configure an Amazon SNS topic or Amazon SQS queue as the destination.\n To retain records of failed invocations from [self-managed Kafka](https://docs.aws.amazon.com/lambda/latest/dg/with-kafka.html#services-smaa-onfailure-destination) or [Amazon MSK](https://docs.aws.amazon.com/lambda/latest/dg/with-msk.html#services-msk-onfailure-destination), you can configure an Amazon SNS topic, Amazon SQS queue, or Amazon S3 bucket as the destination.", - "type": "string", - "minLength": 12, - "maxLength": 1024, - "markdownDescription": "The Amazon Resource Name (ARN) of the destination resource.\n To retain records of [asynchronous invocations](https://docs.aws.amazon.com/lambda/latest/dg/invocation-async.html#invocation-async-destinations), you can configure an Amazon SNS topic, Amazon SQS queue, Lambda function, or Amazon EventBridge event bus as the destination.\n To retain records of failed invocations from [Kinesis and DynamoDB event sources](https://docs.aws.amazon.com/lambda/latest/dg/invocation-eventsourcemapping.html#event-source-mapping-destinations), you can configure an Amazon SNS topic or Amazon SQS queue as the destination.\n To retain records of failed invocations from [self-managed Kafka](https://docs.aws.amazon.com/lambda/latest/dg/with-kafka.html#services-smaa-onfailure-destination) or [Amazon MSK](https://docs.aws.amazon.com/lambda/latest/dg/with-msk.html#services-msk-onfailure-destination), you can configure an Amazon SNS topic, Amazon SQS queue, or Amazon S3 bucket as the destination.\n\n---\n\nRequired: No \nType: String \nMinimum Length: 12 \nMaximum Length: 1024 \nPattern: arn:(aws[a-zA-Z0-9-]*):([a-zA-Z0-9\\-])+:([a-z]{2}(-gov)?(-iso([a-z])?)?-[a-z]+-\\d{1})?:(\\d{12})?:(.*) \nUpdate requires: No interruption" + "Endpoints": { + "description": "The list of bootstrap servers for your Kafka brokers in the following format: ``\"KafkaBootstrapServers\": [\"abc.xyz.com:xxxx\",\"abc2.xyz.com:xxxx\"]``.", + "$ref": "#/definitions/Endpoints", + "markdownDescription": "The list of bootstrap servers for your Kafka brokers in the following format: ``\"KafkaBootstrapServers\": [\"abc.xyz.com:xxxx\",\"abc2.xyz.com:xxxx\"]``.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" } }, - "markdownDescription": "A destination for events that failed processing.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + "markdownDescription": "The self-managed Apache Kafka cluster for your event source.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "MaximumConcurrency": { + "description": "The maximum number of concurrent functions that an event source can invoke.", + "maximum": 1000, + "type": "integer", + "minimum": 2, + "markdownDescription": "The maximum number of concurrent functions that an event source can invoke.\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" }, "SourceAccessConfiguration": { - "type": "object", - "additionalProperties": false, "description": "An array of the authentication protocol, VPC components, or virtual host to secure and define your event source.", + "additionalProperties": false, + "type": "object", "properties": { "Type": { "description": "The type of authentication protocol, VPC components, or virtual host for your event source. For example: ``\"Type\":\"SASL_SCRAM_512_AUTH\"``.\n + ``BASIC_AUTH`` \u2013 (Amazon MQ) The ASMlong secret that stores your broker credentials.\n + ``BASIC_AUTH`` \u2013 (Self-managed Apache Kafka) The Secrets Manager ARN of your secret key used for SASL/PLAIN authentication of your Apache Kafka brokers.\n + ``VPC_SUBNET`` \u2013 (Self-managed Apache Kafka) The subnets associated with your VPC. Lambda connects to these subnets to fetch data from your self-managed Apache Kafka cluster.\n + ``VPC_SECURITY_GROUP`` \u2013 (Self-managed Apache Kafka) The VPC security group used to manage access to your self-managed Apache Kafka brokers.\n + ``SASL_SCRAM_256_AUTH`` \u2013 (Self-managed Apache Kafka) The Secrets Manager ARN of your secret key used for SASL SCRAM-256 authentication of your self-managed Apache Kafka brokers.\n + ``SASL_SCRAM_512_AUTH`` \u2013 (Amazon MSK, Self-managed Apache Kafka) The Secrets Manager ARN of your secret key used for SASL SCRAM-512 authentication of your self-managed Apache Kafka brokers.\n + ``VIRTUAL_HOST`` \u2013- (RabbitMQ) The name of the virtual host in your RabbitMQ broker. Lambda uses this RabbitMQ host as the event source. This property cannot be specified in an UpdateEventSourceMapping API call.\n + ``CLIENT_CERTIFICATE_TLS_AUTH`` \u2013 (Amazon MSK, self-managed Apache Kafka) The Secrets Manager ARN of your secret key containing the certificate chain (X.509 PEM), private key (PKCS#8 PEM), and private key password (optional) used for mutual TLS authentication of your MSK/Apache Kafka brokers.\n + ``SERVER_ROOT_CA_CERTIFICATE`` \u2013 (Self-managed Apache Kafka) The Secrets Manager ARN of your secret key containing the root CA certificate (X.509 PEM) used for TLS encryption of your Apache Kafka brokers.", + "type": "string", "enum": [ "BASIC_AUTH", "VPC_SUBNET", @@ -268,66 +122,166 @@ "CLIENT_CERTIFICATE_TLS_AUTH", "SERVER_ROOT_CA_CERTIFICATE" ], - "type": "string", "markdownDescription": "The type of authentication protocol, VPC components, or virtual host for your event source. For example: ``\"Type\":\"SASL_SCRAM_512_AUTH\"``.\n + ``BASIC_AUTH`` \u2013 (Amazon MQ) The ASMlong secret that stores your broker credentials.\n + ``BASIC_AUTH`` \u2013 (Self-managed Apache Kafka) The Secrets Manager ARN of your secret key used for SASL/PLAIN authentication of your Apache Kafka brokers.\n + ``VPC_SUBNET`` \u2013 (Self-managed Apache Kafka) The subnets associated with your VPC. Lambda connects to these subnets to fetch data from your self-managed Apache Kafka cluster.\n + ``VPC_SECURITY_GROUP`` \u2013 (Self-managed Apache Kafka) The VPC security group used to manage access to your self-managed Apache Kafka brokers.\n + ``SASL_SCRAM_256_AUTH`` \u2013 (Self-managed Apache Kafka) The Secrets Manager ARN of your secret key used for SASL SCRAM-256 authentication of your self-managed Apache Kafka brokers.\n + ``SASL_SCRAM_512_AUTH`` \u2013 (Amazon MSK, Self-managed Apache Kafka) The Secrets Manager ARN of your secret key used for SASL SCRAM-512 authentication of your self-managed Apache Kafka brokers.\n + ``VIRTUAL_HOST`` \u2013- (RabbitMQ) The name of the virtual host in your RabbitMQ broker. Lambda uses this RabbitMQ host as the event source. This property cannot be specified in an UpdateEventSourceMapping API call.\n + ``CLIENT_CERTIFICATE_TLS_AUTH`` \u2013 (Amazon MSK, self-managed Apache Kafka) The Secrets Manager ARN of your secret key containing the certificate chain (X.509 PEM), private key (PKCS#8 PEM), and private key password (optional) used for mutual TLS authentication of your MSK/Apache Kafka brokers.\n + ``SERVER_ROOT_CA_CERTIFICATE`` \u2013 (Self-managed Apache Kafka) The Secrets Manager ARN of your secret key containing the root CA certificate (X.509 PEM) used for TLS encryption of your Apache Kafka brokers.\n\n---\n\nRequired: No \nType: String \nAllowed Values: BASIC_AUTH | VPC_SUBNET | VPC_SECURITY_GROUP | SASL_SCRAM_512_AUTH | SASL_SCRAM_256_AUTH | VIRTUAL_HOST | CLIENT_CERTIFICATE_TLS_AUTH | SERVER_ROOT_CA_CERTIFICATE \nUpdate requires: No interruption" }, "URI": { + "minLength": 1, "description": "The value for your chosen configuration in ``Type``. For example: ``\"URI\": \"arn:aws:secretsmanager:us-east-1:01234567890:secret:MyBrokerSecretName\"``.", "type": "string", - "minLength": 1, "maxLength": 200, "markdownDescription": "The value for your chosen configuration in ``Type``. For example: ``\"URI\": \"arn:aws:secretsmanager:us-east-1:01234567890:secret:MyBrokerSecretName\"``.\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 200 \nPattern: [a-zA-Z0-9-\\/*:_+=.@-]* \nUpdate requires: No interruption" } }, "markdownDescription": "An array of the authentication protocol, VPC components, or virtual host to secure and define your event source.\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, - "SelfManagedEventSource": { + "FilterCriteria": { + "description": "An object that contains the filters for an event source.", + "additionalProperties": false, "type": "object", + "properties": { + "Filters": { + "minItems": 1, + "maxItems": 20, + "uniqueItems": true, + "description": "A list of filters.", + "type": "array", + "items": { + "$ref": "#/definitions/Filter" + }, + "markdownDescription": "A list of filters.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + } + }, + "markdownDescription": "An object that contains the filters for an event source.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "SelfManagedKafkaEventSourceConfig": { + "description": "Specific configuration settings for a self-managed Apache Kafka event source.", "additionalProperties": false, - "description": "The self-managed Apache Kafka cluster for your event source.", + "type": "object", "properties": { - "Endpoints": { - "description": "The list of bootstrap servers for your Kafka brokers in the following format: ``\"KafkaBootstrapServers\": [\"abc.xyz.com:xxxx\",\"abc2.xyz.com:xxxx\"]``.", - "$ref": "#/definitions/Endpoints", - "markdownDescription": "The list of bootstrap servers for your Kafka brokers in the following format: ``\"KafkaBootstrapServers\": [\"abc.xyz.com:xxxx\",\"abc2.xyz.com:xxxx\"]``.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" + "ConsumerGroupId": { + "description": "The identifier for the Kafka consumer group to join. The consumer group ID must be unique among all your Kafka event sources. After creating a Kafka event source mapping with the consumer group ID specified, you cannot update this value. For more information, see [Customizable consumer group ID](https://docs.aws.amazon.com/lambda/latest/dg/with-msk.html#services-msk-consumer-group-id).", + "$ref": "#/definitions/ConsumerGroupId", + "markdownDescription": "The identifier for the Kafka consumer group to join. The consumer group ID must be unique among all your Kafka event sources. After creating a Kafka event source mapping with the consumer group ID specified, you cannot update this value. For more information, see [Customizable consumer group ID](https://docs.aws.amazon.com/lambda/latest/dg/with-msk.html#services-msk-consumer-group-id).\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" } }, - "markdownDescription": "The self-managed Apache Kafka cluster for your event source.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + "markdownDescription": "Specific configuration settings for a self-managed Apache Kafka event source.\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, - "Endpoints": { + "MetricsConfig": { + "description": "", + "additionalProperties": false, "type": "object", + "properties": { + "Metrics": { + "minItems": 0, + "maxItems": 1, + "uniqueItems": true, + "description": "Metric groups to enable.", + "type": "array", + "items": { + "type": "string", + "enum": [ + "EventCount" + ], + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: EventCount \nUpdate requires: No interruption" + }, + "markdownDescription": "Metric groups to enable.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + } + }, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "DocumentDBEventSourceConfig": { + "description": "Specific configuration settings for a DocumentDB event source.", "additionalProperties": false, + "type": "object", + "properties": { + "FullDocument": { + "description": "Determines what DocumentDB sends to your event stream during document update operations. If set to UpdateLookup, DocumentDB sends a delta describing the changes, along with a copy of the entire document. Otherwise, DocumentDB sends only a partial document that contains the changes.", + "type": "string", + "enum": [ + "UpdateLookup", + "Default" + ], + "markdownDescription": "Determines what DocumentDB sends to your event stream during document update operations. If set to UpdateLookup, DocumentDB sends a delta describing the changes, along with a copy of the entire document. Otherwise, DocumentDB sends only a partial document that contains the changes.\n\n---\n\nRequired: No \nType: String \nAllowed Values: UpdateLookup | Default \nUpdate requires: No interruption" + }, + "CollectionName": { + "minLength": 1, + "description": "The name of the collection to consume within the database. If you do not specify a collection, Lambda consumes all collections.", + "type": "string", + "maxLength": 57, + "markdownDescription": "The name of the collection to consume within the database. If you do not specify a collection, Lambda consumes all collections.\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 57 \nUpdate requires: No interruption" + }, + "DatabaseName": { + "minLength": 1, + "description": "The name of the database to consume within the DocumentDB cluster.", + "type": "string", + "maxLength": 63, + "markdownDescription": "The name of the database to consume within the DocumentDB cluster.\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 63 \nUpdate requires: No interruption" + } + }, + "markdownDescription": "Specific configuration settings for a DocumentDB event source.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "Endpoints": { "description": "The list of bootstrap servers for your Kafka brokers in the following format: ``\"KafkaBootstrapServers\": [\"abc.xyz.com:xxxx\",\"abc2.xyz.com:xxxx\"]``.", + "additionalProperties": false, + "type": "object", "properties": { "KafkaBootstrapServers": { - "type": "array", - "description": "The list of bootstrap servers for your Kafka brokers in the following format: ``\"KafkaBootstrapServers\": [\"abc.xyz.com:xxxx\",\"abc2.xyz.com:xxxx\"]``.", + "minItems": 1, + "maxItems": 10, "uniqueItems": true, + "description": "The list of bootstrap servers for your Kafka brokers in the following format: ``\"KafkaBootstrapServers\": [\"abc.xyz.com:xxxx\",\"abc2.xyz.com:xxxx\"]``.", + "type": "array", "items": { - "type": "string", - "description": "The URL of a Kafka server.", "minLength": 1, + "description": "The URL of a Kafka server.", + "type": "string", "maxLength": 300, "markdownDescription": "The URL of a Kafka server.\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 300 \nPattern: ^(([a-zA-Z0-9]|[a-zA-Z0-9][a-zA-Z0-9\\-]*[a-zA-Z0-9])\\.)*([A-Za-z0-9]|[A-Za-z0-9][A-Za-z0-9\\-]*[A-Za-z0-9]):[0-9]{1,5} \nUpdate requires: No interruption" }, - "minItems": 1, - "maxItems": 10, "markdownDescription": "The list of bootstrap servers for your Kafka brokers in the following format: ``\"KafkaBootstrapServers\": [\"abc.xyz.com:xxxx\",\"abc2.xyz.com:xxxx\"]``.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" } }, "markdownDescription": "The list of bootstrap servers for your Kafka brokers in the following format: ``\"KafkaBootstrapServers\": [\"abc.xyz.com:xxxx\",\"abc2.xyz.com:xxxx\"]``.\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, + "DestinationConfig": { + "description": "A configuration object that specifies the destination of an event after Lambda processes it.", + "additionalProperties": false, + "type": "object", + "properties": { + "OnFailure": { + "description": "The destination configuration for failed invocations.", + "$ref": "#/definitions/OnFailure", + "markdownDescription": "The destination configuration for failed invocations.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" + } + }, + "markdownDescription": "A configuration object that specifies the destination of an event after Lambda processes it.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, "ConsumerGroupId": { + "minLength": 1, "description": "The identifier for the Kafka Consumer Group to join.", "type": "string", - "minLength": 1, "maxLength": 200, "markdownDescription": "The identifier for the Kafka Consumer Group to join.\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 200 \nPattern: [a-zA-Z0-9-\\/*:_+=.@-]* \nUpdate requires: No interruption" }, + "Filter": { + "description": "A structure within a ``FilterCriteria`` object that defines an event filtering pattern.", + "additionalProperties": false, + "type": "object", + "properties": { + "Pattern": { + "minLength": 0, + "description": "A filter pattern. For more information on the syntax of a filter pattern, see [Filter rule syntax](https://docs.aws.amazon.com/lambda/latest/dg/invocation-eventfiltering.html#filtering-syntax).", + "type": "string", + "maxLength": 4096, + "markdownDescription": "A filter pattern. For more information on the syntax of a filter pattern, see [Filter rule syntax](https://docs.aws.amazon.com/lambda/latest/dg/invocation-eventfiltering.html#filtering-syntax).\n\n---\n\nRequired: No \nType: String \nMaximum Length: 4096 \nPattern: .* \nUpdate requires: No interruption" + } + }, + "markdownDescription": "A structure within a ``FilterCriteria`` object that defines an event filtering pattern.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, "AmazonManagedKafkaEventSourceConfig": { "description": "Specific configuration settings for an Amazon Managed Streaming for Apache Kafka (Amazon MSK) event source.", - "type": "object", "additionalProperties": false, + "type": "object", "properties": { "ConsumerGroupId": { "description": "The identifier for the Kafka consumer group to join. The consumer group ID must be unique among all your Kafka event sources. After creating a Kafka event source mapping with the consumer group ID specified, you cannot update this value. For more information, see [Customizable consumer group ID](https://docs.aws.amazon.com/lambda/latest/dg/with-msk.html#services-msk-consumer-group-id).", @@ -337,181 +291,255 @@ }, "markdownDescription": "Specific configuration settings for an Amazon Managed Streaming for Apache Kafka (Amazon MSK) event source.\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, - "SelfManagedKafkaEventSourceConfig": { - "description": "Specific configuration settings for a self-managed Apache Kafka event source.", + "Tag": { + "description": "A [tag](https://docs.aws.amazon.com/lambda/latest/dg/tagging.html) to apply to the event source mapping.", + "additionalProperties": false, "type": "object", + "properties": { + "Value": { + "minLength": 0, + "description": "The value for this tag.", + "type": "string", + "maxLength": 256, + "markdownDescription": "The value for this tag.\n\n---\n\nRequired: No \nType: String \nMaximum Length: 256 \nUpdate requires: No interruption" + }, + "Key": { + "minLength": 1, + "description": "The key for this tag.", + "type": "string", + "maxLength": 128, + "markdownDescription": "The key for this tag.\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 128 \nUpdate requires: No interruption" + } + }, + "required": [ + "Key" + ], + "markdownDescription": "A [tag](https://docs.aws.amazon.com/lambda/latest/dg/tagging.html) to apply to the event source mapping.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "OnFailure": { + "description": "A destination for events that failed processing.", "additionalProperties": false, + "type": "object", "properties": { - "ConsumerGroupId": { - "description": "The identifier for the Kafka consumer group to join. The consumer group ID must be unique among all your Kafka event sources. After creating a Kafka event source mapping with the consumer group ID specified, you cannot update this value. For more information, see [Customizable consumer group ID](https://docs.aws.amazon.com/lambda/latest/dg/with-msk.html#services-msk-consumer-group-id).", - "$ref": "#/definitions/ConsumerGroupId", - "markdownDescription": "The identifier for the Kafka consumer group to join. The consumer group ID must be unique among all your Kafka event sources. After creating a Kafka event source mapping with the consumer group ID specified, you cannot update this value. For more information, see [Customizable consumer group ID](https://docs.aws.amazon.com/lambda/latest/dg/with-msk.html#services-msk-consumer-group-id).\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" + "Destination": { + "minLength": 12, + "description": "The Amazon Resource Name (ARN) of the destination resource.\n To retain records of [asynchronous invocations](https://docs.aws.amazon.com/lambda/latest/dg/invocation-async.html#invocation-async-destinations), you can configure an Amazon SNS topic, Amazon SQS queue, Lambda function, or Amazon EventBridge event bus as the destination.\n To retain records of failed invocations from [Kinesis and DynamoDB event sources](https://docs.aws.amazon.com/lambda/latest/dg/invocation-eventsourcemapping.html#event-source-mapping-destinations), you can configure an Amazon SNS topic or Amazon SQS queue as the destination.\n To retain records of failed invocations from [self-managed Kafka](https://docs.aws.amazon.com/lambda/latest/dg/with-kafka.html#services-smaa-onfailure-destination) or [Amazon MSK](https://docs.aws.amazon.com/lambda/latest/dg/with-msk.html#services-msk-onfailure-destination), you can configure an Amazon SNS topic, Amazon SQS queue, or Amazon S3 bucket as the destination.", + "type": "string", + "maxLength": 1024, + "markdownDescription": "The Amazon Resource Name (ARN) of the destination resource.\n To retain records of [asynchronous invocations](https://docs.aws.amazon.com/lambda/latest/dg/invocation-async.html#invocation-async-destinations), you can configure an Amazon SNS topic, Amazon SQS queue, Lambda function, or Amazon EventBridge event bus as the destination.\n To retain records of failed invocations from [Kinesis and DynamoDB event sources](https://docs.aws.amazon.com/lambda/latest/dg/invocation-eventsourcemapping.html#event-source-mapping-destinations), you can configure an Amazon SNS topic or Amazon SQS queue as the destination.\n To retain records of failed invocations from [self-managed Kafka](https://docs.aws.amazon.com/lambda/latest/dg/with-kafka.html#services-smaa-onfailure-destination) or [Amazon MSK](https://docs.aws.amazon.com/lambda/latest/dg/with-msk.html#services-msk-onfailure-destination), you can configure an Amazon SNS topic, Amazon SQS queue, or Amazon S3 bucket as the destination.\n\n---\n\nRequired: No \nType: String \nMinimum Length: 12 \nMaximum Length: 1024 \nPattern: arn:(aws[a-zA-Z0-9-]*):([a-zA-Z0-9\\-])+:([a-z]{2}(-gov)?(-iso([a-z])?)?-[a-z]+-\\d{1})?:(\\d{12})?:(.*) \nUpdate requires: No interruption" } }, - "markdownDescription": "Specific configuration settings for a self-managed Apache Kafka event source.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + "markdownDescription": "A destination for events that failed processing.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + } + }, + "required": [ + "FunctionName" + ], + "properties": { + "StartingPosition": { + "minLength": 6, + "description": "The position in a stream from which to start reading. Required for Amazon Kinesis and Amazon DynamoDB.\n + *LATEST* - Read only new records.\n + *TRIM_HORIZON* - Process all available records.\n + *AT_TIMESTAMP* - Specify a time from which to start reading records.", + "type": "string", + "maxLength": 12, + "markdownDescription": "The position in a stream from which to start reading. Required for Amazon Kinesis and Amazon DynamoDB.\n + *LATEST* - Read only new records.\n + *TRIM_HORIZON* - Process all available records.\n + *AT_TIMESTAMP* - Specify a time from which to start reading records.\n\n---\n\nRequired: No \nType: String \nMinimum Length: 6 \nMaximum Length: 12 \nPattern: (LATEST|TRIM_HORIZON|AT_TIMESTAMP)+ \nUpdate requires: Replacement" + }, + "SelfManagedEventSource": { + "description": "The self-managed Apache Kafka cluster for your event source.", + "$ref": "#/definitions/SelfManagedEventSource", + "markdownDescription": "The self-managed Apache Kafka cluster for your event source.\n\n---\n\nRequired: No \nType: \nUpdate requires: Replacement" + }, + "ParallelizationFactor": { + "description": "(Kinesis and DynamoDB Streams only) The number of batches to process concurrently from each shard. The default value is 1.", + "maximum": 10, + "type": "integer", + "minimum": 1, + "markdownDescription": "(Kinesis and DynamoDB Streams only) The number of batches to process concurrently from each shard. The default value is 1.\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" + }, + "FilterCriteria": { + "description": "An object that defines the filter criteria that determine whether Lambda should process an event. For more information, see [Lambda event filtering](https://docs.aws.amazon.com/lambda/latest/dg/invocation-eventfiltering.html).", + "$ref": "#/definitions/FilterCriteria", + "markdownDescription": "An object that defines the filter criteria that determine whether Lambda should process an event. For more information, see [Lambda event filtering](https://docs.aws.amazon.com/lambda/latest/dg/invocation-eventfiltering.html).\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" + }, + "MetricsConfig": { + "description": "", + "$ref": "#/definitions/MetricsConfig", + "markdownDescription": "\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" + }, + "FunctionName": { + "minLength": 1, + "description": "The name or ARN of the Lambda function.\n **Name formats**\n + *Function name* \u2013 ``MyFunction``.\n + *Function ARN* \u2013 ``arn:aws:lambda:us-west-2:123456789012:function:MyFunction``.\n + *Version or Alias ARN* \u2013 ``arn:aws:lambda:us-west-2:123456789012:function:MyFunction:PROD``.\n + *Partial ARN* \u2013 ``123456789012:function:MyFunction``.\n \n The length constraint applies only to the full ARN. If you specify only the function name, it's limited to 64 characters in length.", + "type": "string", + "maxLength": 140, + "markdownDescription": "The name or ARN of the Lambda function.\n **Name formats**\n + *Function name* \u2013 ``MyFunction``.\n + *Function ARN* \u2013 ``arn:aws:lambda:us-west-2:123456789012:function:MyFunction``.\n + *Version or Alias ARN* \u2013 ``arn:aws:lambda:us-west-2:123456789012:function:MyFunction:PROD``.\n + *Partial ARN* \u2013 ``123456789012:function:MyFunction``.\n \n The length constraint applies only to the full ARN. If you specify only the function name, it's limited to 64 characters in length.\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 140 \nPattern: (arn:(aws[a-zA-Z-]*)?:lambda:)?([a-z]{2}(-gov)?(-iso([a-z])?)?-[a-z]+-\\d{1}:)?(\\d{12}:)?(function:)?([a-zA-Z0-9-_]+)(:(\\$LATEST|[a-zA-Z0-9-_]+))? \nUpdate requires: No interruption" + }, + "DestinationConfig": { + "description": "(Kinesis, DynamoDB Streams, Amazon MSK, and self-managed Apache Kafka event sources only) A configuration object that specifies the destination of an event after Lambda processes it.", + "$ref": "#/definitions/DestinationConfig", + "markdownDescription": "(Kinesis, DynamoDB Streams, Amazon MSK, and self-managed Apache Kafka event sources only) A configuration object that specifies the destination of an event after Lambda processes it.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" + }, + "KmsKeyArn": { + "minLength": 12, + "description": "The ARN of the KMSlong (KMS) customer managed key that Lambda uses to encrypt your function's [filter criteria](https://docs.aws.amazon.com/lambda/latest/dg/invocation-eventfiltering.html#filtering-basics).", + "type": "string", + "maxLength": 2048, + "markdownDescription": "The ARN of the KMSlong (KMS) customer managed key that Lambda uses to encrypt your function's [filter criteria](https://docs.aws.amazon.com/lambda/latest/dg/invocation-eventfiltering.html#filtering-basics).\n\n---\n\nRequired: No \nType: String \nMinimum Length: 12 \nMaximum Length: 2048 \nPattern: (arn:(aws[a-zA-Z-]*)?:[a-z0-9-.]+:.*)|() \nUpdate requires: No interruption" + }, + "AmazonManagedKafkaEventSourceConfig": { + "description": "Specific configuration settings for an Amazon Managed Streaming for Apache Kafka (Amazon MSK) event source.", + "$ref": "#/definitions/AmazonManagedKafkaEventSourceConfig", + "markdownDescription": "Specific configuration settings for an Amazon Managed Streaming for Apache Kafka (Amazon MSK) event source.\n\n---\n\nRequired: No \nType: \nUpdate requires: Replacement" + }, + "SourceAccessConfigurations": { + "minItems": 1, + "maxItems": 22, + "uniqueItems": true, + "description": "An array of the authentication protocol, VPC components, or virtual host to secure and define your event source.", + "type": "array", + "items": { + "$ref": "#/definitions/SourceAccessConfiguration" + }, + "markdownDescription": "An array of the authentication protocol, VPC components, or virtual host to secure and define your event source.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + }, + "Tags": { + "uniqueItems": true, + "description": "A list of tags to add to the event source mapping.\n You must have the ``lambda:TagResource``, ``lambda:UntagResource``, and ``lambda:ListTags`` permissions for your [principal](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_terms-and-concepts.html) to manage the CFN stack. If you don't have these permissions, there might be unexpected behavior with stack-level tags propagating to the resource during resource creation and update.", + "insertionOrder": false, + "type": "array", + "items": { + "$ref": "#/definitions/Tag" + }, + "markdownDescription": "A list of tags to add to the event source mapping.\n You must have the ``lambda:TagResource``, ``lambda:UntagResource``, and ``lambda:ListTags`` permissions for your [principal](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_terms-and-concepts.html) to manage the CFN stack. If you don't have these permissions, there might be unexpected behavior with stack-level tags propagating to the resource during resource creation and update.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" }, - "MaximumConcurrency": { - "description": "The maximum number of concurrent functions that an event source can invoke.", + "MaximumBatchingWindowInSeconds": { + "description": "The maximum amount of time, in seconds, that Lambda spends gathering records before invoking the function.\n *Default (, , event sources)*: 0\n *Default (, Kafka, , event sources)*: 500 ms\n *Related setting:* For SQS event sources, when you set ``BatchSize`` to a value greater than 10, you must set ``MaximumBatchingWindowInSeconds`` to at least 1.", + "maximum": 300, "type": "integer", - "minimum": 2, - "maximum": 1000, - "markdownDescription": "The maximum number of concurrent functions that an event source can invoke.\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" + "minimum": 0, + "markdownDescription": "The maximum amount of time, in seconds, that Lambda spends gathering records before invoking the function.\n *Default (, , event sources)*: 0\n *Default (, Kafka, , event sources)*: 500 ms\n *Related setting:* For SQS event sources, when you set ``BatchSize`` to a value greater than 10, you must set ``MaximumBatchingWindowInSeconds`` to at least 1.\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" }, - "ScalingConfig": { - "description": "(Amazon SQS only) The scaling configuration for the event source. To remove the configuration, pass an empty value.", - "type": "object", - "additionalProperties": false, - "properties": { - "MaximumConcurrency": { - "description": "Limits the number of concurrent instances that the SQS event source can invoke.", - "$ref": "#/definitions/MaximumConcurrency", - "markdownDescription": "Limits the number of concurrent instances that the SQS event source can invoke.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" - } - }, - "markdownDescription": "(Amazon SQS only) The scaling configuration for the event source. To remove the configuration, pass an empty value.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + "BatchSize": { + "description": "The maximum number of records in each batch that Lambda pulls from your stream or queue and sends to your function. Lambda passes all of the records in the batch to the function in a single call, up to the payload limit for synchronous invocation (6 MB).\n + *Amazon Kinesis* \u2013 Default 100. Max 10,000.\n + *Amazon DynamoDB Streams* \u2013 Default 100. Max 10,000.\n + *Amazon Simple Queue Service* \u2013 Default 10. For standard queues the max is 10,000. For FIFO queues the max is 10.\n + *Amazon Managed Streaming for Apache Kafka* \u2013 Default 100. Max 10,000.\n + *Self-managed Apache Kafka* \u2013 Default 100. Max 10,000.\n + *Amazon MQ (ActiveMQ and RabbitMQ)* \u2013 Default 100. Max 10,000.\n + *DocumentDB* \u2013 Default 100. Max 10,000.", + "maximum": 10000, + "type": "integer", + "minimum": 1, + "markdownDescription": "The maximum number of records in each batch that Lambda pulls from your stream or queue and sends to your function. Lambda passes all of the records in the batch to the function in a single call, up to the payload limit for synchronous invocation (6 MB).\n + *Amazon Kinesis* \u2013 Default 100. Max 10,000.\n + *Amazon DynamoDB Streams* \u2013 Default 100. Max 10,000.\n + *Amazon Simple Queue Service* \u2013 Default 10. For standard queues the max is 10,000. For FIFO queues the max is 10.\n + *Amazon Managed Streaming for Apache Kafka* \u2013 Default 100. Max 10,000.\n + *Self-managed Apache Kafka* \u2013 Default 100. Max 10,000.\n + *Amazon MQ (ActiveMQ and RabbitMQ)* \u2013 Default 100. Max 10,000.\n + *DocumentDB* \u2013 Default 100. Max 10,000.\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" }, - "Tag": { - "type": "object", - "additionalProperties": false, - "properties": { - "Key": { - "type": "string", - "description": "The key name of the tag. You can specify a value that is 1 to 128 Unicode characters in length and cannot be prefixed with aws:. You can use any of the following characters: the set of Unicode letters, digits, whitespace, _, ., /, =, +, and -.", - "minLength": 1, - "maxLength": 128, - "markdownDescription": "The key name of the tag. You can specify a value that is 1 to 128 Unicode characters in length and cannot be prefixed with aws:. You can use any of the following characters: the set of Unicode letters, digits, whitespace, _, ., /, =, +, and -.\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 128 \nUpdate requires: No interruption" - }, - "Value": { - "type": "string", - "description": "The value for the tag. You can specify a value that is 0 to 256 Unicode characters in length and cannot be prefixed with aws:. You can use any of the following characters: the set of Unicode letters, digits, whitespace, _, ., /, =, +, and -.", - "minLength": 0, - "maxLength": 256, - "markdownDescription": "The value for the tag. You can specify a value that is 0 to 256 Unicode characters in length and cannot be prefixed with aws:. You can use any of the following characters: the set of Unicode letters, digits, whitespace, _, ., /, =, +, and -.\n\n---\n\nRequired: No \nType: String \nMaximum Length: 256 \nUpdate requires: No interruption" - } + "MaximumRetryAttempts": { + "description": "(Kinesis and DynamoDB Streams only) Discard records after the specified number of retries. The default value is -1, which sets the maximum number of retries to infinite. When MaximumRetryAttempts is infinite, Lambda retries failed records until the record expires in the event source.", + "maximum": 10000, + "type": "integer", + "minimum": -1, + "markdownDescription": "(Kinesis and DynamoDB Streams only) Discard records after the specified number of retries. The default value is -1, which sets the maximum number of retries to infinite. When MaximumRetryAttempts is infinite, Lambda retries failed records until the record expires in the event source.\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" + }, + "Topics": { + "minItems": 1, + "maxItems": 1, + "uniqueItems": true, + "description": "The name of the Kafka topic.", + "type": "array", + "items": { + "minLength": 1, + "type": "string", + "maxLength": 249, + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 249 \nPattern: ^[^.]([a-zA-Z0-9\\-_.]+) \nUpdate requires: No interruption" }, - "required": [ - "Key" - ], - "description": "", - "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + "markdownDescription": "The name of the Kafka topic.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + }, + "ScalingConfig": { + "description": "(Amazon SQS only) The scaling configuration for the event source. For more information, see [Configuring maximum concurrency for Amazon SQS event sources](https://docs.aws.amazon.com/lambda/latest/dg/with-sqs.html#events-sqs-max-concurrency).", + "$ref": "#/definitions/ScalingConfig", + "markdownDescription": "(Amazon SQS only) The scaling configuration for the event source. For more information, see [Configuring maximum concurrency for Amazon SQS event sources](https://docs.aws.amazon.com/lambda/latest/dg/with-sqs.html#events-sqs-max-concurrency).\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" + }, + "Enabled": { + "description": "When true, the event source mapping is active. When false, Lambda pauses polling and invocation.\n Default: True", + "type": "boolean", + "markdownDescription": "When true, the event source mapping is active. When false, Lambda pauses polling and invocation.\n Default: True\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" + }, + "EventSourceArn": { + "minLength": 12, + "description": "The Amazon Resource Name (ARN) of the event source.\n + *Amazon Kinesis* \u2013 The ARN of the data stream or a stream consumer.\n + *Amazon DynamoDB Streams* \u2013 The ARN of the stream.\n + *Amazon Simple Queue Service* \u2013 The ARN of the queue.\n + *Amazon Managed Streaming for Apache Kafka* \u2013 The ARN of the cluster or the ARN of the VPC connection (for [cross-account event source mappings](https://docs.aws.amazon.com/lambda/latest/dg/with-msk.html#msk-multi-vpc)).\n + *Amazon MQ* \u2013 The ARN of the broker.\n + *Amazon DocumentDB* \u2013 The ARN of the DocumentDB change stream.", + "type": "string", + "maxLength": 1024, + "markdownDescription": "The Amazon Resource Name (ARN) of the event source.\n + *Amazon Kinesis* \u2013 The ARN of the data stream or a stream consumer.\n + *Amazon DynamoDB Streams* \u2013 The ARN of the stream.\n + *Amazon Simple Queue Service* \u2013 The ARN of the queue.\n + *Amazon Managed Streaming for Apache Kafka* \u2013 The ARN of the cluster or the ARN of the VPC connection (for [cross-account event source mappings](https://docs.aws.amazon.com/lambda/latest/dg/with-msk.html#msk-multi-vpc)).\n + *Amazon MQ* \u2013 The ARN of the broker.\n + *Amazon DocumentDB* \u2013 The ARN of the DocumentDB change stream.\n\n---\n\nRequired: No \nType: String \nMinimum Length: 12 \nMaximum Length: 1024 \nPattern: arn:(aws[a-zA-Z0-9-]*):([a-zA-Z0-9\\-])+:([a-z]{2}(-gov)?(-iso([a-z])?)?-[a-z]+-\\d{1})?:(\\d{12})?:(.*) \nUpdate requires: Replacement" + }, + "SelfManagedKafkaEventSourceConfig": { + "description": "Specific configuration settings for a self-managed Apache Kafka event source.", + "$ref": "#/definitions/SelfManagedKafkaEventSourceConfig", + "markdownDescription": "Specific configuration settings for a self-managed Apache Kafka event source.\n\n---\n\nRequired: No \nType: \nUpdate requires: Replacement" }, "DocumentDBEventSourceConfig": { "description": "Specific configuration settings for a DocumentDB event source.", - "type": "object", - "additionalProperties": false, - "properties": { - "DatabaseName": { - "description": "The name of the database to consume within the DocumentDB cluster.", - "type": "string", - "minLength": 1, - "maxLength": 63, - "markdownDescription": "The name of the database to consume within the DocumentDB cluster.\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 63 \nUpdate requires: No interruption" - }, - "CollectionName": { - "description": "The name of the collection to consume within the database. If you do not specify a collection, Lambda consumes all collections.", - "type": "string", - "minLength": 1, - "maxLength": 57, - "markdownDescription": "The name of the collection to consume within the database. If you do not specify a collection, Lambda consumes all collections.\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 57 \nUpdate requires: No interruption" - }, - "FullDocument": { - "description": "Determines what DocumentDB sends to your event stream during document update operations. If set to UpdateLookup, DocumentDB sends a delta describing the changes, along with a copy of the entire document. Otherwise, DocumentDB sends only a partial document that contains the changes.", - "type": "string", - "enum": [ - "UpdateLookup", - "Default" - ], - "markdownDescription": "Determines what DocumentDB sends to your event stream during document update operations. If set to UpdateLookup, DocumentDB sends a delta describing the changes, along with a copy of the entire document. Otherwise, DocumentDB sends only a partial document that contains the changes.\n\n---\n\nRequired: No \nType: String \nAllowed Values: UpdateLookup | Default \nUpdate requires: No interruption" - } - }, - "markdownDescription": "Specific configuration settings for a DocumentDB event source.\n\n---\n\nRequired: No \nUpdate requires: No interruption" - } - }, - "required": [ - "FunctionName" - ], - "createOnlyProperties": [ - "/properties/EventSourceArn", - "/properties/StartingPosition", - "/properties/StartingPositionTimestamp", - "/properties/SelfManagedEventSource", - "/properties/AmazonManagedKafkaEventSourceConfig", - "/properties/SelfManagedKafkaEventSourceConfig" - ], - "readOnlyProperties": [ - "/properties/Id", - "/properties/EventSourceMappingArn" - ], - "primaryIdentifier": [ - "/properties/Id" - ], - "propertyTransform": { - "/properties/StartingPositionTimestamp": "StartingPositionTimestamp * 1000" - }, - "handlers": { - "create": { - "permissions": [ - "lambda:CreateEventSourceMapping", - "lambda:GetEventSourceMapping", - "lambda:TagResource", - "kms:DescribeKey", - "kms:GenerateDataKey", - "kms:Decrypt" - ] + "$ref": "#/definitions/DocumentDBEventSourceConfig", + "markdownDescription": "Specific configuration settings for a DocumentDB event source.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" }, - "delete": { - "permissions": [ - "lambda:DeleteEventSourceMapping", - "lambda:GetEventSourceMapping", - "kms:Decrypt" - ] + "TumblingWindowInSeconds": { + "description": "(Kinesis and DynamoDB Streams only) The duration in seconds of a processing window for DynamoDB and Kinesis Streams event sources. A value of 0 seconds indicates no tumbling window.", + "maximum": 900, + "type": "integer", + "minimum": 0, + "markdownDescription": "(Kinesis and DynamoDB Streams only) The duration in seconds of a processing window for DynamoDB and Kinesis Streams event sources. A value of 0 seconds indicates no tumbling window.\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" }, - "list": { - "permissions": [ - "lambda:ListEventSourceMappings" - ] + "BisectBatchOnFunctionError": { + "description": "(Kinesis and DynamoDB Streams only) If the function returns an error, split the batch in two and retry. The default value is false.", + "type": "boolean", + "markdownDescription": "(Kinesis and DynamoDB Streams only) If the function returns an error, split the batch in two and retry. The default value is false.\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" }, - "read": { - "permissions": [ - "lambda:GetEventSourceMapping", - "lambda:ListTags", - "kms:Decrypt" - ] + "MaximumRecordAgeInSeconds": { + "description": "(Kinesis and DynamoDB Streams only) Discard records older than the specified age. The default value is -1, which sets the maximum age to infinite. When the value is set to infinite, Lambda never discards old records.\n The minimum valid value for maximum record age is 60s. Although values less than 60 and greater than -1 fall within the parameter's absolute range, they are not allowed", + "maximum": 604800, + "type": "integer", + "minimum": -1, + "markdownDescription": "(Kinesis and DynamoDB Streams only) Discard records older than the specified age. The default value is -1, which sets the maximum age to infinite. When the value is set to infinite, Lambda never discards old records.\n The minimum valid value for maximum record age is 60s. Although values less than 60 and greater than -1 fall within the parameter's absolute range, they are not allowed\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" }, - "update": { - "permissions": [ - "lambda:UpdateEventSourceMapping", - "lambda:GetEventSourceMapping", - "lambda:ListTags", - "lambda:TagResource", - "lambda:UntagResource", - "kms:DescribeKey", - "kms:GenerateDataKey", - "kms:Decrypt" - ] + "StartingPositionTimestamp": { + "description": "With ``StartingPosition`` set to ``AT_TIMESTAMP``, the time from which to start reading, in Unix time seconds. ``StartingPositionTimestamp`` cannot be in the future.", + "type": "number", + "markdownDescription": "With ``StartingPosition`` set to ``AT_TIMESTAMP``, the time from which to start reading, in Unix time seconds. ``StartingPositionTimestamp`` cannot be in the future.\n\n---\n\nRequired: No \nType: Number \nUpdate requires: Replacement" + }, + "Queues": { + "minItems": 1, + "maxItems": 1, + "uniqueItems": true, + "description": "(Amazon MQ) The name of the Amazon MQ broker destination queue to consume.", + "type": "array", + "items": { + "minLength": 1, + "type": "string", + "maxLength": 1000, + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 1000 \nPattern: [\\s\\S]* \nUpdate requires: No interruption" + }, + "markdownDescription": "(Amazon MQ) The name of the Amazon MQ broker destination queue to consume.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + }, + "FunctionResponseTypes": { + "uniqueItems": true, + "minLength": 0, + "description": "(Kinesis, DynamoDB Streams, and SQS) A list of current response type enums applied to the event source mapping.\n Valid Values: ``ReportBatchItemFailures``", + "type": "array", + "items": { + "type": "string", + "enum": [ + "ReportBatchItemFailures" + ], + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: ReportBatchItemFailures \nUpdate requires: No interruption" + }, + "maxLength": 1, + "markdownDescription": "(Kinesis, DynamoDB Streams, and SQS) A list of current response type enums applied to the event source mapping.\n Valid Values: ``ReportBatchItemFailures``\n\n---\n\nRequired: No \nType: Array \nMaximum Length: 1 \nUpdate requires: No interruption" } }, - "tagging": { - "taggable": true, - "tagOnCreate": true, - "tagUpdatable": true, - "cloudFormationSystemTags": true, - "tagProperty": "/properties/Tags" - }, "attributes": { - "Id": { - "description": "", - "type": "string", - "minLength": 36, - "maxLength": 36, - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMinimum Length: 36 \nMaximum Length: 36 \nPattern: [a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12} \nUpdate requires: No interruption" - }, "EventSourceMappingArn": { + "minLength": 85, "description": "", "type": "string", - "minLength": 85, "maxLength": 120, "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMinimum Length: 85 \nMaximum Length: 120 \nPattern: arn:(aws[a-zA-Z-]*)?:lambda:[a-z]{2}((-gov)|(-iso([a-z]?)))?-[a-z]+-\\d{1}:\\d{12}:event-source-mapping:[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12} \nUpdate requires: No interruption" + }, + "Id": { + "minLength": 36, + "description": "", + "type": "string", + "maxLength": 36, + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMinimum Length: 36 \nMaximum Length: 36 \nPattern: [a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12} \nUpdate requires: No interruption" } } } \ No newline at end of file diff --git a/server/schema/resources/aws-lambda-function.json b/server/schema/resources/aws-lambda-function.json index 2e5c00f3..0ae8be02 100644 --- a/server/schema/resources/aws-lambda-function.json +++ b/server/schema/resources/aws-lambda-function.json @@ -90,7 +90,7 @@ "/properties/SnapStartResponse/OptimizationStatus", "/properties/Arn" ], - "description": "The ``AWS::Lambda::Function`` resource creates a Lambda function. To create a function, you need a [deployment package](https://docs.aws.amazon.com/lambda/latest/dg/gettingstarted-package.html) and an [execution role](https://docs.aws.amazon.com/lambda/latest/dg/lambda-intro-execution-role.html). The deployment package is a .zip file archive or container image that contains your function code. The execution role grants the function permission to use AWS services, such as Amazon CloudWatch Logs for log streaming and AWS X-Ray for request tracing.\n You set the package type to ``Image`` if the deployment package is a [container image](https://docs.aws.amazon.com/lambda/latest/dg/lambda-images.html). For a container image, the code property must include the URI of a container image in the Amazon ECR registry. You do not need to specify the handler and runtime properties. \n You set the package type to ``Zip`` if the deployment package is a [.zip file archive](https://docs.aws.amazon.com/lambda/latest/dg/gettingstarted-package.html#gettingstarted-package-zip). For a .zip file archive, the code property specifies the location of the .zip file. You must also specify the handler and runtime properties. For a Python example, see [Deploy Python Lambda functions with .zip file archives](https://docs.aws.amazon.com/lambda/latest/dg/python-package.html).\n You can use [code signing](https://docs.aws.amazon.com/lambda/latest/dg/configuration-codesigning.html) if your deployment package is a .zip file archive. To enable code signing for this function, specify the ARN of a code-signing configuration. When a user attempts to deploy a code package with ``UpdateFunctionCode``, Lambda checks that the code package has a valid signature from a trusted publisher. The code-signing configuration includes a set of signing profiles, which define the trusted publishers for this function.\n Note that you configure [provisioned concurrency](https://docs.aws.amazon.com/lambda/latest/dg/provisioned-concurrency.html) on a ``AWS::Lambda::Version`` or a ``AWS::Lambda::Alias``.\n For a complete introduction to Lambda functions, see [What is Lambda?](https://docs.aws.amazon.com/lambda/latest/dg/lambda-welcome.html) in the *Lambda developer guide.*", + "description": "The ``AWS::Lambda::Function`` resource creates a Lambda function. To create a function, you need a [deployment package](https://docs.aws.amazon.com/lambda/latest/dg/gettingstarted-package.html) and an [execution role](https://docs.aws.amazon.com/lambda/latest/dg/lambda-intro-execution-role.html). The deployment package is a .zip file archive or container image that contains your function code. The execution role grants the function permission to use AWS services, such as Amazon CloudWatch Logs for log streaming and AWS X-Ray for request tracing.\n You set the package type to ``Image`` if the deployment package is a [container image](https://docs.aws.amazon.com/lambda/latest/dg/lambda-images.html). For these functions, include the URI of the container image in the ECR registry in the [ImageUri property of the Code property](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-function-code.html#cfn-lambda-function-code-imageuri). You do not need to specify the handler and runtime properties. \n You set the package type to ``Zip`` if the deployment package is a [.zip file archive](https://docs.aws.amazon.com/lambda/latest/dg/gettingstarted-package.html#gettingstarted-package-zip). For these functions, specify the S3 location of your .zip file in the ``Code`` property. Alternatively, for Node.js and Python functions, you can define your function inline in the [ZipFile property of the Code property](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-function-code.html#cfn-lambda-function-code-zipfile). In both cases, you must also specify the handler and runtime properties.\n You can use [code signing](https://docs.aws.amazon.com/lambda/latest/dg/configuration-codesigning.html) if your deployment package is a .zip file archive. To enable code signing for this function, specify the ARN of a code-signing configuration. When a user attempts to deploy a code package with ``UpdateFunctionCode``, Lambda checks that the code package has a valid signature from a trusted publisher. The code-signing configuration includes a set of signing profiles, which define the trusted publishers for this function.\n When you update a ``AWS::Lambda::Function`` resource, CFNshort calls the [UpdateFunctionConfiguration](https://docs.aws.amazon.com/lambda/latest/api/API_UpdateFunctionConfiguration.html) and [UpdateFunctionCode](https://docs.aws.amazon.com/lambda/latest/api/API_UpdateFunctionCode.html) LAM APIs under the hood. Because these calls happen sequentially, and invocations can happen between these calls, your function may encounter errors in the time between the calls. For example, if you remove an environment variable, and the code that references that environment variable in the same CFNshort update, you may see invocation errors related to a missing environment variable. To work around this, you can invoke your function against a version or alias by default, rather than the ``$LATEST`` version.\n Note that you configure [provisioned concurrency](https://docs.aws.amazon.com/lambda/latest/dg/provisioned-concurrency.html) on a ``AWS::Lambda::Version`` or a ``AWS::Lambda::Alias``.\n For a complete introduction to Lambda functions, see [What is Lambda?](https://docs.aws.amazon.com/lambda/latest/dg/lambda-welcome.html) in the *Lambda developer guide.*", "writeOnlyProperties": [ "/properties/SnapStart", "/properties/SnapStart/ApplyOn", @@ -393,10 +393,10 @@ "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" } }, - "description": "Environment variable key-value pairs. For more information, see [Using Lambda environment variables](https://docs.aws.amazon.com/lambda/latest/dg/configuration-envvars.html).", + "description": "Environment variable key-value pairs. For more information, see [Using Lambda environment variables](https://docs.aws.amazon.com/lambda/latest/dg/configuration-envvars.html).\n If the value of the environment variable is a time or a duration, enclose the value in quotes.", "additionalProperties": false, "type": "object", - "markdownDescription": "Environment variable key-value pairs. For more information, see [Using Lambda environment variables](https://docs.aws.amazon.com/lambda/latest/dg/configuration-envvars.html).\n\n---\n\nRequired: No \nUpdate requires: No interruption" + "markdownDescription": "Environment variable key-value pairs. For more information, see [Using Lambda environment variables](https://docs.aws.amazon.com/lambda/latest/dg/configuration-envvars.html).\n If the value of the environment variable is a time or a duration, enclose the value in quotes.\n\n---\n\nRequired: No \nUpdate requires: No interruption" } }, "markdownDescription": "A function's environment variable settings. You can use environment variables to adjust your function's behavior without updating code. An environment variable is a pair of strings that are stored in a function's version-specific configuration.\n\n---\n\nRequired: No \nUpdate requires: No interruption" @@ -410,7 +410,7 @@ "description": "The Amazon Resource Name (ARN) of the Amazon EFS access point that provides access to the file system.", "type": "string", "maxLength": 200, - "markdownDescription": "The Amazon Resource Name (ARN) of the Amazon EFS access point that provides access to the file system.\n\n---\n\nRequired: Yes \nType: String \nMaximum Length: 200 \nPattern: ^arn:aws[a-zA-Z-]*:elasticfilesystem:[a-z]{2}((-gov)|(-iso(b?)))?-[a-z]+-\\d{1}:\\d{12}:access-point/fsap-[a-f0-9]{17}$ \nUpdate requires: No interruption" + "markdownDescription": "The Amazon Resource Name (ARN) of the Amazon EFS access point that provides access to the file system.\n\n---\n\nRequired: Yes \nType: String \nMaximum Length: 200 \nPattern: ^arn:aws[a-zA-Z-]*:elasticfilesystem:[a-z]{2}((-gov)|(-iso([a-z]?)))?-[a-z]+-\\d{1}:\\d{12}:access-point/fsap-[a-f0-9]{17}$ \nUpdate requires: No interruption" }, "LocalMountPath": { "description": "The path where the function can access the file system, starting with ``/mnt/``.", @@ -426,29 +426,29 @@ "markdownDescription": "Details about the connection between a Lambda function and an [Amazon EFS file system](https://docs.aws.amazon.com/lambda/latest/dg/configuration-filesystem.html).\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, "Tag": { - "description": "", + "description": "A [tag](https://docs.aws.amazon.com/lambda/latest/dg/tagging.html) to apply to the function.", "additionalProperties": false, "type": "object", "properties": { "Value": { "minLength": 0, - "description": "", + "description": "The value for this tag.", "type": "string", "maxLength": 256, - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMaximum Length: 256 \nUpdate requires: No interruption" + "markdownDescription": "The value for this tag.\n\n---\n\nRequired: No \nType: String \nMaximum Length: 256 \nUpdate requires: No interruption" }, "Key": { "minLength": 1, - "description": "", + "description": "The key for this tag.", "type": "string", "maxLength": 128, - "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 128 \nUpdate requires: No interruption" + "markdownDescription": "The key for this tag.\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 128 \nUpdate requires: No interruption" } }, "required": [ "Key" ], - "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + "markdownDescription": "A [tag](https://docs.aws.amazon.com/lambda/latest/dg/tagging.html) to apply to the function.\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, "EphemeralStorage": { "description": "The size of the function's ``/tmp`` directory in MB. The default value is 512, but it can be any whole number between 512 and 10,240 MB.", @@ -527,9 +527,9 @@ "markdownDescription": "The identifier of the function's [runtime](https://docs.aws.amazon.com/lambda/latest/dg/lambda-runtimes.html). Runtime is required if the deployment package is a .zip file archive. Specifying a runtime results in an error if you're deploying a function using a container image.\n The following list includes deprecated runtimes. Lambda blocks creating new functions and updating existing functions shortly after each runtime is deprecated. For more information, see [Runtime use after deprecation](https://docs.aws.amazon.com/lambda/latest/dg/lambda-runtimes.html#runtime-deprecation-levels).\n For a list of all currently supported runtimes, see [Supported runtimes](https://docs.aws.amazon.com/lambda/latest/dg/lambda-runtimes.html#runtimes-supported).\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, "KmsKeyArn": { - "description": "The ARN of the KMSlong (KMS) customer managed key that's used to encrypt your function's [environment variables](https://docs.aws.amazon.com/lambda/latest/dg/configuration-envvars.html#configuration-envvars-encryption). When [Lambda SnapStart](https://docs.aws.amazon.com/lambda/latest/dg/snapstart-security.html) is activated, Lambda also uses this key is to encrypt your function's snapshot. If you deploy your function using a container image, Lambda also uses this key to encrypt your function when it's deployed. Note that this is not the same key that's used to protect your container image in the Amazon Elastic Container Registry (Amazon ECR). If you don't provide a customer managed key, Lambda uses a default service key.", + "description": "The ARN of the KMSlong (KMS) customer managed key that's used to encrypt your function's [environment variables](https://docs.aws.amazon.com/lambda/latest/dg/configuration-envvars.html#configuration-envvars-encryption). When [SnapStart](https://docs.aws.amazon.com/lambda/latest/dg/snapstart-security.html) is activated, LAM also uses this key is to encrypt your function's snapshot. If you deploy your function using a container image, LAM also uses this key to encrypt your function when it's deployed. Note that this is not the same key that's used to protect your container image in the ECRlong (ECR). If you don't provide a customer managed key, LAM uses a default service key.", "type": "string", - "markdownDescription": "The ARN of the KMSlong (KMS) customer managed key that's used to encrypt your function's [environment variables](https://docs.aws.amazon.com/lambda/latest/dg/configuration-envvars.html#configuration-envvars-encryption). When [Lambda SnapStart](https://docs.aws.amazon.com/lambda/latest/dg/snapstart-security.html) is activated, Lambda also uses this key is to encrypt your function's snapshot. If you deploy your function using a container image, Lambda also uses this key to encrypt your function when it's deployed. Note that this is not the same key that's used to protect your container image in the Amazon Elastic Container Registry (Amazon ECR). If you don't provide a customer managed key, Lambda uses a default service key.\n\n---\n\nRequired: No \nType: String \nPattern: ^(arn:(aws[a-zA-Z-]*)?:[a-z0-9-.]+:.*)|()$ \nUpdate requires: No interruption" + "markdownDescription": "The ARN of the KMSlong (KMS) customer managed key that's used to encrypt your function's [environment variables](https://docs.aws.amazon.com/lambda/latest/dg/configuration-envvars.html#configuration-envvars-encryption). When [SnapStart](https://docs.aws.amazon.com/lambda/latest/dg/snapstart-security.html) is activated, LAM also uses this key is to encrypt your function's snapshot. If you deploy your function using a container image, LAM also uses this key to encrypt your function when it's deployed. Note that this is not the same key that's used to protect your container image in the ECRlong (ECR). If you don't provide a customer managed key, LAM uses a default service key.\n\n---\n\nRequired: No \nType: String \nPattern: ^(arn:(aws[a-zA-Z-]*)?:[a-z0-9-.]+:.*)|()$ \nUpdate requires: No interruption" }, "PackageType": { "description": "The type of deployment package. Set to ``Image`` for container image and set ``Zip`` for .zip file archive.", @@ -543,7 +543,7 @@ "CodeSigningConfigArn": { "description": "To enable code signing for this function, specify the ARN of a code-signing configuration. A code-signing configuration includes a set of signing profiles, which define the trusted publishers for this function.", "type": "string", - "markdownDescription": "To enable code signing for this function, specify the ARN of a code-signing configuration. A code-signing configuration includes a set of signing profiles, which define the trusted publishers for this function.\n\n---\n\nRequired: No \nType: String \nPattern: arn:(aws[a-zA-Z-]*)?:lambda:[a-z]{2}((-gov)|(-iso(b?)))?-[a-z]+-\\d{1}:\\d{12}:code-signing-config:csc-[a-z0-9]{17} \nUpdate requires: No interruption" + "markdownDescription": "To enable code signing for this function, specify the ARN of a code-signing configuration. A code-signing configuration includes a set of signing profiles, which define the trusted publishers for this function.\n\n---\n\nRequired: No \nType: String \nPattern: arn:(aws[a-zA-Z-]*)?:lambda:[a-z]{2}((-gov)|(-iso([a-z]?)))?-[a-z]+-\\d{1}:\\d{12}:code-signing-config:csc-[a-z0-9]{17} \nUpdate requires: No interruption" }, "Layers": { "uniqueItems": false, @@ -557,13 +557,13 @@ }, "Tags": { "uniqueItems": true, - "description": "A list of [tags](https://docs.aws.amazon.com/lambda/latest/dg/tagging.html) to apply to the function.", + "description": "A list of [tags](https://docs.aws.amazon.com/lambda/latest/dg/tagging.html) to apply to the function.\n You must have the ``lambda:TagResource``, ``lambda:UntagResource``, and ``lambda:ListTags`` permissions for your [principal](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_terms-and-concepts.html) to manage the CFN stack. If you don't have these permissions, there might be unexpected behavior with stack-level tags propagating to the resource during resource creation and update.", "insertionOrder": false, "type": "array", "items": { "$ref": "#/definitions/Tag" }, - "markdownDescription": "A list of [tags](https://docs.aws.amazon.com/lambda/latest/dg/tagging.html) to apply to the function.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + "markdownDescription": "A list of [tags](https://docs.aws.amazon.com/lambda/latest/dg/tagging.html) to apply to the function.\n You must have the ``lambda:TagResource``, ``lambda:UntagResource``, and ``lambda:ListTags`` permissions for your [principal](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_terms-and-concepts.html) to manage the CFN stack. If you don't have these permissions, there might be unexpected behavior with stack-level tags propagating to the resource during resource creation and update.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" }, "ImageConfig": { "description": "Configuration values that override the container image Dockerfile settings. For more information, see [Container image settings](https://docs.aws.amazon.com/lambda/latest/dg/images-create.html#images-parms).", @@ -593,9 +593,9 @@ "markdownDescription": "The name of the method within your code that Lambda calls to run your function. Handler is required if the deployment package is a .zip file archive. The format includes the file name. It can also include namespaces and other qualifiers, depending on the runtime. For more information, see [Lambda programming model](https://docs.aws.amazon.com/lambda/latest/dg/foundation-progmodel.html).\n\n---\n\nRequired: No \nType: String \nMaximum Length: 128 \nPattern: ^[^\\s]+$ \nUpdate requires: No interruption" }, "Code": { - "description": "The code for the function.", + "description": "The code for the function. You can define your function code in multiple ways:\n + For .zip deployment packages, you can specify the S3 location of the .zip file in the ``S3Bucket``, ``S3Key``, and ``S3ObjectVersion`` properties.\n + For .zip deployment packages, you can alternatively define the function code inline in the ``ZipFile`` property. This method works only for Node.js and Python functions.\n + For container images, specify the URI of your container image in the ECR registry in the ``ImageUri`` property.", "$ref": "#/definitions/Code", - "markdownDescription": "The code for the function.\n\n---\n\nRequired: Yes \nType: \nUpdate requires: No interruption" + "markdownDescription": "The code for the function. You can define your function code in multiple ways:\n + For .zip deployment packages, you can specify the S3 location of the .zip file in the ``S3Bucket``, ``S3Key``, and ``S3ObjectVersion`` properties.\n + For .zip deployment packages, you can alternatively define the function code inline in the ``ZipFile`` property. This method works only for Node.js and Python functions.\n + For container images, specify the URI of your container image in the ECR registry in the ``ImageUri`` property.\n\n---\n\nRequired: Yes \nType: \nUpdate requires: No interruption" }, "Role": { "description": "The Amazon Resource Name (ARN) of the function's execution role.", @@ -608,9 +608,9 @@ "markdownDescription": "The function's Amazon CloudWatch Logs configuration settings.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" }, "RecursiveLoop": { - "description": "", + "description": "The status of your function's recursive loop detection configuration.\n When this value is set to ``Allow``and Lambda detects your function being invoked as part of a recursive loop, it doesn't take any action.\n When this value is set to ``Terminate`` and Lambda detects your function being invoked as part of a recursive loop, it stops your function being invoked and notifies you.", "$ref": "#/definitions/RecursiveLoop", - "markdownDescription": "\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" + "markdownDescription": "The status of your function's recursive loop detection configuration.\n When this value is set to ``Allow``and Lambda detects your function being invoked as part of a recursive loop, it doesn't take any action.\n When this value is set to ``Terminate`` and Lambda detects your function being invoked as part of a recursive loop, it stops your function being invoked and notifies you.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" }, "Environment": { "description": "Environment variables that are accessible from function code during execution.", diff --git a/server/schema/resources/aws-lambda-permission.json b/server/schema/resources/aws-lambda-permission.json index 207452f3..f2746369 100644 --- a/server/schema/resources/aws-lambda-permission.json +++ b/server/schema/resources/aws-lambda-permission.json @@ -118,10 +118,10 @@ }, "Principal": { "minLength": 1, - "description": "The AWS-service or AWS-account that invokes the function. If you specify a service, use ``SourceArn`` or ``SourceAccount`` to limit who can invoke the function through that service.", + "description": "The AWS-service, AWS-account, IAM user, or IAM role that invokes the function. If you specify a service, use ``SourceArn`` or ``SourceAccount`` to limit who can invoke the function through that service.", "type": "string", "maxLength": 256, - "markdownDescription": "The AWS-service or AWS-account that invokes the function. If you specify a service, use ``SourceArn`` or ``SourceAccount`` to limit who can invoke the function through that service.\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 256 \nPattern: ^.*$ \nUpdate requires: Replacement" + "markdownDescription": "The AWS-service, AWS-account, IAM user, or IAM role that invokes the function. If you specify a service, use ``SourceArn`` or ``SourceAccount`` to limit who can invoke the function through that service.\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 256 \nPattern: ^.*$ \nUpdate requires: Replacement" } }, "required": [ diff --git a/server/schema/resources/aws-lambda-version.json b/server/schema/resources/aws-lambda-version.json index c5d12d4e..7cbfaa24 100644 --- a/server/schema/resources/aws-lambda-version.json +++ b/server/schema/resources/aws-lambda-version.json @@ -20,27 +20,8 @@ "description": "The name of the Lambda function.", "minLength": 1, "maxLength": 140, - "anyOf": [ - { - "relationshipRef": { - "typeName": "AWS::Lambda::Function", - "propertyPath": "/properties/FunctionName" - } - }, - { - "relationshipRef": { - "typeName": "AWS::Lambda::Function", - "propertyPath": "/properties/Arn" - } - } - ], "markdownDescription": "The name of the Lambda function.\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 140 \nPattern: ^(arn:(aws[a-zA-Z-]*)?:lambda:)?([a-z]{2}((-gov)|(-iso([a-z]?)))?-[a-z]+-\\d{1}:)?(\\d{12}:)?(function:)?([a-zA-Z0-9-_]+)(:(\\$LATEST|[a-zA-Z0-9-_]+))?$ \nUpdate requires: Replacement" }, - "Policy": { - "description": "The resource policy of your function", - "type": "object", - "markdownDescription": "The resource policy of your function\n\n---\n\nRequired: No \nUpdate requires: No interruption" - }, "ProvisionedConcurrencyConfig": { "description": "Specifies a provisioned concurrency configuration for a function's version. Updates are not supported for this property.", "$ref": "#/definitions/ProvisionedConcurrencyConfiguration", diff --git a/server/schema/resources/aws-location-apikey.json b/server/schema/resources/aws-location-apikey.json index 61f63a8b..527d87b3 100644 --- a/server/schema/resources/aws-location-apikey.json +++ b/server/schema/resources/aws-location-apikey.json @@ -11,7 +11,7 @@ "type": "string", "maxLength": 200, "minLength": 5, - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMinimum Length: 5 \nMaximum Length: 200 \nPattern: ^geo:\\w*\\*?$ \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMinimum Length: 5 \nMaximum Length: 200 \nPattern: ^(geo|geo-routes|geo-places|geo-maps):\\w*\\*?$ \nUpdate requires: No interruption" }, "maxItems": 24, "minItems": 1, @@ -177,7 +177,21 @@ "geo:SearchPlaceIndexForSuggestions", "geo:GetPlace", "geo:CalculateRoute", - "geo:CalculateRouteMatrix" + "geo:CalculateRouteMatrix", + "geo-maps:GetTile", + "geo-maps:GetStaticMap", + "geo-places:Autocomplete", + "geo-places:Geocode", + "geo-places:GetPlace", + "geo-places:ReverseGeocode", + "geo-places:SearchNearby", + "geo-places:SearchText", + "geo-places:Suggest", + "geo-routes:CalculateIsolines", + "geo-routes:CalculateRouteMatrix", + "geo-routes:CalculateRoutes", + "geo-routes:OptimizeWaypoints", + "geo-routes:SnapToRoads" ] }, "read": { @@ -201,6 +215,20 @@ "geo:GetPlace", "geo:CalculateRoute", "geo:CalculateRouteMatrix", + "geo-maps:GetTile", + "geo-maps:GetStaticMap", + "geo-places:Autocomplete", + "geo-places:Geocode", + "geo-places:GetPlace", + "geo-places:ReverseGeocode", + "geo-places:SearchNearby", + "geo-places:SearchText", + "geo-places:Suggest", + "geo-routes:CalculateIsolines", + "geo-routes:CalculateRouteMatrix", + "geo-routes:CalculateRoutes", + "geo-routes:OptimizeWaypoints", + "geo-routes:SnapToRoads", "geo:UpdateKey" ] }, diff --git a/server/schema/resources/aws-location-placeindex.json b/server/schema/resources/aws-location-placeindex.json index deb91fa8..3939f294 100644 --- a/server/schema/resources/aws-location-placeindex.json +++ b/server/schema/resources/aws-location-placeindex.json @@ -166,7 +166,11 @@ "tagOnCreate": true, "tagUpdatable": true, "cloudFormationSystemTags": false, - "tagProperty": "/properties/Tags" + "tagProperty": "/properties/Tags", + "permissions": [ + "geo:TagResource", + "geo:UntagResource" + ] }, "additionalProperties": false, "attributes": { diff --git a/server/schema/resources/aws-logs-delivery.json b/server/schema/resources/aws-logs-delivery.json index 02806e15..d5f26f58 100644 --- a/server/schema/resources/aws-logs-delivery.json +++ b/server/schema/resources/aws-logs-delivery.json @@ -35,6 +35,13 @@ "minLength": 16, "maxLength": 2048, "markdownDescription": "Amazon Resource Name (ARN) that uniquely identify AWS resource.\n\n---\n\nRequired: No \nType: String \nMinimum Length: 16 \nMaximum Length: 2048 \nPattern: [\\w#+=/:,.@-]*\\*? \nUpdate requires: No interruption" + }, + "FieldHeader": { + "description": "A single record field to be delivered to the destination.", + "type": "string", + "minLength": 1, + "maxLength": 50, + "markdownDescription": "A single record field to be delivered to the destination.\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 50 \nUpdate requires: No interruption" } }, "properties": { @@ -59,6 +66,33 @@ "$ref": "#/definitions/Tag" }, "markdownDescription": "The tags that have been assigned to this delivery.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + }, + "RecordFields": { + "description": "The list of record fields to be delivered to the destination, in order. If the delivery's log source has mandatory fields, they must be included in this list.", + "type": "array", + "items": { + "$ref": "#/definitions/FieldHeader" + }, + "markdownDescription": "The list of record fields to be delivered to the destination, in order. If the delivery's log source has mandatory fields, they must be included in this list.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + }, + "FieldDelimiter": { + "description": "The field delimiter to use between record fields when the final output format of a delivery is in Plain , W3C , or Raw format.", + "type": "string", + "minLength": 1, + "maxLength": 5, + "markdownDescription": "The field delimiter to use between record fields when the final output format of a delivery is in Plain , W3C , or Raw format.\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 5 \nUpdate requires: No interruption" + }, + "S3SuffixPath": { + "description": "This string allows re-configuring the S3 object prefix to contain either static or variable sections. The valid variables to use in the suffix path will vary by each log source. See ConfigurationTemplate$allowedSuffixPathFields for more info on what values are supported in the suffix path for each log source.", + "type": "string", + "minLength": 0, + "maxLength": 256, + "markdownDescription": "This string allows re-configuring the S3 object prefix to contain either static or variable sections. The valid variables to use in the suffix path will vary by each log source. See ConfigurationTemplate$allowedSuffixPathFields for more info on what values are supported in the suffix path for each log source.\n\n---\n\nRequired: No \nType: String \nMaximum Length: 256 \nUpdate requires: No interruption" + }, + "S3EnableHiveCompatiblePath": { + "description": "This parameter causes the S3 objects that contain delivered logs to use a prefix structure that allows for integration with Apache Hive.", + "type": "boolean", + "markdownDescription": "This parameter causes the S3 objects that contain delivered logs to use a prefix structure that allows for integration with Apache Hive.\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" } }, "additionalProperties": false, diff --git a/server/schema/resources/aws-logs-deliverydestination.json b/server/schema/resources/aws-logs-deliverydestination.json index 01ce74ef..387cb1ad 100644 --- a/server/schema/resources/aws-logs-deliverydestination.json +++ b/server/schema/resources/aws-logs-deliverydestination.json @@ -92,6 +92,13 @@ "$ref": "#/definitions/DestinationPolicy" }, "markdownDescription": "IAM policy that grants permissions to CloudWatch Logs to deliver logs cross-account to a specified destination in this account.\n\nThe policy must be in JSON string format.\n\nLength Constraints: Maximum length of 51200\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "OutputFormat": { + "description": "The format of the logs that are sent to this delivery destination.", + "type": "string", + "minLength": 1, + "maxLength": 12, + "markdownDescription": "The format of the logs that are sent to this delivery destination.\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 12 \nPattern: ^[0-9A-Za-z]+$ \nUpdate requires: Replacement" } }, "additionalProperties": false, @@ -100,6 +107,7 @@ ], "createOnlyProperties": [ "/properties/Name", + "/properties/OutputFormat", "/properties/DestinationResourceArn" ], "readOnlyProperties": [ diff --git a/server/schema/resources/aws-m2-application.json b/server/schema/resources/aws-m2-application.json index 71f492ad..e306020f 100644 --- a/server/schema/resources/aws-m2-application.json +++ b/server/schema/resources/aws-m2-application.json @@ -97,7 +97,6 @@ "cloudFormationSystemTags": false }, "required": [ - "Definition", "EngineType", "Name" ], diff --git a/server/schema/resources/aws-m2-environment.json b/server/schema/resources/aws-m2-environment.json index 9772b9c7..e1391162 100644 --- a/server/schema/resources/aws-m2-environment.json +++ b/server/schema/resources/aws-m2-environment.json @@ -249,7 +249,8 @@ "m2:GetEnvironment", "m2:ListTagsForResource", "m2:TagResource" - ] + ], + "timeoutInMinutes": 120 }, "read": { "permissions": [ @@ -265,14 +266,16 @@ "m2:GetEnvironment", "m2:UpdateEnvironment", "kms:DescribeKey" - ] + ], + "timeoutInMinutes": 120 }, "delete": { "permissions": [ "elasticloadbalancing:DeleteLoadBalancer", "m2:DeleteEnvironment", "m2:GetEnvironment" - ] + ], + "timeoutInMinutes": 120 }, "list": { "permissions": [ diff --git a/server/schema/resources/aws-mediapackage-originendpoint.json b/server/schema/resources/aws-mediapackage-originendpoint.json index c276b61a..d8eb1349 100644 --- a/server/schema/resources/aws-mediapackage-originendpoint.json +++ b/server/schema/resources/aws-mediapackage-originendpoint.json @@ -708,9 +708,13 @@ "tagging": { "taggable": true, "tagOnCreate": true, - "tagUpdatable": false, + "tagUpdatable": true, "cloudFormationSystemTags": false, - "tagProperty": "/properties/Tags" + "tagProperty": "/properties/Tags", + "permissions": [ + "mediapackage:TagResource", + "mediapackage:UntagResource" + ] }, "additionalProperties": false, "required": [ @@ -753,6 +757,10 @@ "update": { "permissions": [ "mediapackage:UpdateOriginEndpoint", + "mediapackage:TagResource", + "mediapackage:ListTagsForResource", + "mediapackage:UntagResource", + "mediapackage:DescribeOriginEndpoint", "iam:PassRole" ] }, diff --git a/server/schema/resources/aws-mediapackagev2-originendpoint.json b/server/schema/resources/aws-mediapackagev2-originendpoint.json index 3914dfec..4c9b1c42 100644 --- a/server/schema/resources/aws-mediapackagev2-originendpoint.json +++ b/server/schema/resources/aws-mediapackagev2-originendpoint.json @@ -201,6 +201,12 @@ "minimum": 0, "description": "

Optionally specify the time delay for all of your manifest egress requests. Enter a value that is smaller than your endpoint's startover window. When you include time delay, note that you cannot use time delay query parameters for this manifest's endpoint URL.

", "markdownDescription": "

Optionally specify the time delay for all of your manifest egress requests. Enter a value that is smaller than your endpoint's startover window. When you include time delay, note that you cannot use time delay query parameters for this manifest's endpoint URL.

\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" + }, + "ClipStartTime": { + "type": "string", + "description": "

Optionally specify the clip start time for all of your manifest egress requests. When you include clip start time, note that you cannot use clip start time query parameters for this manifest's endpoint URL.

", + "format": "date-time", + "markdownDescription": "

Optionally specify the clip start time for all of your manifest egress requests. When you include clip start time, note that you cannot use clip start time query parameters for this manifest's endpoint URL.

\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" } }, "additionalProperties": false, @@ -323,6 +329,9 @@ }, "FilterConfiguration": { "$ref": "#/definitions/FilterConfiguration" + }, + "StartTag": { + "$ref": "#/definitions/StartTag" } }, "required": [ @@ -369,6 +378,9 @@ }, "FilterConfiguration": { "$ref": "#/definitions/FilterConfiguration" + }, + "StartTag": { + "$ref": "#/definitions/StartTag" } }, "required": [ @@ -551,6 +563,27 @@ "additionalProperties": false, "markdownDescription": "

The parameters for the SPEKE key provider.

\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, + "StartTag": { + "type": "object", + "description": "

To insert an EXT-X-START tag in your HLS playlist, specify a StartTag configuration object with a valid TimeOffset. When you do, you can also optionally specify whether to include a PRECISE value in the EXT-X-START tag.

", + "properties": { + "TimeOffset": { + "type": "number", + "description": "

Specify the value for TIME-OFFSET within your EXT-X-START tag. Enter a signed floating point value which, if positive, must be less than the configured manifest duration minus three times the configured segment target duration. If negative, the absolute value must be larger than three times the configured segment target duration, and the absolute value must be smaller than the configured manifest duration.

", + "markdownDescription": "

Specify the value for TIME-OFFSET within your EXT-X-START tag. Enter a signed floating point value which, if positive, must be less than the configured manifest duration minus three times the configured segment target duration. If negative, the absolute value must be larger than three times the configured segment target duration, and the absolute value must be smaller than the configured manifest duration.

\n\n---\n\nRequired: Yes \nType: Number \nUpdate requires: No interruption" + }, + "Precise": { + "type": "boolean", + "description": "

Specify the value for PRECISE within your EXT-X-START tag. Leave blank, or choose false, to use the default value NO. Choose yes to use the value YES.

", + "markdownDescription": "

Specify the value for PRECISE within your EXT-X-START tag. Leave blank, or choose false, to use the default value NO. Choose yes to use the value YES.

\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" + } + }, + "required": [ + "TimeOffset" + ], + "additionalProperties": false, + "markdownDescription": "

To insert an EXT-X-START tag in your HLS playlist, specify a StartTag configuration object with a valid TimeOffset. When you do, you can also optionally specify whether to include a PRECISE value in the EXT-X-START tag.

\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, "TsEncryptionMethod": { "type": "string", "enum": [ diff --git a/server/schema/resources/aws-memorydb-cluster.json b/server/schema/resources/aws-memorydb-cluster.json index de285064..5c28b22a 100644 --- a/server/schema/resources/aws-memorydb-cluster.json +++ b/server/schema/resources/aws-memorydb-cluster.json @@ -2,7 +2,6 @@ "typeName": "AWS::MemoryDB::Cluster", "description": "The AWS::MemoryDB::Cluster resource creates an Amazon MemoryDB Cluster.", "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-memorydb", - "taggable": true, "definitions": { "Endpoint": { "type": "object", @@ -175,6 +174,11 @@ "type": "string", "markdownDescription": "The user-supplied name of a final cluster snapshot. This is the unique name that identifies the snapshot. MemoryDB creates the snapshot, and then deletes the cluster immediately afterward.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, + "Engine": { + "description": "The engine type used by the cluster.", + "type": "string", + "markdownDescription": "The engine type used by the cluster.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, "EngineVersion": { "description": "The Redis engine version used by the cluster.", "type": "string", @@ -202,6 +206,18 @@ "markdownDescription": "An array of key-value pairs to apply to this cluster.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" } }, + "tagging": { + "taggable": true, + "tagOnCreate": true, + "tagUpdatable": true, + "cloudFormationSystemTags": true, + "tagProperty": "/properties/Tags", + "permissions": [ + "memorydb:TagResource", + "memorydb:ListTags", + "memorydb:UntagResource" + ] + }, "additionalProperties": false, "readOnlyProperties": [ "/properties/Status", @@ -236,8 +252,11 @@ "handlers": { "create": { "permissions": [ + "kms:DescribeKey", + "kms:CreateGrant", "memorydb:CreateCluster", "memorydb:DescribeClusters", + "memorydb:TagResource", "memorydb:ListTags" ] }, @@ -254,7 +273,8 @@ "memorydb:ListTags", "memorydb:TagResource", "memorydb:UntagResource" - ] + ], + "timeoutInMinutes": 2160 }, "delete": { "permissions": [ diff --git a/server/schema/resources/aws-msk-cluster.json b/server/schema/resources/aws-msk-cluster.json index 07db740d..fdcc679f 100644 --- a/server/schema/resources/aws-msk-cluster.json +++ b/server/schema/resources/aws-msk-cluster.json @@ -597,7 +597,12 @@ "tagOnCreate": true, "tagUpdatable": true, "cloudFormationSystemTags": true, - "tagProperty": "/properties/Tags" + "tagProperty": "/properties/Tags", + "permissions": [ + "kafka:TagResource", + "kafka:UntagResource", + "kafka:ListTagsForResource" + ] }, "handlers": { "create": { diff --git a/server/schema/resources/aws-msk-vpcconnection.json b/server/schema/resources/aws-msk-vpcconnection.json index b226a31c..34e402e6 100644 --- a/server/schema/resources/aws-msk-vpcconnection.json +++ b/server/schema/resources/aws-msk-vpcconnection.json @@ -99,7 +99,12 @@ "tagOnCreate": true, "tagUpdatable": true, "cloudFormationSystemTags": true, - "tagProperty": "/properties/Tags" + "tagProperty": "/properties/Tags", + "permissions": [ + "kafka:TagResource", + "kafka:UntagResource", + "kafka:ListTagsForResource" + ] }, "handlers": { "create": { diff --git a/server/schema/resources/aws-mwaa-environment.json b/server/schema/resources/aws-mwaa-environment.json index 3dbe58e9..43e513f8 100644 --- a/server/schema/resources/aws-mwaa-environment.json +++ b/server/schema/resources/aws-mwaa-environment.json @@ -188,13 +188,13 @@ "MaxWebservers": { "type": "integer", "description": "Maximum webserver compute units.", - "minimum": 2, + "minimum": 1, "markdownDescription": "Maximum webserver compute units.\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" }, "MinWebservers": { "type": "integer", "description": "Minimum webserver compute units.", - "minimum": 2, + "minimum": 1, "markdownDescription": "Minimum webserver compute units.\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" }, "Schedulers": { diff --git a/server/schema/resources/aws-networkfirewall-firewallpolicy.json b/server/schema/resources/aws-networkfirewall-firewallpolicy.json index 6ddaf826..c176fd91 100644 --- a/server/schema/resources/aws-networkfirewall-firewallpolicy.json +++ b/server/schema/resources/aws-networkfirewall-firewallpolicy.json @@ -281,6 +281,19 @@ }, "StreamExceptionPolicy": { "$ref": "#/definitions/StreamExceptionPolicy" + }, + "FlowTimeouts": { + "type": "object", + "properties": { + "TcpIdleTimeoutSeconds": { + "type": "integer", + "minimum": 60, + "maximum": 6000, + "markdownDescription": "\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" + } + }, + "additionalProperties": false, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" } }, "additionalProperties": false, diff --git a/server/schema/resources/aws-nimblestudio-launchprofile.json b/server/schema/resources/aws-nimblestudio-launchprofile.json index 39defcaf..c9c1b9ae 100644 --- a/server/schema/resources/aws-nimblestudio-launchprofile.json +++ b/server/schema/resources/aws-nimblestudio-launchprofile.json @@ -1,315 +1,200 @@ { "typeName": "AWS::NimbleStudio::LaunchProfile", - "description": "Represents a launch profile which delegates access to a collection of studio components to studio users", - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-nimblestudio", - "definitions": { - "AutomaticTerminationMode": { + "description": "Resource Type definition for AWS::NimbleStudio::LaunchProfile", + "additionalProperties": false, + "properties": { + "Description": { "type": "string", - "enum": [ - "DEACTIVATED", - "ACTIVATED" - ], - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: DEACTIVATED | ACTIVATED \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, - "SessionBackupMode": { - "type": "string", - "enum": [ - "AUTOMATIC", - "DEACTIVATED" - ], - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: AUTOMATIC | DEACTIVATED \nUpdate requires: No interruption" + "Ec2SubnetIds": { + "type": "array", + "uniqueItems": false, + "items": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: Array \nUpdate requires: Replacement" }, - "SessionPersistenceMode": { - "type": "string", - "enum": [ - "DEACTIVATED", - "ACTIVATED" - ], - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: DEACTIVATED | ACTIVATED \nUpdate requires: No interruption" + "StudioComponentIds": { + "type": "array", + "uniqueItems": false, + "items": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: Array \nUpdate requires: No interruption" }, "StreamConfiguration": { + "$ref": "#/definitions/StreamConfiguration" + }, + "LaunchProfileProtocolVersions": { + "type": "array", + "uniqueItems": false, + "items": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: Array \nUpdate requires: No interruption" + }, + "StudioId": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: Replacement" + }, + "Tags": { + "type": "object", + "patternProperties": { + "[a-zA-Z0-9]+": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + } + }, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: Replacement" + }, + "Name": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" + } + }, + "definitions": { + "StreamingSessionStorageRoot": { "type": "object", - "description": "

A configuration for a streaming session.

", + "additionalProperties": false, "properties": { - "ClipboardMode": { - "$ref": "#/definitions/StreamingClipboardMode" + "Linux": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, - "Ec2InstanceTypes": { - "type": "array", - "items": { - "$ref": "#/definitions/StreamingInstanceType" - }, - "maxItems": 30, - "minItems": 1, - "description": "

The EC2 instance types that users can select from when launching a streaming session\n with this launch profile.

", - "markdownDescription": "

The EC2 instance types that users can select from when launching a streaming session\n with this launch profile.

\n\n---\n\nRequired: Yes \nType: Array \nUpdate requires: No interruption" + "Windows": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + } + }, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "StreamConfigurationSessionBackup": { + "type": "object", + "additionalProperties": false, + "properties": { + "Mode": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, + "MaxBackupsToRetain": { + "type": "number", + "markdownDescription": "\n\n---\n\nRequired: No \nType: Number \nUpdate requires: No interruption" + } + }, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "StreamConfiguration": { + "type": "object", + "additionalProperties": false, + "properties": { "MaxSessionLengthInMinutes": { "type": "number", - "default": 690, - "maximum": 43200, - "minimum": 1, - "description": "

The length of time, in minutes, that a streaming session can be active before it is\n stopped or terminated. After this point, Nimble Studio automatically terminates or\n stops the session. The default length of time is 690 minutes, and the maximum length of\n time is 30 days.

", - "markdownDescription": "

The length of time, in minutes, that a streaming session can be active before it is\n stopped or terminated. After this point, Nimble Studio automatically terminates or\n stops the session. The default length of time is 690 minutes, and the maximum length of\n time is 30 days.

\n\n---\n\nRequired: No \nType: Number \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: No \nType: Number \nUpdate requires: No interruption" + }, + "ClipboardMode": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" }, "StreamingImageIds": { "type": "array", + "uniqueItems": false, "items": { "type": "string", - "maxLength": 22, - "minLength": 0, - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMaximum Length: 22 \nPattern: ^[a-zA-Z0-9-_]*$ \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, - "maxItems": 20, - "minItems": 1, - "description": "

The streaming images that users can select from when launching a streaming session\n with this launch profile.

", - "markdownDescription": "

The streaming images that users can select from when launching a streaming session\n with this launch profile.

\n\n---\n\nRequired: Yes \nType: Array \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: Array \nUpdate requires: No interruption" }, "MaxStoppedSessionLengthInMinutes": { "type": "number", - "default": 0, - "maximum": 5760, - "minimum": 0, - "description": "

Integer that determines if you can start and stop your sessions and how long a session\n can stay in the STOPPED state. The default value is 0. The maximum value is\n 5760.

\n

This field is allowed only when sessionPersistenceMode is\n ACTIVATED and automaticTerminationMode is\n ACTIVATED.

\n

If the value is set to 0, your sessions can\u2019t be STOPPED. If you then\n call StopStreamingSession, the session fails. If the time that a session\n stays in the READY state exceeds the maxSessionLengthInMinutes\n value, the session will automatically be terminated (instead of\n STOPPED).

\n

If the value is set to a positive number, the session can be stopped. You can call\n StopStreamingSession to stop sessions in the READY state.\n If the time that a session stays in the READY state exceeds the\n maxSessionLengthInMinutes value, the session will automatically be\n stopped (instead of terminated).

", - "markdownDescription": "

Integer that determines if you can start and stop your sessions and how long a session\n can stay in the STOPPED state. The default value is 0. The maximum value is\n 5760.

\n

This field is allowed only when sessionPersistenceMode is\n ACTIVATED and automaticTerminationMode is\n ACTIVATED.

\n

If the value is set to 0, your sessions can\u2019t be STOPPED. If you then\n call StopStreamingSession, the session fails. If the time that a session\n stays in the READY state exceeds the maxSessionLengthInMinutes\n value, the session will automatically be terminated (instead of\n STOPPED).

\n

If the value is set to a positive number, the session can be stopped. You can call\n StopStreamingSession to stop sessions in the READY state.\n If the time that a session stays in the READY state exceeds the\n maxSessionLengthInMinutes value, the session will automatically be\n stopped (instead of terminated).

\n\n---\n\nRequired: No \nType: Number \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: No \nType: Number \nUpdate requires: No interruption" }, - "SessionStorage": { - "$ref": "#/definitions/StreamConfigurationSessionStorage" + "SessionPersistenceMode": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "AutomaticTerminationMode": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, "SessionBackup": { "$ref": "#/definitions/StreamConfigurationSessionBackup" }, - "SessionPersistenceMode": { - "$ref": "#/definitions/SessionPersistenceMode" + "Ec2InstanceTypes": { + "type": "array", + "uniqueItems": false, + "items": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: Array \nUpdate requires: No interruption" + }, + "SessionStorage": { + "$ref": "#/definitions/StreamConfigurationSessionStorage" }, "VolumeConfiguration": { "$ref": "#/definitions/VolumeConfiguration" - }, - "AutomaticTerminationMode": { - "$ref": "#/definitions/AutomaticTerminationMode" } }, "required": [ "ClipboardMode", - "Ec2InstanceTypes", - "StreamingImageIds" + "StreamingImageIds", + "Ec2InstanceTypes" ], - "additionalProperties": false, - "markdownDescription": "

A configuration for a streaming session.

\n\n---\n\nRequired: No \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, - "StreamConfigurationSessionBackup": { + "VolumeConfiguration": { "type": "object", - "description": "

Configures how streaming sessions are backed up when launched from this launch\n profile.

", + "additionalProperties": false, "properties": { - "Mode": { - "$ref": "#/definitions/SessionBackupMode" + "Throughput": { + "type": "number", + "markdownDescription": "\n\n---\n\nRequired: No \nType: Number \nUpdate requires: No interruption" }, - "MaxBackupsToRetain": { + "Iops": { "type": "number", - "default": 0, - "maximum": 10, - "minimum": 0, - "description": "

The maximum number of backups that each streaming session created from this launch\n profile can have.

", - "markdownDescription": "

The maximum number of backups that each streaming session created from this launch\n profile can have.

\n\n---\n\nRequired: No \nType: Number \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: No \nType: Number \nUpdate requires: No interruption" + }, + "Size": { + "type": "number", + "markdownDescription": "\n\n---\n\nRequired: No \nType: Number \nUpdate requires: No interruption" } }, - "additionalProperties": false, - "markdownDescription": "

Configures how streaming sessions are backed up when launched from this launch\n profile.

\n\n---\n\nRequired: No \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, "StreamConfigurationSessionStorage": { "type": "object", - "description": "

The configuration for a streaming session\u2019s upload storage.

", + "additionalProperties": false, "properties": { "Root": { "$ref": "#/definitions/StreamingSessionStorageRoot" }, "Mode": { "type": "array", + "uniqueItems": false, "items": { - "$ref": "#/definitions/StreamingSessionStorageMode" + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, - "minItems": 1, - "description": "

Allows artists to upload files to their workstations. The only valid option is\n UPLOAD.

", - "markdownDescription": "

Allows artists to upload files to their workstations. The only valid option is\n UPLOAD.

\n\n---\n\nRequired: Yes \nType: Array \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: Array \nUpdate requires: No interruption" } }, "required": [ "Mode" ], - "additionalProperties": false, - "markdownDescription": "

The configuration for a streaming session\u2019s upload storage.

\n\n---\n\nRequired: No \nUpdate requires: No interruption" - }, - "StreamingClipboardMode": { - "type": "string", - "enum": [ - "ENABLED", - "DISABLED" - ], - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: ENABLED | DISABLED \nUpdate requires: No interruption" - }, - "StreamingInstanceType": { - "type": "string", - "enum": [ - "g4dn.xlarge", - "g4dn.2xlarge", - "g4dn.4xlarge", - "g4dn.8xlarge", - "g4dn.12xlarge", - "g4dn.16xlarge", - "g3.4xlarge", - "g3s.xlarge", - "g5.xlarge", - "g5.2xlarge", - "g5.4xlarge", - "g5.8xlarge", - "g5.16xlarge" - ], - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: g4dn.xlarge | g4dn.2xlarge | g4dn.4xlarge | g4dn.8xlarge | g4dn.12xlarge | g4dn.16xlarge | g3.4xlarge | g3s.xlarge | g5.xlarge | g5.2xlarge | g5.4xlarge | g5.8xlarge | g5.16xlarge \nUpdate requires: No interruption" - }, - "StreamingSessionStorageMode": { - "type": "string", - "enum": [ - "UPLOAD" - ], - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: UPLOAD \nUpdate requires: No interruption" - }, - "StreamingSessionStorageRoot": { - "type": "object", - "description": "

The upload storage root location (folder) on streaming workstations where files are\n uploaded.

", - "properties": { - "Linux": { - "type": "string", - "maxLength": 128, - "minLength": 1, - "description": "

The folder path in Linux workstations where files are uploaded.

", - "markdownDescription": "

The folder path in Linux workstations where files are uploaded.

\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 128 \nPattern: ^(\\$HOME|/)[/]?([A-Za-z0-9-_]+/)*([A-Za-z0-9_-]+)$ \nUpdate requires: No interruption" - }, - "Windows": { - "type": "string", - "maxLength": 128, - "minLength": 1, - "description": "

The folder path in Windows workstations where files are uploaded.

", - "markdownDescription": "

The folder path in Windows workstations where files are uploaded.

\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 128 \nPattern: ^((\\%HOMEPATH\\%)|[a-zA-Z]:)[\\\\/](?:[a-zA-Z0-9_-]+[\\\\/])*[a-zA-Z0-9_-]+$ \nUpdate requires: No interruption" - } - }, - "additionalProperties": false, - "markdownDescription": "

The upload storage root location (folder) on streaming workstations where files are\n uploaded.

\n\n---\n\nRequired: No \nUpdate requires: No interruption" - }, - "Tags": { - "type": "object", - "patternProperties": { - ".+": { - "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" - } - }, - "additionalProperties": false, "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" - }, - "VolumeConfiguration": { - "type": "object", - "description": "

Custom volume configuration for the root volumes that are attached to streaming\n sessions.

\n

This parameter is only allowed when sessionPersistenceMode is\n ACTIVATED.

", - "properties": { - "Size": { - "type": "number", - "default": 500, - "maximum": 16000, - "minimum": 100, - "description": "

The size of the root volume that is attached to the streaming session. The root volume\n size is measured in GiBs.

", - "markdownDescription": "

The size of the root volume that is attached to the streaming session. The root volume\n size is measured in GiBs.

\n\n---\n\nRequired: No \nType: Number \nUpdate requires: No interruption" - }, - "Throughput": { - "type": "number", - "default": 125, - "maximum": 1000, - "minimum": 125, - "description": "

The throughput to provision for the root volume that is attached to the streaming\n session. The throughput is measured in MiB/s.

", - "markdownDescription": "

The throughput to provision for the root volume that is attached to the streaming\n session. The throughput is measured in MiB/s.

\n\n---\n\nRequired: No \nType: Number \nUpdate requires: No interruption" - }, - "Iops": { - "type": "number", - "default": 3000, - "maximum": 16000, - "minimum": 3000, - "description": "

The number of I/O operations per second for the root volume that is attached to\n streaming session.

", - "markdownDescription": "

The number of I/O operations per second for the root volume that is attached to\n streaming session.

\n\n---\n\nRequired: No \nType: Number \nUpdate requires: No interruption" - } - }, - "additionalProperties": false, - "markdownDescription": "

Custom volume configuration for the root volumes that are attached to streaming\n sessions.

\n

This parameter is only allowed when sessionPersistenceMode is\n ACTIVATED.

\n\n---\n\nRequired: No \nUpdate requires: No interruption" - } - }, - "properties": { - "Description": { - "type": "string", - "maxLength": 256, - "minLength": 0, - "description": "

The description.

", - "markdownDescription": "

The description.

\n\n---\n\nRequired: No \nType: String \nMaximum Length: 256 \nUpdate requires: No interruption" - }, - "Ec2SubnetIds": { - "type": "array", - "items": { - "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" - }, - "maxItems": 6, - "minItems": 0, - "description": "

Specifies the IDs of the EC2 subnets where streaming sessions will be accessible from.\n These subnets must support the specified instance types.

", - "markdownDescription": "

Specifies the IDs of the EC2 subnets where streaming sessions will be accessible from.\n These subnets must support the specified instance types.

\n\n---\n\nRequired: Yes \nType: Array \nUpdate requires: Replacement" - }, - "LaunchProfileProtocolVersions": { - "type": "array", - "items": { - "type": "string", - "maxLength": 10, - "minLength": 0, - "description": "

The version number of the protocol that is used by the launch profile. The only valid\n version is \"2021-03-31\".

", - "markdownDescription": "

The version number of the protocol that is used by the launch profile. The only valid\n version is \"2021-03-31\".

\n\n---\n\nRequired: No \nType: String \nMaximum Length: 10 \nPattern: ^2021\\-03\\-31$ \nUpdate requires: No interruption" - }, - "description": "

The version number of the protocol that is used by the launch profile. The only valid\n version is \"2021-03-31\".

", - "markdownDescription": "

The version number of the protocol that is used by the launch profile. The only valid\n version is \"2021-03-31\".

\n\n---\n\nRequired: Yes \nType: Array \nUpdate requires: No interruption" - }, - "Name": { - "type": "string", - "maxLength": 64, - "minLength": 1, - "description": "

The name for the launch profile.

", - "markdownDescription": "

The name for the launch profile.

\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 64 \nUpdate requires: No interruption" - }, - "StreamConfiguration": { - "$ref": "#/definitions/StreamConfiguration" - }, - "StudioComponentIds": { - "type": "array", - "items": { - "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" - }, - "maxItems": 100, - "minItems": 1, - "description": "

Unique identifiers for a collection of studio components that can be used with this\n launch profile.

", - "markdownDescription": "

Unique identifiers for a collection of studio components that can be used with this\n launch profile.

\n\n---\n\nRequired: Yes \nType: Array \nUpdate requires: No interruption" - }, - "StudioId": { - "type": "string", - "description": "

The studio ID.

", - "markdownDescription": "

The studio ID.

\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: Replacement" - }, - "Tags": { - "$ref": "#/definitions/Tags" } }, "required": [ - "StudioId", - "Name", - "StudioComponentIds", "Ec2SubnetIds", + "StudioComponentIds", "StreamConfiguration", - "LaunchProfileProtocolVersions" - ], - "readOnlyProperties": [ - "/properties/LaunchProfileId" + "LaunchProfileProtocolVersions", + "StudioId", + "Name" ], "createOnlyProperties": [ "/properties/Ec2SubnetIds", @@ -317,60 +202,11 @@ "/properties/Tags" ], "primaryIdentifier": [ - "/properties/LaunchProfileId", - "/properties/StudioId" + "/properties/LaunchProfileId" + ], + "readOnlyProperties": [ + "/properties/LaunchProfileId" ], - "handlers": { - "create": { - "permissions": [ - "nimble:CreateLaunchProfile", - "nimble:GetLaunchProfile", - "nimble:TagResource", - "ec2:CreateNetworkInterface", - "ec2:CreateNetworkInterfacePermission", - "ec2:RunInstances", - "ec2:DescribeSubnets" - ] - }, - "read": { - "permissions": [ - "nimble:GetLaunchProfile" - ] - }, - "update": { - "permissions": [ - "nimble:UpdateLaunchProfile", - "nimble:GetLaunchProfile", - "ec2:CreateNetworkInterface", - "ec2:CreateNetworkInterfacePermission", - "ec2:DescribeSubnets", - "ec2:RunInstances" - ] - }, - "delete": { - "permissions": [ - "nimble:DeleteLaunchProfile", - "nimble:GetLaunchProfile", - "nimble:UntagResource" - ] - }, - "list": { - "handlerSchema": { - "properties": { - "StudioId": { - "$ref": "resource-schema.json#/properties/StudioId" - } - }, - "required": [ - "StudioId" - ] - }, - "permissions": [ - "nimble:ListLaunchProfiles" - ] - } - }, - "additionalProperties": false, "attributes": { "LaunchProfileId": { "type": "string", diff --git a/server/schema/resources/aws-nimblestudio-streamingimage.json b/server/schema/resources/aws-nimblestudio-streamingimage.json index d3103e12..e0bb2353 100644 --- a/server/schema/resources/aws-nimblestudio-streamingimage.json +++ b/server/schema/resources/aws-nimblestudio-streamingimage.json @@ -1,186 +1,105 @@ { "typeName": "AWS::NimbleStudio::StreamingImage", - "description": "Represents a streaming session machine image that can be used to launch a streaming session", - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-nimblestudio", + "description": "Resource Type definition for AWS::NimbleStudio::StreamingImage", + "additionalProperties": false, + "properties": { + "Description": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "EncryptionConfigurationKeyType": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "Ec2ImageId": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: Replacement" + }, + "StudioId": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: Replacement" + }, + "EncryptionConfigurationKeyArn": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "Tags": { + "type": "object", + "patternProperties": { + "[a-zA-Z0-9]+": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + } + }, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: Replacement" + }, + "Name": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" + } + }, "definitions": { "StreamingImageEncryptionConfiguration": { "type": "object", - "description": "

TODO

", + "additionalProperties": false, "properties": { "KeyType": { - "$ref": "#/definitions/StreamingImageEncryptionConfigurationKeyType" + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" }, "KeyArn": { "type": "string", - "minLength": 4, - "description": "

The ARN for a KMS key that is used to encrypt studio data.

", - "markdownDescription": "

The ARN for a KMS key that is used to encrypt studio data.

\n\n---\n\nRequired: No \nType: String \nMinimum Length: 4 \nPattern: ^arn:.* \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" } }, "required": [ "KeyType" ], - "additionalProperties": false, - "markdownDescription": "

TODO

\n\n---\n\nRequired: No \nUpdate requires: No interruption" - }, - "StreamingImageEncryptionConfigurationKeyType": { - "type": "string", - "description": "

", - "enum": [ - "CUSTOMER_MANAGED_KEY" - ], - "markdownDescription": "

\n\n---\n\nRequired: No \nType: String \nAllowed Values: CUSTOMER_MANAGED_KEY \nUpdate requires: No interruption" - }, - "Tags": { - "type": "object", - "description": "", - "patternProperties": { - ".+": { - "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" - } - }, - "additionalProperties": false, "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" } }, - "properties": { - "Description": { - "type": "string", - "maxLength": 256, - "minLength": 0, - "description": "

A human-readable description of the streaming image.

", - "markdownDescription": "

A human-readable description of the streaming image.

\n\n---\n\nRequired: No \nType: String \nMaximum Length: 256 \nUpdate requires: No interruption" - }, - "Ec2ImageId": { - "type": "string", - "description": "

The ID of an EC2 machine image with which to create this streaming image.

", - "markdownDescription": "

The ID of an EC2 machine image with which to create this streaming image.

\n\n---\n\nRequired: Yes \nType: String \nPattern: ^ami-[0-9A-z]+$ \nUpdate requires: Replacement" - }, - "Name": { - "type": "string", - "maxLength": 64, - "minLength": 0, - "description": "

A friendly name for a streaming image resource.

", - "markdownDescription": "

A friendly name for a streaming image resource.

\n\n---\n\nRequired: Yes \nType: String \nMaximum Length: 64 \nUpdate requires: No interruption" - }, - "StudioId": { - "type": "string", - "description": "

The studioId.

", - "markdownDescription": "

The studioId.

\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: Replacement" - }, - "Tags": { - "$ref": "#/definitions/Tags" - } - }, - "readOnlyProperties": [ - "/properties/EncryptionConfiguration", - "/properties/EulaIds", - "/properties/Owner", - "/properties/Platform", - "/properties/StreamingImageId" + "required": [ + "Ec2ImageId", + "StudioId", + "Name" ], "createOnlyProperties": [ - "/properties/Ec2ImageId", "/properties/StudioId", - "/properties/Tags" + "/properties/Tags", + "/properties/Ec2ImageId" ], "primaryIdentifier": [ - "/properties/StudioId", "/properties/StreamingImageId" ], - "required": [ - "StudioId", - "Ec2ImageId", - "Name" + "readOnlyProperties": [ + "/properties/Platform", + "/properties/EulaIds", + "/properties/Owner", + "/properties/EncryptionConfiguration.KeyArn", + "/properties/EncryptionConfiguration", + "/properties/EncryptionConfiguration.KeyType", + "/properties/StreamingImageId" ], - "handlers": { - "create": { - "permissions": [ - "nimble:CreateStreamingImage", - "nimble:GetStreamingImage", - "nimble:TagResource", - "ec2:DescribeImages", - "ec2:DescribeSnapshots", - "ec2:ModifyInstanceAttribute", - "ec2:ModifySnapshotAttribute", - "ec2:ModifyImageAttribute", - "ec2:RegisterImage", - "kms:Encrypt", - "kms:Decrypt", - "kms:CreateGrant", - "kms:ListGrants", - "kms:GenerateDataKey" - ] - }, - "read": { - "permissions": [ - "nimble:GetStreamingImage" - ] - }, - "update": { - "permissions": [ - "nimble:UpdateStreamingImage", - "nimble:GetStreamingImage", - "kms:Encrypt", - "kms:Decrypt", - "kms:CreateGrant", - "kms:ListGrants", - "kms:GenerateDataKey" - ] + "attributes": { + "Owner": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, - "delete": { - "permissions": [ - "nimble:DeleteStreamingImage", - "nimble:GetStreamingImage", - "nimble:UntagResource", - "ec2:ModifyInstanceAttribute", - "ec2:ModifySnapshotAttribute", - "ec2:DeregisterImage", - "ec2:DeleteSnapshot", - "kms:ListGrants", - "kms:RetireGrant" - ] + "Platform": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, - "list": { - "handlerSchema": { - "properties": { - "StudioId": { - "$ref": "resource-schema.json#/properties/StudioId" - } - }, - "required": [ - "StudioId" - ] - }, - "permissions": [ - "nimble:ListStreamingImages" - ] - } - }, - "additionalProperties": false, - "attributes": { "EncryptionConfiguration": { "$ref": "#/definitions/StreamingImageEncryptionConfiguration" }, "EulaIds": { "type": "array", + "uniqueItems": false, "items": { "type": "string", "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, - "description": "

The list of EULAs that must be accepted before a Streaming Session can be started using this streaming image.

", - "markdownDescription": "

The list of EULAs that must be accepted before a Streaming Session can be started using this streaming image.

\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" - }, - "Owner": { - "type": "string", - "description": "

The owner of the streaming image, either the studioId that contains the streaming image, or 'amazon' for images that are provided by Amazon Nimble Studio.

", - "markdownDescription": "

The owner of the streaming image, either the studioId that contains the streaming image, or 'amazon' for images that are provided by Amazon Nimble Studio.

\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" - }, - "Platform": { - "type": "string", - "description": "

The platform of the streaming image, either WINDOWS or LINUX.

", - "markdownDescription": "

The platform of the streaming image, either WINDOWS or LINUX.

\n\n---\n\nRequired: No \nType: String \nPattern: ^[a-zA-Z]*$ \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" }, "StreamingImageId": { "type": "string", diff --git a/server/schema/resources/aws-nimblestudio-studio.json b/server/schema/resources/aws-nimblestudio-studio.json index 4117d3e9..caecf6d4 100644 --- a/server/schema/resources/aws-nimblestudio-studio.json +++ b/server/schema/resources/aws-nimblestudio-studio.json @@ -1,87 +1,63 @@ { "typeName": "AWS::NimbleStudio::Studio", - "description": "Represents a studio that contains other Nimble Studio resources", - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-nimblestudio", + "description": "Resource Type definition for AWS::NimbleStudio::Studio", + "additionalProperties": false, + "properties": { + "UserRoleArn": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" + }, + "DisplayName": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" + }, + "StudioName": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: Replacement" + }, + "AdminRoleArn": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" + }, + "StudioEncryptionConfiguration": { + "$ref": "#/definitions/StudioEncryptionConfiguration" + }, + "Tags": { + "type": "object", + "patternProperties": { + "[a-zA-Z0-9]+": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + } + }, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: Replacement" + } + }, "definitions": { "StudioEncryptionConfiguration": { "type": "object", - "description": "

Configuration of the encryption method that is used for the studio.

", + "additionalProperties": false, "properties": { "KeyType": { - "$ref": "#/definitions/StudioEncryptionConfigurationKeyType" + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" }, "KeyArn": { "type": "string", - "minLength": 4, - "description": "

The ARN for a KMS key that is used to encrypt studio data.

", - "markdownDescription": "

The ARN for a KMS key that is used to encrypt studio data.

\n\n---\n\nRequired: No \nType: String \nMinimum Length: 4 \nPattern: ^arn:.* \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" } }, "required": [ "KeyType" ], - "additionalProperties": false, - "markdownDescription": "

Configuration of the encryption method that is used for the studio.

\n\n---\n\nRequired: No \nUpdate requires: No interruption" - }, - "StudioEncryptionConfigurationKeyType": { - "type": "string", - "description": "

The type of KMS key that is used to encrypt studio data.

", - "enum": [ - "AWS_OWNED_KEY", - "CUSTOMER_MANAGED_KEY" - ], - "markdownDescription": "

The type of KMS key that is used to encrypt studio data.

\n\n---\n\nRequired: No \nType: String \nAllowed Values: AWS_OWNED_KEY | CUSTOMER_MANAGED_KEY \nUpdate requires: No interruption" - }, - "Tags": { - "type": "object", - "description": "", - "patternProperties": { - ".+": { - "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" - } - }, - "additionalProperties": false, "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" } }, - "properties": { - "AdminRoleArn": { - "type": "string", - "description": "

The IAM role that Studio Admins will assume when logging in to the Nimble Studio portal.

", - "markdownDescription": "

The IAM role that Studio Admins will assume when logging in to the Nimble Studio portal.

\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" - }, - "DisplayName": { - "type": "string", - "maxLength": 64, - "minLength": 0, - "description": "

A friendly name for the studio.

", - "markdownDescription": "

A friendly name for the studio.

\n\n---\n\nRequired: Yes \nType: String \nMaximum Length: 64 \nUpdate requires: No interruption" - }, - "StudioEncryptionConfiguration": { - "$ref": "#/definitions/StudioEncryptionConfiguration" - }, - "StudioName": { - "type": "string", - "maxLength": 64, - "minLength": 3, - "description": "

The studio name that is used in the URL of the Nimble Studio portal when accessed by Nimble Studio users.

", - "markdownDescription": "

The studio name that is used in the URL of the Nimble Studio portal when accessed by Nimble Studio users.

\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 3 \nMaximum Length: 64 \nPattern: ^[a-z0-9]*$ \nUpdate requires: Replacement" - }, - "Tags": { - "$ref": "#/definitions/Tags" - }, - "UserRoleArn": { - "type": "string", - "description": "

The IAM role that Studio Users will assume when logging in to the Nimble Studio portal.

", - "markdownDescription": "

The IAM role that Studio Users will assume when logging in to the Nimble Studio portal.

\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" - } - }, - "readOnlyProperties": [ - "/properties/HomeRegion", - "/properties/SsoClientId", - "/properties/StudioId", - "/properties/StudioUrl" + "required": [ + "UserRoleArn", + "DisplayName", + "StudioName", + "AdminRoleArn" ], "createOnlyProperties": [ "/properties/StudioName", @@ -90,90 +66,28 @@ "primaryIdentifier": [ "/properties/StudioId" ], - "required": [ - "DisplayName", - "UserRoleArn", - "AdminRoleArn", - "StudioName" + "readOnlyProperties": [ + "/properties/StudioId", + "/properties/HomeRegion", + "/properties/SsoClientId", + "/properties/StudioUrl" ], - "handlers": { - "create": { - "permissions": [ - "iam:PassRole", - "nimble:CreateStudio", - "nimble:GetStudio", - "nimble:TagResource", - "sso:CreateManagedApplicationInstance", - "kms:Encrypt", - "kms:Decrypt", - "kms:CreateGrant", - "kms:ListGrants", - "kms:GenerateDataKey" - ] - }, - "read": { - "permissions": [ - "nimble:GetStudio", - "kms:Encrypt", - "kms:Decrypt", - "kms:ListGrants", - "kms:GenerateDataKey" - ] - }, - "update": { - "permissions": [ - "iam:PassRole", - "nimble:UpdateStudio", - "nimble:GetStudio", - "kms:Encrypt", - "kms:Decrypt", - "kms:CreateGrant", - "kms:ListGrants", - "kms:GenerateDataKey" - ] - }, - "delete": { - "permissions": [ - "nimble:DeleteStudio", - "nimble:GetStudio", - "nimble:UntagResource", - "kms:Encrypt", - "kms:Decrypt", - "kms:ListGrants", - "kms:RetireGrant", - "kms:GenerateDataKey", - "sso:DeleteManagedApplicationInstance", - "sso:GetManagedApplicationInstance" - ] - }, - "list": { - "permissions": [ - "nimble:ListStudios" - ] - } - }, - "additionalProperties": false, "attributes": { "HomeRegion": { "type": "string", - "maxLength": 50, - "minLength": 0, - "description": "

The Amazon Web Services Region where the studio resource is located.

", - "markdownDescription": "

The Amazon Web Services Region where the studio resource is located.

\n\n---\n\nRequired: No \nType: String \nMaximum Length: 50 \nPattern: [a-z]{2}-?(iso|gov)?-{1}[a-z]*-{1}[0-9] \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, - "SsoClientId": { + "StudioUrl": { "type": "string", - "description": "

The Amazon Web Services SSO application client ID used to integrate with Amazon Web Services SSO to enable Amazon Web Services SSO users to log in to Nimble Studio portal.

", - "markdownDescription": "

The Amazon Web Services SSO application client ID used to integrate with Amazon Web Services SSO to enable Amazon Web Services SSO users to log in to Nimble Studio portal.

\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, - "StudioId": { + "SsoClientId": { "type": "string", "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, - "StudioUrl": { + "StudioId": { "type": "string", - "description": "

The address of the web page for the studio.

", - "markdownDescription": "

The address of the web page for the studio.

\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" } } } \ No newline at end of file diff --git a/server/schema/resources/aws-nimblestudio-studiocomponent.json b/server/schema/resources/aws-nimblestudio-studiocomponent.json index 6f05cb1d..c14b9ba2 100644 --- a/server/schema/resources/aws-nimblestudio-studiocomponent.json +++ b/server/schema/resources/aws-nimblestudio-studiocomponent.json @@ -1,428 +1,233 @@ { "typeName": "AWS::NimbleStudio::StudioComponent", - "description": "Represents a studio component that connects a non-Nimble Studio resource in your account to your studio", - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-nimblestudio", - "definitions": { - "ActiveDirectoryComputerAttribute": { - "type": "object", - "description": "

An LDAP attribute of an Active Directory computer account, in the form of a name:value\n pair.

", - "properties": { - "Name": { - "type": "string", - "maxLength": 40, - "minLength": 1, - "description": "

The name for the LDAP attribute.

", - "markdownDescription": "

The name for the LDAP attribute.

\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 40 \nUpdate requires: No interruption" - }, - "Value": { - "type": "string", - "maxLength": 64, - "minLength": 1, - "description": "

The value for the LDAP attribute.

", - "markdownDescription": "

The value for the LDAP attribute.

\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 64 \nUpdate requires: No interruption" - } + "description": "Resource Type definition for AWS::NimbleStudio::StudioComponent", + "additionalProperties": false, + "properties": { + "InitializationScripts": { + "type": "array", + "uniqueItems": false, + "items": { + "$ref": "#/definitions/StudioComponentInitializationScript" }, - "additionalProperties": false, - "markdownDescription": "

An LDAP attribute of an Active Directory computer account, in the form of a name:value\n pair.

\n\n---\n\nRequired: No \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" }, - "ActiveDirectoryConfiguration": { + "Type": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" + }, + "Description": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "Configuration": { + "$ref": "#/definitions/StudioComponentConfiguration" + }, + "Ec2SecurityGroupIds": { + "type": "array", + "uniqueItems": false, + "items": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + }, + "ScriptParameters": { + "type": "array", + "uniqueItems": false, + "items": { + "$ref": "#/definitions/ScriptParameterKeyValue" + }, + "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + }, + "StudioId": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: Replacement" + }, + "Subtype": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: Replacement" + }, + "Tags": { "type": "object", - "description": "

The configuration for a Microsoft Active Directory (Microsoft AD) studio\n resource.

", - "properties": { - "ComputerAttributes": { - "type": "array", - "items": { - "$ref": "#/definitions/ActiveDirectoryComputerAttribute" - }, - "maxItems": 50, - "minItems": 0, - "description": "

A collection of custom attributes for an Active Directory computer.

", - "markdownDescription": "

A collection of custom attributes for an Active Directory computer.

\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" - }, - "DirectoryId": { - "type": "string", - "description": "

The directory ID of the Directory Service for Microsoft Active Directory to access\n using this studio component.

", - "markdownDescription": "

The directory ID of the Directory Service for Microsoft Active Directory to access\n using this studio component.

\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" - }, - "OrganizationalUnitDistinguishedName": { + "patternProperties": { + "[a-zA-Z0-9]+": { "type": "string", - "maxLength": 2000, - "minLength": 1, - "description": "

The distinguished name (DN) and organizational unit (OU) of an Active Directory\n computer.

", - "markdownDescription": "

The distinguished name (DN) and organizational unit (OU) of an Active Directory\n computer.

\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 2000 \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" } }, - "additionalProperties": false, - "markdownDescription": "

The configuration for a Microsoft Active Directory (Microsoft AD) studio\n resource.

\n\n---\n\nRequired: No \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: Replacement" }, - "ComputeFarmConfiguration": { + "Name": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" + } + }, + "definitions": { + "LicenseServiceConfiguration": { "type": "object", - "description": "

The configuration for a render farm that is associated with a studio resource.

", + "additionalProperties": false, "properties": { - "ActiveDirectoryUser": { - "type": "string", - "description": "

The name of an Active Directory user that is used on ComputeFarm worker\n instances.

", - "markdownDescription": "

The name of an Active Directory user that is used on ComputeFarm worker\n instances.

\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" - }, "Endpoint": { "type": "string", - "description": "

The endpoint of the ComputeFarm that is accessed by the studio component\n resource.

", - "markdownDescription": "

The endpoint of the ComputeFarm that is accessed by the studio component\n resource.

\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" } }, - "additionalProperties": false, - "markdownDescription": "

The configuration for a render farm that is associated with a studio resource.

\n\n---\n\nRequired: No \nUpdate requires: No interruption" - }, - "LaunchProfilePlatform": { - "type": "string", - "enum": [ - "LINUX", - "WINDOWS" - ], - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: LINUX | WINDOWS \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, - "LicenseServiceConfiguration": { + "StudioComponentInitializationScript": { "type": "object", - "description": "

The configuration for a license service that is associated with a studio\n resource.

", + "additionalProperties": false, "properties": { - "Endpoint": { + "Script": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "RunContext": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "LaunchProfileProtocolVersion": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "Platform": { "type": "string", - "description": "

The endpoint of the license service that is accessed by the studio component\n resource.

", - "markdownDescription": "

The endpoint of the license service that is accessed by the studio component\n resource.

\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" } }, - "additionalProperties": false, - "markdownDescription": "

The configuration for a license service that is associated with a studio\n resource.

\n\n---\n\nRequired: No \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, - "ScriptParameterKeyValue": { + "ComputeFarmConfiguration": { "type": "object", - "description": "

A parameter for a studio component script, in the form of a key:value pair.

", + "additionalProperties": false, "properties": { - "Key": { + "ActiveDirectoryUser": { "type": "string", - "maxLength": 64, - "minLength": 1, - "description": "

A script parameter key.

", - "markdownDescription": "

A script parameter key.

\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 64 \nPattern: ^[a-zA-Z_][a-zA-Z0-9_]+$ \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, - "Value": { + "Endpoint": { "type": "string", - "maxLength": 256, - "minLength": 1, - "description": "

A script parameter value.

", - "markdownDescription": "

A script parameter value.

\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 256 \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" } }, - "additionalProperties": false, - "markdownDescription": "

A parameter for a studio component script, in the form of a key:value pair.

\n\n---\n\nRequired: No \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, "SharedFileSystemConfiguration": { "type": "object", - "description": "

The configuration for a shared file storage system that is associated with a studio\n resource.

", + "additionalProperties": false, "properties": { - "Endpoint": { - "type": "string", - "description": "

The endpoint of the shared file system that is accessed by the studio component\n resource.

", - "markdownDescription": "

The endpoint of the shared file system that is accessed by the studio component\n resource.

\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" - }, "FileSystemId": { "type": "string", - "description": "

The unique identifier for a file system.

", - "markdownDescription": "

The unique identifier for a file system.

\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, - "LinuxMountPoint": { + "ShareName": { "type": "string", - "maxLength": 128, - "minLength": 0, - "description": "

The mount location for a shared file system on a Linux virtual workstation.

", - "markdownDescription": "

The mount location for a shared file system on a Linux virtual workstation.

\n\n---\n\nRequired: No \nType: String \nMaximum Length: 128 \nPattern: ^(/?|(\\$HOME)?(/[^/\\n\\s\\\\]+)*)$ \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, - "ShareName": { + "Endpoint": { "type": "string", - "description": "

The name of the file share.

", - "markdownDescription": "

The name of the file share.

\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, "WindowsMountDrive": { "type": "string", - "description": "

The mount location for a shared file system on a Windows virtual workstation.

", - "markdownDescription": "

The mount location for a shared file system on a Windows virtual workstation.

\n\n---\n\nRequired: No \nType: String \nPattern: ^[A-Z]$ \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "LinuxMountPoint": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" } }, - "additionalProperties": false, - "markdownDescription": "

The configuration for a shared file storage system that is associated with a studio\n resource.

\n\n---\n\nRequired: No \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, - "StudioComponentConfiguration": { - "description": "

The configuration of the studio component, based on component type.

", - "oneOf": [ - { - "type": "object", - "title": "ActiveDirectoryConfiguration", - "properties": { - "ActiveDirectoryConfiguration": { - "$ref": "#/definitions/ActiveDirectoryConfiguration" - } - }, - "required": [ - "ActiveDirectoryConfiguration" - ], - "additionalProperties": false - }, - { - "type": "object", - "title": "ComputeFarmConfiguration", - "properties": { - "ComputeFarmConfiguration": { - "$ref": "#/definitions/ComputeFarmConfiguration" - } + "ActiveDirectoryConfiguration": { + "type": "object", + "additionalProperties": false, + "properties": { + "ComputerAttributes": { + "type": "array", + "uniqueItems": false, + "items": { + "$ref": "#/definitions/ActiveDirectoryComputerAttribute" }, - "required": [ - "ComputeFarmConfiguration" - ], - "additionalProperties": false + "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" }, - { - "type": "object", - "title": "LicenseServiceConfiguration", - "properties": { - "LicenseServiceConfiguration": { - "$ref": "#/definitions/LicenseServiceConfiguration" - } - }, - "required": [ - "LicenseServiceConfiguration" - ], - "additionalProperties": false + "DirectoryId": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, - { - "type": "object", - "title": "SharedFileSystemConfiguration", - "properties": { - "SharedFileSystemConfiguration": { - "$ref": "#/definitions/SharedFileSystemConfiguration" - } - }, - "required": [ - "SharedFileSystemConfiguration" - ], - "additionalProperties": false + "OrganizationalUnitDistinguishedName": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" } - ], - "markdownDescription": "

The configuration of the studio component, based on component type.

\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" + }, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, - "StudioComponentInitializationScript": { + "ActiveDirectoryComputerAttribute": { "type": "object", - "description": "

Initialization scripts for studio components.

", + "additionalProperties": false, "properties": { - "LaunchProfileProtocolVersion": { + "Value": { "type": "string", - "maxLength": 10, - "minLength": 0, - "description": "

The version number of the protocol that is used by the launch profile. The only valid\n version is \"2021-03-31\".

", - "markdownDescription": "

The version number of the protocol that is used by the launch profile. The only valid\n version is \"2021-03-31\".

\n\n---\n\nRequired: No \nType: String \nMaximum Length: 10 \nPattern: ^2021\\-03\\-31$ \nUpdate requires: No interruption" - }, - "Platform": { - "$ref": "#/definitions/LaunchProfilePlatform" - }, - "RunContext": { - "$ref": "#/definitions/StudioComponentInitializationScriptRunContext" + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, - "Script": { + "Name": { "type": "string", - "maxLength": 5120, - "minLength": 1, - "description": "

The initialization script.

", - "markdownDescription": "

The initialization script.

\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 5120 \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" } }, - "additionalProperties": false, - "markdownDescription": "

Initialization scripts for studio components.

\n\n---\n\nRequired: No \nUpdate requires: No interruption" - }, - "StudioComponentInitializationScriptRunContext": { - "type": "string", - "enum": [ - "SYSTEM_INITIALIZATION", - "USER_INITIALIZATION" - ], - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: SYSTEM_INITIALIZATION | USER_INITIALIZATION \nUpdate requires: No interruption" - }, - "StudioComponentSubtype": { - "type": "string", - "enum": [ - "AWS_MANAGED_MICROSOFT_AD", - "AMAZON_FSX_FOR_WINDOWS", - "AMAZON_FSX_FOR_LUSTRE", - "CUSTOM" - ], - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: AWS_MANAGED_MICROSOFT_AD | AMAZON_FSX_FOR_WINDOWS | AMAZON_FSX_FOR_LUSTRE | CUSTOM \nUpdate requires: No interruption" - }, - "StudioComponentType": { - "type": "string", - "enum": [ - "ACTIVE_DIRECTORY", - "SHARED_FILE_SYSTEM", - "COMPUTE_FARM", - "LICENSE_SERVICE", - "CUSTOM" - ], - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: ACTIVE_DIRECTORY | SHARED_FILE_SYSTEM | COMPUTE_FARM | LICENSE_SERVICE | CUSTOM \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, - "Tags": { + "ScriptParameterKeyValue": { "type": "object", - "patternProperties": { - ".+": { + "additionalProperties": false, + "properties": { + "Value": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "Key": { "type": "string", "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" } }, - "additionalProperties": false, "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" - } - }, - "properties": { - "Configuration": { - "$ref": "#/definitions/StudioComponentConfiguration" - }, - "Description": { - "type": "string", - "maxLength": 256, - "minLength": 0, - "description": "

The description.

", - "markdownDescription": "

The description.

\n\n---\n\nRequired: No \nType: String \nMaximum Length: 256 \nUpdate requires: No interruption" - }, - "Ec2SecurityGroupIds": { - "type": "array", - "items": { - "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" - }, - "maxItems": 30, - "minItems": 0, - "description": "

The EC2 security groups that control access to the studio component.

", - "markdownDescription": "

The EC2 security groups that control access to the studio component.

\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" - }, - "InitializationScripts": { - "type": "array", - "items": { - "$ref": "#/definitions/StudioComponentInitializationScript" - }, - "description": "

Initialization scripts for studio components.

", - "markdownDescription": "

Initialization scripts for studio components.

\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" }, - "Name": { - "type": "string", - "maxLength": 64, - "minLength": 0, - "description": "

The name for the studio component.

", - "markdownDescription": "

The name for the studio component.

\n\n---\n\nRequired: Yes \nType: String \nMaximum Length: 64 \nUpdate requires: No interruption" - }, - "RuntimeRoleArn": { - "type": "string", - "maxLength": 2048, - "minLength": 0, - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMaximum Length: 2048 \nUpdate requires: No interruption" - }, - "ScriptParameters": { - "type": "array", - "items": { - "$ref": "#/definitions/ScriptParameterKeyValue" + "StudioComponentConfiguration": { + "type": "object", + "additionalProperties": false, + "properties": { + "LicenseServiceConfiguration": { + "$ref": "#/definitions/LicenseServiceConfiguration" + }, + "ComputeFarmConfiguration": { + "$ref": "#/definitions/ComputeFarmConfiguration" + }, + "ActiveDirectoryConfiguration": { + "$ref": "#/definitions/ActiveDirectoryConfiguration" + }, + "SharedFileSystemConfiguration": { + "$ref": "#/definitions/SharedFileSystemConfiguration" + } }, - "maxItems": 30, - "minItems": 0, - "description": "

Parameters for the studio component scripts.

", - "markdownDescription": "

Parameters for the studio component scripts.

\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" - }, - "SecureInitializationRoleArn": { - "type": "string", - "maxLength": 2048, - "minLength": 0, - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMaximum Length: 2048 \nUpdate requires: No interruption" - }, - "StudioId": { - "type": "string", - "description": "

The studio ID.

", - "markdownDescription": "

The studio ID.

\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: Replacement" - }, - "Subtype": { - "$ref": "#/definitions/StudioComponentSubtype" - }, - "Tags": { - "$ref": "#/definitions/Tags" - }, - "Type": { - "$ref": "#/definitions/StudioComponentType" + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" } }, "required": [ + "Type", "StudioId", - "Name", - "Type" - ], - "readOnlyProperties": [ - "/properties/StudioComponentId" + "Name" ], "createOnlyProperties": [ - "/properties/StudioId", "/properties/Subtype", + "/properties/StudioId", "/properties/Tags" ], "primaryIdentifier": [ - "/properties/StudioComponentId", - "/properties/StudioId" + "/properties/StudioComponentId" + ], + "readOnlyProperties": [ + "/properties/StudioComponentId" ], - "handlers": { - "create": { - "permissions": [ - "iam:PassRole", - "nimble:CreateStudioComponent", - "nimble:GetStudioComponent", - "nimble:TagResource", - "ds:AuthorizeApplication", - "ec2:DescribeSecurityGroups", - "fsx:DescribeFilesystems", - "ds:DescribeDirectories" - ] - }, - "read": { - "permissions": [ - "nimble:GetStudioComponent" - ] - }, - "update": { - "permissions": [ - "iam:PassRole", - "nimble:UpdateStudioComponent", - "nimble:GetStudioComponent", - "ds:AuthorizeApplication", - "ec2:DescribeSecurityGroups", - "fsx:DescribeFilesystems", - "ds:DescribeDirectories" - ] - }, - "delete": { - "permissions": [ - "nimble:DeleteStudioComponent", - "nimble:GetStudioComponent", - "nimble:UntagResource", - "ds:UnauthorizeApplication" - ] - }, - "list": { - "handlerSchema": { - "properties": { - "StudioId": { - "$ref": "resource-schema.json#/properties/StudioId" - } - }, - "required": [ - "StudioId" - ] - }, - "permissions": [ - "nimble:ListStudioComponents" - ] - } - }, - "additionalProperties": false, "attributes": { "StudioComponentId": { "type": "string", diff --git a/server/schema/resources/aws-oam-link.json b/server/schema/resources/aws-oam-link.json index d00f9de3..ae026121 100644 --- a/server/schema/resources/aws-oam-link.json +++ b/server/schema/resources/aws-oam-link.json @@ -90,7 +90,13 @@ "taggable": true, "tagOnCreate": true, "tagUpdatable": true, - "cloudFormationSystemTags": false + "cloudFormationSystemTags": false, + "tagProperty": "/properties/Tags", + "permissions": [ + "oam:ListTagsForResource", + "oam:UntagResource", + "oam:TagResource" + ] }, "required": [ "ResourceTypes", diff --git a/server/schema/resources/aws-oam-sink.json b/server/schema/resources/aws-oam-sink.json index f1b0b20b..006b783f 100644 --- a/server/schema/resources/aws-oam-sink.json +++ b/server/schema/resources/aws-oam-sink.json @@ -34,7 +34,13 @@ "taggable": true, "tagOnCreate": true, "tagUpdatable": true, - "cloudFormationSystemTags": false + "cloudFormationSystemTags": false, + "tagProperty": "/properties/Tags", + "permissions": [ + "oam:ListTagsForResource", + "oam:UntagResource", + "oam:TagResource" + ] }, "required": [ "Name" diff --git a/server/schema/resources/aws-omics-annotationstore.json b/server/schema/resources/aws-omics-annotationstore.json index 5450979d..eccda555 100644 --- a/server/schema/resources/aws-omics-annotationstore.json +++ b/server/schema/resources/aws-omics-annotationstore.json @@ -235,7 +235,13 @@ "taggable": true, "tagOnCreate": true, "tagUpdatable": true, - "cloudFormationSystemTags": true + "cloudFormationSystemTags": true, + "tagProperty": "/properties/Tags", + "permissions": [ + "omics:TagResource", + "omics:UntagResource", + "omics:ListTagsForResource" + ] }, "handlers": { "create": { diff --git a/server/schema/resources/aws-omics-referencestore.json b/server/schema/resources/aws-omics-referencestore.json index e4a955b4..8a9ce544 100644 --- a/server/schema/resources/aws-omics-referencestore.json +++ b/server/schema/resources/aws-omics-referencestore.json @@ -90,7 +90,12 @@ "taggable": true, "tagOnCreate": true, "tagUpdatable": false, - "cloudFormationSystemTags": true + "cloudFormationSystemTags": true, + "tagProperty": "/properties/Tags", + "permissions": [ + "omics:TagResource", + "omics:ListTagsForResource" + ] }, "handlers": { "create": { diff --git a/server/schema/resources/aws-omics-rungroup.json b/server/schema/resources/aws-omics-rungroup.json index a2352690..4da8f831 100644 --- a/server/schema/resources/aws-omics-rungroup.json +++ b/server/schema/resources/aws-omics-rungroup.json @@ -65,7 +65,13 @@ "taggable": true, "tagOnCreate": true, "tagUpdatable": true, - "cloudFormationSystemTags": false + "cloudFormationSystemTags": false, + "tagProperty": "/properties/Tags", + "permissions": [ + "omics:TagResource", + "omics:UntagResource", + "omics:ListTagsForResource" + ] }, "handlers": { "create": { diff --git a/server/schema/resources/aws-omics-sequencestore.json b/server/schema/resources/aws-omics-sequencestore.json index e02b13b7..aa5ab54d 100644 --- a/server/schema/resources/aws-omics-sequencestore.json +++ b/server/schema/resources/aws-omics-sequencestore.json @@ -97,7 +97,12 @@ "taggable": true, "tagOnCreate": true, "tagUpdatable": false, - "cloudFormationSystemTags": true + "cloudFormationSystemTags": true, + "tagProperty": "/properties/Tags", + "permissions": [ + "omics:TagResource", + "omics:ListTagsForResource" + ] }, "handlers": { "create": { diff --git a/server/schema/resources/aws-omics-variantstore.json b/server/schema/resources/aws-omics-variantstore.json index 436d4746..7f67eeac 100644 --- a/server/schema/resources/aws-omics-variantstore.json +++ b/server/schema/resources/aws-omics-variantstore.json @@ -116,7 +116,13 @@ "taggable": true, "tagOnCreate": true, "tagUpdatable": true, - "cloudFormationSystemTags": false + "cloudFormationSystemTags": false, + "tagProperty": "/properties/Tags", + "permissions": [ + "omics:TagResource", + "omics:UntagResource", + "omics:ListTagsForResource" + ] }, "handlers": { "create": { diff --git a/server/schema/resources/aws-omics-workflow.json b/server/schema/resources/aws-omics-workflow.json index 99f2b6b1..421992a8 100644 --- a/server/schema/resources/aws-omics-workflow.json +++ b/server/schema/resources/aws-omics-workflow.json @@ -158,7 +158,13 @@ "taggable": true, "tagOnCreate": true, "tagUpdatable": true, - "cloudFormationSystemTags": false + "cloudFormationSystemTags": false, + "tagProperty": "/properties/Tags", + "permissions": [ + "omics:TagResource", + "omics:UntagResource", + "omics:ListTagsForResource" + ] }, "handlers": { "create": { diff --git a/server/schema/resources/aws-opensearchservice-application.json b/server/schema/resources/aws-opensearchservice-application.json new file mode 100644 index 00000000..1e37eca9 --- /dev/null +++ b/server/schema/resources/aws-opensearchservice-application.json @@ -0,0 +1,232 @@ +{ + "typeName": "AWS::OpenSearchService::Application", + "description": "Amazon OpenSearchService application resource", + "definitions": { + "AppConfigType": { + "type": "string", + "enum": [ + "opensearchDashboards.dashboardAdmin.users", + "opensearchDashboards.dashboardAdmin.groups" + ], + "description": "AppConfig type values.", + "markdownDescription": "AppConfig type values.\n\n---\n\nRequired: No \nType: String \nAllowed Values: opensearchDashboards.dashboardAdmin.users | opensearchDashboards.dashboardAdmin.groups \nUpdate requires: No interruption" + }, + "Tag": { + "type": "object", + "description": "A key-value pair metadata associated with resource", + "properties": { + "Key": { + "type": "string", + "maxLength": 128, + "minLength": 1, + "description": "The key in the key-value pair", + "markdownDescription": "The key in the key-value pair\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 128 \nUpdate requires: No interruption" + }, + "Value": { + "type": "string", + "maxLength": 256, + "minLength": 0, + "description": "The value in the key-value pair", + "markdownDescription": "The value in the key-value pair\n\n---\n\nRequired: Yes \nType: String \nMaximum Length: 256 \nUpdate requires: No interruption" + } + }, + "required": [ + "Key", + "Value" + ], + "additionalProperties": false, + "markdownDescription": "A key-value pair metadata associated with resource\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "AppConfig": { + "type": "object", + "description": "A key-value pair of AppConfig", + "properties": { + "Key": { + "$ref": "#/definitions/AppConfigType", + "description": "The configuration key", + "markdownDescription": "The configuration key\n\n---\n\nRequired: Yes \nType: \nUpdate requires: No interruption" + }, + "Value": { + "type": "string", + "maxLength": 256, + "minLength": 0, + "description": "The configuration value.", + "markdownDescription": "The configuration value.\n\n---\n\nRequired: Yes \nType: String \nMaximum Length: 256 \nUpdate requires: No interruption" + } + }, + "required": [ + "Key", + "Value" + ], + "additionalProperties": false, + "markdownDescription": "A key-value pair of AppConfig\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "DataSource": { + "type": "object", + "description": "Datasource arn and description", + "properties": { + "DataSourceArn": { + "$ref": "#/properties/Arn", + "description": "The ARN of the data source.", + "markdownDescription": "The ARN of the data source.\n\n---\n\nRequired: Yes \nType: \nUpdate requires: No interruption" + }, + "DataSourceDescription": { + "type": "string", + "description": "Description of the data source.", + "markdownDescription": "Description of the data source.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + } + }, + "required": [ + "DataSourceArn" + ], + "additionalProperties": false, + "markdownDescription": "Datasource arn and description\n\n---\n\nRequired: No \nUpdate requires: No interruption" + } + }, + "properties": { + "IamIdentityCenterOptions": { + "type": "object", + "description": "Options for configuring IAM Identity Center", + "properties": { + "Enabled": { + "type": "boolean", + "description": "Whether IAM Identity Center is enabled.", + "markdownDescription": "Whether IAM Identity Center is enabled.\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" + }, + "IamIdentityCenterInstanceArn": { + "$ref": "#/properties/Arn", + "description": "The ARN of the IAM Identity Center instance.", + "markdownDescription": "The ARN of the IAM Identity Center instance.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" + }, + "IamRoleForIdentityCenterApplicationArn": { + "type": "string", + "description": "The ARN of the IAM role for Identity Center application.", + "markdownDescription": "The ARN of the IAM role for Identity Center application.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + } + }, + "additionalProperties": false, + "markdownDescription": "Options for configuring IAM Identity Center\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "Name": { + "type": "string", + "minLength": 3, + "maxLength": 40, + "description": "The name of the application.", + "markdownDescription": "The name of the application.\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 3 \nMaximum Length: 40 \nPattern: [a-z][a-z0-9\\-]+ \nUpdate requires: Replacement" + }, + "Endpoint": { + "type": "string", + "description": "The endpoint for the application.", + "markdownDescription": "The endpoint for the application.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "AppConfigs": { + "type": "array", + "items": { + "$ref": "#/definitions/AppConfig" + }, + "description": "List of application configurations.", + "insertionOrder": false, + "markdownDescription": "List of application configurations.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + }, + "DataSources": { + "type": "array", + "items": { + "$ref": "#/definitions/DataSource" + }, + "description": "List of data sources.", + "insertionOrder": false, + "markdownDescription": "List of data sources.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + }, + "Tags": { + "description": "An arbitrary set of tags (key-value pairs) for this application.", + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array", + "uniqueItems": true, + "markdownDescription": "An arbitrary set of tags (key-value pairs) for this application.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + } + }, + "required": [ + "Name" + ], + "readOnlyProperties": [ + "/properties/Id", + "/properties/Arn" + ], + "createOnlyProperties": [ + "/properties/Name" + ], + "primaryIdentifier": [ + "/properties/Name" + ], + "additionalIdentifiers": [ + [ + "/properties/Arn" + ] + ], + "handlers": { + "create": { + "permissions": [ + "es:CreateApplication", + "es:GetApplication", + "es:AddTags", + "es:ListTags", + "iam:CreateServiceLinkedRole" + ] + }, + "read": { + "permissions": [ + "es:GetApplication", + "es:ListTags" + ] + }, + "update": { + "permissions": [ + "es:UpdateApplication", + "es:GetApplication", + "es:AddTags", + "es:RemoveTags", + "es:ListTags" + ] + }, + "delete": { + "permissions": [ + "es:GetApplication", + "es:DeleteApplication" + ] + }, + "list": { + "permissions": [ + "es:ListApplications" + ] + } + }, + "tagging": { + "taggable": true, + "tagOnCreate": true, + "tagUpdatable": true, + "cloudFormationSystemTags": true, + "tagProperty": "/properties/Tags", + "permissions": [ + "es:AddTags", + "es:RemoveTags", + "es:ListTags" + ] + }, + "additionalProperties": false, + "attributes": { + "Arn": { + "type": "string", + "description": "Amazon Resource Name (ARN) format.", + "markdownDescription": "Amazon Resource Name (ARN) format.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "Id": { + "type": "string", + "maxLength": 40, + "minLength": 3, + "description": "The identifier of the application.", + "markdownDescription": "The identifier of the application.\n\n---\n\nRequired: No \nType: String \nMinimum Length: 3 \nMaximum Length: 40 \nUpdate requires: No interruption" + } + } +} \ No newline at end of file diff --git a/server/schema/resources/aws-opensearchservice-domain.json b/server/schema/resources/aws-opensearchservice-domain.json index b46a1966..bbb25bbe 100644 --- a/server/schema/resources/aws-opensearchservice-domain.json +++ b/server/schema/resources/aws-opensearchservice-domain.json @@ -482,6 +482,63 @@ } }, "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "SubjectKeyIdcType": { + "type": "string", + "enum": [ + "UserName", + "UserId", + "Email" + ], + "description": "Subject Key Idc type values.", + "markdownDescription": "Subject Key Idc type values.\n\n---\n\nRequired: No \nType: String \nAllowed Values: UserName | UserId | Email \nUpdate requires: No interruption" + }, + "RolesKeyIdcType": { + "type": "string", + "enum": [ + "GroupName", + "GroupId" + ], + "description": "Roles Key Idc type values.", + "markdownDescription": "Roles Key Idc type values.\n\n---\n\nRequired: No \nType: String \nAllowed Values: GroupName | GroupId \nUpdate requires: No interruption" + }, + "IdentityCenterOptions": { + "type": "object", + "description": "Options for configuring Identity Center", + "properties": { + "EnabledAPIAccess": { + "type": "boolean", + "description": "Whether Identity Center is enabled.", + "markdownDescription": "Whether Identity Center is enabled.\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" + }, + "IdentityCenterInstanceARN": { + "type": "string", + "description": "The ARN of the Identity Center instance.", + "markdownDescription": "The ARN of the Identity Center instance.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "SubjectKey": { + "$ref": "#/definitions/SubjectKeyIdcType", + "description": "The subject key for Identity Center options.", + "markdownDescription": "The subject key for Identity Center options.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" + }, + "RolesKey": { + "$ref": "#/definitions/RolesKeyIdcType", + "description": "The roles key for Identity Center options.", + "markdownDescription": "The roles key for Identity Center options.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" + }, + "IdentityCenterApplicationARN": { + "type": "string", + "description": "The ARN of the Identity Center application.", + "markdownDescription": "The ARN of the Identity Center application.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "IdentityStoreId": { + "type": "string", + "description": "The IdentityStoreId for Identity Center options.", + "markdownDescription": "The IdentityStoreId for Identity Center options.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + } + }, + "additionalProperties": false, + "markdownDescription": "Options for configuring Identity Center\n\n---\n\nRequired: No \nUpdate requires: No interruption" } }, "properties": { @@ -567,6 +624,9 @@ "SkipShardMigrationWait": { "type": "boolean", "markdownDescription": "\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" + }, + "IdentityCenterOptions": { + "$ref": "#/definitions/IdentityCenterOptions" } }, "additionalProperties": false, @@ -585,7 +645,9 @@ "/properties/DomainEndpointV2", "/properties/DomainEndpoints", "/properties/ServiceSoftwareOptions", - "/properties/AdvancedSecurityOptions/AnonymousAuthDisableDate" + "/properties/AdvancedSecurityOptions/AnonymousAuthDisableDate", + "/properties/IdentityCenterOptions/IdentityCenterApplicationARN", + "/properties/IdentityCenterOptions/IdentityStoreId" ], "writeOnlyProperties": [ "/properties/AdvancedSecurityOptions/MasterUserOptions", diff --git a/server/schema/resources/aws-organizations-account.json b/server/schema/resources/aws-organizations-account.json index 4f8a5ebd..f62be02f 100644 --- a/server/schema/resources/aws-organizations-account.json +++ b/server/schema/resources/aws-organizations-account.json @@ -80,7 +80,12 @@ "tagOnCreate": true, "tagUpdatable": true, "cloudFormationSystemTags": false, - "tagProperty": "/properties/Tags" + "tagProperty": "/properties/Tags", + "permissions": [ + "organizations:TagResource", + "organizations:UntagResource", + "organizations:ListTagsForResource" + ] }, "additionalProperties": false, "required": [ diff --git a/server/schema/resources/aws-organizations-organizationalunit.json b/server/schema/resources/aws-organizations-organizationalunit.json index f5491078..66243263 100644 --- a/server/schema/resources/aws-organizations-organizationalunit.json +++ b/server/schema/resources/aws-organizations-organizationalunit.json @@ -108,7 +108,12 @@ "tagOnCreate": true, "tagUpdatable": true, "cloudFormationSystemTags": false, - "tagProperty": "/properties/Tags" + "tagProperty": "/properties/Tags", + "permissions": [ + "organizations:TagResource", + "organizations:UntagResource", + "organizations:ListTagsForResource" + ] }, "required": [ "Name", diff --git a/server/schema/resources/aws-organizations-policy.json b/server/schema/resources/aws-organizations-policy.json index 766e1ca6..4a54b3ad 100644 --- a/server/schema/resources/aws-organizations-policy.json +++ b/server/schema/resources/aws-organizations-policy.json @@ -11,15 +11,16 @@ "markdownDescription": "Name of the Policy\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 128 \nPattern: [\\s\\S]* \nUpdate requires: No interruption" }, "Type": { - "description": "The type of policy to create. You can specify one of the following values: AISERVICES_OPT_OUT_POLICY, BACKUP_POLICY, SERVICE_CONTROL_POLICY, TAG_POLICY", + "description": "The type of policy to create. You can specify one of the following values: AISERVICES_OPT_OUT_POLICY, BACKUP_POLICY, SERVICE_CONTROL_POLICY, TAG_POLICY, CHATBOT_POLICY", "type": "string", "enum": [ "SERVICE_CONTROL_POLICY", "AISERVICES_OPT_OUT_POLICY", "BACKUP_POLICY", - "TAG_POLICY" + "TAG_POLICY", + "CHATBOT_POLICY" ], - "markdownDescription": "The type of policy to create. You can specify one of the following values: AISERVICES_OPT_OUT_POLICY, BACKUP_POLICY, SERVICE_CONTROL_POLICY, TAG_POLICY\n\n---\n\nRequired: Yes \nType: String \nAllowed Values: SERVICE_CONTROL_POLICY | AISERVICES_OPT_OUT_POLICY | BACKUP_POLICY | TAG_POLICY \nUpdate requires: Replacement" + "markdownDescription": "The type of policy to create. You can specify one of the following values: AISERVICES_OPT_OUT_POLICY, BACKUP_POLICY, SERVICE_CONTROL_POLICY, TAG_POLICY, CHATBOT_POLICY\n\n---\n\nRequired: Yes \nType: String \nAllowed Values: SERVICE_CONTROL_POLICY | AISERVICES_OPT_OUT_POLICY | BACKUP_POLICY | TAG_POLICY | CHATBOT_POLICY \nUpdate requires: Replacement" }, "Content": { "description": "The Policy text content. For AWS CloudFormation templates formatted in YAML, you can provide the policy in JSON or YAML format. AWS CloudFormation always converts a YAML policy to JSON format before submitting it.", @@ -92,7 +93,12 @@ "tagOnCreate": true, "tagUpdatable": true, "cloudFormationSystemTags": false, - "tagProperty": "/properties/Tags" + "tagProperty": "/properties/Tags", + "permissions": [ + "organizations:TagResource", + "organizations:UntagResource", + "organizations:ListTagsForResource" + ] }, "required": [ "Name", diff --git a/server/schema/resources/aws-organizations-resourcepolicy.json b/server/schema/resources/aws-organizations-resourcepolicy.json index 35271898..ecdb5f8f 100644 --- a/server/schema/resources/aws-organizations-resourcepolicy.json +++ b/server/schema/resources/aws-organizations-resourcepolicy.json @@ -92,7 +92,12 @@ "tagOnCreate": true, "tagUpdatable": true, "cloudFormationSystemTags": false, - "tagProperty": "/properties/Tags" + "tagProperty": "/properties/Tags", + "permissions": [ + "organizations:TagResource", + "organizations:UntagResource", + "organizations:ListTagsForResource" + ] }, "required": [ "Content" diff --git a/server/schema/resources/aws-pcaconnectorad-connector.json b/server/schema/resources/aws-pcaconnectorad-connector.json index 2339bbc1..1741197c 100644 --- a/server/schema/resources/aws-pcaconnectorad-connector.json +++ b/server/schema/resources/aws-pcaconnectorad-connector.json @@ -65,17 +65,16 @@ "tagOnCreate": true, "tagUpdatable": true, "cloudFormationSystemTags": true, - "tagProperty": "/properties/Tags" + "tagProperty": "/properties/Tags", + "permissions": [ + "pca-connector-ad:ListTagsForResource", + "pca-connector-ad:TagResource", + "pca-connector-ad:UntagResource" + ] }, "readOnlyProperties": [ "/properties/ConnectorArn" ], - "writeOnlyProperties": [ - "/properties/CertificateAuthorityArn", - "/properties/DirectoryId", - "/properties/Tags", - "/properties/VpcInformation" - ], "createOnlyProperties": [ "/properties/CertificateAuthorityArn", "/properties/DirectoryId", @@ -96,7 +95,8 @@ "ec2:CreateVpcEndpoint", "ec2:DescribeVpcEndpoints", "pca-connector-ad:CreateConnector", - "pca-connector-ad:GetConnector" + "pca-connector-ad:GetConnector", + "pca-connector-ad:TagResource" ] }, "read": { @@ -107,10 +107,11 @@ }, "delete": { "permissions": [ + "ec2:DeleteVpcEndpoints", + "ec2:DescribeVpcEndpoints", "pca-connector-ad:GetConnector", "pca-connector-ad:DeleteConnector", - "ec2:DeleteVpcEndpoints", - "ec2:DescribeVpcEndpoints" + "pca-connector-ad:UntagResource" ] }, "list": { diff --git a/server/schema/resources/aws-pcaconnectorad-directoryregistration.json b/server/schema/resources/aws-pcaconnectorad-directoryregistration.json index 1112e2fc..f33fd2fb 100644 --- a/server/schema/resources/aws-pcaconnectorad-directoryregistration.json +++ b/server/schema/resources/aws-pcaconnectorad-directoryregistration.json @@ -31,15 +31,16 @@ "tagOnCreate": true, "tagUpdatable": true, "cloudFormationSystemTags": true, - "tagProperty": "/properties/Tags" + "tagProperty": "/properties/Tags", + "permissions": [ + "pca-connector-ad:ListTagsForResource", + "pca-connector-ad:TagResource", + "pca-connector-ad:UntagResource" + ] }, "readOnlyProperties": [ "/properties/DirectoryRegistrationArn" ], - "writeOnlyProperties": [ - "/properties/DirectoryId", - "/properties/Tags" - ], "createOnlyProperties": [ "/properties/DirectoryId" ], @@ -49,25 +50,27 @@ "handlers": { "create": { "permissions": [ + "ds:AuthorizeApplication", + "ds:DescribeDirectories", "pca-connector-ad:GetDirectoryRegistration", "pca-connector-ad:CreateDirectoryRegistration", - "ds:AuthorizeApplication", - "ds:DescribeDirectories" + "pca-connector-ad:TagResource" ] }, "read": { "permissions": [ - "pca-connector-ad:ListTagsForResource", - "pca-connector-ad:GetDirectoryRegistration" + "pca-connector-ad:GetDirectoryRegistration", + "pca-connector-ad:ListTagsForResource" ] }, "delete": { "permissions": [ - "pca-connector-ad:GetDirectoryRegistration", - "pca-connector-ad:DeleteDirectoryRegistration", "ds:DescribeDirectories", "ds:UnauthorizeApplication", - "ds:UpdateAuthorizedApplication" + "ds:UpdateAuthorizedApplication", + "pca-connector-ad:GetDirectoryRegistration", + "pca-connector-ad:DeleteDirectoryRegistration", + "pca-connector-ad:UntagResource" ] }, "list": { diff --git a/server/schema/resources/aws-pcaconnectorad-template.json b/server/schema/resources/aws-pcaconnectorad-template.json index 3f2a6c3c..9ab7c279 100644 --- a/server/schema/resources/aws-pcaconnectorad-template.json +++ b/server/schema/resources/aws-pcaconnectorad-template.json @@ -1090,17 +1090,18 @@ "tagOnCreate": true, "tagUpdatable": true, "cloudFormationSystemTags": true, - "tagProperty": "/properties/Tags" + "tagProperty": "/properties/Tags", + "permissions": [ + "pca-connector-ad:ListTagsForResource", + "pca-connector-ad:TagResource", + "pca-connector-ad:UntagResource" + ] }, "readOnlyProperties": [ "/properties/TemplateArn" ], "writeOnlyProperties": [ - "/properties/ConnectorArn", - "/properties/Definition", - "/properties/Name", - "/properties/ReenrollAllCertificateHolders", - "/properties/Tags" + "/properties/ReenrollAllCertificateHolders" ], "createOnlyProperties": [ "/properties/ConnectorArn", @@ -1112,7 +1113,8 @@ "handlers": { "create": { "permissions": [ - "pca-connector-ad:CreateTemplate" + "pca-connector-ad:CreateTemplate", + "pca-connector-ad:TagResource" ] }, "read": { @@ -1132,7 +1134,8 @@ "delete": { "permissions": [ "pca-connector-ad:GetTemplate", - "pca-connector-ad:DeleteTemplate" + "pca-connector-ad:DeleteTemplate", + "pca-connector-ad:UntagResource" ] }, "list": { diff --git a/server/schema/resources/aws-pinpoint-inapptemplate.json b/server/schema/resources/aws-pinpoint-inapptemplate.json index d08d7e05..51087f92 100644 --- a/server/schema/resources/aws-pinpoint-inapptemplate.json +++ b/server/schema/resources/aws-pinpoint-inapptemplate.json @@ -179,7 +179,9 @@ "update": { "permissions": [ "mobiletargeting:UpdateInAppTemplate", - "mobiletargeting:GetInAppTemplate" + "mobiletargeting:GetInAppTemplate", + "mobiletargeting:TagResource", + "mobiletargeting:UntagResource" ] } }, @@ -231,7 +233,17 @@ "TemplateName" ], "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-rpdk.git", - "taggable": true, + "tagging": { + "taggable": true, + "tagOnCreate": true, + "tagUpdatable": true, + "cloudFormationSystemTags": false, + "tagProperty": "/properties/Tags", + "permissions": [ + "mobiletargeting:TagResource", + "mobiletargeting:UntagResource" + ] + }, "typeName": "AWS::Pinpoint::InAppTemplate", "attributes": { "Arn": { diff --git a/server/schema/resources/aws-proton-environmentaccountconnection.json b/server/schema/resources/aws-proton-environmentaccountconnection.json index cac8dacb..7d9152f4 100644 --- a/server/schema/resources/aws-proton-environmentaccountconnection.json +++ b/server/schema/resources/aws-proton-environmentaccountconnection.json @@ -152,7 +152,12 @@ "tagOnCreate": true, "tagUpdatable": true, "cloudFormationSystemTags": true, - "tagProperty": "/properties/Tags" + "tagProperty": "/properties/Tags", + "permissions": [ + "proton:ListTagsForResource", + "proton:UntagResource", + "proton:TagResource" + ] }, "attributes": { "Arn": { diff --git a/server/schema/resources/aws-proton-environmenttemplate.json b/server/schema/resources/aws-proton-environmenttemplate.json index 9b581a98..14f68fa3 100644 --- a/server/schema/resources/aws-proton-environmenttemplate.json +++ b/server/schema/resources/aws-proton-environmenttemplate.json @@ -99,34 +99,179 @@ "create": { "permissions": [ "proton:CreateEnvironmentTemplate", + "proton:DeleteEnvironmentTemplate", + "proton:ListTagsForResource", "proton:TagResource", "proton:GetEnvironmentTemplate", - "kms:*" + "kms:CancelKeyDeletion", + "kms:CreateAlias", + "kms:CreateCustomKeyStore", + "kms:CreateGrant", + "kms:CreateKey", + "kms:DeleteAlias", + "kms:DeleteCustomKeyStore", + "kms:DeleteImportedKeyMaterial", + "kms:DescribeCustomKeyStores", + "kms:DescribeKey", + "kms:DisableKey", + "kms:DisableKeyRotation", + "kms:EnableKey", + "kms:EnableKeyRotation", + "kms:GenerateDataKey", + "kms:GetKeyPolicy", + "kms:GetKeyRotationStatus", + "kms:GetParametersForImport", + "kms:GetPublicKey", + "kms:ListAliases", + "kms:ListGrants", + "kms:ListKeyPolicies", + "kms:ListKeyRotations", + "kms:ListKeys", + "kms:ListResourceTags", + "kms:ListRetirableGrants", + "kms:PutKeyPolicy", + "kms:RevokeGrant", + "kms:ScheduleKeyDeletion", + "kms:TagResource", + "kms:UntagResource", + "kms:UpdateAlias", + "kms:UpdateCustomKeyStore", + "kms:UpdateKeyDescription", + "kms:UpdatePrimaryRegion" ] }, "read": { "permissions": [ - "proton:GetEnvironmentTemplate", + "proton:CreateEnvironmentTemplate", + "proton:DeleteEnvironmentTemplate", "proton:ListTagsForResource", - "kms:*" + "proton:GetEnvironmentTemplate", + "kms:CancelKeyDeletion", + "kms:CreateAlias", + "kms:CreateCustomKeyStore", + "kms:CreateGrant", + "kms:CreateKey", + "kms:DeleteAlias", + "kms:DeleteCustomKeyStore", + "kms:DeleteImportedKeyMaterial", + "kms:DescribeCustomKeyStores", + "kms:DescribeKey", + "kms:DisableKey", + "kms:DisableKeyRotation", + "kms:EnableKey", + "kms:EnableKeyRotation", + "kms:GenerateDataKey", + "kms:GetKeyPolicy", + "kms:GetKeyRotationStatus", + "kms:GetParametersForImport", + "kms:GetPublicKey", + "kms:ListAliases", + "kms:ListGrants", + "kms:ListKeyPolicies", + "kms:ListKeyRotations", + "kms:ListKeys", + "kms:ListResourceTags", + "kms:ListRetirableGrants", + "kms:PutKeyPolicy", + "kms:RevokeGrant", + "kms:ScheduleKeyDeletion", + "kms:TagResource", + "kms:UntagResource", + "kms:UpdateAlias", + "kms:UpdateCustomKeyStore", + "kms:UpdateKeyDescription", + "kms:UpdatePrimaryRegion" ] }, "update": { "permissions": [ "proton:CreateEnvironmentTemplate", + "proton:DeleteEnvironmentTemplate", + "proton:GetEnvironmentTemplate", "proton:ListTagsForResource", "proton:TagResource", - "proton:UntagResource", "proton:UpdateEnvironmentTemplate", - "proton:GetEnvironmentTemplate", - "kms:*" + "proton:UntagResource", + "kms:CancelKeyDeletion", + "kms:CreateAlias", + "kms:CreateCustomKeyStore", + "kms:CreateGrant", + "kms:CreateKey", + "kms:DeleteAlias", + "kms:DeleteCustomKeyStore", + "kms:DeleteImportedKeyMaterial", + "kms:DescribeCustomKeyStores", + "kms:DescribeKey", + "kms:DisableKey", + "kms:DisableKeyRotation", + "kms:EnableKey", + "kms:EnableKeyRotation", + "kms:GenerateDataKey", + "kms:GetKeyPolicy", + "kms:GetKeyRotationStatus", + "kms:GetParametersForImport", + "kms:GetPublicKey", + "kms:ListAliases", + "kms:ListGrants", + "kms:ListKeyPolicies", + "kms:ListKeyRotations", + "kms:ListKeys", + "kms:ListResourceTags", + "kms:ListRetirableGrants", + "kms:PutKeyPolicy", + "kms:RevokeGrant", + "kms:ScheduleKeyDeletion", + "kms:TagResource", + "kms:UntagResource", + "kms:UpdateAlias", + "kms:UpdateCustomKeyStore", + "kms:UpdateKeyDescription", + "kms:UpdatePrimaryRegion" ] }, "delete": { "permissions": [ + "proton:CreateEnvironmentTemplate", "proton:DeleteEnvironmentTemplate", "proton:GetEnvironmentTemplate", - "kms:*" + "proton:ListTagsForResource", + "proton:TagResource", + "proton:UntagResource", + "kms:CancelKeyDeletion", + "kms:CreateAlias", + "kms:CreateCustomKeyStore", + "kms:CreateGrant", + "kms:CreateKey", + "kms:DeleteAlias", + "kms:DeleteCustomKeyStore", + "kms:DeleteImportedKeyMaterial", + "kms:DescribeCustomKeyStores", + "kms:DescribeKey", + "kms:DisableKey", + "kms:DisableKeyRotation", + "kms:EnableKey", + "kms:EnableKeyRotation", + "kms:GenerateDataKey", + "kms:GetKeyPolicy", + "kms:GetKeyRotationStatus", + "kms:GetParametersForImport", + "kms:GetPublicKey", + "kms:ListAliases", + "kms:ListGrants", + "kms:ListKeyPolicies", + "kms:ListKeyRotations", + "kms:ListKeys", + "kms:ListResourceTags", + "kms:ListRetirableGrants", + "kms:PutKeyPolicy", + "kms:RevokeGrant", + "kms:ScheduleKeyDeletion", + "kms:TagResource", + "kms:UntagResource", + "kms:UpdateAlias", + "kms:UpdateCustomKeyStore", + "kms:UpdateKeyDescription", + "kms:UpdatePrimaryRegion" ] }, "list": { @@ -141,7 +286,12 @@ "tagOnCreate": true, "tagUpdatable": true, "cloudFormationSystemTags": true, - "tagProperty": "/properties/Tags" + "tagProperty": "/properties/Tags", + "permissions": [ + "proton:ListTagsForResource", + "proton:UntagResource", + "proton:TagResource" + ] }, "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-proton", "attributes": { diff --git a/server/schema/resources/aws-proton-servicetemplate.json b/server/schema/resources/aws-proton-servicetemplate.json index 84c5b015..0e85df4b 100644 --- a/server/schema/resources/aws-proton-servicetemplate.json +++ b/server/schema/resources/aws-proton-servicetemplate.json @@ -100,15 +100,83 @@ "permissions": [ "proton:CreateServiceTemplate", "proton:TagResource", - "kms:*", - "proton:GetServiceTemplate" + "proton:GetServiceTemplate", + "kms:CancelKeyDeletion", + "kms:CreateAlias", + "kms:CreateCustomKeyStore", + "kms:CreateGrant", + "kms:CreateKey", + "kms:DeleteAlias", + "kms:DeleteCustomKeyStore", + "kms:DeleteImportedKeyMaterial", + "kms:DescribeCustomKeyStores", + "kms:DescribeKey", + "kms:DisableKey", + "kms:DisableKeyRotation", + "kms:EnableKey", + "kms:EnableKeyRotation", + "kms:GenerateDataKey", + "kms:GetKeyPolicy", + "kms:GetKeyRotationStatus", + "kms:GetParametersForImport", + "kms:GetPublicKey", + "kms:ListAliases", + "kms:ListGrants", + "kms:ListKeyPolicies", + "kms:ListKeyRotations", + "kms:ListKeys", + "kms:ListResourceTags", + "kms:ListRetirableGrants", + "kms:PutKeyPolicy", + "kms:RevokeGrant", + "kms:ScheduleKeyDeletion", + "kms:TagResource", + "kms:UntagResource", + "kms:UpdateAlias", + "kms:UpdateCustomKeyStore", + "kms:UpdateKeyDescription", + "kms:UpdatePrimaryRegion" ] }, "read": { "permissions": [ "proton:GetServiceTemplate", "proton:ListTagsForResource", - "kms:*" + "kms:CancelKeyDeletion", + "kms:CreateAlias", + "kms:CreateCustomKeyStore", + "kms:CreateGrant", + "kms:CreateKey", + "kms:DeleteAlias", + "kms:DeleteCustomKeyStore", + "kms:DeleteImportedKeyMaterial", + "kms:DescribeCustomKeyStores", + "kms:DescribeKey", + "kms:DisableKey", + "kms:DisableKeyRotation", + "kms:EnableKey", + "kms:EnableKeyRotation", + "kms:GenerateDataKey", + "kms:GetKeyPolicy", + "kms:GetKeyRotationStatus", + "kms:GetParametersForImport", + "kms:GetPublicKey", + "kms:ListAliases", + "kms:ListGrants", + "kms:ListKeyPolicies", + "kms:ListKeyRotations", + "kms:ListKeys", + "kms:ListResourceTags", + "kms:ListRetirableGrants", + "kms:PutKeyPolicy", + "kms:RevokeGrant", + "kms:ScheduleKeyDeletion", + "kms:TagResource", + "kms:UntagResource", + "kms:UpdateAlias", + "kms:UpdateCustomKeyStore", + "kms:UpdateKeyDescription", + "kms:UpdatePrimaryRegion" ] }, "update": { @@ -119,15 +187,83 @@ "proton:TagResource", "proton:UntagResource", "proton:UpdateServiceTemplate", - "kms:*" + "kms:CancelKeyDeletion", + "kms:CreateAlias", + "kms:CreateCustomKeyStore", + "kms:CreateGrant", + "kms:CreateKey", + "kms:DeleteAlias", + "kms:DeleteCustomKeyStore", + "kms:DeleteImportedKeyMaterial", + "kms:DescribeCustomKeyStores", + "kms:DescribeKey", + "kms:DisableKey", + "kms:DisableKeyRotation", + "kms:EnableKey", + "kms:EnableKeyRotation", + "kms:GenerateDataKey", + "kms:GetKeyPolicy", + "kms:GetKeyRotationStatus", + "kms:GetParametersForImport", + "kms:GetPublicKey", + "kms:ListAliases", + "kms:ListGrants", + "kms:ListKeyPolicies", + "kms:ListKeyRotations", + "kms:ListKeys", + "kms:ListResourceTags", + "kms:ListRetirableGrants", + "kms:PutKeyPolicy", + "kms:RevokeGrant", + "kms:ScheduleKeyDeletion", + "kms:TagResource", + "kms:UntagResource", + "kms:UpdateAlias", + "kms:UpdateCustomKeyStore", + "kms:UpdateKeyDescription", + "kms:UpdatePrimaryRegion" ] }, "delete": { "permissions": [ "proton:DeleteServiceTemplate", "proton:UntagResource", - "kms:*", - "proton:GetServiceTemplate" + "proton:GetServiceTemplate", + "kms:CancelKeyDeletion", + "kms:CreateAlias", + "kms:CreateCustomKeyStore", + "kms:CreateGrant", + "kms:CreateKey", + "kms:DeleteAlias", + "kms:DeleteCustomKeyStore", + "kms:DeleteImportedKeyMaterial", + "kms:DescribeCustomKeyStores", + "kms:DescribeKey", + "kms:DisableKey", + "kms:DisableKeyRotation", + "kms:EnableKey", + "kms:EnableKeyRotation", + "kms:GenerateDataKey", + "kms:GetKeyPolicy", + "kms:GetKeyRotationStatus", + "kms:GetParametersForImport", + "kms:GetPublicKey", + "kms:ListAliases", + "kms:ListGrants", + "kms:ListKeyPolicies", + "kms:ListKeyRotations", + "kms:ListKeys", + "kms:ListResourceTags", + "kms:ListRetirableGrants", + "kms:PutKeyPolicy", + "kms:RevokeGrant", + "kms:ScheduleKeyDeletion", + "kms:TagResource", + "kms:UntagResource", + "kms:UpdateAlias", + "kms:UpdateCustomKeyStore", + "kms:UpdateKeyDescription", + "kms:UpdatePrimaryRegion" ] }, "list": { @@ -142,7 +278,12 @@ "tagOnCreate": true, "tagUpdatable": true, "cloudFormationSystemTags": true, - "tagProperty": "/properties/Tags" + "tagProperty": "/properties/Tags", + "permissions": [ + "proton:ListTagsForResource", + "proton:UntagResource", + "proton:TagResource" + ] }, "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-proton", "attributes": { diff --git a/server/schema/resources/aws-qbusiness-webexperience.json b/server/schema/resources/aws-qbusiness-webexperience.json index 1de20434..1bb879da 100644 --- a/server/schema/resources/aws-qbusiness-webexperience.json +++ b/server/schema/resources/aws-qbusiness-webexperience.json @@ -112,6 +112,12 @@ "PENDING_AUTH_CONFIG" ], "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: CREATING | ACTIVE | DELETING | FAILED | PENDING_AUTH_CONFIG \nUpdate requires: No interruption" + }, + "Origin": { + "type": "string", + "maxLength": 64, + "minLength": 1, + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 64 \nPattern: ^(http:\\/\\/|https:\\/\\/)[a-zA-Z0-9-_.]+(?::[0-9]{1,5})?$ \nUpdate requires: No interruption" } }, "properties": { @@ -160,6 +166,16 @@ "maxLength": 300, "minLength": 0, "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMaximum Length: 300 \nUpdate requires: No interruption" + }, + "Origins": { + "type": "array", + "insertionOrder": false, + "items": { + "$ref": "#/definitions/Origin" + }, + "maxItems": 10, + "minItems": 0, + "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" } }, "required": [ diff --git a/server/schema/resources/aws-qldb-stream.json b/server/schema/resources/aws-qldb-stream.json index 307e0e1a..9574eb84 100644 --- a/server/schema/resources/aws-qldb-stream.json +++ b/server/schema/resources/aws-qldb-stream.json @@ -150,7 +150,18 @@ "list": { "permissions": [ "qldb:listJournalKinesisStreamsForLedger" - ] + ], + "handlerSchema": { + "properties": { + "LedgerName": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" + } + }, + "required": [ + "LedgerName" + ] + } } }, "attributes": { diff --git a/server/schema/resources/aws-quicksight-analysis.json b/server/schema/resources/aws-quicksight-analysis.json index 48c4079a..21d4f719 100644 --- a/server/schema/resources/aws-quicksight-analysis.json +++ b/server/schema/resources/aws-quicksight-analysis.json @@ -18,7 +18,10 @@ "quicksight:PassDataSet", "quicksight:TagResource", "quicksight:UntagResource", - "quicksight:ListTagsForResource" + "quicksight:ListTagsForResource", + "quicksight:CreateFolderMembership", + "quicksight:DeleteFolderMembership", + "quicksight:ListFoldersForResource" ] }, "update": { @@ -73,7 +76,8 @@ "/properties/Parameters", "/properties/SourceEntity", "/properties/Status", - "/properties/ValidationStrategy" + "/properties/ValidationStrategy", + "/properties/FolderArns" ], "createOnlyProperties": [ "/properties/AnalysisId", @@ -7139,9 +7143,10 @@ "VISUAL", "FILTER_CONTROL", "PARAMETER_CONTROL", - "TEXT_BOX" + "TEXT_BOX", + "IMAGE" ], - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: VISUAL | FILTER_CONTROL | PARAMETER_CONTROL | TEXT_BOX \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: VISUAL | FILTER_CONTROL | PARAMETER_CONTROL | TEXT_BOX | IMAGE \nUpdate requires: No interruption" }, "WaterfallVisual": { "additionalProperties": false, @@ -12511,6 +12516,16 @@ "ValidationStrategy": { "$ref": "#/definitions/ValidationStrategy" }, + "FolderArns": { + "minItems": 0, + "maxItems": 10, + "type": "array", + "items": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + }, "Name": { "minLength": 1, "description": "

The descriptive name of the analysis.

", diff --git a/server/schema/resources/aws-quicksight-dashboard.json b/server/schema/resources/aws-quicksight-dashboard.json index 0e6dd266..e94cf2ab 100644 --- a/server/schema/resources/aws-quicksight-dashboard.json +++ b/server/schema/resources/aws-quicksight-dashboard.json @@ -18,7 +18,10 @@ "quicksight:PassDataSet", "quicksight:TagResource", "quicksight:UntagResource", - "quicksight:ListTagsForResource" + "quicksight:ListTagsForResource", + "quicksight:CreateFolderMembership", + "quicksight:DeleteFolderMembership", + "quicksight:ListFoldersForResource" ] }, "update": { @@ -79,7 +82,8 @@ "/properties/SourceEntity", "/properties/ThemeArn", "/properties/VersionDescription", - "/properties/ValidationStrategy" + "/properties/ValidationStrategy", + "/properties/FolderArns" ], "createOnlyProperties": [ "/properties/AwsAccountId", @@ -7414,9 +7418,10 @@ "VISUAL", "FILTER_CONTROL", "PARAMETER_CONTROL", - "TEXT_BOX" + "TEXT_BOX", + "IMAGE" ], - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: VISUAL | FILTER_CONTROL | PARAMETER_CONTROL | TEXT_BOX \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: VISUAL | FILTER_CONTROL | PARAMETER_CONTROL | TEXT_BOX | IMAGE \nUpdate requires: No interruption" }, "WaterfallVisual": { "additionalProperties": false, @@ -12776,6 +12781,16 @@ "ValidationStrategy": { "$ref": "#/definitions/ValidationStrategy" }, + "FolderArns": { + "minItems": 0, + "maxItems": 10, + "type": "array", + "items": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + }, "DashboardId": { "minLength": 1, "type": "string", diff --git a/server/schema/resources/aws-quicksight-dataset.json b/server/schema/resources/aws-quicksight-dataset.json index c26db73b..c6da5579 100644 --- a/server/schema/resources/aws-quicksight-dataset.json +++ b/server/schema/resources/aws-quicksight-dataset.json @@ -27,7 +27,10 @@ "quicksight:TagResource", "quicksight:ListTagsForResource", "quicksight:DescribeDataSetRefreshProperties", - "quicksight:PutDataSetRefreshProperties" + "quicksight:PutDataSetRefreshProperties", + "quicksight:CreateFolderMembership", + "quicksight:DeleteFolderMembership", + "quicksight:ListFoldersForResource" ] }, "update": { @@ -617,7 +620,7 @@ "items": { "$ref": "#/definitions/InputColumn" }, - "markdownDescription": "

The column schema of the table.

\n\n---\n\nRequired: Yes \nType: Array \nUpdate requires: No interruption" + "markdownDescription": "

The column schema of the table.

\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" }, "Schema": { "minLength": 0, @@ -643,7 +646,6 @@ }, "required": [ "DataSourceArn", - "InputColumns", "Name" ], "markdownDescription": "

A physical table type for relational data sources.

\n\n---\n\nRequired: No \nUpdate requires: No interruption" @@ -1556,7 +1558,7 @@ "items": { "$ref": "#/definitions/InputColumn" }, - "markdownDescription": "

The column schema from the SQL query result set.

\n\n---\n\nRequired: Yes \nType: Array \nUpdate requires: No interruption" + "markdownDescription": "

The column schema from the SQL query result set.

\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" }, "Name": { "minLength": 1, @@ -1567,7 +1569,6 @@ } }, "required": [ - "Columns", "DataSourceArn", "Name", "SqlQuery" diff --git a/server/schema/resources/aws-quicksight-datasource.json b/server/schema/resources/aws-quicksight-datasource.json index 46556402..0b7b3bda 100644 --- a/server/schema/resources/aws-quicksight-datasource.json +++ b/server/schema/resources/aws-quicksight-datasource.json @@ -1,99 +1,90 @@ { - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-quicksight", - "handlers": { - "read": { - "permissions": [ - "quicksight:DescribeDataSource", - "quicksight:DescribeDataSourcePermissions", - "quicksight:ListTagsForResource" - ] - }, - "create": { - "permissions": [ - "quicksight:CreateDataSource", - "quicksight:DescribeDataSource", - "quicksight:DescribeDataSourcePermissions", - "quicksight:TagResource", - "quicksight:ListTagsForResource" - ] - }, - "update": { - "permissions": [ - "quicksight:DescribeDataSource", - "quicksight:DescribeDataSourcePermissions", - "quicksight:UpdateDataSource", - "quicksight:UpdateDataSourcePermissions", - "quicksight:CreateFolderMembership", - "quicksight:DeleteFolderMembership", - "quicksight:ListFoldersForResource", - "quicksight:TagResource", - "quicksight:UntagResource", - "quicksight:ListTagsForResource" - ] - }, - "list": { - "permissions": [ - "quicksight:DescribeDataSource", - "quicksight:ListDataSources" - ] - }, - "delete": { - "permissions": [ - "quicksight:DescribeDataSource", - "quicksight:DescribeDataSourcePermissions", - "quicksight:DeleteDataSource", - "quicksight:ListTagsForResource" - ] - } - }, "typeName": "AWS::QuickSight::DataSource", - "readOnlyProperties": [ - "/properties/Arn", - "/properties/CreatedTime", - "/properties/LastUpdatedTime", - "/properties/Status" - ], "description": "Definition of the AWS::QuickSight::DataSource Resource Type.", - "writeOnlyProperties": [ - "/properties/Credentials" - ], - "createOnlyProperties": [ - "/properties/AwsAccountId", - "/properties/DataSourceId", - "/properties/Type" - ], - "additionalProperties": false, - "primaryIdentifier": [ - "/properties/AwsAccountId", - "/properties/DataSourceId" - ], "definitions": { - "AuroraPostgreSqlParameters": { - "description": "

Parameters for Amazon Aurora PostgreSQL-Compatible Edition.

", + "AmazonElasticsearchParameters": { + "type": "object", + "description": "

The parameters for OpenSearch.

", + "properties": { + "Domain": { + "type": "string", + "maxLength": 64, + "minLength": 1, + "description": "

The OpenSearch domain.

", + "markdownDescription": "

The OpenSearch domain.

\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 64 \nUpdate requires: No interruption" + } + }, + "required": [ + "Domain" + ], + "additionalProperties": false, + "markdownDescription": "

The parameters for OpenSearch.

\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "AmazonOpenSearchParameters": { + "type": "object", + "description": "

The parameters for OpenSearch.

", + "properties": { + "Domain": { + "type": "string", + "maxLength": 64, + "minLength": 1, + "description": "

The OpenSearch domain.

", + "markdownDescription": "

The OpenSearch domain.

\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 64 \nUpdate requires: No interruption" + } + }, + "required": [ + "Domain" + ], + "additionalProperties": false, + "markdownDescription": "

The parameters for OpenSearch.

\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "AthenaParameters": { + "type": "object", + "description": "

Parameters for Amazon Athena.

", + "properties": { + "WorkGroup": { + "type": "string", + "maxLength": 128, + "minLength": 1, + "description": "

The workgroup that Amazon Athena uses.

", + "markdownDescription": "

The workgroup that Amazon Athena uses.

\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 128 \nUpdate requires: No interruption" + }, + "RoleArn": { + "type": "string", + "maxLength": 2048, + "minLength": 20, + "description": "

Use the RoleArn structure to override an account-wide role for a specific Athena data source. For example, say an account administrator has turned off all Athena access with an account-wide role. The administrator can then use RoleArn to bypass the account-wide role and allow Athena access for the single Athena data source that is specified in the structure, even if the account-wide role forbidding Athena access is still active.

", + "markdownDescription": "

Use the RoleArn structure to override an account-wide role for a specific Athena data source. For example, say an account administrator has turned off all Athena access with an account-wide role. The administrator can then use RoleArn to bypass the account-wide role and allow Athena access for the single Athena data source that is specified in the structure, even if the account-wide role forbidding Athena access is still active.

\n\n---\n\nRequired: No \nType: String \nMinimum Length: 20 \nMaximum Length: 2048 \nUpdate requires: No interruption" + } + }, "additionalProperties": false, + "markdownDescription": "

Parameters for Amazon Athena.

\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "AuroraParameters": { "type": "object", + "description": "

Parameters for Amazon Aurora.

", "properties": { + "Host": { + "type": "string", + "maxLength": 256, + "minLength": 1, + "description": "

Host.

", + "markdownDescription": "

Host.

\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 256 \nUpdate requires: No interruption" + }, "Port": { + "type": "number", "default": 0, "maximum": 65535, - "description": "

The port that Amazon Aurora PostgreSQL is listening on.

", - "type": "number", "minimum": 1, - "markdownDescription": "

The port that Amazon Aurora PostgreSQL is listening on.

\n\n---\n\nRequired: Yes \nType: Number \nUpdate requires: No interruption" + "description": "

Port.

", + "markdownDescription": "

Port.

\n\n---\n\nRequired: Yes \nType: Number \nUpdate requires: No interruption" }, "Database": { - "minLength": 1, - "description": "

The Amazon Aurora PostgreSQL database to connect to.

", "type": "string", "maxLength": 128, - "markdownDescription": "

The Amazon Aurora PostgreSQL database to connect to.

\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 128 \nUpdate requires: No interruption" - }, - "Host": { "minLength": 1, - "description": "

The Amazon Aurora PostgreSQL-Compatible host to connect to.

", - "type": "string", - "maxLength": 256, - "markdownDescription": "

The Amazon Aurora PostgreSQL-Compatible host to connect to.

\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 256 \nUpdate requires: No interruption" + "description": "

Database.

", + "markdownDescription": "

Database.

\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 128 \nUpdate requires: No interruption" } }, "required": [ @@ -101,190 +92,227 @@ "Host", "Port" ], - "markdownDescription": "

Parameters for Amazon Aurora PostgreSQL-Compatible Edition.

\n\n---\n\nRequired: No \nUpdate requires: No interruption" - }, - "DataSourceCredentials": { - "description": "

Data source credentials. This is a variant type structure. For this structure to be\n valid, only one of the attributes can be non-null.

", "additionalProperties": false, + "markdownDescription": "

Parameters for Amazon Aurora.

\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "AuroraPostgreSqlParameters": { "type": "object", + "description": "

Parameters for Amazon Aurora PostgreSQL-Compatible Edition.

", "properties": { - "SecretArn": { - "minLength": 1, - "description": "

The Amazon Resource Name (ARN) of the secret associated with the data source in Amazon Secrets Manager.

", + "Host": { "type": "string", - "maxLength": 2048, - "markdownDescription": "

The Amazon Resource Name (ARN) of the secret associated with the data source in Amazon Secrets Manager.

\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 2048 \nPattern: ^arn:[-a-z0-9]*:secretsmanager:[-a-z0-9]*:[0-9]{12}:secret:.+$ \nUpdate requires: No interruption" + "maxLength": 256, + "minLength": 1, + "description": "

The Amazon Aurora PostgreSQL-Compatible host to connect to.

", + "markdownDescription": "

The Amazon Aurora PostgreSQL-Compatible host to connect to.

\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 256 \nUpdate requires: No interruption" }, - "CopySourceArn": { - "description": "

The Amazon Resource Name (ARN) of a data source that has the credential pair that you\n want to use. When CopySourceArn is not null, the credential pair from the\n data source in the ARN is used as the credentials for the\n DataSourceCredentials structure.

", - "type": "string", - "markdownDescription": "

The Amazon Resource Name (ARN) of a data source that has the credential pair that you\n want to use. When CopySourceArn is not null, the credential pair from the\n data source in the ARN is used as the credentials for the\n DataSourceCredentials structure.

\n\n---\n\nRequired: No \nType: String \nPattern: ^arn:[-a-z0-9]*:quicksight:[-a-z0-9]*:[0-9]{12}:datasource/.+$ \nUpdate requires: No interruption" + "Port": { + "type": "number", + "default": 0, + "maximum": 65535, + "minimum": 1, + "description": "

The port that Amazon Aurora PostgreSQL is listening on.

", + "markdownDescription": "

The port that Amazon Aurora PostgreSQL is listening on.

\n\n---\n\nRequired: Yes \nType: Number \nUpdate requires: No interruption" }, - "CredentialPair": { - "$ref": "#/definitions/CredentialPair" + "Database": { + "type": "string", + "maxLength": 128, + "minLength": 1, + "description": "

The Amazon Aurora PostgreSQL database to connect to.

", + "markdownDescription": "

The Amazon Aurora PostgreSQL database to connect to.

\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 128 \nUpdate requires: No interruption" } }, - "markdownDescription": "

Data source credentials. This is a variant type structure. For this structure to be\n valid, only one of the attributes can be non-null.

\n\n---\n\nRequired: No \nUpdate requires: No interruption" - }, - "ManifestFileLocation": { - "description": "

Amazon S3 manifest file location.

", + "required": [ + "Database", + "Host", + "Port" + ], "additionalProperties": false, + "markdownDescription": "

Parameters for Amazon Aurora PostgreSQL-Compatible Edition.

\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "AuthenticationType": { + "type": "string", + "enum": [ + "PASSWORD", + "TOKEN", + "X509" + ], + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: PASSWORD | TOKEN | X509 \nUpdate requires: No interruption" + }, + "AwsIotAnalyticsParameters": { "type": "object", + "description": "

The parameters for IoT Analytics.

", "properties": { - "Bucket": { - "minLength": 1, - "description": "

Amazon S3 bucket.

", + "DataSetName": { "type": "string", - "maxLength": 1024, - "markdownDescription": "

Amazon S3 bucket.

\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 1024 \nUpdate requires: No interruption" - }, - "Key": { + "maxLength": 128, "minLength": 1, - "description": "

Amazon S3 key that identifies an object.

", - "type": "string", - "maxLength": 1024, - "markdownDescription": "

Amazon S3 key that identifies an object.

\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 1024 \nUpdate requires: No interruption" + "description": "

Dataset name.

", + "markdownDescription": "

Dataset name.

\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 128 \nUpdate requires: No interruption" } }, "required": [ - "Bucket", - "Key" + "DataSetName" ], - "markdownDescription": "

Amazon S3 manifest file location.

\n\n---\n\nRequired: No \nUpdate requires: No interruption" - }, - "StarburstParameters": { - "description": "

The parameters that are required to connect to a Starburst data source.

", "additionalProperties": false, + "markdownDescription": "

The parameters for IoT Analytics.

\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "CredentialPair": { "type": "object", + "description": "

The combination of user name and password that are used as credentials.

", "properties": { - "Port": { - "default": 0, - "maximum": 65535, - "description": "

The port for the Starburst data source.

", - "type": "number", - "minimum": 1, - "markdownDescription": "

The port for the Starburst data source.

\n\n---\n\nRequired: Yes \nType: Number \nUpdate requires: No interruption" - }, - "ProductType": { - "$ref": "#/definitions/StarburstProductType" - }, - "Host": { - "minLength": 1, - "description": "

The host name of the Starburst data source.

", + "Username": { "type": "string", - "maxLength": 256, - "markdownDescription": "

The host name of the Starburst data source.

\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 256 \nUpdate requires: No interruption" + "maxLength": 64, + "minLength": 1, + "description": "

User name.

", + "markdownDescription": "

User name.

\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 64 \nUpdate requires: No interruption" }, - "Catalog": { - "minLength": 0, - "description": "

The catalog name for the Starburst data source.

", + "Password": { "type": "string", - "maxLength": 128, - "markdownDescription": "

The catalog name for the Starburst data source.

\n\n---\n\nRequired: Yes \nType: String \nMaximum Length: 128 \nUpdate requires: No interruption" + "maxLength": 1024, + "minLength": 1, + "description": "

Password.

", + "markdownDescription": "

Password.

\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 1024 \nUpdate requires: No interruption" + }, + "AlternateDataSourceParameters": { + "type": "array", + "items": { + "$ref": "#/definitions/DataSourceParameters" + }, + "maxItems": 50, + "minItems": 1, + "description": "

A set of alternate data source parameters that you want to share for these\n credentials. The credentials are applied in tandem with the data source parameters when\n you copy a data source by using a create or update request. The API operation compares\n the DataSourceParameters structure that's in the request with the\n structures in the AlternateDataSourceParameters allow list. If the\n structures are an exact match, the request is allowed to use the new data source with\n the existing credentials. If the AlternateDataSourceParameters list is\n null, the DataSourceParameters originally used with these\n Credentials is automatically allowed.

", + "markdownDescription": "

A set of alternate data source parameters that you want to share for these\n credentials. The credentials are applied in tandem with the data source parameters when\n you copy a data source by using a create or update request. The API operation compares\n the DataSourceParameters structure that's in the request with the\n structures in the AlternateDataSourceParameters allow list. If the\n structures are an exact match, the request is allowed to use the new data source with\n the existing credentials. If the AlternateDataSourceParameters list is\n null, the DataSourceParameters originally used with these\n Credentials is automatically allowed.

\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" } }, "required": [ - "Catalog", - "Host", - "Port" + "Password", + "Username" ], - "markdownDescription": "

The parameters that are required to connect to a Starburst data source.

\n\n---\n\nRequired: No \nUpdate requires: No interruption" - }, - "RedshiftParameters": { - "description": "

The parameters for Amazon Redshift. The ClusterId field can be blank if\n Host and Port are both set. The Host and Port fields can be blank if the ClusterId field is set.

", "additionalProperties": false, + "markdownDescription": "

The combination of user name and password that are used as credentials.

\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "DataSourceCredentials": { "type": "object", + "description": "

Data source credentials. This is a variant type structure. For this structure to be\n valid, only one of the attributes can be non-null.

", "properties": { - "IAMParameters": { - "$ref": "#/definitions/RedshiftIAMParameters" + "CredentialPair": { + "$ref": "#/definitions/CredentialPair" }, - "ClusterId": { - "minLength": 1, - "description": "

Cluster ID. This field can be blank if the Host and Port are\n provided.

", + "CopySourceArn": { "type": "string", - "maxLength": 64, - "markdownDescription": "

Cluster ID. This field can be blank if the Host and Port are\n provided.

\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 64 \nUpdate requires: No interruption" - }, - "Port": { - "default": 0, - "maximum": 65535, - "description": "

Port. This field can be blank if the ClusterId is provided.

", - "type": "number", - "minimum": 0, - "markdownDescription": "

Port. This field can be blank if the ClusterId is provided.

\n\n---\n\nRequired: No \nType: Number \nUpdate requires: No interruption" + "description": "

The Amazon Resource Name (ARN) of a data source that has the credential pair that you\n want to use. When CopySourceArn is not null, the credential pair from the\n data source in the ARN is used as the credentials for the\n DataSourceCredentials structure.

", + "markdownDescription": "

The Amazon Resource Name (ARN) of a data source that has the credential pair that you\n want to use. When CopySourceArn is not null, the credential pair from the\n data source in the ARN is used as the credentials for the\n DataSourceCredentials structure.

\n\n---\n\nRequired: No \nType: String \nPattern: ^arn:[-a-z0-9]*:quicksight:[-a-z0-9]*:[0-9]{12}:datasource/.+$ \nUpdate requires: No interruption" }, - "Database": { - "minLength": 1, - "description": "

Database.

", + "SecretArn": { "type": "string", - "maxLength": 128, - "markdownDescription": "

Database.

\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 128 \nUpdate requires: No interruption" - }, - "Host": { + "maxLength": 2048, "minLength": 1, - "description": "

Host. This field can be blank if ClusterId is provided.

", - "type": "string", - "maxLength": 256, - "markdownDescription": "

Host. This field can be blank if ClusterId is provided.

\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 256 \nUpdate requires: No interruption" - }, - "IdentityCenterConfiguration": { - "$ref": "#/definitions/IdentityCenterConfiguration" + "description": "

The Amazon Resource Name (ARN) of the secret associated with the data source in Amazon Secrets Manager.

", + "markdownDescription": "

The Amazon Resource Name (ARN) of the secret associated with the data source in Amazon Secrets Manager.

\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 2048 \nPattern: ^arn:[-a-z0-9]*:secretsmanager:[-a-z0-9]*:[0-9]{12}:secret:.+$ \nUpdate requires: No interruption" } }, - "required": [ - "Database" - ], - "markdownDescription": "

The parameters for Amazon Redshift. The ClusterId field can be blank if\n Host and Port are both set. The Host and Port fields can be blank if the ClusterId field is set.

\n\n---\n\nRequired: No \nUpdate requires: No interruption" - }, - "VpcConnectionProperties": { - "description": "

VPC connection properties.

", "additionalProperties": false, + "markdownDescription": "

Data source credentials. This is a variant type structure. For this structure to be\n valid, only one of the attributes can be non-null.

\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "DataSourceErrorInfo": { "type": "object", + "description": "

Error information for the data source creation or update.

", "properties": { - "VpcConnectionArn": { - "description": "

The Amazon Resource Name (ARN) for the VPC connection.

", + "Type": { + "$ref": "#/definitions/DataSourceErrorInfoType" + }, + "Message": { "type": "string", - "markdownDescription": "

The Amazon Resource Name (ARN) for the VPC connection.

\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" + "description": "

Error message.

", + "markdownDescription": "

Error message.

\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" } }, - "required": [ - "VpcConnectionArn" + "additionalProperties": false, + "markdownDescription": "

Error information for the data source creation or update.

\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "DataSourceErrorInfoType": { + "type": "string", + "enum": [ + "ACCESS_DENIED", + "COPY_SOURCE_NOT_FOUND", + "TIMEOUT", + "ENGINE_VERSION_NOT_SUPPORTED", + "UNKNOWN_HOST", + "GENERIC_SQL_FAILURE", + "CONFLICT", + "UNKNOWN" ], - "markdownDescription": "

VPC connection properties.

\n\n---\n\nRequired: No \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: ACCESS_DENIED | COPY_SOURCE_NOT_FOUND | TIMEOUT | ENGINE_VERSION_NOT_SUPPORTED | UNKNOWN_HOST | GENERIC_SQL_FAILURE | CONFLICT | UNKNOWN \nUpdate requires: No interruption" }, - "SnowflakeParameters": { - "description": "

The parameters for Snowflake.

", - "additionalProperties": false, + "DataSourceParameters": { "type": "object", + "description": "

The parameters that Amazon QuickSight uses to connect to your underlying data source.\n This is a variant type structure. For this structure to be valid, only one of the\n attributes can be non-null.

", "properties": { - "Warehouse": { - "minLength": 0, - "description": "

Warehouse.

", - "type": "string", - "maxLength": 128, - "markdownDescription": "

Warehouse.

\n\n---\n\nRequired: Yes \nType: String \nMaximum Length: 128 \nUpdate requires: No interruption" + "AmazonElasticsearchParameters": { + "$ref": "#/definitions/AmazonElasticsearchParameters" }, - "Database": { - "minLength": 1, - "description": "

Database.

", - "type": "string", - "maxLength": 128, - "markdownDescription": "

Database.

\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 128 \nUpdate requires: No interruption" + "AthenaParameters": { + "$ref": "#/definitions/AthenaParameters" }, - "Host": { - "minLength": 1, - "description": "

Host.

", - "type": "string", - "maxLength": 256, - "markdownDescription": "

Host.

\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 256 \nUpdate requires: No interruption" + "AuroraParameters": { + "$ref": "#/definitions/AuroraParameters" + }, + "AuroraPostgreSqlParameters": { + "$ref": "#/definitions/AuroraPostgreSqlParameters" + }, + "MariaDbParameters": { + "$ref": "#/definitions/MariaDbParameters" + }, + "MySqlParameters": { + "$ref": "#/definitions/MySqlParameters" + }, + "OracleParameters": { + "$ref": "#/definitions/OracleParameters" + }, + "PostgreSqlParameters": { + "$ref": "#/definitions/PostgreSqlParameters" + }, + "PrestoParameters": { + "$ref": "#/definitions/PrestoParameters" + }, + "RdsParameters": { + "$ref": "#/definitions/RdsParameters" + }, + "RedshiftParameters": { + "$ref": "#/definitions/RedshiftParameters" + }, + "S3Parameters": { + "$ref": "#/definitions/S3Parameters" + }, + "SnowflakeParameters": { + "$ref": "#/definitions/SnowflakeParameters" + }, + "SparkParameters": { + "$ref": "#/definitions/SparkParameters" + }, + "SqlServerParameters": { + "$ref": "#/definitions/SqlServerParameters" + }, + "TeradataParameters": { + "$ref": "#/definitions/TeradataParameters" + }, + "AmazonOpenSearchParameters": { + "$ref": "#/definitions/AmazonOpenSearchParameters" + }, + "DatabricksParameters": { + "$ref": "#/definitions/DatabricksParameters" + }, + "StarburstParameters": { + "$ref": "#/definitions/StarburstParameters" + }, + "TrinoParameters": { + "$ref": "#/definitions/TrinoParameters" } }, - "required": [ - "Database", - "Host", - "Warehouse" - ], - "markdownDescription": "

The parameters for Snowflake.

\n\n---\n\nRequired: No \nUpdate requires: No interruption" + "additionalProperties": false, + "markdownDescription": "

The parameters that Amazon QuickSight uses to connect to your underlying data source.\n This is a variant type structure. For this structure to be valid, only one of the\n attributes can be non-null.

\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, "DataSourceType": { "type": "string", @@ -313,6 +341,7 @@ "PRESTO", "REDSHIFT", "S3", + "S3_TABLES", "SALESFORCE", "SERVICENOW", "SNOWFLAKE", @@ -332,231 +361,108 @@ "IMPALA", "GLUE" ], - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: ADOBE_ANALYTICS | AMAZON_ELASTICSEARCH | AMAZON_OPENSEARCH | ATHENA | AURORA | AURORA_POSTGRESQL | AWS_IOT_ANALYTICS | DATABRICKS | DENODO | DREMIO | DYNAMODB | SAPHANA | DB2_AS400 | EXASOL | FILE | GITHUB | JIRA | MARIADB | MYSQL | ORACLE | POSTGRESQL | PRESTO | REDSHIFT | S3 | SALESFORCE | SERVICENOW | SNOWFLAKE | SPARK | SQLSERVER | TERADATA | TIMESTREAM | TWITTER | BIGQUERY | GOOGLE_ANALYTICS | TRINO | STARBURST | MONGO | MONGO_ATLAS | DOCUMENTDB | APPFLOW | IMPALA | GLUE \nUpdate requires: No interruption" - }, - "AmazonElasticsearchParameters": { - "description": "

The parameters for OpenSearch.

", - "additionalProperties": false, - "type": "object", - "properties": { - "Domain": { - "minLength": 1, - "description": "

The OpenSearch domain.

", - "type": "string", - "maxLength": 64, - "markdownDescription": "

The OpenSearch domain.

\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 64 \nUpdate requires: No interruption" - } - }, - "required": [ - "Domain" - ], - "markdownDescription": "

The parameters for OpenSearch.

\n\n---\n\nRequired: No \nUpdate requires: No interruption" - }, - "AmazonOpenSearchParameters": { - "description": "

The parameters for OpenSearch.

", - "additionalProperties": false, - "type": "object", - "properties": { - "Domain": { - "minLength": 1, - "description": "

The OpenSearch domain.

", - "type": "string", - "maxLength": 64, - "markdownDescription": "

The OpenSearch domain.

\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 64 \nUpdate requires: No interruption" - } - }, - "required": [ - "Domain" - ], - "markdownDescription": "

The parameters for OpenSearch.

\n\n---\n\nRequired: No \nUpdate requires: No interruption" - }, - "ResourceStatus": { - "type": "string", - "enum": [ - "CREATION_IN_PROGRESS", - "CREATION_SUCCESSFUL", - "CREATION_FAILED", - "UPDATE_IN_PROGRESS", - "UPDATE_SUCCESSFUL", - "UPDATE_FAILED", - "DELETED" - ], - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: CREATION_IN_PROGRESS | CREATION_SUCCESSFUL | CREATION_FAILED | UPDATE_IN_PROGRESS | UPDATE_SUCCESSFUL | UPDATE_FAILED | DELETED \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: ADOBE_ANALYTICS | AMAZON_ELASTICSEARCH | AMAZON_OPENSEARCH | ATHENA | AURORA | AURORA_POSTGRESQL | AWS_IOT_ANALYTICS | DATABRICKS | DENODO | DREMIO | DYNAMODB | SAPHANA | DB2_AS400 | EXASOL | FILE | GITHUB | JIRA | MARIADB | MYSQL | ORACLE | POSTGRESQL | PRESTO | REDSHIFT | S3 | S3_TABLES | SALESFORCE | SERVICENOW | SNOWFLAKE | SPARK | SQLSERVER | TERADATA | TIMESTREAM | TWITTER | BIGQUERY | GOOGLE_ANALYTICS | TRINO | STARBURST | MONGO | MONGO_ATLAS | DOCUMENTDB | APPFLOW | IMPALA | GLUE \nUpdate requires: No interruption" }, - "AuroraParameters": { - "description": "

Parameters for Amazon Aurora.

", - "additionalProperties": false, + "DatabricksParameters": { "type": "object", + "description": "

The parameters that are required to connect to a Databricks data source.

", "properties": { - "Port": { - "default": 0, - "maximum": 65535, - "description": "

Port.

", - "type": "number", - "minimum": 1, - "markdownDescription": "

Port.

\n\n---\n\nRequired: Yes \nType: Number \nUpdate requires: No interruption" - }, - "Database": { - "minLength": 1, - "description": "

Database.

", - "type": "string", - "maxLength": 128, - "markdownDescription": "

Database.

\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 128 \nUpdate requires: No interruption" - }, "Host": { - "minLength": 1, - "description": "

Host.

", - "type": "string", - "maxLength": 256, - "markdownDescription": "

Host.

\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 256 \nUpdate requires: No interruption" - } - }, - "required": [ - "Database", - "Host", - "Port" - ], - "markdownDescription": "

Parameters for Amazon Aurora.

\n\n---\n\nRequired: No \nUpdate requires: No interruption" - }, - "S3Parameters": { - "description": "

The parameters for S3.

", - "additionalProperties": false, - "type": "object", - "properties": { - "ManifestFileLocation": { - "$ref": "#/definitions/ManifestFileLocation" + "type": "string", + "maxLength": 256, + "minLength": 1, + "description": "

The host name of the Databricks data source.

", + "markdownDescription": "

The host name of the Databricks data source.

\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 256 \nUpdate requires: No interruption" }, - "RoleArn": { - "minLength": 20, - "description": "

Use the RoleArn structure to override an account-wide role for a specific S3 data source. For example, say an account administrator has turned off all S3 access with an account-wide role. The administrator can then use RoleArn to bypass the account-wide role and allow S3 access for the single S3 data source that is specified in the structure, even if the account-wide role forbidding S3 access is still active.

", + "Port": { + "type": "number", + "default": 0, + "maximum": 65535, + "minimum": 1, + "description": "

The port for the Databricks data source.

", + "markdownDescription": "

The port for the Databricks data source.

\n\n---\n\nRequired: Yes \nType: Number \nUpdate requires: No interruption" + }, + "SqlEndpointPath": { "type": "string", - "maxLength": 2048, - "markdownDescription": "

Use the RoleArn structure to override an account-wide role for a specific S3 data source. For example, say an account administrator has turned off all S3 access with an account-wide role. The administrator can then use RoleArn to bypass the account-wide role and allow S3 access for the single S3 data source that is specified in the structure, even if the account-wide role forbidding S3 access is still active.

\n\n---\n\nRequired: No \nType: String \nMinimum Length: 20 \nMaximum Length: 2048 \nUpdate requires: No interruption" + "maxLength": 4096, + "minLength": 1, + "description": "

The HTTP path of the Databricks data source.

", + "markdownDescription": "

The HTTP path of the Databricks data source.

\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 4096 \nUpdate requires: No interruption" } }, "required": [ - "ManifestFileLocation" + "Host", + "Port", + "SqlEndpointPath" ], - "markdownDescription": "

The parameters for S3.

\n\n---\n\nRequired: No \nUpdate requires: No interruption" + "additionalProperties": false, + "markdownDescription": "

The parameters that are required to connect to a Databricks data source.

\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, "IdentityCenterConfiguration": { - "description": "

The parameters for an IAM Identity Center configuration.

", - "additionalProperties": false, "type": "object", + "description": "

The parameters for an IAM Identity Center configuration.

", "properties": { "EnableIdentityPropagation": { + "type": "boolean", "default": null, "description": "

A Boolean option that controls whether Trusted Identity Propagation should be used.

", - "type": "boolean", "markdownDescription": "

A Boolean option that controls whether Trusted Identity Propagation should be used.

\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" } }, - "markdownDescription": "

The parameters for an IAM Identity Center configuration.

\n\n---\n\nRequired: No \nUpdate requires: No interruption" - }, - "SslProperties": { - "description": "

Secure Socket Layer (SSL) properties that apply when Amazon QuickSight connects to your\n underlying data source.

", "additionalProperties": false, - "type": "object", - "properties": { - "DisableSsl": { - "default": false, - "description": "

A Boolean option to control whether SSL should be disabled.

", - "type": "boolean", - "markdownDescription": "

A Boolean option to control whether SSL should be disabled.

\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" - } - }, - "markdownDescription": "

Secure Socket Layer (SSL) properties that apply when Amazon QuickSight connects to your\n underlying data source.

\n\n---\n\nRequired: No \nUpdate requires: No interruption" - }, - "DataSourceErrorInfoType": { - "type": "string", - "enum": [ - "ACCESS_DENIED", - "COPY_SOURCE_NOT_FOUND", - "TIMEOUT", - "ENGINE_VERSION_NOT_SUPPORTED", - "UNKNOWN_HOST", - "GENERIC_SQL_FAILURE", - "CONFLICT", - "UNKNOWN" - ], - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: ACCESS_DENIED | COPY_SOURCE_NOT_FOUND | TIMEOUT | ENGINE_VERSION_NOT_SUPPORTED | UNKNOWN_HOST | GENERIC_SQL_FAILURE | CONFLICT | UNKNOWN \nUpdate requires: No interruption" + "markdownDescription": "

The parameters for an IAM Identity Center configuration.

\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, - "ResourcePermission": { - "description": "

Permission for the resource.

", - "additionalProperties": false, + "ManifestFileLocation": { "type": "object", + "description": "

Amazon S3 manifest file location.

", "properties": { - "Actions": { - "minItems": 1, - "maxItems": 20, - "description": "

The IAM action to grant or revoke permissions on.

", - "type": "array", - "items": { - "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" - }, - "markdownDescription": "

The IAM action to grant or revoke permissions on.

\n\n---\n\nRequired: Yes \nType: Array \nUpdate requires: No interruption" - }, - "Resource": { + "Bucket": { "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" - }, - "Principal": { + "maxLength": 1024, "minLength": 1, - "description": "

The Amazon Resource Name (ARN) of the principal. This can be one of the\n following:

\n
    \n
  • \n

    The ARN of an Amazon QuickSight user or group associated with a data source or dataset. (This is common.)

    \n
  • \n
  • \n

    The ARN of an Amazon QuickSight user, group, or namespace associated with an analysis, dashboard, template, or theme. (This is common.)

    \n
  • \n
  • \n

    The ARN of an Amazon Web Services account root: This is an IAM ARN rather than a QuickSight\n ARN. Use this option only to share resources (templates) across Amazon Web Services accounts.\n (This is less common.)

    \n
  • \n
", + "description": "

Amazon S3 bucket.

", + "markdownDescription": "

Amazon S3 bucket.

\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 1024 \nUpdate requires: No interruption" + }, + "Key": { "type": "string", - "maxLength": 256, - "markdownDescription": "

The Amazon Resource Name (ARN) of the principal. This can be one of the\n following:

\n
    \n
  • \n

    The ARN of an Amazon QuickSight user or group associated with a data source or dataset. (This is common.)

    \n
  • \n
  • \n

    The ARN of an Amazon QuickSight user, group, or namespace associated with an analysis, dashboard, template, or theme. (This is common.)

    \n
  • \n
  • \n

    The ARN of an Amazon Web Services account root: This is an IAM ARN rather than a QuickSight\n ARN. Use this option only to share resources (templates) across Amazon Web Services accounts.\n (This is less common.)

    \n
  • \n
\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 256 \nUpdate requires: No interruption" + "maxLength": 1024, + "minLength": 1, + "description": "

Amazon S3 key that identifies an object.

", + "markdownDescription": "

Amazon S3 key that identifies an object.

\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 1024 \nUpdate requires: No interruption" } }, "required": [ - "Actions", - "Principal" + "Bucket", + "Key" ], - "markdownDescription": "

Permission for the resource.

\n\n---\n\nRequired: No \nUpdate requires: No interruption" - }, - "DataSourceErrorInfo": { - "description": "

Error information for the data source creation or update.

", "additionalProperties": false, - "type": "object", - "properties": { - "Type": { - "$ref": "#/definitions/DataSourceErrorInfoType" - }, - "Message": { - "description": "

Error message.

", - "type": "string", - "markdownDescription": "

Error message.

\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" - } - }, - "markdownDescription": "

Error information for the data source creation or update.

\n\n---\n\nRequired: No \nUpdate requires: No interruption" + "markdownDescription": "

Amazon S3 manifest file location.

\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, - "TeradataParameters": { - "description": "

The parameters for Teradata.

", - "additionalProperties": false, + "MariaDbParameters": { "type": "object", + "description": "

The parameters for MariaDB.

", "properties": { + "Host": { + "type": "string", + "maxLength": 256, + "minLength": 1, + "description": "

Host.

", + "markdownDescription": "

Host.

\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 256 \nUpdate requires: No interruption" + }, "Port": { + "type": "number", "default": 0, "maximum": 65535, - "description": "

Port.

", - "type": "number", "minimum": 1, + "description": "

Port.

", "markdownDescription": "

Port.

\n\n---\n\nRequired: Yes \nType: Number \nUpdate requires: No interruption" }, "Database": { - "minLength": 1, - "description": "

Database.

", "type": "string", "maxLength": 128, - "markdownDescription": "

Database.

\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 128 \nUpdate requires: No interruption" - }, - "Host": { "minLength": 1, - "description": "

Host.

", - "type": "string", - "maxLength": 256, - "markdownDescription": "

Host.

\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 256 \nUpdate requires: No interruption" + "description": "

Database.

", + "markdownDescription": "

Database.

\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 128 \nUpdate requires: No interruption" } }, "required": [ @@ -564,109 +470,100 @@ "Host", "Port" ], - "markdownDescription": "

The parameters for Teradata.

\n\n---\n\nRequired: No \nUpdate requires: No interruption" - }, - "RdsParameters": { - "description": "

The parameters for Amazon RDS.

", "additionalProperties": false, + "markdownDescription": "

The parameters for MariaDB.

\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "MySqlParameters": { "type": "object", + "description": "

The parameters for MySQL.

", "properties": { - "InstanceId": { - "minLength": 1, - "description": "

Instance ID.

", + "Host": { "type": "string", - "maxLength": 64, - "markdownDescription": "

Instance ID.

\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 64 \nUpdate requires: No interruption" + "maxLength": 256, + "minLength": 1, + "description": "

Host.

", + "markdownDescription": "

Host.

\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 256 \nUpdate requires: No interruption" + }, + "Port": { + "type": "number", + "default": 0, + "maximum": 65535, + "minimum": 1, + "description": "

Port.

", + "markdownDescription": "

Port.

\n\n---\n\nRequired: Yes \nType: Number \nUpdate requires: No interruption" }, "Database": { - "minLength": 1, - "description": "

Database.

", "type": "string", "maxLength": 128, + "minLength": 1, + "description": "

Database.

", "markdownDescription": "

Database.

\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 128 \nUpdate requires: No interruption" } }, "required": [ "Database", - "InstanceId" + "Host", + "Port" ], - "markdownDescription": "

The parameters for Amazon RDS.

\n\n---\n\nRequired: No \nUpdate requires: No interruption" - }, - "AthenaParameters": { - "description": "

Parameters for Amazon Athena.

", "additionalProperties": false, + "markdownDescription": "

The parameters for MySQL.

\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "OAuthParameters": { "type": "object", "properties": { - "WorkGroup": { + "TokenProviderUrl": { + "type": "string", + "maxLength": 2048, "minLength": 1, - "description": "

The workgroup that Amazon Athena uses.

", + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 2048 \nUpdate requires: No interruption" + }, + "OAuthScope": { "type": "string", "maxLength": 128, - "markdownDescription": "

The workgroup that Amazon Athena uses.

\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 128 \nUpdate requires: No interruption" + "minLength": 1, + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 128 \nUpdate requires: No interruption" }, - "RoleArn": { - "minLength": 20, - "description": "

Use the RoleArn structure to override an account-wide role for a specific Athena data source. For example, say an account administrator has turned off all Athena access with an account-wide role. The administrator can then use RoleArn to bypass the account-wide role and allow Athena access for the single Athena data source that is specified in the structure, even if the account-wide role forbidding Athena access is still active.

", + "IdentityProviderVpcConnectionProperties": { + "$ref": "#/definitions/VpcConnectionProperties" + }, + "IdentityProviderResourceUri": { "type": "string", "maxLength": 2048, - "markdownDescription": "

Use the RoleArn structure to override an account-wide role for a specific Athena data source. For example, say an account administrator has turned off all Athena access with an account-wide role. The administrator can then use RoleArn to bypass the account-wide role and allow Athena access for the single Athena data source that is specified in the structure, even if the account-wide role forbidding Athena access is still active.

\n\n---\n\nRequired: No \nType: String \nMinimum Length: 20 \nMaximum Length: 2048 \nUpdate requires: No interruption" - } - }, - "markdownDescription": "

Parameters for Amazon Athena.

\n\n---\n\nRequired: No \nUpdate requires: No interruption" - }, - "SparkParameters": { - "description": "

The parameters for Spark.

", - "additionalProperties": false, - "type": "object", - "properties": { - "Port": { - "default": 0, - "maximum": 65535, - "description": "

Port.

", - "type": "number", - "minimum": 1, - "markdownDescription": "

Port.

\n\n---\n\nRequired: Yes \nType: Number \nUpdate requires: No interruption" - }, - "Host": { "minLength": 1, - "description": "

Host.

", - "type": "string", - "maxLength": 256, - "markdownDescription": "

Host.

\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 256 \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 2048 \nUpdate requires: No interruption" } }, "required": [ - "Host", - "Port" + "TokenProviderUrl" ], - "markdownDescription": "

The parameters for Spark.

\n\n---\n\nRequired: No \nUpdate requires: No interruption" - }, - "MariaDbParameters": { - "description": "

The parameters for MariaDB.

", "additionalProperties": false, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "OracleParameters": { "type": "object", + "description": "

The parameters for Oracle.

", "properties": { + "Host": { + "type": "string", + "maxLength": 256, + "minLength": 1, + "description": "

An Oracle host.

", + "markdownDescription": "

An Oracle host.

\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 256 \nUpdate requires: No interruption" + }, "Port": { + "type": "number", "default": 0, "maximum": 65535, - "description": "

Port.

", - "type": "number", "minimum": 1, - "markdownDescription": "

Port.

\n\n---\n\nRequired: Yes \nType: Number \nUpdate requires: No interruption" + "description": "

The port.

", + "markdownDescription": "

The port.

\n\n---\n\nRequired: Yes \nType: Number \nUpdate requires: No interruption" }, "Database": { - "minLength": 1, - "description": "

Database.

", "type": "string", "maxLength": 128, - "markdownDescription": "

Database.

\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 128 \nUpdate requires: No interruption" - }, - "Host": { "minLength": 1, - "description": "

Host.

", - "type": "string", - "maxLength": 256, - "markdownDescription": "

Host.

\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 256 \nUpdate requires: No interruption" + "description": "

The database.

", + "markdownDescription": "

The database.

\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 128 \nUpdate requires: No interruption" } }, "required": [ @@ -674,34 +571,34 @@ "Host", "Port" ], - "markdownDescription": "

The parameters for MariaDB.

\n\n---\n\nRequired: No \nUpdate requires: No interruption" - }, - "OracleParameters": { - "description": "

The parameters for Oracle.

", "additionalProperties": false, + "markdownDescription": "

The parameters for Oracle.

\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "PostgreSqlParameters": { "type": "object", + "description": "

The parameters for PostgreSQL.

", "properties": { + "Host": { + "type": "string", + "maxLength": 256, + "minLength": 1, + "description": "

Host.

", + "markdownDescription": "

Host.

\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 256 \nUpdate requires: No interruption" + }, "Port": { + "type": "number", "default": 0, "maximum": 65535, - "description": "

The port.

", - "type": "number", "minimum": 1, - "markdownDescription": "

The port.

\n\n---\n\nRequired: Yes \nType: Number \nUpdate requires: No interruption" + "description": "

Port.

", + "markdownDescription": "

Port.

\n\n---\n\nRequired: Yes \nType: Number \nUpdate requires: No interruption" }, "Database": { - "minLength": 1, - "description": "

The database.

", "type": "string", "maxLength": 128, - "markdownDescription": "

The database.

\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 128 \nUpdate requires: No interruption" - }, - "Host": { "minLength": 1, - "description": "

An Oracle host.

", - "type": "string", - "maxLength": 256, - "markdownDescription": "

An Oracle host.

\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 256 \nUpdate requires: No interruption" + "description": "

Database.

", + "markdownDescription": "

Database.

\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 128 \nUpdate requires: No interruption" } }, "required": [ @@ -709,33 +606,33 @@ "Host", "Port" ], - "markdownDescription": "

The parameters for Oracle.

\n\n---\n\nRequired: No \nUpdate requires: No interruption" + "additionalProperties": false, + "markdownDescription": "

The parameters for PostgreSQL.

\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, "PrestoParameters": { - "description": "

The parameters for Presto.

", - "additionalProperties": false, "type": "object", + "description": "

The parameters for Presto.

", "properties": { + "Host": { + "type": "string", + "maxLength": 256, + "minLength": 1, + "description": "

Host.

", + "markdownDescription": "

Host.

\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 256 \nUpdate requires: No interruption" + }, "Port": { + "type": "number", "default": 0, "maximum": 65535, - "description": "

Port.

", - "type": "number", "minimum": 1, + "description": "

Port.

", "markdownDescription": "

Port.

\n\n---\n\nRequired: Yes \nType: Number \nUpdate requires: No interruption" }, - "Host": { - "minLength": 1, - "description": "

Host.

", - "type": "string", - "maxLength": 256, - "markdownDescription": "

Host.

\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 256 \nUpdate requires: No interruption" - }, "Catalog": { - "minLength": 0, - "description": "

Catalog.

", "type": "string", "maxLength": 128, + "minLength": 0, + "description": "

Catalog.

", "markdownDescription": "

Catalog.

\n\n---\n\nRequired: Yes \nType: String \nMaximum Length: 128 \nUpdate requires: No interruption" } }, @@ -744,207 +641,291 @@ "Host", "Port" ], + "additionalProperties": false, "markdownDescription": "

The parameters for Presto.

\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, - "AwsIotAnalyticsParameters": { - "description": "

The parameters for IoT Analytics.

", - "additionalProperties": false, + "RdsParameters": { "type": "object", + "description": "

The parameters for Amazon RDS.

", "properties": { - "DataSetName": { + "InstanceId": { + "type": "string", + "maxLength": 64, "minLength": 1, - "description": "

Dataset name.

", + "description": "

Instance ID.

", + "markdownDescription": "

Instance ID.

\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 64 \nUpdate requires: No interruption" + }, + "Database": { "type": "string", "maxLength": 128, - "markdownDescription": "

Dataset name.

\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 128 \nUpdate requires: No interruption" + "minLength": 1, + "description": "

Database.

", + "markdownDescription": "

Database.

\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 128 \nUpdate requires: No interruption" } }, "required": [ - "DataSetName" - ], - "markdownDescription": "

The parameters for IoT Analytics.

\n\n---\n\nRequired: No \nUpdate requires: No interruption" - }, - "StarburstProductType": { - "type": "string", - "enum": [ - "GALAXY", - "ENTERPRISE" + "Database", + "InstanceId" ], - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: GALAXY | ENTERPRISE \nUpdate requires: No interruption" - }, - "DataSourceParameters": { - "description": "

The parameters that Amazon QuickSight uses to connect to your underlying data source.\n This is a variant type structure. For this structure to be valid, only one of the\n attributes can be non-null.

", "additionalProperties": false, + "markdownDescription": "

The parameters for Amazon RDS.

\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "RedshiftIAMParameters": { "type": "object", + "description": "

A structure that grants Amazon QuickSight access to your cluster and make a call to the redshift:GetClusterCredentials API. For more information on the redshift:GetClusterCredentials API, see \n GetClusterCredentials\n .

", "properties": { - "AuroraPostgreSqlParameters": { - "$ref": "#/definitions/AuroraPostgreSqlParameters" - }, - "TeradataParameters": { - "$ref": "#/definitions/TeradataParameters" - }, - "RdsParameters": { - "$ref": "#/definitions/RdsParameters" - }, - "AthenaParameters": { - "$ref": "#/definitions/AthenaParameters" - }, - "SparkParameters": { - "$ref": "#/definitions/SparkParameters" - }, - "MariaDbParameters": { - "$ref": "#/definitions/MariaDbParameters" - }, - "OracleParameters": { - "$ref": "#/definitions/OracleParameters" - }, - "PrestoParameters": { - "$ref": "#/definitions/PrestoParameters" - }, - "StarburstParameters": { - "$ref": "#/definitions/StarburstParameters" + "RoleArn": { + "type": "string", + "maxLength": 2048, + "minLength": 20, + "description": "

Use the RoleArn structure to allow Amazon QuickSight to call redshift:GetClusterCredentials on your cluster. The calling principal must have iam:PassRole access to pass the role to Amazon QuickSight. The role's trust policy must allow the Amazon QuickSight service principal to assume the role.

", + "markdownDescription": "

Use the RoleArn structure to allow Amazon QuickSight to call redshift:GetClusterCredentials on your cluster. The calling principal must have iam:PassRole access to pass the role to Amazon QuickSight. The role's trust policy must allow the Amazon QuickSight service principal to assume the role.

\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 20 \nMaximum Length: 2048 \nUpdate requires: No interruption" }, - "RedshiftParameters": { - "$ref": "#/definitions/RedshiftParameters" + "DatabaseUser": { + "type": "string", + "maxLength": 64, + "minLength": 1, + "description": "

The user whose permissions and group memberships will be used by Amazon QuickSight to access the cluster. If this user already exists in your database, Amazon QuickSight is granted the same permissions that the user has. If the user doesn't exist, set the value of AutoCreateDatabaseUser to True to create a new user with PUBLIC permissions.

", + "markdownDescription": "

The user whose permissions and group memberships will be used by Amazon QuickSight to access the cluster. If this user already exists in your database, Amazon QuickSight is granted the same permissions that the user has. If the user doesn't exist, set the value of AutoCreateDatabaseUser to True to create a new user with PUBLIC permissions.

\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 64 \nUpdate requires: No interruption" }, - "MySqlParameters": { - "$ref": "#/definitions/MySqlParameters" + "DatabaseGroups": { + "type": "array", + "items": { + "type": "string", + "maxLength": 64, + "minLength": 1, + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 64 \nUpdate requires: No interruption" + }, + "maxItems": 50, + "minItems": 1, + "description": "

A list of groups whose permissions will be granted to Amazon QuickSight to access the cluster. These permissions are combined with the permissions granted to Amazon QuickSight by the DatabaseUser. If you choose to include this parameter, the RoleArn must grant access to redshift:JoinGroup.

", + "markdownDescription": "

A list of groups whose permissions will be granted to Amazon QuickSight to access the cluster. These permissions are combined with the permissions granted to Amazon QuickSight by the DatabaseUser. If you choose to include this parameter, the RoleArn must grant access to redshift:JoinGroup.

\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" }, - "SqlServerParameters": { - "$ref": "#/definitions/SqlServerParameters" + "AutoCreateDatabaseUser": { + "type": "boolean", + "default": false, + "description": "

Automatically creates a database user. If your database doesn't have a DatabaseUser, set this parameter to True. If there is no DatabaseUser, Amazon QuickSight can't connect to your cluster. The RoleArn that you use for this operation must grant access to redshift:CreateClusterUser to successfully create the user.

", + "markdownDescription": "

Automatically creates a database user. If your database doesn't have a DatabaseUser, set this parameter to True. If there is no DatabaseUser, Amazon QuickSight can't connect to your cluster. The RoleArn that you use for this operation must grant access to redshift:CreateClusterUser to successfully create the user.

\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" + } + }, + "required": [ + "RoleArn" + ], + "additionalProperties": false, + "markdownDescription": "

A structure that grants Amazon QuickSight access to your cluster and make a call to the redshift:GetClusterCredentials API. For more information on the redshift:GetClusterCredentials API, see \n GetClusterCredentials\n .

\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "RedshiftParameters": { + "type": "object", + "description": "

The parameters for Amazon Redshift. The ClusterId field can be blank if\n Host and Port are both set. The Host and Port fields can be blank if the ClusterId field is set.

", + "properties": { + "Host": { + "type": "string", + "maxLength": 256, + "minLength": 1, + "description": "

Host. This field can be blank if ClusterId is provided.

", + "markdownDescription": "

Host. This field can be blank if ClusterId is provided.

\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 256 \nUpdate requires: No interruption" }, - "SnowflakeParameters": { - "$ref": "#/definitions/SnowflakeParameters" + "Port": { + "type": "number", + "default": 0, + "maximum": 65535, + "minimum": 0, + "description": "

Port. This field can be blank if the ClusterId is provided.

", + "markdownDescription": "

Port. This field can be blank if the ClusterId is provided.

\n\n---\n\nRequired: No \nType: Number \nUpdate requires: No interruption" }, - "AmazonElasticsearchParameters": { - "$ref": "#/definitions/AmazonElasticsearchParameters" + "Database": { + "type": "string", + "maxLength": 128, + "minLength": 1, + "description": "

Database.

", + "markdownDescription": "

Database.

\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 128 \nUpdate requires: No interruption" }, - "AmazonOpenSearchParameters": { - "$ref": "#/definitions/AmazonOpenSearchParameters" + "ClusterId": { + "type": "string", + "maxLength": 64, + "minLength": 1, + "description": "

Cluster ID. This field can be blank if the Host and Port are\n provided.

", + "markdownDescription": "

Cluster ID. This field can be blank if the Host and Port are\n provided.

\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 64 \nUpdate requires: No interruption" }, - "PostgreSqlParameters": { - "$ref": "#/definitions/PostgreSqlParameters" + "IAMParameters": { + "$ref": "#/definitions/RedshiftIAMParameters" }, - "AuroraParameters": { - "$ref": "#/definitions/AuroraParameters" + "IdentityCenterConfiguration": { + "$ref": "#/definitions/IdentityCenterConfiguration" + } + }, + "required": [ + "Database" + ], + "additionalProperties": false, + "markdownDescription": "

The parameters for Amazon Redshift. The ClusterId field can be blank if\n Host and Port are both set. The Host and Port fields can be blank if the ClusterId field is set.

\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "ResourcePermission": { + "type": "object", + "description": "

Permission for the resource.

", + "properties": { + "Principal": { + "type": "string", + "maxLength": 256, + "minLength": 1, + "description": "

The Amazon Resource Name (ARN) of the principal. This can be one of the\n following:

\n
    \n
  • \n

    The ARN of an Amazon QuickSight user or group associated with a data source or dataset. (This is common.)

    \n
  • \n
  • \n

    The ARN of an Amazon QuickSight user, group, or namespace associated with an analysis, dashboard, template, or theme. (This is common.)

    \n
  • \n
  • \n

    The ARN of an Amazon Web Services account root: This is an IAM ARN rather than a QuickSight\n ARN. Use this option only to share resources (templates) across Amazon Web Services accounts.\n (This is less common.)

    \n
  • \n
", + "markdownDescription": "

The Amazon Resource Name (ARN) of the principal. This can be one of the\n following:

\n
    \n
  • \n

    The ARN of an Amazon QuickSight user or group associated with a data source or dataset. (This is common.)

    \n
  • \n
  • \n

    The ARN of an Amazon QuickSight user, group, or namespace associated with an analysis, dashboard, template, or theme. (This is common.)

    \n
  • \n
  • \n

    The ARN of an Amazon Web Services account root: This is an IAM ARN rather than a QuickSight\n ARN. Use this option only to share resources (templates) across Amazon Web Services accounts.\n (This is less common.)

    \n
  • \n
\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 256 \nUpdate requires: No interruption" }, - "S3Parameters": { - "$ref": "#/definitions/S3Parameters" + "Resource": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, - "TrinoParameters": { - "$ref": "#/definitions/TrinoParameters" + "Actions": { + "type": "array", + "items": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "maxItems": 20, + "minItems": 1, + "description": "

The IAM action to grant or revoke permissions on.

", + "markdownDescription": "

The IAM action to grant or revoke permissions on.

\n\n---\n\nRequired: Yes \nType: Array \nUpdate requires: No interruption" + } + }, + "required": [ + "Actions", + "Principal" + ], + "additionalProperties": false, + "markdownDescription": "

Permission for the resource.

\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "ResourceStatus": { + "type": "string", + "enum": [ + "CREATION_IN_PROGRESS", + "CREATION_SUCCESSFUL", + "CREATION_FAILED", + "UPDATE_IN_PROGRESS", + "UPDATE_SUCCESSFUL", + "UPDATE_FAILED", + "DELETED" + ], + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: CREATION_IN_PROGRESS | CREATION_SUCCESSFUL | CREATION_FAILED | UPDATE_IN_PROGRESS | UPDATE_SUCCESSFUL | UPDATE_FAILED | DELETED \nUpdate requires: No interruption" + }, + "S3Parameters": { + "type": "object", + "description": "

The parameters for S3.

", + "properties": { + "ManifestFileLocation": { + "$ref": "#/definitions/ManifestFileLocation" }, - "DatabricksParameters": { - "$ref": "#/definitions/DatabricksParameters" + "RoleArn": { + "type": "string", + "maxLength": 2048, + "minLength": 20, + "description": "

Use the RoleArn structure to override an account-wide role for a specific S3 data source. For example, say an account administrator has turned off all S3 access with an account-wide role. The administrator can then use RoleArn to bypass the account-wide role and allow S3 access for the single S3 data source that is specified in the structure, even if the account-wide role forbidding S3 access is still active.

", + "markdownDescription": "

Use the RoleArn structure to override an account-wide role for a specific S3 data source. For example, say an account administrator has turned off all S3 access with an account-wide role. The administrator can then use RoleArn to bypass the account-wide role and allow S3 access for the single S3 data source that is specified in the structure, even if the account-wide role forbidding S3 access is still active.

\n\n---\n\nRequired: No \nType: String \nMinimum Length: 20 \nMaximum Length: 2048 \nUpdate requires: No interruption" } }, - "markdownDescription": "

The parameters that Amazon QuickSight uses to connect to your underlying data source.\n This is a variant type structure. For this structure to be valid, only one of the\n attributes can be non-null.

\n\n---\n\nRequired: No \nUpdate requires: No interruption" - }, - "MySqlParameters": { - "description": "

The parameters for MySQL.

", + "required": [ + "ManifestFileLocation" + ], "additionalProperties": false, + "markdownDescription": "

The parameters for S3.

\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "SnowflakeParameters": { "type": "object", + "description": "

The parameters for Snowflake.

", "properties": { - "Port": { - "default": 0, - "maximum": 65535, - "description": "

Port.

", - "type": "number", - "minimum": 1, - "markdownDescription": "

Port.

\n\n---\n\nRequired: Yes \nType: Number \nUpdate requires: No interruption" + "Host": { + "type": "string", + "maxLength": 256, + "minLength": 1, + "description": "

Host.

", + "markdownDescription": "

Host.

\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 256 \nUpdate requires: No interruption" }, "Database": { + "type": "string", + "maxLength": 128, "minLength": 1, "description": "

Database.

", + "markdownDescription": "

Database.

\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 128 \nUpdate requires: No interruption" + }, + "Warehouse": { "type": "string", "maxLength": 128, - "markdownDescription": "

Database.

\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 128 \nUpdate requires: No interruption" + "minLength": 0, + "description": "

Warehouse.

", + "markdownDescription": "

Warehouse.

\n\n---\n\nRequired: Yes \nType: String \nMaximum Length: 128 \nUpdate requires: No interruption" }, - "Host": { - "minLength": 1, - "description": "

Host.

", + "AuthenticationType": { + "$ref": "#/definitions/AuthenticationType" + }, + "DatabaseAccessControlRole": { "type": "string", - "maxLength": 256, - "markdownDescription": "

Host.

\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 256 \nUpdate requires: No interruption" + "maxLength": 128, + "minLength": 0, + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMaximum Length: 128 \nUpdate requires: No interruption" + }, + "OAuthParameters": { + "$ref": "#/definitions/OAuthParameters" } }, "required": [ "Database", "Host", - "Port" + "Warehouse" ], - "markdownDescription": "

The parameters for MySQL.

\n\n---\n\nRequired: No \nUpdate requires: No interruption" - }, - "RedshiftIAMParameters": { - "description": "

A structure that grants Amazon QuickSight access to your cluster and make a call to the redshift:GetClusterCredentials API. For more information on the redshift:GetClusterCredentials API, see \n GetClusterCredentials\n .

", "additionalProperties": false, + "markdownDescription": "

The parameters for Snowflake.

\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "SparkParameters": { "type": "object", + "description": "

The parameters for Spark.

", "properties": { - "AutoCreateDatabaseUser": { - "default": false, - "description": "

Automatically creates a database user. If your database doesn't have a DatabaseUser, set this parameter to True. If there is no DatabaseUser, Amazon QuickSight can't connect to your cluster. The RoleArn that you use for this operation must grant access to redshift:CreateClusterUser to successfully create the user.

", - "type": "boolean", - "markdownDescription": "

Automatically creates a database user. If your database doesn't have a DatabaseUser, set this parameter to True. If there is no DatabaseUser, Amazon QuickSight can't connect to your cluster. The RoleArn that you use for this operation must grant access to redshift:CreateClusterUser to successfully create the user.

\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" - }, - "DatabaseUser": { - "minLength": 1, - "description": "

The user whose permissions and group memberships will be used by Amazon QuickSight to access the cluster. If this user already exists in your database, Amazon QuickSight is granted the same permissions that the user has. If the user doesn't exist, set the value of AutoCreateDatabaseUser to True to create a new user with PUBLIC permissions.

", - "type": "string", - "maxLength": 64, - "markdownDescription": "

The user whose permissions and group memberships will be used by Amazon QuickSight to access the cluster. If this user already exists in your database, Amazon QuickSight is granted the same permissions that the user has. If the user doesn't exist, set the value of AutoCreateDatabaseUser to True to create a new user with PUBLIC permissions.

\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 64 \nUpdate requires: No interruption" - }, - "RoleArn": { - "minLength": 20, - "description": "

Use the RoleArn structure to allow Amazon QuickSight to call redshift:GetClusterCredentials on your cluster. The calling principal must have iam:PassRole access to pass the role to Amazon QuickSight. The role's trust policy must allow the Amazon QuickSight service principal to assume the role.

", + "Host": { "type": "string", - "maxLength": 2048, - "markdownDescription": "

Use the RoleArn structure to allow Amazon QuickSight to call redshift:GetClusterCredentials on your cluster. The calling principal must have iam:PassRole access to pass the role to Amazon QuickSight. The role's trust policy must allow the Amazon QuickSight service principal to assume the role.

\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 20 \nMaximum Length: 2048 \nUpdate requires: No interruption" + "maxLength": 256, + "minLength": 1, + "description": "

Host.

", + "markdownDescription": "

Host.

\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 256 \nUpdate requires: No interruption" }, - "DatabaseGroups": { - "minItems": 1, - "maxItems": 50, - "description": "

A list of groups whose permissions will be granted to Amazon QuickSight to access the cluster. These permissions are combined with the permissions granted to Amazon QuickSight by the DatabaseUser. If you choose to include this parameter, the RoleArn must grant access to redshift:JoinGroup.

", - "type": "array", - "items": { - "minLength": 1, - "type": "string", - "maxLength": 64, - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 64 \nUpdate requires: No interruption" - }, - "markdownDescription": "

A list of groups whose permissions will be granted to Amazon QuickSight to access the cluster. These permissions are combined with the permissions granted to Amazon QuickSight by the DatabaseUser. If you choose to include this parameter, the RoleArn must grant access to redshift:JoinGroup.

\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + "Port": { + "type": "number", + "default": 0, + "maximum": 65535, + "minimum": 1, + "description": "

Port.

", + "markdownDescription": "

Port.

\n\n---\n\nRequired: Yes \nType: Number \nUpdate requires: No interruption" } }, "required": [ - "RoleArn" + "Host", + "Port" ], - "markdownDescription": "

A structure that grants Amazon QuickSight access to your cluster and make a call to the redshift:GetClusterCredentials API. For more information on the redshift:GetClusterCredentials API, see \n GetClusterCredentials\n .

\n\n---\n\nRequired: No \nUpdate requires: No interruption" + "additionalProperties": false, + "markdownDescription": "

The parameters for Spark.

\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, "SqlServerParameters": { - "description": "

The parameters for SQL Server.

", - "additionalProperties": false, "type": "object", + "description": "

The parameters for SQL Server.

", "properties": { + "Host": { + "type": "string", + "maxLength": 256, + "minLength": 1, + "description": "

Host.

", + "markdownDescription": "

Host.

\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 256 \nUpdate requires: No interruption" + }, "Port": { + "type": "number", "default": 0, "maximum": 65535, - "description": "

Port.

", - "type": "number", "minimum": 1, + "description": "

Port.

", "markdownDescription": "

Port.

\n\n---\n\nRequired: Yes \nType: Number \nUpdate requires: No interruption" }, "Database": { - "minLength": 1, - "description": "

Database.

", "type": "string", "maxLength": 128, - "markdownDescription": "

Database.

\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 128 \nUpdate requires: No interruption" - }, - "Host": { "minLength": 1, - "description": "

Host.

", - "type": "string", - "maxLength": 256, - "markdownDescription": "

Host.

\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 256 \nUpdate requires: No interruption" + "description": "

Database.

", + "markdownDescription": "

Database.

\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 128 \nUpdate requires: No interruption" } }, "required": [ @@ -952,130 +933,166 @@ "Host", "Port" ], + "additionalProperties": false, "markdownDescription": "

The parameters for SQL Server.

\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, - "CredentialPair": { - "description": "

The combination of user name and password that are used as credentials.

", - "additionalProperties": false, + "SslProperties": { "type": "object", + "description": "

Secure Socket Layer (SSL) properties that apply when Amazon QuickSight connects to your\n underlying data source.

", "properties": { - "AlternateDataSourceParameters": { - "minItems": 1, - "maxItems": 50, - "description": "

A set of alternate data source parameters that you want to share for these\n credentials. The credentials are applied in tandem with the data source parameters when\n you copy a data source by using a create or update request. The API operation compares\n the DataSourceParameters structure that's in the request with the\n structures in the AlternateDataSourceParameters allow list. If the\n structures are an exact match, the request is allowed to use the new data source with\n the existing credentials. If the AlternateDataSourceParameters list is\n null, the DataSourceParameters originally used with these\n Credentials is automatically allowed.

", - "type": "array", - "items": { - "$ref": "#/definitions/DataSourceParameters" - }, - "markdownDescription": "

A set of alternate data source parameters that you want to share for these\n credentials. The credentials are applied in tandem with the data source parameters when\n you copy a data source by using a create or update request. The API operation compares\n the DataSourceParameters structure that's in the request with the\n structures in the AlternateDataSourceParameters allow list. If the\n structures are an exact match, the request is allowed to use the new data source with\n the existing credentials. If the AlternateDataSourceParameters list is\n null, the DataSourceParameters originally used with these\n Credentials is automatically allowed.

\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" - }, - "Username": { - "minLength": 1, - "description": "

User name.

", - "type": "string", - "maxLength": 64, - "markdownDescription": "

User name.

\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 64 \nUpdate requires: No interruption" - }, - "Password": { - "minLength": 1, - "description": "

Password.

", - "type": "string", - "maxLength": 1024, - "markdownDescription": "

Password.

\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 1024 \nUpdate requires: No interruption" + "DisableSsl": { + "type": "boolean", + "default": false, + "description": "

A Boolean option to control whether SSL should be disabled.

", + "markdownDescription": "

A Boolean option to control whether SSL should be disabled.

\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" } }, - "required": [ - "Password", - "Username" - ], - "markdownDescription": "

The combination of user name and password that are used as credentials.

\n\n---\n\nRequired: No \nUpdate requires: No interruption" - }, - "PostgreSqlParameters": { - "description": "

The parameters for PostgreSQL.

", "additionalProperties": false, + "markdownDescription": "

Secure Socket Layer (SSL) properties that apply when Amazon QuickSight connects to your\n underlying data source.

\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "StarburstParameters": { "type": "object", + "description": "

The parameters that are required to connect to a Starburst data source.

", "properties": { + "Host": { + "type": "string", + "maxLength": 256, + "minLength": 1, + "description": "

The host name of the Starburst data source.

", + "markdownDescription": "

The host name of the Starburst data source.

\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 256 \nUpdate requires: No interruption" + }, "Port": { + "type": "number", "default": 0, "maximum": 65535, - "description": "

Port.

", - "type": "number", "minimum": 1, - "markdownDescription": "

Port.

\n\n---\n\nRequired: Yes \nType: Number \nUpdate requires: No interruption" + "description": "

The port for the Starburst data source.

", + "markdownDescription": "

The port for the Starburst data source.

\n\n---\n\nRequired: Yes \nType: Number \nUpdate requires: No interruption" }, - "Database": { - "minLength": 1, - "description": "

Database.

", + "Catalog": { "type": "string", "maxLength": 128, - "markdownDescription": "

Database.

\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 128 \nUpdate requires: No interruption" + "minLength": 0, + "description": "

The catalog name for the Starburst data source.

", + "markdownDescription": "

The catalog name for the Starburst data source.

\n\n---\n\nRequired: Yes \nType: String \nMaximum Length: 128 \nUpdate requires: No interruption" }, - "Host": { - "minLength": 1, - "description": "

Host.

", + "ProductType": { + "$ref": "#/definitions/StarburstProductType" + }, + "DatabaseAccessControlRole": { "type": "string", - "maxLength": 256, - "markdownDescription": "

Host.

\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 256 \nUpdate requires: No interruption" + "maxLength": 128, + "minLength": 0, + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMaximum Length: 128 \nUpdate requires: No interruption" + }, + "AuthenticationType": { + "$ref": "#/definitions/AuthenticationType" + }, + "OAuthParameters": { + "$ref": "#/definitions/OAuthParameters" } }, "required": [ - "Database", + "Catalog", "Host", "Port" ], - "markdownDescription": "

The parameters for PostgreSQL.

\n\n---\n\nRequired: No \nUpdate requires: No interruption" + "additionalProperties": false, + "markdownDescription": "

The parameters that are required to connect to a Starburst data source.

\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "StarburstProductType": { + "type": "string", + "enum": [ + "GALAXY", + "ENTERPRISE" + ], + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: GALAXY | ENTERPRISE \nUpdate requires: No interruption" }, "Tag": { - "description": "

The key or keys of the key-value pairs for the resource tag or tags assigned to the\n resource.

", - "additionalProperties": false, "type": "object", + "description": "

The key or keys of the key-value pairs for the resource tag or tags assigned to the\n resource.

", "properties": { - "Value": { - "minLength": 1, - "description": "

Tag value.

", - "type": "string", - "maxLength": 256, - "markdownDescription": "

Tag value.

\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 256 \nUpdate requires: No interruption" - }, "Key": { - "minLength": 1, - "description": "

Tag key.

", "type": "string", "maxLength": 128, + "minLength": 1, + "description": "

Tag key.

", "markdownDescription": "

Tag key.

\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 128 \nUpdate requires: No interruption" + }, + "Value": { + "type": "string", + "maxLength": 256, + "minLength": 1, + "description": "

Tag value.

", + "markdownDescription": "

Tag value.

\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 256 \nUpdate requires: No interruption" } }, "required": [ "Key", "Value" ], + "additionalProperties": false, "markdownDescription": "

The key or keys of the key-value pairs for the resource tag or tags assigned to the\n resource.

\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, - "TrinoParameters": { - "description": "

The parameters that are required to connect to a Trino data source.

", - "additionalProperties": false, + "TeradataParameters": { "type": "object", + "description": "

The parameters for Teradata.

", "properties": { + "Host": { + "type": "string", + "maxLength": 256, + "minLength": 1, + "description": "

Host.

", + "markdownDescription": "

Host.

\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 256 \nUpdate requires: No interruption" + }, "Port": { + "type": "number", "default": 0, "maximum": 65535, - "description": "

The port for the Trino data source.

", - "type": "number", "minimum": 1, - "markdownDescription": "

The port for the Trino data source.

\n\n---\n\nRequired: Yes \nType: Number \nUpdate requires: No interruption" + "description": "

Port.

", + "markdownDescription": "

Port.

\n\n---\n\nRequired: Yes \nType: Number \nUpdate requires: No interruption" }, - "Host": { + "Database": { + "type": "string", + "maxLength": 128, "minLength": 1, - "description": "

The host name of the Trino data source.

", + "description": "

Database.

", + "markdownDescription": "

Database.

\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 128 \nUpdate requires: No interruption" + } + }, + "required": [ + "Database", + "Host", + "Port" + ], + "additionalProperties": false, + "markdownDescription": "

The parameters for Teradata.

\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "TrinoParameters": { + "type": "object", + "description": "

The parameters that are required to connect to a Trino data source.

", + "properties": { + "Host": { "type": "string", "maxLength": 256, + "minLength": 1, + "description": "

The host name of the Trino data source.

", "markdownDescription": "

The host name of the Trino data source.

\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 256 \nUpdate requires: No interruption" }, + "Port": { + "type": "number", + "default": 0, + "maximum": 65535, + "minimum": 1, + "description": "

The port for the Trino data source.

", + "markdownDescription": "

The port for the Trino data source.

\n\n---\n\nRequired: Yes \nType: Number \nUpdate requires: No interruption" + }, "Catalog": { - "minLength": 0, - "description": "

The catalog name for the Trino data source.

", "type": "string", "maxLength": 128, + "minLength": 0, + "description": "

The catalog name for the Trino data source.

", "markdownDescription": "

The catalog name for the Trino data source.

\n\n---\n\nRequired: Yes \nType: String \nMaximum Length: 128 \nUpdate requires: No interruption" } }, @@ -1084,132 +1101,194 @@ "Host", "Port" ], + "additionalProperties": false, "markdownDescription": "

The parameters that are required to connect to a Trino data source.

\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, - "DatabricksParameters": { - "description": "

The parameters that are required to connect to a Databricks data source.

", - "additionalProperties": false, + "VpcConnectionProperties": { "type": "object", + "description": "

VPC connection properties.

", "properties": { - "Port": { - "default": 0, - "maximum": 65535, - "description": "

The port for the Databricks data source.

", - "type": "number", - "minimum": 1, - "markdownDescription": "

The port for the Databricks data source.

\n\n---\n\nRequired: Yes \nType: Number \nUpdate requires: No interruption" - }, - "Host": { - "minLength": 1, - "description": "

The host name of the Databricks data source.

", - "type": "string", - "maxLength": 256, - "markdownDescription": "

The host name of the Databricks data source.

\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 256 \nUpdate requires: No interruption" - }, - "SqlEndpointPath": { - "minLength": 1, - "description": "

The HTTP path of the Databricks data source.

", + "VpcConnectionArn": { "type": "string", - "maxLength": 4096, - "markdownDescription": "

The HTTP path of the Databricks data source.

\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 4096 \nUpdate requires: No interruption" + "description": "

The Amazon Resource Name (ARN) for the VPC connection.

", + "markdownDescription": "

The Amazon Resource Name (ARN) for the VPC connection.

\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" } }, "required": [ - "Host", - "Port", - "SqlEndpointPath" + "VpcConnectionArn" ], - "markdownDescription": "

The parameters that are required to connect to a Databricks data source.

\n\n---\n\nRequired: No \nUpdate requires: No interruption" + "additionalProperties": false, + "markdownDescription": "

VPC connection properties.

\n\n---\n\nRequired: No \nUpdate requires: No interruption" } }, - "required": [ - "Name", - "Type" - ], "properties": { - "ErrorInfo": { - "$ref": "#/definitions/DataSourceErrorInfo" + "AlternateDataSourceParameters": { + "type": "array", + "items": { + "$ref": "#/definitions/DataSourceParameters" + }, + "maxItems": 50, + "minItems": 1, + "description": "

A set of alternate data source parameters that you want to share for the credentials\n stored with this data source. The credentials are applied in tandem with the data source\n parameters when you copy a data source by using a create or update request. The API\n operation compares the DataSourceParameters structure that's in the request\n with the structures in the AlternateDataSourceParameters allow list. If the\n structures are an exact match, the request is allowed to use the credentials from this\n existing data source. If the AlternateDataSourceParameters list is null,\n the Credentials originally used with this DataSourceParameters\n are automatically allowed.

", + "markdownDescription": "

A set of alternate data source parameters that you want to share for the credentials\n stored with this data source. The credentials are applied in tandem with the data source\n parameters when you copy a data source by using a create or update request. The API\n operation compares the DataSourceParameters structure that's in the request\n with the structures in the AlternateDataSourceParameters allow list. If the\n structures are an exact match, the request is allowed to use the credentials from this\n existing data source. If the AlternateDataSourceParameters list is null,\n the Credentials originally used with this DataSourceParameters\n are automatically allowed.

\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" }, - "Name": { - "minLength": 1, + "AwsAccountId": { "type": "string", - "maxLength": 128, - "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 128 \nUpdate requires: No interruption" + "maxLength": 12, + "minLength": 12, + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMinimum Length: 12 \nMaximum Length: 12 \nPattern: ^[0-9]{12}$ \nUpdate requires: Replacement" + }, + "Credentials": { + "$ref": "#/definitions/DataSourceCredentials" + }, + "DataSourceId": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: Replacement" }, "DataSourceParameters": { "$ref": "#/definitions/DataSourceParameters" }, - "Type": { - "$ref": "#/definitions/DataSourceType" - }, - "VpcConnectionProperties": { - "$ref": "#/definitions/VpcConnectionProperties" + "ErrorInfo": { + "$ref": "#/definitions/DataSourceErrorInfo" }, - "AlternateDataSourceParameters": { - "minItems": 1, - "maxItems": 50, - "description": "

A set of alternate data source parameters that you want to share for the credentials\n stored with this data source. The credentials are applied in tandem with the data source\n parameters when you copy a data source by using a create or update request. The API\n operation compares the DataSourceParameters structure that's in the request\n with the structures in the AlternateDataSourceParameters allow list. If the\n structures are an exact match, the request is allowed to use the credentials from this\n existing data source. If the AlternateDataSourceParameters list is null,\n the Credentials originally used with this DataSourceParameters\n are automatically allowed.

", + "FolderArns": { "type": "array", "items": { - "$ref": "#/definitions/DataSourceParameters" + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, - "markdownDescription": "

A set of alternate data source parameters that you want to share for the credentials\n stored with this data source. The credentials are applied in tandem with the data source\n parameters when you copy a data source by using a create or update request. The API\n operation compares the DataSourceParameters structure that's in the request\n with the structures in the AlternateDataSourceParameters allow list. If the\n structures are an exact match, the request is allowed to use the credentials from this\n existing data source. If the AlternateDataSourceParameters list is null,\n the Credentials originally used with this DataSourceParameters\n are automatically allowed.

\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + "maxItems": 10, + "minItems": 0, + "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" }, - "AwsAccountId": { - "minLength": 12, + "Name": { "type": "string", - "maxLength": 12, - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMinimum Length: 12 \nMaximum Length: 12 \nPattern: ^[0-9]{12}$ \nUpdate requires: Replacement" + "maxLength": 128, + "minLength": 1, + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 128 \nUpdate requires: No interruption" }, "Permissions": { - "minItems": 1, - "maxItems": 64, "type": "array", "items": { "$ref": "#/definitions/ResourcePermission" }, + "maxItems": 64, + "minItems": 1, "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" }, "SslProperties": { "$ref": "#/definitions/SslProperties" }, - "Credentials": { - "$ref": "#/definitions/DataSourceCredentials" - }, - "DataSourceId": { - "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: Replacement" - }, "Tags": { - "minItems": 1, - "maxItems": 200, "type": "array", "items": { "$ref": "#/definitions/Tag" }, + "maxItems": 200, + "minItems": 1, "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + }, + "Type": { + "$ref": "#/definitions/DataSourceType" + }, + "VpcConnectionProperties": { + "$ref": "#/definitions/VpcConnectionProperties" + } + }, + "required": [ + "Name", + "Type" + ], + "readOnlyProperties": [ + "/properties/Arn", + "/properties/CreatedTime", + "/properties/LastUpdatedTime", + "/properties/Status" + ], + "writeOnlyProperties": [ + "/properties/Credentials", + "/properties/FolderArns" + ], + "createOnlyProperties": [ + "/properties/AwsAccountId", + "/properties/DataSourceId", + "/properties/Type" + ], + "primaryIdentifier": [ + "/properties/AwsAccountId", + "/properties/DataSourceId" + ], + "handlers": { + "read": { + "permissions": [ + "quicksight:DescribeDataSource", + "quicksight:DescribeDataSourcePermissions", + "quicksight:ListTagsForResource" + ] + }, + "create": { + "permissions": [ + "quicksight:CreateDataSource", + "quicksight:DescribeDataSource", + "quicksight:DescribeDataSourcePermissions", + "quicksight:TagResource", + "quicksight:ListTagsForResource", + "quicksight:CreateFolderMembership", + "quicksight:DeleteFolderMembership", + "quicksight:ListFoldersForResource" + ] + }, + "update": { + "permissions": [ + "quicksight:DescribeDataSource", + "quicksight:DescribeDataSourcePermissions", + "quicksight:UpdateDataSource", + "quicksight:UpdateDataSourcePermissions", + "quicksight:CreateFolderMembership", + "quicksight:DeleteFolderMembership", + "quicksight:ListFoldersForResource", + "quicksight:TagResource", + "quicksight:UntagResource", + "quicksight:ListTagsForResource" + ] + }, + "delete": { + "permissions": [ + "quicksight:DescribeDataSource", + "quicksight:DescribeDataSourcePermissions", + "quicksight:DeleteDataSource", + "quicksight:ListTagsForResource" + ] + }, + "list": { + "permissions": [ + "quicksight:DescribeDataSource", + "quicksight:ListDataSources" + ] } }, + "additionalProperties": false, + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-quicksight", "attributes": { - "Status": { - "$ref": "#/definitions/ResourceStatus" + "Arn": { + "type": "string", + "description": "

The Amazon Resource Name (ARN) of the data source.

", + "markdownDescription": "

The Amazon Resource Name (ARN) of the data source.

\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, "CreatedTime": { - "format": "date-time", - "description": "

The time that this data source was created.

", "type": "string", + "description": "

The time that this data source was created.

", + "format": "date-time", "markdownDescription": "

The time that this data source was created.

\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, "LastUpdatedTime": { - "format": "date-time", - "description": "

The last time that this data source was updated.

", "type": "string", + "description": "

The last time that this data source was updated.

", + "format": "date-time", "markdownDescription": "

The last time that this data source was updated.

\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, - "Arn": { - "description": "

The Amazon Resource Name (ARN) of the data source.

", - "type": "string", - "markdownDescription": "

The Amazon Resource Name (ARN) of the data source.

\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "Status": { + "$ref": "#/definitions/ResourceStatus" } } } \ No newline at end of file diff --git a/server/schema/resources/aws-quicksight-template.json b/server/schema/resources/aws-quicksight-template.json index e13f8083..b303d866 100644 --- a/server/schema/resources/aws-quicksight-template.json +++ b/server/schema/resources/aws-quicksight-template.json @@ -7131,9 +7131,10 @@ "VISUAL", "FILTER_CONTROL", "PARAMETER_CONTROL", - "TEXT_BOX" + "TEXT_BOX", + "IMAGE" ], - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: VISUAL | FILTER_CONTROL | PARAMETER_CONTROL | TEXT_BOX \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: VISUAL | FILTER_CONTROL | PARAMETER_CONTROL | TEXT_BOX | IMAGE \nUpdate requires: No interruption" }, "WaterfallVisual": { "additionalProperties": false, diff --git a/server/schema/resources/aws-rbin-rule.json b/server/schema/resources/aws-rbin-rule.json new file mode 100644 index 00000000..aea9c3d3 --- /dev/null +++ b/server/schema/resources/aws-rbin-rule.json @@ -0,0 +1,293 @@ +{ + "typeName": "AWS::Rbin::Rule", + "description": "Resource Type definition for AWS::Rbin::Rule", + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-rbin", + "definitions": { + "Tag": { + "description": "Metadata of a retention rule, consisting of a key-value pair.", + "type": "object", + "additionalProperties": false, + "properties": { + "Key": { + "description": "A unique identifier for the tag.", + "type": "string", + "minLength": 1, + "maxLength": 128, + "markdownDescription": "A unique identifier for the tag.\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 128 \nUpdate requires: No interruption" + }, + "Value": { + "description": "String which you can use to describe or define the tag.", + "type": "string", + "minLength": 0, + "maxLength": 256, + "markdownDescription": "String which you can use to describe or define the tag.\n\n---\n\nRequired: Yes \nType: String \nMaximum Length: 256 \nUpdate requires: No interruption" + } + }, + "required": [ + "Key", + "Value" + ], + "markdownDescription": "Metadata of a retention rule, consisting of a key-value pair.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "ResourceTag": { + "description": "The resource tag of the rule.", + "type": "object", + "properties": { + "ResourceTagKey": { + "description": "The tag key of the resource.", + "type": "string", + "minLength": 1, + "maxLength": 128, + "markdownDescription": "The tag key of the resource.\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 128 \nUpdate requires: No interruption" + }, + "ResourceTagValue": { + "description": "The tag value of the resource", + "type": "string", + "minLength": 0, + "maxLength": 256, + "markdownDescription": "The tag value of the resource\n\n---\n\nRequired: Yes \nType: String \nMaximum Length: 256 \nUpdate requires: No interruption" + } + }, + "additionalProperties": false, + "required": [ + "ResourceTagKey", + "ResourceTagValue" + ], + "markdownDescription": "The resource tag of the rule.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "RetentionPeriod": { + "description": "The retention period of the rule.", + "type": "object", + "properties": { + "RetentionPeriodValue": { + "description": "The retention period value of the rule.", + "type": "integer", + "minimum": 1, + "maximum": 3650, + "markdownDescription": "The retention period value of the rule.\n\n---\n\nRequired: Yes \nType: Integer \nUpdate requires: No interruption" + }, + "RetentionPeriodUnit": { + "description": "The retention period unit of the rule", + "type": "string", + "enum": [ + "DAYS" + ], + "markdownDescription": "The retention period unit of the rule\n\n---\n\nRequired: Yes \nType: String \nAllowed Values: DAYS \nUpdate requires: No interruption" + } + }, + "additionalProperties": false, + "required": [ + "RetentionPeriodValue", + "RetentionPeriodUnit" + ], + "markdownDescription": "The retention period of the rule.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "UnlockDelay": { + "type": "object", + "properties": { + "UnlockDelayValue": { + "description": "The unlock delay period, measured in the unit specified for UnlockDelayUnit.", + "type": "integer", + "minimum": 7, + "maximum": 30, + "markdownDescription": "The unlock delay period, measured in the unit specified for UnlockDelayUnit.\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" + }, + "UnlockDelayUnit": { + "description": "The unit of time in which to measure the unlock delay. Currently, the unlock delay can be measure only in days.", + "type": "string", + "enum": [ + "DAYS" + ], + "markdownDescription": "The unit of time in which to measure the unlock delay. Currently, the unlock delay can be measure only in days.\n\n---\n\nRequired: No \nType: String \nAllowed Values: DAYS \nUpdate requires: No interruption" + } + }, + "additionalProperties": false, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + } + }, + "properties": { + "Description": { + "description": "The description of the retention rule.", + "type": "string", + "maxLength": 255, + "markdownDescription": "The description of the retention rule.\n\n---\n\nRequired: No \nType: String \nMaximum Length: 255 \nUpdate requires: No interruption" + }, + "ResourceTags": { + "description": "Information about the resource tags used to identify resources that are retained by the retention rule.", + "type": "array", + "maxItems": 50, + "insertionOrder": false, + "uniqueItems": true, + "items": { + "$ref": "#/definitions/ResourceTag" + }, + "markdownDescription": "Information about the resource tags used to identify resources that are retained by the retention rule.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + }, + "ExcludeResourceTags": { + "description": "Information about the exclude resource tags used to identify resources that are excluded by the retention rule.", + "type": "array", + "maxItems": 5, + "insertionOrder": false, + "uniqueItems": true, + "items": { + "$ref": "#/definitions/ResourceTag" + }, + "markdownDescription": "Information about the exclude resource tags used to identify resources that are excluded by the retention rule.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + }, + "ResourceType": { + "description": "The resource type retained by the retention rule.", + "type": "string", + "enum": [ + "EBS_SNAPSHOT", + "EC2_IMAGE" + ], + "markdownDescription": "The resource type retained by the retention rule.\n\n---\n\nRequired: Yes \nType: String \nAllowed Values: EBS_SNAPSHOT | EC2_IMAGE \nUpdate requires: Replacement" + }, + "Tags": { + "description": "Information about the tags assigned to the retention rule.", + "type": "array", + "maxItems": 200, + "insertionOrder": false, + "uniqueItems": true, + "items": { + "$ref": "#/definitions/Tag" + }, + "markdownDescription": "Information about the tags assigned to the retention rule.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + }, + "RetentionPeriod": { + "description": "Information about the retention period for which the retention rule is to retain resources.", + "$ref": "#/definitions/RetentionPeriod", + "markdownDescription": "Information about the retention period for which the retention rule is to retain resources.\n\n---\n\nRequired: Yes \nType: \nUpdate requires: No interruption" + }, + "Status": { + "description": "The state of the retention rule. Only retention rules that are in the available state retain resources.", + "type": "string", + "markdownDescription": "The state of the retention rule. Only retention rules that are in the available state retain resources.\n\n---\n\nRequired: No \nType: String \nPattern: pending|available \nUpdate requires: No interruption" + }, + "LockConfiguration": { + "description": "Information about the retention rule lock configuration.", + "$ref": "#/definitions/UnlockDelay", + "markdownDescription": "Information about the retention rule lock configuration.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" + } + }, + "additionalProperties": false, + "required": [ + "RetentionPeriod", + "ResourceType" + ], + "createOnlyProperties": [ + "/properties/ResourceType" + ], + "readOnlyProperties": [ + "/properties/Arn", + "/properties/Identifier", + "/properties/LockState" + ], + "primaryIdentifier": [ + "/properties/Arn" + ], + "writeOnlyProperties": [ + "/properties/LockConfiguration", + "/properties/LockConfiguration/UnlockDelayValue", + "/properties/LockConfiguration/UnlockDelayUnit" + ], + "additionalIdentifiers": [ + [ + "/properties/Identifier" + ] + ], + "handlers": { + "create": { + "permissions": [ + "rbin:CreateRule", + "rbin:GetRule", + "rbin:LockRule", + "rbin:TagResource", + "iam:PassRole" + ] + }, + "read": { + "permissions": [ + "rbin:GetRule", + "rbin:ListTagsForResource", + "iam:PassRole" + ] + }, + "update": { + "permissions": [ + "rbin:GetRule", + "rbin:UpdateRule", + "rbin:LockRule", + "rbin:UnlockRule", + "rbin:TagResource", + "rbin:UntagResource", + "rbin:ListTagsForResource", + "iam:PassRole" + ] + }, + "delete": { + "permissions": [ + "rbin:GetRule", + "rbin:DeleteRule", + "iam:PassRole" + ] + }, + "list": { + "handlerSchema": { + "properties": { + "LockState": { + "$ref": "resource-schema.json#/properties/LockState" + }, + "ResourceTags": { + "$ref": "resource-schema.json#/properties/ResourceTags" + }, + "ExcludeResourceTags": { + "$ref": "resource-schema.json#/properties/ExcludeResourceTags" + }, + "ResourceType": { + "$ref": "resource-schema.json#/properties/ResourceType" + } + }, + "required": [ + "ResourceType" + ] + }, + "permissions": [ + "rbin:ListRules", + "rbin:ListTagsForResource", + "iam:PassRole" + ] + } + }, + "tagging": { + "taggable": true, + "tagOnCreate": true, + "tagUpdatable": true, + "cloudFormationSystemTags": true, + "tagProperty": "/properties/Tags", + "permissions": [ + "rbin:TagResource", + "rbin:UntagResource", + "rbin:ListTagsForResource" + ] + }, + "attributes": { + "Arn": { + "description": "Rule Arn is unique for each rule.", + "type": "string", + "minLength": 0, + "maxLength": 1011, + "markdownDescription": "Rule Arn is unique for each rule.\n\n---\n\nRequired: No \nType: String \nMaximum Length: 1011 \nUpdate requires: No interruption" + }, + "Identifier": { + "description": "The unique ID of the retention rule.", + "type": "string", + "markdownDescription": "The unique ID of the retention rule.\n\n---\n\nRequired: No \nType: String \nPattern: [0-9a-zA-Z]{11} \nUpdate requires: No interruption" + }, + "LockState": { + "description": "The lock state for the retention rule.", + "type": "string", + "markdownDescription": "The lock state for the retention rule.\n\n---\n\nRequired: No \nType: String \nPattern: locked|pending_unlock|unlocked \nUpdate requires: No interruption" + } + } +} \ No newline at end of file diff --git a/server/schema/resources/aws-rds-dbcluster.json b/server/schema/resources/aws-rds-dbcluster.json index 146e7aae..76e356e5 100644 --- a/server/schema/resources/aws-rds-dbcluster.json +++ b/server/schema/resources/aws-rds-dbcluster.json @@ -50,6 +50,11 @@ "type": "integer", "markdownDescription": "The number of days for which automated backups are retained.\n Default: 1\n Constraints:\n + Must be a value from 1 to 35\n \n Valid for: Aurora DB clusters and Multi-AZ DB clusters\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" }, + "ClusterScalabilityType": { + "type": "string", + "description": "", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: Replacement" + }, "CopyTagsToSnapshot": { "description": "A value that indicates whether to copy all tags from the DB cluster to snapshots of the DB cluster. The default is not to copy them.\n Valid for: Aurora DB clusters and Multi-AZ DB clusters", "type": "boolean", @@ -480,13 +485,13 @@ "/properties/DBClusterIdentifier": "$lowercase(DBClusterIdentifier)", "/properties/DBClusterParameterGroupName": "$lowercase(DBClusterParameterGroupName)", "/properties/DBSubnetGroupName": "$lowercase(DBSubnetGroupName)", - "/properties/EnableHttpEndpoint": "$lowercase($string(EngineMode)) = 'serverless' ? EnableHttpEndpoint : ($lowercase($string(Engine)) = 'aurora-postgresql' ? EnableHttpEndpoint : false )", + "/properties/EnableHttpEndpoint": "$lowercase($string(EngineMode)) = 'serverless' ? EnableHttpEndpoint : ($lowercase($string(Engine)) in ['aurora-postgresql', 'aurora-mysql'] ? EnableHttpEndpoint : false )", "/properties/Engine": "$lowercase(Engine)", "/properties/EngineVersion": "$join([$string(EngineVersion), \".*\"])", - "/properties/KmsKeyId": "$join([\"arn:(aws)[-]{0,1}[a-z]{0,2}[-]{0,1}[a-z]{0,3}:kms:[a-z]{2}[-]{1}[a-z]{3,10}[-]{0,1}[a-z]{0,10}[-]{1}[1-3]{1}:[0-9]{12}[:]{1}key\\/\", KmsKeyId])", - "/properties/MasterUserSecret/KmsKeyId": "$join([\"arn:(aws)[-]{0,1}[a-z]{0,2}[-]{0,1}[a-z]{0,3}:kms:[a-z]{2}[-]{1}[a-z]{3,10}[-]{0,1}[a-z]{0,10}[-]{1}[1-3]{1}:[0-9]{12}[:]{1}key\\/\", MasterUserSecret.KmsKeyId])", + "/properties/KmsKeyId": "$join([\"arn:.+?:kms:.+?:.+?:key\\/\", KmsKeyId])", + "/properties/MasterUserSecret/KmsKeyId": "$join([\"arn:.+?:kms:.+?:.+?:key\\/\", MasterUserSecret.KmsKeyId])", "/properties/NetworkType": "$lowercase(NetworkType)", - "/properties/PerformanceInsightsKmsKeyId": "$join([\"arn:(aws)[-]{0,1}[a-z]{0,2}[-]{0,1}[a-z]{0,3}:kms:[a-z]{2}[-]{1}[a-z]{3,10}[-]{0,1}[a-z]{0,10}[-]{1}[1-3]{1}:[0-9]{12}[:]{1}key\\/\", PerformanceInsightsKmsKeyId])", + "/properties/PerformanceInsightsKmsKeyId": "$join([\"arn:.+?:kms:.+?:.+?:key\\/\", PerformanceInsightsKmsKeyId])", "/properties/PreferredMaintenanceWindow": "$lowercase(PreferredMaintenanceWindow)", "/properties/SnapshotIdentifier": "$lowercase(SnapshotIdentifier)", "/properties/SourceDBClusterIdentifier": "$lowercase(SourceDBClusterIdentifier)", @@ -504,6 +509,7 @@ ], "createOnlyProperties": [ "/properties/AvailabilityZones", + "/properties/ClusterScalabilityType", "/properties/DBClusterIdentifier", "/properties/DBSubnetGroupName", "/properties/DBSystemId", @@ -528,6 +534,7 @@ "/properties/DBClusterIdentifier" ], "writeOnlyProperties": [ + "/properties/ClusterScalabilityType", "/properties/DBInstanceParameterGroupName", "/properties/MasterUserPassword", "/properties/RestoreToTime", diff --git a/server/schema/resources/aws-rds-dbinstance.json b/server/schema/resources/aws-rds-dbinstance.json index 1bd434a0..fb01d9c8 100644 --- a/server/schema/resources/aws-rds-dbinstance.json +++ b/server/schema/resources/aws-rds-dbinstance.json @@ -252,8 +252,8 @@ }, "DBSnapshotIdentifier": { "type": "string", - "description": "The name or Amazon Resource Name (ARN) of the DB snapshot that's used to restore the DB instance. If you're restoring from a shared manual DB snapshot, you must specify the ARN of the snapshot.\n By specifying this property, you can create a DB instance from the specified DB snapshot. If the ``DBSnapshotIdentifier`` property is an empty string or the ``AWS::RDS::DBInstance`` declaration has no ``DBSnapshotIdentifier`` property, AWS CloudFormation creates a new database. If the property contains a value (other than an empty string), AWS CloudFormation creates a database from the specified snapshot. If a snapshot with the specified name doesn't exist, AWS CloudFormation can't create the database and it rolls back the stack.\n Some DB instance properties aren't valid when you restore from a snapshot, such as the ``MasterUsername`` and ``MasterUserPassword`` properties. For information about the properties that you can specify, see the ``RestoreDBInstanceFromDBSnapshot`` action in the *Amazon RDS API Reference*.\n After you restore a DB instance with a ``DBSnapshotIdentifier`` property, you must specify the same ``DBSnapshotIdentifier`` property for any future updates to the DB instance. When you specify this property for an update, the DB instance is not restored from the DB snapshot again, and the data in the database is not changed. However, if you don't specify the ``DBSnapshotIdentifier`` property, an empty DB instance is created, and the original DB instance is deleted. If you specify a property that is different from the previous snapshot restore property, a new DB instance is restored from the specified ``DBSnapshotIdentifier`` property, and the original DB instance is deleted.\n If you specify the ``DBSnapshotIdentifier`` property to restore a DB instance (as opposed to specifying it for DB instance updates), then don't specify the following properties:\n + ``CharacterSetName`` \n + ``DBClusterIdentifier`` \n + ``DBName`` \n + ``DeleteAutomatedBackups`` \n + ``KmsKeyId`` \n + ``MasterUsername`` \n + ``MasterUserPassword`` \n + ``PerformanceInsightsKMSKeyId`` \n + ``PerformanceInsightsRetentionPeriod`` \n + ``PromotionTier`` \n + ``SourceDBInstanceIdentifier`` \n + ``SourceRegion`` \n + ``StorageEncrypted`` (for an encrypted snapshot)\n + ``Timezone`` \n \n *Amazon Aurora* \n Not applicable. Snapshot restore is managed by the DB cluster.", - "markdownDescription": "The name or Amazon Resource Name (ARN) of the DB snapshot that's used to restore the DB instance. If you're restoring from a shared manual DB snapshot, you must specify the ARN of the snapshot.\n By specifying this property, you can create a DB instance from the specified DB snapshot. If the ``DBSnapshotIdentifier`` property is an empty string or the ``AWS::RDS::DBInstance`` declaration has no ``DBSnapshotIdentifier`` property, AWS CloudFormation creates a new database. If the property contains a value (other than an empty string), AWS CloudFormation creates a database from the specified snapshot. If a snapshot with the specified name doesn't exist, AWS CloudFormation can't create the database and it rolls back the stack.\n Some DB instance properties aren't valid when you restore from a snapshot, such as the ``MasterUsername`` and ``MasterUserPassword`` properties. For information about the properties that you can specify, see the ``RestoreDBInstanceFromDBSnapshot`` action in the *Amazon RDS API Reference*.\n After you restore a DB instance with a ``DBSnapshotIdentifier`` property, you must specify the same ``DBSnapshotIdentifier`` property for any future updates to the DB instance. When you specify this property for an update, the DB instance is not restored from the DB snapshot again, and the data in the database is not changed. However, if you don't specify the ``DBSnapshotIdentifier`` property, an empty DB instance is created, and the original DB instance is deleted. If you specify a property that is different from the previous snapshot restore property, a new DB instance is restored from the specified ``DBSnapshotIdentifier`` property, and the original DB instance is deleted.\n If you specify the ``DBSnapshotIdentifier`` property to restore a DB instance (as opposed to specifying it for DB instance updates), then don't specify the following properties:\n + ``CharacterSetName`` \n + ``DBClusterIdentifier`` \n + ``DBName`` \n + ``DeleteAutomatedBackups`` \n + ``KmsKeyId`` \n + ``MasterUsername`` \n + ``MasterUserPassword`` \n + ``PerformanceInsightsKMSKeyId`` \n + ``PerformanceInsightsRetentionPeriod`` \n + ``PromotionTier`` \n + ``SourceDBInstanceIdentifier`` \n + ``SourceRegion`` \n + ``StorageEncrypted`` (for an encrypted snapshot)\n + ``Timezone`` \n \n *Amazon Aurora* \n Not applicable. Snapshot restore is managed by the DB cluster.\n\n---\n\nRequired: No \nType: String \nUpdate requires: Some interruptions" + "description": "The name or Amazon Resource Name (ARN) of the DB snapshot that's used to restore the DB instance. If you're restoring from a shared manual DB snapshot, you must specify the ARN of the snapshot.\n By specifying this property, you can create a DB instance from the specified DB snapshot. If the ``DBSnapshotIdentifier`` property is an empty string or the ``AWS::RDS::DBInstance`` declaration has no ``DBSnapshotIdentifier`` property, AWS CloudFormation creates a new database. If the property contains a value (other than an empty string), AWS CloudFormation creates a database from the specified snapshot. If a snapshot with the specified name doesn't exist, AWS CloudFormation can't create the database and it rolls back the stack.\n Some DB instance properties aren't valid when you restore from a snapshot, such as the ``MasterUsername`` and ``MasterUserPassword`` properties. For information about the properties that you can specify, see the ``RestoreDBInstanceFromDBSnapshot`` action in the *Amazon RDS API Reference*.\n After you restore a DB instance with a ``DBSnapshotIdentifier`` property, you must specify the same ``DBSnapshotIdentifier`` property for any future updates to the DB instance. When you specify this property for an update, the DB instance is not restored from the DB snapshot again, and the data in the database is not changed. However, if you don't specify the ``DBSnapshotIdentifier`` property, an empty DB instance is created, and the original DB instance is deleted. If you specify a property that is different from the previous snapshot restore property, a new DB instance is restored from the specified ``DBSnapshotIdentifier`` property, and the original DB instance is deleted.\n If you specify the ``DBSnapshotIdentifier`` property to restore a DB instance (as opposed to specifying it for DB instance updates), then don't specify the following properties:\n + ``CharacterSetName`` \n + ``DBClusterIdentifier`` \n + ``DBName`` \n + ``KmsKeyId`` \n + ``MasterUsername`` \n + ``MasterUserPassword`` \n + ``PromotionTier`` \n + ``SourceDBInstanceIdentifier`` \n + ``SourceRegion`` \n + ``StorageEncrypted`` (for an unencrypted snapshot)\n + ``Timezone`` \n \n *Amazon Aurora* \n Not applicable. Snapshot restore is managed by the DB cluster.", + "markdownDescription": "The name or Amazon Resource Name (ARN) of the DB snapshot that's used to restore the DB instance. If you're restoring from a shared manual DB snapshot, you must specify the ARN of the snapshot.\n By specifying this property, you can create a DB instance from the specified DB snapshot. If the ``DBSnapshotIdentifier`` property is an empty string or the ``AWS::RDS::DBInstance`` declaration has no ``DBSnapshotIdentifier`` property, AWS CloudFormation creates a new database. If the property contains a value (other than an empty string), AWS CloudFormation creates a database from the specified snapshot. If a snapshot with the specified name doesn't exist, AWS CloudFormation can't create the database and it rolls back the stack.\n Some DB instance properties aren't valid when you restore from a snapshot, such as the ``MasterUsername`` and ``MasterUserPassword`` properties. For information about the properties that you can specify, see the ``RestoreDBInstanceFromDBSnapshot`` action in the *Amazon RDS API Reference*.\n After you restore a DB instance with a ``DBSnapshotIdentifier`` property, you must specify the same ``DBSnapshotIdentifier`` property for any future updates to the DB instance. When you specify this property for an update, the DB instance is not restored from the DB snapshot again, and the data in the database is not changed. However, if you don't specify the ``DBSnapshotIdentifier`` property, an empty DB instance is created, and the original DB instance is deleted. If you specify a property that is different from the previous snapshot restore property, a new DB instance is restored from the specified ``DBSnapshotIdentifier`` property, and the original DB instance is deleted.\n If you specify the ``DBSnapshotIdentifier`` property to restore a DB instance (as opposed to specifying it for DB instance updates), then don't specify the following properties:\n + ``CharacterSetName`` \n + ``DBClusterIdentifier`` \n + ``DBName`` \n + ``KmsKeyId`` \n + ``MasterUsername`` \n + ``MasterUserPassword`` \n + ``PromotionTier`` \n + ``SourceDBInstanceIdentifier`` \n + ``SourceRegion`` \n + ``StorageEncrypted`` (for an unencrypted snapshot)\n + ``Timezone`` \n \n *Amazon Aurora* \n Not applicable. Snapshot restore is managed by the DB cluster.\n\n---\n\nRequired: No \nType: String \nUpdate requires: Some interruptions" }, "DBSubnetGroupName": { "type": "string", @@ -433,7 +433,7 @@ "Port": { "type": "string", "description": "The port number on which the database accepts connections.\n This setting doesn't apply to Aurora DB instances. The port number is managed by the cluster.\n Valid Values: ``1150-65535`` \n Default:\n + RDS for Db2 - ``50000`` \n + RDS for MariaDB - ``3306`` \n + RDS for Microsoft SQL Server - ``1433`` \n + RDS for MySQL - ``3306`` \n + RDS for Oracle - ``1521`` \n + RDS for PostgreSQL - ``5432`` \n \n Constraints:\n + For RDS for Microsoft SQL Server, the value can't be ``1234``, ``1434``, ``3260``, ``3343``, ``3389``, ``47001``, or ``49152-49156``.", - "markdownDescription": "The port number on which the database accepts connections.\n This setting doesn't apply to Aurora DB instances. The port number is managed by the cluster.\n Valid Values: ``1150-65535`` \n Default:\n + RDS for Db2 - ``50000`` \n + RDS for MariaDB - ``3306`` \n + RDS for Microsoft SQL Server - ``1433`` \n + RDS for MySQL - ``3306`` \n + RDS for Oracle - ``1521`` \n + RDS for PostgreSQL - ``5432`` \n \n Constraints:\n + For RDS for Microsoft SQL Server, the value can't be ``1234``, ``1434``, ``3260``, ``3343``, ``3389``, ``47001``, or ``49152-49156``.\n\n---\n\nRequired: No \nType: String \nPattern: ^\\d*$ \nUpdate requires: Replacement" + "markdownDescription": "The port number on which the database accepts connections.\n This setting doesn't apply to Aurora DB instances. The port number is managed by the cluster.\n Valid Values: ``1150-65535`` \n Default:\n + RDS for Db2 - ``50000`` \n + RDS for MariaDB - ``3306`` \n + RDS for Microsoft SQL Server - ``1433`` \n + RDS for MySQL - ``3306`` \n + RDS for Oracle - ``1521`` \n + RDS for PostgreSQL - ``5432`` \n \n Constraints:\n + For RDS for Microsoft SQL Server, the value can't be ``1234``, ``1434``, ``3260``, ``3343``, ``3389``, ``47001``, or ``49152-49156``.\n\n---\n\nRequired: No \nType: String \nPattern: ^\\d*$ \nUpdate requires: No interruption" }, "PreferredBackupWindow": { "type": "string", @@ -572,11 +572,11 @@ "/properties/DBSubnetGroupName": "$lowercase(DBSubnetGroupName)", "/properties/Engine": "$lowercase(Engine)", "/properties/EngineVersion": "$join([$string(EngineVersion), \".*\"])", - "/properties/KmsKeyId": "$join([\"arn:(aws)[-]{0,1}[a-z]{0,2}[-]{0,1}[a-z]{0,3}:kms:[a-z]{2}[-]{1}[a-z]{3,10}[-]{0,1}[a-z]{0,10}[-]{1}[1-3]{1}:[0-9]{12}[:]{1}key\\/\", KmsKeyId])", - "/properties/MasterUserSecret/KmsKeyId": "$join([\"arn:(aws)[-]{0,1}[a-z]{0,2}[-]{0,1}[a-z]{0,3}:kms:[a-z]{2}[-]{1}[a-z]{3,10}[-]{0,1}[a-z]{0,10}[-]{1}[1-3]{1}:[0-9]{12}[:]{1}key\\/\", MasterUserSecret.KmsKeyId])", + "/properties/KmsKeyId": "$join([\"arn:.+?:kms:.+?:.+?:key\\/\", KmsKeyId])", + "/properties/MasterUserSecret/KmsKeyId": "$join([\"arn:.+?:kms:.+?:.+?:key\\/\", MasterUserSecret.KmsKeyId])", "/properties/NetworkType": "$lowercase(NetworkType)", "/properties/OptionGroupName": "$lowercase(OptionGroupName)", - "/properties/PerformanceInsightsKMSKeyId": "$join([\"arn:(aws)[-]{0,1}[a-z]{0,2}[-]{0,1}[a-z]{0,3}:kms:[a-z]{2}[-]{1}[a-z]{3,10}[-]{0,1}[a-z]{0,10}[-]{1}[1-3]{1}:[0-9]{12}[:]{1}key\\/\", PerformanceInsightsKMSKeyId])", + "/properties/PerformanceInsightsKMSKeyId": "$join([\"arn:.+?:kms:.+?:.+?:key\\/\", PerformanceInsightsKMSKeyId])", "/properties/PreferredMaintenanceWindow": "$lowercase(PreferredMaintenanceWindow)", "/properties/SourceDBInstanceAutomatedBackupsArn": "$lowercase(SourceDBInstanceAutomatedBackupsArn)", "/properties/SourceDBInstanceIdentifier": "$lowercase(SourceDBInstanceIdentifier)", @@ -592,7 +592,6 @@ "/properties/KmsKeyId", "/properties/MasterUsername", "/properties/NcharCharacterSetName", - "/properties/Port", "/properties/SourceRegion", "/properties/StorageEncrypted", "/properties/Timezone" @@ -627,7 +626,6 @@ "/properties/DBSnapshotIdentifier", "/properties/DeleteAutomatedBackups", "/properties/MasterUserPassword", - "/properties/Port", "/properties/RestoreTime", "/properties/SourceDBInstanceAutomatedBackupsArn", "/properties/SourceDBInstanceIdentifier", diff --git a/server/schema/resources/aws-rds-dbshardgroup.json b/server/schema/resources/aws-rds-dbshardgroup.json new file mode 100644 index 00000000..373fc0c5 --- /dev/null +++ b/server/schema/resources/aws-rds-dbshardgroup.json @@ -0,0 +1,169 @@ +{ + "typeName": "AWS::RDS::DBShardGroup", + "description": "The AWS::RDS::DBShardGroup resource creates an Amazon Aurora Limitless DB Shard Group.", + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-rds", + "tagging": { + "cloudFormationSystemTags": true, + "permissions": [ + "rds:AddTagsToResource", + "rds:RemoveTagsFromResource" + ], + "taggable": true, + "tagOnCreate": false, + "tagUpdatable": true, + "tagProperty": "/properties/Tags" + }, + "properties": { + "DBShardGroupIdentifier": { + "description": "The name of the DB shard group.", + "type": "string", + "minLength": 1, + "maxLength": 63, + "markdownDescription": "The name of the DB shard group.\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 63 \nUpdate requires: Replacement" + }, + "DBClusterIdentifier": { + "description": "The name of the primary DB cluster for the DB shard group.", + "type": "string", + "minLength": 1, + "maxLength": 63, + "markdownDescription": "The name of the primary DB cluster for the DB shard group.\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 63 \nUpdate requires: Replacement" + }, + "ComputeRedundancy": { + "description": "Specifies whether to create standby instances for the DB shard group.", + "minimum": 0, + "type": "integer", + "markdownDescription": "Specifies whether to create standby instances for the DB shard group.\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" + }, + "MaxACU": { + "description": "The maximum capacity of the DB shard group in Aurora capacity units (ACUs).", + "type": "number", + "markdownDescription": "The maximum capacity of the DB shard group in Aurora capacity units (ACUs).\n\n---\n\nRequired: Yes \nType: Number \nUpdate requires: No interruption" + }, + "MinACU": { + "description": "The minimum capacity of the DB shard group in Aurora capacity units (ACUs).", + "type": "number", + "markdownDescription": "The minimum capacity of the DB shard group in Aurora capacity units (ACUs).\n\n---\n\nRequired: No \nType: Number \nUpdate requires: No interruption" + }, + "PubliclyAccessible": { + "description": "Indicates whether the DB shard group is publicly accessible.", + "type": "boolean", + "markdownDescription": "Indicates whether the DB shard group is publicly accessible.\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: Replacement" + }, + "Tags": { + "type": "array", + "maxItems": 50, + "uniqueItems": true, + "insertionOrder": false, + "description": "An array of key-value pairs to apply to this resource.", + "items": { + "$ref": "#/definitions/Tag" + }, + "markdownDescription": "An array of key-value pairs to apply to this resource.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + } + }, + "definitions": { + "Tag": { + "description": "A key-value pair to associate with a resource.", + "type": "object", + "additionalProperties": false, + "properties": { + "Key": { + "type": "string", + "description": "The key name of the tag. You can specify a value that is 1 to 128 Unicode characters in length and cannot be prefixed with aws:. You can use any of the following characters: the set of Unicode letters, digits, whitespace, _, ., /, =, +, and -. ", + "minLength": 1, + "maxLength": 128, + "markdownDescription": "The key name of the tag. You can specify a value that is 1 to 128 Unicode characters in length and cannot be prefixed with aws:. You can use any of the following characters: the set of Unicode letters, digits, whitespace, _, ., /, =, +, and -. \n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 128 \nUpdate requires: No interruption" + }, + "Value": { + "type": "string", + "description": "The value for the tag. You can specify a value that is 0 to 256 Unicode characters in length and cannot be prefixed with aws:. You can use any of the following characters: the set of Unicode letters, digits, whitespace, _, ., /, =, +, and -. ", + "minLength": 0, + "maxLength": 256, + "markdownDescription": "The value for the tag. You can specify a value that is 0 to 256 Unicode characters in length and cannot be prefixed with aws:. You can use any of the following characters: the set of Unicode letters, digits, whitespace, _, ., /, =, +, and -. \n\n---\n\nRequired: No \nType: String \nMaximum Length: 256 \nUpdate requires: No interruption" + } + }, + "required": [ + "Key" + ], + "markdownDescription": "A key-value pair to associate with a resource.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + } + }, + "additionalProperties": false, + "propertyTransform": { + "/properties/DBClusterIdentifier": "$lowercase(DBClusterIdentifier)", + "/properties/DBShardGroupIdentifier": "$lowercase(DBShardGroupIdentifier)" + }, + "required": [ + "DBClusterIdentifier", + "MaxACU" + ], + "createOnlyProperties": [ + "/properties/DBClusterIdentifier", + "/properties/DBShardGroupIdentifier", + "/properties/PubliclyAccessible" + ], + "readOnlyProperties": [ + "/properties/DBShardGroupResourceId", + "/properties/Endpoint" + ], + "writeOnlyProperties": [ + "/properties/MinACU" + ], + "primaryIdentifier": [ + "/properties/DBShardGroupIdentifier" + ], + "handlers": { + "create": { + "permissions": [ + "rds:AddTagsToResource", + "rds:CreateDBShardGroup", + "rds:DescribeDBClusters", + "rds:DescribeDBShardGroups", + "rds:ListTagsForResource" + ], + "timeoutInMinutes": 2160 + }, + "read": { + "permissions": [ + "rds:DescribeDBShardGroups", + "rds:ListTagsForResource" + ] + }, + "update": { + "permissions": [ + "rds:AddTagsToResource", + "rds:DescribeDBShardGroups", + "rds:DescribeDBClusters", + "rds:RemoveTagsFromResource", + "rds:ModifyDBShardGroup", + "rds:ListTagsForResource" + ] + }, + "delete": { + "permissions": [ + "rds:DeleteDBShardGroup", + "rds:DescribeDBClusters", + "rds:DescribeDbShardGroups" + ], + "timeoutInMinutes": 2160 + }, + "list": { + "permissions": [ + "rds:DescribeDBShardGroups", + "rds:ListTagsForResource" + ] + } + }, + "attributes": { + "DBShardGroupResourceId": { + "description": "The Amazon Web Services Region-unique, immutable identifier for the DB shard group.", + "type": "string", + "markdownDescription": "The Amazon Web Services Region-unique, immutable identifier for the DB shard group.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "Endpoint": { + "description": "The connection endpoint for the DB shard group.", + "type": "string", + "markdownDescription": "The connection endpoint for the DB shard group.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + } + } +} \ No newline at end of file diff --git a/server/schema/resources/aws-rds-dbsubnetgroup.json b/server/schema/resources/aws-rds-dbsubnetgroup.json index 49fc8cb0..1439bb0c 100644 --- a/server/schema/resources/aws-rds-dbsubnetgroup.json +++ b/server/schema/resources/aws-rds-dbsubnetgroup.json @@ -16,6 +16,7 @@ "SubnetIds": { "type": "array", "uniqueItems": false, + "insertionOrder": false, "items": { "type": "string", "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" @@ -76,9 +77,6 @@ "primaryIdentifier": [ "/properties/DBSubnetGroupName" ], - "writeOnlyProperties": [ - "/properties/SubnetIds" - ], "handlers": { "create": { "permissions": [ @@ -118,5 +116,16 @@ ] } }, + "tagging": { + "taggable": true, + "tagOnCreate": true, + "tagUpdatable": true, + "cloudFormationSystemTags": true, + "tagProperty": "/properties/Tags", + "permissions": [ + "rds:AddTagsToResource", + "rds:RemoveTagsFromResource" + ] + }, "attributes": {} } \ No newline at end of file diff --git a/server/schema/resources/aws-rds-globalcluster.json b/server/schema/resources/aws-rds-globalcluster.json index c77c48e3..95451a5b 100644 --- a/server/schema/resources/aws-rds-globalcluster.json +++ b/server/schema/resources/aws-rds-globalcluster.json @@ -152,5 +152,16 @@ ] } }, + "tagging": { + "taggable": true, + "tagOnCreate": true, + "tagUpdatable": true, + "cloudFormationSystemTags": true, + "tagProperty": "/properties/Tags", + "permissions": [ + "rds:AddTagsToResource", + "rds:RemoveTagsFromResource" + ] + }, "attributes": {} } \ No newline at end of file diff --git a/server/schema/resources/aws-redshift-integration.json b/server/schema/resources/aws-redshift-integration.json new file mode 100644 index 00000000..5b6fafad --- /dev/null +++ b/server/schema/resources/aws-redshift-integration.json @@ -0,0 +1,197 @@ +{ + "typeName": "AWS::Redshift::Integration", + "description": "Integration from a source AWS service to a Redshift cluster", + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-rpdk.git", + "properties": { + "IntegrationName": { + "description": "The name of the integration.", + "type": "string", + "minLength": 1, + "maxLength": 64, + "markdownDescription": "The name of the integration.\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 64 \nUpdate requires: No interruption" + }, + "SourceArn": { + "type": "string", + "description": "The Amazon Resource Name (ARN) of the database to use as the source for replication, for example, arn:aws:dynamodb:us-east-2:123412341234:table/dynamotable", + "markdownDescription": "The Amazon Resource Name (ARN) of the database to use as the source for replication, for example, arn:aws:dynamodb:us-east-2:123412341234:table/dynamotable\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: Replacement" + }, + "TargetArn": { + "type": "string", + "description": "The Amazon Resource Name (ARN) of the Redshift data warehouse to use as the target for replication, for example, arn:aws:redshift:us-east-2:123412341234:namespace:e43aab3e-10a3-4ec4-83d4-f227ff9bfbcf", + "markdownDescription": "The Amazon Resource Name (ARN) of the Redshift data warehouse to use as the target for replication, for example, arn:aws:redshift:us-east-2:123412341234:namespace:e43aab3e-10a3-4ec4-83d4-f227ff9bfbcf\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: Replacement" + }, + "Tags": { + "type": "array", + "maxItems": 50, + "uniqueItems": true, + "insertionOrder": false, + "description": "An array of key-value pairs to apply to this resource.", + "items": { + "$ref": "#/definitions/Tag" + }, + "markdownDescription": "An array of key-value pairs to apply to this resource.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + }, + "KMSKeyId": { + "type": "string", + "description": "An KMS key identifier for the key to use to encrypt the integration. If you don't specify an encryption key, the default AWS owned KMS key is used.", + "anyOf": [ + { + "relationshipRef": { + "typeName": "AWS::KMS::Key", + "propertyPath": "/properties/Arn" + } + }, + { + "relationshipRef": { + "typeName": "AWS::KMS::Key", + "propertyPath": "/properties/KeyId" + } + } + ], + "markdownDescription": "An KMS key identifier for the key to use to encrypt the integration. If you don't specify an encryption key, the default AWS owned KMS key is used.\n\n---\n\nRequired: No \nType: String \nUpdate requires: Replacement" + }, + "AdditionalEncryptionContext": { + "$ref": "#/definitions/EncryptionContextMap" + } + }, + "required": [ + "SourceArn", + "TargetArn" + ], + "definitions": { + "Tags": { + "type": "array", + "maxItems": 50, + "uniqueItems": true, + "insertionOrder": false, + "description": "An array of key-value pairs to apply to this resource.", + "items": { + "$ref": "#/definitions/Tag" + }, + "markdownDescription": "An array of key-value pairs to apply to this resource.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + }, + "Tag": { + "description": "A key-value pair to associate with a resource.", + "type": "object", + "additionalProperties": false, + "properties": { + "Key": { + "type": "string", + "description": "The key name of the tag. You can specify a value that is 1 to 128 Unicode characters in length and cannot be prefixed with aws:. You can use any of the following characters: the set of Unicode letters, digits, whitespace, _, ., /, =, +, and -. ", + "minLength": 1, + "maxLength": 128, + "markdownDescription": "The key name of the tag. You can specify a value that is 1 to 128 Unicode characters in length and cannot be prefixed with aws:. You can use any of the following characters: the set of Unicode letters, digits, whitespace, _, ., /, =, +, and -. \n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 128 \nUpdate requires: No interruption" + }, + "Value": { + "type": "string", + "description": "The value for the tag. You can specify a value that is 0 to 256 Unicode characters in length and cannot be prefixed with aws:. You can use any of the following characters: the set of Unicode letters, digits, whitespace, _, ., /, =, +, and -. ", + "minLength": 0, + "maxLength": 256, + "markdownDescription": "The value for the tag. You can specify a value that is 0 to 256 Unicode characters in length and cannot be prefixed with aws:. You can use any of the following characters: the set of Unicode letters, digits, whitespace, _, ., /, =, +, and -. \n\n---\n\nRequired: No \nType: String \nMaximum Length: 256 \nUpdate requires: No interruption" + } + }, + "required": [ + "Key" + ], + "markdownDescription": "A key-value pair to associate with a resource.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "EncryptionContextMap": { + "type": "object", + "patternProperties": { + "^[\\s\\S]*$": { + "type": "string", + "maxLength": 131072, + "minLength": 0, + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMaximum Length: 131072 \nUpdate requires: No interruption" + } + }, + "description": "An optional set of non-secret key\u2013value pairs that contains additional contextual information about the data.", + "additionalProperties": false, + "markdownDescription": "An optional set of non-secret key\u2013value pairs that contains additional contextual information about the data.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + } + }, + "propertyTransform": { + "/properties/KmsKeyId": "$join([\"arn:(aws)[-]{0,1}[a-z]{0,2}[-]{0,1}[a-z]{0,3}:kms:[a-z]{2}[-]{1}[a-z]{3,10}[-]{0,1}[a-z]{0,10}[-]{1}[1-3]{1}:[0-9]{12}[:]{1}key\\/\", KmsKeyId])" + }, + "createOnlyProperties": [ + "/properties/SourceArn", + "/properties/TargetArn", + "/properties/KMSKeyId", + "/properties/AdditionalEncryptionContext" + ], + "readOnlyProperties": [ + "/properties/IntegrationArn", + "/properties/CreateTime" + ], + "primaryIdentifier": [ + "/properties/IntegrationArn" + ], + "handlers": { + "create": { + "permissions": [ + "redshift:CreateIntegration", + "redshift:DescribeIntegrations", + "redshift:CreateTags", + "redshift:DescribeTags", + "redshift:DescribeClusters", + "kms:CreateGrant", + "kms:DescribeKey", + "redshift:CreateInboundIntegration" + ] + }, + "read": { + "permissions": [ + "redshift:DescribeIntegrations", + "redshift:DescribeTags" + ] + }, + "update": { + "permissions": [ + "redshift:DescribeIntegrations", + "redshift:ModifyIntegration", + "redshift:CreateTags", + "redshift:DeleteTags", + "redshift:DescribeClusters", + "redshift:DescribeTags" + ] + }, + "delete": { + "permissions": [ + "redshift:DeleteTags", + "redshift:DeleteIntegration", + "redshift:DescribeIntegrations" + ] + }, + "list": { + "permissions": [ + "redshift:DescribeTags", + "redshift:DescribeIntegrations" + ] + } + }, + "tagging": { + "taggable": true, + "tagOnCreate": true, + "tagUpdatable": true, + "cloudFormationSystemTags": false, + "tagProperty": "/properties/Tags", + "permissions": [ + "redshift:CreateTags", + "redshift:DeleteTags", + "redshift:DescribeTags" + ] + }, + "additionalProperties": false, + "attributes": { + "IntegrationArn": { + "type": "string", + "description": "The Amazon Resource Name (ARN) of the integration.", + "markdownDescription": "The Amazon Resource Name (ARN) of the integration.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "CreateTime": { + "type": "string", + "description": "The time (UTC) when the integration was created.", + "markdownDescription": "The time (UTC) when the integration was created.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + } + } +} \ No newline at end of file diff --git a/server/schema/resources/aws-redshiftserverless-namespace.json b/server/schema/resources/aws-redshiftserverless-namespace.json index 98681ff6..0828e16d 100644 --- a/server/schema/resources/aws-redshiftserverless-namespace.json +++ b/server/schema/resources/aws-redshiftserverless-namespace.json @@ -254,7 +254,16 @@ } }, "tagging": { - "taggable": false + "taggable": true, + "tagOnCreate": true, + "tagUpdatable": true, + "cloudFormationSystemTags": false, + "tagProperty": "/properties/Tags", + "permissions": [ + "redshift-serverless:ListTagsForResource", + "redshift-serverless:TagResource", + "redshift-serverless:UntagResource" + ] }, "required": [ "NamespaceName" @@ -277,9 +286,6 @@ "/properties/AdminUserPassword", "/properties/FinalSnapshotName", "/properties/FinalSnapshotRetentionPeriod", - "/properties/Tags", - "/properties/Tags/*/Key", - "/properties/Tags/*/Value", "/properties/ManageAdminPassword", "/properties/RedshiftIdcApplicationArn" ], @@ -293,6 +299,7 @@ "handlers": { "create": { "permissions": [ + "iam:CreateServiceLinkedRole", "iam:PassRole", "kms:TagResource", "kms:UntagResource", @@ -311,6 +318,8 @@ "redshift-serverless:GetNamespace", "redshift-serverless:ListSnapshotCopyConfigurations", "redshift-serverless:CreateSnapshotCopyConfiguration", + "redshift-serverless:ListTagsForResource", + "redshift-serverless:TagResource", "redshift:GetResourcePolicy", "redshift:PutResourcePolicy", "secretsmanager:CreateSecret", @@ -323,6 +332,7 @@ "permissions": [ "iam:PassRole", "redshift-serverless:GetNamespace", + "redshift-serverless:ListTagsForResource", "redshift:GetResourcePolicy", "redshift-serverless:ListSnapshotCopyConfigurations" ] @@ -349,6 +359,9 @@ "redshift-serverless:CreateSnapshotCopyConfiguration", "redshift-serverless:UpdateSnapshotCopyConfiguration", "redshift-serverless:DeleteSnapshotCopyConfiguration", + "redshift-serverless:ListTagsForResource", + "redshift-serverless:TagResource", + "redshift-serverless:UntagResource", "redshift:GetResourcePolicy", "redshift:PutResourcePolicy", "redshift:DeleteResourcePolicy", @@ -365,6 +378,8 @@ "iam:PassRole", "redshift-serverless:DeleteNamespace", "redshift-serverless:GetNamespace", + "redshift-serverless:ListTagsForResource", + "redshift-serverless:UntagResource", "kms:RetireGrant", "secretsmanager:DescribeSecret", "secretsmanager:DeleteSecret", @@ -374,7 +389,8 @@ "list": { "permissions": [ "iam:PassRole", - "redshift-serverless:ListNamespaces" + "redshift-serverless:ListNamespaces", + "redshift-serverless:ListTagsForResource" ] } }, diff --git a/server/schema/resources/aws-redshiftserverless-workgroup.json b/server/schema/resources/aws-redshiftserverless-workgroup.json index 93d4e097..437556c4 100644 --- a/server/schema/resources/aws-redshiftserverless-workgroup.json +++ b/server/schema/resources/aws-redshiftserverless-workgroup.json @@ -303,7 +303,16 @@ } }, "tagging": { - "taggable": true + "taggable": true, + "tagOnCreate": true, + "tagUpdatable": true, + "cloudFormationSystemTags": false, + "tagProperty": "/properties/Tags", + "permissions": [ + "redshift-serverless:ListTagsForResource", + "redshift-serverless:TagResource", + "redshift-serverless:UntagResource" + ] }, "additionalProperties": false, "required": [ @@ -343,10 +352,7 @@ "/properties/MaxCapacity", "/properties/ConfigParameters", "/properties/SecurityGroupIds", - "/properties/SubnetIds", - "/properties/Tags", - "/properties/Tags/*/Key", - "/properties/Tags/*/Value" + "/properties/SubnetIds" ], "primaryIdentifier": [ "/properties/WorkgroupName" @@ -364,7 +370,9 @@ "redshift-serverless:CreateNamespace", "redshift-serverless:CreateWorkgroup", "redshift-serverless:GetWorkgroup", - "redshift-serverless:GetNamespace" + "redshift-serverless:GetNamespace", + "redshift-serverless:ListTagsForResource", + "redshift-serverless:TagResource" ] }, "read": { @@ -376,7 +384,8 @@ "ec2:DescribeSubnets", "ec2:DescribeAccountAttributes", "ec2:DescribeAvailabilityZones", - "redshift-serverless:GetWorkgroup" + "redshift-serverless:GetWorkgroup", + "redshift-serverless:ListTagsForResource" ] }, "update": { @@ -392,7 +401,10 @@ "redshift-serverless:TagResource", "redshift-serverless:UntagResource", "redshift-serverless:GetWorkgroup", - "redshift-serverless:UpdateWorkgroup" + "redshift-serverless:UpdateWorkgroup", + "redshift-serverless:ListTagsForResource", + "redshift-serverless:TagResource", + "redshift-serverless:UntagResource" ] }, "delete": { @@ -406,7 +418,9 @@ "ec2:DescribeAvailabilityZones", "redshift-serverless:GetWorkgroup", "redshift-serverless:GetNamespace", - "redshift-serverless:DeleteWorkgroup" + "redshift-serverless:DeleteWorkgroup", + "redshift-serverless:ListTagsForResource", + "redshift-serverless:UntagResource" ] }, "list": { @@ -418,7 +432,8 @@ "ec2:DescribeSubnets", "ec2:DescribeAccountAttributes", "ec2:DescribeAvailabilityZones", - "redshift-serverless:ListWorkgroups" + "redshift-serverless:ListWorkgroups", + "redshift-serverless:ListTagsForResource" ] } }, diff --git a/server/schema/resources/aws-refactorspaces-environment.json b/server/schema/resources/aws-refactorspaces-environment.json index 1dbfef46..ca79ce12 100644 --- a/server/schema/resources/aws-refactorspaces-environment.json +++ b/server/schema/resources/aws-refactorspaces-environment.json @@ -48,7 +48,7 @@ "type": "string", "maxLength": 63, "minLength": 3, - "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 3 \nMaximum Length: 63 \nPattern: ^(?!env-)[a-zA-Z0-9]+[a-zA-Z0-9-_ ]+$ \nUpdate requires: Replacement" + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMinimum Length: 3 \nMaximum Length: 63 \nPattern: ^(?!env-)[a-zA-Z0-9]+[a-zA-Z0-9-_ ]+$ \nUpdate requires: Replacement" }, "NetworkFabricType": { "$ref": "#/definitions/NetworkFabricType" @@ -63,10 +63,6 @@ "markdownDescription": "Metadata that you can assign to help organize the frameworks that you create. Each tag is a key-value pair.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" } }, - "required": [ - "Name", - "NetworkFabricType" - ], "readOnlyProperties": [ "/properties/EnvironmentIdentifier", "/properties/Arn", @@ -124,6 +120,13 @@ "refactor-spaces:ListTagsForResource" ] }, + "update": { + "permissions": [ + "refactor-spaces:GetEnvironment", + "refactor-spaces:TagResource", + "refactor-spaces:UntagResource" + ] + }, "delete": { "permissions": [ "refactor-spaces:GetEnvironment", @@ -145,7 +148,18 @@ ] } }, - "taggable": true, + "tagging": { + "taggable": true, + "tagOnCreate": true, + "tagUpdatable": true, + "cloudFormationSystemTags": false, + "tagProperty": "/properties/Tags", + "permissions": [ + "refactor-spaces:TagResource", + "refactor-spaces:ListTagsForResource", + "refactor-spaces:UntagResource" + ] + }, "attributes": { "EnvironmentIdentifier": { "type": "string", diff --git a/server/schema/resources/aws-refactorspaces-route.json b/server/schema/resources/aws-refactorspaces-route.json index e14cb55e..7cc0fdf9 100644 --- a/server/schema/resources/aws-refactorspaces-route.json +++ b/server/schema/resources/aws-refactorspaces-route.json @@ -288,21 +288,7 @@ ] } }, - "tagging": { - "taggable": true, - "tagOnCreate": true, - "tagUpdatable": true, - "cloudFormationSystemTags": false, - "tagProperty": "/properties/Tags", - "permissions": [ - "refactor-spaces:ListTagsForResource", - "tag:GetResources", - "elasticloadbalancing:AddTags", - "refactor-spaces:UntagResource", - "refactor-spaces:TagResource", - "elasticloadbalancing:DescribeTags" - ] - }, + "taggable": true, "attributes": { "PathResourceToId": { "type": "string", diff --git a/server/schema/resources/aws-route53-hostedzone.json b/server/schema/resources/aws-route53-hostedzone.json index a2ecb3e9..edd6d45e 100644 --- a/server/schema/resources/aws-route53-hostedzone.json +++ b/server/schema/resources/aws-route53-hostedzone.json @@ -172,7 +172,9 @@ "update": { "permissions": [ "route53:GetChange", + "route53:GetHostedZone", "route53:ListTagsForResource", + "route53:ListQueryLoggingConfigs", "route53:UpdateHostedZoneComment", "route53:ChangeTagsForResource", "route53:AssociateVPCWithHostedZone", @@ -194,7 +196,6 @@ "permissions": [ "route53:GetHostedZone", "route53:ListHostedZones", - "route53:ListHostedZonesByName", "route53:ListQueryLoggingConfigs", "route53:ListTagsForResource" ] diff --git a/server/schema/resources/aws-route53profiles-profileassociation.json b/server/schema/resources/aws-route53profiles-profileassociation.json index eba708f5..d0f74bc3 100644 --- a/server/schema/resources/aws-route53profiles-profileassociation.json +++ b/server/schema/resources/aws-route53profiles-profileassociation.json @@ -77,6 +77,7 @@ "/properties/ResourceId", "/properties/ProfileId" ], + "replacementStrategy": "delete_then_create", "primaryIdentifier": [ "/properties/Id" ], diff --git a/server/schema/resources/aws-route53profiles-profileresourceassociation.json b/server/schema/resources/aws-route53profiles-profileresourceassociation.json index bce85e63..331c0dba 100644 --- a/server/schema/resources/aws-route53profiles-profileresourceassociation.json +++ b/server/schema/resources/aws-route53profiles-profileresourceassociation.json @@ -39,6 +39,7 @@ "/properties/Name", "/properties/ResourceArn" ], + "replacementStrategy": "delete_then_create", "primaryIdentifier": [ "/properties/Id" ], diff --git a/server/schema/resources/aws-route53recoveryreadiness-cell.json b/server/schema/resources/aws-route53recoveryreadiness-cell.json index f4765705..221fe065 100644 --- a/server/schema/resources/aws-route53recoveryreadiness-cell.json +++ b/server/schema/resources/aws-route53recoveryreadiness-cell.json @@ -2,7 +2,6 @@ "typeName": "AWS::Route53RecoveryReadiness::Cell", "description": "The API Schema for AWS Route53 Recovery Readiness Cells.", "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-reoute53-recovery-readiness.git", - "taggable": true, "definitions": { "Tag": { "type": "object", @@ -100,6 +99,18 @@ ] } }, + "tagging": { + "taggable": true, + "tagOnCreate": true, + "tagUpdatable": true, + "tagProperty": "/properties/Tags", + "cloudFormationSystemTags": false, + "permissions": [ + "route53-recovery-readiness:TagResource", + "route53-recovery-readiness:UntagResource", + "route53-recovery-readiness:ListTagsForResource" + ] + }, "attributes": { "CellArn": { "description": "The Amazon Resource Name (ARN) of the cell.", diff --git a/server/schema/resources/aws-route53recoveryreadiness-readinesscheck.json b/server/schema/resources/aws-route53recoveryreadiness-readinesscheck.json index 27c9482f..2dab23a8 100644 --- a/server/schema/resources/aws-route53recoveryreadiness-readinesscheck.json +++ b/server/schema/resources/aws-route53recoveryreadiness-readinesscheck.json @@ -2,7 +2,6 @@ "typeName": "AWS::Route53RecoveryReadiness::ReadinessCheck", "description": "Aws Route53 Recovery Readiness Check Schema and API specification.", "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-route53-recovery-readiness.git", - "taggable": true, "definitions": { "Tag": { "type": "object", @@ -99,6 +98,18 @@ ] } }, + "tagging": { + "taggable": true, + "tagOnCreate": true, + "tagUpdatable": true, + "tagProperty": "/properties/Tags", + "cloudFormationSystemTags": false, + "permissions": [ + "route53-recovery-readiness:TagResource", + "route53-recovery-readiness:UntagResource", + "route53-recovery-readiness:ListTagsForResource" + ] + }, "attributes": { "ReadinessCheckArn": { "description": "The Amazon Resource Name (ARN) of the readiness check.", diff --git a/server/schema/resources/aws-route53recoveryreadiness-recoverygroup.json b/server/schema/resources/aws-route53recoveryreadiness-recoverygroup.json index c772d47c..b4423376 100644 --- a/server/schema/resources/aws-route53recoveryreadiness-recoverygroup.json +++ b/server/schema/resources/aws-route53recoveryreadiness-recoverygroup.json @@ -2,7 +2,6 @@ "typeName": "AWS::Route53RecoveryReadiness::RecoveryGroup", "description": "AWS Route53 Recovery Readiness Recovery Group Schema and API specifications.", "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-route53-recovery-readiness-readiness.git", - "taggable": true, "definitions": { "Tag": { "type": "object", @@ -104,6 +103,18 @@ ] } }, + "tagging": { + "taggable": true, + "tagOnCreate": true, + "tagUpdatable": true, + "tagProperty": "/properties/Tags", + "cloudFormationSystemTags": false, + "permissions": [ + "route53-recovery-readiness:TagResource", + "route53-recovery-readiness:UntagResource", + "route53-recovery-readiness:ListTagsForResource" + ] + }, "attributes": { "RecoveryGroupArn": { "description": "A collection of tags associated with a resource.", diff --git a/server/schema/resources/aws-route53recoveryreadiness-resourceset.json b/server/schema/resources/aws-route53recoveryreadiness-resourceset.json index 07db9bb5..1e517135 100644 --- a/server/schema/resources/aws-route53recoveryreadiness-resourceset.json +++ b/server/schema/resources/aws-route53recoveryreadiness-resourceset.json @@ -2,7 +2,6 @@ "typeName": "AWS::Route53RecoveryReadiness::ResourceSet", "description": "Schema for the AWS Route53 Recovery Readiness ResourceSet Resource and API.", "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-route53-recovery-readiness.git", - "taggable": true, "definitions": { "Tag": { "type": "object", @@ -232,6 +231,18 @@ ] } }, + "tagging": { + "taggable": true, + "tagOnCreate": true, + "tagUpdatable": true, + "tagProperty": "/properties/Tags", + "cloudFormationSystemTags": false, + "permissions": [ + "route53-recovery-readiness:TagResource", + "route53-recovery-readiness:UntagResource", + "route53-recovery-readiness:ListTagsForResource" + ] + }, "attributes": { "ResourceSetArn": { "description": "The Amazon Resource Name (ARN) of the resource set.", diff --git a/server/schema/resources/aws-route53resolver-firewallrulegroup.json b/server/schema/resources/aws-route53resolver-firewallrulegroup.json index 8c2156bf..cb39ed2d 100644 --- a/server/schema/resources/aws-route53resolver-firewallrulegroup.json +++ b/server/schema/resources/aws-route53resolver-firewallrulegroup.json @@ -11,7 +11,14 @@ "type": "string", "minLength": 1, "maxLength": 64, - "markdownDescription": "ResourceId\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 64 \nUpdate requires: No interruption" + "markdownDescription": "ResourceId\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 64 \nUpdate requires: No interruption" + }, + "FirewallThreatProtectionId": { + "description": "ResourceId", + "type": "string", + "minLength": 1, + "maxLength": 64, + "markdownDescription": "ResourceId\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 64 \nUpdate requires: No interruption" }, "Priority": { "description": "Rule Priority", @@ -67,6 +74,25 @@ "maxLength": 16, "markdownDescription": "Qtype\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 16 \nUpdate requires: No interruption" }, + "ConfidenceThreshold": { + "description": "FirewallDomainRedirectionAction", + "type": "string", + "enum": [ + "LOW", + "MEDIUM", + "HIGH" + ], + "markdownDescription": "FirewallDomainRedirectionAction\n\n---\n\nRequired: No \nType: String \nAllowed Values: LOW | MEDIUM | HIGH \nUpdate requires: No interruption" + }, + "DnsThreatProtection": { + "description": "FirewallDomainRedirectionAction", + "type": "string", + "enum": [ + "DGA", + "DNS_TUNNELING" + ], + "markdownDescription": "FirewallDomainRedirectionAction\n\n---\n\nRequired: No \nType: String \nAllowed Values: DGA | DNS_TUNNELING \nUpdate requires: No interruption" + }, "FirewallDomainRedirectionAction": { "description": "FirewallDomainRedirectionAction", "type": "string", @@ -78,7 +104,6 @@ } }, "required": [ - "FirewallDomainListId", "Priority", "Action" ], @@ -165,7 +190,8 @@ "/properties/ShareStatus", "/properties/CreatorRequestId", "/properties/CreationTime", - "/properties/ModificationTime" + "/properties/ModificationTime", + "/properties/FirewallRules/*/FirewallThreatProtectionId" ], "primaryIdentifier": [ "/properties/Id" diff --git a/server/schema/resources/aws-route53resolver-outpostresolver.json b/server/schema/resources/aws-route53resolver-outpostresolver.json index 8dcdf198..61bea0c3 100644 --- a/server/schema/resources/aws-route53resolver-outpostresolver.json +++ b/server/schema/resources/aws-route53resolver-outpostresolver.json @@ -76,7 +76,11 @@ "tagOnCreate": true, "tagUpdatable": true, "cloudFormationSystemTags": true, - "tagProperty": "/properties/Tags" + "tagProperty": "/properties/Tags", + "permissions": [ + "route53resolver:TagResource", + "route53resolver:UntagResource" + ] }, "required": [ "OutpostArn", @@ -104,7 +108,8 @@ "route53resolver:CreateOutpostResolver", "route53resolver:GetOutpostResolver", "route53resolver:ListTagsForResource", - "outposts:GetOutpost" + "outposts:GetOutpost", + "route53resolver:TagResource" ] }, "read": { diff --git a/server/schema/resources/aws-route53resolver-resolverrule.json b/server/schema/resources/aws-route53resolver-resolverrule.json index 8d920590..ab811b53 100644 --- a/server/schema/resources/aws-route53resolver-resolverrule.json +++ b/server/schema/resources/aws-route53resolver-resolverrule.json @@ -1,5 +1,9 @@ { "tagging": { + "permissions": [ + "route53resolver:TagResource", + "route53resolver:UntagResource" + ], "taggable": true, "tagOnCreate": true, "tagUpdatable": true, @@ -95,6 +99,13 @@ "DoH" ], "markdownDescription": "The protocol that you want to use to forward DNS queries. \n\n---\n\nRequired: No \nType: String \nAllowed Values: Do53 | DoH \nUpdate requires: No interruption" + }, + "ServerNameIndication": { + "minLength": 0, + "description": "The SNI of the target name servers for DoH/DoH-FIPS outbound endpoints", + "type": "string", + "maxLength": 255, + "markdownDescription": "The SNI of the target name servers for DoH/DoH-FIPS outbound endpoints\n\n---\n\nRequired: No \nType: String \nMaximum Length: 255 \nUpdate requires: No interruption" } }, "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" @@ -151,13 +162,6 @@ ], "markdownDescription": "When you want to forward DNS queries for specified domain name to resolvers on your network, specify FORWARD. When you have a forwarding rule to forward DNS queries for a domain to your network and you want Resolver to process queries for a subdomain of that domain, specify SYSTEM.\n\n---\n\nRequired: Yes \nType: String \nAllowed Values: FORWARD | SYSTEM | RECURSIVE | DELEGATE \nUpdate requires: Replacement" }, - "DelegationRecord": { - "minLength": 1, - "description": "The name server domain for queries to be delegated to if a query matches the delegation record.", - "type": "string", - "maxLength": 256, - "markdownDescription": "The name server domain for queries to be delegated to if a query matches the delegation record.\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 256 \nUpdate requires: No interruption" - }, "Tags": { "uniqueItems": false, "description": "An array of key-value pairs to apply to this resource.", diff --git a/server/schema/resources/aws-s3-accessgrant.json b/server/schema/resources/aws-s3-accessgrant.json index 3fcfab35..81de236a 100644 --- a/server/schema/resources/aws-s3-accessgrant.json +++ b/server/schema/resources/aws-s3-accessgrant.json @@ -1,7 +1,7 @@ { "typeName": "AWS::S3::AccessGrant", "description": "The AWS::S3::AccessGrant resource is an Amazon S3 resource type representing permissions to a specific S3 bucket or prefix hosted in an S3 Access Grants instance.", - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-s3", + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-rpdk.git", "definitions": { "Grantee": { "type": "object", @@ -131,7 +131,6 @@ "/properties/Tags" ], "writeOnlyProperties": [ - "/properties/Tags", "/properties/S3PrefixType" ], "readOnlyProperties": [ @@ -146,7 +145,13 @@ "taggable": true, "tagOnCreate": true, "tagUpdatable": true, - "tagProperty": "/properties/Tags" + "cloudFormationSystemTags": false, + "tagProperty": "/properties/Tags", + "permissions": [ + "s3:UntagResource", + "s3:TagResource", + "s3:ListTagsForResource" + ] }, "handlers": { "create": { @@ -157,7 +162,8 @@ }, "read": { "permissions": [ - "s3:GetAccessGrant" + "s3:GetAccessGrant", + "s3:ListTagsForResource" ] }, "delete": { @@ -172,7 +178,8 @@ }, "update": { "permissions": [ - "s3:TagResource" + "s3:TagResource", + "s3:UntagResource" ] } }, diff --git a/server/schema/resources/aws-s3-accessgrantsinstance.json b/server/schema/resources/aws-s3-accessgrantsinstance.json index cb2b8977..81164880 100644 --- a/server/schema/resources/aws-s3-accessgrantsinstance.json +++ b/server/schema/resources/aws-s3-accessgrantsinstance.json @@ -70,7 +70,13 @@ "taggable": true, "tagOnCreate": true, "tagUpdatable": true, - "tagProperty": "/properties/Tags" + "cloudFormationSystemTags": false, + "tagProperty": "/properties/Tags", + "permissions": [ + "s3:UntagResource", + "s3:TagResource", + "s3:ListTagsForResource" + ] }, "handlers": { "create": { @@ -81,7 +87,8 @@ }, "read": { "permissions": [ - "s3:GetAccessGrantsInstance" + "s3:GetAccessGrantsInstance", + "s3:ListTagsForResource" ] }, "delete": { @@ -91,7 +98,8 @@ }, "update": { "permissions": [ - "s3:TagResource" + "s3:TagResource", + "s3:UntagResource" ] }, "list": { diff --git a/server/schema/resources/aws-s3-accessgrantslocation.json b/server/schema/resources/aws-s3-accessgrantslocation.json index 503b0793..aa9fa199 100644 --- a/server/schema/resources/aws-s3-accessgrantslocation.json +++ b/server/schema/resources/aws-s3-accessgrantslocation.json @@ -61,14 +61,17 @@ "createOnlyProperties": [ "/properties/Tags" ], - "writeOnlyProperties": [ - "/properties/Tags" - ], "tagging": { "taggable": true, "tagOnCreate": true, "tagUpdatable": true, - "tagProperty": "/properties/Tags" + "cloudFormationSystemTags": false, + "tagProperty": "/properties/Tags", + "permissions": [ + "s3:UntagResource", + "s3:TagResource", + "s3:ListTagsForResource" + ] }, "handlers": { "create": { @@ -80,7 +83,8 @@ }, "read": { "permissions": [ - "s3:GetAccessGrantsLocation" + "s3:GetAccessGrantsLocation", + "s3:ListTagsForResource" ] }, "delete": { @@ -97,6 +101,7 @@ "permissions": [ "s3:UpdateAccessGrantsLocation", "s3:TagResource", + "s3:UntagResource", "iam:PassRole" ] } diff --git a/server/schema/resources/aws-s3-bucket.json b/server/schema/resources/aws-s3-bucket.json index 575d42bc..8f9a9f34 100644 --- a/server/schema/resources/aws-s3-bucket.json +++ b/server/schema/resources/aws-s3-bucket.json @@ -1,857 +1,243 @@ { - "tagging": { - "taggable": true, - "tagOnCreate": true, - "tagUpdatable": true, - "tagProperty": "/properties/Tags", - "cloudFormationSystemTags": true - }, - "propertyTransform": { - "/properties/NotificationConfiguration/LambdaConfigurations/*/Filter/S3Key/Rules/*/Name": "$replace(Name, \"prefix\", \"Prefix\") $OR $replace(Name, \"suffix\", \"Suffix\")", - "/properties/NotificationConfiguration/QueueConfigurations/*/Filter/S3Key/Rules/*/Name": "$replace(Name, \"prefix\", \"Prefix\") $OR $replace(Name, \"suffix\", \"Suffix\")", - "/properties/NotificationConfiguration/TopicConfigurations/*/Filter/S3Key/Rules/*/Name": "$replace(Name, \"prefix\", \"Prefix\") $OR $replace(Name, \"suffix\", \"Suffix\")" - }, - "handlers": { - "read": { - "permissions": [ - "s3:GetAccelerateConfiguration", - "s3:GetLifecycleConfiguration", - "s3:GetBucketPublicAccessBlock", - "s3:GetAnalyticsConfiguration", - "s3:GetBucketCORS", - "s3:GetEncryptionConfiguration", - "s3:GetInventoryConfiguration", - "s3:GetBucketLogging", - "s3:GetMetricsConfiguration", - "s3:GetBucketNotification", - "s3:GetBucketVersioning", - "s3:GetReplicationConfiguration", - "S3:GetBucketWebsite", - "s3:GetBucketPublicAccessBlock", - "s3:GetBucketObjectLockConfiguration", - "s3:GetBucketTagging", - "s3:GetBucketOwnershipControls", - "s3:GetIntelligentTieringConfiguration", - "s3:ListBucket" - ] - }, - "create": { - "permissions": [ - "s3:CreateBucket", - "s3:PutBucketTagging", - "s3:PutAnalyticsConfiguration", - "s3:PutEncryptionConfiguration", - "s3:PutBucketCORS", - "s3:PutInventoryConfiguration", - "s3:PutLifecycleConfiguration", - "s3:PutMetricsConfiguration", - "s3:PutBucketNotification", - "s3:PutBucketReplication", - "s3:PutBucketWebsite", - "s3:PutAccelerateConfiguration", - "s3:PutBucketPublicAccessBlock", - "s3:PutReplicationConfiguration", - "s3:PutObjectAcl", - "s3:PutBucketObjectLockConfiguration", - "s3:GetBucketAcl", - "s3:ListBucket", - "iam:PassRole", - "s3:DeleteObject", - "s3:PutBucketLogging", - "s3:PutBucketVersioning", - "s3:PutObjectLockConfiguration", - "s3:PutBucketOwnershipControls", - "s3:PutIntelligentTieringConfiguration" - ] - }, - "update": { - "permissions": [ - "s3:PutBucketAcl", - "s3:PutBucketTagging", - "s3:PutAnalyticsConfiguration", - "s3:PutEncryptionConfiguration", - "s3:PutBucketCORS", - "s3:PutInventoryConfiguration", - "s3:PutLifecycleConfiguration", - "s3:PutMetricsConfiguration", - "s3:PutBucketNotification", - "s3:PutBucketReplication", - "s3:PutBucketWebsite", - "s3:PutAccelerateConfiguration", - "s3:PutBucketPublicAccessBlock", - "s3:PutReplicationConfiguration", - "s3:PutBucketOwnershipControls", - "s3:PutIntelligentTieringConfiguration", - "s3:DeleteBucketWebsite", - "s3:PutBucketLogging", - "s3:PutBucketVersioning", - "s3:PutObjectLockConfiguration", - "s3:PutBucketObjectLockConfiguration", - "s3:DeleteBucketAnalyticsConfiguration", - "s3:DeleteBucketCors", - "s3:DeleteBucketMetricsConfiguration", - "s3:DeleteBucketEncryption", - "s3:DeleteBucketLifecycle", - "s3:DeleteBucketReplication", - "iam:PassRole", - "s3:ListBucket" - ] - }, - "list": { - "permissions": [ - "s3:ListAllMyBuckets" - ] - }, - "delete": { - "permissions": [ - "s3:DeleteBucket", - "s3:ListBucket" - ] - } - }, "typeName": "AWS::S3::Bucket", - "readOnlyProperties": [ - "/properties/Arn", - "/properties/DomainName", - "/properties/DualStackDomainName", - "/properties/RegionalDomainName", - "/properties/WebsiteURL" - ], "description": "The ``AWS::S3::Bucket`` resource creates an Amazon S3 bucket in the same AWS Region where you create the AWS CloudFormation stack.\n To control how AWS CloudFormation handles the bucket when the stack is deleted, you can set a deletion policy for your bucket. You can choose to *retain* the bucket or to *delete* the bucket. For more information, see [DeletionPolicy Attribute](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-deletionpolicy.html).\n You can only delete empty buckets. Deletion fails for buckets that have contents.", - "writeOnlyProperties": [ - "/properties/AccessControl", - "/properties/LifecycleConfiguration/Rules/*/NoncurrentVersionExpirationInDays", - "/properties/LifecycleConfiguration/Rules/*/NoncurrentVersionTransition", - "/properties/LifecycleConfiguration/Rules/*/Transition", - "/properties/ReplicationConfiguration/Rules/*/Prefix", - "/properties/LifecycleConfiguration/Rules/*/ExpiredObjectDeleteMarker" - ], - "createOnlyProperties": [ - "/properties/BucketName" - ], "additionalProperties": false, - "primaryIdentifier": [ - "/properties/BucketName" - ], - "definitions": { - "DefaultRetention": { - "description": "The container element for optionally specifying the default Object Lock retention settings for new objects placed in the specified bucket.\n + The ``DefaultRetention`` settings require both a mode and a period.\n + The ``DefaultRetention`` period can be either ``Days`` or ``Years`` but you must select one. You cannot specify ``Days`` and ``Years`` at the same time.", - "additionalProperties": false, - "type": "object", - "properties": { - "Years": { - "description": "The number of years that you want to specify for the default retention period. If Object Lock is turned on, you must specify ``Mode`` and specify either ``Days`` or ``Years``.", - "type": "integer", - "markdownDescription": "The number of years that you want to specify for the default retention period. If Object Lock is turned on, you must specify ``Mode`` and specify either ``Days`` or ``Years``.\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" - }, - "Days": { - "description": "The number of days that you want to specify for the default retention period. If Object Lock is turned on, you must specify ``Mode`` and specify either ``Days`` or ``Years``.", - "type": "integer", - "markdownDescription": "The number of days that you want to specify for the default retention period. If Object Lock is turned on, you must specify ``Mode`` and specify either ``Days`` or ``Years``.\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" - }, - "Mode": { - "description": "The default Object Lock retention mode you want to apply to new objects placed in the specified bucket. If Object Lock is turned on, you must specify ``Mode`` and specify either ``Days`` or ``Years``.", - "type": "string", - "enum": [ - "COMPLIANCE", - "GOVERNANCE" - ], - "markdownDescription": "The default Object Lock retention mode you want to apply to new objects placed in the specified bucket. If Object Lock is turned on, you must specify ``Mode`` and specify either ``Days`` or ``Years``.\n\n---\n\nRequired: No \nType: String \nAllowed Values: COMPLIANCE | GOVERNANCE \nUpdate requires: No interruption" - } - }, - "markdownDescription": "The container element for optionally specifying the default Object Lock retention settings for new objects placed in the specified bucket.\n + The ``DefaultRetention`` settings require both a mode and a period.\n + The ``DefaultRetention`` period can be either ``Days`` or ``Years`` but you must select one. You cannot specify ``Days`` and ``Years`` at the same time.\n\n---\n\nRequired: No \nUpdate requires: No interruption" - }, - "SourceSelectionCriteria": { - "description": "A container that describes additional filters for identifying the source objects that you want to replicate. You can choose to enable or disable the replication of these objects.", - "additionalProperties": false, - "type": "object", - "properties": { - "ReplicaModifications": { - "description": "A filter that you can specify for selection for modifications on replicas.", - "$ref": "#/definitions/ReplicaModifications", - "markdownDescription": "A filter that you can specify for selection for modifications on replicas.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" - }, - "SseKmsEncryptedObjects": { - "description": "A container for filter information for the selection of Amazon S3 objects encrypted with AWS KMS.", - "$ref": "#/definitions/SseKmsEncryptedObjects", - "markdownDescription": "A container for filter information for the selection of Amazon S3 objects encrypted with AWS KMS.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" - } - }, - "markdownDescription": "A container that describes additional filters for identifying the source objects that you want to replicate. You can choose to enable or disable the replication of these objects.\n\n---\n\nRequired: No \nUpdate requires: No interruption" - }, - "ReplicationTimeValue": { - "description": "A container specifying the time value for S3 Replication Time Control (S3 RTC) and replication metrics ``EventThreshold``.", - "additionalProperties": false, - "type": "object", - "properties": { - "Minutes": { - "description": "Contains an integer specifying time in minutes. \n Valid value: 15", - "type": "integer", - "markdownDescription": "Contains an integer specifying time in minutes. \n Valid value: 15\n\n---\n\nRequired: Yes \nType: Integer \nUpdate requires: No interruption" - } - }, - "required": [ - "Minutes" - ], - "markdownDescription": "A container specifying the time value for S3 Replication Time Control (S3 RTC) and replication metrics ``EventThreshold``.\n\n---\n\nRequired: No \nUpdate requires: No interruption" - }, - "FilterRule": { - "description": "Specifies the Amazon S3 object key name to filter on. An object key name is the name assigned to an object in your Amazon S3 bucket. You specify whether to filter on the suffix or prefix of the object key name. A prefix is a specific string of characters at the beginning of an object key name, which you can use to organize objects. For example, you can start the key names of related objects with a prefix, such as ``2023-`` or ``engineering/``. Then, you can use ``FilterRule`` to find objects in a bucket with key names that have the same prefix. A suffix is similar to a prefix, but it is at the end of the object key name instead of at the beginning.", - "additionalProperties": false, - "type": "object", - "properties": { - "Value": { - "description": "The value that the filter searches for in object key names.", - "type": "string", - "markdownDescription": "The value that the filter searches for in object key names.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" - }, - "Name": { - "description": "The object key name prefix or suffix identifying one or more objects to which the filtering rule applies. The maximum length is 1,024 characters. Overlapping prefixes and suffixes are not supported. For more information, see [Configuring Event Notifications](https://docs.aws.amazon.com/AmazonS3/latest/dev/NotificationHowTo.html) in the *Amazon S3 User Guide*.", - "type": "string", - "maxLength": 1024, - "markdownDescription": "The object key name prefix or suffix identifying one or more objects to which the filtering rule applies. The maximum length is 1,024 characters. Overlapping prefixes and suffixes are not supported. For more information, see [Configuring Event Notifications](https://docs.aws.amazon.com/AmazonS3/latest/dev/NotificationHowTo.html) in the *Amazon S3 User Guide*.\n\n---\n\nRequired: Yes \nType: String \nMaximum Length: 1024 \nUpdate requires: No interruption" - } - }, - "required": [ - "Value", - "Name" - ], - "markdownDescription": "Specifies the Amazon S3 object key name to filter on. An object key name is the name assigned to an object in your Amazon S3 bucket. You specify whether to filter on the suffix or prefix of the object key name. A prefix is a specific string of characters at the beginning of an object key name, which you can use to organize objects. For example, you can start the key names of related objects with a prefix, such as ``2023-`` or ``engineering/``. Then, you can use ``FilterRule`` to find objects in a bucket with key names that have the same prefix. A suffix is similar to a prefix, but it is at the end of the object key name instead of at the beginning.\n\n---\n\nRequired: No \nUpdate requires: No interruption" - }, - "ReplicationRule": { - "description": "Specifies which Amazon S3 objects to replicate and where to store the replicas.", - "additionalProperties": false, - "type": "object", - "properties": { - "Status": { - "description": "Specifies whether the rule is enabled.", - "type": "string", - "enum": [ - "Disabled", - "Enabled" - ], - "markdownDescription": "Specifies whether the rule is enabled.\n\n---\n\nRequired: Yes \nType: String \nAllowed Values: Disabled | Enabled \nUpdate requires: No interruption" - }, - "Destination": { - "description": "A container for information about the replication destination and its configurations including enabling the S3 Replication Time Control (S3 RTC).", - "$ref": "#/definitions/ReplicationDestination", - "markdownDescription": "A container for information about the replication destination and its configurations including enabling the S3 Replication Time Control (S3 RTC).\n\n---\n\nRequired: Yes \nType: \nUpdate requires: No interruption" - }, - "Filter": { - "description": "A filter that identifies the subset of objects to which the replication rule applies. A ``Filter`` must specify exactly one ``Prefix``, ``TagFilter``, or an ``And`` child element. The use of the filter field indicates that this is a V2 replication configuration. This field isn't supported in a V1 replication configuration.\n V1 replication configuration only supports filtering by key prefix. To filter using a V1 replication configuration, add the ``Prefix`` directly as a child element of the ``Rule`` element.", - "$ref": "#/definitions/ReplicationRuleFilter", - "markdownDescription": "A filter that identifies the subset of objects to which the replication rule applies. A ``Filter`` must specify exactly one ``Prefix``, ``TagFilter``, or an ``And`` child element. The use of the filter field indicates that this is a V2 replication configuration. This field isn't supported in a V1 replication configuration.\n V1 replication configuration only supports filtering by key prefix. To filter using a V1 replication configuration, add the ``Prefix`` directly as a child element of the ``Rule`` element.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" - }, - "Priority": { - "description": "The priority indicates which rule has precedence whenever two or more replication rules conflict. Amazon S3 will attempt to replicate objects according to all replication rules. However, if there are two or more rules with the same destination bucket, then objects will be replicated according to the rule with the highest priority. The higher the number, the higher the priority. \n For more information, see [Replication](https://docs.aws.amazon.com/AmazonS3/latest/dev/replication.html) in the *Amazon S3 User Guide*.", - "type": "integer", - "markdownDescription": "The priority indicates which rule has precedence whenever two or more replication rules conflict. Amazon S3 will attempt to replicate objects according to all replication rules. However, if there are two or more rules with the same destination bucket, then objects will be replicated according to the rule with the highest priority. The higher the number, the higher the priority. \n For more information, see [Replication](https://docs.aws.amazon.com/AmazonS3/latest/dev/replication.html) in the *Amazon S3 User Guide*.\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" - }, - "SourceSelectionCriteria": { - "description": "A container that describes additional filters for identifying the source objects that you want to replicate. You can choose to enable or disable the replication of these objects.", - "$ref": "#/definitions/SourceSelectionCriteria", - "markdownDescription": "A container that describes additional filters for identifying the source objects that you want to replicate. You can choose to enable or disable the replication of these objects.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" - }, - "Id": { - "description": "A unique identifier for the rule. The maximum value is 255 characters. If you don't specify a value, AWS CloudFormation generates a random ID. When using a V2 replication configuration this property is capitalized as \"ID\".", - "type": "string", - "maxLength": 255, - "markdownDescription": "A unique identifier for the rule. The maximum value is 255 characters. If you don't specify a value, AWS CloudFormation generates a random ID. When using a V2 replication configuration this property is capitalized as \"ID\".\n\n---\n\nRequired: No \nType: String \nMaximum Length: 255 \nUpdate requires: No interruption" - }, - "Prefix": { - "description": "An object key name prefix that identifies the object or objects to which the rule applies. The maximum prefix length is 1,024 characters. To include all objects in a bucket, specify an empty string. To filter using a V1 replication configuration, add the ``Prefix`` directly as a child element of the ``Rule`` element.\n Replacement must be made for object keys containing special characters (such as carriage returns) when using XML requests. For more information, see [XML related object key constraints](https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-keys.html#object-key-xml-related-constraints).", - "type": "string", - "maxLength": 1024, - "markdownDescription": "An object key name prefix that identifies the object or objects to which the rule applies. The maximum prefix length is 1,024 characters. To include all objects in a bucket, specify an empty string. To filter using a V1 replication configuration, add the ``Prefix`` directly as a child element of the ``Rule`` element.\n Replacement must be made for object keys containing special characters (such as carriage returns) when using XML requests. For more information, see [XML related object key constraints](https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-keys.html#object-key-xml-related-constraints).\n\n---\n\nRequired: No \nType: String \nMaximum Length: 1024 \nUpdate requires: No interruption" - }, - "DeleteMarkerReplication": { - "description": "Specifies whether Amazon S3 replicates delete markers. If you specify a ``Filter`` in your replication configuration, you must also include a ``DeleteMarkerReplication`` element. If your ``Filter`` includes a ``Tag`` element, the ``DeleteMarkerReplication`` ``Status`` must be set to Disabled, because Amazon S3 does not support replicating delete markers for tag-based rules. For an example configuration, see [Basic Rule Configuration](https://docs.aws.amazon.com/AmazonS3/latest/dev/replication-add-config.html#replication-config-min-rule-config). \n For more information about delete marker replication, see [Basic Rule Configuration](https://docs.aws.amazon.com/AmazonS3/latest/dev/delete-marker-replication.html). \n If you are using an earlier version of the replication configuration, Amazon S3 handles replication of delete markers differently. For more information, see [Backward Compatibility](https://docs.aws.amazon.com/AmazonS3/latest/dev/replication-add-config.html#replication-backward-compat-considerations).", - "$ref": "#/definitions/DeleteMarkerReplication", - "markdownDescription": "Specifies whether Amazon S3 replicates delete markers. If you specify a ``Filter`` in your replication configuration, you must also include a ``DeleteMarkerReplication`` element. If your ``Filter`` includes a ``Tag`` element, the ``DeleteMarkerReplication`` ``Status`` must be set to Disabled, because Amazon S3 does not support replicating delete markers for tag-based rules. For an example configuration, see [Basic Rule Configuration](https://docs.aws.amazon.com/AmazonS3/latest/dev/replication-add-config.html#replication-config-min-rule-config). \n For more information about delete marker replication, see [Basic Rule Configuration](https://docs.aws.amazon.com/AmazonS3/latest/dev/delete-marker-replication.html). \n If you are using an earlier version of the replication configuration, Amazon S3 handles replication of delete markers differently. For more information, see [Backward Compatibility](https://docs.aws.amazon.com/AmazonS3/latest/dev/replication-add-config.html#replication-backward-compat-considerations).\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" - } - }, - "required": [ - "Destination", - "Status" - ], - "markdownDescription": "Specifies which Amazon S3 objects to replicate and where to store the replicas.\n\n---\n\nRequired: No \nUpdate requires: No interruption" - }, + "properties": { "AccelerateConfiguration": { + "$ref": "#/definitions/AccelerateConfiguration", "description": "Configures the transfer acceleration state for an Amazon S3 bucket. For more information, see [Amazon S3 Transfer Acceleration](https://docs.aws.amazon.com/AmazonS3/latest/dev/transfer-acceleration.html) in the *Amazon S3 User Guide*.", - "additionalProperties": false, - "type": "object", - "properties": { - "AccelerationStatus": { - "description": "Specifies the transfer acceleration status of the bucket.", - "type": "string", - "enum": [ - "Enabled", - "Suspended" - ], - "markdownDescription": "Specifies the transfer acceleration status of the bucket.\n\n---\n\nRequired: Yes \nType: String \nAllowed Values: Enabled | Suspended \nUpdate requires: No interruption" - } - }, - "required": [ - "AccelerationStatus" - ], - "markdownDescription": "Configures the transfer acceleration state for an Amazon S3 bucket. For more information, see [Amazon S3 Transfer Acceleration](https://docs.aws.amazon.com/AmazonS3/latest/dev/transfer-acceleration.html) in the *Amazon S3 User Guide*.\n\n---\n\nRequired: No \nUpdate requires: No interruption" - }, - "TargetObjectKeyFormat": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "SimplePrefix": { - "description": "This format defaults the prefix to the given log file prefix for delivering server access log file.", - "additionalProperties": false, - "type": "object" - } - }, - "required": [ - "SimplePrefix" - ] - }, - { - "additionalProperties": false, - "properties": { - "PartitionedPrefix": { - "$ref": "#/definitions/PartitionedPrefix" - } - }, - "required": [ - "PartitionedPrefix" - ] - } - ], - "description": "Describes the key format for server access log file in the target bucket. You can choose between SimplePrefix and PartitionedPrefix.", - "type": "object", - "markdownDescription": "Describes the key format for server access log file in the target bucket. You can choose between SimplePrefix and PartitionedPrefix.\n\n---\n\nRequired: No \nUpdate requires: No interruption" - }, - "Metrics": { - "description": "A container specifying replication metrics-related settings enabling replication metrics and events.", - "additionalProperties": false, - "type": "object", - "properties": { - "Status": { - "description": "Specifies whether the replication metrics are enabled.", - "type": "string", - "enum": [ - "Disabled", - "Enabled" - ], - "markdownDescription": "Specifies whether the replication metrics are enabled.\n\n---\n\nRequired: Yes \nType: String \nAllowed Values: Disabled | Enabled \nUpdate requires: No interruption" - }, - "EventThreshold": { - "description": "A container specifying the time threshold for emitting the ``s3:Replication:OperationMissedThreshold`` event.", - "$ref": "#/definitions/ReplicationTimeValue", - "markdownDescription": "A container specifying the time threshold for emitting the ``s3:Replication:OperationMissedThreshold`` event.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" - } - }, - "required": [ - "Status" - ], - "markdownDescription": "A container specifying replication metrics-related settings enabling replication metrics and events.\n\n---\n\nRequired: No \nUpdate requires: No interruption" - }, - "RoutingRuleCondition": { - "description": "A container for describing a condition that must be met for the specified redirect to apply. For example, 1. If request is for pages in the ``/docs`` folder, redirect to the ``/documents`` folder. 2. If request results in HTTP error 4xx, redirect request to another host where you might process the error.", - "additionalProperties": false, - "type": "object", - "properties": { - "KeyPrefixEquals": { - "description": "The object key name prefix when the redirect is applied. For example, to redirect requests for ``ExamplePage.html``, the key prefix will be ``ExamplePage.html``. To redirect request for all pages with the prefix ``docs/``, the key prefix will be ``/docs``, which identifies all objects in the docs/ folder.\n Required when the parent element ``Condition`` is specified and sibling ``HttpErrorCodeReturnedEquals`` is not specified. If both conditions are specified, both must be true for the redirect to be applied.", - "type": "string", - "markdownDescription": "The object key name prefix when the redirect is applied. For example, to redirect requests for ``ExamplePage.html``, the key prefix will be ``ExamplePage.html``. To redirect request for all pages with the prefix ``docs/``, the key prefix will be ``/docs``, which identifies all objects in the docs/ folder.\n Required when the parent element ``Condition`` is specified and sibling ``HttpErrorCodeReturnedEquals`` is not specified. If both conditions are specified, both must be true for the redirect to be applied.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" - }, - "HttpErrorCodeReturnedEquals": { - "description": "The HTTP error code when the redirect is applied. In the event of an error, if the error code equals this value, then the specified redirect is applied.\n Required when parent element ``Condition`` is specified and sibling ``KeyPrefixEquals`` is not specified. If both are specified, then both must be true for the redirect to be applied.", - "type": "string", - "markdownDescription": "The HTTP error code when the redirect is applied. In the event of an error, if the error code equals this value, then the specified redirect is applied.\n Required when parent element ``Condition`` is specified and sibling ``KeyPrefixEquals`` is not specified. If both are specified, then both must be true for the redirect to be applied.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" - } - }, - "markdownDescription": "A container for describing a condition that must be met for the specified redirect to apply. For example, 1. If request is for pages in the ``/docs`` folder, redirect to the ``/documents`` folder. 2. If request results in HTTP error 4xx, redirect request to another host where you might process the error.\n\n---\n\nRequired: No \nUpdate requires: No interruption" - }, - "OwnershipControls": { - "description": "Specifies the container element for Object Ownership rules.\n S3 Object Ownership is an Amazon S3 bucket-level setting that you can use to disable access control lists (ACLs) and take ownership of every object in your bucket, simplifying access management for data stored in Amazon S3. For more information, see [Controlling ownership of objects and disabling ACLs](https://docs.aws.amazon.com/AmazonS3/latest/userguide/about-object-ownership.html) in the *Amazon S3 User Guide*.", - "additionalProperties": false, - "type": "object", - "properties": { - "Rules": { - "uniqueItems": true, - "description": "Specifies the container element for Object Ownership rules.", - "insertionOrder": true, - "type": "array", - "items": { - "$ref": "#/definitions/OwnershipControlsRule" - }, - "markdownDescription": "Specifies the container element for Object Ownership rules.\n\n---\n\nRequired: Yes \nType: Array \nUpdate requires: No interruption" - } - }, - "required": [ - "Rules" - ], - "markdownDescription": "Specifies the container element for Object Ownership rules.\n S3 Object Ownership is an Amazon S3 bucket-level setting that you can use to disable access control lists (ACLs) and take ownership of every object in your bucket, simplifying access management for data stored in Amazon S3. For more information, see [Controlling ownership of objects and disabling ACLs](https://docs.aws.amazon.com/AmazonS3/latest/userguide/about-object-ownership.html) in the *Amazon S3 User Guide*.\n\n---\n\nRequired: No \nUpdate requires: No interruption" - }, - "DeleteMarkerReplication": { - "description": "Specifies whether Amazon S3 replicates delete markers. If you specify a ``Filter`` in your replication configuration, you must also include a ``DeleteMarkerReplication`` element. If your ``Filter`` includes a ``Tag`` element, the ``DeleteMarkerReplication`` ``Status`` must be set to Disabled, because Amazon S3 does not support replicating delete markers for tag-based rules. For an example configuration, see [Basic Rule Configuration](https://docs.aws.amazon.com/AmazonS3/latest/dev/replication-add-config.html#replication-config-min-rule-config). \n For more information about delete marker replication, see [Basic Rule Configuration](https://docs.aws.amazon.com/AmazonS3/latest/dev/delete-marker-replication.html). \n If you are using an earlier version of the replication configuration, Amazon S3 handles replication of delete markers differently. For more information, see [Backward Compatibility](https://docs.aws.amazon.com/AmazonS3/latest/dev/replication-add-config.html#replication-backward-compat-considerations).", - "additionalProperties": false, - "type": "object", - "properties": { - "Status": { - "description": "Indicates whether to replicate delete markers. Disabled by default.", - "type": "string", - "enum": [ - "Disabled", - "Enabled" - ], - "markdownDescription": "Indicates whether to replicate delete markers. Disabled by default.\n\n---\n\nRequired: No \nType: String \nAllowed Values: Disabled | Enabled \nUpdate requires: No interruption" - } - }, - "markdownDescription": "Specifies whether Amazon S3 replicates delete markers. If you specify a ``Filter`` in your replication configuration, you must also include a ``DeleteMarkerReplication`` element. If your ``Filter`` includes a ``Tag`` element, the ``DeleteMarkerReplication`` ``Status`` must be set to Disabled, because Amazon S3 does not support replicating delete markers for tag-based rules. For an example configuration, see [Basic Rule Configuration](https://docs.aws.amazon.com/AmazonS3/latest/dev/replication-add-config.html#replication-config-min-rule-config). \n For more information about delete marker replication, see [Basic Rule Configuration](https://docs.aws.amazon.com/AmazonS3/latest/dev/delete-marker-replication.html). \n If you are using an earlier version of the replication configuration, Amazon S3 handles replication of delete markers differently. For more information, see [Backward Compatibility](https://docs.aws.amazon.com/AmazonS3/latest/dev/replication-add-config.html#replication-backward-compat-considerations).\n\n---\n\nRequired: No \nUpdate requires: No interruption" + "markdownDescription": "Configures the transfer acceleration state for an Amazon S3 bucket. For more information, see [Amazon S3 Transfer Acceleration](https://docs.aws.amazon.com/AmazonS3/latest/dev/transfer-acceleration.html) in the *Amazon S3 User Guide*.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" }, - "RoutingRule": { - "description": "Specifies the redirect behavior and when a redirect is applied. For more information about routing rules, see [Configuring advanced conditional redirects](https://docs.aws.amazon.com/AmazonS3/latest/dev/how-to-page-redirect.html#advanced-conditional-redirects) in the *Amazon S3 User Guide*.", - "additionalProperties": false, - "type": "object", - "properties": { - "RedirectRule": { - "description": "Container for redirect information. You can redirect requests to another host, to another page, or with another protocol. In the event of an error, you can specify a different error code to return.", - "$ref": "#/definitions/RedirectRule", - "markdownDescription": "Container for redirect information. You can redirect requests to another host, to another page, or with another protocol. In the event of an error, you can specify a different error code to return.\n\n---\n\nRequired: Yes \nType: \nUpdate requires: No interruption" - }, - "RoutingRuleCondition": { - "description": "A container for describing a condition that must be met for the specified redirect to apply. For example, 1. If request is for pages in the ``/docs`` folder, redirect to the ``/documents`` folder. 2. If request results in HTTP error 4xx, redirect request to another host where you might process the error.", - "$ref": "#/definitions/RoutingRuleCondition", - "markdownDescription": "A container for describing a condition that must be met for the specified redirect to apply. For example, 1. If request is for pages in the ``/docs`` folder, redirect to the ``/documents`` folder. 2. If request results in HTTP error 4xx, redirect request to another host where you might process the error.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" - } - }, - "required": [ - "RedirectRule" + "AccessControl": { + "description": "This is a legacy property, and it is not recommended for most use cases. A majority of modern use cases in Amazon S3 no longer require the use of ACLs, and we recommend that you keep ACLs disabled. For more information, see [Controlling object ownership](https://docs.aws.amazon.com//AmazonS3/latest/userguide/about-object-ownership.html) in the *Amazon S3 User Guide*.\n A canned access control list (ACL) that grants predefined permissions to the bucket. For more information about canned ACLs, see [Canned ACL](https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html#canned-acl) in the *Amazon S3 User Guide*.\n S3 buckets are created with ACLs disabled by default. Therefore, unless you explicitly set the [AWS::S3::OwnershipControls](https://docs.aws.amazon.com//AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-ownershipcontrols.html) property to enable ACLs, your resource will fail to deploy with any value other than Private. Use cases requiring ACLs are uncommon.\n The majority of access control configurations can be successfully and more easily achieved with bucket policies. For more information, see [AWS::S3::BucketPolicy](https://docs.aws.amazon.com//AWSCloudFormation/latest/UserGuide/aws-properties-s3-policy.html). For examples of common policy configurations, including S3 Server Access Logs buckets and more, see [Bucket policy examples](https://docs.aws.amazon.com/AmazonS3/latest/userguide/example-bucket-policies.html) in the *Amazon S3 User Guide*.", + "enum": [ + "AuthenticatedRead", + "AwsExecRead", + "BucketOwnerFullControl", + "BucketOwnerRead", + "LogDeliveryWrite", + "Private", + "PublicRead", + "PublicReadWrite" ], - "markdownDescription": "Specifies the redirect behavior and when a redirect is applied. For more information about routing rules, see [Configuring advanced conditional redirects](https://docs.aws.amazon.com/AmazonS3/latest/dev/how-to-page-redirect.html#advanced-conditional-redirects) in the *Amazon S3 User Guide*.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + "type": "string", + "markdownDescription": "This is a legacy property, and it is not recommended for most use cases. A majority of modern use cases in Amazon S3 no longer require the use of ACLs, and we recommend that you keep ACLs disabled. For more information, see [Controlling object ownership](https://docs.aws.amazon.com//AmazonS3/latest/userguide/about-object-ownership.html) in the *Amazon S3 User Guide*.\n A canned access control list (ACL) that grants predefined permissions to the bucket. For more information about canned ACLs, see [Canned ACL](https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html#canned-acl) in the *Amazon S3 User Guide*.\n S3 buckets are created with ACLs disabled by default. Therefore, unless you explicitly set the [AWS::S3::OwnershipControls](https://docs.aws.amazon.com//AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-ownershipcontrols.html) property to enable ACLs, your resource will fail to deploy with any value other than Private. Use cases requiring ACLs are uncommon.\n The majority of access control configurations can be successfully and more easily achieved with bucket policies. For more information, see [AWS::S3::BucketPolicy](https://docs.aws.amazon.com//AWSCloudFormation/latest/UserGuide/aws-properties-s3-policy.html). For examples of common policy configurations, including S3 Server Access Logs buckets and more, see [Bucket policy examples](https://docs.aws.amazon.com/AmazonS3/latest/userguide/example-bucket-policies.html) in the *Amazon S3 User Guide*.\n\n---\n\nRequired: No \nType: String \nAllowed Values: AuthenticatedRead | AwsExecRead | BucketOwnerFullControl | BucketOwnerRead | LogDeliveryWrite | Private | PublicRead | PublicReadWrite \nUpdate requires: No interruption" }, - "NotificationFilter": { - "description": "Specifies object key name filtering rules. For information about key name filtering, see [Configuring event notifications using object key name filtering](https://docs.aws.amazon.com/AmazonS3/latest/userguide/notification-how-to-filtering.html) in the *Amazon S3 User Guide*.", - "additionalProperties": false, - "type": "object", - "properties": { - "S3Key": { - "description": "A container for object key name prefix and suffix filtering rules.", - "$ref": "#/definitions/S3KeyFilter", - "markdownDescription": "A container for object key name prefix and suffix filtering rules.\n\n---\n\nRequired: Yes \nType: \nUpdate requires: No interruption" - } + "AnalyticsConfigurations": { + "description": "Specifies the configuration and any analyses for the analytics filter of an Amazon S3 bucket.", + "items": { + "$ref": "#/definitions/AnalyticsConfiguration" }, - "required": [ - "S3Key" - ], - "markdownDescription": "Specifies object key name filtering rules. For information about key name filtering, see [Configuring event notifications using object key name filtering](https://docs.aws.amazon.com/AmazonS3/latest/userguide/notification-how-to-filtering.html) in the *Amazon S3 User Guide*.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + "type": "array", + "uniqueItems": true, + "insertionOrder": true, + "markdownDescription": "Specifies the configuration and any analyses for the analytics filter of an Amazon S3 bucket.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" }, - "ReplicationConfiguration": { - "description": "A container for replication rules. You can add up to 1,000 rules. The maximum size of a replication configuration is 2 MB. The latest version of the replication configuration XML is V2. For more information about XML V2 replication configurations, see [Replication configuration](https://docs.aws.amazon.com/AmazonS3/latest/userguide/replication-add-config.html) in the *Amazon S3 User Guide*.", - "additionalProperties": false, - "type": "object", - "properties": { - "Role": { - "description": "The Amazon Resource Name (ARN) of the IAMlong (IAM) role that Amazon S3 assumes when replicating objects. For more information, see [How to Set Up Replication](https://docs.aws.amazon.com/AmazonS3/latest/dev/replication-how-setup.html) in the *Amazon S3 User Guide*.", - "type": "string", - "markdownDescription": "The Amazon Resource Name (ARN) of the IAMlong (IAM) role that Amazon S3 assumes when replicating objects. For more information, see [How to Set Up Replication](https://docs.aws.amazon.com/AmazonS3/latest/dev/replication-how-setup.html) in the *Amazon S3 User Guide*.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" - }, - "Rules": { - "uniqueItems": true, - "description": "A container for one or more replication rules. A replication configuration must have at least one rule and can contain a maximum of 1,000 rules.", - "insertionOrder": true, - "type": "array", - "items": { - "minLength": 1, - "$ref": "#/definitions/ReplicationRule", - "maxLength": 1000 - }, - "markdownDescription": "A container for one or more replication rules. A replication configuration must have at least one rule and can contain a maximum of 1,000 rules.\n\n---\n\nRequired: Yes \nType: Array \nUpdate requires: No interruption" - } - }, - "required": [ - "Role", - "Rules" - ], - "markdownDescription": "A container for replication rules. You can add up to 1,000 rules. The maximum size of a replication configuration is 2 MB. The latest version of the replication configuration XML is V2. For more information about XML V2 replication configurations, see [Replication configuration](https://docs.aws.amazon.com/AmazonS3/latest/userguide/replication-add-config.html) in the *Amazon S3 User Guide*.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + "BucketEncryption": { + "$ref": "#/definitions/BucketEncryption", + "description": "Specifies default encryption for a bucket using server-side encryption with Amazon S3-managed keys (SSE-S3), AWS KMS-managed keys (SSE-KMS), or dual-layer server-side encryption with KMS-managed keys (DSSE-KMS). For information about the Amazon S3 default encryption feature, see [Amazon S3 Default Encryption for S3 Buckets](https://docs.aws.amazon.com/AmazonS3/latest/dev/bucket-encryption.html) in the *Amazon S3 User Guide*.", + "markdownDescription": "Specifies default encryption for a bucket using server-side encryption with Amazon S3-managed keys (SSE-S3), AWS KMS-managed keys (SSE-KMS), or dual-layer server-side encryption with KMS-managed keys (DSSE-KMS). For information about the Amazon S3 default encryption feature, see [Amazon S3 Default Encryption for S3 Buckets](https://docs.aws.amazon.com/AmazonS3/latest/dev/bucket-encryption.html) in the *Amazon S3 User Guide*.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" }, - "ServerSideEncryptionRule": { - "description": "Specifies the default server-side encryption configuration.\n If you're specifying a customer managed KMS key, we recommend using a fully qualified KMS key ARN. If you use a KMS key alias instead, then KMS resolves the key within the requester\u2019s account. This behavior can result in data that's encrypted with a KMS key that belongs to the requester, and not the bucket owner.", - "additionalProperties": false, - "type": "object", - "properties": { - "BucketKeyEnabled": { - "description": "Specifies whether Amazon S3 should use an S3 Bucket Key with server-side encryption using KMS (SSE-KMS) for new objects in the bucket. Existing objects are not affected. Setting the ``BucketKeyEnabled`` element to ``true`` causes Amazon S3 to use an S3 Bucket Key. By default, S3 Bucket Key is not enabled.\n For more information, see [Amazon S3 Bucket Keys](https://docs.aws.amazon.com/AmazonS3/latest/dev/bucket-key.html) in the *Amazon S3 User Guide*.", - "type": "boolean", - "markdownDescription": "Specifies whether Amazon S3 should use an S3 Bucket Key with server-side encryption using KMS (SSE-KMS) for new objects in the bucket. Existing objects are not affected. Setting the ``BucketKeyEnabled`` element to ``true`` causes Amazon S3 to use an S3 Bucket Key. By default, S3 Bucket Key is not enabled.\n For more information, see [Amazon S3 Bucket Keys](https://docs.aws.amazon.com/AmazonS3/latest/dev/bucket-key.html) in the *Amazon S3 User Guide*.\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" - }, - "ServerSideEncryptionByDefault": { - "description": "Specifies the default server-side encryption to apply to new objects in the bucket. If a PUT Object request doesn't specify any server-side encryption, this default encryption will be applied.", - "$ref": "#/definitions/ServerSideEncryptionByDefault", - "markdownDescription": "Specifies the default server-side encryption to apply to new objects in the bucket. If a PUT Object request doesn't specify any server-side encryption, this default encryption will be applied.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" - } - }, - "markdownDescription": "Specifies the default server-side encryption configuration.\n If you're specifying a customer managed KMS key, we recommend using a fully qualified KMS key ARN. If you use a KMS key alias instead, then KMS resolves the key within the requester\u2019s account. This behavior can result in data that's encrypted with a KMS key that belongs to the requester, and not the bucket owner.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + "BucketName": { + "description": "A name for the bucket. If you don't specify a name, AWS CloudFormation generates a unique ID and uses that ID for the bucket name. The bucket name must contain only lowercase letters, numbers, periods (.), and dashes (-) and must follow [Amazon S3 bucket restrictions and limitations](https://docs.aws.amazon.com/AmazonS3/latest/dev/BucketRestrictions.html). For more information, see [Rules for naming Amazon S3 buckets](https://docs.aws.amazon.com/AmazonS3/latest/dev/BucketRestrictions.html#bucketnamingrules) in the *Amazon S3 User Guide*. \n If you specify a name, you can't perform updates that require replacement of this resource. You can perform updates that require no or some interruption. If you need to replace the resource, specify a new name.", + "type": "string", + "markdownDescription": "A name for the bucket. If you don't specify a name, AWS CloudFormation generates a unique ID and uses that ID for the bucket name. The bucket name must contain only lowercase letters, numbers, periods (.), and dashes (-) and must follow [Amazon S3 bucket restrictions and limitations](https://docs.aws.amazon.com/AmazonS3/latest/dev/BucketRestrictions.html). For more information, see [Rules for naming Amazon S3 buckets](https://docs.aws.amazon.com/AmazonS3/latest/dev/BucketRestrictions.html#bucketnamingrules) in the *Amazon S3 User Guide*. \n If you specify a name, you can't perform updates that require replacement of this resource. You can perform updates that require no or some interruption. If you need to replace the resource, specify a new name.\n\n---\n\nRequired: No \nType: String \nUpdate requires: Replacement" }, - "ReplicationDestination": { - "description": "A container for information about the replication destination and its configurations including enabling the S3 Replication Time Control (S3 RTC).", - "additionalProperties": false, - "type": "object", - "properties": { - "AccessControlTranslation": { - "description": "Specify this only in a cross-account scenario (where source and destination bucket owners are not the same), and you want to change replica ownership to the AWS-account that owns the destination bucket. If this is not specified in the replication configuration, the replicas are owned by same AWS-account that owns the source object.", - "$ref": "#/definitions/AccessControlTranslation", - "markdownDescription": "Specify this only in a cross-account scenario (where source and destination bucket owners are not the same), and you want to change replica ownership to the AWS-account that owns the destination bucket. If this is not specified in the replication configuration, the replicas are owned by same AWS-account that owns the source object.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" - }, - "Account": { - "description": "Destination bucket owner account ID. In a cross-account scenario, if you direct Amazon S3 to change replica ownership to the AWS-account that owns the destination bucket by specifying the ``AccessControlTranslation`` property, this is the account ID of the destination bucket owner. For more information, see [Cross-Region Replication Additional Configuration: Change Replica Owner](https://docs.aws.amazon.com/AmazonS3/latest/dev/crr-change-owner.html) in the *Amazon S3 User Guide*.\n If you specify the ``AccessControlTranslation`` property, the ``Account`` property is required.", - "type": "string", - "markdownDescription": "Destination bucket owner account ID. In a cross-account scenario, if you direct Amazon S3 to change replica ownership to the AWS-account that owns the destination bucket by specifying the ``AccessControlTranslation`` property, this is the account ID of the destination bucket owner. For more information, see [Cross-Region Replication Additional Configuration: Change Replica Owner](https://docs.aws.amazon.com/AmazonS3/latest/dev/crr-change-owner.html) in the *Amazon S3 User Guide*.\n If you specify the ``AccessControlTranslation`` property, the ``Account`` property is required.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" - }, - "Metrics": { - "description": "A container specifying replication metrics-related settings enabling replication metrics and events.", - "$ref": "#/definitions/Metrics", - "markdownDescription": "A container specifying replication metrics-related settings enabling replication metrics and events.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" - }, - "Bucket": { - "description": "The Amazon Resource Name (ARN) of the bucket where you want Amazon S3 to store the results.", - "type": "string", - "markdownDescription": "The Amazon Resource Name (ARN) of the bucket where you want Amazon S3 to store the results.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" - }, - "EncryptionConfiguration": { - "description": "Specifies encryption-related information.", - "$ref": "#/definitions/EncryptionConfiguration", - "markdownDescription": "Specifies encryption-related information.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" - }, - "StorageClass": { - "description": "The storage class to use when replicating objects, such as S3 Standard or reduced redundancy. By default, Amazon S3 uses the storage class of the source object to create the object replica. \n For valid values, see the ``StorageClass`` element of the [PUT Bucket replication](https://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketPUTreplication.html) action in the *Amazon S3 API Reference*.", - "type": "string", - "enum": [ - "DEEP_ARCHIVE", - "GLACIER", - "GLACIER_IR", - "INTELLIGENT_TIERING", - "ONEZONE_IA", - "REDUCED_REDUNDANCY", - "STANDARD", - "STANDARD_IA" - ], - "markdownDescription": "The storage class to use when replicating objects, such as S3 Standard or reduced redundancy. By default, Amazon S3 uses the storage class of the source object to create the object replica. \n For valid values, see the ``StorageClass`` element of the [PUT Bucket replication](https://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketPUTreplication.html) action in the *Amazon S3 API Reference*.\n\n---\n\nRequired: No \nType: String \nAllowed Values: DEEP_ARCHIVE | GLACIER | GLACIER_IR | INTELLIGENT_TIERING | ONEZONE_IA | REDUCED_REDUNDANCY | STANDARD | STANDARD_IA \nUpdate requires: No interruption" - }, - "ReplicationTime": { - "description": "A container specifying S3 Replication Time Control (S3 RTC), including whether S3 RTC is enabled and the time when all objects and operations on objects must be replicated. Must be specified together with a ``Metrics`` block.", - "$ref": "#/definitions/ReplicationTime", - "markdownDescription": "A container specifying S3 Replication Time Control (S3 RTC), including whether S3 RTC is enabled and the time when all objects and operations on objects must be replicated. Must be specified together with a ``Metrics`` block.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" - } - }, - "required": [ - "Bucket" - ], - "markdownDescription": "A container for information about the replication destination and its configurations including enabling the S3 Replication Time Control (S3 RTC).\n\n---\n\nRequired: No \nUpdate requires: No interruption" + "CorsConfiguration": { + "$ref": "#/definitions/CorsConfiguration", + "description": "Describes the cross-origin access configuration for objects in an Amazon S3 bucket. For more information, see [Enabling Cross-Origin Resource Sharing](https://docs.aws.amazon.com/AmazonS3/latest/dev/cors.html) in the *Amazon S3 User Guide*.", + "markdownDescription": "Describes the cross-origin access configuration for objects in an Amazon S3 bucket. For more information, see [Enabling Cross-Origin Resource Sharing](https://docs.aws.amazon.com/AmazonS3/latest/dev/cors.html) in the *Amazon S3 User Guide*.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" }, - "OwnershipControlsRule": { - "description": "Specifies an Object Ownership rule.\n S3 Object Ownership is an Amazon S3 bucket-level setting that you can use to disable access control lists (ACLs) and take ownership of every object in your bucket, simplifying access management for data stored in Amazon S3. For more information, see [Controlling ownership of objects and disabling ACLs](https://docs.aws.amazon.com/AmazonS3/latest/userguide/about-object-ownership.html) in the *Amazon S3 User Guide*.", - "additionalProperties": false, - "type": "object", - "properties": { - "ObjectOwnership": { - "description": "Specifies an object ownership rule.", - "type": "string", - "enum": [ - "ObjectWriter", - "BucketOwnerPreferred", - "BucketOwnerEnforced" - ], - "markdownDescription": "Specifies an object ownership rule.\n\n---\n\nRequired: No \nType: String \nAllowed Values: ObjectWriter | BucketOwnerPreferred | BucketOwnerEnforced \nUpdate requires: No interruption" - } + "IntelligentTieringConfigurations": { + "description": "Defines how Amazon S3 handles Intelligent-Tiering storage.", + "items": { + "$ref": "#/definitions/IntelligentTieringConfiguration" }, - "markdownDescription": "Specifies an Object Ownership rule.\n S3 Object Ownership is an Amazon S3 bucket-level setting that you can use to disable access control lists (ACLs) and take ownership of every object in your bucket, simplifying access management for data stored in Amazon S3. For more information, see [Controlling ownership of objects and disabling ACLs](https://docs.aws.amazon.com/AmazonS3/latest/userguide/about-object-ownership.html) in the *Amazon S3 User Guide*.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + "type": "array", + "uniqueItems": true, + "insertionOrder": true, + "markdownDescription": "Defines how Amazon S3 handles Intelligent-Tiering storage.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" }, - "EventBridgeConfiguration": { - "description": "Amazon S3 can send events to Amazon EventBridge whenever certain events happen in your bucket, see [Using EventBridge](https://docs.aws.amazon.com/AmazonS3/latest/userguide/EventBridge.html) in the *Amazon S3 User Guide*.\n Unlike other destinations, delivery of events to EventBridge can be either enabled or disabled for a bucket. If enabled, all events will be sent to EventBridge and you can use EventBridge rules to route events to additional targets. For more information, see [What Is Amazon EventBridge](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-what-is.html) in the *Amazon EventBridge User Guide*", - "additionalProperties": false, - "type": "object", - "properties": { - "EventBridgeEnabled": { - "default": "true", - "description": "Enables delivery of events to Amazon EventBridge.", - "type": "boolean", - "markdownDescription": "Enables delivery of events to Amazon EventBridge.\n\n---\n\nRequired: Yes \nType: Boolean \nUpdate requires: No interruption" - } + "InventoryConfigurations": { + "description": "Specifies the inventory configuration for an Amazon S3 bucket. For more information, see [GET Bucket inventory](https://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketGETInventoryConfig.html) in the *Amazon S3 API Reference*.", + "items": { + "$ref": "#/definitions/InventoryConfiguration" }, - "required": [ - "EventBridgeEnabled" - ], - "markdownDescription": "Amazon S3 can send events to Amazon EventBridge whenever certain events happen in your bucket, see [Using EventBridge](https://docs.aws.amazon.com/AmazonS3/latest/userguide/EventBridge.html) in the *Amazon S3 User Guide*.\n Unlike other destinations, delivery of events to EventBridge can be either enabled or disabled for a bucket. If enabled, all events will be sent to EventBridge and you can use EventBridge rules to route events to additional targets. For more information, see [What Is Amazon EventBridge](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-what-is.html) in the *Amazon EventBridge User Guide*\n\n---\n\nRequired: No \nUpdate requires: No interruption" + "type": "array", + "uniqueItems": true, + "insertionOrder": true, + "markdownDescription": "Specifies the inventory configuration for an Amazon S3 bucket. For more information, see [GET Bucket inventory](https://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketGETInventoryConfig.html) in the *Amazon S3 API Reference*.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" }, - "CorsRule": { - "description": "Specifies a cross-origin access rule for an Amazon S3 bucket.", - "additionalProperties": false, - "type": "object", - "properties": { - "ExposedHeaders": { - "uniqueItems": true, - "description": "One or more headers in the response that you want customers to be able to access from their applications (for example, from a JavaScript ``XMLHttpRequest`` object).", - "insertionOrder": true, - "type": "array", - "items": { - "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" - }, - "markdownDescription": "One or more headers in the response that you want customers to be able to access from their applications (for example, from a JavaScript ``XMLHttpRequest`` object).\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" - }, - "AllowedMethods": { - "uniqueItems": true, - "description": "An HTTP method that you allow the origin to run.\n *Allowed values*: ``GET`` | ``PUT`` | ``HEAD`` | ``POST`` | ``DELETE``", - "insertionOrder": true, - "type": "array", - "items": { - "type": "string", - "enum": [ - "GET", - "PUT", - "HEAD", - "POST", - "DELETE" - ], - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: GET | PUT | HEAD | POST | DELETE \nUpdate requires: No interruption" - }, - "markdownDescription": "An HTTP method that you allow the origin to run.\n *Allowed values*: ``GET`` | ``PUT`` | ``HEAD`` | ``POST`` | ``DELETE``\n\n---\n\nRequired: Yes \nType: Array \nUpdate requires: No interruption" - }, - "AllowedOrigins": { - "uniqueItems": true, - "description": "One or more origins you want customers to be able to access the bucket from.", - "insertionOrder": true, - "type": "array", - "items": { - "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" - }, - "markdownDescription": "One or more origins you want customers to be able to access the bucket from.\n\n---\n\nRequired: Yes \nType: Array \nUpdate requires: No interruption" - }, - "AllowedHeaders": { - "uniqueItems": true, - "description": "Headers that are specified in the ``Access-Control-Request-Headers`` header. These headers are allowed in a preflight OPTIONS request. In response to any preflight OPTIONS request, Amazon S3 returns any requested headers that are allowed.", - "insertionOrder": true, - "type": "array", - "items": { - "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" - }, - "markdownDescription": "Headers that are specified in the ``Access-Control-Request-Headers`` header. These headers are allowed in a preflight OPTIONS request. In response to any preflight OPTIONS request, Amazon S3 returns any requested headers that are allowed.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" - }, - "MaxAge": { - "description": "The time in seconds that your browser is to cache the preflight response for the specified resource.", - "type": "integer", - "minimum": 0, - "markdownDescription": "The time in seconds that your browser is to cache the preflight response for the specified resource.\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" - }, - "Id": { - "description": "A unique identifier for this rule. The value must be no more than 255 characters.", - "type": "string", - "maxLength": 255, - "markdownDescription": "A unique identifier for this rule. The value must be no more than 255 characters.\n\n---\n\nRequired: No \nType: String \nMaximum Length: 255 \nUpdate requires: No interruption" - } + "LifecycleConfiguration": { + "$ref": "#/definitions/LifecycleConfiguration", + "description": "Specifies the lifecycle configuration for objects in an Amazon S3 bucket. For more information, see [Object Lifecycle Management](https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lifecycle-mgmt.html) in the *Amazon S3 User Guide*.", + "markdownDescription": "Specifies the lifecycle configuration for objects in an Amazon S3 bucket. For more information, see [Object Lifecycle Management](https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lifecycle-mgmt.html) in the *Amazon S3 User Guide*.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" + }, + "LoggingConfiguration": { + "$ref": "#/definitions/LoggingConfiguration", + "description": "Settings that define where logs are stored.", + "markdownDescription": "Settings that define where logs are stored.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" + }, + "MetricsConfigurations": { + "description": "Specifies a metrics configuration for the CloudWatch request metrics (specified by the metrics configuration ID) from an Amazon S3 bucket. If you're updating an existing metrics configuration, note that this is a full replacement of the existing metrics configuration. If you don't include the elements you want to keep, they are erased. For more information, see [PutBucketMetricsConfiguration](https://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketPUTMetricConfiguration.html).", + "items": { + "$ref": "#/definitions/MetricsConfiguration" }, - "required": [ - "AllowedMethods", - "AllowedOrigins" - ], - "markdownDescription": "Specifies a cross-origin access rule for an Amazon S3 bucket.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + "type": "array", + "uniqueItems": true, + "insertionOrder": true, + "markdownDescription": "Specifies a metrics configuration for the CloudWatch request metrics (specified by the metrics configuration ID) from an Amazon S3 bucket. If you're updating an existing metrics configuration, note that this is a full replacement of the existing metrics configuration. If you don't include the elements you want to keep, they are erased. For more information, see [PutBucketMetricsConfiguration](https://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketPUTMetricConfiguration.html).\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" }, - "AccessControlTranslation": { - "description": "Specify this only in a cross-account scenario (where source and destination bucket owners are not the same), and you want to change replica ownership to the AWS-account that owns the destination bucket. If this is not specified in the replication configuration, the replicas are owned by same AWS-account that owns the source object.", - "additionalProperties": false, + "NotificationConfiguration": { + "$ref": "#/definitions/NotificationConfiguration", + "description": "Configuration that defines how Amazon S3 handles bucket notifications.", + "markdownDescription": "Configuration that defines how Amazon S3 handles bucket notifications.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" + }, + "ObjectLockConfiguration": { + "$ref": "#/definitions/ObjectLockConfiguration", + "description": "This operation is not supported by directory buckets.\n Places an Object Lock configuration on the specified bucket. The rule specified in the Object Lock configuration will be applied by default to every new object placed in the specified bucket. For more information, see [Locking Objects](https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lock.html). \n + The ``DefaultRetention`` settings require both a mode and a period.\n + The ``DefaultRetention`` period can be either ``Days`` or ``Years`` but you must select one. You cannot specify ``Days`` and ``Years`` at the same time.\n + You can enable Object Lock for new or existing buckets. For more information, see [Configuring Object Lock](https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-lock-configure.html).", + "markdownDescription": "This operation is not supported by directory buckets.\n Places an Object Lock configuration on the specified bucket. The rule specified in the Object Lock configuration will be applied by default to every new object placed in the specified bucket. For more information, see [Locking Objects](https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lock.html). \n + The ``DefaultRetention`` settings require both a mode and a period.\n + The ``DefaultRetention`` period can be either ``Days`` or ``Years`` but you must select one. You cannot specify ``Days`` and ``Years`` at the same time.\n + You can enable Object Lock for new or existing buckets. For more information, see [Configuring Object Lock](https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-lock-configure.html).\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" + }, + "ObjectLockEnabled": { + "description": "Indicates whether this bucket has an Object Lock configuration enabled. Enable ``ObjectLockEnabled`` when you apply ``ObjectLockConfiguration`` to a bucket.", + "type": "boolean", + "markdownDescription": "Indicates whether this bucket has an Object Lock configuration enabled. Enable ``ObjectLockEnabled`` when you apply ``ObjectLockConfiguration`` to a bucket.\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" + }, + "OwnershipControls": { + "description": "Configuration that defines how Amazon S3 handles Object Ownership rules.", + "$ref": "#/definitions/OwnershipControls", + "markdownDescription": "Configuration that defines how Amazon S3 handles Object Ownership rules.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" + }, + "PublicAccessBlockConfiguration": { + "$ref": "#/definitions/PublicAccessBlockConfiguration", + "description": "Configuration that defines how Amazon S3 handles public access.", + "markdownDescription": "Configuration that defines how Amazon S3 handles public access.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" + }, + "ReplicationConfiguration": { + "$ref": "#/definitions/ReplicationConfiguration", + "description": "Configuration for replicating objects in an S3 bucket. To enable replication, you must also enable versioning by using the ``VersioningConfiguration`` property.\n Amazon S3 can store replicated objects in a single destination bucket or multiple destination buckets. The destination bucket or buckets must already exist.", + "markdownDescription": "Configuration for replicating objects in an S3 bucket. To enable replication, you must also enable versioning by using the ``VersioningConfiguration`` property.\n Amazon S3 can store replicated objects in a single destination bucket or multiple destination buckets. The destination bucket or buckets must already exist.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" + }, + "Tags": { + "description": "An arbitrary set of tags (key-value pairs) for this S3 bucket.", + "insertionOrder": false, + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array", + "markdownDescription": "An arbitrary set of tags (key-value pairs) for this S3 bucket.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + }, + "VersioningConfiguration": { + "$ref": "#/definitions/VersioningConfiguration", + "description": "Enables multiple versions of all objects in this bucket. You might enable versioning to prevent objects from being deleted or overwritten by mistake or to archive objects so that you can retrieve previous versions of them.\n When you enable versioning on a bucket for the first time, it might take a short amount of time for the change to be fully propagated. We recommend that you wait for 15 minutes after enabling versioning before issuing write operations (``PUT`` or ``DELETE``) on objects in the bucket.", + "markdownDescription": "Enables multiple versions of all objects in this bucket. You might enable versioning to prevent objects from being deleted or overwritten by mistake or to archive objects so that you can retrieve previous versions of them.\n When you enable versioning on a bucket for the first time, it might take a short amount of time for the change to be fully propagated. We recommend that you wait for 15 minutes after enabling versioning before issuing write operations (``PUT`` or ``DELETE``) on objects in the bucket.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" + }, + "WebsiteConfiguration": { + "$ref": "#/definitions/WebsiteConfiguration", + "description": "Information used to configure the bucket as a static website. For more information, see [Hosting Websites on Amazon S3](https://docs.aws.amazon.com/AmazonS3/latest/dev/WebsiteHosting.html).", + "markdownDescription": "Information used to configure the bucket as a static website. For more information, see [Hosting Websites on Amazon S3](https://docs.aws.amazon.com/AmazonS3/latest/dev/WebsiteHosting.html).\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" + } + }, + "definitions": { + "TagFilter": { + "description": "Specifies tags to use to identify a subset of objects for an Amazon S3 bucket.", "type": "object", + "additionalProperties": false, "properties": { - "Owner": { - "const": "Destination", - "description": "Specifies the replica ownership. For default and valid values, see [PUT bucket replication](https://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketPUTreplication.html) in the *Amazon S3 API Reference*.", + "Value": { "type": "string", - "markdownDescription": "Specifies the replica ownership. For default and valid values, see [PUT bucket replication](https://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketPUTreplication.html) in the *Amazon S3 API Reference*.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" + "description": "The tag value.", + "markdownDescription": "The tag value.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" + }, + "Key": { + "type": "string", + "description": "The tag key.", + "markdownDescription": "The tag key.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" } }, "required": [ - "Owner" + "Value", + "Key" ], - "markdownDescription": "Specify this only in a cross-account scenario (where source and destination bucket owners are not the same), and you want to change replica ownership to the AWS-account that owns the destination bucket. If this is not specified in the replication configuration, the replicas are owned by same AWS-account that owns the source object.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + "markdownDescription": "Specifies tags to use to identify a subset of objects for an Amazon S3 bucket.\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, - "ObjectLockRule": { - "description": "Specifies the Object Lock rule for the specified object. Enable the this rule when you apply ``ObjectLockConfiguration`` to a bucket.", - "additionalProperties": false, + "Destination": { + "description": "Specifies information about where to publish analysis or configuration results for an Amazon S3 bucket.", "type": "object", - "properties": { - "DefaultRetention": { - "description": "The default Object Lock retention mode and period that you want to apply to new objects placed in the specified bucket. If Object Lock is turned on, bucket settings require both ``Mode`` and a period of either ``Days`` or ``Years``. You cannot specify ``Days`` and ``Years`` at the same time. For more information about allowable values for mode and period, see [DefaultRetention](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-defaultretention.html).", - "$ref": "#/definitions/DefaultRetention", - "markdownDescription": "The default Object Lock retention mode and period that you want to apply to new objects placed in the specified bucket. If Object Lock is turned on, bucket settings require both ``Mode`` and a period of either ``Days`` or ``Years``. You cannot specify ``Days`` and ``Years`` at the same time. For more information about allowable values for mode and period, see [DefaultRetention](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-defaultretention.html).\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" - } - }, - "markdownDescription": "Specifies the Object Lock rule for the specified object. Enable the this rule when you apply ``ObjectLockConfiguration`` to a bucket.\n\n---\n\nRequired: No \nUpdate requires: No interruption" - }, - "Rule": { - "description": "Specifies lifecycle rules for an Amazon S3 bucket. For more information, see [Put Bucket Lifecycle Configuration](https://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketPUTlifecycle.html) in the *Amazon S3 API Reference*.\n You must specify at least one of the following properties: ``AbortIncompleteMultipartUpload``, ``ExpirationDate``, ``ExpirationInDays``, ``NoncurrentVersionExpirationInDays``, ``NoncurrentVersionTransition``, ``NoncurrentVersionTransitions``, ``Transition``, or ``Transitions``.", "additionalProperties": false, - "type": "object", "properties": { - "Status": { - "description": "If ``Enabled``, the rule is currently being applied. If ``Disabled``, the rule is not currently being applied.", - "type": "string", - "enum": [ - "Enabled", - "Disabled" - ], - "markdownDescription": "If ``Enabled``, the rule is currently being applied. If ``Disabled``, the rule is not currently being applied.\n\n---\n\nRequired: Yes \nType: String \nAllowed Values: Enabled | Disabled \nUpdate requires: No interruption" - }, - "ExpiredObjectDeleteMarker": { - "description": "Indicates whether Amazon S3 will remove a delete marker without any noncurrent versions. If set to true, the delete marker will be removed if there are no noncurrent versions. This cannot be specified with ``ExpirationInDays``, ``ExpirationDate``, or ``TagFilters``.", - "type": "boolean", - "markdownDescription": "Indicates whether Amazon S3 will remove a delete marker without any noncurrent versions. If set to true, the delete marker will be removed if there are no noncurrent versions. This cannot be specified with ``ExpirationInDays``, ``ExpirationDate``, or ``TagFilters``.\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" - }, - "NoncurrentVersionExpirationInDays": { - "description": "(Deprecated.) For buckets with versioning enabled (or suspended), specifies the time, in days, between when a new version of the object is uploaded to the bucket and when old versions of the object expire. When object versions expire, Amazon S3 permanently deletes them. If you specify a transition and expiration time, the expiration time must be later than the transition time.", - "type": "integer", - "markdownDescription": "(Deprecated.) For buckets with versioning enabled (or suspended), specifies the time, in days, between when a new version of the object is uploaded to the bucket and when old versions of the object expire. When object versions expire, Amazon S3 permanently deletes them. If you specify a transition and expiration time, the expiration time must be later than the transition time.\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" - }, - "Transitions": { - "uniqueItems": true, - "description": "One or more transition rules that specify when an object transitions to a specified storage class. If you specify an expiration and transition time, you must use the same time unit for both properties (either in days or by date). The expiration time must also be later than the transition time. If you specify this property, don't specify the ``Transition`` property.", - "insertionOrder": true, - "type": "array", - "items": { - "$ref": "#/definitions/Transition" - }, - "markdownDescription": "One or more transition rules that specify when an object transitions to a specified storage class. If you specify an expiration and transition time, you must use the same time unit for both properties (either in days or by date). The expiration time must also be later than the transition time. If you specify this property, don't specify the ``Transition`` property.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" - }, - "ObjectSizeGreaterThan": { - "description": "Specifies the minimum object size in bytes for this rule to apply to. Objects must be larger than this value in bytes. For more information about size based rules, see [Lifecycle configuration using size-based rules](https://docs.aws.amazon.com/AmazonS3/latest/userguide/lifecycle-configuration-examples.html#lc-size-rules) in the *Amazon S3 User Guide*.", + "BucketArn": { + "description": "The Amazon Resource Name (ARN) of the bucket to which data is exported.", "type": "string", - "maxLength": 20, - "markdownDescription": "Specifies the minimum object size in bytes for this rule to apply to. Objects must be larger than this value in bytes. For more information about size based rules, see [Lifecycle configuration using size-based rules](https://docs.aws.amazon.com/AmazonS3/latest/userguide/lifecycle-configuration-examples.html#lc-size-rules) in the *Amazon S3 User Guide*.\n\n---\n\nRequired: No \nType: String \nMaximum Length: 20 \nPattern: [0-9]+ \nUpdate requires: No interruption" - }, - "TagFilters": { - "uniqueItems": true, - "description": "Tags to use to identify a subset of objects to which the lifecycle rule applies.", - "insertionOrder": true, - "type": "array", - "items": { - "$ref": "#/definitions/TagFilter" - }, - "markdownDescription": "Tags to use to identify a subset of objects to which the lifecycle rule applies.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" - }, - "NoncurrentVersionTransitions": { - "uniqueItems": true, - "description": "For buckets with versioning enabled (or suspended), one or more transition rules that specify when non-current objects transition to a specified storage class. If you specify a transition and expiration time, the expiration time must be later than the transition time. If you specify this property, don't specify the ``NoncurrentVersionTransition`` property.", - "insertionOrder": true, - "type": "array", - "items": { - "$ref": "#/definitions/NoncurrentVersionTransition" - }, - "markdownDescription": "For buckets with versioning enabled (or suspended), one or more transition rules that specify when non-current objects transition to a specified storage class. If you specify a transition and expiration time, the expiration time must be later than the transition time. If you specify this property, don't specify the ``NoncurrentVersionTransition`` property.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + "markdownDescription": "The Amazon Resource Name (ARN) of the bucket to which data is exported.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" }, - "Prefix": { - "description": "Object key prefix that identifies one or more objects to which this rule applies.\n Replacement must be made for object keys containing special characters (such as carriage returns) when using XML requests. For more information, see [XML related object key constraints](https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-keys.html#object-key-xml-related-constraints).", + "BucketAccountId": { + "description": "The account ID that owns the destination S3 bucket. If no account ID is provided, the owner is not validated before exporting data.\n Although this value is optional, we strongly recommend that you set it to help prevent problems if the destination bucket ownership changes.", "type": "string", - "markdownDescription": "Object key prefix that identifies one or more objects to which this rule applies.\n Replacement must be made for object keys containing special characters (such as carriage returns) when using XML requests. For more information, see [XML related object key constraints](https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-keys.html#object-key-xml-related-constraints).\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "markdownDescription": "The account ID that owns the destination S3 bucket. If no account ID is provided, the owner is not validated before exporting data.\n Although this value is optional, we strongly recommend that you set it to help prevent problems if the destination bucket ownership changes.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, - "ObjectSizeLessThan": { - "description": "Specifies the maximum object size in bytes for this rule to apply to. Objects must be smaller than this value in bytes. For more information about sized based rules, see [Lifecycle configuration using size-based rules](https://docs.aws.amazon.com/AmazonS3/latest/userguide/lifecycle-configuration-examples.html#lc-size-rules) in the *Amazon S3 User Guide*.", + "Format": { + "description": "Specifies the file format used when exporting data to Amazon S3.\n *Allowed values*: ``CSV`` | ``ORC`` | ``Parquet``", "type": "string", - "maxLength": 20, - "markdownDescription": "Specifies the maximum object size in bytes for this rule to apply to. Objects must be smaller than this value in bytes. For more information about sized based rules, see [Lifecycle configuration using size-based rules](https://docs.aws.amazon.com/AmazonS3/latest/userguide/lifecycle-configuration-examples.html#lc-size-rules) in the *Amazon S3 User Guide*.\n\n---\n\nRequired: No \nType: String \nMaximum Length: 20 \nPattern: [0-9]+ \nUpdate requires: No interruption" - }, - "NoncurrentVersionTransition": { - "description": "(Deprecated.) For buckets with versioning enabled (or suspended), specifies when non-current objects transition to a specified storage class. If you specify a transition and expiration time, the expiration time must be later than the transition time. If you specify this property, don't specify the ``NoncurrentVersionTransitions`` property.", - "$ref": "#/definitions/NoncurrentVersionTransition", - "markdownDescription": "(Deprecated.) For buckets with versioning enabled (or suspended), specifies when non-current objects transition to a specified storage class. If you specify a transition and expiration time, the expiration time must be later than the transition time. If you specify this property, don't specify the ``NoncurrentVersionTransitions`` property.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" - }, - "ExpirationDate": { - "description": "Indicates when objects are deleted from Amazon S3 and Amazon S3 Glacier. The date value must be in ISO 8601 format. The time is always midnight UTC. If you specify an expiration and transition time, you must use the same time unit for both properties (either in days or by date). The expiration time must also be later than the transition time.", - "$ref": "#/definitions/iso8601UTC", - "markdownDescription": "Indicates when objects are deleted from Amazon S3 and Amazon S3 Glacier. The date value must be in ISO 8601 format. The time is always midnight UTC. If you specify an expiration and transition time, you must use the same time unit for both properties (either in days or by date). The expiration time must also be later than the transition time.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" - }, - "NoncurrentVersionExpiration": { - "description": "Specifies when noncurrent object versions expire. Upon expiration, S3 permanently deletes the noncurrent object versions. You set this lifecycle configuration action on a bucket that has versioning enabled (or suspended) to request that S3 delete noncurrent object versions at a specific period in the object's lifetime.", - "$ref": "#/definitions/NoncurrentVersionExpiration", - "markdownDescription": "Specifies when noncurrent object versions expire. Upon expiration, S3 permanently deletes the noncurrent object versions. You set this lifecycle configuration action on a bucket that has versioning enabled (or suspended) to request that S3 delete noncurrent object versions at a specific period in the object's lifetime.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" - }, - "ExpirationInDays": { - "description": "Indicates the number of days after creation when objects are deleted from Amazon S3 and Amazon S3 Glacier. If you specify an expiration and transition time, you must use the same time unit for both properties (either in days or by date). The expiration time must also be later than the transition time.", - "type": "integer", - "markdownDescription": "Indicates the number of days after creation when objects are deleted from Amazon S3 and Amazon S3 Glacier. If you specify an expiration and transition time, you must use the same time unit for both properties (either in days or by date). The expiration time must also be later than the transition time.\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" - }, - "Transition": { - "description": "(Deprecated.) Specifies when an object transitions to a specified storage class. If you specify an expiration and transition time, you must use the same time unit for both properties (either in days or by date). The expiration time must also be later than the transition time. If you specify this property, don't specify the ``Transitions`` property.", - "$ref": "#/definitions/Transition", - "markdownDescription": "(Deprecated.) Specifies when an object transitions to a specified storage class. If you specify an expiration and transition time, you must use the same time unit for both properties (either in days or by date). The expiration time must also be later than the transition time. If you specify this property, don't specify the ``Transitions`` property.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" + "enum": [ + "CSV", + "ORC", + "Parquet" + ], + "markdownDescription": "Specifies the file format used when exporting data to Amazon S3.\n *Allowed values*: ``CSV`` | ``ORC`` | ``Parquet``\n\n---\n\nRequired: Yes \nType: String \nAllowed Values: CSV | ORC | Parquet \nUpdate requires: No interruption" }, - "Id": { - "description": "Unique identifier for the rule. The value can't be longer than 255 characters.", + "Prefix": { + "description": "The prefix to use when exporting data. The prefix is prepended to all results.", "type": "string", - "maxLength": 255, - "markdownDescription": "Unique identifier for the rule. The value can't be longer than 255 characters.\n\n---\n\nRequired: No \nType: String \nMaximum Length: 255 \nUpdate requires: No interruption" - }, - "AbortIncompleteMultipartUpload": { - "description": "Specifies a lifecycle rule that stops incomplete multipart uploads to an Amazon S3 bucket.", - "$ref": "#/definitions/AbortIncompleteMultipartUpload", - "markdownDescription": "Specifies a lifecycle rule that stops incomplete multipart uploads to an Amazon S3 bucket.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" + "markdownDescription": "The prefix to use when exporting data. The prefix is prepended to all results.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" } }, "required": [ - "Status" + "BucketArn", + "Format" ], - "markdownDescription": "Specifies lifecycle rules for an Amazon S3 bucket. For more information, see [Put Bucket Lifecycle Configuration](https://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketPUTlifecycle.html) in the *Amazon S3 API Reference*.\n You must specify at least one of the following properties: ``AbortIncompleteMultipartUpload``, ``ExpirationDate``, ``ExpirationInDays``, ``NoncurrentVersionExpirationInDays``, ``NoncurrentVersionTransition``, ``NoncurrentVersionTransitions``, ``Transition``, or ``Transitions``.\n\n---\n\nRequired: No \nUpdate requires: No interruption" - }, - "Arn": { - "description": "the Amazon Resource Name (ARN) of the specified bucket.", - "type": "string", - "markdownDescription": "the Amazon Resource Name (ARN) of the specified bucket.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "markdownDescription": "Specifies information about where to publish analysis or configuration results for an Amazon S3 bucket.\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, - "S3KeyFilter": { - "description": "A container for object key name prefix and suffix filtering rules. For more information about object key name filtering, see [Configuring event notifications using object key name filtering](https://docs.aws.amazon.com/AmazonS3/latest/userguide/notification-how-to-filtering.html) in the *Amazon S3 User Guide*.\n The same type of filter rule cannot be used more than once. For example, you cannot specify two prefix rules.", - "additionalProperties": false, + "AccelerateConfiguration": { "type": "object", + "additionalProperties": false, "properties": { - "Rules": { - "uniqueItems": true, - "description": "A list of containers for the key-value pair that defines the criteria for the filter rule.", - "insertionOrder": false, - "type": "array", - "items": { - "$ref": "#/definitions/FilterRule" - }, - "markdownDescription": "A list of containers for the key-value pair that defines the criteria for the filter rule.\n\n---\n\nRequired: Yes \nType: Array \nUpdate requires: No interruption" + "AccelerationStatus": { + "description": "Specifies the transfer acceleration status of the bucket.", + "type": "string", + "enum": [ + "Enabled", + "Suspended" + ], + "markdownDescription": "Specifies the transfer acceleration status of the bucket.\n\n---\n\nRequired: Yes \nType: String \nAllowed Values: Enabled | Suspended \nUpdate requires: No interruption" } }, "required": [ - "Rules" + "AccelerationStatus" ], - "markdownDescription": "A container for object key name prefix and suffix filtering rules. For more information about object key name filtering, see [Configuring event notifications using object key name filtering](https://docs.aws.amazon.com/AmazonS3/latest/userguide/notification-how-to-filtering.html) in the *Amazon S3 User Guide*.\n The same type of filter rule cannot be used more than once. For example, you cannot specify two prefix rules.\n\n---\n\nRequired: No \nUpdate requires: No interruption" - }, - "iso8601UTC": { - "description": "The date value in ISO 8601 format. The timezone is always UTC. (YYYY-MM-DDThh:mm:ssZ)", - "type": "string", - "markdownDescription": "The date value in ISO 8601 format. The timezone is always UTC. (YYYY-MM-DDThh:mm:ssZ)\n\n---\n\nRequired: No \nType: String \nPattern: ^([0-2]\\d{3})-(0[0-9]|1[0-2])-([0-2]\\d|3[01])T([01]\\d|2[0-4]):([0-5]\\d):([0-6]\\d)((\\.\\d{3})?)Z$ \nUpdate requires: No interruption" + "description": "Configures the transfer acceleration state for an Amazon S3 bucket. For more information, see [Amazon S3 Transfer Acceleration](https://docs.aws.amazon.com/AmazonS3/latest/dev/transfer-acceleration.html) in the *Amazon S3 User Guide*.", + "markdownDescription": "Configures the transfer acceleration state for an Amazon S3 bucket. For more information, see [Amazon S3 Transfer Acceleration](https://docs.aws.amazon.com/AmazonS3/latest/dev/transfer-acceleration.html) in the *Amazon S3 User Guide*.\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, "AnalyticsConfiguration": { "description": "Specifies the configuration and any analyses for the analytics filter of an Amazon S3 bucket.", - "additionalProperties": false, "type": "object", + "additionalProperties": false, "properties": { - "StorageClassAnalysis": { - "description": "Contains data related to access patterns to be collected and made available to analyze the tradeoffs between different storage classes.", - "$ref": "#/definitions/StorageClassAnalysis", - "markdownDescription": "Contains data related to access patterns to be collected and made available to analyze the tradeoffs between different storage classes.\n\n---\n\nRequired: Yes \nType: \nUpdate requires: No interruption" - }, "TagFilters": { + "type": "array", "uniqueItems": true, - "description": "The tags to use when evaluating an analytics filter.\n The analytics only includes objects that meet the filter's criteria. If no filter is specified, all of the contents of the bucket are included in the analysis.", "insertionOrder": true, - "type": "array", "items": { "$ref": "#/definitions/TagFilter" }, + "description": "The tags to use when evaluating an analytics filter.\n The analytics only includes objects that meet the filter's criteria. If no filter is specified, all of the contents of the bucket are included in the analysis.", "markdownDescription": "The tags to use when evaluating an analytics filter.\n The analytics only includes objects that meet the filter's criteria. If no filter is specified, all of the contents of the bucket are included in the analysis.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" }, + "StorageClassAnalysis": { + "$ref": "#/definitions/StorageClassAnalysis", + "description": "Contains data related to access patterns to be collected and made available to analyze the tradeoffs between different storage classes.", + "markdownDescription": "Contains data related to access patterns to be collected and made available to analyze the tradeoffs between different storage classes.\n\n---\n\nRequired: Yes \nType: \nUpdate requires: No interruption" + }, "Id": { "description": "The ID that identifies the analytics configuration.", "type": "string", @@ -869,250 +255,553 @@ ], "markdownDescription": "Specifies the configuration and any analyses for the analytics filter of an Amazon S3 bucket.\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, - "Destination": { - "description": "Specifies information about where to publish analysis or configuration results for an Amazon S3 bucket.", + "StorageClassAnalysis": { + "description": "Specifies data related to access patterns to be collected and made available to analyze the tradeoffs between different storage classes for an Amazon S3 bucket.", + "type": "object", "additionalProperties": false, + "properties": { + "DataExport": { + "$ref": "#/definitions/DataExport", + "description": "Specifies how data related to the storage class analysis for an Amazon S3 bucket should be exported.", + "markdownDescription": "Specifies how data related to the storage class analysis for an Amazon S3 bucket should be exported.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" + } + }, + "markdownDescription": "Specifies data related to access patterns to be collected and made available to analyze the tradeoffs between different storage classes for an Amazon S3 bucket.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "DataExport": { + "description": "Specifies how data related to the storage class analysis for an Amazon S3 bucket should be exported.", "type": "object", + "additionalProperties": false, "properties": { - "BucketArn": { - "description": "The Amazon Resource Name (ARN) of the bucket to which data is exported.", - "type": "string", - "markdownDescription": "The Amazon Resource Name (ARN) of the bucket to which data is exported.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" + "Destination": { + "$ref": "#/definitions/Destination", + "description": "The place to store the data for an analysis.", + "markdownDescription": "The place to store the data for an analysis.\n\n---\n\nRequired: Yes \nType: \nUpdate requires: No interruption" }, - "Format": { - "description": "Specifies the file format used when exporting data to Amazon S3.\n *Allowed values*: ``CSV`` | ``ORC`` | ``Parquet``", + "OutputSchemaVersion": { + "description": "The version of the output schema to use when exporting data. Must be ``V_1``.", "type": "string", - "enum": [ - "CSV", - "ORC", - "Parquet" - ], - "markdownDescription": "Specifies the file format used when exporting data to Amazon S3.\n *Allowed values*: ``CSV`` | ``ORC`` | ``Parquet``\n\n---\n\nRequired: Yes \nType: String \nAllowed Values: CSV | ORC | Parquet \nUpdate requires: No interruption" + "const": "V_1", + "markdownDescription": "The version of the output schema to use when exporting data. Must be ``V_1``.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" + } + }, + "required": [ + "Destination", + "OutputSchemaVersion" + ], + "markdownDescription": "Specifies how data related to the storage class analysis for an Amazon S3 bucket should be exported.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "BucketEncryption": { + "description": "Specifies default encryption for a bucket using server-side encryption with Amazon S3-managed keys (SSE-S3), AWS KMS-managed keys (SSE-KMS), or dual-layer server-side encryption with KMS-managed keys (DSSE-KMS). For information about the Amazon S3 default encryption feature, see [Amazon S3 Default Encryption for S3 Buckets](https://docs.aws.amazon.com/AmazonS3/latest/dev/bucket-encryption.html) in the *Amazon S3 User Guide*.", + "type": "object", + "additionalProperties": false, + "properties": { + "ServerSideEncryptionConfiguration": { + "description": "Specifies the default server-side-encryption configuration.", + "type": "array", + "uniqueItems": true, + "insertionOrder": true, + "items": { + "$ref": "#/definitions/ServerSideEncryptionRule" + }, + "markdownDescription": "Specifies the default server-side-encryption configuration.\n\n---\n\nRequired: Yes \nType: Array \nUpdate requires: No interruption" + } + }, + "required": [ + "ServerSideEncryptionConfiguration" + ], + "markdownDescription": "Specifies default encryption for a bucket using server-side encryption with Amazon S3-managed keys (SSE-S3), AWS KMS-managed keys (SSE-KMS), or dual-layer server-side encryption with KMS-managed keys (DSSE-KMS). For information about the Amazon S3 default encryption feature, see [Amazon S3 Default Encryption for S3 Buckets](https://docs.aws.amazon.com/AmazonS3/latest/dev/bucket-encryption.html) in the *Amazon S3 User Guide*.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "ServerSideEncryptionRule": { + "description": "Specifies the default server-side encryption configuration.\n + *General purpose buckets* - If you're specifying a customer managed KMS key, we recommend using a fully qualified KMS key ARN. If you use a KMS key alias instead, then KMS resolves the key within the requester\u2019s account. This behavior can result in data that's encrypted with a KMS key that belongs to the requester, and not the bucket owner.\n + *Directory buckets* - When you specify an [customer managed key](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#customer-cmk) for encryption in your directory bucket, only use the key ID or key ARN. The key alias format of the KMS key isn't supported.", + "type": "object", + "additionalProperties": false, + "properties": { + "BucketKeyEnabled": { + "description": "Specifies whether Amazon S3 should use an S3 Bucket Key with server-side encryption using KMS (SSE-KMS) for new objects in the bucket. Existing objects are not affected. Setting the ``BucketKeyEnabled`` element to ``true`` causes Amazon S3 to use an S3 Bucket Key. By default, S3 Bucket Key is not enabled.\n For more information, see [Amazon S3 Bucket Keys](https://docs.aws.amazon.com/AmazonS3/latest/dev/bucket-key.html) in the *Amazon S3 User Guide*.", + "type": "boolean", + "markdownDescription": "Specifies whether Amazon S3 should use an S3 Bucket Key with server-side encryption using KMS (SSE-KMS) for new objects in the bucket. Existing objects are not affected. Setting the ``BucketKeyEnabled`` element to ``true`` causes Amazon S3 to use an S3 Bucket Key. By default, S3 Bucket Key is not enabled.\n For more information, see [Amazon S3 Bucket Keys](https://docs.aws.amazon.com/AmazonS3/latest/dev/bucket-key.html) in the *Amazon S3 User Guide*.\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" }, - "BucketAccountId": { - "description": "The account ID that owns the destination S3 bucket. If no account ID is provided, the owner is not validated before exporting data.\n Although this value is optional, we strongly recommend that you set it to help prevent problems if the destination bucket ownership changes.", + "ServerSideEncryptionByDefault": { + "$ref": "#/definitions/ServerSideEncryptionByDefault", + "description": "Specifies the default server-side encryption to apply to new objects in the bucket. If a PUT Object request doesn't specify any server-side encryption, this default encryption will be applied.", + "markdownDescription": "Specifies the default server-side encryption to apply to new objects in the bucket. If a PUT Object request doesn't specify any server-side encryption, this default encryption will be applied.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" + } + }, + "markdownDescription": "Specifies the default server-side encryption configuration.\n + *General purpose buckets* - If you're specifying a customer managed KMS key, we recommend using a fully qualified KMS key ARN. If you use a KMS key alias instead, then KMS resolves the key within the requester\u2019s account. This behavior can result in data that's encrypted with a KMS key that belongs to the requester, and not the bucket owner.\n + *Directory buckets* - When you specify an [customer managed key](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#customer-cmk) for encryption in your directory bucket, only use the key ID or key ARN. The key alias format of the KMS key isn't supported.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "ServerSideEncryptionByDefault": { + "description": "Describes the default server-side encryption to apply to new objects in the bucket. If a PUT Object request doesn't specify any server-side encryption, this default encryption will be applied. For more information, see [PutBucketEncryption](https://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketPUTencryption.html).\n + *General purpose buckets* - If you don't specify a customer managed key at configuration, Amazon S3 automatically creates an AWS KMS key (``aws/s3``) in your AWS account the first time that you add an object encrypted with SSE-KMS to a bucket. By default, Amazon S3 uses this KMS key for SSE-KMS. \n + *Directory buckets* - Your SSE-KMS configuration can only support 1 [customer managed key](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#customer-cmk) per directory bucket for the lifetime of the bucket. The [managed key](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#aws-managed-cmk) (``aws/s3``) isn't supported. \n + *Directory buckets* - For directory buckets, there are only two supported options for server-side encryption: SSE-S3 and SSE-KMS.", + "type": "object", + "properties": { + "KMSMasterKeyID": { + "description": "AWS Key Management Service (KMS) customer managed key ID to use for the default encryption. \n + *General purpose buckets* - This parameter is allowed if and only if ``SSEAlgorithm`` is set to ``aws:kms`` or ``aws:kms:dsse``.\n + *Directory buckets* - This parameter is allowed if and only if ``SSEAlgorithm`` is set to ``aws:kms``.\n \n You can specify the key ID, key alias, or the Amazon Resource Name (ARN) of the KMS key.\n + Key ID: ``1234abcd-12ab-34cd-56ef-1234567890ab`` \n + Key ARN: ``arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab`` \n + Key Alias: ``alias/alias-name`` \n \n If you are using encryption with cross-account or AWS service operations, you must use a fully qualified KMS key ARN. For more information, see [Using encryption for cross-account operations](https://docs.aws.amazon.com/AmazonS3/latest/dev/bucket-encryption.html#bucket-encryption-update-bucket-policy).\n + *General purpose buckets* - If you're specifying a customer managed KMS key, we recommend using a fully qualified KMS key ARN. If you use a KMS key alias instead, then KMS resolves the key within the requester\u2019s account. This behavior can result in data that's encrypted with a KMS key that belongs to the requester, and not the bucket owner. Also, if you use a key ID, you can run into a LogDestination undeliverable error when creating a VPC flow log. \n + *Directory buckets* - When you specify an [customer managed key](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#customer-cmk) for encryption in your directory bucket, only use the key ID or key ARN. The key alias format of the KMS key isn't supported.\n \n Amazon S3 only supports symmetric encryption KMS keys. For more information, see [Asymmetric keys in KMS](https://docs.aws.amazon.com//kms/latest/developerguide/symmetric-asymmetric.html) in the *Key Management Service Developer Guide*.", "type": "string", - "markdownDescription": "The account ID that owns the destination S3 bucket. If no account ID is provided, the owner is not validated before exporting data.\n Although this value is optional, we strongly recommend that you set it to help prevent problems if the destination bucket ownership changes.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "markdownDescription": "AWS Key Management Service (KMS) customer managed key ID to use for the default encryption. \n + *General purpose buckets* - This parameter is allowed if and only if ``SSEAlgorithm`` is set to ``aws:kms`` or ``aws:kms:dsse``.\n + *Directory buckets* - This parameter is allowed if and only if ``SSEAlgorithm`` is set to ``aws:kms``.\n \n You can specify the key ID, key alias, or the Amazon Resource Name (ARN) of the KMS key.\n + Key ID: ``1234abcd-12ab-34cd-56ef-1234567890ab`` \n + Key ARN: ``arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab`` \n + Key Alias: ``alias/alias-name`` \n \n If you are using encryption with cross-account or AWS service operations, you must use a fully qualified KMS key ARN. For more information, see [Using encryption for cross-account operations](https://docs.aws.amazon.com/AmazonS3/latest/dev/bucket-encryption.html#bucket-encryption-update-bucket-policy).\n + *General purpose buckets* - If you're specifying a customer managed KMS key, we recommend using a fully qualified KMS key ARN. If you use a KMS key alias instead, then KMS resolves the key within the requester\u2019s account. This behavior can result in data that's encrypted with a KMS key that belongs to the requester, and not the bucket owner. Also, if you use a key ID, you can run into a LogDestination undeliverable error when creating a VPC flow log. \n + *Directory buckets* - When you specify an [customer managed key](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#customer-cmk) for encryption in your directory bucket, only use the key ID or key ARN. The key alias format of the KMS key isn't supported.\n \n Amazon S3 only supports symmetric encryption KMS keys. For more information, see [Asymmetric keys in KMS](https://docs.aws.amazon.com//kms/latest/developerguide/symmetric-asymmetric.html) in the *Key Management Service Developer Guide*.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, - "Prefix": { - "description": "The prefix to use when exporting data. The prefix is prepended to all results.", + "SSEAlgorithm": { "type": "string", - "markdownDescription": "The prefix to use when exporting data. The prefix is prepended to all results.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "enum": [ + "aws:kms", + "AES256", + "aws:kms:dsse" + ], + "description": "Server-side encryption algorithm to use for the default encryption.\n For directory buckets, there are only two supported values for server-side encryption: ``AES256`` and ``aws:kms``.", + "markdownDescription": "Server-side encryption algorithm to use for the default encryption.\n For directory buckets, there are only two supported values for server-side encryption: ``AES256`` and ``aws:kms``.\n\n---\n\nRequired: Yes \nType: String \nAllowed Values: aws:kms | AES256 | aws:kms:dsse \nUpdate requires: No interruption" } }, + "additionalProperties": false, "required": [ - "BucketArn", - "Format" + "SSEAlgorithm" ], - "markdownDescription": "Specifies information about where to publish analysis or configuration results for an Amazon S3 bucket.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + "markdownDescription": "Describes the default server-side encryption to apply to new objects in the bucket. If a PUT Object request doesn't specify any server-side encryption, this default encryption will be applied. For more information, see [PutBucketEncryption](https://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketPUTencryption.html).\n + *General purpose buckets* - If you don't specify a customer managed key at configuration, Amazon S3 automatically creates an AWS KMS key (``aws/s3``) in your AWS account the first time that you add an object encrypted with SSE-KMS to a bucket. By default, Amazon S3 uses this KMS key for SSE-KMS. \n + *Directory buckets* - Your SSE-KMS configuration can only support 1 [customer managed key](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#customer-cmk) per directory bucket for the lifetime of the bucket. The [managed key](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#aws-managed-cmk) (``aws/s3``) isn't supported. \n + *Directory buckets* - For directory buckets, there are only two supported options for server-side encryption: SSE-S3 and SSE-KMS.\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, - "PartitionedPrefix": { - "description": "Amazon S3 keys for log objects are partitioned in the following format:\n ``[DestinationPrefix][SourceAccountId]/[SourceRegion]/[SourceBucket]/[YYYY]/[MM]/[DD]/[YYYY]-[MM]-[DD]-[hh]-[mm]-[ss]-[UniqueString]`` \n PartitionedPrefix defaults to EventTime delivery when server access logs are delivered.", + "CorsConfiguration": { + "type": "object", "additionalProperties": false, + "properties": { + "CorsRules": { + "type": "array", + "uniqueItems": true, + "insertionOrder": true, + "items": { + "$ref": "#/definitions/CorsRule", + "maxLength": 100 + }, + "description": "A set of origins and methods (cross-origin access that you want to allow). You can add up to 100 rules to the configuration.", + "markdownDescription": "A set of origins and methods (cross-origin access that you want to allow). You can add up to 100 rules to the configuration.\n\n---\n\nRequired: Yes \nType: Array \nUpdate requires: No interruption" + } + }, + "required": [ + "CorsRules" + ], + "description": "Describes the cross-origin access configuration for objects in an Amazon S3 bucket. For more information, see [Enabling Cross-Origin Resource Sharing](https://docs.aws.amazon.com/AmazonS3/latest/dev/cors.html) in the *Amazon S3 User Guide*.", + "markdownDescription": "Describes the cross-origin access configuration for objects in an Amazon S3 bucket. For more information, see [Enabling Cross-Origin Resource Sharing](https://docs.aws.amazon.com/AmazonS3/latest/dev/cors.html) in the *Amazon S3 User Guide*.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "CorsRule": { "type": "object", + "description": "Specifies a cross-origin access rule for an Amazon S3 bucket.", + "additionalProperties": false, "properties": { - "PartitionDateSource": { - "description": "Specifies the partition date source for the partitioned prefix. ``PartitionDateSource`` can be ``EventTime`` or ``DeliveryTime``.\n For ``DeliveryTime``, the time in the log file names corresponds to the delivery time for the log files. \n For ``EventTime``, The logs delivered are for a specific day only. The year, month, and day correspond to the day on which the event occurred, and the hour, minutes and seconds are set to 00 in the key.", + "AllowedHeaders": { + "description": "Headers that are specified in the ``Access-Control-Request-Headers`` header. These headers are allowed in a preflight OPTIONS request. In response to any preflight OPTIONS request, Amazon S3 returns any requested headers that are allowed.", + "type": "array", + "uniqueItems": true, + "insertionOrder": true, + "items": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "markdownDescription": "Headers that are specified in the ``Access-Control-Request-Headers`` header. These headers are allowed in a preflight OPTIONS request. In response to any preflight OPTIONS request, Amazon S3 returns any requested headers that are allowed.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + }, + "AllowedMethods": { + "description": "An HTTP method that you allow the origin to run.\n *Allowed values*: ``GET`` | ``PUT`` | ``HEAD`` | ``POST`` | ``DELETE``", + "type": "array", + "uniqueItems": true, + "insertionOrder": true, + "items": { + "type": "string", + "enum": [ + "GET", + "PUT", + "HEAD", + "POST", + "DELETE" + ], + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: GET | PUT | HEAD | POST | DELETE \nUpdate requires: No interruption" + }, + "markdownDescription": "An HTTP method that you allow the origin to run.\n *Allowed values*: ``GET`` | ``PUT`` | ``HEAD`` | ``POST`` | ``DELETE``\n\n---\n\nRequired: Yes \nType: Array \nUpdate requires: No interruption" + }, + "AllowedOrigins": { + "description": "One or more origins you want customers to be able to access the bucket from.", + "type": "array", + "uniqueItems": true, + "insertionOrder": true, + "items": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "markdownDescription": "One or more origins you want customers to be able to access the bucket from.\n\n---\n\nRequired: Yes \nType: Array \nUpdate requires: No interruption" + }, + "ExposedHeaders": { + "description": "One or more headers in the response that you want customers to be able to access from their applications (for example, from a JavaScript ``XMLHttpRequest`` object).", + "type": "array", + "uniqueItems": true, + "insertionOrder": true, + "items": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "markdownDescription": "One or more headers in the response that you want customers to be able to access from their applications (for example, from a JavaScript ``XMLHttpRequest`` object).\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + }, + "Id": { + "description": "A unique identifier for this rule. The value must be no more than 255 characters.", "type": "string", - "enum": [ - "EventTime", - "DeliveryTime" - ], - "markdownDescription": "Specifies the partition date source for the partitioned prefix. ``PartitionDateSource`` can be ``EventTime`` or ``DeliveryTime``.\n For ``DeliveryTime``, the time in the log file names corresponds to the delivery time for the log files. \n For ``EventTime``, The logs delivered are for a specific day only. The year, month, and day correspond to the day on which the event occurred, and the hour, minutes and seconds are set to 00 in the key.\n\n---\n\nRequired: No \nType: String \nAllowed Values: EventTime | DeliveryTime \nUpdate requires: No interruption" + "maxLength": 255, + "markdownDescription": "A unique identifier for this rule. The value must be no more than 255 characters.\n\n---\n\nRequired: No \nType: String \nMaximum Length: 255 \nUpdate requires: No interruption" + }, + "MaxAge": { + "description": "The time in seconds that your browser is to cache the preflight response for the specified resource.", + "type": "integer", + "minimum": 0, + "markdownDescription": "The time in seconds that your browser is to cache the preflight response for the specified resource.\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" } }, - "markdownDescription": "Amazon S3 keys for log objects are partitioned in the following format:\n ``[DestinationPrefix][SourceAccountId]/[SourceRegion]/[SourceBucket]/[YYYY]/[MM]/[DD]/[YYYY]-[MM]-[DD]-[hh]-[mm]-[ss]-[UniqueString]`` \n PartitionedPrefix defaults to EventTime delivery when server access logs are delivered.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + "required": [ + "AllowedMethods", + "AllowedOrigins" + ], + "markdownDescription": "Specifies a cross-origin access rule for an Amazon S3 bucket.\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, - "RedirectAllRequestsTo": { - "description": "Specifies the redirect behavior of all requests to a website endpoint of an Amazon S3 bucket.", - "additionalProperties": false, + "IntelligentTieringConfiguration": { "type": "object", + "additionalProperties": false, "properties": { - "Protocol": { - "description": "Protocol to use when redirecting requests. The default is the protocol that is used in the original request.", + "Id": { + "description": "The ID used to identify the S3 Intelligent-Tiering configuration.", + "type": "string", + "markdownDescription": "The ID used to identify the S3 Intelligent-Tiering configuration.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" + }, + "Prefix": { + "description": "An object key name prefix that identifies the subset of objects to which the rule applies.", + "type": "string", + "markdownDescription": "An object key name prefix that identifies the subset of objects to which the rule applies.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "Status": { + "description": "Specifies the status of the configuration.", "type": "string", "enum": [ - "http", - "https" + "Disabled", + "Enabled" ], - "markdownDescription": "Protocol to use when redirecting requests. The default is the protocol that is used in the original request.\n\n---\n\nRequired: No \nType: String \nAllowed Values: http | https \nUpdate requires: No interruption" + "markdownDescription": "Specifies the status of the configuration.\n\n---\n\nRequired: Yes \nType: String \nAllowed Values: Disabled | Enabled \nUpdate requires: No interruption" + }, + "TagFilters": { + "description": "A container for a key-value pair.", + "type": "array", + "uniqueItems": true, + "insertionOrder": true, + "items": { + "$ref": "#/definitions/TagFilter" + }, + "markdownDescription": "A container for a key-value pair.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" }, - "HostName": { - "description": "Name of the host where requests are redirected.", - "type": "string", - "markdownDescription": "Name of the host where requests are redirected.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" + "Tierings": { + "description": "Specifies a list of S3 Intelligent-Tiering storage class tiers in the configuration. At least one tier must be defined in the list. At most, you can specify two tiers in the list, one for each available AccessTier: ``ARCHIVE_ACCESS`` and ``DEEP_ARCHIVE_ACCESS``.\n You only need Intelligent Tiering Configuration enabled on a bucket if you want to automatically move objects stored in the Intelligent-Tiering storage class to Archive Access or Deep Archive Access tiers.", + "type": "array", + "uniqueItems": true, + "insertionOrder": true, + "items": { + "$ref": "#/definitions/Tiering" + }, + "markdownDescription": "Specifies a list of S3 Intelligent-Tiering storage class tiers in the configuration. At least one tier must be defined in the list. At most, you can specify two tiers in the list, one for each available AccessTier: ``ARCHIVE_ACCESS`` and ``DEEP_ARCHIVE_ACCESS``.\n You only need Intelligent Tiering Configuration enabled on a bucket if you want to automatically move objects stored in the Intelligent-Tiering storage class to Archive Access or Deep Archive Access tiers.\n\n---\n\nRequired: Yes \nType: Array \nUpdate requires: No interruption" } }, "required": [ - "HostName" + "Id", + "Status", + "Tierings" ], - "markdownDescription": "Specifies the redirect behavior of all requests to a website endpoint of an Amazon S3 bucket.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + "description": "Specifies the S3 Intelligent-Tiering configuration for an Amazon S3 bucket.\n For information about the S3 Intelligent-Tiering storage class, see [Storage class for automatically optimizing frequently and infrequently accessed objects](https://docs.aws.amazon.com/AmazonS3/latest/dev/storage-class-intro.html#sc-dynamic-data-access).", + "markdownDescription": "Specifies the S3 Intelligent-Tiering configuration for an Amazon S3 bucket.\n For information about the S3 Intelligent-Tiering storage class, see [Storage class for automatically optimizing frequently and infrequently accessed objects](https://docs.aws.amazon.com/AmazonS3/latest/dev/storage-class-intro.html#sc-dynamic-data-access).\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, - "TagFilter": { - "description": "Specifies tags to use to identify a subset of objects for an Amazon S3 bucket.", - "additionalProperties": false, + "Tiering": { "type": "object", + "additionalProperties": false, "properties": { - "Value": { - "description": "The tag value.", + "AccessTier": { + "description": "S3 Intelligent-Tiering access tier. See [Storage class for automatically optimizing frequently and infrequently accessed objects](https://docs.aws.amazon.com/AmazonS3/latest/dev/storage-class-intro.html#sc-dynamic-data-access) for a list of access tiers in the S3 Intelligent-Tiering storage class.", "type": "string", - "markdownDescription": "The tag value.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" + "enum": [ + "ARCHIVE_ACCESS", + "DEEP_ARCHIVE_ACCESS" + ], + "markdownDescription": "S3 Intelligent-Tiering access tier. See [Storage class for automatically optimizing frequently and infrequently accessed objects](https://docs.aws.amazon.com/AmazonS3/latest/dev/storage-class-intro.html#sc-dynamic-data-access) for a list of access tiers in the S3 Intelligent-Tiering storage class.\n\n---\n\nRequired: Yes \nType: String \nAllowed Values: ARCHIVE_ACCESS | DEEP_ARCHIVE_ACCESS \nUpdate requires: No interruption" }, - "Key": { - "description": "The tag key.", - "type": "string", - "markdownDescription": "The tag key.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" + "Days": { + "description": "The number of consecutive days of no access after which an object will be eligible to be transitioned to the corresponding tier. The minimum number of days specified for Archive Access tier must be at least 90 days and Deep Archive Access tier must be at least 180 days. The maximum can be up to 2 years (730 days).", + "type": "integer", + "markdownDescription": "The number of consecutive days of no access after which an object will be eligible to be transitioned to the corresponding tier. The minimum number of days specified for Archive Access tier must be at least 90 days and Deep Archive Access tier must be at least 180 days. The maximum can be up to 2 years (730 days).\n\n---\n\nRequired: Yes \nType: Integer \nUpdate requires: No interruption" } }, "required": [ - "Value", - "Key" + "AccessTier", + "Days" ], - "markdownDescription": "Specifies tags to use to identify a subset of objects for an Amazon S3 bucket.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + "description": "The S3 Intelligent-Tiering storage class is designed to optimize storage costs by automatically moving data to the most cost-effective storage access tier, without additional operational overhead.", + "markdownDescription": "The S3 Intelligent-Tiering storage class is designed to optimize storage costs by automatically moving data to the most cost-effective storage access tier, without additional operational overhead.\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, - "WebsiteConfiguration": { - "description": "Specifies website configuration parameters for an Amazon S3 bucket.", - "additionalProperties": false, + "InventoryConfiguration": { "type": "object", + "additionalProperties": false, "properties": { - "IndexDocument": { - "description": "The name of the index document for the website.", + "Destination": { + "$ref": "#/definitions/Destination", + "description": "Contains information about where to publish the inventory results.", + "markdownDescription": "Contains information about where to publish the inventory results.\n\n---\n\nRequired: Yes \nType: \nUpdate requires: No interruption" + }, + "Enabled": { + "description": "Specifies whether the inventory is enabled or disabled. If set to ``True``, an inventory list is generated. If set to ``False``, no inventory list is generated.", + "type": "boolean", + "markdownDescription": "Specifies whether the inventory is enabled or disabled. If set to ``True``, an inventory list is generated. If set to ``False``, no inventory list is generated.\n\n---\n\nRequired: Yes \nType: Boolean \nUpdate requires: No interruption" + }, + "Id": { + "description": "The ID used to identify the inventory configuration.", "type": "string", - "markdownDescription": "The name of the index document for the website.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "markdownDescription": "The ID used to identify the inventory configuration.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" }, - "RedirectAllRequestsTo": { - "description": "The redirect behavior for every request to this bucket's website endpoint.\n If you specify this property, you can't specify any other property.", - "$ref": "#/definitions/RedirectAllRequestsTo", - "markdownDescription": "The redirect behavior for every request to this bucket's website endpoint.\n If you specify this property, you can't specify any other property.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" + "IncludedObjectVersions": { + "description": "Object versions to include in the inventory list. If set to ``All``, the list includes all the object versions, which adds the version-related fields ``VersionId``, ``IsLatest``, and ``DeleteMarker`` to the list. If set to ``Current``, the list does not contain these version-related fields.", + "type": "string", + "enum": [ + "All", + "Current" + ], + "markdownDescription": "Object versions to include in the inventory list. If set to ``All``, the list includes all the object versions, which adds the version-related fields ``VersionId``, ``IsLatest``, and ``DeleteMarker`` to the list. If set to ``Current``, the list does not contain these version-related fields.\n\n---\n\nRequired: Yes \nType: String \nAllowed Values: All | Current \nUpdate requires: No interruption" }, - "RoutingRules": { - "description": "Rules that define when a redirect is applied and the redirect behavior.", - "insertionOrder": true, + "OptionalFields": { + "description": "Contains the optional fields that are included in the inventory results.", "type": "array", + "uniqueItems": true, + "insertionOrder": true, "items": { - "$ref": "#/definitions/RoutingRule" + "type": "string", + "enum": [ + "Size", + "LastModifiedDate", + "StorageClass", + "ETag", + "IsMultipartUploaded", + "ReplicationStatus", + "EncryptionStatus", + "ObjectLockRetainUntilDate", + "ObjectLockMode", + "ObjectLockLegalHoldStatus", + "IntelligentTieringAccessTier", + "BucketKeyStatus", + "ChecksumAlgorithm", + "ObjectAccessControlList", + "ObjectOwner" + ], + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: Size | LastModifiedDate | StorageClass | ETag | IsMultipartUploaded | ReplicationStatus | EncryptionStatus | ObjectLockRetainUntilDate | ObjectLockMode | ObjectLockLegalHoldStatus | IntelligentTieringAccessTier | BucketKeyStatus | ChecksumAlgorithm | ObjectAccessControlList | ObjectOwner \nUpdate requires: No interruption" }, - "markdownDescription": "Rules that define when a redirect is applied and the redirect behavior.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + "markdownDescription": "Contains the optional fields that are included in the inventory results.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" }, - "ErrorDocument": { - "description": "The name of the error document for the website.", + "Prefix": { + "description": "Specifies the inventory filter prefix.", "type": "string", - "markdownDescription": "The name of the error document for the website.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "markdownDescription": "Specifies the inventory filter prefix.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "ScheduleFrequency": { + "description": "Specifies the schedule for generating inventory results.", + "type": "string", + "enum": [ + "Daily", + "Weekly" + ], + "markdownDescription": "Specifies the schedule for generating inventory results.\n\n---\n\nRequired: Yes \nType: String \nAllowed Values: Daily | Weekly \nUpdate requires: No interruption" } }, - "markdownDescription": "Specifies website configuration parameters for an Amazon S3 bucket.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + "required": [ + "Destination", + "Enabled", + "Id", + "IncludedObjectVersions", + "ScheduleFrequency" + ], + "description": "Specifies the inventory configuration for an Amazon S3 bucket. For more information, see [GET Bucket inventory](https://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketGETInventoryConfig.html) in the *Amazon S3 API Reference*.", + "markdownDescription": "Specifies the inventory configuration for an Amazon S3 bucket. For more information, see [GET Bucket inventory](https://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketGETInventoryConfig.html) in the *Amazon S3 API Reference*.\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, - "TopicConfiguration": { - "description": "A container for specifying the configuration for publication of messages to an Amazon Simple Notification Service (Amazon SNS) topic when Amazon S3 detects specified events.", - "additionalProperties": false, + "LifecycleConfiguration": { "type": "object", + "additionalProperties": false, "properties": { - "Filter": { - "description": "The filtering rules that determine for which objects to send notifications. For example, you can create a filter so that Amazon S3 sends notifications only when image files with a ``.jpg`` extension are added to the bucket.", - "$ref": "#/definitions/NotificationFilter", - "markdownDescription": "The filtering rules that determine for which objects to send notifications. For example, you can create a filter so that Amazon S3 sends notifications only when image files with a ``.jpg`` extension are added to the bucket.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" - }, - "Event": { - "description": "The Amazon S3 bucket event about which to send notifications. For more information, see [Supported Event Types](https://docs.aws.amazon.com/AmazonS3/latest/dev/NotificationHowTo.html) in the *Amazon S3 User Guide*.", - "type": "string", - "markdownDescription": "The Amazon S3 bucket event about which to send notifications. For more information, see [Supported Event Types](https://docs.aws.amazon.com/AmazonS3/latest/dev/NotificationHowTo.html) in the *Amazon S3 User Guide*.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" + "Rules": { + "description": "A lifecycle rule for individual objects in an Amazon S3 bucket.", + "type": "array", + "uniqueItems": true, + "insertionOrder": true, + "items": { + "$ref": "#/definitions/Rule" + }, + "markdownDescription": "A lifecycle rule for individual objects in an Amazon S3 bucket.\n\n---\n\nRequired: Yes \nType: Array \nUpdate requires: No interruption" }, - "Topic": { - "description": "The Amazon Resource Name (ARN) of the Amazon SNS topic to which Amazon S3 publishes a message when it detects events of the specified type.", + "TransitionDefaultMinimumObjectSize": { + "description": "", "type": "string", - "markdownDescription": "The Amazon Resource Name (ARN) of the Amazon SNS topic to which Amazon S3 publishes a message when it detects events of the specified type.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" + "enum": [ + "varies_by_storage_class", + "all_storage_classes_128K" + ], + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: varies_by_storage_class | all_storage_classes_128K \nUpdate requires: No interruption" } }, "required": [ - "Event", - "Topic" + "Rules" ], - "markdownDescription": "A container for specifying the configuration for publication of messages to an Amazon Simple Notification Service (Amazon SNS) topic when Amazon S3 detects specified events.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + "description": "Specifies the lifecycle configuration for objects in an Amazon S3 bucket. For more information, see [Object Lifecycle Management](https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lifecycle-mgmt.html) in the *Amazon S3 User Guide*.", + "markdownDescription": "Specifies the lifecycle configuration for objects in an Amazon S3 bucket. For more information, see [Object Lifecycle Management](https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lifecycle-mgmt.html) in the *Amazon S3 User Guide*.\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, - "IntelligentTieringConfiguration": { - "description": "Specifies the S3 Intelligent-Tiering configuration for an Amazon S3 bucket.\n For information about the S3 Intelligent-Tiering storage class, see [Storage class for automatically optimizing frequently and infrequently accessed objects](https://docs.aws.amazon.com/AmazonS3/latest/dev/storage-class-intro.html#sc-dynamic-data-access).", - "additionalProperties": false, + "Rule": { "type": "object", + "description": "Specifies lifecycle rules for an Amazon S3 bucket. For more information, see [Put Bucket Lifecycle Configuration](https://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketPUTlifecycle.html) in the *Amazon S3 API Reference*.\n You must specify at least one of the following properties: ``AbortIncompleteMultipartUpload``, ``ExpirationDate``, ``ExpirationInDays``, ``NoncurrentVersionExpirationInDays``, ``NoncurrentVersionTransition``, ``NoncurrentVersionTransitions``, ``Transition``, or ``Transitions``.", + "additionalProperties": false, "properties": { - "Status": { - "description": "Specifies the status of the configuration.", + "AbortIncompleteMultipartUpload": { + "$ref": "#/definitions/AbortIncompleteMultipartUpload", + "description": "Specifies a lifecycle rule that stops incomplete multipart uploads to an Amazon S3 bucket.", + "markdownDescription": "Specifies a lifecycle rule that stops incomplete multipart uploads to an Amazon S3 bucket.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" + }, + "ExpirationDate": { + "$ref": "#/definitions/iso8601UTC", + "description": "Indicates when objects are deleted from Amazon S3 and Amazon S3 Glacier. The date value must be in ISO 8601 format. The time is always midnight UTC. If you specify an expiration and transition time, you must use the same time unit for both properties (either in days or by date). The expiration time must also be later than the transition time.", + "markdownDescription": "Indicates when objects are deleted from Amazon S3 and Amazon S3 Glacier. The date value must be in ISO 8601 format. The time is always midnight UTC. If you specify an expiration and transition time, you must use the same time unit for both properties (either in days or by date). The expiration time must also be later than the transition time.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" + }, + "ExpirationInDays": { + "type": "integer", + "description": "Indicates the number of days after creation when objects are deleted from Amazon S3 and Amazon S3 Glacier. If you specify an expiration and transition time, you must use the same time unit for both properties (either in days or by date). The expiration time must also be later than the transition time.", + "markdownDescription": "Indicates the number of days after creation when objects are deleted from Amazon S3 and Amazon S3 Glacier. If you specify an expiration and transition time, you must use the same time unit for both properties (either in days or by date). The expiration time must also be later than the transition time.\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" + }, + "ExpiredObjectDeleteMarker": { + "type": "boolean", + "description": "Indicates whether Amazon S3 will remove a delete marker without any noncurrent versions. If set to true, the delete marker will be removed if there are no noncurrent versions. This cannot be specified with ``ExpirationInDays``, ``ExpirationDate``, or ``TagFilters``.", + "markdownDescription": "Indicates whether Amazon S3 will remove a delete marker without any noncurrent versions. If set to true, the delete marker will be removed if there are no noncurrent versions. This cannot be specified with ``ExpirationInDays``, ``ExpirationDate``, or ``TagFilters``.\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" + }, + "Id": { "type": "string", - "enum": [ - "Disabled", - "Enabled" - ], - "markdownDescription": "Specifies the status of the configuration.\n\n---\n\nRequired: Yes \nType: String \nAllowed Values: Disabled | Enabled \nUpdate requires: No interruption" + "maxLength": 255, + "description": "Unique identifier for the rule. The value can't be longer than 255 characters.", + "markdownDescription": "Unique identifier for the rule. The value can't be longer than 255 characters.\n\n---\n\nRequired: No \nType: String \nMaximum Length: 255 \nUpdate requires: No interruption" }, - "Tierings": { + "NoncurrentVersionExpirationInDays": { + "type": "integer", + "description": "(Deprecated.) For buckets with versioning enabled (or suspended), specifies the time, in days, between when a new version of the object is uploaded to the bucket and when old versions of the object expire. When object versions expire, Amazon S3 permanently deletes them. If you specify a transition and expiration time, the expiration time must be later than the transition time.", + "markdownDescription": "(Deprecated.) For buckets with versioning enabled (or suspended), specifies the time, in days, between when a new version of the object is uploaded to the bucket and when old versions of the object expire. When object versions expire, Amazon S3 permanently deletes them. If you specify a transition and expiration time, the expiration time must be later than the transition time.\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" + }, + "NoncurrentVersionExpiration": { + "$ref": "#/definitions/NoncurrentVersionExpiration", + "description": "Specifies when noncurrent object versions expire. Upon expiration, S3 permanently deletes the noncurrent object versions. You set this lifecycle configuration action on a bucket that has versioning enabled (or suspended) to request that S3 delete noncurrent object versions at a specific period in the object's lifetime.", + "markdownDescription": "Specifies when noncurrent object versions expire. Upon expiration, S3 permanently deletes the noncurrent object versions. You set this lifecycle configuration action on a bucket that has versioning enabled (or suspended) to request that S3 delete noncurrent object versions at a specific period in the object's lifetime.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" + }, + "NoncurrentVersionTransition": { + "$ref": "#/definitions/NoncurrentVersionTransition", + "description": "(Deprecated.) For buckets with versioning enabled (or suspended), specifies when non-current objects transition to a specified storage class. If you specify a transition and expiration time, the expiration time must be later than the transition time. If you specify this property, don't specify the ``NoncurrentVersionTransitions`` property.", + "markdownDescription": "(Deprecated.) For buckets with versioning enabled (or suspended), specifies when non-current objects transition to a specified storage class. If you specify a transition and expiration time, the expiration time must be later than the transition time. If you specify this property, don't specify the ``NoncurrentVersionTransitions`` property.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" + }, + "NoncurrentVersionTransitions": { + "type": "array", "uniqueItems": true, - "description": "Specifies a list of S3 Intelligent-Tiering storage class tiers in the configuration. At least one tier must be defined in the list. At most, you can specify two tiers in the list, one for each available AccessTier: ``ARCHIVE_ACCESS`` and ``DEEP_ARCHIVE_ACCESS``.\n You only need Intelligent Tiering Configuration enabled on a bucket if you want to automatically move objects stored in the Intelligent-Tiering storage class to Archive Access or Deep Archive Access tiers.", "insertionOrder": true, - "type": "array", "items": { - "$ref": "#/definitions/Tiering" + "$ref": "#/definitions/NoncurrentVersionTransition" }, - "markdownDescription": "Specifies a list of S3 Intelligent-Tiering storage class tiers in the configuration. At least one tier must be defined in the list. At most, you can specify two tiers in the list, one for each available AccessTier: ``ARCHIVE_ACCESS`` and ``DEEP_ARCHIVE_ACCESS``.\n You only need Intelligent Tiering Configuration enabled on a bucket if you want to automatically move objects stored in the Intelligent-Tiering storage class to Archive Access or Deep Archive Access tiers.\n\n---\n\nRequired: Yes \nType: Array \nUpdate requires: No interruption" + "description": "For buckets with versioning enabled (or suspended), one or more transition rules that specify when non-current objects transition to a specified storage class. If you specify a transition and expiration time, the expiration time must be later than the transition time. If you specify this property, don't specify the ``NoncurrentVersionTransition`` property.", + "markdownDescription": "For buckets with versioning enabled (or suspended), one or more transition rules that specify when non-current objects transition to a specified storage class. If you specify a transition and expiration time, the expiration time must be later than the transition time. If you specify this property, don't specify the ``NoncurrentVersionTransition`` property.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + }, + "Prefix": { + "type": "string", + "description": "Object key prefix that identifies one or more objects to which this rule applies.\n Replacement must be made for object keys containing special characters (such as carriage returns) when using XML requests. For more information, see [XML related object key constraints](https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-keys.html#object-key-xml-related-constraints).", + "markdownDescription": "Object key prefix that identifies one or more objects to which this rule applies.\n Replacement must be made for object keys containing special characters (such as carriage returns) when using XML requests. For more information, see [XML related object key constraints](https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-keys.html#object-key-xml-related-constraints).\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "Status": { + "type": "string", + "enum": [ + "Enabled", + "Disabled" + ], + "description": "If ``Enabled``, the rule is currently being applied. If ``Disabled``, the rule is not currently being applied.", + "markdownDescription": "If ``Enabled``, the rule is currently being applied. If ``Disabled``, the rule is not currently being applied.\n\n---\n\nRequired: Yes \nType: String \nAllowed Values: Enabled | Disabled \nUpdate requires: No interruption" }, "TagFilters": { + "type": "array", "uniqueItems": true, - "description": "A container for a key-value pair.", "insertionOrder": true, - "type": "array", "items": { "$ref": "#/definitions/TagFilter" }, - "markdownDescription": "A container for a key-value pair.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + "description": "Tags to use to identify a subset of objects to which the lifecycle rule applies.", + "markdownDescription": "Tags to use to identify a subset of objects to which the lifecycle rule applies.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" }, - "Id": { - "description": "The ID used to identify the S3 Intelligent-Tiering configuration.", + "ObjectSizeGreaterThan": { "type": "string", - "markdownDescription": "The ID used to identify the S3 Intelligent-Tiering configuration.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" + "maxLength": 20, + "description": "Specifies the minimum object size in bytes for this rule to apply to. Objects must be larger than this value in bytes. For more information about size based rules, see [Lifecycle configuration using size-based rules](https://docs.aws.amazon.com/AmazonS3/latest/userguide/lifecycle-configuration-examples.html#lc-size-rules) in the *Amazon S3 User Guide*.", + "markdownDescription": "Specifies the minimum object size in bytes for this rule to apply to. Objects must be larger than this value in bytes. For more information about size based rules, see [Lifecycle configuration using size-based rules](https://docs.aws.amazon.com/AmazonS3/latest/userguide/lifecycle-configuration-examples.html#lc-size-rules) in the *Amazon S3 User Guide*.\n\n---\n\nRequired: No \nType: String \nMaximum Length: 20 \nPattern: [0-9]+ \nUpdate requires: No interruption" }, - "Prefix": { - "description": "An object key name prefix that identifies the subset of objects to which the rule applies.", + "ObjectSizeLessThan": { "type": "string", - "markdownDescription": "An object key name prefix that identifies the subset of objects to which the rule applies.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "maxLength": 20, + "description": "Specifies the maximum object size in bytes for this rule to apply to. Objects must be smaller than this value in bytes. For more information about sized based rules, see [Lifecycle configuration using size-based rules](https://docs.aws.amazon.com/AmazonS3/latest/userguide/lifecycle-configuration-examples.html#lc-size-rules) in the *Amazon S3 User Guide*.", + "markdownDescription": "Specifies the maximum object size in bytes for this rule to apply to. Objects must be smaller than this value in bytes. For more information about sized based rules, see [Lifecycle configuration using size-based rules](https://docs.aws.amazon.com/AmazonS3/latest/userguide/lifecycle-configuration-examples.html#lc-size-rules) in the *Amazon S3 User Guide*.\n\n---\n\nRequired: No \nType: String \nMaximum Length: 20 \nPattern: [0-9]+ \nUpdate requires: No interruption" + }, + "Transition": { + "$ref": "#/definitions/Transition", + "description": "(Deprecated.) Specifies when an object transitions to a specified storage class. If you specify an expiration and transition time, you must use the same time unit for both properties (either in days or by date). The expiration time must also be later than the transition time. If you specify this property, don't specify the ``Transitions`` property.", + "markdownDescription": "(Deprecated.) Specifies when an object transitions to a specified storage class. If you specify an expiration and transition time, you must use the same time unit for both properties (either in days or by date). The expiration time must also be later than the transition time. If you specify this property, don't specify the ``Transitions`` property.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" + }, + "Transitions": { + "type": "array", + "uniqueItems": true, + "insertionOrder": true, + "items": { + "$ref": "#/definitions/Transition" + }, + "description": "One or more transition rules that specify when an object transitions to a specified storage class. If you specify an expiration and transition time, you must use the same time unit for both properties (either in days or by date). The expiration time must also be later than the transition time. If you specify this property, don't specify the ``Transition`` property.", + "markdownDescription": "One or more transition rules that specify when an object transitions to a specified storage class. If you specify an expiration and transition time, you must use the same time unit for both properties (either in days or by date). The expiration time must also be later than the transition time. If you specify this property, don't specify the ``Transition`` property.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" } }, "required": [ - "Id", - "Status", - "Tierings" + "Status" ], - "markdownDescription": "Specifies the S3 Intelligent-Tiering configuration for an Amazon S3 bucket.\n For information about the S3 Intelligent-Tiering storage class, see [Storage class for automatically optimizing frequently and infrequently accessed objects](https://docs.aws.amazon.com/AmazonS3/latest/dev/storage-class-intro.html#sc-dynamic-data-access).\n\n---\n\nRequired: No \nUpdate requires: No interruption" + "markdownDescription": "Specifies lifecycle rules for an Amazon S3 bucket. For more information, see [Put Bucket Lifecycle Configuration](https://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketPUTlifecycle.html) in the *Amazon S3 API Reference*.\n You must specify at least one of the following properties: ``AbortIncompleteMultipartUpload``, ``ExpirationDate``, ``ExpirationInDays``, ``NoncurrentVersionExpirationInDays``, ``NoncurrentVersionTransition``, ``NoncurrentVersionTransitions``, ``Transition``, or ``Transitions``.\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, - "PublicAccessBlockConfiguration": { - "description": "The PublicAccessBlock configuration that you want to apply to this Amazon S3 bucket. You can enable the configuration options in any combination. For more information about when Amazon S3 considers a bucket or object public, see [The Meaning of \"Public\"](https://docs.aws.amazon.com/AmazonS3/latest/dev/access-control-block-public-access.html#access-control-block-public-access-policy-status) in the *Amazon S3 User Guide*.", + "AbortIncompleteMultipartUpload": { + "description": "Specifies the days since the initiation of an incomplete multipart upload that Amazon S3 will wait before permanently removing all parts of the upload. For more information, see [Stopping Incomplete Multipart Uploads Using a Bucket Lifecycle Policy](https://docs.aws.amazon.com/AmazonS3/latest/dev/mpuoverview.html#mpu-abort-incomplete-mpu-lifecycle-config) in the *Amazon S3 User Guide*.", + "type": "object", "additionalProperties": false, + "properties": { + "DaysAfterInitiation": { + "description": "Specifies the number of days after which Amazon S3 stops an incomplete multipart upload.", + "type": "integer", + "minimum": 0, + "markdownDescription": "Specifies the number of days after which Amazon S3 stops an incomplete multipart upload.\n\n---\n\nRequired: Yes \nType: Integer \nUpdate requires: No interruption" + } + }, + "required": [ + "DaysAfterInitiation" + ], + "markdownDescription": "Specifies the days since the initiation of an incomplete multipart upload that Amazon S3 will wait before permanently removing all parts of the upload. For more information, see [Stopping Incomplete Multipart Uploads Using a Bucket Lifecycle Policy](https://docs.aws.amazon.com/AmazonS3/latest/dev/mpuoverview.html#mpu-abort-incomplete-mpu-lifecycle-config) in the *Amazon S3 User Guide*.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "iso8601UTC": { + "description": "The date value in ISO 8601 format. The timezone is always UTC. (YYYY-MM-DDThh:mm:ssZ)", + "type": "string", + "markdownDescription": "The date value in ISO 8601 format. The timezone is always UTC. (YYYY-MM-DDThh:mm:ssZ)\n\n---\n\nRequired: No \nType: String \nPattern: ^([0-2]\\d{3})-(0[0-9]|1[0-2])-([0-2]\\d|3[01])T([01]\\d|2[0-4]):([0-5]\\d):([0-6]\\d)((\\.\\d{3})?)Z$ \nUpdate requires: No interruption" + }, + "NoncurrentVersionExpiration": { "type": "object", + "description": "Specifies when noncurrent object versions expire. Upon expiration, S3 permanently deletes the noncurrent object versions. You set this lifecycle configuration action on a bucket that has versioning enabled (or suspended) to request that S3 delete noncurrent object versions at a specific period in the object's lifetime. For more information about setting a lifecycle rule configuration, see [AWS::S3::Bucket Rule](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-lifecycleconfig-rule.html).", + "additionalProperties": false, "properties": { - "RestrictPublicBuckets": { - "description": "Specifies whether Amazon S3 should restrict public bucket policies for this bucket. Setting this element to ``TRUE`` restricts access to this bucket to only AWS-service principals and authorized users within this account if the bucket has a public policy.\n Enabling this setting doesn't affect previously stored bucket policies, except that public and cross-account access within any public bucket policy, including non-public delegation to specific accounts, is blocked.", - "type": "boolean", - "markdownDescription": "Specifies whether Amazon S3 should restrict public bucket policies for this bucket. Setting this element to ``TRUE`` restricts access to this bucket to only AWS-service principals and authorized users within this account if the bucket has a public policy.\n Enabling this setting doesn't affect previously stored bucket policies, except that public and cross-account access within any public bucket policy, including non-public delegation to specific accounts, is blocked.\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" - }, - "BlockPublicPolicy": { - "description": "Specifies whether Amazon S3 should block public bucket policies for this bucket. Setting this element to ``TRUE`` causes Amazon S3 to reject calls to PUT Bucket policy if the specified bucket policy allows public access. \n Enabling this setting doesn't affect existing bucket policies.", - "type": "boolean", - "markdownDescription": "Specifies whether Amazon S3 should block public bucket policies for this bucket. Setting this element to ``TRUE`` causes Amazon S3 to reject calls to PUT Bucket policy if the specified bucket policy allows public access. \n Enabling this setting doesn't affect existing bucket policies.\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" - }, - "BlockPublicAcls": { - "description": "Specifies whether Amazon S3 should block public access control lists (ACLs) for this bucket and objects in this bucket. Setting this element to ``TRUE`` causes the following behavior:\n + PUT Bucket ACL and PUT Object ACL calls fail if the specified ACL is public.\n + PUT Object calls fail if the request includes a public ACL.\n + PUT Bucket calls fail if the request includes a public ACL.\n \n Enabling this setting doesn't affect existing policies or ACLs.", - "type": "boolean", - "markdownDescription": "Specifies whether Amazon S3 should block public access control lists (ACLs) for this bucket and objects in this bucket. Setting this element to ``TRUE`` causes the following behavior:\n + PUT Bucket ACL and PUT Object ACL calls fail if the specified ACL is public.\n + PUT Object calls fail if the request includes a public ACL.\n + PUT Bucket calls fail if the request includes a public ACL.\n \n Enabling this setting doesn't affect existing policies or ACLs.\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" + "NoncurrentDays": { + "description": "Specifies the number of days an object is noncurrent before S3 can perform the associated action. For information about the noncurrent days calculations, see [How Amazon S3 Calculates When an Object Became Noncurrent](https://docs.aws.amazon.com/AmazonS3/latest/dev/intro-lifecycle-rules.html#non-current-days-calculations) in the *Amazon S3 User Guide*.", + "type": "integer", + "markdownDescription": "Specifies the number of days an object is noncurrent before S3 can perform the associated action. For information about the noncurrent days calculations, see [How Amazon S3 Calculates When an Object Became Noncurrent](https://docs.aws.amazon.com/AmazonS3/latest/dev/intro-lifecycle-rules.html#non-current-days-calculations) in the *Amazon S3 User Guide*.\n\n---\n\nRequired: Yes \nType: Integer \nUpdate requires: No interruption" }, - "IgnorePublicAcls": { - "description": "Specifies whether Amazon S3 should ignore public ACLs for this bucket and objects in this bucket. Setting this element to ``TRUE`` causes Amazon S3 to ignore all public ACLs on this bucket and objects in this bucket.\n Enabling this setting doesn't affect the persistence of any existing ACLs and doesn't prevent new public ACLs from being set.", - "type": "boolean", - "markdownDescription": "Specifies whether Amazon S3 should ignore public ACLs for this bucket and objects in this bucket. Setting this element to ``TRUE`` causes Amazon S3 to ignore all public ACLs on this bucket and objects in this bucket.\n Enabling this setting doesn't affect the persistence of any existing ACLs and doesn't prevent new public ACLs from being set.\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" + "NewerNoncurrentVersions": { + "description": "Specifies how many noncurrent versions S3 will retain. If there are this many more recent noncurrent versions, S3 will take the associated action. For more information about noncurrent versions, see [Lifecycle configuration elements](https://docs.aws.amazon.com/AmazonS3/latest/userguide/intro-lifecycle-rules.html) in the *Amazon S3 User Guide*.", + "type": "integer", + "markdownDescription": "Specifies how many noncurrent versions S3 will retain. If there are this many more recent noncurrent versions, S3 will take the associated action. For more information about noncurrent versions, see [Lifecycle configuration elements](https://docs.aws.amazon.com/AmazonS3/latest/userguide/intro-lifecycle-rules.html) in the *Amazon S3 User Guide*.\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" } }, - "markdownDescription": "The PublicAccessBlock configuration that you want to apply to this Amazon S3 bucket. You can enable the configuration options in any combination. For more information about when Amazon S3 considers a bucket or object public, see [The Meaning of \"Public\"](https://docs.aws.amazon.com/AmazonS3/latest/dev/access-control-block-public-access.html#access-control-block-public-access-policy-status) in the *Amazon S3 User Guide*.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + "required": [ + "NoncurrentDays" + ], + "markdownDescription": "Specifies when noncurrent object versions expire. Upon expiration, S3 permanently deletes the noncurrent object versions. You set this lifecycle configuration action on a bucket that has versioning enabled (or suspended) to request that S3 delete noncurrent object versions at a specific period in the object's lifetime. For more information about setting a lifecycle rule configuration, see [AWS::S3::Bucket Rule](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-lifecycleconfig-rule.html).\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, "NoncurrentVersionTransition": { + "type": "object", "description": "Container for the transition rule that describes when noncurrent objects transition to the ``STANDARD_IA``, ``ONEZONE_IA``, ``INTELLIGENT_TIERING``, ``GLACIER_IR``, ``GLACIER``, or ``DEEP_ARCHIVE`` storage class. If your bucket is versioning-enabled (or versioning is suspended), you can set this action to request that Amazon S3 transition noncurrent object versions to the ``STANDARD_IA``, ``ONEZONE_IA``, ``INTELLIGENT_TIERING``, ``GLACIER_IR``, ``GLACIER``, or ``DEEP_ARCHIVE`` storage class at a specific period in the object's lifetime. If you specify this property, don't specify the ``NoncurrentVersionTransitions`` property.", "additionalProperties": false, - "type": "object", "properties": { "StorageClass": { "description": "The class of storage used to store the object.", @@ -1145,142 +834,227 @@ ], "markdownDescription": "Container for the transition rule that describes when noncurrent objects transition to the ``STANDARD_IA``, ``ONEZONE_IA``, ``INTELLIGENT_TIERING``, ``GLACIER_IR``, ``GLACIER``, or ``DEEP_ARCHIVE`` storage class. If your bucket is versioning-enabled (or versioning is suspended), you can set this action to request that Amazon S3 transition noncurrent object versions to the ``STANDARD_IA``, ``ONEZONE_IA``, ``INTELLIGENT_TIERING``, ``GLACIER_IR``, ``GLACIER``, or ``DEEP_ARCHIVE`` storage class at a specific period in the object's lifetime. If you specify this property, don't specify the ``NoncurrentVersionTransitions`` property.\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, - "StorageClassAnalysis": { - "description": "Specifies data related to access patterns to be collected and made available to analyze the tradeoffs between different storage classes for an Amazon S3 bucket.", - "additionalProperties": false, + "Transition": { "type": "object", "properties": { - "DataExport": { - "description": "Specifies how data related to the storage class analysis for an Amazon S3 bucket should be exported.", - "$ref": "#/definitions/DataExport", - "markdownDescription": "Specifies how data related to the storage class analysis for an Amazon S3 bucket should be exported.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" + "StorageClass": { + "type": "string", + "enum": [ + "DEEP_ARCHIVE", + "GLACIER", + "Glacier", + "GLACIER_IR", + "INTELLIGENT_TIERING", + "ONEZONE_IA", + "STANDARD_IA" + ], + "description": "The storage class to which you want the object to transition.", + "markdownDescription": "The storage class to which you want the object to transition.\n\n---\n\nRequired: Yes \nType: String \nAllowed Values: DEEP_ARCHIVE | GLACIER | Glacier | GLACIER_IR | INTELLIGENT_TIERING | ONEZONE_IA | STANDARD_IA \nUpdate requires: No interruption" + }, + "TransitionDate": { + "$ref": "#/definitions/iso8601UTC", + "description": "Indicates when objects are transitioned to the specified storage class. The date value must be in ISO 8601 format. The time is always midnight UTC.", + "markdownDescription": "Indicates when objects are transitioned to the specified storage class. The date value must be in ISO 8601 format. The time is always midnight UTC.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" + }, + "TransitionInDays": { + "type": "integer", + "description": "Indicates the number of days after creation when objects are transitioned to the specified storage class. The value must be a positive integer.", + "markdownDescription": "Indicates the number of days after creation when objects are transitioned to the specified storage class. The value must be a positive integer.\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" } }, - "markdownDescription": "Specifies data related to access patterns to be collected and made available to analyze the tradeoffs between different storage classes for an Amazon S3 bucket.\n\n---\n\nRequired: No \nUpdate requires: No interruption" - }, - "ServerSideEncryptionByDefault": { - "description": "Describes the default server-side encryption to apply to new objects in the bucket. If a PUT Object request doesn't specify any server-side encryption, this default encryption will be applied. If you don't specify a customer managed key at configuration, Amazon S3 automatically creates an AWS KMS key in your AWS account the first time that you add an object encrypted with SSE-KMS to a bucket. By default, Amazon S3 uses this KMS key for SSE-KMS. For more information, see [PUT Bucket encryption](https://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketPUTencryption.html) in the *Amazon S3 API Reference*.\n If you're specifying a customer managed KMS key, we recommend using a fully qualified KMS key ARN. If you use a KMS key alias instead, then KMS resolves the key within the requester\u2019s account. This behavior can result in data that's encrypted with a KMS key that belongs to the requester, and not the bucket owner.", "additionalProperties": false, + "description": "Specifies when an object transitions to a specified storage class. For more information about Amazon S3 lifecycle configuration rules, see [Transitioning Objects Using Amazon S3 Lifecycle](https://docs.aws.amazon.com/AmazonS3/latest/dev/lifecycle-transition-general-considerations.html) in the *Amazon S3 User Guide*.", + "required": [ + "StorageClass" + ], + "markdownDescription": "Specifies when an object transitions to a specified storage class. For more information about Amazon S3 lifecycle configuration rules, see [Transitioning Objects Using Amazon S3 Lifecycle](https://docs.aws.amazon.com/AmazonS3/latest/dev/lifecycle-transition-general-considerations.html) in the *Amazon S3 User Guide*.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "LoggingConfiguration": { "type": "object", "properties": { - "SSEAlgorithm": { - "description": "Server-side encryption algorithm to use for the default encryption.", + "DestinationBucketName": { "type": "string", - "enum": [ - "aws:kms", - "AES256", - "aws:kms:dsse" - ], - "markdownDescription": "Server-side encryption algorithm to use for the default encryption.\n\n---\n\nRequired: Yes \nType: String \nAllowed Values: aws:kms | AES256 | aws:kms:dsse \nUpdate requires: No interruption" + "description": "The name of the bucket where Amazon S3 should store server access log files. You can store log files in any bucket that you own. By default, logs are stored in the bucket where the ``LoggingConfiguration`` property is defined.", + "markdownDescription": "The name of the bucket where Amazon S3 should store server access log files. You can store log files in any bucket that you own. By default, logs are stored in the bucket where the ``LoggingConfiguration`` property is defined.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, - "KMSMasterKeyID": { - "description": "AWS Key Management Service (KMS) customer AWS KMS key ID to use for the default encryption. This parameter is allowed if and only if ``SSEAlgorithm`` is set to ``aws:kms`` or ``aws:kms:dsse``.\n You can specify the key ID, key alias, or the Amazon Resource Name (ARN) of the KMS key.\n + Key ID: ``1234abcd-12ab-34cd-56ef-1234567890ab`` \n + Key ARN: ``arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab`` \n + Key Alias: ``alias/alias-name`` \n \n If you use a key ID, you can run into a LogDestination undeliverable error when creating a VPC flow log. \n If you are using encryption with cross-account or AWS service operations you must use a fully qualified KMS key ARN. For more information, see [Using encryption for cross-account operations](https://docs.aws.amazon.com/AmazonS3/latest/dev/bucket-encryption.html#bucket-encryption-update-bucket-policy).\n Amazon S3 only supports symmetric encryption KMS keys. For more information, see [Asymmetric keys in KMS](https://docs.aws.amazon.com//kms/latest/developerguide/symmetric-asymmetric.html) in the *Key Management Service Developer Guide*.", + "LogFilePrefix": { "type": "string", - "markdownDescription": "AWS Key Management Service (KMS) customer AWS KMS key ID to use for the default encryption. This parameter is allowed if and only if ``SSEAlgorithm`` is set to ``aws:kms`` or ``aws:kms:dsse``.\n You can specify the key ID, key alias, or the Amazon Resource Name (ARN) of the KMS key.\n + Key ID: ``1234abcd-12ab-34cd-56ef-1234567890ab`` \n + Key ARN: ``arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab`` \n + Key Alias: ``alias/alias-name`` \n \n If you use a key ID, you can run into a LogDestination undeliverable error when creating a VPC flow log. \n If you are using encryption with cross-account or AWS service operations you must use a fully qualified KMS key ARN. For more information, see [Using encryption for cross-account operations](https://docs.aws.amazon.com/AmazonS3/latest/dev/bucket-encryption.html#bucket-encryption-update-bucket-policy).\n Amazon S3 only supports symmetric encryption KMS keys. For more information, see [Asymmetric keys in KMS](https://docs.aws.amazon.com//kms/latest/developerguide/symmetric-asymmetric.html) in the *Key Management Service Developer Guide*.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "description": "A prefix for all log object keys. If you store log files from multiple Amazon S3 buckets in a single bucket, you can use a prefix to distinguish which log files came from which bucket.", + "markdownDescription": "A prefix for all log object keys. If you store log files from multiple Amazon S3 buckets in a single bucket, you can use a prefix to distinguish which log files came from which bucket.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "TargetObjectKeyFormat": { + "$ref": "#/definitions/TargetObjectKeyFormat", + "description": "Amazon S3 key format for log objects. Only one format, either PartitionedPrefix or SimplePrefix, is allowed.", + "markdownDescription": "Amazon S3 key format for log objects. Only one format, either PartitionedPrefix or SimplePrefix, is allowed.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" } }, - "required": [ - "SSEAlgorithm" + "additionalProperties": false, + "description": "Describes where logs are stored and the prefix that Amazon S3 assigns to all log object keys for a bucket. For examples and more information, see [PUT Bucket logging](https://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketPUTlogging.html) in the *Amazon S3 API Reference*.\n To successfully complete the ``AWS::S3::Bucket LoggingConfiguration`` request, you must have ``s3:PutObject`` and ``s3:PutObjectAcl`` in your IAM permissions.", + "markdownDescription": "Describes where logs are stored and the prefix that Amazon S3 assigns to all log object keys for a bucket. For examples and more information, see [PUT Bucket logging](https://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketPUTlogging.html) in the *Amazon S3 API Reference*.\n To successfully complete the ``AWS::S3::Bucket LoggingConfiguration`` request, you must have ``s3:PutObject`` and ``s3:PutObjectAcl`` in your IAM permissions.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "TargetObjectKeyFormat": { + "type": "object", + "description": "Describes the key format for server access log file in the target bucket. You can choose between SimplePrefix and PartitionedPrefix.", + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "SimplePrefix": { + "description": "This format defaults the prefix to the given log file prefix for delivering server access log file.", + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "SimplePrefix" + ] + }, + { + "additionalProperties": false, + "properties": { + "PartitionedPrefix": { + "$ref": "#/definitions/PartitionedPrefix" + } + }, + "required": [ + "PartitionedPrefix" + ] + } ], - "markdownDescription": "Describes the default server-side encryption to apply to new objects in the bucket. If a PUT Object request doesn't specify any server-side encryption, this default encryption will be applied. If you don't specify a customer managed key at configuration, Amazon S3 automatically creates an AWS KMS key in your AWS account the first time that you add an object encrypted with SSE-KMS to a bucket. By default, Amazon S3 uses this KMS key for SSE-KMS. For more information, see [PUT Bucket encryption](https://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketPUTencryption.html) in the *Amazon S3 API Reference*.\n If you're specifying a customer managed KMS key, we recommend using a fully qualified KMS key ARN. If you use a KMS key alias instead, then KMS resolves the key within the requester\u2019s account. This behavior can result in data that's encrypted with a KMS key that belongs to the requester, and not the bucket owner.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + "markdownDescription": "Describes the key format for server access log file in the target bucket. You can choose between SimplePrefix and PartitionedPrefix.\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, - "MetricsConfiguration": { - "description": "Specifies a metrics configuration for the CloudWatch request metrics (specified by the metrics configuration ID) from an Amazon S3 bucket. If you're updating an existing metrics configuration, note that this is a full replacement of the existing metrics configuration. If you don't include the elements you want to keep, they are erased. For examples, see [AWS::S3::Bucket](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket.html#aws-properties-s3-bucket--examples). For more information, see [PUT Bucket metrics](https://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketPUTMetricConfiguration.html) in the *Amazon S3 API Reference*.", + "PartitionedPrefix": { + "type": "object", + "description": "Amazon S3 keys for log objects are partitioned in the following format:\n ``[DestinationPrefix][SourceAccountId]/[SourceRegion]/[SourceBucket]/[YYYY]/[MM]/[DD]/[YYYY]-[MM]-[DD]-[hh]-[mm]-[ss]-[UniqueString]`` \n PartitionedPrefix defaults to EventTime delivery when server access logs are delivered.", + "properties": { + "PartitionDateSource": { + "type": "string", + "description": "Specifies the partition date source for the partitioned prefix. ``PartitionDateSource`` can be ``EventTime`` or ``DeliveryTime``.\n For ``DeliveryTime``, the time in the log file names corresponds to the delivery time for the log files. \n For ``EventTime``, The logs delivered are for a specific day only. The year, month, and day correspond to the day on which the event occurred, and the hour, minutes and seconds are set to 00 in the key.", + "enum": [ + "EventTime", + "DeliveryTime" + ], + "markdownDescription": "Specifies the partition date source for the partitioned prefix. ``PartitionDateSource`` can be ``EventTime`` or ``DeliveryTime``.\n For ``DeliveryTime``, the time in the log file names corresponds to the delivery time for the log files. \n For ``EventTime``, The logs delivered are for a specific day only. The year, month, and day correspond to the day on which the event occurred, and the hour, minutes and seconds are set to 00 in the key.\n\n---\n\nRequired: No \nType: String \nAllowed Values: EventTime | DeliveryTime \nUpdate requires: No interruption" + } + }, "additionalProperties": false, + "markdownDescription": "Amazon S3 keys for log objects are partitioned in the following format:\n ``[DestinationPrefix][SourceAccountId]/[SourceRegion]/[SourceBucket]/[YYYY]/[MM]/[DD]/[YYYY]-[MM]-[DD]-[hh]-[mm]-[ss]-[UniqueString]`` \n PartitionedPrefix defaults to EventTime delivery when server access logs are delivered.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "MetricsConfiguration": { "type": "object", + "additionalProperties": false, "properties": { "AccessPointArn": { - "description": "The access point that was used while performing operations on the object. The metrics configuration only includes objects that meet the filter's criteria.", "type": "string", + "description": "The access point that was used while performing operations on the object. The metrics configuration only includes objects that meet the filter's criteria.", "markdownDescription": "The access point that was used while performing operations on the object. The metrics configuration only includes objects that meet the filter's criteria.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, - "TagFilters": { - "uniqueItems": true, - "description": "Specifies a list of tag filters to use as a metrics configuration filter. The metrics configuration includes only objects that meet the filter's criteria.", - "insertionOrder": true, - "type": "array", - "items": { - "$ref": "#/definitions/TagFilter" - }, - "markdownDescription": "Specifies a list of tag filters to use as a metrics configuration filter. The metrics configuration includes only objects that meet the filter's criteria.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" - }, "Id": { - "description": "The ID used to identify the metrics configuration. This can be any value you choose that helps you identify your metrics configuration.", "type": "string", + "description": "The ID used to identify the metrics configuration. This can be any value you choose that helps you identify your metrics configuration.", "markdownDescription": "The ID used to identify the metrics configuration. This can be any value you choose that helps you identify your metrics configuration.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" }, "Prefix": { - "description": "The prefix that an object must have to be included in the metrics results.", "type": "string", + "description": "The prefix that an object must have to be included in the metrics results.", "markdownDescription": "The prefix that an object must have to be included in the metrics results.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "TagFilters": { + "type": "array", + "uniqueItems": true, + "insertionOrder": true, + "items": { + "$ref": "#/definitions/TagFilter" + }, + "description": "Specifies a list of tag filters to use as a metrics configuration filter. The metrics configuration includes only objects that meet the filter's criteria.", + "markdownDescription": "Specifies a list of tag filters to use as a metrics configuration filter. The metrics configuration includes only objects that meet the filter's criteria.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" } }, "required": [ "Id" ], + "description": "Specifies a metrics configuration for the CloudWatch request metrics (specified by the metrics configuration ID) from an Amazon S3 bucket. If you're updating an existing metrics configuration, note that this is a full replacement of the existing metrics configuration. If you don't include the elements you want to keep, they are erased. For examples, see [AWS::S3::Bucket](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket.html#aws-properties-s3-bucket--examples). For more information, see [PUT Bucket metrics](https://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketPUTMetricConfiguration.html) in the *Amazon S3 API Reference*.", "markdownDescription": "Specifies a metrics configuration for the CloudWatch request metrics (specified by the metrics configuration ID) from an Amazon S3 bucket. If you're updating an existing metrics configuration, note that this is a full replacement of the existing metrics configuration. If you don't include the elements you want to keep, they are erased. For examples, see [AWS::S3::Bucket](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket.html#aws-properties-s3-bucket--examples). For more information, see [PUT Bucket metrics](https://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketPUTMetricConfiguration.html) in the *Amazon S3 API Reference*.\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, - "ObjectLockConfiguration": { - "description": "Places an Object Lock configuration on the specified bucket. The rule specified in the Object Lock configuration will be applied by default to every new object placed in the specified bucket. For more information, see [Locking Objects](https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lock.html).", - "additionalProperties": false, + "NotificationConfiguration": { + "description": "Describes the notification configuration for an Amazon S3 bucket.\n If you create the target resource and related permissions in the same template, you might have a circular dependency.\n For example, you might use the ``AWS::Lambda::Permission`` resource to grant the bucket permission to invoke an AWS Lambda function. However, AWS CloudFormation can't create the bucket until the bucket has permission to invoke the function (AWS CloudFormation checks whether the bucket can invoke the function). If you're using Refs to pass the bucket name, this leads to a circular dependency.\n To avoid this dependency, you can create all resources without specifying the notification configuration. Then, update the stack with a notification configuration.\n For more information on permissions, see [AWS::Lambda::Permission](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-permission.html) and [Granting Permissions to Publish Event Notification Messages to a Destination](https://docs.aws.amazon.com/AmazonS3/latest/dev/NotificationHowTo.html#grant-destinations-permissions-to-s3).", "type": "object", + "additionalProperties": false, "properties": { - "ObjectLockEnabled": { - "const": "Enabled", - "description": "Indicates whether this bucket has an Object Lock configuration enabled. Enable ``ObjectLockEnabled`` when you apply ``ObjectLockConfiguration`` to a bucket.", - "type": "string", - "markdownDescription": "Indicates whether this bucket has an Object Lock configuration enabled. Enable ``ObjectLockEnabled`` when you apply ``ObjectLockConfiguration`` to a bucket.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "EventBridgeConfiguration": { + "$ref": "#/definitions/EventBridgeConfiguration", + "description": "Enables delivery of events to Amazon EventBridge.", + "markdownDescription": "Enables delivery of events to Amazon EventBridge.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" + }, + "LambdaConfigurations": { + "type": "array", + "uniqueItems": true, + "insertionOrder": true, + "items": { + "$ref": "#/definitions/LambdaConfiguration" + }, + "description": "Describes the LAMlong functions to invoke and the events for which to invoke them.", + "markdownDescription": "Describes the LAMlong functions to invoke and the events for which to invoke them.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" }, - "Rule": { - "description": "Specifies the Object Lock rule for the specified object. Enable this rule when you apply ``ObjectLockConfiguration`` to a bucket. If Object Lock is turned on, bucket settings require both ``Mode`` and a period of either ``Days`` or ``Years``. You cannot specify ``Days`` and ``Years`` at the same time. For more information, see [ObjectLockRule](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-objectlockrule.html) and [DefaultRetention](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-defaultretention.html).", - "$ref": "#/definitions/ObjectLockRule", - "markdownDescription": "Specifies the Object Lock rule for the specified object. Enable this rule when you apply ``ObjectLockConfiguration`` to a bucket. If Object Lock is turned on, bucket settings require both ``Mode`` and a period of either ``Days`` or ``Years``. You cannot specify ``Days`` and ``Years`` at the same time. For more information, see [ObjectLockRule](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-objectlockrule.html) and [DefaultRetention](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-defaultretention.html).\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" + "QueueConfigurations": { + "type": "array", + "uniqueItems": true, + "insertionOrder": true, + "items": { + "$ref": "#/definitions/QueueConfiguration" + }, + "description": "The Amazon Simple Queue Service queues to publish messages to and the events for which to publish messages.", + "markdownDescription": "The Amazon Simple Queue Service queues to publish messages to and the events for which to publish messages.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + }, + "TopicConfigurations": { + "type": "array", + "uniqueItems": true, + "insertionOrder": true, + "items": { + "$ref": "#/definitions/TopicConfiguration" + }, + "description": "The topic to which notifications are sent and the events for which notifications are generated.", + "markdownDescription": "The topic to which notifications are sent and the events for which notifications are generated.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" } }, - "markdownDescription": "Places an Object Lock configuration on the specified bucket. The rule specified in the Object Lock configuration will be applied by default to every new object placed in the specified bucket. For more information, see [Locking Objects](https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lock.html).\n\n---\n\nRequired: No \nUpdate requires: No interruption" + "markdownDescription": "Describes the notification configuration for an Amazon S3 bucket.\n If you create the target resource and related permissions in the same template, you might have a circular dependency.\n For example, you might use the ``AWS::Lambda::Permission`` resource to grant the bucket permission to invoke an AWS Lambda function. However, AWS CloudFormation can't create the bucket until the bucket has permission to invoke the function (AWS CloudFormation checks whether the bucket can invoke the function). If you're using Refs to pass the bucket name, this leads to a circular dependency.\n To avoid this dependency, you can create all resources without specifying the notification configuration. Then, update the stack with a notification configuration.\n For more information on permissions, see [AWS::Lambda::Permission](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-permission.html) and [Granting Permissions to Publish Event Notification Messages to a Destination](https://docs.aws.amazon.com/AmazonS3/latest/dev/NotificationHowTo.html#grant-destinations-permissions-to-s3).\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, - "LoggingConfiguration": { - "description": "Describes where logs are stored and the prefix that Amazon S3 assigns to all log object keys for a bucket. For examples and more information, see [PUT Bucket logging](https://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketPUTlogging.html) in the *Amazon S3 API Reference*.\n To successfully complete the ``AWS::S3::Bucket LoggingConfiguration`` request, you must have ``s3:PutObject`` and ``s3:PutObjectAcl`` in your IAM permissions.", - "additionalProperties": false, + "EventBridgeConfiguration": { "type": "object", + "description": "Amazon S3 can send events to Amazon EventBridge whenever certain events happen in your bucket, see [Using EventBridge](https://docs.aws.amazon.com/AmazonS3/latest/userguide/EventBridge.html) in the *Amazon S3 User Guide*.\n Unlike other destinations, delivery of events to EventBridge can be either enabled or disabled for a bucket. If enabled, all events will be sent to EventBridge and you can use EventBridge rules to route events to additional targets. For more information, see [What Is Amazon EventBridge](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-what-is.html) in the *Amazon EventBridge User Guide*", + "additionalProperties": false, "properties": { - "TargetObjectKeyFormat": { - "description": "Amazon S3 key format for log objects. Only one format, either PartitionedPrefix or SimplePrefix, is allowed.", - "$ref": "#/definitions/TargetObjectKeyFormat", - "markdownDescription": "Amazon S3 key format for log objects. Only one format, either PartitionedPrefix or SimplePrefix, is allowed.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" - }, - "LogFilePrefix": { - "description": "A prefix for all log object keys. If you store log files from multiple Amazon S3 buckets in a single bucket, you can use a prefix to distinguish which log files came from which bucket.", - "type": "string", - "markdownDescription": "A prefix for all log object keys. If you store log files from multiple Amazon S3 buckets in a single bucket, you can use a prefix to distinguish which log files came from which bucket.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" - }, - "DestinationBucketName": { - "description": "The name of the bucket where Amazon S3 should store server access log files. You can store log files in any bucket that you own. By default, logs are stored in the bucket where the ``LoggingConfiguration`` property is defined.", - "type": "string", - "markdownDescription": "The name of the bucket where Amazon S3 should store server access log files. You can store log files in any bucket that you own. By default, logs are stored in the bucket where the ``LoggingConfiguration`` property is defined.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "EventBridgeEnabled": { + "description": "Enables delivery of events to Amazon EventBridge.", + "type": "boolean", + "default": "true", + "markdownDescription": "Enables delivery of events to Amazon EventBridge.\n\n---\n\nRequired: Yes \nType: Boolean \nUpdate requires: No interruption" } }, - "markdownDescription": "Describes where logs are stored and the prefix that Amazon S3 assigns to all log object keys for a bucket. For examples and more information, see [PUT Bucket logging](https://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketPUTlogging.html) in the *Amazon S3 API Reference*.\n To successfully complete the ``AWS::S3::Bucket LoggingConfiguration`` request, you must have ``s3:PutObject`` and ``s3:PutObjectAcl`` in your IAM permissions.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + "required": [ + "EventBridgeEnabled" + ], + "markdownDescription": "Amazon S3 can send events to Amazon EventBridge whenever certain events happen in your bucket, see [Using EventBridge](https://docs.aws.amazon.com/AmazonS3/latest/userguide/EventBridge.html) in the *Amazon S3 User Guide*.\n Unlike other destinations, delivery of events to EventBridge can be either enabled or disabled for a bucket. If enabled, all events will be sent to EventBridge and you can use EventBridge rules to route events to additional targets. For more information, see [What Is Amazon EventBridge](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-what-is.html) in the *Amazon EventBridge User Guide*\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, "LambdaConfiguration": { + "type": "object", "description": "Describes the LAMlong functions to invoke and the events for which to invoke them.", "additionalProperties": false, - "type": "object", "properties": { - "Function": { - "description": "The Amazon Resource Name (ARN) of the LAMlong function that Amazon S3 invokes when the specified event type occurs.", + "Event": { + "description": "The Amazon S3 bucket event for which to invoke the LAMlong function. For more information, see [Supported Event Types](https://docs.aws.amazon.com/AmazonS3/latest/dev/NotificationHowTo.html) in the *Amazon S3 User Guide*.", "type": "string", - "markdownDescription": "The Amazon Resource Name (ARN) of the LAMlong function that Amazon S3 invokes when the specified event type occurs.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" + "markdownDescription": "The Amazon S3 bucket event for which to invoke the LAMlong function. For more information, see [Supported Event Types](https://docs.aws.amazon.com/AmazonS3/latest/dev/NotificationHowTo.html) in the *Amazon S3 User Guide*.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" }, "Filter": { "description": "The filtering rules that determine which objects invoke the AWS Lambda function. For example, you can create a filter so that only image files with a ``.jpg`` extension invoke the function when they are added to the Amazon S3 bucket.", "$ref": "#/definitions/NotificationFilter", "markdownDescription": "The filtering rules that determine which objects invoke the AWS Lambda function. For example, you can create a filter so that only image files with a ``.jpg`` extension invoke the function when they are added to the Amazon S3 bucket.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" }, - "Event": { - "description": "The Amazon S3 bucket event for which to invoke the LAMlong function. For more information, see [Supported Event Types](https://docs.aws.amazon.com/AmazonS3/latest/dev/NotificationHowTo.html) in the *Amazon S3 User Guide*.", + "Function": { + "description": "The Amazon Resource Name (ARN) of the LAMlong function that Amazon S3 invokes when the specified event type occurs.", "type": "string", - "markdownDescription": "The Amazon S3 bucket event for which to invoke the LAMlong function. For more information, see [Supported Event Types](https://docs.aws.amazon.com/AmazonS3/latest/dev/NotificationHowTo.html) in the *Amazon S3 User Guide*.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" + "markdownDescription": "The Amazon Resource Name (ARN) of the LAMlong function that Amazon S3 invokes when the specified event type occurs.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" } }, "required": [ @@ -1289,496 +1063,594 @@ ], "markdownDescription": "Describes the LAMlong functions to invoke and the events for which to invoke them.\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, - "DataExport": { - "description": "Specifies how data related to the storage class analysis for an Amazon S3 bucket should be exported.", - "additionalProperties": false, + "QueueConfiguration": { "type": "object", + "description": "Specifies the configuration for publishing messages to an Amazon Simple Queue Service (Amazon SQS) queue when Amazon S3 detects specified events.", + "additionalProperties": false, "properties": { - "Destination": { - "description": "The place to store the data for an analysis.", - "$ref": "#/definitions/Destination", - "markdownDescription": "The place to store the data for an analysis.\n\n---\n\nRequired: Yes \nType: \nUpdate requires: No interruption" + "Event": { + "description": "The Amazon S3 bucket event about which you want to publish messages to Amazon SQS. For more information, see [Supported Event Types](https://docs.aws.amazon.com/AmazonS3/latest/dev/NotificationHowTo.html) in the *Amazon S3 User Guide*.", + "type": "string", + "markdownDescription": "The Amazon S3 bucket event about which you want to publish messages to Amazon SQS. For more information, see [Supported Event Types](https://docs.aws.amazon.com/AmazonS3/latest/dev/NotificationHowTo.html) in the *Amazon S3 User Guide*.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" }, - "OutputSchemaVersion": { - "const": "V_1", - "description": "The version of the output schema to use when exporting data. Must be ``V_1``.", + "Filter": { + "description": "The filtering rules that determine which objects trigger notifications. For example, you can create a filter so that Amazon S3 sends notifications only when image files with a ``.jpg`` extension are added to the bucket. For more information, see [Configuring event notifications using object key name filtering](https://docs.aws.amazon.com/AmazonS3/latest/user-guide/notification-how-to-filtering.html) in the *Amazon S3 User Guide*.", + "$ref": "#/definitions/NotificationFilter", + "markdownDescription": "The filtering rules that determine which objects trigger notifications. For example, you can create a filter so that Amazon S3 sends notifications only when image files with a ``.jpg`` extension are added to the bucket. For more information, see [Configuring event notifications using object key name filtering](https://docs.aws.amazon.com/AmazonS3/latest/user-guide/notification-how-to-filtering.html) in the *Amazon S3 User Guide*.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" + }, + "Queue": { + "description": "The Amazon Resource Name (ARN) of the Amazon SQS queue to which Amazon S3 publishes a message when it detects events of the specified type. FIFO queues are not allowed when enabling an SQS queue as the event notification destination.", "type": "string", - "markdownDescription": "The version of the output schema to use when exporting data. Must be ``V_1``.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" + "markdownDescription": "The Amazon Resource Name (ARN) of the Amazon SQS queue to which Amazon S3 publishes a message when it detects events of the specified type. FIFO queues are not allowed when enabling an SQS queue as the event notification destination.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" } }, "required": [ - "Destination", - "OutputSchemaVersion" + "Event", + "Queue" ], - "markdownDescription": "Specifies how data related to the storage class analysis for an Amazon S3 bucket should be exported.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + "markdownDescription": "Specifies the configuration for publishing messages to an Amazon Simple Queue Service (Amazon SQS) queue when Amazon S3 detects specified events.\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, - "Tiering": { - "description": "The S3 Intelligent-Tiering storage class is designed to optimize storage costs by automatically moving data to the most cost-effective storage access tier, without additional operational overhead.", - "additionalProperties": false, + "TopicConfiguration": { "type": "object", + "description": "A container for specifying the configuration for publication of messages to an Amazon Simple Notification Service (Amazon SNS) topic when Amazon S3 detects specified events.", + "additionalProperties": false, "properties": { - "AccessTier": { - "description": "S3 Intelligent-Tiering access tier. See [Storage class for automatically optimizing frequently and infrequently accessed objects](https://docs.aws.amazon.com/AmazonS3/latest/dev/storage-class-intro.html#sc-dynamic-data-access) for a list of access tiers in the S3 Intelligent-Tiering storage class.", + "Event": { + "description": "The Amazon S3 bucket event about which to send notifications. For more information, see [Supported Event Types](https://docs.aws.amazon.com/AmazonS3/latest/dev/NotificationHowTo.html) in the *Amazon S3 User Guide*.", "type": "string", - "enum": [ - "ARCHIVE_ACCESS", - "DEEP_ARCHIVE_ACCESS" - ], - "markdownDescription": "S3 Intelligent-Tiering access tier. See [Storage class for automatically optimizing frequently and infrequently accessed objects](https://docs.aws.amazon.com/AmazonS3/latest/dev/storage-class-intro.html#sc-dynamic-data-access) for a list of access tiers in the S3 Intelligent-Tiering storage class.\n\n---\n\nRequired: Yes \nType: String \nAllowed Values: ARCHIVE_ACCESS | DEEP_ARCHIVE_ACCESS \nUpdate requires: No interruption" + "markdownDescription": "The Amazon S3 bucket event about which to send notifications. For more information, see [Supported Event Types](https://docs.aws.amazon.com/AmazonS3/latest/dev/NotificationHowTo.html) in the *Amazon S3 User Guide*.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" }, - "Days": { - "description": "The number of consecutive days of no access after which an object will be eligible to be transitioned to the corresponding tier. The minimum number of days specified for Archive Access tier must be at least 90 days and Deep Archive Access tier must be at least 180 days. The maximum can be up to 2 years (730 days).", - "type": "integer", - "markdownDescription": "The number of consecutive days of no access after which an object will be eligible to be transitioned to the corresponding tier. The minimum number of days specified for Archive Access tier must be at least 90 days and Deep Archive Access tier must be at least 180 days. The maximum can be up to 2 years (730 days).\n\n---\n\nRequired: Yes \nType: Integer \nUpdate requires: No interruption" + "Filter": { + "description": "The filtering rules that determine for which objects to send notifications. For example, you can create a filter so that Amazon S3 sends notifications only when image files with a ``.jpg`` extension are added to the bucket.", + "$ref": "#/definitions/NotificationFilter", + "markdownDescription": "The filtering rules that determine for which objects to send notifications. For example, you can create a filter so that Amazon S3 sends notifications only when image files with a ``.jpg`` extension are added to the bucket.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" + }, + "Topic": { + "description": "The Amazon Resource Name (ARN) of the Amazon SNS topic to which Amazon S3 publishes a message when it detects events of the specified type.", + "type": "string", + "markdownDescription": "The Amazon Resource Name (ARN) of the Amazon SNS topic to which Amazon S3 publishes a message when it detects events of the specified type.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" } }, "required": [ - "AccessTier", - "Days" + "Event", + "Topic" ], - "markdownDescription": "The S3 Intelligent-Tiering storage class is designed to optimize storage costs by automatically moving data to the most cost-effective storage access tier, without additional operational overhead.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + "markdownDescription": "A container for specifying the configuration for publication of messages to an Amazon Simple Notification Service (Amazon SNS) topic when Amazon S3 detects specified events.\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, - "ReplicationTime": { - "description": "A container specifying S3 Replication Time Control (S3 RTC) related information, including whether S3 RTC is enabled and the time when all objects and operations on objects must be replicated. Must be specified together with a ``Metrics`` block.", - "additionalProperties": false, + "NotificationFilter": { "type": "object", + "description": "Specifies object key name filtering rules. For information about key name filtering, see [Configuring event notifications using object key name filtering](https://docs.aws.amazon.com/AmazonS3/latest/userguide/notification-how-to-filtering.html) in the *Amazon S3 User Guide*.", + "additionalProperties": false, "properties": { - "Status": { - "description": "Specifies whether the replication time is enabled.", - "type": "string", - "enum": [ - "Disabled", - "Enabled" - ], - "markdownDescription": "Specifies whether the replication time is enabled.\n\n---\n\nRequired: Yes \nType: String \nAllowed Values: Disabled | Enabled \nUpdate requires: No interruption" - }, - "Time": { - "description": "A container specifying the time by which replication should be complete for all objects and operations on objects.", - "$ref": "#/definitions/ReplicationTimeValue", - "markdownDescription": "A container specifying the time by which replication should be complete for all objects and operations on objects.\n\n---\n\nRequired: Yes \nType: \nUpdate requires: No interruption" + "S3Key": { + "$ref": "#/definitions/S3KeyFilter", + "description": "A container for object key name prefix and suffix filtering rules.", + "markdownDescription": "A container for object key name prefix and suffix filtering rules.\n\n---\n\nRequired: Yes \nType: \nUpdate requires: No interruption" } }, "required": [ - "Status", - "Time" + "S3Key" ], - "markdownDescription": "A container specifying S3 Replication Time Control (S3 RTC) related information, including whether S3 RTC is enabled and the time when all objects and operations on objects must be replicated. Must be specified together with a ``Metrics`` block.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + "markdownDescription": "Specifies object key name filtering rules. For information about key name filtering, see [Configuring event notifications using object key name filtering](https://docs.aws.amazon.com/AmazonS3/latest/userguide/notification-how-to-filtering.html) in the *Amazon S3 User Guide*.\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, - "ReplicationRuleFilter": { - "description": "A filter that identifies the subset of objects to which the replication rule applies. A ``Filter`` must specify exactly one ``Prefix``, ``TagFilter``, or an ``And`` child element.", - "additionalProperties": false, + "S3KeyFilter": { "type": "object", + "description": "A container for object key name prefix and suffix filtering rules. For more information about object key name filtering, see [Configuring event notifications using object key name filtering](https://docs.aws.amazon.com/AmazonS3/latest/userguide/notification-how-to-filtering.html) in the *Amazon S3 User Guide*.\n The same type of filter rule cannot be used more than once. For example, you cannot specify two prefix rules.", + "additionalProperties": false, "properties": { - "And": { - "description": "A container for specifying rule filters. The filters determine the subset of objects to which the rule applies. This element is required only if you specify more than one filter. For example: \n + If you specify both a ``Prefix`` and a ``TagFilter``, wrap these filters in an ``And`` tag.\n + If you specify a filter based on multiple tags, wrap the ``TagFilter`` elements in an ``And`` tag.", - "$ref": "#/definitions/ReplicationRuleAndOperator", - "markdownDescription": "A container for specifying rule filters. The filters determine the subset of objects to which the rule applies. This element is required only if you specify more than one filter. For example: \n + If you specify both a ``Prefix`` and a ``TagFilter``, wrap these filters in an ``And`` tag.\n + If you specify a filter based on multiple tags, wrap the ``TagFilter`` elements in an ``And`` tag.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" - }, - "TagFilter": { - "description": "A container for specifying a tag key and value. \n The rule applies only to objects that have the tag in their tag set.", - "$ref": "#/definitions/TagFilter", - "markdownDescription": "A container for specifying a tag key and value. \n The rule applies only to objects that have the tag in their tag set.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" - }, - "Prefix": { - "description": "An object key name prefix that identifies the subset of objects to which the rule applies.\n Replacement must be made for object keys containing special characters (such as carriage returns) when using XML requests. For more information, see [XML related object key constraints](https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-keys.html#object-key-xml-related-constraints).", - "type": "string", - "markdownDescription": "An object key name prefix that identifies the subset of objects to which the rule applies.\n Replacement must be made for object keys containing special characters (such as carriage returns) when using XML requests. For more information, see [XML related object key constraints](https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-keys.html#object-key-xml-related-constraints).\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "Rules": { + "type": "array", + "uniqueItems": true, + "insertionOrder": false, + "items": { + "$ref": "#/definitions/FilterRule" + }, + "description": "A list of containers for the key-value pair that defines the criteria for the filter rule.", + "markdownDescription": "A list of containers for the key-value pair that defines the criteria for the filter rule.\n\n---\n\nRequired: Yes \nType: Array \nUpdate requires: No interruption" } }, - "markdownDescription": "A filter that identifies the subset of objects to which the replication rule applies. A ``Filter`` must specify exactly one ``Prefix``, ``TagFilter``, or an ``And`` child element.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + "required": [ + "Rules" + ], + "markdownDescription": "A container for object key name prefix and suffix filtering rules. For more information about object key name filtering, see [Configuring event notifications using object key name filtering](https://docs.aws.amazon.com/AmazonS3/latest/userguide/notification-how-to-filtering.html) in the *Amazon S3 User Guide*.\n The same type of filter rule cannot be used more than once. For example, you cannot specify two prefix rules.\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, - "RedirectRule": { - "description": "Specifies how requests are redirected. In the event of an error, you can specify a different error code to return.", - "additionalProperties": false, + "FilterRule": { "type": "object", + "description": "Specifies the Amazon S3 object key name to filter on. An object key name is the name assigned to an object in your Amazon S3 bucket. You specify whether to filter on the suffix or prefix of the object key name. A prefix is a specific string of characters at the beginning of an object key name, which you can use to organize objects. For example, you can start the key names of related objects with a prefix, such as ``2023-`` or ``engineering/``. Then, you can use ``FilterRule`` to find objects in a bucket with key names that have the same prefix. A suffix is similar to a prefix, but it is at the end of the object key name instead of at the beginning.", + "additionalProperties": false, "properties": { - "ReplaceKeyWith": { - "description": "The specific object key to use in the redirect request. For example, redirect request to ``error.html``. Not required if one of the siblings is present. Can be present only if ``ReplaceKeyPrefixWith`` is not provided.\n Replacement must be made for object keys containing special characters (such as carriage returns) when using XML requests. For more information, see [XML related object key constraints](https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-keys.html#object-key-xml-related-constraints).", - "type": "string", - "markdownDescription": "The specific object key to use in the redirect request. For example, redirect request to ``error.html``. Not required if one of the siblings is present. Can be present only if ``ReplaceKeyPrefixWith`` is not provided.\n Replacement must be made for object keys containing special characters (such as carriage returns) when using XML requests. For more information, see [XML related object key constraints](https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-keys.html#object-key-xml-related-constraints).\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" - }, - "HttpRedirectCode": { - "description": "The HTTP redirect code to use on the response. Not required if one of the siblings is present.", - "type": "string", - "markdownDescription": "The HTTP redirect code to use on the response. Not required if one of the siblings is present.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" - }, - "Protocol": { - "description": "Protocol to use when redirecting requests. The default is the protocol that is used in the original request.", + "Name": { "type": "string", - "enum": [ - "http", - "https" - ], - "markdownDescription": "Protocol to use when redirecting requests. The default is the protocol that is used in the original request.\n\n---\n\nRequired: No \nType: String \nAllowed Values: http | https \nUpdate requires: No interruption" + "maxLength": 1024, + "description": "The object key name prefix or suffix identifying one or more objects to which the filtering rule applies. The maximum length is 1,024 characters. Overlapping prefixes and suffixes are not supported. For more information, see [Configuring Event Notifications](https://docs.aws.amazon.com/AmazonS3/latest/dev/NotificationHowTo.html) in the *Amazon S3 User Guide*.", + "markdownDescription": "The object key name prefix or suffix identifying one or more objects to which the filtering rule applies. The maximum length is 1,024 characters. Overlapping prefixes and suffixes are not supported. For more information, see [Configuring Event Notifications](https://docs.aws.amazon.com/AmazonS3/latest/dev/NotificationHowTo.html) in the *Amazon S3 User Guide*.\n\n---\n\nRequired: Yes \nType: String \nMaximum Length: 1024 \nUpdate requires: No interruption" }, - "HostName": { - "description": "The host name to use in the redirect request.", + "Value": { "type": "string", - "markdownDescription": "The host name to use in the redirect request.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" - }, - "ReplaceKeyPrefixWith": { - "description": "The object key prefix to use in the redirect request. For example, to redirect requests for all pages with prefix ``docs/`` (objects in the ``docs/`` folder) to ``documents/``, you can set a condition block with ``KeyPrefixEquals`` set to ``docs/`` and in the Redirect set ``ReplaceKeyPrefixWith`` to ``/documents``. Not required if one of the siblings is present. Can be present only if ``ReplaceKeyWith`` is not provided.\n Replacement must be made for object keys containing special characters (such as carriage returns) when using XML requests. For more information, see [XML related object key constraints](https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-keys.html#object-key-xml-related-constraints).", + "description": "The value that the filter searches for in object key names.", + "markdownDescription": "The value that the filter searches for in object key names.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" + } + }, + "required": [ + "Value", + "Name" + ], + "markdownDescription": "Specifies the Amazon S3 object key name to filter on. An object key name is the name assigned to an object in your Amazon S3 bucket. You specify whether to filter on the suffix or prefix of the object key name. A prefix is a specific string of characters at the beginning of an object key name, which you can use to organize objects. For example, you can start the key names of related objects with a prefix, such as ``2023-`` or ``engineering/``. Then, you can use ``FilterRule`` to find objects in a bucket with key names that have the same prefix. A suffix is similar to a prefix, but it is at the end of the object key name instead of at the beginning.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "ObjectLockConfiguration": { + "type": "object", + "additionalProperties": false, + "properties": { + "ObjectLockEnabled": { "type": "string", - "markdownDescription": "The object key prefix to use in the redirect request. For example, to redirect requests for all pages with prefix ``docs/`` (objects in the ``docs/`` folder) to ``documents/``, you can set a condition block with ``KeyPrefixEquals`` set to ``docs/`` and in the Redirect set ``ReplaceKeyPrefixWith`` to ``/documents``. Not required if one of the siblings is present. Can be present only if ``ReplaceKeyWith`` is not provided.\n Replacement must be made for object keys containing special characters (such as carriage returns) when using XML requests. For more information, see [XML related object key constraints](https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-keys.html#object-key-xml-related-constraints).\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "const": "Enabled", + "description": "Indicates whether this bucket has an Object Lock configuration enabled. Enable ``ObjectLockEnabled`` when you apply ``ObjectLockConfiguration`` to a bucket.", + "markdownDescription": "Indicates whether this bucket has an Object Lock configuration enabled. Enable ``ObjectLockEnabled`` when you apply ``ObjectLockConfiguration`` to a bucket.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "Rule": { + "$ref": "#/definitions/ObjectLockRule", + "description": "Specifies the Object Lock rule for the specified object. Enable this rule when you apply ``ObjectLockConfiguration`` to a bucket. If Object Lock is turned on, bucket settings require both ``Mode`` and a period of either ``Days`` or ``Years``. You cannot specify ``Days`` and ``Years`` at the same time. For more information, see [ObjectLockRule](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-objectlockrule.html) and [DefaultRetention](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-defaultretention.html).", + "markdownDescription": "Specifies the Object Lock rule for the specified object. Enable this rule when you apply ``ObjectLockConfiguration`` to a bucket. If Object Lock is turned on, bucket settings require both ``Mode`` and a period of either ``Days`` or ``Years``. You cannot specify ``Days`` and ``Years`` at the same time. For more information, see [ObjectLockRule](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-objectlockrule.html) and [DefaultRetention](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-defaultretention.html).\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" } }, - "markdownDescription": "Specifies how requests are redirected. In the event of an error, you can specify a different error code to return.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + "description": "Places an Object Lock configuration on the specified bucket. The rule specified in the Object Lock configuration will be applied by default to every new object placed in the specified bucket. For more information, see [Locking Objects](https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lock.html).", + "markdownDescription": "Places an Object Lock configuration on the specified bucket. The rule specified in the Object Lock configuration will be applied by default to every new object placed in the specified bucket. For more information, see [Locking Objects](https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lock.html).\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, - "EncryptionConfiguration": { - "description": "Specifies encryption-related information for an Amazon S3 bucket that is a destination for replicated objects.\n If you're specifying a customer managed KMS key, we recommend using a fully qualified KMS key ARN. If you use a KMS key alias instead, then KMS resolves the key within the requester\u2019s account. This behavior can result in data that's encrypted with a KMS key that belongs to the requester, and not the bucket owner.", + "ObjectLockRule": { + "type": "object", + "description": "Specifies the Object Lock rule for the specified object. Enable the this rule when you apply ``ObjectLockConfiguration`` to a bucket.", "additionalProperties": false, + "properties": { + "DefaultRetention": { + "$ref": "#/definitions/DefaultRetention", + "description": "The default Object Lock retention mode and period that you want to apply to new objects placed in the specified bucket. If Object Lock is turned on, bucket settings require both ``Mode`` and a period of either ``Days`` or ``Years``. You cannot specify ``Days`` and ``Years`` at the same time. For more information about allowable values for mode and period, see [DefaultRetention](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-defaultretention.html).", + "markdownDescription": "The default Object Lock retention mode and period that you want to apply to new objects placed in the specified bucket. If Object Lock is turned on, bucket settings require both ``Mode`` and a period of either ``Days`` or ``Years``. You cannot specify ``Days`` and ``Years`` at the same time. For more information about allowable values for mode and period, see [DefaultRetention](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-defaultretention.html).\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" + } + }, + "markdownDescription": "Specifies the Object Lock rule for the specified object. Enable the this rule when you apply ``ObjectLockConfiguration`` to a bucket.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "DefaultRetention": { "type": "object", + "description": "The container element for optionally specifying the default Object Lock retention settings for new objects placed in the specified bucket.\n + The ``DefaultRetention`` settings require both a mode and a period.\n + The ``DefaultRetention`` period can be either ``Days`` or ``Years`` but you must select one. You cannot specify ``Days`` and ``Years`` at the same time.", + "additionalProperties": false, "properties": { - "ReplicaKmsKeyID": { - "description": "Specifies the ID (Key ARN or Alias ARN) of the customer managed AWS KMS key stored in AWS Key Management Service (KMS) for the destination bucket. Amazon S3 uses this key to encrypt replica objects. Amazon S3 only supports symmetric encryption KMS keys. For more information, see [Asymmetric keys in KMS](https://docs.aws.amazon.com//kms/latest/developerguide/symmetric-asymmetric.html) in the *Key Management Service Developer Guide*.", + "Years": { + "type": "integer", + "description": "The number of years that you want to specify for the default retention period. If Object Lock is turned on, you must specify ``Mode`` and specify either ``Days`` or ``Years``.", + "markdownDescription": "The number of years that you want to specify for the default retention period. If Object Lock is turned on, you must specify ``Mode`` and specify either ``Days`` or ``Years``.\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" + }, + "Days": { + "type": "integer", + "description": "The number of days that you want to specify for the default retention period. If Object Lock is turned on, you must specify ``Mode`` and specify either ``Days`` or ``Years``.", + "markdownDescription": "The number of days that you want to specify for the default retention period. If Object Lock is turned on, you must specify ``Mode`` and specify either ``Days`` or ``Years``.\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" + }, + "Mode": { "type": "string", - "markdownDescription": "Specifies the ID (Key ARN or Alias ARN) of the customer managed AWS KMS key stored in AWS Key Management Service (KMS) for the destination bucket. Amazon S3 uses this key to encrypt replica objects. Amazon S3 only supports symmetric encryption KMS keys. For more information, see [Asymmetric keys in KMS](https://docs.aws.amazon.com//kms/latest/developerguide/symmetric-asymmetric.html) in the *Key Management Service Developer Guide*.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" + "enum": [ + "COMPLIANCE", + "GOVERNANCE" + ], + "description": "The default Object Lock retention mode you want to apply to new objects placed in the specified bucket. If Object Lock is turned on, you must specify ``Mode`` and specify either ``Days`` or ``Years``.", + "markdownDescription": "The default Object Lock retention mode you want to apply to new objects placed in the specified bucket. If Object Lock is turned on, you must specify ``Mode`` and specify either ``Days`` or ``Years``.\n\n---\n\nRequired: No \nType: String \nAllowed Values: COMPLIANCE | GOVERNANCE \nUpdate requires: No interruption" } }, - "required": [ - "ReplicaKmsKeyID" - ], - "markdownDescription": "Specifies encryption-related information for an Amazon S3 bucket that is a destination for replicated objects.\n If you're specifying a customer managed KMS key, we recommend using a fully qualified KMS key ARN. If you use a KMS key alias instead, then KMS resolves the key within the requester\u2019s account. This behavior can result in data that's encrypted with a KMS key that belongs to the requester, and not the bucket owner.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + "markdownDescription": "The container element for optionally specifying the default Object Lock retention settings for new objects placed in the specified bucket.\n + The ``DefaultRetention`` settings require both a mode and a period.\n + The ``DefaultRetention`` period can be either ``Days`` or ``Years`` but you must select one. You cannot specify ``Days`` and ``Years`` at the same time.\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, - "BucketEncryption": { - "description": "Specifies default encryption for a bucket using server-side encryption with Amazon S3-managed keys (SSE-S3), AWS KMS-managed keys (SSE-KMS), or dual-layer server-side encryption with KMS-managed keys (DSSE-KMS). For information about the Amazon S3 default encryption feature, see [Amazon S3 Default Encryption for S3 Buckets](https://docs.aws.amazon.com/AmazonS3/latest/dev/bucket-encryption.html) in the *Amazon S3 User Guide*.", - "additionalProperties": false, + "OwnershipControls": { "type": "object", + "additionalProperties": false, "properties": { - "ServerSideEncryptionConfiguration": { + "Rules": { + "type": "array", "uniqueItems": true, - "description": "Specifies the default server-side-encryption configuration.", "insertionOrder": true, - "type": "array", "items": { - "$ref": "#/definitions/ServerSideEncryptionRule" + "$ref": "#/definitions/OwnershipControlsRule" }, - "markdownDescription": "Specifies the default server-side-encryption configuration.\n\n---\n\nRequired: Yes \nType: Array \nUpdate requires: No interruption" + "description": "Specifies the container element for Object Ownership rules.", + "markdownDescription": "Specifies the container element for Object Ownership rules.\n\n---\n\nRequired: Yes \nType: Array \nUpdate requires: No interruption" } }, "required": [ - "ServerSideEncryptionConfiguration" + "Rules" ], - "markdownDescription": "Specifies default encryption for a bucket using server-side encryption with Amazon S3-managed keys (SSE-S3), AWS KMS-managed keys (SSE-KMS), or dual-layer server-side encryption with KMS-managed keys (DSSE-KMS). For information about the Amazon S3 default encryption feature, see [Amazon S3 Default Encryption for S3 Buckets](https://docs.aws.amazon.com/AmazonS3/latest/dev/bucket-encryption.html) in the *Amazon S3 User Guide*.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + "description": "Specifies the container element for Object Ownership rules.\n S3 Object Ownership is an Amazon S3 bucket-level setting that you can use to disable access control lists (ACLs) and take ownership of every object in your bucket, simplifying access management for data stored in Amazon S3. For more information, see [Controlling ownership of objects and disabling ACLs](https://docs.aws.amazon.com/AmazonS3/latest/userguide/about-object-ownership.html) in the *Amazon S3 User Guide*.", + "markdownDescription": "Specifies the container element for Object Ownership rules.\n S3 Object Ownership is an Amazon S3 bucket-level setting that you can use to disable access control lists (ACLs) and take ownership of every object in your bucket, simplifying access management for data stored in Amazon S3. For more information, see [Controlling ownership of objects and disabling ACLs](https://docs.aws.amazon.com/AmazonS3/latest/userguide/about-object-ownership.html) in the *Amazon S3 User Guide*.\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, - "NotificationConfiguration": { - "description": "Describes the notification configuration for an Amazon S3 bucket.\n If you create the target resource and related permissions in the same template, you might have a circular dependency.\n For example, you might use the ``AWS::Lambda::Permission`` resource to grant the bucket permission to invoke an AWS Lambda function. However, AWS CloudFormation can't create the bucket until the bucket has permission to invoke the function (AWS CloudFormation checks whether the bucket can invoke the function). If you're using Refs to pass the bucket name, this leads to a circular dependency.\n To avoid this dependency, you can create all resources without specifying the notification configuration. Then, update the stack with a notification configuration.\n For more information on permissions, see [AWS::Lambda::Permission](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-permission.html) and [Granting Permissions to Publish Event Notification Messages to a Destination](https://docs.aws.amazon.com/AmazonS3/latest/dev/NotificationHowTo.html#grant-destinations-permissions-to-s3).", + "OwnershipControlsRule": { + "type": "object", "additionalProperties": false, + "properties": { + "ObjectOwnership": { + "description": "Specifies an object ownership rule.", + "type": "string", + "enum": [ + "ObjectWriter", + "BucketOwnerPreferred", + "BucketOwnerEnforced" + ], + "markdownDescription": "Specifies an object ownership rule.\n\n---\n\nRequired: No \nType: String \nAllowed Values: ObjectWriter | BucketOwnerPreferred | BucketOwnerEnforced \nUpdate requires: No interruption" + } + }, + "description": "Specifies an Object Ownership rule.\n S3 Object Ownership is an Amazon S3 bucket-level setting that you can use to disable access control lists (ACLs) and take ownership of every object in your bucket, simplifying access management for data stored in Amazon S3. For more information, see [Controlling ownership of objects and disabling ACLs](https://docs.aws.amazon.com/AmazonS3/latest/userguide/about-object-ownership.html) in the *Amazon S3 User Guide*.", + "markdownDescription": "Specifies an Object Ownership rule.\n S3 Object Ownership is an Amazon S3 bucket-level setting that you can use to disable access control lists (ACLs) and take ownership of every object in your bucket, simplifying access management for data stored in Amazon S3. For more information, see [Controlling ownership of objects and disabling ACLs](https://docs.aws.amazon.com/AmazonS3/latest/userguide/about-object-ownership.html) in the *Amazon S3 User Guide*.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "PublicAccessBlockConfiguration": { + "description": "The PublicAccessBlock configuration that you want to apply to this Amazon S3 bucket. You can enable the configuration options in any combination. For more information about when Amazon S3 considers a bucket or object public, see [The Meaning of \"Public\"](https://docs.aws.amazon.com/AmazonS3/latest/dev/access-control-block-public-access.html#access-control-block-public-access-policy-status) in the *Amazon S3 User Guide*.", "type": "object", + "additionalProperties": false, "properties": { - "TopicConfigurations": { - "uniqueItems": true, - "description": "The topic to which notifications are sent and the events for which notifications are generated.", - "insertionOrder": true, - "type": "array", - "items": { - "$ref": "#/definitions/TopicConfiguration" - }, - "markdownDescription": "The topic to which notifications are sent and the events for which notifications are generated.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + "BlockPublicAcls": { + "type": "boolean", + "description": "Specifies whether Amazon S3 should block public access control lists (ACLs) for this bucket and objects in this bucket. Setting this element to ``TRUE`` causes the following behavior:\n + PUT Bucket ACL and PUT Object ACL calls fail if the specified ACL is public.\n + PUT Object calls fail if the request includes a public ACL.\n + PUT Bucket calls fail if the request includes a public ACL.\n \n Enabling this setting doesn't affect existing policies or ACLs.", + "markdownDescription": "Specifies whether Amazon S3 should block public access control lists (ACLs) for this bucket and objects in this bucket. Setting this element to ``TRUE`` causes the following behavior:\n + PUT Bucket ACL and PUT Object ACL calls fail if the specified ACL is public.\n + PUT Object calls fail if the request includes a public ACL.\n + PUT Bucket calls fail if the request includes a public ACL.\n \n Enabling this setting doesn't affect existing policies or ACLs.\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" }, - "QueueConfigurations": { - "uniqueItems": true, - "description": "The Amazon Simple Queue Service queues to publish messages to and the events for which to publish messages.", - "insertionOrder": true, - "type": "array", - "items": { - "$ref": "#/definitions/QueueConfiguration" - }, - "markdownDescription": "The Amazon Simple Queue Service queues to publish messages to and the events for which to publish messages.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + "BlockPublicPolicy": { + "type": "boolean", + "description": "Specifies whether Amazon S3 should block public bucket policies for this bucket. Setting this element to ``TRUE`` causes Amazon S3 to reject calls to PUT Bucket policy if the specified bucket policy allows public access. \n Enabling this setting doesn't affect existing bucket policies.", + "markdownDescription": "Specifies whether Amazon S3 should block public bucket policies for this bucket. Setting this element to ``TRUE`` causes Amazon S3 to reject calls to PUT Bucket policy if the specified bucket policy allows public access. \n Enabling this setting doesn't affect existing bucket policies.\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" }, - "LambdaConfigurations": { - "uniqueItems": true, - "description": "Describes the LAMlong functions to invoke and the events for which to invoke them.", - "insertionOrder": true, - "type": "array", - "items": { - "$ref": "#/definitions/LambdaConfiguration" - }, - "markdownDescription": "Describes the LAMlong functions to invoke and the events for which to invoke them.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + "IgnorePublicAcls": { + "type": "boolean", + "description": "Specifies whether Amazon S3 should ignore public ACLs for this bucket and objects in this bucket. Setting this element to ``TRUE`` causes Amazon S3 to ignore all public ACLs on this bucket and objects in this bucket.\n Enabling this setting doesn't affect the persistence of any existing ACLs and doesn't prevent new public ACLs from being set.", + "markdownDescription": "Specifies whether Amazon S3 should ignore public ACLs for this bucket and objects in this bucket. Setting this element to ``TRUE`` causes Amazon S3 to ignore all public ACLs on this bucket and objects in this bucket.\n Enabling this setting doesn't affect the persistence of any existing ACLs and doesn't prevent new public ACLs from being set.\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" }, - "EventBridgeConfiguration": { - "description": "Enables delivery of events to Amazon EventBridge.", - "$ref": "#/definitions/EventBridgeConfiguration", - "markdownDescription": "Enables delivery of events to Amazon EventBridge.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" + "RestrictPublicBuckets": { + "type": "boolean", + "description": "Specifies whether Amazon S3 should restrict public bucket policies for this bucket. Setting this element to ``TRUE`` restricts access to this bucket to only AWS-service principals and authorized users within this account if the bucket has a public policy.\n Enabling this setting doesn't affect previously stored bucket policies, except that public and cross-account access within any public bucket policy, including non-public delegation to specific accounts, is blocked.", + "markdownDescription": "Specifies whether Amazon S3 should restrict public bucket policies for this bucket. Setting this element to ``TRUE`` restricts access to this bucket to only AWS-service principals and authorized users within this account if the bucket has a public policy.\n Enabling this setting doesn't affect previously stored bucket policies, except that public and cross-account access within any public bucket policy, including non-public delegation to specific accounts, is blocked.\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" } }, - "markdownDescription": "Describes the notification configuration for an Amazon S3 bucket.\n If you create the target resource and related permissions in the same template, you might have a circular dependency.\n For example, you might use the ``AWS::Lambda::Permission`` resource to grant the bucket permission to invoke an AWS Lambda function. However, AWS CloudFormation can't create the bucket until the bucket has permission to invoke the function (AWS CloudFormation checks whether the bucket can invoke the function). If you're using Refs to pass the bucket name, this leads to a circular dependency.\n To avoid this dependency, you can create all resources without specifying the notification configuration. Then, update the stack with a notification configuration.\n For more information on permissions, see [AWS::Lambda::Permission](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-permission.html) and [Granting Permissions to Publish Event Notification Messages to a Destination](https://docs.aws.amazon.com/AmazonS3/latest/dev/NotificationHowTo.html#grant-destinations-permissions-to-s3).\n\n---\n\nRequired: No \nUpdate requires: No interruption" + "markdownDescription": "The PublicAccessBlock configuration that you want to apply to this Amazon S3 bucket. You can enable the configuration options in any combination. For more information about when Amazon S3 considers a bucket or object public, see [The Meaning of \"Public\"](https://docs.aws.amazon.com/AmazonS3/latest/dev/access-control-block-public-access.html#access-control-block-public-access-policy-status) in the *Amazon S3 User Guide*.\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, - "LifecycleConfiguration": { - "description": "Specifies the lifecycle configuration for objects in an Amazon S3 bucket. For more information, see [Object Lifecycle Management](https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lifecycle-mgmt.html) in the *Amazon S3 User Guide*.", - "additionalProperties": false, + "ReplicationConfiguration": { "type": "object", + "description": "A container for replication rules. You can add up to 1,000 rules. The maximum size of a replication configuration is 2 MB. The latest version of the replication configuration XML is V2. For more information about XML V2 replication configurations, see [Replication configuration](https://docs.aws.amazon.com/AmazonS3/latest/userguide/replication-add-config.html) in the *Amazon S3 User Guide*.", + "additionalProperties": false, "properties": { + "Role": { + "description": "The Amazon Resource Name (ARN) of the IAMlong (IAM) role that Amazon S3 assumes when replicating objects. For more information, see [How to Set Up Replication](https://docs.aws.amazon.com/AmazonS3/latest/dev/replication-how-setup.html) in the *Amazon S3 User Guide*.", + "type": "string", + "markdownDescription": "The Amazon Resource Name (ARN) of the IAMlong (IAM) role that Amazon S3 assumes when replicating objects. For more information, see [How to Set Up Replication](https://docs.aws.amazon.com/AmazonS3/latest/dev/replication-how-setup.html) in the *Amazon S3 User Guide*.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" + }, "Rules": { + "description": "A container for one or more replication rules. A replication configuration must have at least one rule and can contain a maximum of 1,000 rules.", + "type": "array", "uniqueItems": true, - "description": "A lifecycle rule for individual objects in an Amazon S3 bucket.", "insertionOrder": true, - "type": "array", "items": { - "$ref": "#/definitions/Rule" + "$ref": "#/definitions/ReplicationRule", + "maxLength": 1000, + "minLength": 1 }, - "markdownDescription": "A lifecycle rule for individual objects in an Amazon S3 bucket.\n\n---\n\nRequired: Yes \nType: Array \nUpdate requires: No interruption" + "markdownDescription": "A container for one or more replication rules. A replication configuration must have at least one rule and can contain a maximum of 1,000 rules.\n\n---\n\nRequired: Yes \nType: Array \nUpdate requires: No interruption" } }, "required": [ + "Role", "Rules" ], - "markdownDescription": "Specifies the lifecycle configuration for objects in an Amazon S3 bucket. For more information, see [Object Lifecycle Management](https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lifecycle-mgmt.html) in the *Amazon S3 User Guide*.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + "markdownDescription": "A container for replication rules. You can add up to 1,000 rules. The maximum size of a replication configuration is 2 MB. The latest version of the replication configuration XML is V2. For more information about XML V2 replication configurations, see [Replication configuration](https://docs.aws.amazon.com/AmazonS3/latest/userguide/replication-add-config.html) in the *Amazon S3 User Guide*.\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, - "InventoryConfiguration": { - "description": "Specifies the inventory configuration for an Amazon S3 bucket. For more information, see [GET Bucket inventory](https://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketGETInventoryConfig.html) in the *Amazon S3 API Reference*.", - "additionalProperties": false, + "ReplicationRule": { "type": "object", + "description": "Specifies which Amazon S3 objects to replicate and where to store the replicas.", + "additionalProperties": false, "properties": { + "DeleteMarkerReplication": { + "$ref": "#/definitions/DeleteMarkerReplication", + "description": "Specifies whether Amazon S3 replicates delete markers. If you specify a ``Filter`` in your replication configuration, you must also include a ``DeleteMarkerReplication`` element. If your ``Filter`` includes a ``Tag`` element, the ``DeleteMarkerReplication`` ``Status`` must be set to Disabled, because Amazon S3 does not support replicating delete markers for tag-based rules. For an example configuration, see [Basic Rule Configuration](https://docs.aws.amazon.com/AmazonS3/latest/dev/replication-add-config.html#replication-config-min-rule-config). \n For more information about delete marker replication, see [Basic Rule Configuration](https://docs.aws.amazon.com/AmazonS3/latest/dev/delete-marker-replication.html). \n If you are using an earlier version of the replication configuration, Amazon S3 handles replication of delete markers differently. For more information, see [Backward Compatibility](https://docs.aws.amazon.com/AmazonS3/latest/dev/replication-add-config.html#replication-backward-compat-considerations).", + "markdownDescription": "Specifies whether Amazon S3 replicates delete markers. If you specify a ``Filter`` in your replication configuration, you must also include a ``DeleteMarkerReplication`` element. If your ``Filter`` includes a ``Tag`` element, the ``DeleteMarkerReplication`` ``Status`` must be set to Disabled, because Amazon S3 does not support replicating delete markers for tag-based rules. For an example configuration, see [Basic Rule Configuration](https://docs.aws.amazon.com/AmazonS3/latest/dev/replication-add-config.html#replication-config-min-rule-config). \n For more information about delete marker replication, see [Basic Rule Configuration](https://docs.aws.amazon.com/AmazonS3/latest/dev/delete-marker-replication.html). \n If you are using an earlier version of the replication configuration, Amazon S3 handles replication of delete markers differently. For more information, see [Backward Compatibility](https://docs.aws.amazon.com/AmazonS3/latest/dev/replication-add-config.html#replication-backward-compat-considerations).\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" + }, "Destination": { - "description": "Contains information about where to publish the inventory results.", - "$ref": "#/definitions/Destination", - "markdownDescription": "Contains information about where to publish the inventory results.\n\n---\n\nRequired: Yes \nType: \nUpdate requires: No interruption" + "$ref": "#/definitions/ReplicationDestination", + "description": "A container for information about the replication destination and its configurations including enabling the S3 Replication Time Control (S3 RTC).", + "markdownDescription": "A container for information about the replication destination and its configurations including enabling the S3 Replication Time Control (S3 RTC).\n\n---\n\nRequired: Yes \nType: \nUpdate requires: No interruption" }, - "OptionalFields": { - "uniqueItems": true, - "description": "Contains the optional fields that are included in the inventory results.", - "insertionOrder": true, - "type": "array", - "items": { - "type": "string", - "enum": [ - "Size", - "LastModifiedDate", - "StorageClass", - "ETag", - "IsMultipartUploaded", - "ReplicationStatus", - "EncryptionStatus", - "ObjectLockRetainUntilDate", - "ObjectLockMode", - "ObjectLockLegalHoldStatus", - "IntelligentTieringAccessTier", - "BucketKeyStatus", - "ChecksumAlgorithm", - "ObjectAccessControlList", - "ObjectOwner" - ], - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: Size | LastModifiedDate | StorageClass | ETag | IsMultipartUploaded | ReplicationStatus | EncryptionStatus | ObjectLockRetainUntilDate | ObjectLockMode | ObjectLockLegalHoldStatus | IntelligentTieringAccessTier | BucketKeyStatus | ChecksumAlgorithm | ObjectAccessControlList | ObjectOwner \nUpdate requires: No interruption" - }, - "markdownDescription": "Contains the optional fields that are included in the inventory results.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + "Filter": { + "$ref": "#/definitions/ReplicationRuleFilter", + "description": "A filter that identifies the subset of objects to which the replication rule applies. A ``Filter`` must specify exactly one ``Prefix``, ``TagFilter``, or an ``And`` child element. The use of the filter field indicates that this is a V2 replication configuration. This field isn't supported in a V1 replication configuration.\n V1 replication configuration only supports filtering by key prefix. To filter using a V1 replication configuration, add the ``Prefix`` directly as a child element of the ``Rule`` element.", + "markdownDescription": "A filter that identifies the subset of objects to which the replication rule applies. A ``Filter`` must specify exactly one ``Prefix``, ``TagFilter``, or an ``And`` child element. The use of the filter field indicates that this is a V2 replication configuration. This field isn't supported in a V1 replication configuration.\n V1 replication configuration only supports filtering by key prefix. To filter using a V1 replication configuration, add the ``Prefix`` directly as a child element of the ``Rule`` element.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" }, - "IncludedObjectVersions": { - "description": "Object versions to include in the inventory list. If set to ``All``, the list includes all the object versions, which adds the version-related fields ``VersionId``, ``IsLatest``, and ``DeleteMarker`` to the list. If set to ``Current``, the list does not contain these version-related fields.", + "Id": { + "description": "A unique identifier for the rule. The maximum value is 255 characters. If you don't specify a value, AWS CloudFormation generates a random ID. When using a V2 replication configuration this property is capitalized as \"ID\".", + "type": "string", + "maxLength": 255, + "markdownDescription": "A unique identifier for the rule. The maximum value is 255 characters. If you don't specify a value, AWS CloudFormation generates a random ID. When using a V2 replication configuration this property is capitalized as \"ID\".\n\n---\n\nRequired: No \nType: String \nMaximum Length: 255 \nUpdate requires: No interruption" + }, + "Prefix": { + "description": "An object key name prefix that identifies the object or objects to which the rule applies. The maximum prefix length is 1,024 characters. To include all objects in a bucket, specify an empty string. To filter using a V1 replication configuration, add the ``Prefix`` directly as a child element of the ``Rule`` element.\n Replacement must be made for object keys containing special characters (such as carriage returns) when using XML requests. For more information, see [XML related object key constraints](https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-keys.html#object-key-xml-related-constraints).", + "type": "string", + "maxLength": 1024, + "markdownDescription": "An object key name prefix that identifies the object or objects to which the rule applies. The maximum prefix length is 1,024 characters. To include all objects in a bucket, specify an empty string. To filter using a V1 replication configuration, add the ``Prefix`` directly as a child element of the ``Rule`` element.\n Replacement must be made for object keys containing special characters (such as carriage returns) when using XML requests. For more information, see [XML related object key constraints](https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-keys.html#object-key-xml-related-constraints).\n\n---\n\nRequired: No \nType: String \nMaximum Length: 1024 \nUpdate requires: No interruption" + }, + "Priority": { + "type": "integer", + "description": "The priority indicates which rule has precedence whenever two or more replication rules conflict. Amazon S3 will attempt to replicate objects according to all replication rules. However, if there are two or more rules with the same destination bucket, then objects will be replicated according to the rule with the highest priority. The higher the number, the higher the priority. \n For more information, see [Replication](https://docs.aws.amazon.com/AmazonS3/latest/dev/replication.html) in the *Amazon S3 User Guide*.", + "markdownDescription": "The priority indicates which rule has precedence whenever two or more replication rules conflict. Amazon S3 will attempt to replicate objects according to all replication rules. However, if there are two or more rules with the same destination bucket, then objects will be replicated according to the rule with the highest priority. The higher the number, the higher the priority. \n For more information, see [Replication](https://docs.aws.amazon.com/AmazonS3/latest/dev/replication.html) in the *Amazon S3 User Guide*.\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" + }, + "SourceSelectionCriteria": { + "$ref": "#/definitions/SourceSelectionCriteria", + "description": "A container that describes additional filters for identifying the source objects that you want to replicate. You can choose to enable or disable the replication of these objects.", + "markdownDescription": "A container that describes additional filters for identifying the source objects that you want to replicate. You can choose to enable or disable the replication of these objects.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" + }, + "Status": { + "description": "Specifies whether the rule is enabled.", + "type": "string", + "enum": [ + "Disabled", + "Enabled" + ], + "markdownDescription": "Specifies whether the rule is enabled.\n\n---\n\nRequired: Yes \nType: String \nAllowed Values: Disabled | Enabled \nUpdate requires: No interruption" + } + }, + "required": [ + "Destination", + "Status" + ], + "markdownDescription": "Specifies which Amazon S3 objects to replicate and where to store the replicas.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "DeleteMarkerReplication": { + "type": "object", + "additionalProperties": false, + "properties": { + "Status": { "type": "string", "enum": [ - "All", - "Current" + "Disabled", + "Enabled" ], - "markdownDescription": "Object versions to include in the inventory list. If set to ``All``, the list includes all the object versions, which adds the version-related fields ``VersionId``, ``IsLatest``, and ``DeleteMarker`` to the list. If set to ``Current``, the list does not contain these version-related fields.\n\n---\n\nRequired: Yes \nType: String \nAllowed Values: All | Current \nUpdate requires: No interruption" - }, - "Enabled": { - "description": "Specifies whether the inventory is enabled or disabled. If set to ``True``, an inventory list is generated. If set to ``False``, no inventory list is generated.", - "type": "boolean", - "markdownDescription": "Specifies whether the inventory is enabled or disabled. If set to ``True``, an inventory list is generated. If set to ``False``, no inventory list is generated.\n\n---\n\nRequired: Yes \nType: Boolean \nUpdate requires: No interruption" + "description": "Indicates whether to replicate delete markers. Disabled by default.", + "markdownDescription": "Indicates whether to replicate delete markers. Disabled by default.\n\n---\n\nRequired: No \nType: String \nAllowed Values: Disabled | Enabled \nUpdate requires: No interruption" + } + }, + "description": "Specifies whether Amazon S3 replicates delete markers. If you specify a ``Filter`` in your replication configuration, you must also include a ``DeleteMarkerReplication`` element. If your ``Filter`` includes a ``Tag`` element, the ``DeleteMarkerReplication`` ``Status`` must be set to Disabled, because Amazon S3 does not support replicating delete markers for tag-based rules. For an example configuration, see [Basic Rule Configuration](https://docs.aws.amazon.com/AmazonS3/latest/dev/replication-add-config.html#replication-config-min-rule-config). \n For more information about delete marker replication, see [Basic Rule Configuration](https://docs.aws.amazon.com/AmazonS3/latest/dev/delete-marker-replication.html). \n If you are using an earlier version of the replication configuration, Amazon S3 handles replication of delete markers differently. For more information, see [Backward Compatibility](https://docs.aws.amazon.com/AmazonS3/latest/dev/replication-add-config.html#replication-backward-compat-considerations).", + "markdownDescription": "Specifies whether Amazon S3 replicates delete markers. If you specify a ``Filter`` in your replication configuration, you must also include a ``DeleteMarkerReplication`` element. If your ``Filter`` includes a ``Tag`` element, the ``DeleteMarkerReplication`` ``Status`` must be set to Disabled, because Amazon S3 does not support replicating delete markers for tag-based rules. For an example configuration, see [Basic Rule Configuration](https://docs.aws.amazon.com/AmazonS3/latest/dev/replication-add-config.html#replication-config-min-rule-config). \n For more information about delete marker replication, see [Basic Rule Configuration](https://docs.aws.amazon.com/AmazonS3/latest/dev/delete-marker-replication.html). \n If you are using an earlier version of the replication configuration, Amazon S3 handles replication of delete markers differently. For more information, see [Backward Compatibility](https://docs.aws.amazon.com/AmazonS3/latest/dev/replication-add-config.html#replication-backward-compat-considerations).\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "ReplicationDestination": { + "type": "object", + "description": "A container for information about the replication destination and its configurations including enabling the S3 Replication Time Control (S3 RTC).", + "additionalProperties": false, + "properties": { + "AccessControlTranslation": { + "$ref": "#/definitions/AccessControlTranslation", + "description": "Specify this only in a cross-account scenario (where source and destination bucket owners are not the same), and you want to change replica ownership to the AWS-account that owns the destination bucket. If this is not specified in the replication configuration, the replicas are owned by same AWS-account that owns the source object.", + "markdownDescription": "Specify this only in a cross-account scenario (where source and destination bucket owners are not the same), and you want to change replica ownership to the AWS-account that owns the destination bucket. If this is not specified in the replication configuration, the replicas are owned by same AWS-account that owns the source object.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" }, - "Id": { - "description": "The ID used to identify the inventory configuration.", + "Account": { "type": "string", - "markdownDescription": "The ID used to identify the inventory configuration.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" + "description": "Destination bucket owner account ID. In a cross-account scenario, if you direct Amazon S3 to change replica ownership to the AWS-account that owns the destination bucket by specifying the ``AccessControlTranslation`` property, this is the account ID of the destination bucket owner. For more information, see [Cross-Region Replication Additional Configuration: Change Replica Owner](https://docs.aws.amazon.com/AmazonS3/latest/dev/crr-change-owner.html) in the *Amazon S3 User Guide*.\n If you specify the ``AccessControlTranslation`` property, the ``Account`` property is required.", + "markdownDescription": "Destination bucket owner account ID. In a cross-account scenario, if you direct Amazon S3 to change replica ownership to the AWS-account that owns the destination bucket by specifying the ``AccessControlTranslation`` property, this is the account ID of the destination bucket owner. For more information, see [Cross-Region Replication Additional Configuration: Change Replica Owner](https://docs.aws.amazon.com/AmazonS3/latest/dev/crr-change-owner.html) in the *Amazon S3 User Guide*.\n If you specify the ``AccessControlTranslation`` property, the ``Account`` property is required.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, - "Prefix": { - "description": "Specifies the inventory filter prefix.", + "Bucket": { "type": "string", - "markdownDescription": "Specifies the inventory filter prefix.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "description": "The Amazon Resource Name (ARN) of the bucket where you want Amazon S3 to store the results.", + "markdownDescription": "The Amazon Resource Name (ARN) of the bucket where you want Amazon S3 to store the results.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" }, - "ScheduleFrequency": { - "description": "Specifies the schedule for generating inventory results.", + "EncryptionConfiguration": { + "$ref": "#/definitions/EncryptionConfiguration", + "description": "Specifies encryption-related information.", + "markdownDescription": "Specifies encryption-related information.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" + }, + "Metrics": { + "$ref": "#/definitions/Metrics", + "description": "A container specifying replication metrics-related settings enabling replication metrics and events.", + "markdownDescription": "A container specifying replication metrics-related settings enabling replication metrics and events.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" + }, + "ReplicationTime": { + "$ref": "#/definitions/ReplicationTime", + "description": "A container specifying S3 Replication Time Control (S3 RTC), including whether S3 RTC is enabled and the time when all objects and operations on objects must be replicated. Must be specified together with a ``Metrics`` block.", + "markdownDescription": "A container specifying S3 Replication Time Control (S3 RTC), including whether S3 RTC is enabled and the time when all objects and operations on objects must be replicated. Must be specified together with a ``Metrics`` block.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" + }, + "StorageClass": { + "description": "The storage class to use when replicating objects, such as S3 Standard or reduced redundancy. By default, Amazon S3 uses the storage class of the source object to create the object replica. \n For valid values, see the ``StorageClass`` element of the [PUT Bucket replication](https://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketPUTreplication.html) action in the *Amazon S3 API Reference*.", "type": "string", "enum": [ - "Daily", - "Weekly" + "DEEP_ARCHIVE", + "GLACIER", + "GLACIER_IR", + "INTELLIGENT_TIERING", + "ONEZONE_IA", + "REDUCED_REDUNDANCY", + "STANDARD", + "STANDARD_IA" ], - "markdownDescription": "Specifies the schedule for generating inventory results.\n\n---\n\nRequired: Yes \nType: String \nAllowed Values: Daily | Weekly \nUpdate requires: No interruption" + "markdownDescription": "The storage class to use when replicating objects, such as S3 Standard or reduced redundancy. By default, Amazon S3 uses the storage class of the source object to create the object replica. \n For valid values, see the ``StorageClass`` element of the [PUT Bucket replication](https://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketPUTreplication.html) action in the *Amazon S3 API Reference*.\n\n---\n\nRequired: No \nType: String \nAllowed Values: DEEP_ARCHIVE | GLACIER | GLACIER_IR | INTELLIGENT_TIERING | ONEZONE_IA | REDUCED_REDUNDANCY | STANDARD | STANDARD_IA \nUpdate requires: No interruption" } }, "required": [ - "Destination", - "Enabled", - "Id", - "IncludedObjectVersions", - "ScheduleFrequency" + "Bucket" ], - "markdownDescription": "Specifies the inventory configuration for an Amazon S3 bucket. For more information, see [GET Bucket inventory](https://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketGETInventoryConfig.html) in the *Amazon S3 API Reference*.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + "markdownDescription": "A container for information about the replication destination and its configurations including enabling the S3 Replication Time Control (S3 RTC).\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, - "ReplicationRuleAndOperator": { - "description": "A container for specifying rule filters. The filters determine the subset of objects to which the rule applies. This element is required only if you specify more than one filter. \n For example:\n + If you specify both a ``Prefix`` and a ``TagFilter``, wrap these filters in an ``And`` tag. \n + If you specify a filter based on multiple tags, wrap the ``TagFilter`` elements in an ``And`` tag", - "additionalProperties": false, + "AccessControlTranslation": { "type": "object", + "description": "Specify this only in a cross-account scenario (where source and destination bucket owners are not the same), and you want to change replica ownership to the AWS-account that owns the destination bucket. If this is not specified in the replication configuration, the replicas are owned by same AWS-account that owns the source object.", + "additionalProperties": false, "properties": { - "TagFilters": { - "uniqueItems": true, - "description": "An array of tags containing key and value pairs.", - "insertionOrder": true, - "type": "array", - "items": { - "$ref": "#/definitions/TagFilter" - }, - "markdownDescription": "An array of tags containing key and value pairs.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" - }, - "Prefix": { - "description": "An object key name prefix that identifies the subset of objects to which the rule applies.", + "Owner": { "type": "string", - "markdownDescription": "An object key name prefix that identifies the subset of objects to which the rule applies.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "const": "Destination", + "description": "Specifies the replica ownership. For default and valid values, see [PUT bucket replication](https://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketPUTreplication.html) in the *Amazon S3 API Reference*.", + "markdownDescription": "Specifies the replica ownership. For default and valid values, see [PUT bucket replication](https://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketPUTreplication.html) in the *Amazon S3 API Reference*.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" } }, - "markdownDescription": "A container for specifying rule filters. The filters determine the subset of objects to which the rule applies. This element is required only if you specify more than one filter. \n For example:\n + If you specify both a ``Prefix`` and a ``TagFilter``, wrap these filters in an ``And`` tag. \n + If you specify a filter based on multiple tags, wrap the ``TagFilter`` elements in an ``And`` tag\n\n---\n\nRequired: No \nUpdate requires: No interruption" + "required": [ + "Owner" + ], + "markdownDescription": "Specify this only in a cross-account scenario (where source and destination bucket owners are not the same), and you want to change replica ownership to the AWS-account that owns the destination bucket. If this is not specified in the replication configuration, the replicas are owned by same AWS-account that owns the source object.\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, - "VersioningConfiguration": { - "description": "Describes the versioning state of an Amazon S3 bucket. For more information, see [PUT Bucket versioning](https://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketPUTVersioningStatus.html) in the *Amazon S3 API Reference*.\n When you enable versioning on a bucket for the first time, it might take a short amount of time for the change to be fully propagated. We recommend that you wait for 15 minutes after enabling versioning before issuing write operations (``PUT`` or ``DELETE``) on objects in the bucket.", + "EncryptionConfiguration": { + "type": "object", + "description": "Specifies encryption-related information for an Amazon S3 bucket that is a destination for replicated objects.\n If you're specifying a customer managed KMS key, we recommend using a fully qualified KMS key ARN. If you use a KMS key alias instead, then KMS resolves the key within the requester\u2019s account. This behavior can result in data that's encrypted with a KMS key that belongs to the requester, and not the bucket owner.", "additionalProperties": false, + "properties": { + "ReplicaKmsKeyID": { + "description": "Specifies the ID (Key ARN or Alias ARN) of the customer managed AWS KMS key stored in AWS Key Management Service (KMS) for the destination bucket. Amazon S3 uses this key to encrypt replica objects. Amazon S3 only supports symmetric encryption KMS keys. For more information, see [Asymmetric keys in KMS](https://docs.aws.amazon.com//kms/latest/developerguide/symmetric-asymmetric.html) in the *Key Management Service Developer Guide*.", + "type": "string", + "markdownDescription": "Specifies the ID (Key ARN or Alias ARN) of the customer managed AWS KMS key stored in AWS Key Management Service (KMS) for the destination bucket. Amazon S3 uses this key to encrypt replica objects. Amazon S3 only supports symmetric encryption KMS keys. For more information, see [Asymmetric keys in KMS](https://docs.aws.amazon.com//kms/latest/developerguide/symmetric-asymmetric.html) in the *Key Management Service Developer Guide*.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" + } + }, + "required": [ + "ReplicaKmsKeyID" + ], + "markdownDescription": "Specifies encryption-related information for an Amazon S3 bucket that is a destination for replicated objects.\n If you're specifying a customer managed KMS key, we recommend using a fully qualified KMS key ARN. If you use a KMS key alias instead, then KMS resolves the key within the requester\u2019s account. This behavior can result in data that's encrypted with a KMS key that belongs to the requester, and not the bucket owner.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "Metrics": { "type": "object", + "additionalProperties": false, "properties": { + "EventThreshold": { + "$ref": "#/definitions/ReplicationTimeValue", + "description": "A container specifying the time threshold for emitting the ``s3:Replication:OperationMissedThreshold`` event.", + "markdownDescription": "A container specifying the time threshold for emitting the ``s3:Replication:OperationMissedThreshold`` event.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" + }, "Status": { - "default": "Suspended", - "description": "The versioning state of the bucket.", "type": "string", "enum": [ - "Enabled", - "Suspended" + "Disabled", + "Enabled" ], - "markdownDescription": "The versioning state of the bucket.\n\n---\n\nRequired: Yes \nType: String \nAllowed Values: Enabled | Suspended \nUpdate requires: No interruption" + "description": "Specifies whether the replication metrics are enabled.", + "markdownDescription": "Specifies whether the replication metrics are enabled.\n\n---\n\nRequired: Yes \nType: String \nAllowed Values: Disabled | Enabled \nUpdate requires: No interruption" } }, "required": [ "Status" ], - "markdownDescription": "Describes the versioning state of an Amazon S3 bucket. For more information, see [PUT Bucket versioning](https://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketPUTVersioningStatus.html) in the *Amazon S3 API Reference*.\n When you enable versioning on a bucket for the first time, it might take a short amount of time for the change to be fully propagated. We recommend that you wait for 15 minutes after enabling versioning before issuing write operations (``PUT`` or ``DELETE``) on objects in the bucket.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + "description": "A container specifying replication metrics-related settings enabling replication metrics and events.", + "markdownDescription": "A container specifying replication metrics-related settings enabling replication metrics and events.\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, - "CorsConfiguration": { - "description": "Describes the cross-origin access configuration for objects in an Amazon S3 bucket. For more information, see [Enabling Cross-Origin Resource Sharing](https://docs.aws.amazon.com/AmazonS3/latest/dev/cors.html) in the *Amazon S3 User Guide*.", - "additionalProperties": false, + "ReplicationTimeValue": { "type": "object", + "additionalProperties": false, "properties": { - "CorsRules": { - "uniqueItems": true, - "description": "A set of origins and methods (cross-origin access that you want to allow). You can add up to 100 rules to the configuration.", - "insertionOrder": true, - "type": "array", - "items": { - "$ref": "#/definitions/CorsRule", - "maxLength": 100 - }, - "markdownDescription": "A set of origins and methods (cross-origin access that you want to allow). You can add up to 100 rules to the configuration.\n\n---\n\nRequired: Yes \nType: Array \nUpdate requires: No interruption" + "Minutes": { + "type": "integer", + "description": "Contains an integer specifying time in minutes. \n Valid value: 15", + "markdownDescription": "Contains an integer specifying time in minutes. \n Valid value: 15\n\n---\n\nRequired: Yes \nType: Integer \nUpdate requires: No interruption" } }, "required": [ - "CorsRules" + "Minutes" ], - "markdownDescription": "Describes the cross-origin access configuration for objects in an Amazon S3 bucket. For more information, see [Enabling Cross-Origin Resource Sharing](https://docs.aws.amazon.com/AmazonS3/latest/dev/cors.html) in the *Amazon S3 User Guide*.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + "description": "A container specifying the time value for S3 Replication Time Control (S3 RTC) and replication metrics ``EventThreshold``.", + "markdownDescription": "A container specifying the time value for S3 Replication Time Control (S3 RTC) and replication metrics ``EventThreshold``.\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, - "ReplicaModifications": { - "description": "A filter that you can specify for selection for modifications on replicas.", - "additionalProperties": false, + "ReplicationTime": { "type": "object", + "additionalProperties": false, "properties": { "Status": { - "description": "Specifies whether Amazon S3 replicates modifications on replicas.\n *Allowed values*: ``Enabled`` | ``Disabled``", "type": "string", "enum": [ - "Enabled", - "Disabled" + "Disabled", + "Enabled" ], - "markdownDescription": "Specifies whether Amazon S3 replicates modifications on replicas.\n *Allowed values*: ``Enabled`` | ``Disabled``\n\n---\n\nRequired: Yes \nType: String \nAllowed Values: Enabled | Disabled \nUpdate requires: No interruption" + "description": "Specifies whether the replication time is enabled.", + "markdownDescription": "Specifies whether the replication time is enabled.\n\n---\n\nRequired: Yes \nType: String \nAllowed Values: Disabled | Enabled \nUpdate requires: No interruption" + }, + "Time": { + "$ref": "#/definitions/ReplicationTimeValue", + "description": "A container specifying the time by which replication should be complete for all objects and operations on objects.", + "markdownDescription": "A container specifying the time by which replication should be complete for all objects and operations on objects.\n\n---\n\nRequired: Yes \nType: \nUpdate requires: No interruption" } }, "required": [ - "Status" + "Status", + "Time" ], - "markdownDescription": "A filter that you can specify for selection for modifications on replicas.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + "description": "A container specifying S3 Replication Time Control (S3 RTC) related information, including whether S3 RTC is enabled and the time when all objects and operations on objects must be replicated. Must be specified together with a ``Metrics`` block.", + "markdownDescription": "A container specifying S3 Replication Time Control (S3 RTC) related information, including whether S3 RTC is enabled and the time when all objects and operations on objects must be replicated. Must be specified together with a ``Metrics`` block.\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, - "NoncurrentVersionExpiration": { - "description": "Specifies when noncurrent object versions expire. Upon expiration, S3 permanently deletes the noncurrent object versions. You set this lifecycle configuration action on a bucket that has versioning enabled (or suspended) to request that S3 delete noncurrent object versions at a specific period in the object's lifetime. For more information about setting a lifecycle rule configuration, see [AWS::S3::Bucket Rule](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-lifecycleconfig-rule.html).", - "additionalProperties": false, + "ReplicationRuleFilter": { "type": "object", + "additionalProperties": false, "properties": { - "NoncurrentDays": { - "description": "Specifies the number of days an object is noncurrent before S3 can perform the associated action. For information about the noncurrent days calculations, see [How Amazon S3 Calculates When an Object Became Noncurrent](https://docs.aws.amazon.com/AmazonS3/latest/dev/intro-lifecycle-rules.html#non-current-days-calculations) in the *Amazon S3 User Guide*.", - "type": "integer", - "markdownDescription": "Specifies the number of days an object is noncurrent before S3 can perform the associated action. For information about the noncurrent days calculations, see [How Amazon S3 Calculates When an Object Became Noncurrent](https://docs.aws.amazon.com/AmazonS3/latest/dev/intro-lifecycle-rules.html#non-current-days-calculations) in the *Amazon S3 User Guide*.\n\n---\n\nRequired: Yes \nType: Integer \nUpdate requires: No interruption" + "And": { + "$ref": "#/definitions/ReplicationRuleAndOperator", + "description": "A container for specifying rule filters. The filters determine the subset of objects to which the rule applies. This element is required only if you specify more than one filter. For example: \n + If you specify both a ``Prefix`` and a ``TagFilter``, wrap these filters in an ``And`` tag.\n + If you specify a filter based on multiple tags, wrap the ``TagFilter`` elements in an ``And`` tag.", + "markdownDescription": "A container for specifying rule filters. The filters determine the subset of objects to which the rule applies. This element is required only if you specify more than one filter. For example: \n + If you specify both a ``Prefix`` and a ``TagFilter``, wrap these filters in an ``And`` tag.\n + If you specify a filter based on multiple tags, wrap the ``TagFilter`` elements in an ``And`` tag.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" }, - "NewerNoncurrentVersions": { - "description": "Specifies how many noncurrent versions S3 will retain. If there are this many more recent noncurrent versions, S3 will take the associated action. For more information about noncurrent versions, see [Lifecycle configuration elements](https://docs.aws.amazon.com/AmazonS3/latest/userguide/intro-lifecycle-rules.html) in the *Amazon S3 User Guide*.", - "type": "integer", - "markdownDescription": "Specifies how many noncurrent versions S3 will retain. If there are this many more recent noncurrent versions, S3 will take the associated action. For more information about noncurrent versions, see [Lifecycle configuration elements](https://docs.aws.amazon.com/AmazonS3/latest/userguide/intro-lifecycle-rules.html) in the *Amazon S3 User Guide*.\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" + "Prefix": { + "type": "string", + "description": "An object key name prefix that identifies the subset of objects to which the rule applies.\n Replacement must be made for object keys containing special characters (such as carriage returns) when using XML requests. For more information, see [XML related object key constraints](https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-keys.html#object-key-xml-related-constraints).", + "markdownDescription": "An object key name prefix that identifies the subset of objects to which the rule applies.\n Replacement must be made for object keys containing special characters (such as carriage returns) when using XML requests. For more information, see [XML related object key constraints](https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-keys.html#object-key-xml-related-constraints).\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "TagFilter": { + "$ref": "#/definitions/TagFilter", + "description": "A container for specifying a tag key and value. \n The rule applies only to objects that have the tag in their tag set.", + "markdownDescription": "A container for specifying a tag key and value. \n The rule applies only to objects that have the tag in their tag set.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" } }, - "required": [ - "NoncurrentDays" - ], - "markdownDescription": "Specifies when noncurrent object versions expire. Upon expiration, S3 permanently deletes the noncurrent object versions. You set this lifecycle configuration action on a bucket that has versioning enabled (or suspended) to request that S3 delete noncurrent object versions at a specific period in the object's lifetime. For more information about setting a lifecycle rule configuration, see [AWS::S3::Bucket Rule](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-lifecycleconfig-rule.html).\n\n---\n\nRequired: No \nUpdate requires: No interruption" + "description": "A filter that identifies the subset of objects to which the replication rule applies. A ``Filter`` must specify exactly one ``Prefix``, ``TagFilter``, or an ``And`` child element.", + "markdownDescription": "A filter that identifies the subset of objects to which the replication rule applies. A ``Filter`` must specify exactly one ``Prefix``, ``TagFilter``, or an ``And`` child element.\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, - "QueueConfiguration": { - "description": "Specifies the configuration for publishing messages to an Amazon Simple Queue Service (Amazon SQS) queue when Amazon S3 detects specified events.", - "additionalProperties": false, + "ReplicationRuleAndOperator": { "type": "object", + "additionalProperties": false, "properties": { - "Filter": { - "description": "The filtering rules that determine which objects trigger notifications. For example, you can create a filter so that Amazon S3 sends notifications only when image files with a ``.jpg`` extension are added to the bucket. For more information, see [Configuring event notifications using object key name filtering](https://docs.aws.amazon.com/AmazonS3/latest/user-guide/notification-how-to-filtering.html) in the *Amazon S3 User Guide*.", - "$ref": "#/definitions/NotificationFilter", - "markdownDescription": "The filtering rules that determine which objects trigger notifications. For example, you can create a filter so that Amazon S3 sends notifications only when image files with a ``.jpg`` extension are added to the bucket. For more information, see [Configuring event notifications using object key name filtering](https://docs.aws.amazon.com/AmazonS3/latest/user-guide/notification-how-to-filtering.html) in the *Amazon S3 User Guide*.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" - }, - "Event": { - "description": "The Amazon S3 bucket event about which you want to publish messages to Amazon SQS. For more information, see [Supported Event Types](https://docs.aws.amazon.com/AmazonS3/latest/dev/NotificationHowTo.html) in the *Amazon S3 User Guide*.", + "Prefix": { "type": "string", - "markdownDescription": "The Amazon S3 bucket event about which you want to publish messages to Amazon SQS. For more information, see [Supported Event Types](https://docs.aws.amazon.com/AmazonS3/latest/dev/NotificationHowTo.html) in the *Amazon S3 User Guide*.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" + "description": "An object key name prefix that identifies the subset of objects to which the rule applies.", + "markdownDescription": "An object key name prefix that identifies the subset of objects to which the rule applies.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "TagFilters": { + "type": "array", + "uniqueItems": true, + "insertionOrder": true, + "items": { + "$ref": "#/definitions/TagFilter" + }, + "description": "An array of tags containing key and value pairs.", + "markdownDescription": "An array of tags containing key and value pairs.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + } + }, + "description": "A container for specifying rule filters. The filters determine the subset of objects to which the rule applies. This element is required only if you specify more than one filter. \n For example:\n + If you specify both a ``Prefix`` and a ``TagFilter``, wrap these filters in an ``And`` tag. \n + If you specify a filter based on multiple tags, wrap the ``TagFilter`` elements in an ``And`` tag", + "markdownDescription": "A container for specifying rule filters. The filters determine the subset of objects to which the rule applies. This element is required only if you specify more than one filter. \n For example:\n + If you specify both a ``Prefix`` and a ``TagFilter``, wrap these filters in an ``And`` tag. \n + If you specify a filter based on multiple tags, wrap the ``TagFilter`` elements in an ``And`` tag\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "SourceSelectionCriteria": { + "description": "A container that describes additional filters for identifying the source objects that you want to replicate. You can choose to enable or disable the replication of these objects.", + "type": "object", + "additionalProperties": false, + "properties": { + "ReplicaModifications": { + "description": "A filter that you can specify for selection for modifications on replicas.", + "$ref": "#/definitions/ReplicaModifications", + "markdownDescription": "A filter that you can specify for selection for modifications on replicas.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" }, - "Queue": { - "description": "The Amazon Resource Name (ARN) of the Amazon SQS queue to which Amazon S3 publishes a message when it detects events of the specified type. FIFO queues are not allowed when enabling an SQS queue as the event notification destination.", - "type": "string", - "markdownDescription": "The Amazon Resource Name (ARN) of the Amazon SQS queue to which Amazon S3 publishes a message when it detects events of the specified type. FIFO queues are not allowed when enabling an SQS queue as the event notification destination.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" + "SseKmsEncryptedObjects": { + "description": "A container for filter information for the selection of Amazon S3 objects encrypted with AWS KMS.", + "$ref": "#/definitions/SseKmsEncryptedObjects", + "markdownDescription": "A container for filter information for the selection of Amazon S3 objects encrypted with AWS KMS.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" } }, - "required": [ - "Event", - "Queue" - ], - "markdownDescription": "Specifies the configuration for publishing messages to an Amazon Simple Queue Service (Amazon SQS) queue when Amazon S3 detects specified events.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + "markdownDescription": "A container that describes additional filters for identifying the source objects that you want to replicate. You can choose to enable or disable the replication of these objects.\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, - "Transition": { - "description": "Specifies when an object transitions to a specified storage class. For more information about Amazon S3 lifecycle configuration rules, see [Transitioning Objects Using Amazon S3 Lifecycle](https://docs.aws.amazon.com/AmazonS3/latest/dev/lifecycle-transition-general-considerations.html) in the *Amazon S3 User Guide*.", - "additionalProperties": false, + "ReplicaModifications": { "type": "object", + "additionalProperties": false, "properties": { - "TransitionDate": { - "description": "Indicates when objects are transitioned to the specified storage class. The date value must be in ISO 8601 format. The time is always midnight UTC.", - "$ref": "#/definitions/iso8601UTC", - "markdownDescription": "Indicates when objects are transitioned to the specified storage class. The date value must be in ISO 8601 format. The time is always midnight UTC.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" - }, - "StorageClass": { - "description": "The storage class to which you want the object to transition.", + "Status": { + "description": "Specifies whether Amazon S3 replicates modifications on replicas.\n *Allowed values*: ``Enabled`` | ``Disabled``", "type": "string", "enum": [ - "DEEP_ARCHIVE", - "GLACIER", - "Glacier", - "GLACIER_IR", - "INTELLIGENT_TIERING", - "ONEZONE_IA", - "STANDARD_IA" + "Enabled", + "Disabled" ], - "markdownDescription": "The storage class to which you want the object to transition.\n\n---\n\nRequired: Yes \nType: String \nAllowed Values: DEEP_ARCHIVE | GLACIER | Glacier | GLACIER_IR | INTELLIGENT_TIERING | ONEZONE_IA | STANDARD_IA \nUpdate requires: No interruption" - }, - "TransitionInDays": { - "description": "Indicates the number of days after creation when objects are transitioned to the specified storage class. The value must be a positive integer.", - "type": "integer", - "markdownDescription": "Indicates the number of days after creation when objects are transitioned to the specified storage class. The value must be a positive integer.\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" + "markdownDescription": "Specifies whether Amazon S3 replicates modifications on replicas.\n *Allowed values*: ``Enabled`` | ``Disabled``\n\n---\n\nRequired: Yes \nType: String \nAllowed Values: Enabled | Disabled \nUpdate requires: No interruption" } }, "required": [ - "StorageClass" + "Status" ], - "markdownDescription": "Specifies when an object transitions to a specified storage class. For more information about Amazon S3 lifecycle configuration rules, see [Transitioning Objects Using Amazon S3 Lifecycle](https://docs.aws.amazon.com/AmazonS3/latest/dev/lifecycle-transition-general-considerations.html) in the *Amazon S3 User Guide*.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + "description": "A filter that you can specify for selection for modifications on replicas.", + "markdownDescription": "A filter that you can specify for selection for modifications on replicas.\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, "SseKmsEncryptedObjects": { + "type": "object", "description": "A container for filter information for the selection of S3 objects encrypted with AWS KMS.", "additionalProperties": false, - "type": "object", "properties": { "Status": { "description": "Specifies whether Amazon S3 replicates objects created with server-side encryption using an AWS KMS key stored in AWS Key Management Service.", @@ -1796,226 +1668,363 @@ "markdownDescription": "A container for filter information for the selection of S3 objects encrypted with AWS KMS.\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, "Tag": { - "description": "A container of a key value name pair.", - "additionalProperties": false, "type": "object", + "additionalProperties": false, "properties": { - "Value": { - "description": "Value of the tag.", - "type": "string", - "maxLength": 256, - "markdownDescription": "Value of the tag.\n\n---\n\nRequired: Yes \nType: String \nMaximum Length: 256 \nUpdate requires: No interruption" - }, "Key": { - "minLength": 1, - "description": "Name of the object key.", "type": "string", + "minLength": 1, "maxLength": 128, + "description": "Name of the object key.", "markdownDescription": "Name of the object key.\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 128 \nUpdate requires: No interruption" + }, + "Value": { + "type": "string", + "maxLength": 256, + "description": "Value of the tag.", + "markdownDescription": "Value of the tag.\n\n---\n\nRequired: Yes \nType: String \nMaximum Length: 256 \nUpdate requires: No interruption" } }, "required": [ "Value", "Key" ], + "description": "A container of a key value name pair.", "markdownDescription": "A container of a key value name pair.\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, - "AbortIncompleteMultipartUpload": { - "description": "Specifies the days since the initiation of an incomplete multipart upload that Amazon S3 will wait before permanently removing all parts of the upload. For more information, see [Stopping Incomplete Multipart Uploads Using a Bucket Lifecycle Policy](https://docs.aws.amazon.com/AmazonS3/latest/dev/mpuoverview.html#mpu-abort-incomplete-mpu-lifecycle-config) in the *Amazon S3 User Guide*.", - "additionalProperties": false, + "VersioningConfiguration": { + "description": "Describes the versioning state of an Amazon S3 bucket. For more information, see [PUT Bucket versioning](https://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketPUTVersioningStatus.html) in the *Amazon S3 API Reference*.\n When you enable versioning on a bucket for the first time, it might take a short amount of time for the change to be fully propagated. We recommend that you wait for 15 minutes after enabling versioning before issuing write operations (``PUT`` or ``DELETE``) on objects in the bucket.", "type": "object", + "additionalProperties": false, "properties": { - "DaysAfterInitiation": { - "description": "Specifies the number of days after which Amazon S3 stops an incomplete multipart upload.", - "type": "integer", - "minimum": 0, - "markdownDescription": "Specifies the number of days after which Amazon S3 stops an incomplete multipart upload.\n\n---\n\nRequired: Yes \nType: Integer \nUpdate requires: No interruption" + "Status": { + "description": "The versioning state of the bucket.", + "type": "string", + "default": "Suspended", + "enum": [ + "Enabled", + "Suspended" + ], + "markdownDescription": "The versioning state of the bucket.\n\n---\n\nRequired: Yes \nType: String \nAllowed Values: Enabled | Suspended \nUpdate requires: No interruption" } }, "required": [ - "DaysAfterInitiation" + "Status" ], - "markdownDescription": "Specifies the days since the initiation of an incomplete multipart upload that Amazon S3 will wait before permanently removing all parts of the upload. For more information, see [Stopping Incomplete Multipart Uploads Using a Bucket Lifecycle Policy](https://docs.aws.amazon.com/AmazonS3/latest/dev/mpuoverview.html#mpu-abort-incomplete-mpu-lifecycle-config) in the *Amazon S3 User Guide*.\n\n---\n\nRequired: No \nUpdate requires: No interruption" - } - }, - "properties": { - "InventoryConfigurations": { - "uniqueItems": true, - "description": "Specifies the inventory configuration for an Amazon S3 bucket. For more information, see [GET Bucket inventory](https://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketGETInventoryConfig.html) in the *Amazon S3 API Reference*.", - "insertionOrder": true, - "type": "array", - "items": { - "$ref": "#/definitions/InventoryConfiguration" - }, - "markdownDescription": "Specifies the inventory configuration for an Amazon S3 bucket. For more information, see [GET Bucket inventory](https://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketGETInventoryConfig.html) in the *Amazon S3 API Reference*.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + "markdownDescription": "Describes the versioning state of an Amazon S3 bucket. For more information, see [PUT Bucket versioning](https://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketPUTVersioningStatus.html) in the *Amazon S3 API Reference*.\n When you enable versioning on a bucket for the first time, it might take a short amount of time for the change to be fully propagated. We recommend that you wait for 15 minutes after enabling versioning before issuing write operations (``PUT`` or ``DELETE``) on objects in the bucket.\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, "WebsiteConfiguration": { - "description": "Information used to configure the bucket as a static website. For more information, see [Hosting Websites on Amazon S3](https://docs.aws.amazon.com/AmazonS3/latest/dev/WebsiteHosting.html).", - "$ref": "#/definitions/WebsiteConfiguration", - "markdownDescription": "Information used to configure the bucket as a static website. For more information, see [Hosting Websites on Amazon S3](https://docs.aws.amazon.com/AmazonS3/latest/dev/WebsiteHosting.html).\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" - }, - "AccessControl": { - "description": "This is a legacy property, and it is not recommended for most use cases. A majority of modern use cases in Amazon S3 no longer require the use of ACLs, and we recommend that you keep ACLs disabled. For more information, see [Controlling object ownership](https://docs.aws.amazon.com//AmazonS3/latest/userguide/about-object-ownership.html) in the *Amazon S3 User Guide*.\n A canned access control list (ACL) that grants predefined permissions to the bucket. For more information about canned ACLs, see [Canned ACL](https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html#canned-acl) in the *Amazon S3 User Guide*.\n S3 buckets are created with ACLs disabled by default. Therefore, unless you explicitly set the [AWS::S3::OwnershipControls](https://docs.aws.amazon.com//AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-ownershipcontrols.html) property to enable ACLs, your resource will fail to deploy with any value other than Private. Use cases requiring ACLs are uncommon.\n The majority of access control configurations can be successfully and more easily achieved with bucket policies. For more information, see [AWS::S3::BucketPolicy](https://docs.aws.amazon.com//AWSCloudFormation/latest/UserGuide/aws-properties-s3-policy.html). For examples of common policy configurations, including S3 Server Access Logs buckets and more, see [Bucket policy examples](https://docs.aws.amazon.com/AmazonS3/latest/userguide/example-bucket-policies.html) in the *Amazon S3 User Guide*.", - "type": "string", - "enum": [ - "AuthenticatedRead", - "AwsExecRead", - "BucketOwnerFullControl", - "BucketOwnerRead", - "LogDeliveryWrite", - "Private", - "PublicRead", - "PublicReadWrite" - ], - "markdownDescription": "This is a legacy property, and it is not recommended for most use cases. A majority of modern use cases in Amazon S3 no longer require the use of ACLs, and we recommend that you keep ACLs disabled. For more information, see [Controlling object ownership](https://docs.aws.amazon.com//AmazonS3/latest/userguide/about-object-ownership.html) in the *Amazon S3 User Guide*.\n A canned access control list (ACL) that grants predefined permissions to the bucket. For more information about canned ACLs, see [Canned ACL](https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html#canned-acl) in the *Amazon S3 User Guide*.\n S3 buckets are created with ACLs disabled by default. Therefore, unless you explicitly set the [AWS::S3::OwnershipControls](https://docs.aws.amazon.com//AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-ownershipcontrols.html) property to enable ACLs, your resource will fail to deploy with any value other than Private. Use cases requiring ACLs are uncommon.\n The majority of access control configurations can be successfully and more easily achieved with bucket policies. For more information, see [AWS::S3::BucketPolicy](https://docs.aws.amazon.com//AWSCloudFormation/latest/UserGuide/aws-properties-s3-policy.html). For examples of common policy configurations, including S3 Server Access Logs buckets and more, see [Bucket policy examples](https://docs.aws.amazon.com/AmazonS3/latest/userguide/example-bucket-policies.html) in the *Amazon S3 User Guide*.\n\n---\n\nRequired: No \nType: String \nAllowed Values: AuthenticatedRead | AwsExecRead | BucketOwnerFullControl | BucketOwnerRead | LogDeliveryWrite | Private | PublicRead | PublicReadWrite \nUpdate requires: No interruption" - }, - "AnalyticsConfigurations": { - "uniqueItems": true, - "description": "Specifies the configuration and any analyses for the analytics filter of an Amazon S3 bucket.", - "insertionOrder": true, - "type": "array", - "items": { - "$ref": "#/definitions/AnalyticsConfiguration" + "type": "object", + "description": "Specifies website configuration parameters for an Amazon S3 bucket.", + "additionalProperties": false, + "properties": { + "ErrorDocument": { + "description": "The name of the error document for the website.", + "type": "string", + "markdownDescription": "The name of the error document for the website.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "IndexDocument": { + "description": "The name of the index document for the website.", + "type": "string", + "markdownDescription": "The name of the index document for the website.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "RoutingRules": { + "type": "array", + "insertionOrder": true, + "items": { + "$ref": "#/definitions/RoutingRule" + }, + "description": "Rules that define when a redirect is applied and the redirect behavior.", + "markdownDescription": "Rules that define when a redirect is applied and the redirect behavior.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + }, + "RedirectAllRequestsTo": { + "$ref": "#/definitions/RedirectAllRequestsTo", + "description": "The redirect behavior for every request to this bucket's website endpoint.\n If you specify this property, you can't specify any other property.", + "markdownDescription": "The redirect behavior for every request to this bucket's website endpoint.\n If you specify this property, you can't specify any other property.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" + } }, - "markdownDescription": "Specifies the configuration and any analyses for the analytics filter of an Amazon S3 bucket.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" - }, - "AccelerateConfiguration": { - "description": "Configures the transfer acceleration state for an Amazon S3 bucket. For more information, see [Amazon S3 Transfer Acceleration](https://docs.aws.amazon.com/AmazonS3/latest/dev/transfer-acceleration.html) in the *Amazon S3 User Guide*.", - "$ref": "#/definitions/AccelerateConfiguration", - "markdownDescription": "Configures the transfer acceleration state for an Amazon S3 bucket. For more information, see [Amazon S3 Transfer Acceleration](https://docs.aws.amazon.com/AmazonS3/latest/dev/transfer-acceleration.html) in the *Amazon S3 User Guide*.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" - }, - "PublicAccessBlockConfiguration": { - "description": "Configuration that defines how Amazon S3 handles public access.", - "$ref": "#/definitions/PublicAccessBlockConfiguration", - "markdownDescription": "Configuration that defines how Amazon S3 handles public access.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" - }, - "BucketName": { - "description": "A name for the bucket. If you don't specify a name, AWS CloudFormation generates a unique ID and uses that ID for the bucket name. The bucket name must contain only lowercase letters, numbers, periods (.), and dashes (-) and must follow [Amazon S3 bucket restrictions and limitations](https://docs.aws.amazon.com/AmazonS3/latest/dev/BucketRestrictions.html). For more information, see [Rules for naming Amazon S3 buckets](https://docs.aws.amazon.com/AmazonS3/latest/dev/BucketRestrictions.html#bucketnamingrules) in the *Amazon S3 User Guide*. \n If you specify a name, you can't perform updates that require replacement of this resource. You can perform updates that require no or some interruption. If you need to replace the resource, specify a new name.", - "type": "string", - "markdownDescription": "A name for the bucket. If you don't specify a name, AWS CloudFormation generates a unique ID and uses that ID for the bucket name. The bucket name must contain only lowercase letters, numbers, periods (.), and dashes (-) and must follow [Amazon S3 bucket restrictions and limitations](https://docs.aws.amazon.com/AmazonS3/latest/dev/BucketRestrictions.html). For more information, see [Rules for naming Amazon S3 buckets](https://docs.aws.amazon.com/AmazonS3/latest/dev/BucketRestrictions.html#bucketnamingrules) in the *Amazon S3 User Guide*. \n If you specify a name, you can't perform updates that require replacement of this resource. You can perform updates that require no or some interruption. If you need to replace the resource, specify a new name.\n\n---\n\nRequired: No \nType: String \nUpdate requires: Replacement" - }, - "OwnershipControls": { - "description": "Configuration that defines how Amazon S3 handles Object Ownership rules.", - "$ref": "#/definitions/OwnershipControls", - "markdownDescription": "Configuration that defines how Amazon S3 handles Object Ownership rules.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" - }, - "ObjectLockConfiguration": { - "description": "This operation is not supported by directory buckets.\n Places an Object Lock configuration on the specified bucket. The rule specified in the Object Lock configuration will be applied by default to every new object placed in the specified bucket. For more information, see [Locking Objects](https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lock.html). \n + The ``DefaultRetention`` settings require both a mode and a period.\n + The ``DefaultRetention`` period can be either ``Days`` or ``Years`` but you must select one. You cannot specify ``Days`` and ``Years`` at the same time.\n + You can enable Object Lock for new or existing buckets. For more information, see [Configuring Object Lock](https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-lock-configure.html).", - "$ref": "#/definitions/ObjectLockConfiguration", - "markdownDescription": "This operation is not supported by directory buckets.\n Places an Object Lock configuration on the specified bucket. The rule specified in the Object Lock configuration will be applied by default to every new object placed in the specified bucket. For more information, see [Locking Objects](https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lock.html). \n + The ``DefaultRetention`` settings require both a mode and a period.\n + The ``DefaultRetention`` period can be either ``Days`` or ``Years`` but you must select one. You cannot specify ``Days`` and ``Years`` at the same time.\n + You can enable Object Lock for new or existing buckets. For more information, see [Configuring Object Lock](https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-lock-configure.html).\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" - }, - "ObjectLockEnabled": { - "description": "Indicates whether this bucket has an Object Lock configuration enabled. Enable ``ObjectLockEnabled`` when you apply ``ObjectLockConfiguration`` to a bucket.", - "type": "boolean", - "markdownDescription": "Indicates whether this bucket has an Object Lock configuration enabled. Enable ``ObjectLockEnabled`` when you apply ``ObjectLockConfiguration`` to a bucket.\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" - }, - "LoggingConfiguration": { - "description": "Settings that define where logs are stored.", - "$ref": "#/definitions/LoggingConfiguration", - "markdownDescription": "Settings that define where logs are stored.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" + "markdownDescription": "Specifies website configuration parameters for an Amazon S3 bucket.\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, - "ReplicationConfiguration": { - "description": "Configuration for replicating objects in an S3 bucket. To enable replication, you must also enable versioning by using the ``VersioningConfiguration`` property.\n Amazon S3 can store replicated objects in a single destination bucket or multiple destination buckets. The destination bucket or buckets must already exist.", - "$ref": "#/definitions/ReplicationConfiguration", - "markdownDescription": "Configuration for replicating objects in an S3 bucket. To enable replication, you must also enable versioning by using the ``VersioningConfiguration`` property.\n Amazon S3 can store replicated objects in a single destination bucket or multiple destination buckets. The destination bucket or buckets must already exist.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" + "RoutingRule": { + "description": "Specifies the redirect behavior and when a redirect is applied. For more information about routing rules, see [Configuring advanced conditional redirects](https://docs.aws.amazon.com/AmazonS3/latest/dev/how-to-page-redirect.html#advanced-conditional-redirects) in the *Amazon S3 User Guide*.", + "type": "object", + "additionalProperties": false, + "properties": { + "RedirectRule": { + "description": "Container for redirect information. You can redirect requests to another host, to another page, or with another protocol. In the event of an error, you can specify a different error code to return.", + "$ref": "#/definitions/RedirectRule", + "markdownDescription": "Container for redirect information. You can redirect requests to another host, to another page, or with another protocol. In the event of an error, you can specify a different error code to return.\n\n---\n\nRequired: Yes \nType: \nUpdate requires: No interruption" + }, + "RoutingRuleCondition": { + "$ref": "#/definitions/RoutingRuleCondition", + "description": "A container for describing a condition that must be met for the specified redirect to apply. For example, 1. If request is for pages in the ``/docs`` folder, redirect to the ``/documents`` folder. 2. If request results in HTTP error 4xx, redirect request to another host where you might process the error.", + "markdownDescription": "A container for describing a condition that must be met for the specified redirect to apply. For example, 1. If request is for pages in the ``/docs`` folder, redirect to the ``/documents`` folder. 2. If request results in HTTP error 4xx, redirect request to another host where you might process the error.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" + } + }, + "required": [ + "RedirectRule" + ], + "markdownDescription": "Specifies the redirect behavior and when a redirect is applied. For more information about routing rules, see [Configuring advanced conditional redirects](https://docs.aws.amazon.com/AmazonS3/latest/dev/how-to-page-redirect.html#advanced-conditional-redirects) in the *Amazon S3 User Guide*.\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, - "Tags": { - "description": "An arbitrary set of tags (key-value pairs) for this S3 bucket.", - "insertionOrder": false, - "type": "array", - "items": { - "$ref": "#/definitions/Tag" + "RedirectRule": { + "type": "object", + "description": "Specifies how requests are redirected. In the event of an error, you can specify a different error code to return.", + "additionalProperties": false, + "properties": { + "HostName": { + "description": "The host name to use in the redirect request.", + "type": "string", + "markdownDescription": "The host name to use in the redirect request.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "HttpRedirectCode": { + "description": "The HTTP redirect code to use on the response. Not required if one of the siblings is present.", + "type": "string", + "markdownDescription": "The HTTP redirect code to use on the response. Not required if one of the siblings is present.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "Protocol": { + "description": "Protocol to use when redirecting requests. The default is the protocol that is used in the original request.", + "enum": [ + "http", + "https" + ], + "type": "string", + "markdownDescription": "Protocol to use when redirecting requests. The default is the protocol that is used in the original request.\n\n---\n\nRequired: No \nType: String \nAllowed Values: http | https \nUpdate requires: No interruption" + }, + "ReplaceKeyPrefixWith": { + "description": "The object key prefix to use in the redirect request. For example, to redirect requests for all pages with prefix ``docs/`` (objects in the ``docs/`` folder) to ``documents/``, you can set a condition block with ``KeyPrefixEquals`` set to ``docs/`` and in the Redirect set ``ReplaceKeyPrefixWith`` to ``/documents``. Not required if one of the siblings is present. Can be present only if ``ReplaceKeyWith`` is not provided.\n Replacement must be made for object keys containing special characters (such as carriage returns) when using XML requests. For more information, see [XML related object key constraints](https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-keys.html#object-key-xml-related-constraints).", + "type": "string", + "markdownDescription": "The object key prefix to use in the redirect request. For example, to redirect requests for all pages with prefix ``docs/`` (objects in the ``docs/`` folder) to ``documents/``, you can set a condition block with ``KeyPrefixEquals`` set to ``docs/`` and in the Redirect set ``ReplaceKeyPrefixWith`` to ``/documents``. Not required if one of the siblings is present. Can be present only if ``ReplaceKeyWith`` is not provided.\n Replacement must be made for object keys containing special characters (such as carriage returns) when using XML requests. For more information, see [XML related object key constraints](https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-keys.html#object-key-xml-related-constraints).\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "ReplaceKeyWith": { + "description": "The specific object key to use in the redirect request. For example, redirect request to ``error.html``. Not required if one of the siblings is present. Can be present only if ``ReplaceKeyPrefixWith`` is not provided.\n Replacement must be made for object keys containing special characters (such as carriage returns) when using XML requests. For more information, see [XML related object key constraints](https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-keys.html#object-key-xml-related-constraints).", + "type": "string", + "markdownDescription": "The specific object key to use in the redirect request. For example, redirect request to ``error.html``. Not required if one of the siblings is present. Can be present only if ``ReplaceKeyPrefixWith`` is not provided.\n Replacement must be made for object keys containing special characters (such as carriage returns) when using XML requests. For more information, see [XML related object key constraints](https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-keys.html#object-key-xml-related-constraints).\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + } }, - "markdownDescription": "An arbitrary set of tags (key-value pairs) for this S3 bucket.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + "markdownDescription": "Specifies how requests are redirected. In the event of an error, you can specify a different error code to return.\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, - "BucketEncryption": { - "description": "Specifies default encryption for a bucket using server-side encryption with Amazon S3-managed keys (SSE-S3), AWS KMS-managed keys (SSE-KMS), or dual-layer server-side encryption with KMS-managed keys (DSSE-KMS). For information about the Amazon S3 default encryption feature, see [Amazon S3 Default Encryption for S3 Buckets](https://docs.aws.amazon.com/AmazonS3/latest/dev/bucket-encryption.html) in the *Amazon S3 User Guide*.", - "$ref": "#/definitions/BucketEncryption", - "markdownDescription": "Specifies default encryption for a bucket using server-side encryption with Amazon S3-managed keys (SSE-S3), AWS KMS-managed keys (SSE-KMS), or dual-layer server-side encryption with KMS-managed keys (DSSE-KMS). For information about the Amazon S3 default encryption feature, see [Amazon S3 Default Encryption for S3 Buckets](https://docs.aws.amazon.com/AmazonS3/latest/dev/bucket-encryption.html) in the *Amazon S3 User Guide*.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" + "RoutingRuleCondition": { + "description": "A container for describing a condition that must be met for the specified redirect to apply. For example, 1. If request is for pages in the ``/docs`` folder, redirect to the ``/documents`` folder. 2. If request results in HTTP error 4xx, redirect request to another host where you might process the error.", + "type": "object", + "additionalProperties": false, + "properties": { + "KeyPrefixEquals": { + "description": "The object key name prefix when the redirect is applied. For example, to redirect requests for ``ExamplePage.html``, the key prefix will be ``ExamplePage.html``. To redirect request for all pages with the prefix ``docs/``, the key prefix will be ``/docs``, which identifies all objects in the docs/ folder.\n Required when the parent element ``Condition`` is specified and sibling ``HttpErrorCodeReturnedEquals`` is not specified. If both conditions are specified, both must be true for the redirect to be applied.", + "type": "string", + "markdownDescription": "The object key name prefix when the redirect is applied. For example, to redirect requests for ``ExamplePage.html``, the key prefix will be ``ExamplePage.html``. To redirect request for all pages with the prefix ``docs/``, the key prefix will be ``/docs``, which identifies all objects in the docs/ folder.\n Required when the parent element ``Condition`` is specified and sibling ``HttpErrorCodeReturnedEquals`` is not specified. If both conditions are specified, both must be true for the redirect to be applied.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "HttpErrorCodeReturnedEquals": { + "description": "The HTTP error code when the redirect is applied. In the event of an error, if the error code equals this value, then the specified redirect is applied.\n Required when parent element ``Condition`` is specified and sibling ``KeyPrefixEquals`` is not specified. If both are specified, then both must be true for the redirect to be applied.", + "type": "string", + "markdownDescription": "The HTTP error code when the redirect is applied. In the event of an error, if the error code equals this value, then the specified redirect is applied.\n Required when parent element ``Condition`` is specified and sibling ``KeyPrefixEquals`` is not specified. If both are specified, then both must be true for the redirect to be applied.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + } + }, + "markdownDescription": "A container for describing a condition that must be met for the specified redirect to apply. For example, 1. If request is for pages in the ``/docs`` folder, redirect to the ``/documents`` folder. 2. If request results in HTTP error 4xx, redirect request to another host where you might process the error.\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, - "NotificationConfiguration": { - "description": "Configuration that defines how Amazon S3 handles bucket notifications.", - "$ref": "#/definitions/NotificationConfiguration", - "markdownDescription": "Configuration that defines how Amazon S3 handles bucket notifications.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" + "RedirectAllRequestsTo": { + "description": "Specifies the redirect behavior of all requests to a website endpoint of an Amazon S3 bucket.", + "type": "object", + "additionalProperties": false, + "properties": { + "HostName": { + "description": "Name of the host where requests are redirected.", + "type": "string", + "markdownDescription": "Name of the host where requests are redirected.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" + }, + "Protocol": { + "description": "Protocol to use when redirecting requests. The default is the protocol that is used in the original request.", + "type": "string", + "enum": [ + "http", + "https" + ], + "markdownDescription": "Protocol to use when redirecting requests. The default is the protocol that is used in the original request.\n\n---\n\nRequired: No \nType: String \nAllowed Values: http | https \nUpdate requires: No interruption" + } + }, + "required": [ + "HostName" + ], + "markdownDescription": "Specifies the redirect behavior of all requests to a website endpoint of an Amazon S3 bucket.\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, - "LifecycleConfiguration": { - "description": "Specifies the lifecycle configuration for objects in an Amazon S3 bucket. For more information, see [Object Lifecycle Management](https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lifecycle-mgmt.html) in the *Amazon S3 User Guide*.", - "$ref": "#/definitions/LifecycleConfiguration", - "markdownDescription": "Specifies the lifecycle configuration for objects in an Amazon S3 bucket. For more information, see [Object Lifecycle Management](https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lifecycle-mgmt.html) in the *Amazon S3 User Guide*.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" + "Arn": { + "description": "the Amazon Resource Name (ARN) of the specified bucket.", + "type": "string", + "markdownDescription": "the Amazon Resource Name (ARN) of the specified bucket.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + } + }, + "tagging": { + "taggable": true, + "tagOnCreate": true, + "tagUpdatable": true, + "cloudFormationSystemTags": true, + "tagProperty": "/properties/Tags" + }, + "createOnlyProperties": [ + "/properties/BucketName" + ], + "primaryIdentifier": [ + "/properties/BucketName" + ], + "readOnlyProperties": [ + "/properties/Arn", + "/properties/DomainName", + "/properties/DualStackDomainName", + "/properties/RegionalDomainName", + "/properties/WebsiteURL" + ], + "writeOnlyProperties": [ + "/properties/AccessControl", + "/properties/LifecycleConfiguration/Rules/*/NoncurrentVersionExpirationInDays", + "/properties/LifecycleConfiguration/Rules/*/NoncurrentVersionTransition", + "/properties/LifecycleConfiguration/Rules/*/Transition", + "/properties/ReplicationConfiguration/Rules/*/Prefix", + "/properties/LifecycleConfiguration/Rules/*/ExpiredObjectDeleteMarker" + ], + "propertyTransform": { + "/properties/NotificationConfiguration/QueueConfigurations/*/Filter/S3Key/Rules/*/Name": "$replace(Name, \"prefix\", \"Prefix\") $OR $replace(Name, \"suffix\", \"Suffix\")", + "/properties/NotificationConfiguration/LambdaConfigurations/*/Filter/S3Key/Rules/*/Name": "$replace(Name, \"prefix\", \"Prefix\") $OR $replace(Name, \"suffix\", \"Suffix\")", + "/properties/NotificationConfiguration/TopicConfigurations/*/Filter/S3Key/Rules/*/Name": "$replace(Name, \"prefix\", \"Prefix\") $OR $replace(Name, \"suffix\", \"Suffix\")" + }, + "handlers": { + "create": { + "permissions": [ + "s3:CreateBucket", + "s3:PutBucketTagging", + "s3:PutAnalyticsConfiguration", + "s3:PutEncryptionConfiguration", + "s3:PutBucketCORS", + "s3:PutInventoryConfiguration", + "s3:PutLifecycleConfiguration", + "s3:PutMetricsConfiguration", + "s3:PutBucketNotification", + "s3:PutBucketReplication", + "s3:PutBucketWebsite", + "s3:PutAccelerateConfiguration", + "s3:PutBucketPublicAccessBlock", + "s3:PutReplicationConfiguration", + "s3:PutObjectAcl", + "s3:PutBucketObjectLockConfiguration", + "s3:GetBucketAcl", + "s3:ListBucket", + "iam:PassRole", + "s3:DeleteObject", + "s3:PutBucketLogging", + "s3:PutBucketVersioning", + "s3:PutObjectLockConfiguration", + "s3:PutBucketOwnershipControls", + "s3:PutIntelligentTieringConfiguration" + ] }, - "VersioningConfiguration": { - "description": "Enables multiple versions of all objects in this bucket. You might enable versioning to prevent objects from being deleted or overwritten by mistake or to archive objects so that you can retrieve previous versions of them.\n When you enable versioning on a bucket for the first time, it might take a short amount of time for the change to be fully propagated. We recommend that you wait for 15 minutes after enabling versioning before issuing write operations (``PUT`` or ``DELETE``) on objects in the bucket.", - "$ref": "#/definitions/VersioningConfiguration", - "markdownDescription": "Enables multiple versions of all objects in this bucket. You might enable versioning to prevent objects from being deleted or overwritten by mistake or to archive objects so that you can retrieve previous versions of them.\n When you enable versioning on a bucket for the first time, it might take a short amount of time for the change to be fully propagated. We recommend that you wait for 15 minutes after enabling versioning before issuing write operations (``PUT`` or ``DELETE``) on objects in the bucket.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" + "read": { + "permissions": [ + "s3:GetAccelerateConfiguration", + "s3:GetLifecycleConfiguration", + "s3:GetBucketPublicAccessBlock", + "s3:GetAnalyticsConfiguration", + "s3:GetBucketCORS", + "s3:GetEncryptionConfiguration", + "s3:GetInventoryConfiguration", + "s3:GetBucketLogging", + "s3:GetMetricsConfiguration", + "s3:GetBucketNotification", + "s3:GetBucketVersioning", + "s3:GetReplicationConfiguration", + "S3:GetBucketWebsite", + "s3:GetBucketPublicAccessBlock", + "s3:GetBucketObjectLockConfiguration", + "s3:GetBucketTagging", + "s3:GetBucketOwnershipControls", + "s3:GetIntelligentTieringConfiguration", + "s3:ListBucket" + ] }, - "MetricsConfigurations": { - "uniqueItems": true, - "description": "Specifies a metrics configuration for the CloudWatch request metrics (specified by the metrics configuration ID) from an Amazon S3 bucket. If you're updating an existing metrics configuration, note that this is a full replacement of the existing metrics configuration. If you don't include the elements you want to keep, they are erased. For more information, see [PutBucketMetricsConfiguration](https://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketPUTMetricConfiguration.html).", - "insertionOrder": true, - "type": "array", - "items": { - "$ref": "#/definitions/MetricsConfiguration" - }, - "markdownDescription": "Specifies a metrics configuration for the CloudWatch request metrics (specified by the metrics configuration ID) from an Amazon S3 bucket. If you're updating an existing metrics configuration, note that this is a full replacement of the existing metrics configuration. If you don't include the elements you want to keep, they are erased. For more information, see [PutBucketMetricsConfiguration](https://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketPUTMetricConfiguration.html).\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + "update": { + "permissions": [ + "s3:PutBucketAcl", + "s3:PutBucketTagging", + "s3:PutAnalyticsConfiguration", + "s3:PutEncryptionConfiguration", + "s3:PutBucketCORS", + "s3:PutInventoryConfiguration", + "s3:PutLifecycleConfiguration", + "s3:PutMetricsConfiguration", + "s3:PutBucketNotification", + "s3:PutBucketReplication", + "s3:PutBucketWebsite", + "s3:PutAccelerateConfiguration", + "s3:PutBucketPublicAccessBlock", + "s3:PutReplicationConfiguration", + "s3:PutBucketOwnershipControls", + "s3:PutIntelligentTieringConfiguration", + "s3:DeleteBucketWebsite", + "s3:PutBucketLogging", + "s3:PutBucketVersioning", + "s3:PutObjectLockConfiguration", + "s3:PutBucketObjectLockConfiguration", + "s3:DeleteBucketAnalyticsConfiguration", + "s3:DeleteBucketCors", + "s3:DeleteBucketMetricsConfiguration", + "s3:DeleteBucketEncryption", + "s3:DeleteBucketLifecycle", + "s3:DeleteBucketReplication", + "iam:PassRole", + "s3:ListBucket" + ] }, - "IntelligentTieringConfigurations": { - "uniqueItems": true, - "description": "Defines how Amazon S3 handles Intelligent-Tiering storage.", - "insertionOrder": true, - "type": "array", - "items": { - "$ref": "#/definitions/IntelligentTieringConfiguration" - }, - "markdownDescription": "Defines how Amazon S3 handles Intelligent-Tiering storage.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + "delete": { + "permissions": [ + "s3:DeleteBucket", + "s3:ListBucket" + ] }, - "CorsConfiguration": { - "description": "Describes the cross-origin access configuration for objects in an Amazon S3 bucket. For more information, see [Enabling Cross-Origin Resource Sharing](https://docs.aws.amazon.com/AmazonS3/latest/dev/cors.html) in the *Amazon S3 User Guide*.", - "$ref": "#/definitions/CorsConfiguration", - "markdownDescription": "Describes the cross-origin access configuration for objects in an Amazon S3 bucket. For more information, see [Enabling Cross-Origin Resource Sharing](https://docs.aws.amazon.com/AmazonS3/latest/dev/cors.html) in the *Amazon S3 User Guide*.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" + "list": { + "permissions": [ + "s3:ListAllMyBuckets" + ] } }, "attributes": { - "DualStackDomainName": { + "Arn": { + "$ref": "#/definitions/Arn", + "description": "", "examples": [ - "mystack-mybucket-kdwwxmddtr2g.s3.dualstack.us-east-2.amazonaws.com" + "arn:aws:s3:::mybucket" ], + "markdownDescription": "\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" + }, + "DomainName": { "description": "", + "examples": [ + "mystack-mybucket-kdwwxmddtr2g.s3.amazonaws.com" + ], "type": "string", "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, - "RegionalDomainName": { + "DualStackDomainName": { + "description": "", "examples": [ - "mystack-mybucket-kdwwxmddtr2g.s3.us-east-2.amazonaws.com" + "mystack-mybucket-kdwwxmddtr2g.s3.dualstack.us-east-2.amazonaws.com" ], - "description": "", "type": "string", "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, - "DomainName": { + "RegionalDomainName": { + "description": "", "examples": [ - "mystack-mybucket-kdwwxmddtr2g.s3.amazonaws.com" + "mystack-mybucket-kdwwxmddtr2g.s3.us-east-2.amazonaws.com" ], - "description": "", "type": "string", "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, "WebsiteURL": { + "description": "", "examples": [ "Example (IPv4): http://mystack-mybucket-kdwwxmddtr2g.s3-website-us-east-2.amazonaws.com/", "Example (IPv6): http://mystack-mybucket-kdwwxmddtr2g.s3.dualstack.us-east-2.amazonaws.com/" ], "format": "uri", - "description": "", "type": "string", "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" - }, - "Arn": { - "examples": [ - "arn:aws:s3:::mybucket" - ], - "description": "", - "$ref": "#/definitions/Arn", - "markdownDescription": "\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" } } } \ No newline at end of file diff --git a/server/schema/resources/aws-s3express-directorybucket.json b/server/schema/resources/aws-s3express-directorybucket.json index 4f4a5777..bc70225f 100644 --- a/server/schema/resources/aws-s3express-directorybucket.json +++ b/server/schema/resources/aws-s3express-directorybucket.json @@ -1,19 +1,136 @@ { + "typeName": "AWS::S3Express::DirectoryBucket", + "description": "Resource Type definition for AWS::S3Express::DirectoryBucket.", + "additionalProperties": false, + "properties": { + "BucketName": { + "description": "Specifies a name for the bucket. The bucket name must contain only lowercase letters, numbers, and hyphens (-). A directory bucket name must be unique in the chosen Availability Zone. The bucket name must also follow the format 'bucket_base_name--az_id--x-s3' (for example, 'DOC-EXAMPLE-BUCKET--usw2-az1--x-s3'). If you don't specify a name, AWS CloudFormation generates a unique physical ID and uses that ID for the bucket name.", + "maxLength": 63, + "type": "string", + "markdownDescription": "Specifies a name for the bucket. The bucket name must contain only lowercase letters, numbers, and hyphens (-). A directory bucket name must be unique in the chosen Availability Zone. The bucket name must also follow the format 'bucket_base_name--az_id--x-s3' (for example, 'DOC-EXAMPLE-BUCKET--usw2-az1--x-s3'). If you don't specify a name, AWS CloudFormation generates a unique physical ID and uses that ID for the bucket name.\n\n---\n\nRequired: No \nType: String \nMaximum Length: 63 \nPattern: ^[a-z0-9][a-z0-9//.//-]*[a-z0-9]$ \nUpdate requires: Replacement" + }, + "LocationName": { + "description": "Specifies the AZ ID of the Availability Zone where the directory bucket will be created. An example AZ ID value is 'use1-az5'.", + "type": "string", + "markdownDescription": "Specifies the AZ ID of the Availability Zone where the directory bucket will be created. An example AZ ID value is 'use1-az5'.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: Replacement" + }, + "DataRedundancy": { + "description": "Specifies the number of Availability Zone that's used for redundancy for the bucket.", + "type": "string", + "enum": [ + "SingleAvailabilityZone" + ], + "markdownDescription": "Specifies the number of Availability Zone that's used for redundancy for the bucket.\n\n---\n\nRequired: Yes \nType: String \nAllowed Values: SingleAvailabilityZone \nUpdate requires: Replacement" + }, + "BucketEncryption": { + "$ref": "#/definitions/BucketEncryption" + } + }, + "definitions": { + "Arn": { + "description": "The Amazon Resource Name (ARN) of the specified bucket.", + "type": "string", + "markdownDescription": "The Amazon Resource Name (ARN) of the specified bucket.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "BucketEncryption": { + "description": "Specifies default encryption for a bucket using server-side encryption with Amazon S3 managed keys (SSE-S3) or AWS KMS keys (SSE-KMS).", + "type": "object", + "additionalProperties": false, + "properties": { + "ServerSideEncryptionConfiguration": { + "description": "Specifies the default server-side-encryption configuration.", + "type": "array", + "uniqueItems": true, + "insertionOrder": true, + "items": { + "$ref": "#/definitions/ServerSideEncryptionRule" + }, + "markdownDescription": "Specifies the default server-side-encryption configuration.\n\n---\n\nRequired: Yes \nType: Array \nUpdate requires: No interruption" + } + }, + "required": [ + "ServerSideEncryptionConfiguration" + ], + "markdownDescription": "Specifies default encryption for a bucket using server-side encryption with Amazon S3 managed keys (SSE-S3) or AWS KMS keys (SSE-KMS).\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "ServerSideEncryptionRule": { + "description": "Specifies the default server-side encryption configuration.", + "type": "object", + "additionalProperties": false, + "properties": { + "BucketKeyEnabled": { + "description": "Specifies whether Amazon S3 should use an S3 Bucket Key with server-side encryption using KMS (SSE-KMS) for new objects in the bucket. Existing objects are not affected. Amazon S3 Express One Zone uses an S3 Bucket Key with SSE-KMS and S3 Bucket Key cannot be disabled. It's only allowed to set the BucketKeyEnabled element to true.", + "type": "boolean", + "markdownDescription": "Specifies whether Amazon S3 should use an S3 Bucket Key with server-side encryption using KMS (SSE-KMS) for new objects in the bucket. Existing objects are not affected. Amazon S3 Express One Zone uses an S3 Bucket Key with SSE-KMS and S3 Bucket Key cannot be disabled. It's only allowed to set the BucketKeyEnabled element to true.\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" + }, + "ServerSideEncryptionByDefault": { + "$ref": "#/definitions/ServerSideEncryptionByDefault" + } + }, + "markdownDescription": "Specifies the default server-side encryption configuration.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "ServerSideEncryptionByDefault": { + "description": "Specifies the default server-side encryption to apply to new objects in the bucket. If a PUT Object request doesn't specify any server-side encryption, this default encryption will be applied.", + "type": "object", + "properties": { + "KMSMasterKeyID": { + "description": "AWS Key Management Service (KMS) customer managed key ID to use for the default encryption. This parameter is allowed only if SSEAlgorithm is set to aws:kms. You can specify this parameter with the key ID or the Amazon Resource Name (ARN) of the KMS key", + "type": "string", + "anyOf": [ + { + "relationshipRef": { + "typeName": "AWS::KMS::Key", + "propertyPath": "/properties/KeyId" + } + }, + { + "relationshipRef": { + "typeName": "AWS::KMS::Key", + "propertyPath": "/properties/Arn" + } + } + ], + "markdownDescription": "AWS Key Management Service (KMS) customer managed key ID to use for the default encryption. This parameter is allowed only if SSEAlgorithm is set to aws:kms. You can specify this parameter with the key ID or the Amazon Resource Name (ARN) of the KMS key\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "SSEAlgorithm": { + "type": "string", + "enum": [ + "aws:kms", + "AES256" + ], + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nAllowed Values: aws:kms | AES256 \nUpdate requires: No interruption" + } + }, + "additionalProperties": false, + "required": [ + "SSEAlgorithm" + ], + "markdownDescription": "Specifies the default server-side encryption to apply to new objects in the bucket. If a PUT Object request doesn't specify any server-side encryption, this default encryption will be applied.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + } + }, + "createOnlyProperties": [ + "/properties/BucketName", + "/properties/LocationName", + "/properties/DataRedundancy" + ], + "primaryIdentifier": [ + "/properties/BucketName" + ], + "readOnlyProperties": [ + "/properties/Arn", + "/properties/AvailabilityZoneName" + ], "tagging": { "taggable": false, "tagOnCreate": false, "tagUpdatable": false, "cloudFormationSystemTags": false }, + "required": [ + "LocationName", + "DataRedundancy" + ], "handlers": { - "read": { - "permissions": [ - "s3express:ListAllMyDirectoryBuckets", - "ec2:DescribeAvailabilityZones", - "s3express:GetEncryptionConfiguration", - "s3express:ListAllMyDirectoryBuckets" - ] - }, "create": { "permissions": [ "kms:GenerateDataKey", @@ -23,6 +140,14 @@ "s3express:PutEncryptionConfiguration" ] }, + "read": { + "permissions": [ + "s3express:ListAllMyDirectoryBuckets", + "ec2:DescribeAvailabilityZones", + "s3express:GetEncryptionConfiguration", + "s3express:ListAllMyDirectoryBuckets" + ] + }, "update": { "permissions": [ "kms:GenerateDataKey", @@ -30,81 +155,33 @@ "s3express:PutEncryptionConfiguration" ] }, - "list": { + "delete": { "permissions": [ + "s3express:DeleteBucket", "s3express:ListAllMyDirectoryBuckets" ] }, - "delete": { + "list": { "permissions": [ - "s3express:DeleteBucket", "s3express:ListAllMyDirectoryBuckets" ] } }, - "typeName": "AWS::S3Express::DirectoryBucket", - "readOnlyProperties": [ - "/properties/Arn", - "/properties/AvailabilityZoneName" - ], - "description": "Resource Type definition for AWS::S3Express::DirectoryBucket.", - "createOnlyProperties": [ - "/properties/BucketName", - "/properties/LocationName", - "/properties/DataRedundancy" - ], - "additionalProperties": false, - "primaryIdentifier": [ - "/properties/BucketName" - ], - "definitions": { - "Arn": { - "description": "The Amazon Resource Name (ARN) of the specified bucket.", - "type": "string", - "markdownDescription": "The Amazon Resource Name (ARN) of the specified bucket.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" - } - }, - "properties": { - "BucketName": { - "description": "Specifies a name for the bucket. The bucket name must contain only lowercase letters, numbers, and hyphens (-). A directory bucket name must be unique in the chosen Availability Zone. The bucket name must also follow the format 'bucket_base_name--az_id--x-s3' (for example, 'DOC-EXAMPLE-BUCKET--usw2-az1--x-s3'). If you don't specify a name, AWS CloudFormation generates a unique physical ID and uses that ID for the bucket name.", - "type": "string", - "maxLength": 63, - "markdownDescription": "Specifies a name for the bucket. The bucket name must contain only lowercase letters, numbers, and hyphens (-). A directory bucket name must be unique in the chosen Availability Zone. The bucket name must also follow the format 'bucket_base_name--az_id--x-s3' (for example, 'DOC-EXAMPLE-BUCKET--usw2-az1--x-s3'). If you don't specify a name, AWS CloudFormation generates a unique physical ID and uses that ID for the bucket name.\n\n---\n\nRequired: No \nType: String \nMaximum Length: 63 \nPattern: ^[a-z0-9][a-z0-9//.//-]*[a-z0-9]$ \nUpdate requires: Replacement" - }, - "BucketEncryption": {}, - "DataRedundancy": { - "description": "Specifies the number of Availability Zone that's used for redundancy for the bucket.", - "type": "string", - "enum": [ - "SingleAvailabilityZone" - ], - "markdownDescription": "Specifies the number of Availability Zone that's used for redundancy for the bucket.\n\n---\n\nRequired: Yes \nType: String \nAllowed Values: SingleAvailabilityZone \nUpdate requires: Replacement" - }, - "LocationName": { - "description": "Specifies the AZ ID of the Availability Zone where the directory bucket will be created. An example AZ ID value is 'use1-az5'.", - "type": "string", - "markdownDescription": "Specifies the AZ ID of the Availability Zone where the directory bucket will be created. An example AZ ID value is 'use1-az5'.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: Replacement" - } - }, - "required": [ - "LocationName", - "DataRedundancy" - ], "attributes": { "AvailabilityZoneName": { + "description": "Returns the code for the Availability Zone where the directory bucket was created.", "examples": [ "us-east-1f" ], - "description": "Returns the code for the Availability Zone where the directory bucket was created.", "type": "string", "markdownDescription": "Returns the code for the Availability Zone where the directory bucket was created.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, "Arn": { + "$ref": "#/definitions/Arn", + "description": "Returns the Amazon Resource Name (ARN) of the specified bucket.", "examples": [ "arn:aws:s3express:us-west-2:123456789123:bucket/DOC-EXAMPLE-BUCKET--usw2-az1--x-s3" ], - "description": "Returns the Amazon Resource Name (ARN) of the specified bucket.", - "$ref": "#/definitions/Arn", "markdownDescription": "Returns the Amazon Resource Name (ARN) of the specified bucket.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" } } diff --git a/server/schema/resources/aws-sagemaker-cluster.json b/server/schema/resources/aws-sagemaker-cluster.json index 295e15d5..c652fb11 100644 --- a/server/schema/resources/aws-sagemaker-cluster.json +++ b/server/schema/resources/aws-sagemaker-cluster.json @@ -195,6 +195,9 @@ }, "OnStartDeepHealthChecks": { "$ref": "#/definitions/OnStartDeepHealthChecks" + }, + "OverrideVpcConfig": { + "$ref": "#/definitions/VpcConfig" } }, "required": [ @@ -323,6 +326,7 @@ "/properties/ClusterName", "/properties/VpcConfig", "/properties/Orchestrator", + "/properties/InstanceGroups/*/OverrideVpcConfig", "/properties/InstanceGroups/*/ExecutionRole", "/properties/InstanceGroups/*/InstanceGroupName", "/properties/InstanceGroups/*/InstanceType", diff --git a/server/schema/resources/aws-sagemaker-domain.json b/server/schema/resources/aws-sagemaker-domain.json index 2461fc48..1259ef4e 100644 --- a/server/schema/resources/aws-sagemaker-domain.json +++ b/server/schema/resources/aws-sagemaker-domain.json @@ -86,6 +86,15 @@ "Customer" ], "markdownDescription": "The entity that creates and manages the required security groups for inter-app communication in VPCOnly mode. Required when CreateDomain.AppNetworkAccessType is VPCOnly and DomainSettings.RStudioServerProDomainSettings.DomainExecutionRoleArn is provided.\n\n---\n\nRequired: No \nType: String \nAllowed Values: Service | Customer \nUpdate requires: No interruption" + }, + "TagPropagation": { + "type": "string", + "description": "Indicates whether the tags added to Domain, User Profile and Space entity is propagated to all SageMaker resources.", + "enum": [ + "ENABLED", + "DISABLED" + ], + "markdownDescription": "Indicates whether the tags added to Domain, User Profile and Space entity is propagated to all SageMaker resources.\n\n---\n\nRequired: No \nType: String \nAllowed Values: ENABLED | DISABLED \nUpdate requires: No interruption" } }, "definitions": { @@ -770,6 +779,15 @@ }, "DockerSettings": { "$ref": "#/definitions/DockerSettings" + }, + "ExecutionRoleIdentityConfig": { + "type": "string", + "description": "The configuration for attaching a SageMaker user profile name to the execution role as a sts:SourceIdentity key.", + "enum": [ + "USER_PROFILE_NAME", + "DISABLED" + ], + "markdownDescription": "The configuration for attaching a SageMaker user profile name to the execution role as a sts:SourceIdentity key.\n\n---\n\nRequired: No \nType: String \nAllowed Values: USER_PROFILE_NAME | DISABLED \nUpdate requires: No interruption" } }, "markdownDescription": "A collection of Domain settings.\n\n---\n\nRequired: No \nUpdate requires: Replacement" diff --git a/server/schema/resources/aws-sagemaker-endpoint.json b/server/schema/resources/aws-sagemaker-endpoint.json index b55cff69..c412341d 100644 --- a/server/schema/resources/aws-sagemaker-endpoint.json +++ b/server/schema/resources/aws-sagemaker-endpoint.json @@ -3,13 +3,15 @@ "description": "Resource Type definition for AWS::SageMaker::Endpoint", "additionalProperties": false, "properties": { - "RetainAllVariantProperties": { - "type": "boolean", - "markdownDescription": "\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" + "DeploymentConfig": { + "$ref": "#/definitions/DeploymentConfig", + "description": "Specifies deployment configuration for updating the SageMaker endpoint. Includes rollback and update policies.", + "markdownDescription": "Specifies deployment configuration for updating the SageMaker endpoint. Includes rollback and update policies.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" }, - "EndpointName": { + "EndpointConfigName": { "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: Replacement" + "description": "The name of the endpoint configuration for the SageMaker endpoint. This is a required property.", + "markdownDescription": "The name of the endpoint configuration for the SageMaker endpoint. This is a required property.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" }, "ExcludeRetainedVariantProperties": { "type": "array", @@ -17,18 +19,18 @@ "items": { "$ref": "#/definitions/VariantProperty" }, - "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + "description": "Specifies a list of variant properties that you want to exclude when updating an endpoint.", + "markdownDescription": "Specifies a list of variant properties that you want to exclude when updating an endpoint.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" }, - "EndpointConfigName": { - "type": "string", - "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" - }, - "DeploymentConfig": { - "$ref": "#/definitions/DeploymentConfig" + "RetainAllVariantProperties": { + "type": "boolean", + "description": "When set to true, retains all variant properties for an endpoint when it is updated.", + "markdownDescription": "When set to true, retains all variant properties for an endpoint when it is updated.\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" }, "RetainDeploymentConfig": { "type": "boolean", - "markdownDescription": "\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" + "description": "When set to true, retains the deployment configuration during endpoint updates.", + "markdownDescription": "When set to true, retains the deployment configuration during endpoint updates.\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" }, "Tags": { "type": "array", @@ -36,139 +38,162 @@ "items": { "$ref": "#/definitions/Tag" }, - "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + "description": "An array of key-value pairs to apply to this resource.", + "markdownDescription": "An array of key-value pairs to apply to this resource.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" } }, "definitions": { - "CapacitySize": { + "Alarm": { "type": "object", "additionalProperties": false, "properties": { - "Value": { - "type": "integer", - "markdownDescription": "\n\n---\n\nRequired: Yes \nType: Integer \nUpdate requires: No interruption" - }, - "Type": { + "AlarmName": { "type": "string", - "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" + "description": "The name of the CloudWatch alarm.", + "markdownDescription": "The name of the CloudWatch alarm.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" } }, "required": [ - "Type", - "Value" + "AlarmName" ], "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, - "RollingUpdatePolicy": { + "AutoRollbackConfig": { "type": "object", "additionalProperties": false, "properties": { - "MaximumExecutionTimeoutInSeconds": { - "type": "integer", - "markdownDescription": "\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" - }, - "MaximumBatchSize": { - "$ref": "#/definitions/CapacitySize" - }, - "WaitIntervalInSeconds": { - "type": "integer", - "markdownDescription": "\n\n---\n\nRequired: Yes \nType: Integer \nUpdate requires: No interruption" - }, - "RollbackMaximumBatchSize": { - "$ref": "#/definitions/CapacitySize" + "Alarms": { + "type": "array", + "uniqueItems": true, + "items": { + "$ref": "#/definitions/Alarm" + }, + "description": "List of CloudWatch alarms to monitor during the deployment. If any alarm goes off, the deployment is rolled back.", + "markdownDescription": "List of CloudWatch alarms to monitor during the deployment. If any alarm goes off, the deployment is rolled back.\n\n---\n\nRequired: Yes \nType: Array \nUpdate requires: No interruption" } }, "required": [ - "MaximumBatchSize", - "WaitIntervalInSeconds" + "Alarms" ], "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, - "Alarm": { + "BlueGreenUpdatePolicy": { "type": "object", "additionalProperties": false, "properties": { - "AlarmName": { - "type": "string", - "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" + "MaximumExecutionTimeoutInSeconds": { + "type": "integer", + "description": "The maximum time allowed for the blue/green update, in seconds.", + "markdownDescription": "The maximum time allowed for the blue/green update, in seconds.\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" + }, + "TerminationWaitInSeconds": { + "type": "integer", + "description": "The wait time before terminating the old endpoint during a blue/green deployment.", + "markdownDescription": "The wait time before terminating the old endpoint during a blue/green deployment.\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" + }, + "TrafficRoutingConfiguration": { + "$ref": "#/definitions/TrafficRoutingConfig", + "description": "The traffic routing configuration for the blue/green deployment.", + "markdownDescription": "The traffic routing configuration for the blue/green deployment.\n\n---\n\nRequired: Yes \nType: \nUpdate requires: No interruption" } }, "required": [ - "AlarmName" + "TrafficRoutingConfiguration" ], "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, - "Tag": { + "CapacitySize": { "type": "object", "additionalProperties": false, "properties": { - "Value": { + "Type": { "type": "string", - "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" + "description": "Specifies whether the `Value` is an instance count or a capacity unit.", + "markdownDescription": "Specifies whether the `Value` is an instance count or a capacity unit.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" }, - "Key": { - "type": "string", - "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" + "Value": { + "type": "integer", + "description": "The value representing either the number of instances or the number of capacity units.", + "markdownDescription": "The value representing either the number of instances or the number of capacity units.\n\n---\n\nRequired: Yes \nType: Integer \nUpdate requires: No interruption" } }, "required": [ - "Value", - "Key" + "Type", + "Value" ], "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, - "AutoRollbackConfig": { + "DeploymentConfig": { "type": "object", "additionalProperties": false, "properties": { - "Alarms": { - "type": "array", - "uniqueItems": false, - "items": { - "$ref": "#/definitions/Alarm" - }, - "markdownDescription": "\n\n---\n\nRequired: Yes \nType: Array \nUpdate requires: No interruption" + "AutoRollbackConfiguration": { + "$ref": "#/definitions/AutoRollbackConfig", + "description": "Configuration for automatic rollback if an error occurs during deployment.", + "markdownDescription": "Configuration for automatic rollback if an error occurs during deployment.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" + }, + "BlueGreenUpdatePolicy": { + "$ref": "#/definitions/BlueGreenUpdatePolicy", + "description": "Configuration for blue-green update deployment policies.", + "markdownDescription": "Configuration for blue-green update deployment policies.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" + }, + "RollingUpdatePolicy": { + "$ref": "#/definitions/RollingUpdatePolicy", + "description": "Configuration for rolling update deployment policies.", + "markdownDescription": "Configuration for rolling update deployment policies.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" } }, - "required": [ - "Alarms" - ], "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, - "DeploymentConfig": { + "RollingUpdatePolicy": { "type": "object", "additionalProperties": false, "properties": { - "AutoRollbackConfiguration": { - "$ref": "#/definitions/AutoRollbackConfig" + "MaximumBatchSize": { + "$ref": "#/definitions/CapacitySize", + "description": "Specifies the maximum batch size for each rolling update.", + "markdownDescription": "Specifies the maximum batch size for each rolling update.\n\n---\n\nRequired: Yes \nType: \nUpdate requires: No interruption" }, - "RollingUpdatePolicy": { - "$ref": "#/definitions/RollingUpdatePolicy" + "MaximumExecutionTimeoutInSeconds": { + "type": "integer", + "description": "The maximum time allowed for the rolling update, in seconds.", + "markdownDescription": "The maximum time allowed for the rolling update, in seconds.\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" }, - "BlueGreenUpdatePolicy": { - "$ref": "#/definitions/BlueGreenUpdatePolicy" + "RollbackMaximumBatchSize": { + "$ref": "#/definitions/CapacitySize", + "description": "The maximum batch size for rollback during an update failure.", + "markdownDescription": "The maximum batch size for rollback during an update failure.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" + }, + "WaitIntervalInSeconds": { + "type": "integer", + "description": "The time to wait between steps during the rolling update, in seconds.", + "markdownDescription": "The time to wait between steps during the rolling update, in seconds.\n\n---\n\nRequired: Yes \nType: Integer \nUpdate requires: No interruption" } }, + "required": [ + "MaximumBatchSize", + "WaitIntervalInSeconds" + ], "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, - "BlueGreenUpdatePolicy": { + "Tag": { "type": "object", "additionalProperties": false, "properties": { - "MaximumExecutionTimeoutInSeconds": { - "type": "integer", - "markdownDescription": "\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" - }, - "TerminationWaitInSeconds": { - "type": "integer", - "markdownDescription": "\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" + "Key": { + "type": "string", + "description": "The key of the tag.", + "markdownDescription": "The key of the tag.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" }, - "TrafficRoutingConfiguration": { - "$ref": "#/definitions/TrafficRoutingConfig" + "Value": { + "type": "string", + "description": "The value of the tag.", + "markdownDescription": "The value of the tag.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" } }, "required": [ - "TrafficRoutingConfiguration" + "Value", + "Key" ], "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, @@ -176,19 +201,25 @@ "type": "object", "additionalProperties": false, "properties": { - "Type": { - "type": "string", - "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" + "CanarySize": { + "$ref": "#/definitions/CapacitySize", + "description": "Specifies the size of the canary traffic in a canary deployment.", + "markdownDescription": "Specifies the size of the canary traffic in a canary deployment.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" }, "LinearStepSize": { - "$ref": "#/definitions/CapacitySize" + "$ref": "#/definitions/CapacitySize", + "description": "Specifies the step size for linear traffic routing.", + "markdownDescription": "Specifies the step size for linear traffic routing.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" }, - "CanarySize": { - "$ref": "#/definitions/CapacitySize" + "Type": { + "type": "string", + "description": "Specifies the type of traffic routing (e.g., 'AllAtOnce', 'Canary', 'Linear').", + "markdownDescription": "Specifies the type of traffic routing (e.g., 'AllAtOnce', 'Canary', 'Linear').\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" }, "WaitIntervalInSeconds": { "type": "integer", - "markdownDescription": "\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" + "description": "Specifies the wait interval between traffic shifts, in seconds.", + "markdownDescription": "Specifies the wait interval between traffic shifts, in seconds.\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" } }, "required": [ @@ -202,7 +233,8 @@ "properties": { "VariantPropertyType": { "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "description": "The type of variant property (e.g., 'DesiredInstanceCount', 'DesiredWeight', 'DataCaptureConfig').", + "markdownDescription": "The type of variant property (e.g., 'DesiredInstanceCount', 'DesiredWeight', 'DataCaptureConfig').\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" } }, "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" @@ -215,15 +247,73 @@ "/properties/EndpointName" ], "primaryIdentifier": [ - "/properties/Id" + "/properties/EndpointArn" ], "readOnlyProperties": [ - "/properties/Id" + "/properties/EndpointArn", + "/properties/EndpointName" + ], + "writeOnlyProperties": [ + "/properties/ExcludeRetainedVariantProperties", + "/properties/RetainAllVariantProperties", + "/properties/RetainDeploymentConfig" ], + "handlers": { + "create": { + "permissions": [ + "sagemaker:CreateEndpoint", + "sagemaker:DescribeEndpoint", + "sagemaker:AddTags" + ] + }, + "read": { + "permissions": [ + "sagemaker:DescribeEndpoint", + "sagemaker:ListTags" + ] + }, + "update": { + "permissions": [ + "sagemaker:UpdateEndpoint", + "sagemaker:DescribeEndpoint", + "sagemaker:AddTags", + "sagemaker:DeleteTags" + ] + }, + "delete": { + "permissions": [ + "sagemaker:DeleteEndpoint", + "sagemaker:DescribeEndpoint" + ] + }, + "list": { + "permissions": [ + "sagemaker:ListEndpoints" + ] + } + }, + "tagging": { + "taggable": true, + "tagOnCreate": true, + "tagUpdatable": true, + "cloudFormationSystemTags": false, + "tagProperty": "/properties/Tags", + "permissions": [ + "sagemaker:AddTags", + "sagemaker:DeleteTags", + "sagemaker:ListTags" + ] + }, "attributes": { - "Id": { + "EndpointArn": { + "type": "string", + "description": "The Amazon Resource Name (ARN) of the endpoint.", + "markdownDescription": "The Amazon Resource Name (ARN) of the endpoint.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "EndpointName": { "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "description": "The name of the SageMaker endpoint. This name must be unique within an AWS Region.", + "markdownDescription": "The name of the SageMaker endpoint. This name must be unique within an AWS Region.\n\n---\n\nRequired: No \nType: String \nUpdate requires: Replacement" } } } \ No newline at end of file diff --git a/server/schema/resources/aws-sagemaker-imageversion.json b/server/schema/resources/aws-sagemaker-imageversion.json index c7370c95..05129bdc 100644 --- a/server/schema/resources/aws-sagemaker-imageversion.json +++ b/server/schema/resources/aws-sagemaker-imageversion.json @@ -9,9 +9,6 @@ "BaseImage": { "$ref": "#/definitions/BaseImage" }, - "Version": { - "$ref": "#/definitions/Version" - }, "Alias": { "$ref": "#/definitions/Alias" }, @@ -164,6 +161,7 @@ "readOnlyProperties": [ "/properties/ImageVersionArn", "/properties/ImageArn", + "/properties/Version", "/properties/ContainerImage" ], "createOnlyProperties": [ @@ -231,6 +229,9 @@ }, "ContainerImage": { "$ref": "#/definitions/ContainerImage" + }, + "Version": { + "$ref": "#/definitions/Version" } } } \ No newline at end of file diff --git a/server/schema/resources/aws-sagemaker-modelcard.json b/server/schema/resources/aws-sagemaker-modelcard.json index 6fc2d577..419477fa 100644 --- a/server/schema/resources/aws-sagemaker-modelcard.json +++ b/server/schema/resources/aws-sagemaker-modelcard.json @@ -1033,7 +1033,12 @@ "tagOnCreate": true, "tagUpdatable": true, "cloudFormationSystemTags": true, - "tagProperty": "/properties/Tags" + "tagProperty": "/properties/Tags", + "permissions": [ + "sagemaker:AddTags", + "sagemaker:ListTags", + "sagemaker:DeleteTags" + ] }, "readOnlyProperties": [ "/properties/ModelCardArn", diff --git a/server/schema/resources/aws-sagemaker-space.json b/server/schema/resources/aws-sagemaker-space.json index 1b9fbbde..7ec80b76 100644 --- a/server/schema/resources/aws-sagemaker-space.json +++ b/server/schema/resources/aws-sagemaker-space.json @@ -504,8 +504,7 @@ "/properties/OwnershipSettings" ], "writeOnlyProperties": [ - "/properties/SpaceSettings", - "/properties/Tags" + "/properties/SpaceSettings" ], "primaryIdentifier": [ "/properties/DomainId", @@ -520,35 +519,48 @@ "tagOnCreate": true, "tagUpdatable": true, "cloudFormationSystemTags": false, - "tagProperty": "/properties/Tags" + "tagProperty": "/properties/Tags", + "permissions": [ + "sagemaker:AddTags", + "sagemaker:DeleteTags", + "sagemaker:ListTags" + ] }, "handlers": { "create": { "permissions": [ "sagemaker:CreateSpace", - "sagemaker:DescribeSpace" + "sagemaker:DescribeSpace", + "sagemaker:ListTags", + "sagemaker:AddTags" ] }, "read": { "permissions": [ - "sagemaker:DescribeSpace" + "sagemaker:DescribeSpace", + "sagemaker:ListTags" ] }, "update": { "permissions": [ "sagemaker:UpdateSpace", - "sagemaker:DescribeSpace" + "sagemaker:DescribeSpace", + "sagemaker:AddTags", + "sagemaker:DeleteTags", + "sagemaker:ListTags" ] }, "delete": { "permissions": [ "sagemaker:DeleteSpace", - "sagemaker:DescribeSpace" + "sagemaker:DescribeSpace", + "sagemaker:DeleteTags" ] }, "list": { "permissions": [ - "sagemaker:ListSpaces" + "sagemaker:ListSpaces", + "sagemaker:ListTags" ] } }, diff --git a/server/schema/resources/aws-sagemaker-studiolifecycleconfig.json b/server/schema/resources/aws-sagemaker-studiolifecycleconfig.json index cf499ab7..26687440 100644 --- a/server/schema/resources/aws-sagemaker-studiolifecycleconfig.json +++ b/server/schema/resources/aws-sagemaker-studiolifecycleconfig.json @@ -16,10 +16,10 @@ }, "StudioLifecycleConfigContent": { "type": "string", - "description": "The content of your Amazon SageMaker Studio Lifecycle Configuration script.", + "description": "The content of your Amazon SageMaker Studio Lifecycle Configuration script. This content must be base64 encoded.", "minLength": 1, "maxLength": 16384, - "markdownDescription": "The content of your Amazon SageMaker Studio Lifecycle Configuration script.\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 16384 \nPattern: [\\S\\s]+ \nUpdate requires: Replacement" + "markdownDescription": "The content of your Amazon SageMaker Studio Lifecycle Configuration script. This content must be base64 encoded.\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 16384 \nPattern: [\\S\\s]+ \nUpdate requires: Replacement" }, "StudioLifecycleConfigName": { "type": "string", @@ -30,7 +30,7 @@ }, "Tags": { "type": "array", - "description": "Tags to be associated with the Lifecycle Configuration.", + "description": "Tags to be associated with the Lifecycle Configuration. Each tag consists of a key and an optional value. Tag keys must be unique per resource. Tags are searchable using the Search API.", "uniqueItems": false, "insertionOrder": false, "items": { @@ -38,7 +38,7 @@ }, "minItems": 0, "maxItems": 50, - "markdownDescription": "Tags to be associated with the Lifecycle Configuration.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: Replacement" + "markdownDescription": "Tags to be associated with the Lifecycle Configuration. Each tag consists of a key and an optional value. Tag keys must be unique per resource. Tags are searchable using the Search API.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: Replacement" } }, "definitions": { diff --git a/server/schema/resources/aws-scheduler-schedule.json b/server/schema/resources/aws-scheduler-schedule.json index ecf17bf4..558bba54 100644 --- a/server/schema/resources/aws-scheduler-schedule.json +++ b/server/schema/resources/aws-scheduler-schedule.json @@ -98,7 +98,7 @@ "maxLength": 1600, "minLength": 1, "description": "The ARN of the SQS queue specified as the target for the dead-letter queue.", - "markdownDescription": "The ARN of the SQS queue specified as the target for the dead-letter queue.\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 1600 \nPattern: ^arn:aws(-[a-z]+)?:sqs:[a-z0-9\\-]+:\\d{12}:[a-zA-Z0-9\\-_]+$ \nUpdate requires: No interruption" + "markdownDescription": "The ARN of the SQS queue specified as the target for the dead-letter queue.\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 1600 \nPattern: ^arn:aws[a-z-]*:sqs:[a-z0-9\\-]+:\\d{12}:[a-zA-Z0-9\\-_]+$ \nUpdate requires: No interruption" } }, "additionalProperties": false, @@ -485,7 +485,7 @@ "maxLength": 1600, "minLength": 1, "description": "The Amazon Resource Name (ARN) of the IAM role to be used for this target when the schedule is triggered.", - "markdownDescription": "The Amazon Resource Name (ARN) of the IAM role to be used for this target when the schedule is triggered.\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 1600 \nPattern: ^arn:aws(-[a-z]+)?:iam::\\d{12}:role\\/[\\w+=,.@\\/-]+$ \nUpdate requires: No interruption" + "markdownDescription": "The Amazon Resource Name (ARN) of the IAM role to be used for this target when the schedule is triggered.\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 1600 \nPattern: ^arn:aws[a-z-]*:iam::\\d{12}:role\\/[\\w+=,.@\\/-]+$ \nUpdate requires: No interruption" }, "DeadLetterConfig": { "$ref": "#/definitions/DeadLetterConfig" @@ -552,7 +552,7 @@ "maxLength": 2048, "minLength": 1, "description": "The ARN for a KMS Key that will be used to encrypt customer data.", - "markdownDescription": "The ARN for a KMS Key that will be used to encrypt customer data.\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 2048 \nPattern: ^arn:aws(-[a-z]+)?:kms:[a-z0-9\\-]+:\\d{12}:(key|alias)\\/[0-9a-zA-Z-_]*$ \nUpdate requires: No interruption" + "markdownDescription": "The ARN for a KMS Key that will be used to encrypt customer data.\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 2048 \nPattern: ^arn:aws[a-z-]*:kms:[a-z0-9\\-]+:\\d{12}:(key|alias)\\/[0-9a-zA-Z-_]*$ \nUpdate requires: No interruption" }, "Name": { "type": "string", @@ -646,7 +646,7 @@ "maxLength": 1224, "minLength": 1, "description": "The Amazon Resource Name (ARN) of the schedule.", - "markdownDescription": "The Amazon Resource Name (ARN) of the schedule.\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 1224 \nPattern: ^arn:aws(-[a-z]+)?:scheduler:[a-z0-9\\-]+:\\d{12}:schedule\\/[0-9a-zA-Z-_.]+\\/[0-9a-zA-Z-_.]+$ \nUpdate requires: No interruption" + "markdownDescription": "The Amazon Resource Name (ARN) of the schedule.\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 1224 \nPattern: ^arn:aws[a-z-]*:scheduler:[a-z0-9\\-]+:\\d{12}:schedule\\/[0-9a-zA-Z-_.]+\\/[0-9a-zA-Z-_.]+$ \nUpdate requires: No interruption" } } } \ No newline at end of file diff --git a/server/schema/resources/aws-scheduler-schedulegroup.json b/server/schema/resources/aws-scheduler-schedulegroup.json index 8af06b97..3dd643b4 100644 --- a/server/schema/resources/aws-scheduler-schedulegroup.json +++ b/server/schema/resources/aws-scheduler-schedulegroup.json @@ -124,7 +124,7 @@ "maxLength": 1224, "minLength": 1, "description": "The Amazon Resource Name (ARN) of the schedule group.", - "markdownDescription": "The Amazon Resource Name (ARN) of the schedule group.\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 1224 \nPattern: ^arn:aws(-[a-z]+)?:scheduler:[a-z0-9\\-]+:\\d{12}:schedule-group\\/[0-9a-zA-Z-_.]+$ \nUpdate requires: No interruption" + "markdownDescription": "The Amazon Resource Name (ARN) of the schedule group.\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 1224 \nPattern: ^arn:aws[a-z-]*:scheduler:[a-z0-9\\-]+:\\d{12}:schedule-group\\/[0-9a-zA-Z-_.]+$ \nUpdate requires: No interruption" }, "CreationDate": { "type": "string", diff --git a/server/schema/resources/aws-secretsmanager-rotationschedule.json b/server/schema/resources/aws-secretsmanager-rotationschedule.json index 70fde88c..a28bf042 100644 --- a/server/schema/resources/aws-secretsmanager-rotationschedule.json +++ b/server/schema/resources/aws-secretsmanager-rotationschedule.json @@ -1,75 +1,130 @@ { + "tagging": { + "taggable": false + }, "typeName": "AWS::SecretsManager::RotationSchedule", + "readOnlyProperties": [ + "/properties/Id" + ], "description": "Resource Type definition for AWS::SecretsManager::RotationSchedule", - "additionalProperties": false, - "properties": { - "RotationLambdaARN": { - "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "createOnlyProperties": [ + "/properties/SecretId" + ], + "primaryIdentifier": [ + "/properties/Id" + ], + "required": [ + "SecretId" + ], + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-secretsmanager", + "handlers": { + "read": { + "permissions": [ + "secretsmanager:DescribeSecret" + ] }, - "RotationRules": { - "$ref": "#/definitions/RotationRules" + "create": { + "permissions": [ + "secretsmanager:RotateSecret", + "secretsmanager:DescribeSecret", + "lambda:InvokeFunction" + ] }, - "RotateImmediatelyOnUpdate": { - "type": "boolean", - "markdownDescription": "\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" + "update": { + "permissions": [ + "secretsmanager:RotateSecret", + "secretsmanager:DescribeSecret", + "lambda:InvokeFunction" + ] }, - "SecretId": { - "type": "string", - "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: Replacement" + "list": { + "permissions": [ + "secretsmanager:DescribeSecret", + "secretsmanager:ListSecrets" + ] }, - "HostedRotationLambda": { - "$ref": "#/definitions/HostedRotationLambda" + "delete": { + "permissions": [ + "secretsmanager:CancelRotateSecret", + "secretsmanager:DescribeSecret" + ] } }, + "writeOnlyProperties": [ + "/properties/RotateImmediatelyOnUpdate", + "/properties/HostedRotationLambda", + "/properties/HostedRotationLambda/ExcludeCharacters", + "/properties/HostedRotationLambda/KmsKeyArn", + "/properties/HostedRotationLambda/MasterSecretArn", + "/properties/HostedRotationLambda/MasterSecretKmsKeyArn", + "/properties/HostedRotationLambda/RotationLambdaName", + "/properties/HostedRotationLambda/RotationType", + "/properties/HostedRotationLambda/Runtime", + "/properties/HostedRotationLambda/SuperuserSecretArn", + "/properties/HostedRotationLambda/SuperuserSecretKmsKeyArn", + "/properties/HostedRotationLambda/VpcSecurityGroupIds", + "/properties/HostedRotationLambda/VpcSubnetIds" + ], + "additionalProperties": false, "definitions": { "HostedRotationLambda": { - "type": "object", "additionalProperties": false, + "type": "object", "properties": { "Runtime": { + "description": "The python runtime associated with the Lambda function", "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "markdownDescription": "The python runtime associated with the Lambda function\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, - "RotationType": { + "KmsKeyArn": { + "description": "The ARN of the KMS key that Secrets Manager uses to encrypt the secret. If you don't specify this value, then Secrets Manager uses the key aws/secretsmanager. If aws/secretsmanager doesn't yet exist, then Secrets Manager creates it for you automatically the first time it encrypts the secret value.", "type": "string", - "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" + "markdownDescription": "The ARN of the KMS key that Secrets Manager uses to encrypt the secret. If you don't specify this value, then Secrets Manager uses the key aws/secretsmanager. If aws/secretsmanager doesn't yet exist, then Secrets Manager creates it for you automatically the first time it encrypts the secret value.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, - "RotationLambdaName": { + "MasterSecretArn": { + "description": "The ARN of the secret that contains superuser credentials, if you use the alternating users rotation strategy. CloudFormation grants the execution role for the Lambda rotation function GetSecretValue permission to the secret in this property.", "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "markdownDescription": "The ARN of the secret that contains superuser credentials, if you use the alternating users rotation strategy. CloudFormation grants the execution role for the Lambda rotation function GetSecretValue permission to the secret in this property.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, - "KmsKeyArn": { + "RotationLambdaName": { + "description": "The name of the Lambda rotation function.", "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "markdownDescription": "The name of the Lambda rotation function.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, - "MasterSecretArn": { + "RotationType": { + "description": "The type of rotation template to use", "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "markdownDescription": "The type of rotation template to use\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" }, - "VpcSecurityGroupIds": { + "ExcludeCharacters": { + "description": "A string of the characters that you don't want in the password.", "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "markdownDescription": "A string of the characters that you don't want in the password.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, - "ExcludeCharacters": { + "VpcSecurityGroupIds": { + "description": "A comma-separated list of security group IDs applied to the target database.", "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "markdownDescription": "A comma-separated list of security group IDs applied to the target database.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, "MasterSecretKmsKeyArn": { + "description": "The ARN of the KMS key that Secrets Manager used to encrypt the superuser secret, if you use the alternating users strategy and the superuser secret is encrypted with a customer managed key. You don't need to specify this property if the superuser secret is encrypted using the key aws/secretsmanager. CloudFormation grants the execution role for the Lambda rotation function Decrypt, DescribeKey, and GenerateDataKey permission to the key in this property.", "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "markdownDescription": "The ARN of the KMS key that Secrets Manager used to encrypt the superuser secret, if you use the alternating users strategy and the superuser secret is encrypted with a customer managed key. You don't need to specify this property if the superuser secret is encrypted using the key aws/secretsmanager. CloudFormation grants the execution role for the Lambda rotation function Decrypt, DescribeKey, and GenerateDataKey permission to the key in this property.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, "SuperuserSecretArn": { + "description": "The ARN of the secret that contains superuser credentials, if you use the alternating users rotation strategy. CloudFormation grants the execution role for the Lambda rotation function GetSecretValue permission to the secret in this property.", "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "markdownDescription": "The ARN of the secret that contains superuser credentials, if you use the alternating users rotation strategy. CloudFormation grants the execution role for the Lambda rotation function GetSecretValue permission to the secret in this property.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, "SuperuserSecretKmsKeyArn": { + "description": "The ARN of the KMS key that Secrets Manager used to encrypt the superuser secret, if you use the alternating users strategy and the superuser secret is encrypted with a customer managed key. You don't need to specify this property if the superuser secret is encrypted using the key aws/secretsmanager. CloudFormation grants the execution role for the Lambda rotation function Decrypt, DescribeKey, and GenerateDataKey permission to the key in this property.", "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "markdownDescription": "The ARN of the KMS key that Secrets Manager used to encrypt the superuser secret, if you use the alternating users strategy and the superuser secret is encrypted with a customer managed key. You don't need to specify this property if the superuser secret is encrypted using the key aws/secretsmanager. CloudFormation grants the execution role for the Lambda rotation function Decrypt, DescribeKey, and GenerateDataKey permission to the key in this property.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, "VpcSubnetIds": { + "description": "A comma separated list of VPC subnet IDs of the target database network. The Lambda rotation function is in the same subnet group.", "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "markdownDescription": "A comma separated list of VPC subnet IDs of the target database network. The Lambda rotation function is in the same subnet group.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" } }, "required": [ @@ -78,41 +133,60 @@ "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, "RotationRules": { - "type": "object", "additionalProperties": false, + "type": "object", "properties": { "ScheduleExpression": { + "description": "A cron() or rate() expression that defines the schedule for rotating your secret. Secrets Manager rotation schedules use UTC time zone.", "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "markdownDescription": "A cron() or rate() expression that defines the schedule for rotating your secret. Secrets Manager rotation schedules use UTC time zone.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, "Duration": { + "description": "The length of the rotation window in hours, for example 3h for a three hour window. Secrets Manager rotates your secret at any time during this window. The window must not extend into the next rotation window or the next UTC day. The window starts according to the ScheduleExpression. If you don't specify a Duration, for a ScheduleExpression in hours, the window automatically closes after one hour. For a ScheduleExpression in days, the window automatically closes at the end of the UTC day.", "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "markdownDescription": "The length of the rotation window in hours, for example 3h for a three hour window. Secrets Manager rotates your secret at any time during this window. The window must not extend into the next rotation window or the next UTC day. The window starts according to the ScheduleExpression. If you don't specify a Duration, for a ScheduleExpression in hours, the window automatically closes after one hour. For a ScheduleExpression in days, the window automatically closes at the end of the UTC day.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, "AutomaticallyAfterDays": { + "description": "The number of days between automatic scheduled rotations of the secret. You can use this value to check that your secret meets your compliance guidelines for how often secrets must be rotated.", "type": "integer", - "markdownDescription": "\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" + "markdownDescription": "The number of days between automatic scheduled rotations of the secret. You can use this value to check that your secret meets your compliance guidelines for how often secrets must be rotated.\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" } }, "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" } }, - "required": [ - "SecretId" - ], - "createOnlyProperties": [ - "/properties/SecretId" - ], - "primaryIdentifier": [ - "/properties/Id" - ], - "readOnlyProperties": [ - "/properties/Id" - ], + "properties": { + "HostedRotationLambda": { + "description": "Creates a new Lambda rotation function based on one of the Secrets Manager rotation function templates. To use a rotation function that already exists, specify RotationLambdaARN instead.", + "$ref": "#/definitions/HostedRotationLambda", + "markdownDescription": "Creates a new Lambda rotation function based on one of the Secrets Manager rotation function templates. To use a rotation function that already exists, specify RotationLambdaARN instead.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" + }, + "SecretId": { + "description": "The ARN or name of the secret to rotate.", + "type": "string", + "markdownDescription": "The ARN or name of the secret to rotate.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: Replacement" + }, + "RotateImmediatelyOnUpdate": { + "description": "Specifies whether to rotate the secret immediately or wait until the next scheduled rotation window.", + "type": "boolean", + "markdownDescription": "Specifies whether to rotate the secret immediately or wait until the next scheduled rotation window.\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: No interruption" + }, + "RotationLambdaARN": { + "description": "The ARN of an existing Lambda rotation function. To specify a rotation function that is also defined in this template, use the Ref function.", + "type": "string", + "markdownDescription": "The ARN of an existing Lambda rotation function. To specify a rotation function that is also defined in this template, use the Ref function.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "RotationRules": { + "description": "A structure that defines the rotation configuration for this secret.", + "$ref": "#/definitions/RotationRules", + "markdownDescription": "A structure that defines the rotation configuration for this secret.\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" + } + }, "attributes": { "Id": { + "description": "The ARN of the secret.", "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "markdownDescription": "The ARN of the secret.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" } } } \ No newline at end of file diff --git a/server/schema/resources/aws-secretsmanager-secret.json b/server/schema/resources/aws-secretsmanager-secret.json index b3a8c70d..c4aa1a6a 100644 --- a/server/schema/resources/aws-secretsmanager-secret.json +++ b/server/schema/resources/aws-secretsmanager-secret.json @@ -1,5 +1,6 @@ { "typeName": "AWS::SecretsManager::Secret", + "$comment": "If you make any changes to this schema, be sure to also modify the regional schema template that generates schemas for contract tests: secret/templates/{region.region_name}_schema.json.erb", "$schema": "https://schema.cloudformation.us-east-1.amazonaws.com/provider.definition.schema.v1.json", "description": "Creates a new secret. A *secret* can be a password, a set of credentials such as a user name and password, an OAuth token, or other secret information that you store in an encrypted form in Secrets Manager.\n For RDS master user credentials, see [AWS::RDS::DBCluster MasterUserSecret](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rds-dbcluster-masterusersecret.html).\n For RS admin user credentials, see [AWS::Redshift::Cluster](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-redshift-cluster.html).\n To retrieve a secret in a CFNshort template, use a *dynamic reference*. For more information, see [Retrieve a secret in an resource](https://docs.aws.amazon.com/secretsmanager/latest/userguide/cfn-example_reference-secret.html).\n For information about creating a secret in the console, see [Create a secret](https://docs.aws.amazon.com/secretsmanager/latest/userguide/manage_create-basic-secret.html). For information about creating a secret using the CLI or SDK, see [CreateSecret](https://docs.aws.amazon.com/secretsmanager/latest/apireference/API_CreateSecret.html).\n For information about retrieving a secret in code, see [Retrieve secrets from Secrets Manager](https://docs.aws.amazon.com/secretsmanager/latest/userguide/retrieving-secrets.html).", "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-secretsmanager.git", diff --git a/server/schema/resources/aws-secretsmanager-secrettargetattachment.json b/server/schema/resources/aws-secretsmanager-secrettargetattachment.json index 32ba44d9..50a7ceb1 100644 --- a/server/schema/resources/aws-secretsmanager-secrettargetattachment.json +++ b/server/schema/resources/aws-secretsmanager-secrettargetattachment.json @@ -1,11 +1,12 @@ { "typeName": "AWS::SecretsManager::SecretTargetAttachment", + "$schema": "https://raw.githubusercontent.com/aws-cloudformation/cloudformation-resource-schema/blob/master/src/main/resources/schema/provider.definition.schema.v1.json", "description": "Resource Type definition for AWS::SecretsManager::SecretTargetAttachment", "additionalProperties": false, "properties": { "SecretId": { "type": "string", - "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: Replacement" }, "TargetType": { "type": "string", @@ -21,12 +22,61 @@ "TargetId", "SecretId" ], + "tagging": { + "taggable": false + }, "primaryIdentifier": [ "/properties/Id" ], "readOnlyProperties": [ "/properties/Id" ], + "createOnlyProperties": [ + "/properties/SecretId" + ], + "handlers": { + "read": { + "permissions": [ + "secretsmanager:GetSecretValue" + ] + }, + "list": { + "permissions": [ + "secretsmanager:GetSecretValue", + "secretsmanager:ListSecrets" + ] + }, + "create": { + "permissions": [ + "secretsmanager:GetSecretValue", + "secretsmanager:PutSecretValue", + "rds:DescribeDBInstances", + "redshift:DescribeClusters", + "rds:DescribeDBClusters", + "docdb-elastic:GetCluster", + "redshift-serverless:ListWorkgroups", + "redshift-serverless:GetNamespace" + ] + }, + "delete": { + "permissions": [ + "secretsmanager:GetSecretValue", + "secretsmanager:PutSecretValue" + ] + }, + "update": { + "permissions": [ + "secretsmanager:GetSecretValue", + "secretsmanager:PutSecretValue", + "rds:DescribeDBInstances", + "redshift:DescribeClusters", + "rds:DescribeDBClusters", + "docdb-elastic:GetCluster", + "redshift-serverless:ListWorkgroups", + "redshift-serverless:GetNamespace" + ] + } + }, "attributes": { "Id": { "type": "string", diff --git a/server/schema/resources/aws-securityhub-automationrule.json b/server/schema/resources/aws-securityhub-automationrule.json index a2cf2b4d..43c3d428 100644 --- a/server/schema/resources/aws-securityhub-automationrule.json +++ b/server/schema/resources/aws-securityhub-automationrule.json @@ -327,7 +327,7 @@ "type": "object", "properties": { "Status": { - "description": "The status of the investigation into the finding. The workflow status is specific to an individual finding. It does not affect the generation of new findings. For example, setting the workflow status to ``SUPPRESSED`` or ``RESOLVED`` does not prevent a new finding for the same issue.\n The allowed values are the following.\n + ``NEW`` - The initial state of a finding, before it is reviewed.\n Security Hub also resets ``WorkFlowStatus`` from ``NOTIFIED`` or ``RESOLVED`` to ``NEW`` in the following cases:\n + The record state changes from ``ARCHIVED`` to ``ACTIVE``.\n + The compliance status changes from ``PASSED`` to either ``WARNING``, ``FAILED``, or ``NOT_AVAILABLE``.\n \n + ``NOTIFIED`` - Indicates that you notified the resource owner about the security issue. Used when the initial reviewer is not the resource owner, and needs intervention from the resource owner.\n + ``RESOLVED`` - The finding was reviewed and remediated and is now considered resolved.\n + ``SUPPRESSED`` - Indicates that you reviewed the finding and do not believe that any action is needed. The finding is no longer updated.", + "description": "The status of the investigation into the finding. The workflow status is specific to an individual finding. It does not affect the generation of new findings. For example, setting the workflow status to ``SUPPRESSED`` or ``RESOLVED`` does not prevent a new finding for the same issue.\n The allowed values are the following.\n + ``NEW`` - The initial state of a finding, before it is reviewed.\n Security Hub also resets ``WorkFlowStatus`` from ``NOTIFIED`` or ``RESOLVED`` to ``NEW`` in the following cases:\n + The record state changes from ``ARCHIVED`` to ``ACTIVE``.\n + The compliance status changes from ``PASSED`` to either ``WARNING``, ``FAILED``, or ``NOT_AVAILABLE``.\n \n + ``NOTIFIED`` - Indicates that you notified the resource owner about the security issue. Used when the initial reviewer is not the resource owner, and needs intervention from the resource owner.\n + ``RESOLVED`` - The finding was reviewed and remediated and is now considered resolved.\n + ``SUPPRESSED`` - Indicates that you reviewed the finding and don't believe that any action is needed. The finding is no longer updated.", "type": "string", "enum": [ "NEW", @@ -335,7 +335,7 @@ "RESOLVED", "SUPPRESSED" ], - "markdownDescription": "The status of the investigation into the finding. The workflow status is specific to an individual finding. It does not affect the generation of new findings. For example, setting the workflow status to ``SUPPRESSED`` or ``RESOLVED`` does not prevent a new finding for the same issue.\n The allowed values are the following.\n + ``NEW`` - The initial state of a finding, before it is reviewed.\n Security Hub also resets ``WorkFlowStatus`` from ``NOTIFIED`` or ``RESOLVED`` to ``NEW`` in the following cases:\n + The record state changes from ``ARCHIVED`` to ``ACTIVE``.\n + The compliance status changes from ``PASSED`` to either ``WARNING``, ``FAILED``, or ``NOT_AVAILABLE``.\n \n + ``NOTIFIED`` - Indicates that you notified the resource owner about the security issue. Used when the initial reviewer is not the resource owner, and needs intervention from the resource owner.\n + ``RESOLVED`` - The finding was reviewed and remediated and is now considered resolved.\n + ``SUPPRESSED`` - Indicates that you reviewed the finding and do not believe that any action is needed. The finding is no longer updated.\n\n---\n\nRequired: Yes \nType: String \nAllowed Values: NEW | NOTIFIED | RESOLVED | SUPPRESSED \nUpdate requires: No interruption" + "markdownDescription": "The status of the investigation into the finding. The workflow status is specific to an individual finding. It does not affect the generation of new findings. For example, setting the workflow status to ``SUPPRESSED`` or ``RESOLVED`` does not prevent a new finding for the same issue.\n The allowed values are the following.\n + ``NEW`` - The initial state of a finding, before it is reviewed.\n Security Hub also resets ``WorkFlowStatus`` from ``NOTIFIED`` or ``RESOLVED`` to ``NEW`` in the following cases:\n + The record state changes from ``ARCHIVED`` to ``ACTIVE``.\n + The compliance status changes from ``PASSED`` to either ``WARNING``, ``FAILED``, or ``NOT_AVAILABLE``.\n \n + ``NOTIFIED`` - Indicates that you notified the resource owner about the security issue. Used when the initial reviewer is not the resource owner, and needs intervention from the resource owner.\n + ``RESOLVED`` - The finding was reviewed and remediated and is now considered resolved.\n + ``SUPPRESSED`` - Indicates that you reviewed the finding and don't believe that any action is needed. The finding is no longer updated.\n\n---\n\nRequired: Yes \nType: String \nAllowed Values: NEW | NOTIFIED | RESOLVED | SUPPRESSED \nUpdate requires: No interruption" } }, "required": [ @@ -367,8 +367,8 @@ }, "Normalized": { "$ref": "#/definitions/int100", - "description": "The normalized severity for the finding. This attribute is to be deprecated in favor of ``Label``.\n If you provide ``Normalized`` and do not provide ``Label``, ``Label`` is set automatically as follows.\n + 0 - ``INFORMATIONAL`` \n + 1\u201339 - ``LOW`` \n + 40\u201369 - ``MEDIUM`` \n + 70\u201389 - ``HIGH`` \n + 90\u2013100 - ``CRITICAL``", - "markdownDescription": "The normalized severity for the finding. This attribute is to be deprecated in favor of ``Label``.\n If you provide ``Normalized`` and do not provide ``Label``, ``Label`` is set automatically as follows.\n + 0 - ``INFORMATIONAL`` \n + 1\u201339 - ``LOW`` \n + 40\u201369 - ``MEDIUM`` \n + 70\u201389 - ``HIGH`` \n + 90\u2013100 - ``CRITICAL``\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" + "description": "The normalized severity for the finding. This attribute is to be deprecated in favor of ``Label``.\n If you provide ``Normalized`` and don't provide ``Label``, ``Label`` is set automatically as follows.\n + 0 - ``INFORMATIONAL`` \n + 1\u201339 - ``LOW`` \n + 40\u201369 - ``MEDIUM`` \n + 70\u201389 - ``HIGH`` \n + 90\u2013100 - ``CRITICAL``", + "markdownDescription": "The normalized severity for the finding. This attribute is to be deprecated in favor of ``Label``.\n If you provide ``Normalized`` and don't provide ``Label``, ``Label`` is set automatically as follows.\n + 0 - ``INFORMATIONAL`` \n + 1\u201339 - ``LOW`` \n + 40\u201369 - ``MEDIUM`` \n + 70\u201389 - ``HIGH`` \n + 90\u2013100 - ``CRITICAL``\n\n---\n\nRequired: No \nType: \nUpdate requires: No interruption" } }, "additionalProperties": false, @@ -447,16 +447,16 @@ "markdownDescription": "Identifies the finding fields that the automation rule action updates when a finding matches the defined criteria.\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, "AutomationRulesAction": { - "description": "One or more actions to update finding fields if a finding matches the defined criteria of the rule.", + "description": "One or more actions that ASHlong takes when a finding matches the defined criteria of a rule.", "type": "object", "properties": { "Type": { - "description": "Specifies that the rule action should update the ``Types`` finding field. The ``Types`` finding field classifies findings in the format of namespace/category/classifier. For more information, see [Types taxonomy for ASFF](https://docs.aws.amazon.com/securityhub/latest/userguide/securityhub-findings-format-type-taxonomy.html) in the *User Guide*.", + "description": "Specifies the type of action that Security Hub takes when a finding matches the defined criteria of a rule.", "type": "string", "enum": [ "FINDING_FIELDS_UPDATE" ], - "markdownDescription": "Specifies that the rule action should update the ``Types`` finding field. The ``Types`` finding field classifies findings in the format of namespace/category/classifier. For more information, see [Types taxonomy for ASFF](https://docs.aws.amazon.com/securityhub/latest/userguide/securityhub-findings-format-type-taxonomy.html) in the *User Guide*.\n\n---\n\nRequired: Yes \nType: String \nAllowed Values: FINDING_FIELDS_UPDATE \nUpdate requires: No interruption" + "markdownDescription": "Specifies the type of action that Security Hub takes when a finding matches the defined criteria of a rule.\n\n---\n\nRequired: Yes \nType: String \nAllowed Values: FINDING_FIELDS_UPDATE \nUpdate requires: No interruption" }, "FindingFieldsUpdate": { "$ref": "#/definitions/AutomationRulesFindingFieldsUpdate", @@ -468,7 +468,7 @@ "Type", "FindingFieldsUpdate" ], - "markdownDescription": "One or more actions to update finding fields if a finding matches the defined criteria of the rule.\n\n---\n\nRequired: No \nUpdate requires: No interruption" + "markdownDescription": "One or more actions that ASHlong takes when a finding matches the defined criteria of a rule.\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, "AutomationRulesFindingFilters": { "description": "The criteria that determine which findings a rule applies to.", diff --git a/server/schema/resources/aws-securityhub-findingaggregator.json b/server/schema/resources/aws-securityhub-findingaggregator.json index fda64f8c..8b177559 100644 --- a/server/schema/resources/aws-securityhub-findingaggregator.json +++ b/server/schema/resources/aws-securityhub-findingaggregator.json @@ -20,7 +20,7 @@ "markdownDescription": "Indicates whether to aggregate findings from all of the available Regions in the current partition. Also determines whether to automatically aggregate findings from new Regions as Security Hub supports them and you opt into them.\n The selected option also determines how to use the Regions provided in the Regions list.\n The options are as follows:\n + ``ALL_REGIONS`` - Aggregates findings from all of the Regions where Security Hub is enabled. When you choose this option, Security Hub also automatically aggregates findings from new Regions as Security Hub supports them and you opt into them. \n + ``ALL_REGIONS_EXCEPT_SPECIFIED`` - Aggregates findings from all of the Regions where Security Hub is enabled, except for the Regions listed in the ``Regions`` parameter. When you choose this option, Security Hub also automatically aggregates findings from new Regions as Security Hub supports them and you opt into them. \n + ``SPECIFIED_REGIONS`` - Aggregates findings only from the Regions listed in the ``Regions`` parameter. Security Hub does not automatically aggregate findings from new Regions. \n + ``NO_REGIONS`` - Aggregates no data because no Regions are selected as linked Regions.\n\n---\n\nRequired: Yes \nType: String \nAllowed Values: ALL_REGIONS | ALL_REGIONS_EXCEPT_SPECIFIED | SPECIFIED_REGIONS \nUpdate requires: No interruption" }, "Regions": { - "description": "If ``RegionLinkingMode`` is ``ALL_REGIONS_EXCEPT_SPECIFIED``, then this is a space-separated list of Regions that do not aggregate findings to the aggregation Region.\n If ``RegionLinkingMode`` is ``SPECIFIED_REGIONS``, then this is a space-separated list of Regions that do aggregate findings to the aggregation Region. \n An ``InvalidInputException`` error results if you populate this field while ``RegionLinkingMode`` is ``NO_REGIONS``.", + "description": "If ``RegionLinkingMode`` is ``ALL_REGIONS_EXCEPT_SPECIFIED``, then this is a space-separated list of Regions that don't replicate and send findings to the home Region.\n If ``RegionLinkingMode`` is ``SPECIFIED_REGIONS``, then this is a space-separated list of Regions that do replicate and send findings to the home Region. \n An ``InvalidInputException`` error results if you populate this field while ``RegionLinkingMode`` is ``NO_REGIONS``.", "type": "array", "insertionOrder": false, "uniqueItems": true, @@ -29,7 +29,7 @@ "items": { "$ref": "#/definitions/Region" }, - "markdownDescription": "If ``RegionLinkingMode`` is ``ALL_REGIONS_EXCEPT_SPECIFIED``, then this is a space-separated list of Regions that do not aggregate findings to the aggregation Region.\n If ``RegionLinkingMode`` is ``SPECIFIED_REGIONS``, then this is a space-separated list of Regions that do aggregate findings to the aggregation Region. \n An ``InvalidInputException`` error results if you populate this field while ``RegionLinkingMode`` is ``NO_REGIONS``.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + "markdownDescription": "If ``RegionLinkingMode`` is ``ALL_REGIONS_EXCEPT_SPECIFIED``, then this is a space-separated list of Regions that don't replicate and send findings to the home Region.\n If ``RegionLinkingMode`` is ``SPECIFIED_REGIONS``, then this is a space-separated list of Regions that do replicate and send findings to the home Region. \n An ``InvalidInputException`` error results if you populate this field while ``RegionLinkingMode`` is ``NO_REGIONS``.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" } }, "additionalProperties": false, diff --git a/server/schema/resources/aws-securitylake-datalake.json b/server/schema/resources/aws-securitylake-datalake.json index cf527ff4..41dc711c 100644 --- a/server/schema/resources/aws-securitylake-datalake.json +++ b/server/schema/resources/aws-securitylake-datalake.json @@ -96,7 +96,7 @@ "insertionOrder": false, "items": { "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nPattern: ^(af|ap|ca|eu|me|sa|us)-(central|north|(north(?:east|west))|south|south(?:east|west)|east|west)-\\d+$ \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nPattern: ^(us(-gov)?|af|ap|ca|eu|me|sa)-(central|north|(north(?:east|west))|south|south(?:east|west)|east|west)-\\d+$ \nUpdate requires: No interruption" }, "markdownDescription": "Replication enables automatic, asynchronous copying of objects across Amazon S3 buckets. Amazon S3 buckets that are configured for object replication can be owned by the same AWS account or by different accounts. You can replicate objects to a single destination bucket or to multiple destination buckets. The destination buckets can be in different AWS Regions or within the same Region as the source bucket.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" }, @@ -163,7 +163,12 @@ "tagOnCreate": true, "tagUpdatable": true, "cloudFormationSystemTags": false, - "tagProperty": "/properties/Tags" + "tagProperty": "/properties/Tags", + "permissions": [ + "securitylake:TagResource", + "securitylake:UntagResource", + "securitylake:ListTagsForResource" + ] }, "replacementStrategy": "delete_then_create", "handlers": { diff --git a/server/schema/resources/aws-securitylake-subscriber.json b/server/schema/resources/aws-securitylake-subscriber.json index 590096a9..a2a523ce 100644 --- a/server/schema/resources/aws-securitylake-subscriber.json +++ b/server/schema/resources/aws-securitylake-subscriber.json @@ -179,7 +179,12 @@ "tagOnCreate": true, "tagUpdatable": true, "cloudFormationSystemTags": false, - "tagProperty": "/properties/Tags" + "tagProperty": "/properties/Tags", + "permissions": [ + "securitylake:TagResource", + "securitylake:UntagResource", + "securitylake:ListTagsForResource" + ] }, "required": [ "AccessTypes", @@ -210,6 +215,7 @@ "securitylake:CreateDataLake", "securitylake:TagResource", "securitylake:GetSubscriber", + "securitylake:ListSubscribers", "securitylake:ListTagsForResource", "iam:GetRole", "iam:GetRolePolicy", diff --git a/server/schema/resources/aws-ses-configurationset.json b/server/schema/resources/aws-ses-configurationset.json index 0794e3e5..ac3deda8 100644 --- a/server/schema/resources/aws-ses-configurationset.json +++ b/server/schema/resources/aws-ses-configurationset.json @@ -30,6 +30,13 @@ "type": "string", "description": "The name of the dedicated IP pool to associate with the configuration set.", "markdownDescription": "The name of the dedicated IP pool to associate with the configuration set.\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "MaxDeliverySeconds": { + "type": "number", + "description": "Specifies the maximum time until which SES will retry sending emails", + "minimum": 300, + "maximum": 50400, + "markdownDescription": "Specifies the maximum time until which SES will retry sending emails\n\n---\n\nRequired: No \nType: Number \nUpdate requires: No interruption" } }, "markdownDescription": "An object that defines the dedicated IP pool that is used to send emails that you send using the configuration set.\n\n---\n\nRequired: No \nUpdate requires: No interruption" diff --git a/server/schema/resources/aws-sns-topic.json b/server/schema/resources/aws-sns-topic.json index ba42d704..344b3929 100644 --- a/server/schema/resources/aws-sns-topic.json +++ b/server/schema/resources/aws-sns-topic.json @@ -12,26 +12,6 @@ "KmsMasterKeyId": { "description": "The ID of an AWS managed customer master key (CMK) for SNS or a custom CMK. For more information, see [Key terms](https://docs.aws.amazon.com/sns/latest/dg/sns-server-side-encryption.html#sse-key-terms). For more examples, see ``KeyId`` in the *API Reference*.\n This property applies only to [server-side-encryption](https://docs.aws.amazon.com/sns/latest/dg/sns-server-side-encryption.html).", "type": "string", - "anyOf": [ - { - "relationshipRef": { - "typeName": "AWS::KMS::Key", - "propertyPath": "/properties/Arn" - } - }, - { - "relationshipRef": { - "typeName": "AWS::KMS::Key", - "propertyPath": "/properties/KeyId" - } - }, - { - "relationshipRef": { - "typeName": "AWS::KMS::Alias", - "propertyPath": "/properties/AliasName" - } - } - ], "markdownDescription": "The ID of an AWS managed customer master key (CMK) for SNS or a custom CMK. For more information, see [Key terms](https://docs.aws.amazon.com/sns/latest/dg/sns-server-side-encryption.html#sse-key-terms). For more examples, see ``KeyId`` in the *API Reference*.\n This property applies only to [server-side-encryption](https://docs.aws.amazon.com/sns/latest/dg/sns-server-side-encryption.html).\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, "DataProtectionPolicy": { @@ -129,20 +109,6 @@ "properties": { "Endpoint": { "type": "string", - "anyOf": [ - { - "relationshipRef": { - "typeName": "AWS::Lambda::Function", - "propertyPath": "/properties/Arn" - } - }, - { - "relationshipRef": { - "typeName": "AWS::SQS::Queue", - "propertyPath": "/properties/Arn" - } - } - ], "description": "The endpoint that receives notifications from the SNS topic. The endpoint value depends on the protocol that you specify. For more information, see the ``Endpoint`` parameter of the ``Subscribe`` action in the *API Reference*.", "markdownDescription": "The endpoint that receives notifications from the SNS topic. The endpoint value depends on the protocol that you specify. For more information, see the ``Endpoint`` parameter of the ``Subscribe`` action in the *API Reference*.\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" }, diff --git a/server/schema/resources/aws-sqs-queue.json b/server/schema/resources/aws-sqs-queue.json index 1d52a565..794a1102 100644 --- a/server/schema/resources/aws-sqs-queue.json +++ b/server/schema/resources/aws-sqs-queue.json @@ -1,6 +1,6 @@ { "typeName": "AWS::SQS::Queue", - "description": "The ``AWS::SQS::Queue`` resource creates an SQS standard or FIFO queue.\n Keep the following caveats in mind:\n + If you don't specify the ``FifoQueue`` property, SQS creates a standard queue.\n You can't change the queue type after you create it and you can't convert an existing standard queue into a FIFO queue. You must either create a new FIFO queue for your application or delete your existing standard queue and recreate it as a FIFO queue. For more information, see [Moving from a standard queue to a FIFO queue](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/FIFO-queues-moving.html) in the *Developer Guide*. \n + If you don't provide a value for a property, the queue is created with the default value for the property.\n + If you delete a queue, you must wait at least 60 seconds before creating a queue with the same name.\n + To successfully create a new queue, you must provide a queue name that adheres to the [limits related to queues](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/limits-queues.html) and is unique within the scope of your queues.\n \n For more information about creating FIFO (first-in-first-out) queues, see [Creating an queue ()](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/screate-queue-cloudformation.html) in the *Developer Guide*.", + "description": "The ``AWS::SQS::Queue`` resource creates an SQS standard or FIFO queue.\n Keep the following caveats in mind:\n + If you don't specify the ``FifoQueue`` property, SQS creates a standard queue.\n You can't change the queue type after you create it and you can't convert an existing standard queue into a FIFO queue. You must either create a new FIFO queue for your application or delete your existing standard queue and recreate it as a FIFO queue. For more information, see [Moving from a standard queue to a FIFO queue](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/FIFO-queues-moving.html) in the *Developer Guide*. \n + If you don't provide a value for a property, the queue is created with the default value for the property.\n + If you delete a queue, you must wait at least 60 seconds before creating a queue with the same name.\n + To successfully create a new queue, you must provide a queue name that adheres to the [limits related to queues](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/limits-queues.html) and is unique within the scope of your queues.\n \n For more information about creating FIFO (first-in-first-out) queues, see [Creating an queue ()](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/create-queue-cloudformation.html) in the *Developer Guide*.", "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-sqs.git", "definitions": { "Tag": { @@ -44,8 +44,8 @@ }, "FifoQueue": { "type": "boolean", - "description": "If set to true, creates a FIFO queue. If you don't specify this property, SQS creates a standard queue. For more information, see [FIFO queues](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/FIFO-queues.html) in the *Developer Guide*.", - "markdownDescription": "If set to true, creates a FIFO queue. If you don't specify this property, SQS creates a standard queue. For more information, see [FIFO queues](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/FIFO-queues.html) in the *Developer Guide*.\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: Replacement" + "description": "If set to true, creates a FIFO queue. If you don't specify this property, SQS creates a standard queue. For more information, see [Amazon SQS FIFO queues](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-fifo-queues.html) in the *Developer Guide*.", + "markdownDescription": "If set to true, creates a FIFO queue. If you don't specify this property, SQS creates a standard queue. For more information, see [Amazon SQS FIFO queues](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-fifo-queues.html) in the *Developer Guide*.\n\n---\n\nRequired: No \nType: Boolean \nUpdate requires: Replacement" }, "FifoThroughputLimit": { "description": "For high throughput for FIFO queues, specifies whether the FIFO queue throughput quota applies to the entire queue or per message group. Valid values are ``perQueue`` and ``perMessageGroupId``.\n To enable high throughput for a FIFO queue, set this attribute to ``perMessageGroupId`` *and* set the ``DeduplicationScope`` attribute to ``messageGroup``. If you set these attributes to anything other than these values, normal throughput is in effect and deduplication occurs as specified. For more information, see [High throughput for FIFO queues](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/high-throughput-fifo.html) and [Quotas related to messages](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/quotas-messages.html) in the *Developer Guide*.", @@ -59,8 +59,8 @@ }, "KmsMasterKeyId": { "type": "string", - "description": "The ID of an AWS Key Management Service (KMS) for SQS, or a custom KMS. To use the AWS managed KMS for SQS, specify a (default) alias ARN, alias name (e.g. ``alias/aws/sqs``), key ARN, or key ID. For more information, see the following:\n + [Encryption at rest](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-server-side-encryption.html) in the *Developer Guide* \n + [CreateQueue](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_CreateQueue.html) in the *API Reference* \n + [Request Parameters](https://docs.aws.amazon.com/kms/latest/APIReference/API_DescribeKey.html#API_DescribeKey_RequestParameters) in the *Key Management Service API Reference* \n + The Key Management Service (KMS) section of the [Best Practices](https://docs.aws.amazon.com/https://d0.awsstatic.com/whitepapers/aws-kms-best-practices.pdf) whitepaper", - "markdownDescription": "The ID of an AWS Key Management Service (KMS) for SQS, or a custom KMS. To use the AWS managed KMS for SQS, specify a (default) alias ARN, alias name (e.g. ``alias/aws/sqs``), key ARN, or key ID. For more information, see the following:\n + [Encryption at rest](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-server-side-encryption.html) in the *Developer Guide* \n + [CreateQueue](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_CreateQueue.html) in the *API Reference* \n + [Request Parameters](https://docs.aws.amazon.com/kms/latest/APIReference/API_DescribeKey.html#API_DescribeKey_RequestParameters) in the *Key Management Service API Reference* \n + The Key Management Service (KMS) section of the [Best Practices](https://docs.aws.amazon.com/https://d0.awsstatic.com/whitepapers/aws-kms-best-practices.pdf) whitepaper\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "description": "The ID of an AWS Key Management Service (KMS) for SQS, or a custom KMS. To use the AWS managed KMS for SQS, specify a (default) alias ARN, alias name (for example ``alias/aws/sqs``), key ARN, or key ID. For more information, see the following:\n + [Encryption at rest](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-server-side-encryption.html) in the *Developer Guide* \n + [CreateQueue](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_CreateQueue.html) in the *API Reference* \n + [Request Parameters](https://docs.aws.amazon.com/kms/latest/APIReference/API_DescribeKey.html#API_DescribeKey_RequestParameters) in the *Key Management Service API Reference* \n + The Key Management Service (KMS) section of the [Security best practices for Key Management Service](https://docs.aws.amazon.com/kms/latest/developerguide/best-practices.html) in the *Key Management Service Developer Guide*", + "markdownDescription": "The ID of an AWS Key Management Service (KMS) for SQS, or a custom KMS. To use the AWS managed KMS for SQS, specify a (default) alias ARN, alias name (for example ``alias/aws/sqs``), key ARN, or key ID. For more information, see the following:\n + [Encryption at rest](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-server-side-encryption.html) in the *Developer Guide* \n + [CreateQueue](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_CreateQueue.html) in the *API Reference* \n + [Request Parameters](https://docs.aws.amazon.com/kms/latest/APIReference/API_DescribeKey.html#API_DescribeKey_RequestParameters) in the *Key Management Service API Reference* \n + The Key Management Service (KMS) section of the [Security best practices for Key Management Service](https://docs.aws.amazon.com/kms/latest/developerguide/best-practices.html) in the *Key Management Service Developer Guide*\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, "SqsManagedSseEnabled": { "type": "boolean", @@ -79,8 +79,8 @@ }, "QueueName": { "type": "string", - "description": "A name for the queue. To create a FIFO queue, the name of your FIFO queue must end with the ``.fifo`` suffix. For more information, see [FIFO queues](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/FIFO-queues.html) in the *Developer Guide*.\n If you don't specify a name, CFN generates a unique physical ID and uses that ID for the queue name. For more information, see [Name type](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-name.html) in the *User Guide*. \n If you specify a name, you can't perform updates that require replacement of this resource. You can perform updates that require no or some interruption. If you must replace the resource, specify a new name.", - "markdownDescription": "A name for the queue. To create a FIFO queue, the name of your FIFO queue must end with the ``.fifo`` suffix. For more information, see [FIFO queues](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/FIFO-queues.html) in the *Developer Guide*.\n If you don't specify a name, CFN generates a unique physical ID and uses that ID for the queue name. For more information, see [Name type](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-name.html) in the *User Guide*. \n If you specify a name, you can't perform updates that require replacement of this resource. You can perform updates that require no or some interruption. If you must replace the resource, specify a new name.\n\n---\n\nRequired: No \nType: String \nUpdate requires: Replacement" + "description": "A name for the queue. To create a FIFO queue, the name of your FIFO queue must end with the ``.fifo`` suffix. For more information, see [Amazon SQS FIFO queues](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-fifo-queues.html) in the *Developer Guide*.\n If you don't specify a name, CFN generates a unique physical ID and uses that ID for the queue name. For more information, see [Name type](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-name.html) in the *User Guide*. \n If you specify a name, you can't perform updates that require replacement of this resource. You can perform updates that require no or some interruption. If you must replace the resource, specify a new name.", + "markdownDescription": "A name for the queue. To create a FIFO queue, the name of your FIFO queue must end with the ``.fifo`` suffix. For more information, see [Amazon SQS FIFO queues](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-fifo-queues.html) in the *Developer Guide*.\n If you don't specify a name, CFN generates a unique physical ID and uses that ID for the queue name. For more information, see [Name type](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-name.html) in the *User Guide*. \n If you specify a name, you can't perform updates that require replacement of this resource. You can perform updates that require no or some interruption. If you must replace the resource, specify a new name.\n\n---\n\nRequired: No \nType: String \nUpdate requires: Replacement" }, "ReceiveMessageWaitTimeSeconds": { "type": "integer", @@ -92,16 +92,16 @@ "object", "string" ], - "description": "The string that includes the parameters for the permissions for the dead-letter queue redrive permission and which source queues can specify dead-letter queues as a JSON object. The parameters are as follows:\n + ``redrivePermission``: The permission type that defines which source queues can specify the current queue as the dead-letter queue. Valid values are:\n + ``allowAll``: (Default) Any source queues in this AWS account in the same Region can specify this queue as the dead-letter queue.\n + ``denyAll``: No source queues can specify this queue as the dead-letter queue.\n + ``byQueue``: Only queues specified by the ``sourceQueueArns`` parameter can specify this queue as the dead-letter queue.\n \n + ``sourceQueueArns``: The Amazon Resource Names (ARN)s of the source queues that can specify this queue as the dead-letter queue and redrive messages. You can specify this parameter only when the ``redrivePermission`` parameter is set to ``byQueue``. You can specify up to 10 source queue ARNs. To allow more than 10 source queues to specify dead-letter queues, set the ``redrivePermission`` parameter to ``allowAll``.", - "markdownDescription": "The string that includes the parameters for the permissions for the dead-letter queue redrive permission and which source queues can specify dead-letter queues as a JSON object. The parameters are as follows:\n + ``redrivePermission``: The permission type that defines which source queues can specify the current queue as the dead-letter queue. Valid values are:\n + ``allowAll``: (Default) Any source queues in this AWS account in the same Region can specify this queue as the dead-letter queue.\n + ``denyAll``: No source queues can specify this queue as the dead-letter queue.\n + ``byQueue``: Only queues specified by the ``sourceQueueArns`` parameter can specify this queue as the dead-letter queue.\n \n + ``sourceQueueArns``: The Amazon Resource Names (ARN)s of the source queues that can specify this queue as the dead-letter queue and redrive messages. You can specify this parameter only when the ``redrivePermission`` parameter is set to ``byQueue``. You can specify up to 10 source queue ARNs. To allow more than 10 source queues to specify dead-letter queues, set the ``redrivePermission`` parameter to ``allowAll``.\n\n---\n\nRequired: No \nType: ['object', 'string'] \nUpdate requires: No interruption" + "description": "The string that includes the parameters for the permissions for the dead-letter queue redrive permission and which source queues can specify dead-letter queues as a JSON object. The parameters are as follows:\n + ``redrivePermission``: The permission type that defines which source queues can specify the current queue as the dead-letter queue. Valid values are:\n + ``allowAll``: (Default) Any source queues in this AWS account in the same Region can specify this queue as the dead-letter queue.\n + ``denyAll``: No source queues can specify this queue as the dead-letter queue.\n + ``byQueue``: Only queues specified by the ``sourceQueueArns`` parameter can specify this queue as the dead-letter queue.\n \n + ``sourceQueueArns``: The Amazon Resource Names (ARN)s of the source queues that can specify this queue as the dead-letter queue and redrive messages. You can specify this parameter only when the ``redrivePermission`` parameter is set to ``byQueue``. You can specify up to 10 source queue ARNs. To allow more than 10 source queues to specify dead-letter queues, set the ``redrivePermission`` parameter to ``allowAll``.", + "markdownDescription": "The string that includes the parameters for the permissions for the dead-letter queue redrive permission and which source queues can specify dead-letter queues as a JSON object. The parameters are as follows:\n + ``redrivePermission``: The permission type that defines which source queues can specify the current queue as the dead-letter queue. Valid values are:\n + ``allowAll``: (Default) Any source queues in this AWS account in the same Region can specify this queue as the dead-letter queue.\n + ``denyAll``: No source queues can specify this queue as the dead-letter queue.\n + ``byQueue``: Only queues specified by the ``sourceQueueArns`` parameter can specify this queue as the dead-letter queue.\n \n + ``sourceQueueArns``: The Amazon Resource Names (ARN)s of the source queues that can specify this queue as the dead-letter queue and redrive messages. You can specify this parameter only when the ``redrivePermission`` parameter is set to ``byQueue``. You can specify up to 10 source queue ARNs. To allow more than 10 source queues to specify dead-letter queues, set the ``redrivePermission`` parameter to ``allowAll``.\n\n---\n\nRequired: No \nType: ['object', 'string'] \nUpdate requires: No interruption" }, "RedrivePolicy": { "type": [ "object", "string" ], - "description": "The string that includes the parameters for the dead-letter queue functionality of the source queue as a JSON object. The parameters are as follows:\n + ``deadLetterTargetArn``: The Amazon Resource Name (ARN) of the dead-letter queue to which SQS moves messages after the value of ``maxReceiveCount`` is exceeded.\n + ``maxReceiveCount``: The number of times a message is delivered to the source queue before being moved to the dead-letter queue. When the ``ReceiveCount`` for a message exceeds the ``maxReceiveCount`` for a queue, SQS moves the message to the dead-letter-queue.\n \n The dead-letter queue of a FIFO queue must also be a FIFO queue. Similarly, the dead-letter queue of a standard queue must also be a standard queue.\n *JSON* \n ``{ \"deadLetterTargetArn\" : String, \"maxReceiveCount\" : Integer }`` \n *YAML* \n ``deadLetterTargetArn : String`` \n ``maxReceiveCount : Integer``", - "markdownDescription": "The string that includes the parameters for the dead-letter queue functionality of the source queue as a JSON object. The parameters are as follows:\n + ``deadLetterTargetArn``: The Amazon Resource Name (ARN) of the dead-letter queue to which SQS moves messages after the value of ``maxReceiveCount`` is exceeded.\n + ``maxReceiveCount``: The number of times a message is delivered to the source queue before being moved to the dead-letter queue. When the ``ReceiveCount`` for a message exceeds the ``maxReceiveCount`` for a queue, SQS moves the message to the dead-letter-queue.\n \n The dead-letter queue of a FIFO queue must also be a FIFO queue. Similarly, the dead-letter queue of a standard queue must also be a standard queue.\n *JSON* \n ``{ \"deadLetterTargetArn\" : String, \"maxReceiveCount\" : Integer }`` \n *YAML* \n ``deadLetterTargetArn : String`` \n ``maxReceiveCount : Integer``\n\n---\n\nRequired: No \nType: ['object', 'string'] \nUpdate requires: No interruption" + "description": "The string that includes the parameters for the dead-letter queue functionality of the source queue as a JSON object. The parameters are as follows:\n + ``deadLetterTargetArn``: The Amazon Resource Name (ARN) of the dead-letter queue to which SQS moves messages after the value of ``maxReceiveCount`` is exceeded.\n + ``maxReceiveCount``: The number of times a message is received by a consumer of the source queue before being moved to the dead-letter queue. When the ``ReceiveCount`` for a message exceeds the ``maxReceiveCount`` for a queue, SQS moves the message to the dead-letter-queue.\n \n The dead-letter queue of a FIFO queue must also be a FIFO queue. Similarly, the dead-letter queue of a standard queue must also be a standard queue.\n *JSON* \n ``{ \"deadLetterTargetArn\" : String, \"maxReceiveCount\" : Integer }`` \n *YAML* \n ``deadLetterTargetArn : String`` \n ``maxReceiveCount : Integer``", + "markdownDescription": "The string that includes the parameters for the dead-letter queue functionality of the source queue as a JSON object. The parameters are as follows:\n + ``deadLetterTargetArn``: The Amazon Resource Name (ARN) of the dead-letter queue to which SQS moves messages after the value of ``maxReceiveCount`` is exceeded.\n + ``maxReceiveCount``: The number of times a message is received by a consumer of the source queue before being moved to the dead-letter queue. When the ``ReceiveCount`` for a message exceeds the ``maxReceiveCount`` for a queue, SQS moves the message to the dead-letter-queue.\n \n The dead-letter queue of a FIFO queue must also be a FIFO queue. Similarly, the dead-letter queue of a standard queue must also be a standard queue.\n *JSON* \n ``{ \"deadLetterTargetArn\" : String, \"maxReceiveCount\" : Integer }`` \n *YAML* \n ``deadLetterTargetArn : String`` \n ``maxReceiveCount : Integer``\n\n---\n\nRequired: No \nType: ['object', 'string'] \nUpdate requires: No interruption" }, "Tags": { "type": "array", diff --git a/server/schema/resources/aws-sqs-queuepolicy.json b/server/schema/resources/aws-sqs-queuepolicy.json index 77b2c28d..7951f4f4 100644 --- a/server/schema/resources/aws-sqs-queuepolicy.json +++ b/server/schema/resources/aws-sqs-queuepolicy.json @@ -19,20 +19,6 @@ "insertionOrder": false, "items": { "type": "string", - "anyOf": [ - { - "relationshipRef": { - "typeName": "AWS::SQS::Queue", - "propertyPath": "/properties/QueueUrl" - } - }, - { - "relationshipRef": { - "typeName": "AWS::SQS::Queue", - "propertyPath": "/properties/QueueName" - } - } - ], "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" }, "markdownDescription": "The URLs of the queues to which you want to add the policy. You can use the ``Ref`` function to specify an ``AWS::SQS::Queue`` resource.\n\n---\n\nRequired: Yes \nType: Array \nUpdate requires: No interruption" diff --git a/server/schema/resources/aws-ssmquicksetup-configurationmanager.json b/server/schema/resources/aws-ssmquicksetup-configurationmanager.json index b9ef833f..2d32766c 100644 --- a/server/schema/resources/aws-ssmquicksetup-configurationmanager.json +++ b/server/schema/resources/aws-ssmquicksetup-configurationmanager.json @@ -129,11 +129,11 @@ "TagsMap": { "type": "object", "patternProperties": { - "^[A-Za-z0-9+=@_\\/:-]+$": { + "^[A-Za-z0-9+=@_\\/:.-]+$": { "type": "string", "maxLength": 256, "minLength": 1, - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 256 \nPattern: ^[A-Za-z0-9+=@_\\/:-]+$ \nUpdate requires: No interruption" + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 256 \nPattern: ^[A-Za-z0-9+=@_\\/:.-]+$ \nUpdate requires: No interruption" } }, "additionalProperties": false, diff --git a/server/schema/resources/aws-synthetics-canary.json b/server/schema/resources/aws-synthetics-canary.json index 2fd2da39..b9ec9c1d 100644 --- a/server/schema/resources/aws-synthetics-canary.json +++ b/server/schema/resources/aws-synthetics-canary.json @@ -411,7 +411,9 @@ "delete": { "permissions": [ "synthetics:DeleteCanary", - "synthetics:GetCanary" + "synthetics:GetCanary", + "lambda:DeleteFunction", + "lambda:DeleteLayerVersion" ] }, "list": { diff --git a/server/schema/resources/aws-transfer-server.json b/server/schema/resources/aws-transfer-server.json index 13f5b589..a0dc13ff 100644 --- a/server/schema/resources/aws-transfer-server.json +++ b/server/schema/resources/aws-transfer-server.json @@ -1,284 +1,512 @@ { "typeName": "AWS::Transfer::Server", - "description": "Resource Type definition for AWS::Transfer::Server", - "additionalProperties": false, - "properties": { - "LoggingRole": { - "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" - }, - "Protocols": { - "type": "array", - "uniqueItems": false, - "items": { - "$ref": "#/definitions/Protocol" - }, - "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" - }, - "IdentityProviderDetails": { - "$ref": "#/definitions/IdentityProviderDetails" - }, - "EndpointDetails": { - "$ref": "#/definitions/EndpointDetails" - }, - "StructuredLogDestinations": { - "type": "array", - "uniqueItems": false, - "items": { - "$ref": "#/definitions/StructuredLogDestination" - }, - "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" - }, - "PreAuthenticationLoginBanner": { - "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" - }, - "PostAuthenticationLoginBanner": { - "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" - }, - "EndpointType": { + "description": "Definition of AWS::Transfer::Server Resource Type", + "definitions": { + "As2Transport": { "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "enum": [ + "HTTP" + ], + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: HTTP \nUpdate requires: No interruption" }, - "SecurityPolicyName": { + "DirectoryListingOptimization": { "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" - }, - "ProtocolDetails": { - "$ref": "#/definitions/ProtocolDetails" - }, - "S3StorageOptions": { - "$ref": "#/definitions/S3StorageOptions" - }, - "WorkflowDetails": { - "$ref": "#/definitions/WorkflowDetails" + "description": "Indicates whether optimization to directory listing on S3 servers is used. Disabled by default for compatibility.", + "enum": [ + "ENABLED", + "DISABLED" + ], + "markdownDescription": "Indicates whether optimization to directory listing on S3 servers is used. Disabled by default for compatibility.\n\n---\n\nRequired: No \nType: String \nAllowed Values: ENABLED | DISABLED \nUpdate requires: No interruption" }, "Domain": { "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: Replacement" - }, - "IdentityProviderType": { - "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: Replacement" + "enum": [ + "S3", + "EFS" + ], + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: S3 | EFS \nUpdate requires: No interruption" }, - "Tags": { - "type": "array", - "uniqueItems": false, - "items": { - "$ref": "#/definitions/Tag" + "EndpointDetails": { + "type": "object", + "properties": { + "AddressAllocationIds": { + "type": "array", + "insertionOrder": true, + "items": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + }, + "SubnetIds": { + "type": "array", + "insertionOrder": true, + "items": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + }, + "VpcEndpointId": { + "type": "string", + "maxLength": 22, + "minLength": 22, + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMinimum Length: 22 \nMaximum Length: 22 \nPattern: ^vpce-[0-9a-f]{17}$ \nUpdate requires: No interruption" + }, + "VpcId": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + }, + "SecurityGroupIds": { + "type": "array", + "insertionOrder": false, + "items": { + "type": "string", + "maxLength": 20, + "minLength": 11, + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMinimum Length: 11 \nMaximum Length: 20 \nPattern: ^sg-[0-9a-f]{8,17}$ \nUpdate requires: No interruption" + }, + "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + } }, - "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + "additionalProperties": false, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: Some interruptions" }, - "Certificate": { + "EndpointType": { "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" - } - }, - "definitions": { - "StructuredLogDestination": { - "type": "object", - "additionalProperties": false, - "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + "enum": [ + "PUBLIC", + "VPC", + "VPC_ENDPOINT" + ], + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: PUBLIC | VPC | VPC_ENDPOINT \nUpdate requires: No interruption" }, "IdentityProviderDetails": { "type": "object", - "additionalProperties": false, "properties": { - "Function": { + "Url": { "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "maxLength": 255, + "minLength": 0, + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMaximum Length: 255 \nUpdate requires: No interruption" }, - "DirectoryId": { + "InvocationRole": { "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "maxLength": 2048, + "minLength": 20, + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMinimum Length: 20 \nMaximum Length: 2048 \nPattern: ^arn:.*role/\\S+$ \nUpdate requires: No interruption" }, - "Url": { + "DirectoryId": { "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "maxLength": 12, + "minLength": 12, + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMinimum Length: 12 \nMaximum Length: 12 \nPattern: ^d-[0-9a-f]{10}$ \nUpdate requires: No interruption" }, - "InvocationRole": { + "Function": { "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "maxLength": 170, + "minLength": 1, + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 170 \nPattern: ^arn:[a-z-]+:lambda:.*$ \nUpdate requires: No interruption" }, "SftpAuthenticationMethods": { - "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "$ref": "#/definitions/SftpAuthenticationMethods" } }, + "additionalProperties": false, "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, + "IdentityProviderType": { + "type": "string", + "enum": [ + "SERVICE_MANAGED", + "API_GATEWAY", + "AWS_DIRECTORY_SERVICE", + "AWS_LAMBDA" + ], + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: SERVICE_MANAGED | API_GATEWAY | AWS_DIRECTORY_SERVICE | AWS_LAMBDA \nUpdate requires: No interruption" + }, + "Protocol": { + "type": "string", + "enum": [ + "SFTP", + "FTP", + "FTPS", + "AS2" + ], + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: SFTP | FTP | FTPS | AS2 \nUpdate requires: No interruption" + }, "ProtocolDetails": { "type": "object", - "additionalProperties": false, "properties": { + "PassiveIp": { + "type": "string", + "maxLength": 15, + "minLength": 0, + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMaximum Length: 15 \nUpdate requires: No interruption" + }, + "TlsSessionResumptionMode": { + "$ref": "#/definitions/TlsSessionResumptionMode" + }, + "SetStatOption": { + "$ref": "#/definitions/SetStatOption" + }, "As2Transports": { "type": "array", - "uniqueItems": false, + "insertionOrder": false, "items": { "$ref": "#/definitions/As2Transport" }, + "maxItems": 1, + "minItems": 1, "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" - }, - "PassiveIp": { - "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" - }, - "SetStatOption": { - "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" - }, - "TlsSessionResumptionMode": { - "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" } }, + "additionalProperties": false, "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, "S3StorageOptions": { "type": "object", - "additionalProperties": false, "properties": { "DirectoryListingOptimization": { - "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "$ref": "#/definitions/DirectoryListingOptimization" } }, - "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" - }, - "WorkflowDetails": { - "type": "object", "additionalProperties": false, - "properties": { - "OnUpload": { - "type": "array", - "uniqueItems": false, - "items": { - "$ref": "#/definitions/WorkflowDetail" - }, - "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" - }, - "OnPartialUpload": { - "type": "array", - "uniqueItems": false, - "items": { - "$ref": "#/definitions/WorkflowDetail" - }, - "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" - } - }, "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, - "WorkflowDetail": { + "SetStatOption": { + "type": "string", + "enum": [ + "DEFAULT", + "ENABLE_NO_OP" + ], + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: DEFAULT | ENABLE_NO_OP \nUpdate requires: No interruption" + }, + "SftpAuthenticationMethods": { + "type": "string", + "enum": [ + "PASSWORD", + "PUBLIC_KEY", + "PUBLIC_KEY_OR_PASSWORD", + "PUBLIC_KEY_AND_PASSWORD" + ], + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: PASSWORD | PUBLIC_KEY | PUBLIC_KEY_OR_PASSWORD | PUBLIC_KEY_AND_PASSWORD \nUpdate requires: No interruption" + }, + "Tag": { "type": "object", - "additionalProperties": false, "properties": { - "WorkflowId": { + "Key": { "type": "string", - "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" + "maxLength": 128, + "minLength": 0, + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nMaximum Length: 128 \nUpdate requires: No interruption" }, - "ExecutionRole": { + "Value": { "type": "string", - "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" + "maxLength": 256, + "minLength": 0, + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nMaximum Length: 256 \nUpdate requires: No interruption" } }, "required": [ - "WorkflowId", - "ExecutionRole" + "Key", + "Value" ], + "additionalProperties": false, "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, - "Tag": { + "TlsSessionResumptionMode": { + "type": "string", + "enum": [ + "DISABLED", + "ENABLED", + "ENFORCED" + ], + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: DISABLED | ENABLED | ENFORCED \nUpdate requires: No interruption" + }, + "WorkflowDetail": { "type": "object", - "additionalProperties": false, "properties": { - "Value": { + "WorkflowId": { "type": "string", - "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" + "maxLength": 19, + "minLength": 19, + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 19 \nMaximum Length: 19 \nPattern: ^w-([a-z0-9]{17})$ \nUpdate requires: No interruption" }, - "Key": { + "ExecutionRole": { "type": "string", - "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" + "maxLength": 2048, + "minLength": 20, + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 20 \nMaximum Length: 2048 \nPattern: ^arn:.*role/\\S+$ \nUpdate requires: No interruption" } }, "required": [ - "Value", - "Key" + "ExecutionRole", + "WorkflowId" ], - "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" - }, - "Protocol": { - "type": "object", "additionalProperties": false, "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, - "EndpointDetails": { + "WorkflowDetails": { "type": "object", - "additionalProperties": false, "properties": { - "AddressAllocationIds": { - "type": "array", - "uniqueItems": false, - "items": { - "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" - }, - "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" - }, - "VpcId": { - "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" - }, - "VpcEndpointId": { - "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" - }, - "SecurityGroupIds": { + "OnUpload": { "type": "array", - "uniqueItems": false, + "insertionOrder": true, "items": { - "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "$ref": "#/definitions/WorkflowDetail" }, + "maxItems": 1, + "minItems": 0, "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" }, - "SubnetIds": { + "OnPartialUpload": { "type": "array", - "uniqueItems": false, + "insertionOrder": true, "items": { - "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "$ref": "#/definitions/WorkflowDetail" }, + "maxItems": 1, + "minItems": 0, "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" } }, - "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" - }, - "As2Transport": { - "type": "object", "additionalProperties": false, "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" } }, + "properties": { + "Certificate": { + "type": "string", + "maxLength": 1600, + "minLength": 0, + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMaximum Length: 1600 \nUpdate requires: No interruption" + }, + "Domain": { + "$ref": "#/definitions/Domain" + }, + "EndpointDetails": { + "$ref": "#/definitions/EndpointDetails" + }, + "EndpointType": { + "$ref": "#/definitions/EndpointType" + }, + "IdentityProviderDetails": { + "$ref": "#/definitions/IdentityProviderDetails" + }, + "IdentityProviderType": { + "$ref": "#/definitions/IdentityProviderType" + }, + "LoggingRole": { + "type": "string", + "maxLength": 2048, + "minLength": 0, + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMaximum Length: 2048 \nPattern: ^(|arn:.*role/\\S+)$ \nUpdate requires: No interruption" + }, + "PostAuthenticationLoginBanner": { + "type": "string", + "maxLength": 4096, + "minLength": 0, + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMaximum Length: 4096 \nPattern: ^[\\x09-\\x0D\\x20-\\x7E]*$ \nUpdate requires: No interruption" + }, + "PreAuthenticationLoginBanner": { + "type": "string", + "maxLength": 4096, + "minLength": 0, + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMaximum Length: 4096 \nPattern: ^[\\x09-\\x0D\\x20-\\x7E]*$ \nUpdate requires: No interruption" + }, + "ProtocolDetails": { + "$ref": "#/definitions/ProtocolDetails" + }, + "Protocols": { + "type": "array", + "insertionOrder": false, + "items": { + "$ref": "#/definitions/Protocol" + }, + "maxItems": 4, + "minItems": 1, + "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + }, + "S3StorageOptions": { + "$ref": "#/definitions/S3StorageOptions" + }, + "SecurityPolicyName": { + "type": "string", + "maxLength": 100, + "minLength": 0, + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMaximum Length: 100 \nPattern: ^TransferSecurityPolicy-.+$ \nUpdate requires: No interruption" + }, + "StructuredLogDestinations": { + "type": "array", + "insertionOrder": false, + "items": { + "type": "string", + "maxLength": 1600, + "minLength": 20, + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMinimum Length: 20 \nMaximum Length: 1600 \nPattern: ^arn:\\S+$ \nUpdate requires: No interruption" + }, + "maxItems": 1, + "minItems": 0, + "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + }, + "Tags": { + "type": "array", + "insertionOrder": false, + "items": { + "$ref": "#/definitions/Tag" + }, + "maxItems": 50, + "minItems": 1, + "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + }, + "WorkflowDetails": { + "$ref": "#/definitions/WorkflowDetails" + } + }, + "readOnlyProperties": [ + "/properties/Arn", + "/properties/As2ServiceManagedEgressIpAddresses", + "/properties/ServerId" + ], + "writeOnlyProperties": [ + "/properties/IdentityProviderType" + ], "createOnlyProperties": [ - "/properties/IdentityProviderType", - "/properties/Domain" + "/properties/Domain", + "/properties/IdentityProviderType" ], "primaryIdentifier": [ - "/properties/ServerId" - ], - "readOnlyProperties": [ - "/properties/ServerId", "/properties/Arn" ], + "additionalIdentifiers": [ + [ + "/properties/ServerId" + ] + ], + "handlers": { + "create": { + "permissions": [ + "apigateway:GET", + "ds:AuthorizeApplication", + "ds:DescribeDirectories", + "ec2:AssociateAddress", + "ec2:CreateVpcEndpoint", + "ec2:DescribeAddresses", + "ec2:DescribeNetworkInterfaces", + "ec2:DescribeVpcEndpoints", + "iam:PassRole", + "logs:CreateLogDelivery", + "logs:DeleteLogDelivery", + "logs:DescribeLogGroups", + "logs:DescribeResourcePolicies", + "logs:GetLogDelivery", + "logs:ListLogDeliveries", + "logs:PutResourcePolicy", + "logs:UpdateLogDelivery", + "transfer:CreateServer", + "transfer:DescribeServer", + "transfer:StartServer", + "transfer:StopServer", + "transfer:TagResource", + "transfer:UpdateServer" + ] + }, + "read": { + "permissions": [ + "ec2:DescribeVpcEndpoints", + "transfer:DescribeServer" + ] + }, + "update": { + "permissions": [ + "apigateway:GET", + "ec2:AssociateAddress", + "ec2:CreateVpcEndpoint", + "ec2:DeleteVpcEndpoints", + "ec2:DescribeAddresses", + "ec2:DescribeNetworkInterfaces", + "ec2:DescribeVpcEndpoints", + "ec2:DisassociateAddress", + "ec2:ModifyVpcEndpoint", + "iam:PassRole", + "logs:CreateLogDelivery", + "logs:DeleteLogDelivery", + "logs:DescribeLogGroups", + "logs:DescribeResourcePolicies", + "logs:GetLogDelivery", + "logs:ListLogDeliveries", + "logs:PutResourcePolicy", + "logs:UpdateLogDelivery", + "transfer:DescribeServer", + "transfer:StartServer", + "transfer:StopServer", + "transfer:TagResource", + "transfer:UnTagResource", + "transfer:UpdateServer" + ] + }, + "delete": { + "permissions": [ + "ds:DescribeDirectories", + "ds:UnauthorizeApplication", + "ec2:DeleteVpcEndpoints", + "ec2:DescribeAddresses", + "ec2:DescribeNetworkInterfaces", + "ec2:DescribeVpcEndpoints", + "ec2:DisassociateAddress", + "logs:DeleteLogDelivery", + "logs:GetLogDelivery", + "logs:ListLogDeliveries", + "transfer:DeleteServer" + ] + }, + "list": { + "permissions": [ + "transfer:ListServers" + ] + } + }, + "tagging": { + "cloudFormationSystemTags": true, + "permissions": [ + "transfer:TagResource", + "transfer:UnTagResource", + "transfer:ListTagsForResource" + ], + "tagOnCreate": true, + "tagProperty": "/properties/Tags", + "tagUpdatable": true, + "taggable": true + }, + "additionalProperties": false, + "conditionalCreateOnlyProperties": [ + "/properties/EndpointDetails", + "/properties/EndpointDetails/AddressAllocationIds" + ], + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-transfer", "attributes": { - "ServerId": { + "Arn": { "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "maxLength": 1600, + "minLength": 20, + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMinimum Length: 20 \nMaximum Length: 1600 \nPattern: ^arn:\\S+$ \nUpdate requires: No interruption" }, - "Arn": { + "As2ServiceManagedEgressIpAddresses": { + "type": "array", + "insertionOrder": false, + "items": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nPattern: ^\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}$ \nUpdate requires: No interruption" + }, + "description": "The list of egress IP addresses of this server. These IP addresses are only relevant for servers that use the AS2 protocol. They are used for sending asynchronous MDNs. These IP addresses are assigned automatically when you create an AS2 server. Additionally, if you update an existing server and add the AS2 protocol, static IP addresses are assigned as well.", + "markdownDescription": "The list of egress IP addresses of this server. These IP addresses are only relevant for servers that use the AS2 protocol. They are used for sending asynchronous MDNs. These IP addresses are assigned automatically when you create an AS2 server. Additionally, if you update an existing server and add the AS2 protocol, static IP addresses are assigned as well.\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + }, + "ServerId": { "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "maxLength": 19, + "minLength": 19, + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMinimum Length: 19 \nMaximum Length: 19 \nPattern: ^s-([0-9a-f]{17})$ \nUpdate requires: No interruption" } } } \ No newline at end of file diff --git a/server/schema/resources/aws-transfer-user.json b/server/schema/resources/aws-transfer-user.json index 61c79fc1..354e7ffa 100644 --- a/server/schema/resources/aws-transfer-user.json +++ b/server/schema/resources/aws-transfer-user.json @@ -1,135 +1,177 @@ { "typeName": "AWS::Transfer::User", - "description": "Resource Type definition for AWS::Transfer::User", - "additionalProperties": false, - "properties": { - "Policy": { - "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" - }, - "Role": { - "type": "string", - "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" - }, - "HomeDirectory": { - "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "description": "Definition of AWS::Transfer::User Resource Type", + "definitions": { + "HomeDirectoryMapEntry": { + "type": "object", + "properties": { + "Entry": { + "type": "string", + "maxLength": 1024, + "minLength": 0, + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nMaximum Length: 1024 \nPattern: ^/.*$ \nUpdate requires: No interruption" + }, + "Target": { + "type": "string", + "maxLength": 1024, + "minLength": 0, + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nMaximum Length: 1024 \nPattern: ^/.*$ \nUpdate requires: No interruption" + }, + "Type": { + "$ref": "#/definitions/MapType" + } + }, + "required": [ + "Entry", + "Target" + ], + "additionalProperties": false, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, "HomeDirectoryType": { "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" - }, - "ServerId": { - "type": "string", - "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: Replacement" + "enum": [ + "PATH", + "LOGICAL" + ], + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: PATH | LOGICAL \nUpdate requires: No interruption" }, - "UserName": { + "MapType": { "type": "string", - "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: Replacement" - }, - "HomeDirectoryMappings": { - "type": "array", - "uniqueItems": false, - "items": { - "$ref": "#/definitions/HomeDirectoryMapEntry" - }, - "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" - }, - "PosixProfile": { - "$ref": "#/definitions/PosixProfile" - }, - "SshPublicKeys": { - "type": "array", - "uniqueItems": false, - "items": { - "$ref": "#/definitions/SshPublicKey" - }, - "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" - }, - "Tags": { - "type": "array", - "uniqueItems": false, - "items": { - "$ref": "#/definitions/Tag" - }, - "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" - } - }, - "definitions": { - "SshPublicKey": { - "type": "object", - "additionalProperties": false, - "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + "enum": [ + "FILE", + "DIRECTORY" + ], + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: FILE | DIRECTORY \nUpdate requires: No interruption" }, "PosixProfile": { "type": "object", - "additionalProperties": false, "properties": { "Uid": { "type": "number", + "maximum": 4294967295, + "minimum": 0, + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: Number \nUpdate requires: No interruption" + }, + "Gid": { + "type": "number", + "maximum": 4294967295, + "minimum": 0, "markdownDescription": "\n\n---\n\nRequired: Yes \nType: Number \nUpdate requires: No interruption" }, "SecondaryGids": { "type": "array", - "uniqueItems": false, + "insertionOrder": false, "items": { "type": "number", + "maximum": 4294967295, + "minimum": 0, "markdownDescription": "\n\n---\n\nRequired: No \nType: Number \nUpdate requires: No interruption" }, + "maxItems": 16, + "minItems": 0, "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" - }, - "Gid": { - "type": "number", - "markdownDescription": "\n\n---\n\nRequired: Yes \nType: Number \nUpdate requires: No interruption" } }, "required": [ - "Uid", - "Gid" + "Gid", + "Uid" ], + "additionalProperties": false, "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" }, "Tag": { "type": "object", - "additionalProperties": false, "properties": { - "Value": { + "Key": { "type": "string", - "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" + "maxLength": 128, + "minLength": 0, + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nMaximum Length: 128 \nUpdate requires: No interruption" }, - "Key": { + "Value": { "type": "string", - "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" + "maxLength": 256, + "minLength": 0, + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nMaximum Length: 256 \nUpdate requires: No interruption" } }, "required": [ - "Value", - "Key" + "Key", + "Value" ], + "additionalProperties": false, "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + } + }, + "properties": { + "HomeDirectory": { + "type": "string", + "maxLength": 1024, + "minLength": 0, + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMaximum Length: 1024 \nPattern: ^(|/.*)$ \nUpdate requires: No interruption" }, - "HomeDirectoryMapEntry": { - "type": "object", - "additionalProperties": false, - "properties": { - "Entry": { - "type": "string", - "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" - }, - "Target": { - "type": "string", - "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nUpdate requires: No interruption" - }, - "Type": { - "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" - } + "HomeDirectoryMappings": { + "type": "array", + "insertionOrder": false, + "items": { + "$ref": "#/definitions/HomeDirectoryMapEntry" }, - "required": [ - "Entry", - "Target" - ], - "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + "maxItems": 50000, + "minItems": 1, + "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + }, + "HomeDirectoryType": { + "$ref": "#/definitions/HomeDirectoryType" + }, + "Policy": { + "type": "string", + "maxLength": 2048, + "minLength": 0, + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMaximum Length: 2048 \nUpdate requires: No interruption" + }, + "PosixProfile": { + "$ref": "#/definitions/PosixProfile" + }, + "Role": { + "type": "string", + "maxLength": 2048, + "minLength": 20, + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 20 \nMaximum Length: 2048 \nPattern: ^arn:.*role/\\S+$ \nUpdate requires: No interruption" + }, + "ServerId": { + "type": "string", + "maxLength": 19, + "minLength": 19, + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 19 \nMaximum Length: 19 \nPattern: ^s-([0-9a-f]{17})$ \nUpdate requires: Replacement" + }, + "SshPublicKeys": { + "type": "array", + "insertionOrder": false, + "items": { + "type": "string", + "maxLength": 2048, + "minLength": 0, + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMaximum Length: 2048 \nPattern: ^\\s*(ssh|ecdsa)-[a-z0-9-]+[ \\t]+(([A-Za-z0-9+/]{4})*([A-Za-z0-9+/]{1,3})?(={0,3})?)(\\s*|[ \\t]+[\\S \\t]*\\s*)$ \nUpdate requires: No interruption" + }, + "description": "This represents the SSH User Public Keys for CloudFormation resource", + "markdownDescription": "This represents the SSH User Public Keys for CloudFormation resource\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + }, + "Tags": { + "type": "array", + "insertionOrder": false, + "items": { + "$ref": "#/definitions/Tag" + }, + "maxItems": 50, + "minItems": 1, + "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + }, + "UserName": { + "type": "string", + "maxLength": 100, + "minLength": 3, + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 3 \nMaximum Length: 100 \nPattern: ^[\\w][\\w@.-]{2,99}$ \nUpdate requires: Replacement" } }, "required": [ @@ -137,25 +179,89 @@ "ServerId", "UserName" ], + "readOnlyProperties": [ + "/properties/Arn" + ], "createOnlyProperties": [ "/properties/ServerId", "/properties/UserName" ], "primaryIdentifier": [ - "/properties/Id" - ], - "readOnlyProperties": [ - "/properties/Id", "/properties/Arn" ], - "attributes": { - "Id": { - "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "additionalIdentifiers": [ + [ + "/properties/ServerId", + "/properties/UserName" + ] + ], + "handlers": { + "create": { + "permissions": [ + "iam:PassRole", + "transfer:CreateUser", + "transfer:DescribeUser", + "transfer:ImportSshPublicKey", + "transfer:TagResource" + ] + }, + "read": { + "permissions": [ + "transfer:DescribeUser" + ] }, + "update": { + "permissions": [ + "iam:PassRole", + "transfer:DeleteSshPublicKey", + "transfer:DescribeUser", + "transfer:ImportSshPublicKey", + "transfer:TagResource", + "transfer:UnTagResource", + "transfer:UpdateUser" + ] + }, + "delete": { + "permissions": [ + "transfer:DeleteUser" + ] + }, + "list": { + "permissions": [ + "transfer:ListUsers" + ], + "handlerSchema": { + "properties": { + "ServerId": { + "$ref": "resource-schema.json#/properties/ServerId" + } + }, + "required": [ + "ServerId" + ] + } + } + }, + "tagging": { + "cloudFormationSystemTags": true, + "permissions": [ + "transfer:TagResource", + "transfer:UnTagResource", + "transfer:ListTagsForResource" + ], + "tagOnCreate": true, + "tagProperty": "/properties/Tags", + "tagUpdatable": true, + "taggable": true + }, + "additionalProperties": false, + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-transfer", + "attributes": { "Arn": { "type": "string", - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nUpdate requires: No interruption" + "maxLength": 1600, + "minLength": 20, + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMinimum Length: 20 \nMaximum Length: 1600 \nPattern: ^arn:\\S+$ \nUpdate requires: No interruption" } } } \ No newline at end of file diff --git a/server/schema/resources/aws-vpclattice-accesslogsubscription.json b/server/schema/resources/aws-vpclattice-accesslogsubscription.json index d10fedc9..617f456e 100644 --- a/server/schema/resources/aws-vpclattice-accesslogsubscription.json +++ b/server/schema/resources/aws-vpclattice-accesslogsubscription.json @@ -37,8 +37,16 @@ "ResourceIdentifier": { "type": "string", "maxLength": 2048, - "minLength": 20, - "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMinimum Length: 20 \nMaximum Length: 2048 \nPattern: ^((((sn)|(svc))-[0-9a-z]{17})|(arn(:[a-z0-9]+([.-][a-z0-9]+)*){2}(:([a-z0-9]+([.-][a-z0-9]+)*)?){2}:((servicenetwork/sn)|(service/svc))-[0-9a-z]{17}))$ \nUpdate requires: Replacement" + "minLength": 17, + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMinimum Length: 17 \nMaximum Length: 2048 \nPattern: ^((((sn)|(svc)|(rcfg))-[0-9a-z]{17})|(arn(:[a-z0-9]+([.-][a-z0-9]+)*){2}(:([a-z0-9]+([.-][a-z0-9]+)*)?){2}:((servicenetwork/sn)|(resourceconfiguration/rcfg)|(service/svc))-[0-9a-z]{17}))$ \nUpdate requires: Replacement" + }, + "ServiceNetworkLogType": { + "type": "string", + "enum": [ + "SERVICE", + "RESOURCE" + ], + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: SERVICE | RESOURCE \nUpdate requires: No interruption" }, "Tags": { "type": "array", @@ -75,7 +83,9 @@ "/properties/Id" ], [ - "/properties/ResourceIdentifier" + "/properties/ResourceIdentifier", + "/properties/DestinationArn", + "/properties/ServiceNetworkLogType" ] ], "handlers": { diff --git a/server/schema/resources/aws-vpclattice-servicenetwork.json b/server/schema/resources/aws-vpclattice-servicenetwork.json index b14027b8..fb030271 100644 --- a/server/schema/resources/aws-vpclattice-servicenetwork.json +++ b/server/schema/resources/aws-vpclattice-servicenetwork.json @@ -3,6 +3,20 @@ "description": "A service network is a logical boundary for a collection of services. You can associate services and VPCs with a service network.", "additionalProperties": false, "definitions": { + "SharingConfig": { + "type": "object", + "additionalProperties": false, + "properties": { + "enabled": { + "type": "boolean", + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: Boolean \nUpdate requires: No interruption" + } + }, + "required": [ + "enabled" + ], + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, "Tag": { "type": "object", "additionalProperties": false, @@ -53,6 +67,9 @@ "$ref": "#/definitions/Tag" }, "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + }, + "SharingConfig": { + "$ref": "#/definitions/SharingConfig" } }, "readOnlyProperties": [ diff --git a/server/schema/resources/aws-wafv2-ipset.json b/server/schema/resources/aws-wafv2-ipset.json index 371fa945..2cee502b 100644 --- a/server/schema/resources/aws-wafv2-ipset.json +++ b/server/schema/resources/aws-wafv2-ipset.json @@ -118,10 +118,11 @@ ], "additionalProperties": false, "tagging": { - "cloudFormationSystemTags": false, - "tagOnCreate": false, - "tagUpdatable": false, - "taggable": false + "cloudFormationSystemTags": true, + "tagOnCreate": true, + "tagUpdatable": true, + "taggable": true, + "tagProperty": "/properties/Tags" }, "handlers": { "create": { @@ -147,7 +148,9 @@ "permissions": [ "wafv2:UpdateIPSet", "wafv2:GetIPSet", - "wafv2:ListTagsForResource" + "wafv2:ListTagsForResource", + "wafv2:TagResource", + "wafv2:UntagResource" ] }, "list": { diff --git a/server/schema/resources/aws-wafv2-regexpatternset.json b/server/schema/resources/aws-wafv2-regexpatternset.json index 5bb94640..a0a5fb59 100644 --- a/server/schema/resources/aws-wafv2-regexpatternset.json +++ b/server/schema/resources/aws-wafv2-regexpatternset.json @@ -79,10 +79,11 @@ ], "additionalProperties": false, "tagging": { - "cloudFormationSystemTags": false, - "tagOnCreate": false, - "tagUpdatable": false, - "taggable": false + "cloudFormationSystemTags": true, + "tagOnCreate": true, + "tagUpdatable": true, + "taggable": true, + "tagProperty": "/properties/Tags" }, "handlers": { "create": { @@ -108,7 +109,9 @@ "permissions": [ "wafv2:UpdateRegexPatternSet", "wafv2:GetRegexPatternSet", - "wafv2:ListTagsForResource" + "wafv2:ListTagsForResource", + "wafv2:TagResource", + "wafv2:UntagResource" ] }, "list": { diff --git a/server/schema/resources/aws-wafv2-rulegroup.json b/server/schema/resources/aws-wafv2-rulegroup.json index 0f73b7b7..3dcbdb5e 100644 --- a/server/schema/resources/aws-wafv2-rulegroup.json +++ b/server/schema/resources/aws-wafv2-rulegroup.json @@ -510,7 +510,7 @@ }, "RateLimit": { "type": "integer", - "minimum": 100, + "minimum": 10, "maximum": 2000000000, "markdownDescription": "\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" }, @@ -1537,10 +1537,11 @@ ], "additionalProperties": false, "tagging": { - "cloudFormationSystemTags": false, - "tagOnCreate": false, - "tagUpdatable": false, - "taggable": false + "cloudFormationSystemTags": true, + "tagOnCreate": true, + "tagUpdatable": true, + "taggable": true, + "tagProperty": "/properties/Tags" }, "handlers": { "create": { @@ -1564,6 +1565,8 @@ }, "update": { "permissions": [ + "wafv2:TagResource", + "wafv2:UntagResource", "wafv2:UpdateRuleGroup", "wafv2:GetRuleGroup", "wafv2:ListTagsForResource" diff --git a/server/schema/resources/aws-wafv2-webacl.json b/server/schema/resources/aws-wafv2-webacl.json index 72546d1f..ffe0fe06 100644 --- a/server/schema/resources/aws-wafv2-webacl.json +++ b/server/schema/resources/aws-wafv2-webacl.json @@ -647,7 +647,7 @@ }, "RateLimit": { "type": "integer", - "minimum": 100, + "minimum": 10, "maximum": 2000000000, "markdownDescription": "\n\n---\n\nRequired: No \nType: Integer \nUpdate requires: No interruption" }, @@ -2125,10 +2125,11 @@ ], "additionalProperties": false, "tagging": { - "cloudFormationSystemTags": false, - "tagOnCreate": false, - "tagUpdatable": false, - "taggable": false + "cloudFormationSystemTags": true, + "tagOnCreate": true, + "tagUpdatable": true, + "taggable": true, + "tagProperty": "/properties/Tags" }, "handlers": { "create": { @@ -2154,7 +2155,9 @@ "permissions": [ "wafv2:UpdateWebACL", "wafv2:GetWebACL", - "wafv2:ListTagsForResource" + "wafv2:ListTagsForResource", + "wafv2:TagResource", + "wafv2:UntagResource" ] }, "list": { diff --git a/server/schema/resources/aws-wisdom-aiagent.json b/server/schema/resources/aws-wisdom-aiagent.json new file mode 100644 index 00000000..0a8ba156 --- /dev/null +++ b/server/schema/resources/aws-wisdom-aiagent.json @@ -0,0 +1,390 @@ +{ + "typeName": "AWS::Wisdom::AIAgent", + "description": "Definition of AWS::Wisdom::AIAgent Resource Type", + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-rpdk.git", + "definitions": { + "AIAgentAssociationConfigurationType": { + "type": "string", + "enum": [ + "KNOWLEDGE_BASE" + ], + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: KNOWLEDGE_BASE \nUpdate requires: No interruption" + }, + "AIAgentConfiguration": { + "oneOf": [ + { + "type": "object", + "title": "ManualSearchAIAgentConfiguration", + "properties": { + "ManualSearchAIAgentConfiguration": { + "$ref": "#/definitions/ManualSearchAIAgentConfiguration" + } + }, + "required": [ + "ManualSearchAIAgentConfiguration" + ], + "additionalProperties": false + }, + { + "type": "object", + "title": "AnswerRecommendationAIAgentConfiguration", + "properties": { + "AnswerRecommendationAIAgentConfiguration": { + "$ref": "#/definitions/AnswerRecommendationAIAgentConfiguration" + } + }, + "required": [ + "AnswerRecommendationAIAgentConfiguration" + ], + "additionalProperties": false + } + ] + }, + "AIAgentType": { + "type": "string", + "enum": [ + "MANUAL_SEARCH", + "ANSWER_RECOMMENDATION" + ], + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: MANUAL_SEARCH | ANSWER_RECOMMENDATION \nUpdate requires: No interruption" + }, + "AnswerRecommendationAIAgentConfiguration": { + "type": "object", + "properties": { + "IntentLabelingGenerationAIPromptId": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nPattern: ^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}(:[A-Z0-9_$]+){0,1}$ \nUpdate requires: No interruption" + }, + "QueryReformulationAIPromptId": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nPattern: ^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}(:[A-Z0-9_$]+){0,1}$ \nUpdate requires: No interruption" + }, + "AnswerGenerationAIPromptId": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nPattern: ^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}(:[A-Z0-9_$]+){0,1}$ \nUpdate requires: No interruption" + }, + "AssociationConfigurations": { + "type": "array", + "items": { + "$ref": "#/definitions/AssociationConfiguration" + }, + "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + } + }, + "additionalProperties": false, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "AssociationConfiguration": { + "type": "object", + "properties": { + "AssociationId": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nPattern: ^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$ \nUpdate requires: No interruption" + }, + "AssociationType": { + "$ref": "#/definitions/AIAgentAssociationConfigurationType" + }, + "AssociationConfigurationData": { + "$ref": "#/definitions/AssociationConfigurationData" + } + }, + "additionalProperties": false, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "AssociationConfigurationData": { + "oneOf": [ + { + "type": "object", + "title": "KnowledgeBaseAssociationConfigurationData", + "properties": { + "KnowledgeBaseAssociationConfigurationData": { + "$ref": "#/definitions/KnowledgeBaseAssociationConfigurationData" + } + }, + "required": [ + "KnowledgeBaseAssociationConfigurationData" + ], + "additionalProperties": false + } + ] + }, + "KnowledgeBaseAssociationConfigurationData": { + "type": "object", + "properties": { + "ContentTagFilter": { + "$ref": "#/definitions/TagFilter" + }, + "MaxResults": { + "type": "number", + "maximum": 100, + "minimum": 1, + "markdownDescription": "\n\n---\n\nRequired: No \nType: Number \nUpdate requires: No interruption" + }, + "OverrideKnowledgeBaseSearchType": { + "$ref": "#/definitions/KnowledgeBaseSearchType" + } + }, + "additionalProperties": false, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "KnowledgeBaseSearchType": { + "type": "string", + "enum": [ + "HYBRID", + "SEMANTIC" + ], + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: HYBRID | SEMANTIC \nUpdate requires: No interruption" + }, + "ManualSearchAIAgentConfiguration": { + "type": "object", + "properties": { + "AnswerGenerationAIPromptId": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nPattern: ^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}(:[A-Z0-9_$]+){0,1}$ \nUpdate requires: No interruption" + }, + "AssociationConfigurations": { + "type": "array", + "items": { + "$ref": "#/definitions/AssociationConfiguration" + }, + "markdownDescription": "\n\n---\n\nRequired: No \nType: Array \nUpdate requires: No interruption" + } + }, + "additionalProperties": false, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "OrCondition": { + "oneOf": [ + { + "type": "object", + "title": "AndConditions", + "properties": { + "AndConditions": { + "type": "array", + "items": { + "$ref": "#/definitions/TagCondition" + } + } + }, + "required": [ + "AndConditions" + ], + "additionalProperties": false + }, + { + "type": "object", + "title": "TagCondition", + "properties": { + "TagCondition": { + "$ref": "#/definitions/TagCondition" + } + }, + "required": [ + "TagCondition" + ], + "additionalProperties": false + } + ] + }, + "TagCondition": { + "type": "object", + "properties": { + "Key": { + "type": "string", + "maxLength": 128, + "minLength": 1, + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 128 \nPattern: ^(?!aws:)[a-zA-Z+-=._:/]+$ \nUpdate requires: No interruption" + }, + "Value": { + "type": "string", + "maxLength": 256, + "minLength": 1, + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 256 \nUpdate requires: No interruption" + } + }, + "required": [ + "Key" + ], + "additionalProperties": false, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "TagFilter": { + "oneOf": [ + { + "type": "object", + "title": "TagCondition", + "properties": { + "TagCondition": { + "$ref": "#/definitions/TagCondition" + } + }, + "required": [ + "TagCondition" + ], + "additionalProperties": false + }, + { + "type": "object", + "title": "AndConditions", + "properties": { + "AndConditions": { + "type": "array", + "items": { + "$ref": "#/definitions/TagCondition" + } + } + }, + "required": [ + "AndConditions" + ], + "additionalProperties": false + }, + { + "type": "object", + "title": "OrConditions", + "properties": { + "OrConditions": { + "type": "array", + "items": { + "$ref": "#/definitions/OrCondition" + } + } + }, + "required": [ + "OrConditions" + ], + "additionalProperties": false + } + ] + }, + "Tags": { + "type": "object", + "patternProperties": { + "^(?!aws:)[a-zA-Z+-=._:/]+$": { + "type": "string", + "maxLength": 256, + "minLength": 1, + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 256 \nUpdate requires: No interruption" + } + }, + "additionalProperties": false, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + } + }, + "properties": { + "AssistantId": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nPattern: ^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$|^arn:[a-z-]*?:wisdom:[a-z0-9-]*?:[0-9]{12}:[a-z-]*?/[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}(?:/[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}){0,2}$ \nUpdate requires: Replacement" + }, + "Configuration": { + "$ref": "#/definitions/AIAgentConfiguration" + }, + "Description": { + "type": "string", + "maxLength": 255, + "minLength": 1, + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 255 \nPattern: ^[a-zA-Z0-9\\s_.,-]+ \nUpdate requires: No interruption" + }, + "Name": { + "type": "string", + "maxLength": 255, + "minLength": 1, + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 255 \nPattern: ^[a-zA-Z0-9\\s_.,-]+ \nUpdate requires: Replacement" + }, + "Tags": { + "$ref": "#/definitions/Tags" + }, + "Type": { + "$ref": "#/definitions/AIAgentType" + } + }, + "required": [ + "AssistantId", + "Configuration", + "Type" + ], + "readOnlyProperties": [ + "/properties/AIAgentArn", + "/properties/AIAgentId", + "/properties/AssistantArn" + ], + "createOnlyProperties": [ + "/properties/AssistantId", + "/properties/Name", + "/properties/Tags", + "/properties/Type" + ], + "primaryIdentifier": [ + "/properties/AIAgentId", + "/properties/AssistantId" + ], + "additionalIdentifiers": [ + [ + "/properties/AIAgentArn", + "/properties/AssistantArn" + ] + ], + "tagging": { + "taggable": true, + "tagOnCreate": true, + "tagUpdatable": false, + "cloudFormationSystemTags": false, + "tagProperty": "/properties/Tags", + "permissions": [ + "wisdom:TagResource" + ] + }, + "handlers": { + "create": { + "permissions": [ + "wisdom:CreateAIAgent", + "wisdom:TagResource" + ] + }, + "read": { + "permissions": [ + "wisdom:GetAIAgent" + ] + }, + "update": { + "permissions": [ + "wisdom:UpdateAIAgent" + ] + }, + "delete": { + "permissions": [ + "wisdom:DeleteAIAgent" + ] + }, + "list": { + "permissions": [ + "wisdom:ListAIAgents" + ], + "handlerSchema": { + "properties": { + "AssistantId": { + "$ref": "resource-schema.json#/properties/AssistantId" + } + }, + "required": [ + "AssistantId" + ] + } + } + }, + "additionalProperties": false, + "attributes": { + "AIAgentId": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nPattern: ^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}(:[A-Z0-9_$]+){0,1}$|^arn:[a-z-]*?:wisdom:[a-z0-9-]*?:[0-9]{12}:[a-z-]*?/[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}(?:/[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}){0,2}(:[A-Z0-9_$]+){0,1}$ \nUpdate requires: No interruption" + }, + "AIAgentArn": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nPattern: ^arn:[a-z-]*?:wisdom:[a-z0-9-]*?:[0-9]{12}:[a-z-]*?/[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}(?:/[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}){0,2}$ \nUpdate requires: No interruption" + }, + "AssistantArn": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nPattern: ^arn:[a-z-]*?:wisdom:[a-z0-9-]*?:[0-9]{12}:[a-z-]*?/[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}(?:/[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}){0,2}$ \nUpdate requires: No interruption" + } + } +} \ No newline at end of file diff --git a/server/schema/resources/aws-wisdom-aiagentversion.json b/server/schema/resources/aws-wisdom-aiagentversion.json new file mode 100644 index 00000000..e5d5f4b6 --- /dev/null +++ b/server/schema/resources/aws-wisdom-aiagentversion.json @@ -0,0 +1,114 @@ +{ + "typeName": "AWS::Wisdom::AIAgentVersion", + "description": "Definition of AWS::Wisdom::AIAgentVersion Resource Type", + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-rpdk.git", + "definitions": {}, + "properties": { + "AIAgentId": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nPattern: ^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$ \nUpdate requires: Replacement" + }, + "AssistantId": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nPattern: ^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$ \nUpdate requires: Replacement" + }, + "ModifiedTimeSeconds": { + "type": "number", + "markdownDescription": "\n\n---\n\nRequired: No \nType: Number \nUpdate requires: Replacement" + } + }, + "additionalProperties": false, + "tagging": { + "taggable": false, + "tagOnCreate": false, + "tagUpdatable": false, + "cloudFormationSystemTags": false + }, + "required": [ + "AssistantId", + "AIAgentId" + ], + "createOnlyProperties": [ + "/properties/AssistantId", + "/properties/AIAgentId", + "/properties/ModifiedTimeSeconds" + ], + "readOnlyProperties": [ + "/properties/AIAgentVersionId", + "/properties/AIAgentArn", + "/properties/AssistantArn", + "/properties/VersionNumber" + ], + "primaryIdentifier": [ + "/properties/AssistantId", + "/properties/AIAgentId", + "/properties/VersionNumber" + ], + "additionalIdentifiers": [ + [ + "/properties/AIAgentArn", + "/properties/AssistantArn" + ] + ], + "handlers": { + "create": { + "permissions": [ + "wisdom:CreateAIAgentVersion" + ] + }, + "read": { + "permissions": [ + "wisdom:GetAIAgent", + "wisdom:GetAIAgentVersion" + ] + }, + "update": { + "permissions": [ + "wisdom:GetAIAgent", + "wisdom:GetAIAgentVersion" + ] + }, + "delete": { + "permissions": [ + "wisdom:DeleteAIAgentVersion" + ] + }, + "list": { + "permissions": [ + "wisdom:ListAIAgentVersions" + ], + "handlerSchema": { + "properties": { + "AssistantId": { + "$ref": "resource-schema.json#/properties/AssistantId" + }, + "AIAgentId": { + "$ref": "resource-schema.json#/properties/AIAgentId" + } + }, + "required": [ + "AssistantId", + "AIAgentId" + ] + } + } + }, + "attributes": { + "AIAgentArn": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nPattern: ^arn:[a-z-]*?:wisdom:[a-z0-9-]*?:[0-9]{12}:[a-z-]*?/[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}(?:/[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12})?$ \nUpdate requires: No interruption" + }, + "AssistantArn": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nPattern: ^arn:[a-z-]*?:wisdom:[a-z0-9-]*?:[0-9]{12}:[a-z-]*?/[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}(?:/[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12})?$ \nUpdate requires: No interruption" + }, + "AIAgentVersionId": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nPattern: ^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}(:[A-Z0-9_$]+){0,1}$ \nUpdate requires: No interruption" + }, + "VersionNumber": { + "type": "number", + "markdownDescription": "\n\n---\n\nRequired: No \nType: Number \nUpdate requires: No interruption" + } + } +} \ No newline at end of file diff --git a/server/schema/resources/aws-wisdom-aiprompt.json b/server/schema/resources/aws-wisdom-aiprompt.json new file mode 100644 index 00000000..a6f7b2fc --- /dev/null +++ b/server/schema/resources/aws-wisdom-aiprompt.json @@ -0,0 +1,212 @@ +{ + "typeName": "AWS::Wisdom::AIPrompt", + "description": "Definition of AWS::Wisdom::AIPrompt Resource Type", + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-rpdk.git", + "definitions": { + "AIPromptAPIFormat": { + "type": "string", + "enum": [ + "ANTHROPIC_CLAUDE_MESSAGES", + "ANTHROPIC_CLAUDE_TEXT_COMPLETIONS" + ], + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: ANTHROPIC_CLAUDE_MESSAGES | ANTHROPIC_CLAUDE_TEXT_COMPLETIONS \nUpdate requires: No interruption" + }, + "AIPromptTemplateConfiguration": { + "type": "object", + "oneOf": [ + { + "type": "object", + "title": "TextFullAIPromptEditTemplateConfiguration", + "properties": { + "TextFullAIPromptEditTemplateConfiguration": { + "$ref": "#/definitions/TextFullAIPromptEditTemplateConfiguration" + } + }, + "required": [ + "TextFullAIPromptEditTemplateConfiguration" + ], + "additionalProperties": false + } + ], + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "AIPromptTemplateType": { + "type": "string", + "enum": [ + "TEXT" + ], + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: TEXT \nUpdate requires: No interruption" + }, + "AIPromptType": { + "type": "string", + "enum": [ + "ANSWER_GENERATION", + "INTENT_LABELING_GENERATION", + "QUERY_REFORMULATION" + ], + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nAllowed Values: ANSWER_GENERATION | INTENT_LABELING_GENERATION | QUERY_REFORMULATION \nUpdate requires: No interruption" + }, + "Tags": { + "type": "object", + "patternProperties": { + "^(?!aws:)[a-zA-Z+-=._:/]+$": { + "type": "string", + "maxLength": 256, + "minLength": 1, + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 256 \nUpdate requires: No interruption" + } + }, + "additionalProperties": false, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + }, + "TextFullAIPromptEditTemplateConfiguration": { + "type": "object", + "properties": { + "Text": { + "type": "string", + "maxLength": 200000, + "minLength": 1, + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 200000 \nUpdate requires: No interruption" + } + }, + "required": [ + "Text" + ], + "additionalProperties": false, + "markdownDescription": "\n\n---\n\nRequired: No \nUpdate requires: No interruption" + } + }, + "properties": { + "ApiFormat": { + "$ref": "#/definitions/AIPromptAPIFormat" + }, + "AssistantId": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nPattern: ^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$|^arn:[a-z-]*?:wisdom:[a-z0-9-]*?:[0-9]{12}:[a-z-]*?/[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}(?:/[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}){0,2}$ \nUpdate requires: Replacement" + }, + "Description": { + "type": "string", + "maxLength": 255, + "minLength": 1, + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 255 \nPattern: ^[a-zA-Z0-9\\s_.,-]+ \nUpdate requires: No interruption" + }, + "ModelId": { + "type": "string", + "maxLength": 2048, + "minLength": 1, + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nMinimum Length: 1 \nMaximum Length: 2048 \nUpdate requires: Replacement" + }, + "Name": { + "type": "string", + "maxLength": 255, + "minLength": 1, + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nMinimum Length: 1 \nMaximum Length: 255 \nPattern: ^[a-zA-Z0-9\\s_.,-]+ \nUpdate requires: Replacement" + }, + "Tags": { + "$ref": "#/definitions/Tags" + }, + "TemplateConfiguration": { + "$ref": "#/definitions/AIPromptTemplateConfiguration" + }, + "TemplateType": { + "$ref": "#/definitions/AIPromptTemplateType" + }, + "Type": { + "$ref": "#/definitions/AIPromptType" + } + }, + "required": [ + "ApiFormat", + "ModelId", + "TemplateConfiguration", + "TemplateType", + "Type" + ], + "readOnlyProperties": [ + "/properties/AIPromptArn", + "/properties/AIPromptId", + "/properties/AssistantArn" + ], + "createOnlyProperties": [ + "/properties/ApiFormat", + "/properties/AssistantId", + "/properties/ModelId", + "/properties/Name", + "/properties/Tags", + "/properties/TemplateType", + "/properties/Type" + ], + "primaryIdentifier": [ + "/properties/AIPromptId", + "/properties/AssistantId" + ], + "additionalIdentifiers": [ + [ + "/properties/AIPromptArn", + "/properties/AssistantArn" + ] + ], + "tagging": { + "taggable": true, + "tagOnCreate": true, + "tagUpdatable": false, + "cloudFormationSystemTags": false, + "tagProperty": "/properties/Tags", + "permissions": [ + "wisdom:TagResource" + ] + }, + "handlers": { + "create": { + "permissions": [ + "wisdom:CreateAIPrompt", + "wisdom:TagResource" + ] + }, + "read": { + "permissions": [ + "wisdom:GetAIPrompt" + ] + }, + "update": { + "permissions": [ + "wisdom:UpdateAIPrompt" + ] + }, + "delete": { + "permissions": [ + "wisdom:DeleteAIPrompt" + ] + }, + "list": { + "permissions": [ + "wisdom:ListAIPrompts" + ], + "handlerSchema": { + "properties": { + "AssistantId": { + "$ref": "resource-schema.json#/properties/AssistantId" + } + }, + "required": [ + "AssistantId" + ] + } + } + }, + "additionalProperties": false, + "attributes": { + "AIPromptId": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nPattern: ^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}(:[A-Z0-9_$]+){0,1}$|^arn:[a-z-]*?:wisdom:[a-z0-9-]*?:[0-9]{12}:[a-z-]*?/[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}(?:/[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}){0,2}(:[A-Z0-9_$]+){0,1}$ \nUpdate requires: No interruption" + }, + "AIPromptArn": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nPattern: ^arn:[a-z-]*?:wisdom:[a-z0-9-]*?:[0-9]{12}:[a-z-]*?/[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}(?:/[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}){0,2}$ \nUpdate requires: No interruption" + }, + "AssistantArn": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nPattern: ^arn:[a-z-]*?:wisdom:[a-z0-9-]*?:[0-9]{12}:[a-z-]*?/[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}(?:/[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}){0,2}$ \nUpdate requires: No interruption" + } + } +} \ No newline at end of file diff --git a/server/schema/resources/aws-wisdom-aipromptversion.json b/server/schema/resources/aws-wisdom-aipromptversion.json new file mode 100644 index 00000000..0f2d1858 --- /dev/null +++ b/server/schema/resources/aws-wisdom-aipromptversion.json @@ -0,0 +1,114 @@ +{ + "typeName": "AWS::Wisdom::AIPromptVersion", + "description": "Definition of AWS::Wisdom::AIPromptVersion Resource Type", + "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-rpdk.git", + "definitions": {}, + "properties": { + "AIPromptId": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nPattern: ^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$ \nUpdate requires: Replacement" + }, + "AssistantId": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: Yes \nType: String \nPattern: ^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$ \nUpdate requires: Replacement" + }, + "ModifiedTimeSeconds": { + "type": "number", + "markdownDescription": "\n\n---\n\nRequired: No \nType: Number \nUpdate requires: Replacement" + } + }, + "additionalProperties": false, + "tagging": { + "taggable": false, + "tagOnCreate": false, + "tagUpdatable": false, + "cloudFormationSystemTags": false + }, + "required": [ + "AssistantId", + "AIPromptId" + ], + "createOnlyProperties": [ + "/properties/AssistantId", + "/properties/AIPromptId", + "/properties/ModifiedTimeSeconds" + ], + "readOnlyProperties": [ + "/properties/AIPromptArn", + "/properties/AIPromptVersionId", + "/properties/AssistantArn", + "/properties/VersionNumber" + ], + "primaryIdentifier": [ + "/properties/AssistantId", + "/properties/AIPromptId", + "/properties/VersionNumber" + ], + "additionalIdentifiers": [ + [ + "/properties/AIPromptArn", + "/properties/AssistantArn" + ] + ], + "handlers": { + "create": { + "permissions": [ + "wisdom:CreateAIPromptVersion" + ] + }, + "read": { + "permissions": [ + "wisdom:GetAIPrompt", + "wisdom:GetAIPromptVersion" + ] + }, + "update": { + "permissions": [ + "wisdom:GetAIPrompt", + "wisdom:GetAIPromptVersion" + ] + }, + "delete": { + "permissions": [ + "wisdom:DeleteAIPromptVersion" + ] + }, + "list": { + "permissions": [ + "wisdom:ListAIPromptVersions" + ], + "handlerSchema": { + "properties": { + "AssistantId": { + "$ref": "resource-schema.json#/properties/AssistantId" + }, + "AIPromptId": { + "$ref": "resource-schema.json#/properties/AIPromptId" + } + }, + "required": [ + "AssistantId", + "AIPromptId" + ] + } + } + }, + "attributes": { + "AIPromptArn": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nPattern: ^arn:[a-z-]*?:wisdom:[a-z0-9-]*?:[0-9]{12}:[a-z-]*?/[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}(?:/[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12})?$ \nUpdate requires: No interruption" + }, + "AssistantArn": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nPattern: ^arn:[a-z-]*?:wisdom:[a-z0-9-]*?:[0-9]{12}:[a-z-]*?/[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}(?:/[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12})?$ \nUpdate requires: No interruption" + }, + "AIPromptVersionId": { + "type": "string", + "markdownDescription": "\n\n---\n\nRequired: No \nType: String \nPattern: ^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}(:[A-Z0-9_$]+){0,1}$ \nUpdate requires: No interruption" + }, + "VersionNumber": { + "type": "number", + "markdownDescription": "\n\n---\n\nRequired: No \nType: Number \nUpdate requires: No interruption" + } + } +} \ No newline at end of file diff --git a/server/schema/resources/aws-workspacesthinclient-environment.json b/server/schema/resources/aws-workspacesthinclient-environment.json index 7847d770..a227926f 100644 --- a/server/schema/resources/aws-workspacesthinclient-environment.json +++ b/server/schema/resources/aws-workspacesthinclient-environment.json @@ -199,7 +199,12 @@ "tagOnCreate": true, "tagUpdatable": true, "cloudFormationSystemTags": true, - "tagProperty": "/properties/Tags" + "tagProperty": "/properties/Tags", + "permissions": [ + "thinclient:UntagResource", + "thinclient:ListTagsForResource", + "thinclient:TagResource" + ] }, "additionalProperties": false, "required": [ @@ -271,7 +276,7 @@ }, "list": { "permissions": [ - "thinclient:ListEnvironment", + "thinclient:ListEnvironments", "thinclient:ListTagsForResource", "kms:Decrypt" ]