diff --git a/src/cfnlint/data/DownloadsMetadata/49ed0265aaab90ce485c07e02ea671e5aa3b299156f53fa9d1fd8eeabec5a268.meta.json b/src/cfnlint/data/DownloadsMetadata/49ed0265aaab90ce485c07e02ea671e5aa3b299156f53fa9d1fd8eeabec5a268.meta.json index e399139e04..399e3bd76a 100644 --- a/src/cfnlint/data/DownloadsMetadata/49ed0265aaab90ce485c07e02ea671e5aa3b299156f53fa9d1fd8eeabec5a268.meta.json +++ b/src/cfnlint/data/DownloadsMetadata/49ed0265aaab90ce485c07e02ea671e5aa3b299156f53fa9d1fd8eeabec5a268.meta.json @@ -1 +1 @@ -{"etag": "\"53206caf0a912443cf54433ca53640cc\"", "url": "https://schema.cloudformation.ap-southeast-5.amazonaws.com/CloudformationSchema.zip"} +{"etag": "\"0efada59551b92b6ffa4ab8c8a55f07f\"", "url": "https://schema.cloudformation.ap-southeast-5.amazonaws.com/CloudformationSchema.zip"} diff --git a/src/cfnlint/data/DownloadsMetadata/56584c7d00e444de640bef01fc2c630804470222e5e4c690bacef5312891581d.meta.json b/src/cfnlint/data/DownloadsMetadata/56584c7d00e444de640bef01fc2c630804470222e5e4c690bacef5312891581d.meta.json index 52d3ff2cfc..066631289a 100644 --- a/src/cfnlint/data/DownloadsMetadata/56584c7d00e444de640bef01fc2c630804470222e5e4c690bacef5312891581d.meta.json +++ b/src/cfnlint/data/DownloadsMetadata/56584c7d00e444de640bef01fc2c630804470222e5e4c690bacef5312891581d.meta.json @@ -1 +1 @@ -{"etag": "\"006fe6e3441c0a4d351967ca928a5911\"", "url": "https://schema.cloudformation.ap-south-1.amazonaws.com/CloudformationSchema.zip"} +{"etag": "\"a39b1e43bcf584e04ddcb8b54742099b\"", "url": "https://schema.cloudformation.ap-south-1.amazonaws.com/CloudformationSchema.zip"} diff --git a/src/cfnlint/data/DownloadsMetadata/c7ada205073390b33b7593ef8f304b9705f2567698dfdfa979bf0ccdb68cb856.meta.json b/src/cfnlint/data/DownloadsMetadata/c7ada205073390b33b7593ef8f304b9705f2567698dfdfa979bf0ccdb68cb856.meta.json index a94b5c96ef..313370839f 100644 --- a/src/cfnlint/data/DownloadsMetadata/c7ada205073390b33b7593ef8f304b9705f2567698dfdfa979bf0ccdb68cb856.meta.json +++ b/src/cfnlint/data/DownloadsMetadata/c7ada205073390b33b7593ef8f304b9705f2567698dfdfa979bf0ccdb68cb856.meta.json @@ -1 +1 @@ -{"etag": "\"13f9773ff3847cc0389b2d3aef6580db\"", "url": "https://schema.cloudformation.sa-east-1.amazonaws.com/CloudformationSchema.zip"} +{"etag": "\"5cc60e4a06bc61d72475ae66f42cc0d6\"", "url": "https://schema.cloudformation.sa-east-1.amazonaws.com/CloudformationSchema.zip"} diff --git a/src/cfnlint/data/DownloadsMetadata/e8b3dacc1675b478e8c7392b51f41467cf908a34e6b4c3fb3e97e2b584f651ca.meta.json b/src/cfnlint/data/DownloadsMetadata/e8b3dacc1675b478e8c7392b51f41467cf908a34e6b4c3fb3e97e2b584f651ca.meta.json index 2ace2e04a6..acce7b3d8f 100644 --- a/src/cfnlint/data/DownloadsMetadata/e8b3dacc1675b478e8c7392b51f41467cf908a34e6b4c3fb3e97e2b584f651ca.meta.json +++ b/src/cfnlint/data/DownloadsMetadata/e8b3dacc1675b478e8c7392b51f41467cf908a34e6b4c3fb3e97e2b584f651ca.meta.json @@ -1 +1 @@ -{"etag": "\"9d64f6d39a333de13f2c1185be345f45\"", "url": "https://schema.cloudformation.eu-west-3.amazonaws.com/CloudformationSchema.zip"} +{"etag": "\"57c7798e6c50708cc6693dfac187be3c\"", "url": "https://schema.cloudformation.eu-west-3.amazonaws.com/CloudformationSchema.zip"} diff --git a/src/cfnlint/data/DownloadsMetadata/fa657351d8e89c40ba6b82c4b1f5e1b5e50a1638ffe0a5dba0d8805c190a05f8.meta.json b/src/cfnlint/data/DownloadsMetadata/fa657351d8e89c40ba6b82c4b1f5e1b5e50a1638ffe0a5dba0d8805c190a05f8.meta.json index de3b28b459..58756a824a 100644 --- a/src/cfnlint/data/DownloadsMetadata/fa657351d8e89c40ba6b82c4b1f5e1b5e50a1638ffe0a5dba0d8805c190a05f8.meta.json +++ b/src/cfnlint/data/DownloadsMetadata/fa657351d8e89c40ba6b82c4b1f5e1b5e50a1638ffe0a5dba0d8805c190a05f8.meta.json @@ -1 +1 @@ -{"etag": "\"c898334d4cc2e4f77ecde066091efb0a\"", "url": "https://schema.cloudformation.eu-west-1.amazonaws.com/CloudformationSchema.zip"} +{"etag": "\"0fcb1875ba34c616da3187d11f95a20f\"", "url": "https://schema.cloudformation.eu-west-1.amazonaws.com/CloudformationSchema.zip"} diff --git a/src/cfnlint/data/Serverless/ManagedPolicies.json b/src/cfnlint/data/Serverless/ManagedPolicies.json index fcd9496af0..0024326d98 100644 --- a/src/cfnlint/data/Serverless/ManagedPolicies.json +++ b/src/cfnlint/data/Serverless/ManagedPolicies.json @@ -517,6 +517,7 @@ "AWSServiceRoleForMonitronPolicy": "arn:aws:iam::aws:policy/aws-service-role/AWSServiceRoleForMonitronPolicy", "AWSServiceRoleForNeptuneGraphPolicy": "arn:aws:iam::aws:policy/aws-service-role/AWSServiceRoleForNeptuneGraphPolicy", "AWSServiceRoleForPrivateMarketplaceAdminPolicy": "arn:aws:iam::aws:policy/aws-service-role/AWSServiceRoleForPrivateMarketplaceAdminPolicy", + "AWSServiceRoleForProcurementInsightsPolicy": "arn:aws:iam::aws:policy/aws-service-role/AWSServiceRoleForProcurementInsightsPolicy", "AWSServiceRoleForSMS": "arn:aws:iam::aws:policy/aws-service-role/AWSServiceRoleForSMS", "AWSServiceRoleForUserSubscriptions": "arn:aws:iam::aws:policy/aws-service-role/AWSServiceRoleForUserSubscriptions", "AWSServiceRolePolicyForBackupReports": "arn:aws:iam::aws:policy/aws-service-role/AWSServiceRolePolicyForBackupReports", diff --git a/src/cfnlint/data/schemas/providers/ap_south_1/__init__.py b/src/cfnlint/data/schemas/providers/ap_south_1/__init__.py index 3105f2686e..2f8acc271f 100644 --- a/src/cfnlint/data/schemas/providers/ap_south_1/__init__.py +++ b/src/cfnlint/data/schemas/providers/ap_south_1/__init__.py @@ -1301,7 +1301,6 @@ "aws-chatbot-microsoftteamschannelconfiguration.json", "aws-chatbot-slackchannelconfiguration.json", "aws-cloud9-environmentec2.json", - "aws-cloudformation-customresource.json", "aws-cloudformation-hookdefaultversion.json", "aws-cloudformation-hooktypeconfig.json", "aws-cloudformation-hookversion.json", @@ -1494,6 +1493,7 @@ "aws-ec2-localgatewayroutetable.json", "aws-ec2-localgatewayroutetablevirtualinterfacegroupassociation.json", "aws-ec2-localgatewayroutetablevpcassociation.json", + "aws-ec2-natgateway.json", "aws-ec2-networkacl.json", "aws-ec2-networkaclentry.json", "aws-ec2-networkinsightsaccessscope.json", @@ -1576,7 +1576,6 @@ "aws-eks-podidentityassociation.json", "aws-elasticache-cachecluster.json", "aws-elasticache-parametergroup.json", - "aws-elasticache-replicationgroup.json", "aws-elasticache-securitygroup.json", "aws-elasticache-securitygroupingress.json", "aws-elasticache-serverlesscache.json", @@ -1596,8 +1595,6 @@ "aws-elasticloadbalancingv2-truststore.json", "aws-elasticloadbalancingv2-truststorerevocation.json", "aws-elasticsearch-domain.json", - "aws-emr-cluster.json", - "aws-emr-instancefleetconfig.json", "aws-emr-instancegroupconfig.json", "aws-emr-securityconfiguration.json", "aws-emr-step.json", @@ -1642,11 +1639,13 @@ "aws-globalaccelerator-listener.json", "aws-glue-classifier.json", "aws-glue-connection.json", + "aws-glue-crawler.json", "aws-glue-customentitytype.json", "aws-glue-database.json", "aws-glue-datacatalogencryptionsettings.json", "aws-glue-dataqualityruleset.json", "aws-glue-devendpoint.json", + "aws-glue-job.json", "aws-glue-mltransform.json", "aws-glue-partition.json", "aws-glue-registry.json", @@ -1680,6 +1679,7 @@ "aws-guardduty-detector.json", "aws-guardduty-filter.json", "aws-guardduty-ipset.json", + "aws-guardduty-malwareprotectionplan.json", "aws-guardduty-master.json", "aws-guardduty-member.json", "aws-guardduty-threatintelset.json", diff --git a/src/cfnlint/data/schemas/providers/ap_south_1/aws-cloudformation-customresource.json b/src/cfnlint/data/schemas/providers/ap_south_1/aws-cloudformation-customresource.json new file mode 100644 index 0000000000..1f03e2049e --- /dev/null +++ b/src/cfnlint/data/schemas/providers/ap_south_1/aws-cloudformation-customresource.json @@ -0,0 +1,27 @@ +{ + "additionalProperties": true, + "createOnlyProperties": [ + "/properties/ServiceToken" + ], + "primaryIdentifier": [ + "/properties/Id" + ], + "properties": { + "Id": { + "type": "string" + }, + "ServiceTimeout": { + "type": "integer" + }, + "ServiceToken": { + "type": "string" + } + }, + "readOnlyProperties": [ + "/properties/Id" + ], + "required": [ + "ServiceToken" + ], + "typeName": "AWS::CloudFormation::CustomResource" +} diff --git a/src/cfnlint/data/schemas/providers/ap_south_1/aws-ec2-natgateway.json b/src/cfnlint/data/schemas/providers/ap_south_1/aws-ec2-natgateway.json deleted file mode 100644 index addd47fdb5..0000000000 --- a/src/cfnlint/data/schemas/providers/ap_south_1/aws-ec2-natgateway.json +++ /dev/null @@ -1,94 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/SubnetId", - "/properties/ConnectivityType", - "/properties/AllocationId", - "/properties/PrivateIpAddress" - ], - "definitions": { - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "required": [ - "Value", - "Key" - ], - "type": "object" - } - }, - "primaryIdentifier": [ - "/properties/NatGatewayId" - ], - "properties": { - "AllocationId": { - "type": "string" - }, - "ConnectivityType": { - "type": "string" - }, - "MaxDrainDurationSeconds": { - "type": "integer" - }, - "NatGatewayId": { - "type": "string" - }, - "PrivateIpAddress": { - "type": "string" - }, - "SecondaryAllocationIds": { - "insertionOrder": true, - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": true - }, - "SecondaryPrivateIpAddressCount": { - "minimum": 1, - "type": "integer" - }, - "SecondaryPrivateIpAddresses": { - "insertionOrder": true, - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": true - }, - "SubnetId": { - "type": "string" - }, - "Tags": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array", - "uniqueItems": false - } - }, - "readOnlyProperties": [ - "/properties/NatGatewayId" - ], - "required": [ - "SubnetId" - ], - "tagging": { - "cloudFormationSystemTags": true, - "tagOnCreate": true, - "tagUpdatable": true, - "taggable": true - }, - "typeName": "AWS::EC2::NatGateway", - "writeOnlyProperties": [ - "/properties/MaxDrainDurationSeconds" - ] -} diff --git a/src/cfnlint/data/schemas/providers/ap_south_1/aws-elasticache-replicationgroup.json b/src/cfnlint/data/schemas/providers/ap_south_1/aws-elasticache-replicationgroup.json new file mode 100644 index 0000000000..80dd855768 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/ap_south_1/aws-elasticache-replicationgroup.json @@ -0,0 +1,339 @@ +{ + "additionalProperties": false, + "createOnlyProperties": [ + "/properties/KmsKeyId", + "/properties/Port", + "/properties/SnapshotArns", + "/properties/SnapshotName", + "/properties/CacheSubnetGroupName", + "/properties/NetworkType", + "/properties/DataTieringEnabled", + "/properties/AtRestEncryptionEnabled", + "/properties/ReplicationGroupId", + "/properties/GlobalReplicationGroupId", + "/properties/ReplicasPerNodeGroup", + "/properties/PreferredCacheClusterAZs" + ], + "definitions": { + "CloudWatchLogsDestinationDetails": { + "additionalProperties": false, + "properties": { + "LogGroup": { + "type": "string" + } + }, + "required": [ + "LogGroup" + ], + "type": "object" + }, + "DestinationDetails": { + "additionalProperties": false, + "properties": { + "CloudWatchLogsDetails": { + "$ref": "#/definitions/CloudWatchLogsDestinationDetails" + }, + "KinesisFirehoseDetails": { + "$ref": "#/definitions/KinesisFirehoseDestinationDetails" + } + }, + "type": "object" + }, + "KinesisFirehoseDestinationDetails": { + "additionalProperties": false, + "properties": { + "DeliveryStream": { + "type": "string" + } + }, + "required": [ + "DeliveryStream" + ], + "type": "object" + }, + "LogDeliveryConfigurationRequest": { + "additionalProperties": false, + "properties": { + "DestinationDetails": { + "$ref": "#/definitions/DestinationDetails" + }, + "DestinationType": { + "type": "string" + }, + "LogFormat": { + "type": "string" + }, + "LogType": { + "type": "string" + } + }, + "required": [ + "LogFormat", + "LogType", + "DestinationType", + "DestinationDetails" + ], + "type": "object" + }, + "NodeGroupConfiguration": { + "additionalProperties": false, + "properties": { + "NodeGroupId": { + "type": "string" + }, + "PrimaryAvailabilityZone": { + "type": "string" + }, + "ReplicaAvailabilityZones": { + "items": { + "type": "string" + }, + "type": "array", + "uniqueItems": true + }, + "ReplicaCount": { + "type": "integer" + }, + "Slots": { + "type": "string" + } + }, + "type": "object" + }, + "Tag": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "required": [ + "Value", + "Key" + ], + "type": "object" + } + }, + "primaryIdentifier": [ + "/properties/ReplicationGroupId" + ], + "properties": { + "AtRestEncryptionEnabled": { + "type": "boolean" + }, + "AuthToken": { + "type": "string" + }, + "AutoMinorVersionUpgrade": { + "type": "boolean" + }, + "AutomaticFailoverEnabled": { + "type": "boolean" + }, + "CacheNodeType": { + "type": "string" + }, + "CacheParameterGroupName": { + "type": "string" + }, + "CacheSecurityGroupNames": { + "items": { + "type": "string" + }, + "type": "array", + "uniqueItems": true + }, + "CacheSubnetGroupName": { + "type": "string" + }, + "ClusterMode": { + "type": "string" + }, + "ConfigurationEndPoint": { + "properties": { + "Address": { + "type": "string" + }, + "Port": { + "type": "string" + } + }, + "type": "object" + }, + "DataTieringEnabled": { + "type": "boolean" + }, + "Engine": { + "type": "string" + }, + "EngineVersion": { + "type": "string" + }, + "GlobalReplicationGroupId": { + "type": "string" + }, + "IpDiscovery": { + "type": "string" + }, + "KmsKeyId": { + "type": "string" + }, + "LogDeliveryConfigurations": { + "items": { + "$ref": "#/definitions/LogDeliveryConfigurationRequest" + }, + "type": "array", + "uniqueItems": true + }, + "MultiAZEnabled": { + "type": "boolean" + }, + "NetworkType": { + "type": "string" + }, + "NodeGroupConfiguration": { + "items": { + "$ref": "#/definitions/NodeGroupConfiguration" + }, + "type": "array", + "uniqueItems": true + }, + "NotificationTopicArn": { + "type": "string" + }, + "NumCacheClusters": { + "maximum": 6, + "minimum": 1, + "type": "integer" + }, + "NumNodeGroups": { + "type": "integer" + }, + "Port": { + "type": "integer" + }, + "PreferredCacheClusterAZs": { + "items": { + "type": "string" + }, + "type": "array", + "uniqueItems": true + }, + "PreferredMaintenanceWindow": { + "type": "string" + }, + "PrimaryClusterId": { + "type": "string" + }, + "PrimaryEndPoint": { + "properties": { + "Address": { + "type": "string" + }, + "Port": { + "type": "string" + } + }, + "type": "object" + }, + "ReadEndPoint": { + "properties": { + "Addresses": { + "type": "string" + }, + "Ports": { + "type": "string" + } + }, + "type": "object" + }, + "ReaderEndPoint": { + "properties": { + "Address": { + "type": "string" + }, + "Port": { + "type": "string" + } + }, + "type": "object" + }, + "ReplicasPerNodeGroup": { + "maximum": 5, + "minimum": 0, + "type": "integer" + }, + "ReplicationGroupDescription": { + "type": "string" + }, + "ReplicationGroupId": { + "type": "string" + }, + "SecurityGroupIds": { + "format": "AWS::EC2::SecurityGroup.Ids", + "items": { + "format": "AWS::EC2::SecurityGroup.GroupId", + "type": "string" + }, + "type": "array", + "uniqueItems": true + }, + "SnapshotArns": { + "items": { + "type": "string" + }, + "type": "array", + "uniqueItems": true + }, + "SnapshotName": { + "type": "string" + }, + "SnapshotRetentionLimit": { + "type": "integer" + }, + "SnapshotWindow": { + "type": "string" + }, + "SnapshottingClusterId": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array", + "uniqueItems": false + }, + "TransitEncryptionEnabled": { + "type": "boolean" + }, + "TransitEncryptionMode": { + "type": "string" + }, + "UserGroupIds": { + "items": { + "type": "string" + }, + "type": "array", + "uniqueItems": true + } + }, + "readOnlyProperties": [ + "/properties/ConfigurationEndPoint/Address", + "/properties/PrimaryEndPoint/Address", + "/properties/PrimaryEndPoint/Port", + "/properties/ReaderEndPoint/Address", + "/properties/ConfigurationEndPoint/Port", + "/properties/ReaderEndPoint/Port", + "/properties/ReadEndPoint/Addresses", + "/properties/ReadEndPoint/Ports", + "/properties/ReplicationGroupId" + ], + "required": [ + "ReplicationGroupDescription" + ], + "typeName": "AWS::ElastiCache::ReplicationGroup" +} diff --git a/src/cfnlint/data/schemas/providers/ap_south_1/aws-emr-cluster.json b/src/cfnlint/data/schemas/providers/ap_south_1/aws-emr-cluster.json new file mode 100644 index 0000000000..612f8ef599 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/ap_south_1/aws-emr-cluster.json @@ -0,0 +1,925 @@ +{ + "additionalProperties": false, + "createOnlyProperties": [ + "/properties/Steps", + "/properties/EbsRootVolumeSize", + "/properties/SecurityConfiguration", + "/properties/ScaleDownBehavior", + "/properties/Configurations", + "/properties/ReleaseLabel", + "/properties/BootstrapActions", + "/properties/EbsRootVolumeIops", + "/properties/KerberosAttributes", + "/properties/ServiceRole", + "/properties/LogEncryptionKmsKeyId", + "/properties/Name", + "/properties/EbsRootVolumeThroughput", + "/properties/JobFlowRole", + "/properties/AdditionalInfo", + "/properties/LogUri", + "/properties/CustomAmiId", + "/properties/PlacementGroupConfigs", + "/properties/OSReleaseLabel", + "/properties/AutoScalingRole", + "/properties/Applications" + ], + "definitions": { + "Application": { + "additionalProperties": false, + "properties": { + "AdditionalInfo": { + "patternProperties": { + "[a-zA-Z0-9]+": { + "type": "string" + } + }, + "type": "object" + }, + "Args": { + "items": { + "type": "string" + }, + "type": "array", + "uniqueItems": true + }, + "Name": { + "type": "string" + }, + "Version": { + "type": "string" + } + }, + "type": "object" + }, + "AutoScalingPolicy": { + "additionalProperties": false, + "properties": { + "Constraints": { + "$ref": "#/definitions/ScalingConstraints" + }, + "Rules": { + "items": { + "$ref": "#/definitions/ScalingRule" + }, + "type": "array", + "uniqueItems": true + } + }, + "required": [ + "Constraints", + "Rules" + ], + "type": "object" + }, + "AutoTerminationPolicy": { + "additionalProperties": false, + "properties": { + "IdleTimeout": { + "type": "integer" + } + }, + "type": "object" + }, + "BootstrapActionConfig": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "ScriptBootstrapAction": { + "$ref": "#/definitions/ScriptBootstrapActionConfig" + } + }, + "required": [ + "ScriptBootstrapAction", + "Name" + ], + "type": "object" + }, + "CloudWatchAlarmDefinition": { + "additionalProperties": false, + "properties": { + "ComparisonOperator": { + "type": "string" + }, + "Dimensions": { + "items": { + "$ref": "#/definitions/MetricDimension" + }, + "type": "array", + "uniqueItems": true + }, + "EvaluationPeriods": { + "type": "integer" + }, + "MetricName": { + "type": "string" + }, + "Namespace": { + "type": "string" + }, + "Period": { + "type": "integer" + }, + "Statistic": { + "type": "string" + }, + "Threshold": { + "type": "number" + }, + "Unit": { + "type": "string" + } + }, + "required": [ + "MetricName", + "ComparisonOperator", + "Period", + "Threshold" + ], + "type": "object" + }, + "ComputeLimits": { + "additionalProperties": false, + "properties": { + "MaximumCapacityUnits": { + "type": "integer" + }, + "MaximumCoreCapacityUnits": { + "type": "integer" + }, + "MaximumOnDemandCapacityUnits": { + "type": "integer" + }, + "MinimumCapacityUnits": { + "type": "integer" + }, + "UnitType": { + "type": "string" + } + }, + "required": [ + "UnitType", + "MaximumCapacityUnits", + "MinimumCapacityUnits" + ], + "type": "object" + }, + "Configuration": { + "additionalProperties": false, + "properties": { + "Classification": { + "type": "string" + }, + "ConfigurationProperties": { + "patternProperties": { + "[a-zA-Z0-9]+": { + "type": "string" + } + }, + "type": "object" + }, + "Configurations": { + "items": { + "$ref": "#/definitions/Configuration" + }, + "type": "array", + "uniqueItems": true + } + }, + "type": "object" + }, + "EbsBlockDeviceConfig": { + "additionalProperties": false, + "properties": { + "VolumeSpecification": { + "$ref": "#/definitions/VolumeSpecification" + }, + "VolumesPerInstance": { + "type": "integer" + } + }, + "required": [ + "VolumeSpecification" + ], + "type": "object" + }, + "EbsConfiguration": { + "additionalProperties": false, + "properties": { + "EbsBlockDeviceConfigs": { + "items": { + "$ref": "#/definitions/EbsBlockDeviceConfig" + }, + "type": "array", + "uniqueItems": true + }, + "EbsOptimized": { + "type": "boolean" + } + }, + "type": "object" + }, + "HadoopJarStepConfig": { + "additionalProperties": false, + "properties": { + "Args": { + "items": { + "type": "string" + }, + "type": "array", + "uniqueItems": true + }, + "Jar": { + "type": "string" + }, + "MainClass": { + "type": "string" + }, + "StepProperties": { + "items": { + "$ref": "#/definitions/KeyValue" + }, + "type": "array", + "uniqueItems": true + } + }, + "required": [ + "Jar" + ], + "type": "object" + }, + "InstanceFleetConfig": { + "additionalProperties": false, + "properties": { + "InstanceTypeConfigs": { + "items": { + "$ref": "#/definitions/InstanceTypeConfig" + }, + "type": "array", + "uniqueItems": true + }, + "LaunchSpecifications": { + "$ref": "#/definitions/InstanceFleetProvisioningSpecifications" + }, + "Name": { + "type": "string" + }, + "ResizeSpecifications": { + "$ref": "#/definitions/InstanceFleetResizingSpecifications" + }, + "TargetOnDemandCapacity": { + "type": "integer" + }, + "TargetSpotCapacity": { + "type": "integer" + } + }, + "type": "object" + }, + "InstanceFleetProvisioningSpecifications": { + "additionalProperties": false, + "properties": { + "OnDemandSpecification": { + "$ref": "#/definitions/OnDemandProvisioningSpecification" + }, + "SpotSpecification": { + "$ref": "#/definitions/SpotProvisioningSpecification" + } + }, + "type": "object" + }, + "InstanceFleetResizingSpecifications": { + "additionalProperties": false, + "properties": { + "OnDemandResizeSpecification": { + "$ref": "#/definitions/OnDemandResizingSpecification" + }, + "SpotResizeSpecification": { + "$ref": "#/definitions/SpotResizingSpecification" + } + }, + "type": "object" + }, + "InstanceGroupConfig": { + "additionalProperties": false, + "properties": { + "AutoScalingPolicy": { + "$ref": "#/definitions/AutoScalingPolicy" + }, + "BidPrice": { + "type": "string" + }, + "Configurations": { + "items": { + "$ref": "#/definitions/Configuration" + }, + "type": "array", + "uniqueItems": true + }, + "CustomAmiId": { + "type": "string" + }, + "EbsConfiguration": { + "$ref": "#/definitions/EbsConfiguration" + }, + "InstanceCount": { + "type": "integer" + }, + "InstanceType": { + "type": "string" + }, + "Market": { + "type": "string" + }, + "Name": { + "type": "string" + } + }, + "required": [ + "InstanceCount", + "InstanceType" + ], + "type": "object" + }, + "InstanceTypeConfig": { + "additionalProperties": false, + "properties": { + "BidPrice": { + "type": "string" + }, + "BidPriceAsPercentageOfOnDemandPrice": { + "type": "number" + }, + "Configurations": { + "items": { + "$ref": "#/definitions/Configuration" + }, + "type": "array", + "uniqueItems": true + }, + "CustomAmiId": { + "type": "string" + }, + "EbsConfiguration": { + "$ref": "#/definitions/EbsConfiguration" + }, + "InstanceType": { + "type": "string" + }, + "Priority": { + "type": "number" + }, + "WeightedCapacity": { + "type": "integer" + } + }, + "required": [ + "InstanceType" + ], + "type": "object" + }, + "JobFlowInstancesConfig": { + "additionalProperties": false, + "properties": { + "AdditionalMasterSecurityGroups": { + "items": { + "type": "string" + }, + "type": "array", + "uniqueItems": true + }, + "AdditionalSlaveSecurityGroups": { + "items": { + "type": "string" + }, + "type": "array", + "uniqueItems": true + }, + "CoreInstanceFleet": { + "$ref": "#/definitions/InstanceFleetConfig" + }, + "CoreInstanceGroup": { + "$ref": "#/definitions/InstanceGroupConfig" + }, + "Ec2KeyName": { + "type": "string" + }, + "Ec2SubnetId": { + "type": "string" + }, + "Ec2SubnetIds": { + "items": { + "type": "string" + }, + "type": "array", + "uniqueItems": true + }, + "EmrManagedMasterSecurityGroup": { + "type": "string" + }, + "EmrManagedSlaveSecurityGroup": { + "type": "string" + }, + "HadoopVersion": { + "type": "string" + }, + "KeepJobFlowAliveWhenNoSteps": { + "type": "boolean" + }, + "MasterInstanceFleet": { + "$ref": "#/definitions/InstanceFleetConfig" + }, + "MasterInstanceGroup": { + "$ref": "#/definitions/InstanceGroupConfig" + }, + "Placement": { + "$ref": "#/definitions/PlacementType" + }, + "ServiceAccessSecurityGroup": { + "type": "string" + }, + "TaskInstanceFleets": { + "items": { + "$ref": "#/definitions/InstanceFleetConfig" + }, + "type": "array", + "uniqueItems": true + }, + "TaskInstanceGroups": { + "items": { + "$ref": "#/definitions/InstanceGroupConfig" + }, + "type": "array", + "uniqueItems": true + }, + "TerminationProtected": { + "type": "boolean" + }, + "UnhealthyNodeReplacement": { + "type": "boolean" + } + }, + "type": "object" + }, + "KerberosAttributes": { + "additionalProperties": false, + "properties": { + "ADDomainJoinPassword": { + "type": "string" + }, + "ADDomainJoinUser": { + "type": "string" + }, + "CrossRealmTrustPrincipalPassword": { + "type": "string" + }, + "KdcAdminPassword": { + "type": "string" + }, + "Realm": { + "type": "string" + } + }, + "required": [ + "KdcAdminPassword", + "Realm" + ], + "type": "object" + }, + "KeyValue": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "type": "object" + }, + "ManagedScalingPolicy": { + "additionalProperties": false, + "properties": { + "ComputeLimits": { + "$ref": "#/definitions/ComputeLimits" + } + }, + "type": "object" + }, + "MetricDimension": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "required": [ + "Value", + "Key" + ], + "type": "object" + }, + "OnDemandCapacityReservationOptions": { + "additionalProperties": false, + "properties": { + "CapacityReservationPreference": { + "type": "string" + }, + "CapacityReservationResourceGroupArn": { + "type": "string" + }, + "UsageStrategy": { + "type": "string" + } + }, + "type": "object" + }, + "OnDemandProvisioningSpecification": { + "additionalProperties": false, + "properties": { + "AllocationStrategy": { + "type": "string" + }, + "CapacityReservationOptions": { + "$ref": "#/definitions/OnDemandCapacityReservationOptions" + } + }, + "required": [ + "AllocationStrategy" + ], + "type": "object" + }, + "OnDemandResizingSpecification": { + "additionalProperties": false, + "properties": { + "AllocationStrategy": { + "type": "string" + }, + "CapacityReservationOptions": { + "$ref": "#/definitions/OnDemandCapacityReservationOptions" + }, + "TimeoutDurationMinutes": { + "type": "integer" + } + }, + "type": "object" + }, + "PlacementGroupConfig": { + "additionalProperties": false, + "properties": { + "InstanceRole": { + "type": "string" + }, + "PlacementStrategy": { + "type": "string" + } + }, + "required": [ + "InstanceRole" + ], + "type": "object" + }, + "PlacementType": { + "additionalProperties": false, + "properties": { + "AvailabilityZone": { + "type": "string" + } + }, + "required": [ + "AvailabilityZone" + ], + "type": "object" + }, + "ScalingAction": { + "additionalProperties": false, + "properties": { + "Market": { + "type": "string" + }, + "SimpleScalingPolicyConfiguration": { + "$ref": "#/definitions/SimpleScalingPolicyConfiguration" + } + }, + "required": [ + "SimpleScalingPolicyConfiguration" + ], + "type": "object" + }, + "ScalingConstraints": { + "additionalProperties": false, + "properties": { + "MaxCapacity": { + "type": "integer" + }, + "MinCapacity": { + "type": "integer" + } + }, + "required": [ + "MinCapacity", + "MaxCapacity" + ], + "type": "object" + }, + "ScalingRule": { + "additionalProperties": false, + "properties": { + "Action": { + "$ref": "#/definitions/ScalingAction" + }, + "Description": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Trigger": { + "$ref": "#/definitions/ScalingTrigger" + } + }, + "required": [ + "Action", + "Trigger", + "Name" + ], + "type": "object" + }, + "ScalingTrigger": { + "additionalProperties": false, + "properties": { + "CloudWatchAlarmDefinition": { + "$ref": "#/definitions/CloudWatchAlarmDefinition" + } + }, + "required": [ + "CloudWatchAlarmDefinition" + ], + "type": "object" + }, + "ScriptBootstrapActionConfig": { + "additionalProperties": false, + "properties": { + "Args": { + "items": { + "type": "string" + }, + "type": "array", + "uniqueItems": true + }, + "Path": { + "type": "string" + } + }, + "required": [ + "Path" + ], + "type": "object" + }, + "SimpleScalingPolicyConfiguration": { + "additionalProperties": false, + "properties": { + "AdjustmentType": { + "type": "string" + }, + "CoolDown": { + "type": "integer" + }, + "ScalingAdjustment": { + "type": "integer" + } + }, + "required": [ + "ScalingAdjustment" + ], + "type": "object" + }, + "SpotProvisioningSpecification": { + "additionalProperties": false, + "properties": { + "AllocationStrategy": { + "type": "string" + }, + "BlockDurationMinutes": { + "type": "integer" + }, + "TimeoutAction": { + "type": "string" + }, + "TimeoutDurationMinutes": { + "type": "integer" + } + }, + "required": [ + "TimeoutDurationMinutes", + "TimeoutAction" + ], + "type": "object" + }, + "SpotResizingSpecification": { + "additionalProperties": false, + "properties": { + "AllocationStrategy": { + "type": "string" + }, + "TimeoutDurationMinutes": { + "type": "integer" + } + }, + "type": "object" + }, + "StepConfig": { + "additionalProperties": false, + "properties": { + "ActionOnFailure": { + "type": "string" + }, + "HadoopJarStep": { + "$ref": "#/definitions/HadoopJarStepConfig" + }, + "Name": { + "type": "string" + } + }, + "required": [ + "HadoopJarStep", + "Name" + ], + "type": "object" + }, + "Tag": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "required": [ + "Value", + "Key" + ], + "type": "object" + }, + "VolumeSpecification": { + "additionalProperties": false, + "properties": { + "Iops": { + "type": "integer" + }, + "SizeInGB": { + "type": "integer" + }, + "Throughput": { + "type": "integer" + }, + "VolumeType": { + "type": "string" + } + }, + "required": [ + "SizeInGB", + "VolumeType" + ], + "type": "object" + } + }, + "primaryIdentifier": [ + "/properties/Id" + ], + "properties": { + "AdditionalInfo": { + "format": "json", + "type": [ + "object", + "string" + ] + }, + "Applications": { + "items": { + "$ref": "#/definitions/Application" + }, + "type": "array", + "uniqueItems": true + }, + "AutoScalingRole": { + "type": "string" + }, + "AutoTerminationPolicy": { + "$ref": "#/definitions/AutoTerminationPolicy" + }, + "BootstrapActions": { + "items": { + "$ref": "#/definitions/BootstrapActionConfig" + }, + "type": "array", + "uniqueItems": true + }, + "Configurations": { + "items": { + "$ref": "#/definitions/Configuration" + }, + "type": "array", + "uniqueItems": true + }, + "CustomAmiId": { + "type": "string" + }, + "EbsRootVolumeIops": { + "type": "integer" + }, + "EbsRootVolumeSize": { + "type": "integer" + }, + "EbsRootVolumeThroughput": { + "type": "integer" + }, + "Id": { + "type": "string" + }, + "Instances": { + "$ref": "#/definitions/JobFlowInstancesConfig" + }, + "JobFlowRole": { + "type": "string" + }, + "KerberosAttributes": { + "$ref": "#/definitions/KerberosAttributes" + }, + "LogEncryptionKmsKeyId": { + "type": "string" + }, + "LogUri": { + "type": "string" + }, + "ManagedScalingPolicy": { + "$ref": "#/definitions/ManagedScalingPolicy" + }, + "MasterPublicDNS": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "OSReleaseLabel": { + "type": "string" + }, + "PlacementGroupConfigs": { + "items": { + "$ref": "#/definitions/PlacementGroupConfig" + }, + "type": "array", + "uniqueItems": true + }, + "ReleaseLabel": { + "type": "string" + }, + "ScaleDownBehavior": { + "type": "string" + }, + "SecurityConfiguration": { + "type": "string" + }, + "ServiceRole": { + "type": "string" + }, + "StepConcurrencyLevel": { + "type": "integer" + }, + "Steps": { + "items": { + "$ref": "#/definitions/StepConfig" + }, + "type": "array", + "uniqueItems": true + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array", + "uniqueItems": false + }, + "VisibleToAllUsers": { + "type": "boolean" + } + }, + "readOnlyProperties": [ + "/properties/Id", + "/properties/MasterPublicDNS" + ], + "required": [ + "Instances", + "ServiceRole", + "JobFlowRole", + "Name" + ], + "typeName": "AWS::EMR::Cluster" +} diff --git a/src/cfnlint/data/schemas/providers/ap_south_1/aws-emr-instancefleetconfig.json b/src/cfnlint/data/schemas/providers/ap_south_1/aws-emr-instancefleetconfig.json new file mode 100644 index 0000000000..db4f02f4ab --- /dev/null +++ b/src/cfnlint/data/schemas/providers/ap_south_1/aws-emr-instancefleetconfig.json @@ -0,0 +1,272 @@ +{ + "additionalProperties": false, + "createOnlyProperties": [ + "/properties/Name", + "/properties/LaunchSpecifications", + "/properties/ClusterId", + "/properties/InstanceFleetType" + ], + "definitions": { + "Configuration": { + "additionalProperties": false, + "properties": { + "Classification": { + "type": "string" + }, + "ConfigurationProperties": { + "patternProperties": { + "[a-zA-Z0-9]+": { + "type": "string" + } + }, + "type": "object" + }, + "Configurations": { + "items": { + "$ref": "#/definitions/Configuration" + }, + "type": "array", + "uniqueItems": true + } + }, + "type": "object" + }, + "EbsBlockDeviceConfig": { + "additionalProperties": false, + "properties": { + "VolumeSpecification": { + "$ref": "#/definitions/VolumeSpecification" + }, + "VolumesPerInstance": { + "type": "integer" + } + }, + "required": [ + "VolumeSpecification" + ], + "type": "object" + }, + "EbsConfiguration": { + "additionalProperties": false, + "properties": { + "EbsBlockDeviceConfigs": { + "items": { + "$ref": "#/definitions/EbsBlockDeviceConfig" + }, + "type": "array", + "uniqueItems": true + }, + "EbsOptimized": { + "type": "boolean" + } + }, + "type": "object" + }, + "InstanceFleetProvisioningSpecifications": { + "additionalProperties": false, + "properties": { + "OnDemandSpecification": { + "$ref": "#/definitions/OnDemandProvisioningSpecification" + }, + "SpotSpecification": { + "$ref": "#/definitions/SpotProvisioningSpecification" + } + }, + "type": "object" + }, + "InstanceFleetResizingSpecifications": { + "additionalProperties": false, + "properties": { + "OnDemandResizeSpecification": { + "$ref": "#/definitions/OnDemandResizingSpecification" + }, + "SpotResizeSpecification": { + "$ref": "#/definitions/SpotResizingSpecification" + } + }, + "type": "object" + }, + "InstanceTypeConfig": { + "additionalProperties": false, + "properties": { + "BidPrice": { + "type": "string" + }, + "BidPriceAsPercentageOfOnDemandPrice": { + "type": "number" + }, + "Configurations": { + "items": { + "$ref": "#/definitions/Configuration" + }, + "type": "array", + "uniqueItems": true + }, + "CustomAmiId": { + "type": "string" + }, + "EbsConfiguration": { + "$ref": "#/definitions/EbsConfiguration" + }, + "InstanceType": { + "type": "string" + }, + "Priority": { + "type": "number" + }, + "WeightedCapacity": { + "type": "integer" + } + }, + "required": [ + "InstanceType" + ], + "type": "object" + }, + "OnDemandCapacityReservationOptions": { + "additionalProperties": false, + "properties": { + "CapacityReservationPreference": { + "type": "string" + }, + "CapacityReservationResourceGroupArn": { + "type": "string" + }, + "UsageStrategy": { + "type": "string" + } + }, + "type": "object" + }, + "OnDemandProvisioningSpecification": { + "additionalProperties": false, + "properties": { + "AllocationStrategy": { + "type": "string" + }, + "CapacityReservationOptions": { + "$ref": "#/definitions/OnDemandCapacityReservationOptions" + } + }, + "required": [ + "AllocationStrategy" + ], + "type": "object" + }, + "OnDemandResizingSpecification": { + "additionalProperties": false, + "properties": { + "AllocationStrategy": { + "type": "string" + }, + "CapacityReservationOptions": { + "$ref": "#/definitions/OnDemandCapacityReservationOptions" + }, + "TimeoutDurationMinutes": { + "type": "integer" + } + }, + "type": "object" + }, + "SpotProvisioningSpecification": { + "additionalProperties": false, + "properties": { + "AllocationStrategy": { + "type": "string" + }, + "BlockDurationMinutes": { + "type": "integer" + }, + "TimeoutAction": { + "type": "string" + }, + "TimeoutDurationMinutes": { + "type": "integer" + } + }, + "required": [ + "TimeoutDurationMinutes", + "TimeoutAction" + ], + "type": "object" + }, + "SpotResizingSpecification": { + "additionalProperties": false, + "properties": { + "AllocationStrategy": { + "type": "string" + }, + "TimeoutDurationMinutes": { + "type": "integer" + } + }, + "type": "object" + }, + "VolumeSpecification": { + "additionalProperties": false, + "properties": { + "Iops": { + "type": "integer" + }, + "SizeInGB": { + "type": "integer" + }, + "Throughput": { + "type": "integer" + }, + "VolumeType": { + "type": "string" + } + }, + "required": [ + "SizeInGB", + "VolumeType" + ], + "type": "object" + } + }, + "primaryIdentifier": [ + "/properties/Id" + ], + "properties": { + "ClusterId": { + "type": "string" + }, + "Id": { + "type": "string" + }, + "InstanceFleetType": { + "type": "string" + }, + "InstanceTypeConfigs": { + "items": { + "$ref": "#/definitions/InstanceTypeConfig" + }, + "type": "array", + "uniqueItems": true + }, + "LaunchSpecifications": { + "$ref": "#/definitions/InstanceFleetProvisioningSpecifications" + }, + "Name": { + "type": "string" + }, + "ResizeSpecifications": { + "$ref": "#/definitions/InstanceFleetResizingSpecifications" + }, + "TargetOnDemandCapacity": { + "type": "integer" + }, + "TargetSpotCapacity": { + "type": "integer" + } + }, + "readOnlyProperties": [ + "/properties/Id" + ], + "required": [ + "InstanceFleetType", + "ClusterId" + ], + "typeName": "AWS::EMR::InstanceFleetConfig" +} diff --git a/src/cfnlint/data/schemas/providers/ap_south_1/aws-glue-crawler.json b/src/cfnlint/data/schemas/providers/ap_south_1/aws-glue-crawler.json deleted file mode 100644 index 7dcb87f3d8..0000000000 --- a/src/cfnlint/data/schemas/providers/ap_south_1/aws-glue-crawler.json +++ /dev/null @@ -1,328 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/Name" - ], - "definitions": { - "CatalogTarget": { - "additionalProperties": false, - "properties": { - "ConnectionName": { - "type": "string" - }, - "DatabaseName": { - "type": "string" - }, - "DlqEventQueueArn": { - "type": "string" - }, - "EventQueueArn": { - "type": "string" - }, - "Tables": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - } - }, - "type": "object" - }, - "DeltaTarget": { - "additionalProperties": false, - "properties": { - "ConnectionName": { - "type": "string" - }, - "CreateNativeDeltaTable": { - "type": "boolean" - }, - "DeltaTables": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "WriteManifest": { - "type": "boolean" - } - }, - "type": "object" - }, - "DynamoDBTarget": { - "additionalProperties": false, - "properties": { - "Path": { - "type": "string" - } - }, - "type": "object" - }, - "IcebergTarget": { - "additionalProperties": false, - "properties": { - "ConnectionName": { - "type": "string" - }, - "Exclusions": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "MaximumTraversalDepth": { - "type": "integer" - }, - "Paths": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - } - }, - "type": "object" - }, - "JdbcTarget": { - "additionalProperties": false, - "properties": { - "ConnectionName": { - "type": "string" - }, - "EnableAdditionalMetadata": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "Exclusions": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "Path": { - "type": "string" - } - }, - "type": "object" - }, - "LakeFormationConfiguration": { - "additionalProperties": false, - "properties": { - "AccountId": { - "type": "string" - }, - "UseLakeFormationCredentials": { - "type": "boolean" - } - }, - "type": "object" - }, - "MongoDBTarget": { - "additionalProperties": false, - "properties": { - "ConnectionName": { - "type": "string" - }, - "Path": { - "type": "string" - } - }, - "type": "object" - }, - "RecrawlPolicy": { - "additionalProperties": false, - "properties": { - "RecrawlBehavior": { - "type": "string" - } - }, - "type": "object" - }, - "S3Target": { - "additionalProperties": false, - "properties": { - "ConnectionName": { - "type": "string" - }, - "DlqEventQueueArn": { - "type": "string" - }, - "EventQueueArn": { - "type": "string" - }, - "Exclusions": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "Path": { - "type": "string" - }, - "SampleSize": { - "type": "integer" - } - }, - "type": "object" - }, - "Schedule": { - "additionalProperties": false, - "properties": { - "ScheduleExpression": { - "type": "string" - } - }, - "type": "object" - }, - "SchemaChangePolicy": { - "additionalProperties": false, - "properties": { - "DeleteBehavior": { - "enum": [ - "DELETE_FROM_DATABASE", - "DEPRECATE_IN_DATABASE", - "LOG" - ], - "type": "string" - }, - "UpdateBehavior": { - "enum": [ - "LOG", - "UPDATE_IN_DATABASE" - ], - "type": "string" - } - }, - "type": "object" - }, - "Targets": { - "additionalProperties": false, - "properties": { - "CatalogTargets": { - "items": { - "$ref": "#/definitions/CatalogTarget" - }, - "type": "array", - "uniqueItems": false - }, - "DeltaTargets": { - "items": { - "$ref": "#/definitions/DeltaTarget" - }, - "type": "array", - "uniqueItems": false - }, - "DynamoDBTargets": { - "items": { - "$ref": "#/definitions/DynamoDBTarget" - }, - "type": "array", - "uniqueItems": false - }, - "IcebergTargets": { - "items": { - "$ref": "#/definitions/IcebergTarget" - }, - "type": "array", - "uniqueItems": false - }, - "JdbcTargets": { - "items": { - "$ref": "#/definitions/JdbcTarget" - }, - "type": "array", - "uniqueItems": false - }, - "MongoDBTargets": { - "items": { - "$ref": "#/definitions/MongoDBTarget" - }, - "type": "array", - "uniqueItems": false - }, - "S3Targets": { - "items": { - "$ref": "#/definitions/S3Target" - }, - "type": "array", - "uniqueItems": false - } - }, - "type": "object" - } - }, - "primaryIdentifier": [ - "/properties/Id" - ], - "properties": { - "Classifiers": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "Configuration": { - "type": "string" - }, - "CrawlerSecurityConfiguration": { - "type": "string" - }, - "DatabaseName": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "Id": { - "type": "string" - }, - "LakeFormationConfiguration": { - "$ref": "#/definitions/LakeFormationConfiguration" - }, - "Name": { - "type": "string" - }, - "RecrawlPolicy": { - "$ref": "#/definitions/RecrawlPolicy" - }, - "Role": { - "type": "string" - }, - "Schedule": { - "$ref": "#/definitions/Schedule" - }, - "SchemaChangePolicy": { - "$ref": "#/definitions/SchemaChangePolicy" - }, - "TablePrefix": { - "type": "string" - }, - "Tags": { - "format": "json", - "type": [ - "object", - "string" - ] - }, - "Targets": { - "$ref": "#/definitions/Targets" - } - }, - "readOnlyProperties": [ - "/properties/Id" - ], - "required": [ - "Role", - "Targets" - ], - "typeName": "AWS::Glue::Crawler" -} diff --git a/src/cfnlint/data/schemas/providers/ap_south_1/aws-glue-job.json b/src/cfnlint/data/schemas/providers/ap_south_1/aws-glue-job.json deleted file mode 100644 index 09c051399f..0000000000 --- a/src/cfnlint/data/schemas/providers/ap_south_1/aws-glue-job.json +++ /dev/null @@ -1,153 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/Name" - ], - "definitions": { - "ConnectionsList": { - "additionalProperties": false, - "properties": { - "Connections": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - } - }, - "type": "object" - }, - "ExecutionProperty": { - "additionalProperties": false, - "properties": { - "MaxConcurrentRuns": { - "type": "number" - } - }, - "type": "object" - }, - "JobCommand": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "PythonVersion": { - "type": "string" - }, - "Runtime": { - "type": "string" - }, - "ScriptLocation": { - "type": "string" - } - }, - "type": "object" - }, - "NotificationProperty": { - "additionalProperties": false, - "properties": { - "NotifyDelayAfter": { - "type": "integer" - } - }, - "type": "object" - } - }, - "primaryIdentifier": [ - "/properties/Id" - ], - "properties": { - "AllocatedCapacity": { - "type": "number" - }, - "Command": { - "$ref": "#/definitions/JobCommand" - }, - "Connections": { - "$ref": "#/definitions/ConnectionsList" - }, - "DefaultArguments": { - "format": "json", - "type": [ - "object", - "string" - ] - }, - "Description": { - "type": "string" - }, - "ExecutionClass": { - "type": "string" - }, - "ExecutionProperty": { - "$ref": "#/definitions/ExecutionProperty" - }, - "GlueVersion": { - "type": "string" - }, - "Id": { - "type": "string" - }, - "JobMode": { - "type": "string" - }, - "LogUri": { - "type": "string" - }, - "MaintenanceWindow": { - "type": "string" - }, - "MaxCapacity": { - "type": "number" - }, - "MaxRetries": { - "type": "number" - }, - "Name": { - "type": "string" - }, - "NonOverridableArguments": { - "format": "json", - "type": [ - "object", - "string" - ] - }, - "NotificationProperty": { - "$ref": "#/definitions/NotificationProperty" - }, - "NumberOfWorkers": { - "maximum": 299, - "minimum": 0, - "type": "integer" - }, - "Role": { - "type": "string" - }, - "SecurityConfiguration": { - "type": "string" - }, - "Tags": { - "format": "json", - "type": [ - "object", - "string" - ] - }, - "Timeout": { - "type": "integer" - }, - "WorkerType": { - "type": "string" - } - }, - "readOnlyProperties": [ - "/properties/Id" - ], - "required": [ - "Role", - "Command" - ], - "typeName": "AWS::Glue::Job" -} diff --git a/src/cfnlint/data/schemas/providers/ap_south_1/aws-guardduty-malwareprotectionplan.json b/src/cfnlint/data/schemas/providers/ap_south_1/aws-guardduty-malwareprotectionplan.json deleted file mode 100644 index 66df12b177..0000000000 --- a/src/cfnlint/data/schemas/providers/ap_south_1/aws-guardduty-malwareprotectionplan.json +++ /dev/null @@ -1,131 +0,0 @@ -{ - "additionalProperties": false, - "definitions": { - "CFNActions": { - "additionalProperties": false, - "properties": { - "Tagging": { - "$ref": "#/definitions/CFNTagging" - } - }, - "type": "object" - }, - "CFNProtectedResource": { - "additionalProperties": false, - "properties": { - "S3Bucket": { - "additionalProperties": false, - "properties": { - "BucketName": { - "type": "string" - }, - "ObjectPrefixes": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - } - }, - "required": [ - "S3Bucket" - ], - "type": "object" - }, - "CFNStatusReasons": { - "additionalProperties": false, - "properties": { - "Code": { - "type": "string" - }, - "Message": { - "type": "string" - } - }, - "type": "object" - }, - "CFNTagging": { - "additionalProperties": false, - "properties": { - "Status": { - "type": "string" - } - }, - "type": "object" - }, - "TagItem": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "required": [ - "Key", - "Value" - ], - "type": "object" - } - }, - "primaryIdentifier": [ - "/properties/MalwareProtectionPlanId" - ], - "properties": { - "Actions": { - "$ref": "#/definitions/CFNActions" - }, - "Arn": { - "type": "string" - }, - "CreatedAt": { - "type": "string" - }, - "MalwareProtectionPlanId": { - "type": "string" - }, - "ProtectedResource": { - "$ref": "#/definitions/CFNProtectedResource" - }, - "Role": { - "type": "string" - }, - "Status": { - "type": "string" - }, - "StatusReasons": { - "items": { - "$ref": "#/definitions/CFNStatusReasons" - }, - "type": "array" - }, - "Tags": { - "items": { - "$ref": "#/definitions/TagItem" - }, - "type": "array" - } - }, - "readOnlyProperties": [ - "/properties/MalwareProtectionPlanId", - "/properties/Arn", - "/properties/CreatedAt", - "/properties/Status", - "/properties/StatusReasons" - ], - "required": [ - "Role", - "ProtectedResource" - ], - "tagging": { - "cloudFormationSystemTags": false, - "tagOnCreate": true, - "tagUpdatable": true, - "taggable": true - }, - "typeName": "AWS::GuardDuty::MalwareProtectionPlan" -} diff --git a/src/cfnlint/data/schemas/providers/eu_west_1/__init__.py b/src/cfnlint/data/schemas/providers/eu_west_1/__init__.py index 018b13c0ce..bf47ddd869 100644 --- a/src/cfnlint/data/schemas/providers/eu_west_1/__init__.py +++ b/src/cfnlint/data/schemas/providers/eu_west_1/__init__.py @@ -1595,6 +1595,7 @@ "aws-ec2-localgatewayroutetable.json", "aws-ec2-localgatewayroutetablevirtualinterfacegroupassociation.json", "aws-ec2-localgatewayroutetablevpcassociation.json", + "aws-ec2-natgateway.json", "aws-ec2-networkacl.json", "aws-ec2-networkaclentry.json", "aws-ec2-networkinsightsaccessscope.json", @@ -1762,6 +1763,7 @@ "aws-globalaccelerator-listener.json", "aws-glue-classifier.json", "aws-glue-connection.json", + "aws-glue-crawler.json", "aws-glue-customentitytype.json", "aws-glue-database.json", "aws-glue-datacatalogencryptionsettings.json", @@ -1804,6 +1806,7 @@ "aws-guardduty-detector.json", "aws-guardduty-filter.json", "aws-guardduty-ipset.json", + "aws-guardduty-malwareprotectionplan.json", "aws-guardduty-master.json", "aws-guardduty-member.json", "aws-guardduty-threatintelset.json", diff --git a/src/cfnlint/data/schemas/providers/eu_west_1/aws-ec2-natgateway.json b/src/cfnlint/data/schemas/providers/eu_west_1/aws-ec2-natgateway.json deleted file mode 100644 index addd47fdb5..0000000000 --- a/src/cfnlint/data/schemas/providers/eu_west_1/aws-ec2-natgateway.json +++ /dev/null @@ -1,94 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/SubnetId", - "/properties/ConnectivityType", - "/properties/AllocationId", - "/properties/PrivateIpAddress" - ], - "definitions": { - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "required": [ - "Value", - "Key" - ], - "type": "object" - } - }, - "primaryIdentifier": [ - "/properties/NatGatewayId" - ], - "properties": { - "AllocationId": { - "type": "string" - }, - "ConnectivityType": { - "type": "string" - }, - "MaxDrainDurationSeconds": { - "type": "integer" - }, - "NatGatewayId": { - "type": "string" - }, - "PrivateIpAddress": { - "type": "string" - }, - "SecondaryAllocationIds": { - "insertionOrder": true, - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": true - }, - "SecondaryPrivateIpAddressCount": { - "minimum": 1, - "type": "integer" - }, - "SecondaryPrivateIpAddresses": { - "insertionOrder": true, - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": true - }, - "SubnetId": { - "type": "string" - }, - "Tags": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array", - "uniqueItems": false - } - }, - "readOnlyProperties": [ - "/properties/NatGatewayId" - ], - "required": [ - "SubnetId" - ], - "tagging": { - "cloudFormationSystemTags": true, - "tagOnCreate": true, - "tagUpdatable": true, - "taggable": true - }, - "typeName": "AWS::EC2::NatGateway", - "writeOnlyProperties": [ - "/properties/MaxDrainDurationSeconds" - ] -} diff --git a/src/cfnlint/data/schemas/providers/eu_west_1/aws-glue-crawler.json b/src/cfnlint/data/schemas/providers/eu_west_1/aws-glue-crawler.json deleted file mode 100644 index 7dcb87f3d8..0000000000 --- a/src/cfnlint/data/schemas/providers/eu_west_1/aws-glue-crawler.json +++ /dev/null @@ -1,328 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/Name" - ], - "definitions": { - "CatalogTarget": { - "additionalProperties": false, - "properties": { - "ConnectionName": { - "type": "string" - }, - "DatabaseName": { - "type": "string" - }, - "DlqEventQueueArn": { - "type": "string" - }, - "EventQueueArn": { - "type": "string" - }, - "Tables": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - } - }, - "type": "object" - }, - "DeltaTarget": { - "additionalProperties": false, - "properties": { - "ConnectionName": { - "type": "string" - }, - "CreateNativeDeltaTable": { - "type": "boolean" - }, - "DeltaTables": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "WriteManifest": { - "type": "boolean" - } - }, - "type": "object" - }, - "DynamoDBTarget": { - "additionalProperties": false, - "properties": { - "Path": { - "type": "string" - } - }, - "type": "object" - }, - "IcebergTarget": { - "additionalProperties": false, - "properties": { - "ConnectionName": { - "type": "string" - }, - "Exclusions": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "MaximumTraversalDepth": { - "type": "integer" - }, - "Paths": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - } - }, - "type": "object" - }, - "JdbcTarget": { - "additionalProperties": false, - "properties": { - "ConnectionName": { - "type": "string" - }, - "EnableAdditionalMetadata": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "Exclusions": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "Path": { - "type": "string" - } - }, - "type": "object" - }, - "LakeFormationConfiguration": { - "additionalProperties": false, - "properties": { - "AccountId": { - "type": "string" - }, - "UseLakeFormationCredentials": { - "type": "boolean" - } - }, - "type": "object" - }, - "MongoDBTarget": { - "additionalProperties": false, - "properties": { - "ConnectionName": { - "type": "string" - }, - "Path": { - "type": "string" - } - }, - "type": "object" - }, - "RecrawlPolicy": { - "additionalProperties": false, - "properties": { - "RecrawlBehavior": { - "type": "string" - } - }, - "type": "object" - }, - "S3Target": { - "additionalProperties": false, - "properties": { - "ConnectionName": { - "type": "string" - }, - "DlqEventQueueArn": { - "type": "string" - }, - "EventQueueArn": { - "type": "string" - }, - "Exclusions": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "Path": { - "type": "string" - }, - "SampleSize": { - "type": "integer" - } - }, - "type": "object" - }, - "Schedule": { - "additionalProperties": false, - "properties": { - "ScheduleExpression": { - "type": "string" - } - }, - "type": "object" - }, - "SchemaChangePolicy": { - "additionalProperties": false, - "properties": { - "DeleteBehavior": { - "enum": [ - "DELETE_FROM_DATABASE", - "DEPRECATE_IN_DATABASE", - "LOG" - ], - "type": "string" - }, - "UpdateBehavior": { - "enum": [ - "LOG", - "UPDATE_IN_DATABASE" - ], - "type": "string" - } - }, - "type": "object" - }, - "Targets": { - "additionalProperties": false, - "properties": { - "CatalogTargets": { - "items": { - "$ref": "#/definitions/CatalogTarget" - }, - "type": "array", - "uniqueItems": false - }, - "DeltaTargets": { - "items": { - "$ref": "#/definitions/DeltaTarget" - }, - "type": "array", - "uniqueItems": false - }, - "DynamoDBTargets": { - "items": { - "$ref": "#/definitions/DynamoDBTarget" - }, - "type": "array", - "uniqueItems": false - }, - "IcebergTargets": { - "items": { - "$ref": "#/definitions/IcebergTarget" - }, - "type": "array", - "uniqueItems": false - }, - "JdbcTargets": { - "items": { - "$ref": "#/definitions/JdbcTarget" - }, - "type": "array", - "uniqueItems": false - }, - "MongoDBTargets": { - "items": { - "$ref": "#/definitions/MongoDBTarget" - }, - "type": "array", - "uniqueItems": false - }, - "S3Targets": { - "items": { - "$ref": "#/definitions/S3Target" - }, - "type": "array", - "uniqueItems": false - } - }, - "type": "object" - } - }, - "primaryIdentifier": [ - "/properties/Id" - ], - "properties": { - "Classifiers": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "Configuration": { - "type": "string" - }, - "CrawlerSecurityConfiguration": { - "type": "string" - }, - "DatabaseName": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "Id": { - "type": "string" - }, - "LakeFormationConfiguration": { - "$ref": "#/definitions/LakeFormationConfiguration" - }, - "Name": { - "type": "string" - }, - "RecrawlPolicy": { - "$ref": "#/definitions/RecrawlPolicy" - }, - "Role": { - "type": "string" - }, - "Schedule": { - "$ref": "#/definitions/Schedule" - }, - "SchemaChangePolicy": { - "$ref": "#/definitions/SchemaChangePolicy" - }, - "TablePrefix": { - "type": "string" - }, - "Tags": { - "format": "json", - "type": [ - "object", - "string" - ] - }, - "Targets": { - "$ref": "#/definitions/Targets" - } - }, - "readOnlyProperties": [ - "/properties/Id" - ], - "required": [ - "Role", - "Targets" - ], - "typeName": "AWS::Glue::Crawler" -} diff --git a/src/cfnlint/data/schemas/providers/eu_west_1/aws-guardduty-malwareprotectionplan.json b/src/cfnlint/data/schemas/providers/eu_west_1/aws-guardduty-malwareprotectionplan.json deleted file mode 100644 index 66df12b177..0000000000 --- a/src/cfnlint/data/schemas/providers/eu_west_1/aws-guardduty-malwareprotectionplan.json +++ /dev/null @@ -1,131 +0,0 @@ -{ - "additionalProperties": false, - "definitions": { - "CFNActions": { - "additionalProperties": false, - "properties": { - "Tagging": { - "$ref": "#/definitions/CFNTagging" - } - }, - "type": "object" - }, - "CFNProtectedResource": { - "additionalProperties": false, - "properties": { - "S3Bucket": { - "additionalProperties": false, - "properties": { - "BucketName": { - "type": "string" - }, - "ObjectPrefixes": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - } - }, - "required": [ - "S3Bucket" - ], - "type": "object" - }, - "CFNStatusReasons": { - "additionalProperties": false, - "properties": { - "Code": { - "type": "string" - }, - "Message": { - "type": "string" - } - }, - "type": "object" - }, - "CFNTagging": { - "additionalProperties": false, - "properties": { - "Status": { - "type": "string" - } - }, - "type": "object" - }, - "TagItem": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "required": [ - "Key", - "Value" - ], - "type": "object" - } - }, - "primaryIdentifier": [ - "/properties/MalwareProtectionPlanId" - ], - "properties": { - "Actions": { - "$ref": "#/definitions/CFNActions" - }, - "Arn": { - "type": "string" - }, - "CreatedAt": { - "type": "string" - }, - "MalwareProtectionPlanId": { - "type": "string" - }, - "ProtectedResource": { - "$ref": "#/definitions/CFNProtectedResource" - }, - "Role": { - "type": "string" - }, - "Status": { - "type": "string" - }, - "StatusReasons": { - "items": { - "$ref": "#/definitions/CFNStatusReasons" - }, - "type": "array" - }, - "Tags": { - "items": { - "$ref": "#/definitions/TagItem" - }, - "type": "array" - } - }, - "readOnlyProperties": [ - "/properties/MalwareProtectionPlanId", - "/properties/Arn", - "/properties/CreatedAt", - "/properties/Status", - "/properties/StatusReasons" - ], - "required": [ - "Role", - "ProtectedResource" - ], - "tagging": { - "cloudFormationSystemTags": false, - "tagOnCreate": true, - "tagUpdatable": true, - "taggable": true - }, - "typeName": "AWS::GuardDuty::MalwareProtectionPlan" -} diff --git a/src/cfnlint/data/schemas/providers/eu_west_3/__init__.py b/src/cfnlint/data/schemas/providers/eu_west_3/__init__.py index 1ef8116168..25c02fcf75 100644 --- a/src/cfnlint/data/schemas/providers/eu_west_3/__init__.py +++ b/src/cfnlint/data/schemas/providers/eu_west_3/__init__.py @@ -1101,7 +1101,6 @@ "aws-chatbot-microsoftteamschannelconfiguration.json", "aws-chatbot-slackchannelconfiguration.json", "aws-cloud9-environmentec2.json", - "aws-cloudformation-customresource.json", "aws-cloudformation-hookdefaultversion.json", "aws-cloudformation-hooktypeconfig.json", "aws-cloudformation-hookversion.json", @@ -1343,7 +1342,6 @@ "aws-eks-podidentityassociation.json", "aws-elasticache-cachecluster.json", "aws-elasticache-parametergroup.json", - "aws-elasticache-replicationgroup.json", "aws-elasticache-securitygroup.json", "aws-elasticache-securitygroupingress.json", "aws-elasticache-serverlesscache.json", @@ -1355,14 +1353,14 @@ "aws-elasticbeanstalk-configurationtemplate.json", "aws-elasticbeanstalk-environment.json", "aws-elasticloadbalancing-loadbalancer.json", + "aws-elasticloadbalancingv2-listener.json", "aws-elasticloadbalancingv2-listenercertificate.json", + "aws-elasticloadbalancingv2-listenerrule.json", "aws-elasticloadbalancingv2-loadbalancer.json", "aws-elasticloadbalancingv2-targetgroup.json", "aws-elasticloadbalancingv2-truststore.json", "aws-elasticloadbalancingv2-truststorerevocation.json", "aws-elasticsearch-domain.json", - "aws-emr-cluster.json", - "aws-emr-instancefleetconfig.json", "aws-emr-instancegroupconfig.json", "aws-emr-securityconfiguration.json", "aws-emr-step.json", @@ -1394,6 +1392,7 @@ "aws-globalaccelerator-listener.json", "aws-glue-classifier.json", "aws-glue-connection.json", + "aws-glue-crawler.json", "aws-glue-customentitytype.json", "aws-glue-database.json", "aws-glue-datacatalogencryptionsettings.json", @@ -1490,7 +1489,9 @@ "aws-lakeformation-datacellsfilter.json", "aws-lakeformation-datalakesettings.json", "aws-lakeformation-permissions.json", + "aws-lakeformation-principalpermissions.json", "aws-lakeformation-resource.json", + "aws-lakeformation-tag.json", "aws-lakeformation-tagassociation.json", "aws-lambda-alias.json", "aws-lambda-codesigningconfig.json", @@ -1506,6 +1507,7 @@ "aws-licensemanager-grant.json", "aws-licensemanager-license.json", "aws-lightsail-alarm.json", + "aws-lightsail-bucket.json", "aws-lightsail-certificate.json", "aws-lightsail-container.json", "aws-lightsail-database.json", diff --git a/src/cfnlint/data/schemas/providers/eu_west_3/aws-cloudformation-customresource.json b/src/cfnlint/data/schemas/providers/eu_west_3/aws-cloudformation-customresource.json new file mode 100644 index 0000000000..1f03e2049e --- /dev/null +++ b/src/cfnlint/data/schemas/providers/eu_west_3/aws-cloudformation-customresource.json @@ -0,0 +1,27 @@ +{ + "additionalProperties": true, + "createOnlyProperties": [ + "/properties/ServiceToken" + ], + "primaryIdentifier": [ + "/properties/Id" + ], + "properties": { + "Id": { + "type": "string" + }, + "ServiceTimeout": { + "type": "integer" + }, + "ServiceToken": { + "type": "string" + } + }, + "readOnlyProperties": [ + "/properties/Id" + ], + "required": [ + "ServiceToken" + ], + "typeName": "AWS::CloudFormation::CustomResource" +} diff --git a/src/cfnlint/data/schemas/providers/eu_west_3/aws-elasticache-replicationgroup.json b/src/cfnlint/data/schemas/providers/eu_west_3/aws-elasticache-replicationgroup.json new file mode 100644 index 0000000000..80dd855768 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/eu_west_3/aws-elasticache-replicationgroup.json @@ -0,0 +1,339 @@ +{ + "additionalProperties": false, + "createOnlyProperties": [ + "/properties/KmsKeyId", + "/properties/Port", + "/properties/SnapshotArns", + "/properties/SnapshotName", + "/properties/CacheSubnetGroupName", + "/properties/NetworkType", + "/properties/DataTieringEnabled", + "/properties/AtRestEncryptionEnabled", + "/properties/ReplicationGroupId", + "/properties/GlobalReplicationGroupId", + "/properties/ReplicasPerNodeGroup", + "/properties/PreferredCacheClusterAZs" + ], + "definitions": { + "CloudWatchLogsDestinationDetails": { + "additionalProperties": false, + "properties": { + "LogGroup": { + "type": "string" + } + }, + "required": [ + "LogGroup" + ], + "type": "object" + }, + "DestinationDetails": { + "additionalProperties": false, + "properties": { + "CloudWatchLogsDetails": { + "$ref": "#/definitions/CloudWatchLogsDestinationDetails" + }, + "KinesisFirehoseDetails": { + "$ref": "#/definitions/KinesisFirehoseDestinationDetails" + } + }, + "type": "object" + }, + "KinesisFirehoseDestinationDetails": { + "additionalProperties": false, + "properties": { + "DeliveryStream": { + "type": "string" + } + }, + "required": [ + "DeliveryStream" + ], + "type": "object" + }, + "LogDeliveryConfigurationRequest": { + "additionalProperties": false, + "properties": { + "DestinationDetails": { + "$ref": "#/definitions/DestinationDetails" + }, + "DestinationType": { + "type": "string" + }, + "LogFormat": { + "type": "string" + }, + "LogType": { + "type": "string" + } + }, + "required": [ + "LogFormat", + "LogType", + "DestinationType", + "DestinationDetails" + ], + "type": "object" + }, + "NodeGroupConfiguration": { + "additionalProperties": false, + "properties": { + "NodeGroupId": { + "type": "string" + }, + "PrimaryAvailabilityZone": { + "type": "string" + }, + "ReplicaAvailabilityZones": { + "items": { + "type": "string" + }, + "type": "array", + "uniqueItems": true + }, + "ReplicaCount": { + "type": "integer" + }, + "Slots": { + "type": "string" + } + }, + "type": "object" + }, + "Tag": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "required": [ + "Value", + "Key" + ], + "type": "object" + } + }, + "primaryIdentifier": [ + "/properties/ReplicationGroupId" + ], + "properties": { + "AtRestEncryptionEnabled": { + "type": "boolean" + }, + "AuthToken": { + "type": "string" + }, + "AutoMinorVersionUpgrade": { + "type": "boolean" + }, + "AutomaticFailoverEnabled": { + "type": "boolean" + }, + "CacheNodeType": { + "type": "string" + }, + "CacheParameterGroupName": { + "type": "string" + }, + "CacheSecurityGroupNames": { + "items": { + "type": "string" + }, + "type": "array", + "uniqueItems": true + }, + "CacheSubnetGroupName": { + "type": "string" + }, + "ClusterMode": { + "type": "string" + }, + "ConfigurationEndPoint": { + "properties": { + "Address": { + "type": "string" + }, + "Port": { + "type": "string" + } + }, + "type": "object" + }, + "DataTieringEnabled": { + "type": "boolean" + }, + "Engine": { + "type": "string" + }, + "EngineVersion": { + "type": "string" + }, + "GlobalReplicationGroupId": { + "type": "string" + }, + "IpDiscovery": { + "type": "string" + }, + "KmsKeyId": { + "type": "string" + }, + "LogDeliveryConfigurations": { + "items": { + "$ref": "#/definitions/LogDeliveryConfigurationRequest" + }, + "type": "array", + "uniqueItems": true + }, + "MultiAZEnabled": { + "type": "boolean" + }, + "NetworkType": { + "type": "string" + }, + "NodeGroupConfiguration": { + "items": { + "$ref": "#/definitions/NodeGroupConfiguration" + }, + "type": "array", + "uniqueItems": true + }, + "NotificationTopicArn": { + "type": "string" + }, + "NumCacheClusters": { + "maximum": 6, + "minimum": 1, + "type": "integer" + }, + "NumNodeGroups": { + "type": "integer" + }, + "Port": { + "type": "integer" + }, + "PreferredCacheClusterAZs": { + "items": { + "type": "string" + }, + "type": "array", + "uniqueItems": true + }, + "PreferredMaintenanceWindow": { + "type": "string" + }, + "PrimaryClusterId": { + "type": "string" + }, + "PrimaryEndPoint": { + "properties": { + "Address": { + "type": "string" + }, + "Port": { + "type": "string" + } + }, + "type": "object" + }, + "ReadEndPoint": { + "properties": { + "Addresses": { + "type": "string" + }, + "Ports": { + "type": "string" + } + }, + "type": "object" + }, + "ReaderEndPoint": { + "properties": { + "Address": { + "type": "string" + }, + "Port": { + "type": "string" + } + }, + "type": "object" + }, + "ReplicasPerNodeGroup": { + "maximum": 5, + "minimum": 0, + "type": "integer" + }, + "ReplicationGroupDescription": { + "type": "string" + }, + "ReplicationGroupId": { + "type": "string" + }, + "SecurityGroupIds": { + "format": "AWS::EC2::SecurityGroup.Ids", + "items": { + "format": "AWS::EC2::SecurityGroup.GroupId", + "type": "string" + }, + "type": "array", + "uniqueItems": true + }, + "SnapshotArns": { + "items": { + "type": "string" + }, + "type": "array", + "uniqueItems": true + }, + "SnapshotName": { + "type": "string" + }, + "SnapshotRetentionLimit": { + "type": "integer" + }, + "SnapshotWindow": { + "type": "string" + }, + "SnapshottingClusterId": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array", + "uniqueItems": false + }, + "TransitEncryptionEnabled": { + "type": "boolean" + }, + "TransitEncryptionMode": { + "type": "string" + }, + "UserGroupIds": { + "items": { + "type": "string" + }, + "type": "array", + "uniqueItems": true + } + }, + "readOnlyProperties": [ + "/properties/ConfigurationEndPoint/Address", + "/properties/PrimaryEndPoint/Address", + "/properties/PrimaryEndPoint/Port", + "/properties/ReaderEndPoint/Address", + "/properties/ConfigurationEndPoint/Port", + "/properties/ReaderEndPoint/Port", + "/properties/ReadEndPoint/Addresses", + "/properties/ReadEndPoint/Ports", + "/properties/ReplicationGroupId" + ], + "required": [ + "ReplicationGroupDescription" + ], + "typeName": "AWS::ElastiCache::ReplicationGroup" +} diff --git a/src/cfnlint/data/schemas/providers/eu_west_3/aws-elasticloadbalancingv2-listener.json b/src/cfnlint/data/schemas/providers/eu_west_3/aws-elasticloadbalancingv2-listener.json deleted file mode 100644 index 254d6191a5..0000000000 --- a/src/cfnlint/data/schemas/providers/eu_west_3/aws-elasticloadbalancingv2-listener.json +++ /dev/null @@ -1,380 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/LoadBalancerArn" - ], - "definitions": { - "Action": { - "additionalProperties": false, - "properties": { - "AuthenticateCognitoConfig": { - "$ref": "#/definitions/AuthenticateCognitoConfig" - }, - "AuthenticateOidcConfig": { - "$ref": "#/definitions/AuthenticateOidcConfig" - }, - "FixedResponseConfig": { - "$ref": "#/definitions/FixedResponseConfig" - }, - "ForwardConfig": { - "$ref": "#/definitions/ForwardConfig" - }, - "Order": { - "type": "integer" - }, - "RedirectConfig": { - "$ref": "#/definitions/RedirectConfig" - }, - "TargetGroupArn": { - "relationshipRef": { - "propertyPath": "/properties/TargetGroupArn", - "typeName": "AWS::ElasticLoadBalancingV2::TargetGroup" - }, - "type": "string" - }, - "Type": { - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AuthenticateCognitoConfig": { - "additionalProperties": false, - "properties": { - "AuthenticationRequestExtraParams": { - "patternProperties": { - "[a-zA-Z0-9]+": { - "type": "string" - } - }, - "type": "object" - }, - "OnUnauthenticatedRequest": { - "type": "string" - }, - "Scope": { - "type": "string" - }, - "SessionCookieName": { - "type": "string" - }, - "SessionTimeout": { - "type": "string" - }, - "UserPoolArn": { - "relationshipRef": { - "propertyPath": "/properties/Arn", - "typeName": "AWS::Cognito::UserPool" - }, - "type": "string" - }, - "UserPoolClientId": { - "anyOf": [ - { - "relationshipRef": { - "propertyPath": "/properties/UserPoolId", - "typeName": "AWS::Cognito::UserPoolClient" - } - }, - { - "relationshipRef": { - "propertyPath": "/properties/ClientId", - "typeName": "AWS::Cognito::UserPoolClient" - } - } - ], - "type": "string" - }, - "UserPoolDomain": { - "relationshipRef": { - "propertyPath": "/properties/Id", - "typeName": "AWS::Cognito::UserPoolDomain" - }, - "type": "string" - } - }, - "required": [ - "UserPoolClientId", - "UserPoolDomain", - "UserPoolArn" - ], - "type": "object" - }, - "AuthenticateOidcConfig": { - "additionalProperties": false, - "properties": { - "AuthenticationRequestExtraParams": { - "patternProperties": { - "[a-zA-Z0-9]+": { - "type": "string" - } - }, - "type": "object" - }, - "AuthorizationEndpoint": { - "type": "string" - }, - "ClientId": { - "type": "string" - }, - "ClientSecret": { - "type": "string" - }, - "Issuer": { - "type": "string" - }, - "OnUnauthenticatedRequest": { - "type": "string" - }, - "Scope": { - "type": "string" - }, - "SessionCookieName": { - "type": "string" - }, - "SessionTimeout": { - "type": "string" - }, - "TokenEndpoint": { - "type": "string" - }, - "UseExistingClientSecret": { - "type": "boolean" - }, - "UserInfoEndpoint": { - "type": "string" - } - }, - "required": [ - "TokenEndpoint", - "Issuer", - "UserInfoEndpoint", - "ClientId", - "AuthorizationEndpoint" - ], - "type": "object" - }, - "Certificate": { - "additionalProperties": false, - "properties": { - "CertificateArn": { - "anyOf": [ - { - "relationshipRef": { - "propertyPath": "/properties/Id", - "typeName": "AWS::CertificateManager::Certificate" - } - }, - { - "relationshipRef": { - "propertyPath": "/properties/Arn", - "typeName": "AWS::IAM::ServerCertificate" - } - } - ], - "type": "string" - } - }, - "type": "object" - }, - "FixedResponseConfig": { - "additionalProperties": false, - "properties": { - "ContentType": { - "type": "string" - }, - "MessageBody": { - "type": "string" - }, - "StatusCode": { - "type": "string" - } - }, - "required": [ - "StatusCode" - ], - "type": "object" - }, - "ForwardConfig": { - "additionalProperties": false, - "properties": { - "TargetGroupStickinessConfig": { - "$ref": "#/definitions/TargetGroupStickinessConfig" - }, - "TargetGroups": { - "items": { - "$ref": "#/definitions/TargetGroupTuple" - }, - "type": "array", - "uniqueItems": true - } - }, - "type": "object" - }, - "ListenerAttribute": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "type": "object" - }, - "MutualAuthentication": { - "additionalProperties": false, - "properties": { - "IgnoreClientCertificateExpiry": { - "type": "boolean" - }, - "Mode": { - "type": "string" - }, - "TrustStoreArn": { - "type": "string" - } - }, - "type": "object" - }, - "RedirectConfig": { - "additionalProperties": false, - "properties": { - "Host": { - "type": "string" - }, - "Path": { - "type": "string" - }, - "Port": { - "type": "string" - }, - "Protocol": { - "pattern": "^(HTTPS?|#\\{protocol\\})$", - "type": "string" - }, - "Query": { - "type": "string" - }, - "StatusCode": { - "type": "string" - } - }, - "required": [ - "StatusCode" - ], - "type": "object" - }, - "TargetGroupStickinessConfig": { - "additionalProperties": false, - "properties": { - "DurationSeconds": { - "type": "integer" - }, - "Enabled": { - "type": "boolean" - } - }, - "type": "object" - }, - "TargetGroupTuple": { - "additionalProperties": false, - "properties": { - "TargetGroupArn": { - "relationshipRef": { - "propertyPath": "/properties/TargetGroupArn", - "typeName": "AWS::ElasticLoadBalancingV2::TargetGroup" - }, - "type": "string" - }, - "Weight": { - "type": "integer" - } - }, - "type": "object" - } - }, - "primaryIdentifier": [ - "/properties/ListenerArn" - ], - "properties": { - "AlpnPolicy": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Certificates": { - "items": { - "$ref": "#/definitions/Certificate" - }, - "type": "array", - "uniqueItems": true - }, - "DefaultActions": { - "items": { - "$ref": "#/definitions/Action" - }, - "type": "array", - "uniqueItems": true - }, - "ListenerArn": { - "type": "string" - }, - "ListenerAttributes": { - "arrayType": "AttributeList", - "insertionOrder": false, - "items": { - "$ref": "#/definitions/ListenerAttribute" - }, - "type": "array", - "uniqueItems": true - }, - "LoadBalancerArn": { - "type": "string" - }, - "MutualAuthentication": { - "$ref": "#/definitions/MutualAuthentication" - }, - "Port": { - "type": "integer" - }, - "Protocol": { - "enum": [ - "GENEVE", - "HTTP", - "HTTPS", - "TCP", - "TCP_UDP", - "TLS", - "UDP" - ], - "type": "string" - }, - "SslPolicy": { - "type": "string" - } - }, - "readOnlyProperties": [ - "/properties/ListenerArn" - ], - "required": [ - "LoadBalancerArn", - "DefaultActions" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-elasticloadbalancingv2.git", - "tagging": { - "cloudFormationSystemTags": false, - "tagOnCreate": false, - "tagUpdatable": false, - "taggable": false - }, - "typeName": "AWS::ElasticLoadBalancingV2::Listener", - "writeOnlyProperties": [ - "/properties/DefaultActions/*/AuthenticateOidcConfig/ClientSecret" - ] -} diff --git a/src/cfnlint/data/schemas/providers/eu_west_3/aws-elasticloadbalancingv2-listenerrule.json b/src/cfnlint/data/schemas/providers/eu_west_3/aws-elasticloadbalancingv2-listenerrule.json deleted file mode 100644 index a3f223e91d..0000000000 --- a/src/cfnlint/data/schemas/providers/eu_west_3/aws-elasticloadbalancingv2-listenerrule.json +++ /dev/null @@ -1,413 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/ListenerArn" - ], - "definitions": { - "Action": { - "additionalProperties": false, - "properties": { - "AuthenticateCognitoConfig": { - "$ref": "#/definitions/AuthenticateCognitoConfig" - }, - "AuthenticateOidcConfig": { - "$ref": "#/definitions/AuthenticateOidcConfig" - }, - "FixedResponseConfig": { - "$ref": "#/definitions/FixedResponseConfig" - }, - "ForwardConfig": { - "$ref": "#/definitions/ForwardConfig" - }, - "Order": { - "type": "integer" - }, - "RedirectConfig": { - "$ref": "#/definitions/RedirectConfig" - }, - "TargetGroupArn": { - "type": "string" - }, - "Type": { - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AuthenticateCognitoConfig": { - "additionalProperties": false, - "properties": { - "AuthenticationRequestExtraParams": { - "additionalProperties": false, - "patternProperties": { - "[a-zA-Z0-9]+": { - "type": "string" - } - }, - "type": "object" - }, - "OnUnauthenticatedRequest": { - "type": "string" - }, - "Scope": { - "type": "string" - }, - "SessionCookieName": { - "type": "string" - }, - "SessionTimeout": { - "type": "integer" - }, - "UserPoolArn": { - "type": "string" - }, - "UserPoolClientId": { - "type": "string" - }, - "UserPoolDomain": { - "type": "string" - } - }, - "required": [ - "UserPoolClientId", - "UserPoolDomain", - "UserPoolArn" - ], - "type": "object" - }, - "AuthenticateOidcConfig": { - "additionalProperties": false, - "properties": { - "AuthenticationRequestExtraParams": { - "additionalProperties": false, - "patternProperties": { - "[a-zA-Z0-9]+": { - "type": "string" - } - }, - "type": "object" - }, - "AuthorizationEndpoint": { - "type": "string" - }, - "ClientId": { - "type": "string" - }, - "ClientSecret": { - "type": "string" - }, - "Issuer": { - "type": "string" - }, - "OnUnauthenticatedRequest": { - "type": "string" - }, - "Scope": { - "type": "string" - }, - "SessionCookieName": { - "type": "string" - }, - "SessionTimeout": { - "type": "integer" - }, - "TokenEndpoint": { - "type": "string" - }, - "UseExistingClientSecret": { - "type": "boolean" - }, - "UserInfoEndpoint": { - "type": "string" - } - }, - "required": [ - "TokenEndpoint", - "Issuer", - "UserInfoEndpoint", - "ClientId", - "AuthorizationEndpoint" - ], - "type": "object" - }, - "FixedResponseConfig": { - "additionalProperties": false, - "properties": { - "ContentType": { - "type": "string" - }, - "MessageBody": { - "type": "string" - }, - "StatusCode": { - "type": "string" - } - }, - "required": [ - "StatusCode" - ], - "type": "object" - }, - "ForwardConfig": { - "additionalProperties": false, - "properties": { - "TargetGroupStickinessConfig": { - "$ref": "#/definitions/TargetGroupStickinessConfig" - }, - "TargetGroups": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/TargetGroupTuple" - }, - "type": "array", - "uniqueItems": true - } - }, - "type": "object" - }, - "HostHeaderConfig": { - "additionalProperties": false, - "properties": { - "Values": { - "insertionOrder": false, - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": true - } - }, - "type": "object" - }, - "HttpHeaderConfig": { - "additionalProperties": false, - "properties": { - "HttpHeaderName": { - "type": "string" - }, - "Values": { - "insertionOrder": false, - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": true - } - }, - "type": "object" - }, - "HttpRequestMethodConfig": { - "additionalProperties": false, - "properties": { - "Values": { - "insertionOrder": false, - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": true - } - }, - "type": "object" - }, - "PathPatternConfig": { - "additionalProperties": false, - "properties": { - "Values": { - "insertionOrder": false, - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": true - } - }, - "type": "object" - }, - "QueryStringConfig": { - "additionalProperties": false, - "properties": { - "Values": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/QueryStringKeyValue" - }, - "type": "array", - "uniqueItems": true - } - }, - "type": "object" - }, - "QueryStringKeyValue": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "type": "object" - }, - "RedirectConfig": { - "additionalProperties": false, - "properties": { - "Host": { - "type": "string" - }, - "Path": { - "type": "string" - }, - "Port": { - "type": "string" - }, - "Protocol": { - "type": "string" - }, - "Query": { - "type": "string" - }, - "StatusCode": { - "type": "string" - } - }, - "required": [ - "StatusCode" - ], - "type": "object" - }, - "RuleCondition": { - "additionalProperties": false, - "properties": { - "Field": { - "type": "string" - }, - "HostHeaderConfig": { - "$ref": "#/definitions/HostHeaderConfig" - }, - "HttpHeaderConfig": { - "$ref": "#/definitions/HttpHeaderConfig" - }, - "HttpRequestMethodConfig": { - "$ref": "#/definitions/HttpRequestMethodConfig" - }, - "PathPatternConfig": { - "$ref": "#/definitions/PathPatternConfig" - }, - "QueryStringConfig": { - "$ref": "#/definitions/QueryStringConfig" - }, - "SourceIpConfig": { - "$ref": "#/definitions/SourceIpConfig" - }, - "Values": { - "insertionOrder": false, - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": true - } - }, - "type": "object" - }, - "SourceIpConfig": { - "additionalProperties": false, - "properties": { - "Values": { - "insertionOrder": false, - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": true - } - }, - "type": "object" - }, - "TargetGroupStickinessConfig": { - "additionalProperties": false, - "properties": { - "DurationSeconds": { - "type": "integer" - }, - "Enabled": { - "type": "boolean" - } - }, - "type": "object" - }, - "TargetGroupTuple": { - "additionalProperties": false, - "properties": { - "TargetGroupArn": { - "type": "string" - }, - "Weight": { - "type": "integer" - } - }, - "type": "object" - } - }, - "primaryIdentifier": [ - "/properties/RuleArn" - ], - "properties": { - "Actions": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Action" - }, - "type": "array", - "uniqueItems": true - }, - "Conditions": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/RuleCondition" - }, - "type": "array", - "uniqueItems": true - }, - "IsDefault": { - "type": "boolean" - }, - "ListenerArn": { - "type": "string" - }, - "Priority": { - "maximum": 50000, - "minimum": 1, - "type": "integer" - }, - "RuleArn": { - "type": "string" - } - }, - "readOnlyProperties": [ - "/properties/RuleArn", - "/properties/IsDefault" - ], - "required": [ - "Actions", - "Priority", - "Conditions" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-elasticloadbalancingv2", - "tagging": { - "cloudFormationSystemTags": false, - "tagOnCreate": false, - "tagUpdatable": false, - "taggable": false - }, - "typeName": "AWS::ElasticLoadBalancingV2::ListenerRule", - "writeOnlyProperties": [ - "/properties/Actions/*/AuthenticateOidcConfig/ClientSecret", - "/properties/ListenerArn" - ] -} diff --git a/src/cfnlint/data/schemas/providers/eu_west_3/aws-emr-cluster.json b/src/cfnlint/data/schemas/providers/eu_west_3/aws-emr-cluster.json new file mode 100644 index 0000000000..612f8ef599 --- /dev/null +++ b/src/cfnlint/data/schemas/providers/eu_west_3/aws-emr-cluster.json @@ -0,0 +1,925 @@ +{ + "additionalProperties": false, + "createOnlyProperties": [ + "/properties/Steps", + "/properties/EbsRootVolumeSize", + "/properties/SecurityConfiguration", + "/properties/ScaleDownBehavior", + "/properties/Configurations", + "/properties/ReleaseLabel", + "/properties/BootstrapActions", + "/properties/EbsRootVolumeIops", + "/properties/KerberosAttributes", + "/properties/ServiceRole", + "/properties/LogEncryptionKmsKeyId", + "/properties/Name", + "/properties/EbsRootVolumeThroughput", + "/properties/JobFlowRole", + "/properties/AdditionalInfo", + "/properties/LogUri", + "/properties/CustomAmiId", + "/properties/PlacementGroupConfigs", + "/properties/OSReleaseLabel", + "/properties/AutoScalingRole", + "/properties/Applications" + ], + "definitions": { + "Application": { + "additionalProperties": false, + "properties": { + "AdditionalInfo": { + "patternProperties": { + "[a-zA-Z0-9]+": { + "type": "string" + } + }, + "type": "object" + }, + "Args": { + "items": { + "type": "string" + }, + "type": "array", + "uniqueItems": true + }, + "Name": { + "type": "string" + }, + "Version": { + "type": "string" + } + }, + "type": "object" + }, + "AutoScalingPolicy": { + "additionalProperties": false, + "properties": { + "Constraints": { + "$ref": "#/definitions/ScalingConstraints" + }, + "Rules": { + "items": { + "$ref": "#/definitions/ScalingRule" + }, + "type": "array", + "uniqueItems": true + } + }, + "required": [ + "Constraints", + "Rules" + ], + "type": "object" + }, + "AutoTerminationPolicy": { + "additionalProperties": false, + "properties": { + "IdleTimeout": { + "type": "integer" + } + }, + "type": "object" + }, + "BootstrapActionConfig": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "ScriptBootstrapAction": { + "$ref": "#/definitions/ScriptBootstrapActionConfig" + } + }, + "required": [ + "ScriptBootstrapAction", + "Name" + ], + "type": "object" + }, + "CloudWatchAlarmDefinition": { + "additionalProperties": false, + "properties": { + "ComparisonOperator": { + "type": "string" + }, + "Dimensions": { + "items": { + "$ref": "#/definitions/MetricDimension" + }, + "type": "array", + "uniqueItems": true + }, + "EvaluationPeriods": { + "type": "integer" + }, + "MetricName": { + "type": "string" + }, + "Namespace": { + "type": "string" + }, + "Period": { + "type": "integer" + }, + "Statistic": { + "type": "string" + }, + "Threshold": { + "type": "number" + }, + "Unit": { + "type": "string" + } + }, + "required": [ + "MetricName", + "ComparisonOperator", + "Period", + "Threshold" + ], + "type": "object" + }, + "ComputeLimits": { + "additionalProperties": false, + "properties": { + "MaximumCapacityUnits": { + "type": "integer" + }, + "MaximumCoreCapacityUnits": { + "type": "integer" + }, + "MaximumOnDemandCapacityUnits": { + "type": "integer" + }, + "MinimumCapacityUnits": { + "type": "integer" + }, + "UnitType": { + "type": "string" + } + }, + "required": [ + "UnitType", + "MaximumCapacityUnits", + "MinimumCapacityUnits" + ], + "type": "object" + }, + "Configuration": { + "additionalProperties": false, + "properties": { + "Classification": { + "type": "string" + }, + "ConfigurationProperties": { + "patternProperties": { + "[a-zA-Z0-9]+": { + "type": "string" + } + }, + "type": "object" + }, + "Configurations": { + "items": { + "$ref": "#/definitions/Configuration" + }, + "type": "array", + "uniqueItems": true + } + }, + "type": "object" + }, + "EbsBlockDeviceConfig": { + "additionalProperties": false, + "properties": { + "VolumeSpecification": { + "$ref": "#/definitions/VolumeSpecification" + }, + "VolumesPerInstance": { + "type": "integer" + } + }, + "required": [ + "VolumeSpecification" + ], + "type": "object" + }, + "EbsConfiguration": { + "additionalProperties": false, + "properties": { + "EbsBlockDeviceConfigs": { + "items": { + "$ref": "#/definitions/EbsBlockDeviceConfig" + }, + "type": "array", + "uniqueItems": true + }, + "EbsOptimized": { + "type": "boolean" + } + }, + "type": "object" + }, + "HadoopJarStepConfig": { + "additionalProperties": false, + "properties": { + "Args": { + "items": { + "type": "string" + }, + "type": "array", + "uniqueItems": true + }, + "Jar": { + "type": "string" + }, + "MainClass": { + "type": "string" + }, + "StepProperties": { + "items": { + "$ref": "#/definitions/KeyValue" + }, + "type": "array", + "uniqueItems": true + } + }, + "required": [ + "Jar" + ], + "type": "object" + }, + "InstanceFleetConfig": { + "additionalProperties": false, + "properties": { + "InstanceTypeConfigs": { + "items": { + "$ref": "#/definitions/InstanceTypeConfig" + }, + "type": "array", + "uniqueItems": true + }, + "LaunchSpecifications": { + "$ref": "#/definitions/InstanceFleetProvisioningSpecifications" + }, + "Name": { + "type": "string" + }, + "ResizeSpecifications": { + "$ref": "#/definitions/InstanceFleetResizingSpecifications" + }, + "TargetOnDemandCapacity": { + "type": "integer" + }, + "TargetSpotCapacity": { + "type": "integer" + } + }, + "type": "object" + }, + "InstanceFleetProvisioningSpecifications": { + "additionalProperties": false, + "properties": { + "OnDemandSpecification": { + "$ref": "#/definitions/OnDemandProvisioningSpecification" + }, + "SpotSpecification": { + "$ref": "#/definitions/SpotProvisioningSpecification" + } + }, + "type": "object" + }, + "InstanceFleetResizingSpecifications": { + "additionalProperties": false, + "properties": { + "OnDemandResizeSpecification": { + "$ref": "#/definitions/OnDemandResizingSpecification" + }, + "SpotResizeSpecification": { + "$ref": "#/definitions/SpotResizingSpecification" + } + }, + "type": "object" + }, + "InstanceGroupConfig": { + "additionalProperties": false, + "properties": { + "AutoScalingPolicy": { + "$ref": "#/definitions/AutoScalingPolicy" + }, + "BidPrice": { + "type": "string" + }, + "Configurations": { + "items": { + "$ref": "#/definitions/Configuration" + }, + "type": "array", + "uniqueItems": true + }, + "CustomAmiId": { + "type": "string" + }, + "EbsConfiguration": { + "$ref": "#/definitions/EbsConfiguration" + }, + "InstanceCount": { + "type": "integer" + }, + "InstanceType": { + "type": "string" + }, + "Market": { + "type": "string" + }, + "Name": { + "type": "string" + } + }, + "required": [ + "InstanceCount", + "InstanceType" + ], + "type": "object" + }, + "InstanceTypeConfig": { + "additionalProperties": false, + "properties": { + "BidPrice": { + "type": "string" + }, + "BidPriceAsPercentageOfOnDemandPrice": { + "type": "number" + }, + "Configurations": { + "items": { + "$ref": "#/definitions/Configuration" + }, + "type": "array", + "uniqueItems": true + }, + "CustomAmiId": { + "type": "string" + }, + "EbsConfiguration": { + "$ref": "#/definitions/EbsConfiguration" + }, + "InstanceType": { + "type": "string" + }, + "Priority": { + "type": "number" + }, + "WeightedCapacity": { + "type": "integer" + } + }, + "required": [ + "InstanceType" + ], + "type": "object" + }, + "JobFlowInstancesConfig": { + "additionalProperties": false, + "properties": { + "AdditionalMasterSecurityGroups": { + "items": { + "type": "string" + }, + "type": "array", + "uniqueItems": true + }, + "AdditionalSlaveSecurityGroups": { + "items": { + "type": "string" + }, + "type": "array", + "uniqueItems": true + }, + "CoreInstanceFleet": { + "$ref": "#/definitions/InstanceFleetConfig" + }, + "CoreInstanceGroup": { + "$ref": "#/definitions/InstanceGroupConfig" + }, + "Ec2KeyName": { + "type": "string" + }, + "Ec2SubnetId": { + "type": "string" + }, + "Ec2SubnetIds": { + "items": { + "type": "string" + }, + "type": "array", + "uniqueItems": true + }, + "EmrManagedMasterSecurityGroup": { + "type": "string" + }, + "EmrManagedSlaveSecurityGroup": { + "type": "string" + }, + "HadoopVersion": { + "type": "string" + }, + "KeepJobFlowAliveWhenNoSteps": { + "type": "boolean" + }, + "MasterInstanceFleet": { + "$ref": "#/definitions/InstanceFleetConfig" + }, + "MasterInstanceGroup": { + "$ref": "#/definitions/InstanceGroupConfig" + }, + "Placement": { + "$ref": "#/definitions/PlacementType" + }, + "ServiceAccessSecurityGroup": { + "type": "string" + }, + "TaskInstanceFleets": { + "items": { + "$ref": "#/definitions/InstanceFleetConfig" + }, + "type": "array", + "uniqueItems": true + }, + "TaskInstanceGroups": { + "items": { + "$ref": "#/definitions/InstanceGroupConfig" + }, + "type": "array", + "uniqueItems": true + }, + "TerminationProtected": { + "type": "boolean" + }, + "UnhealthyNodeReplacement": { + "type": "boolean" + } + }, + "type": "object" + }, + "KerberosAttributes": { + "additionalProperties": false, + "properties": { + "ADDomainJoinPassword": { + "type": "string" + }, + "ADDomainJoinUser": { + "type": "string" + }, + "CrossRealmTrustPrincipalPassword": { + "type": "string" + }, + "KdcAdminPassword": { + "type": "string" + }, + "Realm": { + "type": "string" + } + }, + "required": [ + "KdcAdminPassword", + "Realm" + ], + "type": "object" + }, + "KeyValue": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "type": "object" + }, + "ManagedScalingPolicy": { + "additionalProperties": false, + "properties": { + "ComputeLimits": { + "$ref": "#/definitions/ComputeLimits" + } + }, + "type": "object" + }, + "MetricDimension": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "required": [ + "Value", + "Key" + ], + "type": "object" + }, + "OnDemandCapacityReservationOptions": { + "additionalProperties": false, + "properties": { + "CapacityReservationPreference": { + "type": "string" + }, + "CapacityReservationResourceGroupArn": { + "type": "string" + }, + "UsageStrategy": { + "type": "string" + } + }, + "type": "object" + }, + "OnDemandProvisioningSpecification": { + "additionalProperties": false, + "properties": { + "AllocationStrategy": { + "type": "string" + }, + "CapacityReservationOptions": { + "$ref": "#/definitions/OnDemandCapacityReservationOptions" + } + }, + "required": [ + "AllocationStrategy" + ], + "type": "object" + }, + "OnDemandResizingSpecification": { + "additionalProperties": false, + "properties": { + "AllocationStrategy": { + "type": "string" + }, + "CapacityReservationOptions": { + "$ref": "#/definitions/OnDemandCapacityReservationOptions" + }, + "TimeoutDurationMinutes": { + "type": "integer" + } + }, + "type": "object" + }, + "PlacementGroupConfig": { + "additionalProperties": false, + "properties": { + "InstanceRole": { + "type": "string" + }, + "PlacementStrategy": { + "type": "string" + } + }, + "required": [ + "InstanceRole" + ], + "type": "object" + }, + "PlacementType": { + "additionalProperties": false, + "properties": { + "AvailabilityZone": { + "type": "string" + } + }, + "required": [ + "AvailabilityZone" + ], + "type": "object" + }, + "ScalingAction": { + "additionalProperties": false, + "properties": { + "Market": { + "type": "string" + }, + "SimpleScalingPolicyConfiguration": { + "$ref": "#/definitions/SimpleScalingPolicyConfiguration" + } + }, + "required": [ + "SimpleScalingPolicyConfiguration" + ], + "type": "object" + }, + "ScalingConstraints": { + "additionalProperties": false, + "properties": { + "MaxCapacity": { + "type": "integer" + }, + "MinCapacity": { + "type": "integer" + } + }, + "required": [ + "MinCapacity", + "MaxCapacity" + ], + "type": "object" + }, + "ScalingRule": { + "additionalProperties": false, + "properties": { + "Action": { + "$ref": "#/definitions/ScalingAction" + }, + "Description": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Trigger": { + "$ref": "#/definitions/ScalingTrigger" + } + }, + "required": [ + "Action", + "Trigger", + "Name" + ], + "type": "object" + }, + "ScalingTrigger": { + "additionalProperties": false, + "properties": { + "CloudWatchAlarmDefinition": { + "$ref": "#/definitions/CloudWatchAlarmDefinition" + } + }, + "required": [ + "CloudWatchAlarmDefinition" + ], + "type": "object" + }, + "ScriptBootstrapActionConfig": { + "additionalProperties": false, + "properties": { + "Args": { + "items": { + "type": "string" + }, + "type": "array", + "uniqueItems": true + }, + "Path": { + "type": "string" + } + }, + "required": [ + "Path" + ], + "type": "object" + }, + "SimpleScalingPolicyConfiguration": { + "additionalProperties": false, + "properties": { + "AdjustmentType": { + "type": "string" + }, + "CoolDown": { + "type": "integer" + }, + "ScalingAdjustment": { + "type": "integer" + } + }, + "required": [ + "ScalingAdjustment" + ], + "type": "object" + }, + "SpotProvisioningSpecification": { + "additionalProperties": false, + "properties": { + "AllocationStrategy": { + "type": "string" + }, + "BlockDurationMinutes": { + "type": "integer" + }, + "TimeoutAction": { + "type": "string" + }, + "TimeoutDurationMinutes": { + "type": "integer" + } + }, + "required": [ + "TimeoutDurationMinutes", + "TimeoutAction" + ], + "type": "object" + }, + "SpotResizingSpecification": { + "additionalProperties": false, + "properties": { + "AllocationStrategy": { + "type": "string" + }, + "TimeoutDurationMinutes": { + "type": "integer" + } + }, + "type": "object" + }, + "StepConfig": { + "additionalProperties": false, + "properties": { + "ActionOnFailure": { + "type": "string" + }, + "HadoopJarStep": { + "$ref": "#/definitions/HadoopJarStepConfig" + }, + "Name": { + "type": "string" + } + }, + "required": [ + "HadoopJarStep", + "Name" + ], + "type": "object" + }, + "Tag": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "required": [ + "Value", + "Key" + ], + "type": "object" + }, + "VolumeSpecification": { + "additionalProperties": false, + "properties": { + "Iops": { + "type": "integer" + }, + "SizeInGB": { + "type": "integer" + }, + "Throughput": { + "type": "integer" + }, + "VolumeType": { + "type": "string" + } + }, + "required": [ + "SizeInGB", + "VolumeType" + ], + "type": "object" + } + }, + "primaryIdentifier": [ + "/properties/Id" + ], + "properties": { + "AdditionalInfo": { + "format": "json", + "type": [ + "object", + "string" + ] + }, + "Applications": { + "items": { + "$ref": "#/definitions/Application" + }, + "type": "array", + "uniqueItems": true + }, + "AutoScalingRole": { + "type": "string" + }, + "AutoTerminationPolicy": { + "$ref": "#/definitions/AutoTerminationPolicy" + }, + "BootstrapActions": { + "items": { + "$ref": "#/definitions/BootstrapActionConfig" + }, + "type": "array", + "uniqueItems": true + }, + "Configurations": { + "items": { + "$ref": "#/definitions/Configuration" + }, + "type": "array", + "uniqueItems": true + }, + "CustomAmiId": { + "type": "string" + }, + "EbsRootVolumeIops": { + "type": "integer" + }, + "EbsRootVolumeSize": { + "type": "integer" + }, + "EbsRootVolumeThroughput": { + "type": "integer" + }, + "Id": { + "type": "string" + }, + "Instances": { + "$ref": "#/definitions/JobFlowInstancesConfig" + }, + "JobFlowRole": { + "type": "string" + }, + "KerberosAttributes": { + "$ref": "#/definitions/KerberosAttributes" + }, + "LogEncryptionKmsKeyId": { + "type": "string" + }, + "LogUri": { + "type": "string" + }, + "ManagedScalingPolicy": { + "$ref": "#/definitions/ManagedScalingPolicy" + }, + "MasterPublicDNS": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "OSReleaseLabel": { + "type": "string" + }, + "PlacementGroupConfigs": { + "items": { + "$ref": "#/definitions/PlacementGroupConfig" + }, + "type": "array", + "uniqueItems": true + }, + "ReleaseLabel": { + "type": "string" + }, + "ScaleDownBehavior": { + "type": "string" + }, + "SecurityConfiguration": { + "type": "string" + }, + "ServiceRole": { + "type": "string" + }, + "StepConcurrencyLevel": { + "type": "integer" + }, + "Steps": { + "items": { + "$ref": "#/definitions/StepConfig" + }, + "type": "array", + "uniqueItems": true + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array", + "uniqueItems": false + }, + "VisibleToAllUsers": { + "type": "boolean" + } + }, + "readOnlyProperties": [ + "/properties/Id", + "/properties/MasterPublicDNS" + ], + "required": [ + "Instances", + "ServiceRole", + "JobFlowRole", + "Name" + ], + "typeName": "AWS::EMR::Cluster" +} diff --git a/src/cfnlint/data/schemas/providers/eu_west_3/aws-emr-instancefleetconfig.json b/src/cfnlint/data/schemas/providers/eu_west_3/aws-emr-instancefleetconfig.json new file mode 100644 index 0000000000..db4f02f4ab --- /dev/null +++ b/src/cfnlint/data/schemas/providers/eu_west_3/aws-emr-instancefleetconfig.json @@ -0,0 +1,272 @@ +{ + "additionalProperties": false, + "createOnlyProperties": [ + "/properties/Name", + "/properties/LaunchSpecifications", + "/properties/ClusterId", + "/properties/InstanceFleetType" + ], + "definitions": { + "Configuration": { + "additionalProperties": false, + "properties": { + "Classification": { + "type": "string" + }, + "ConfigurationProperties": { + "patternProperties": { + "[a-zA-Z0-9]+": { + "type": "string" + } + }, + "type": "object" + }, + "Configurations": { + "items": { + "$ref": "#/definitions/Configuration" + }, + "type": "array", + "uniqueItems": true + } + }, + "type": "object" + }, + "EbsBlockDeviceConfig": { + "additionalProperties": false, + "properties": { + "VolumeSpecification": { + "$ref": "#/definitions/VolumeSpecification" + }, + "VolumesPerInstance": { + "type": "integer" + } + }, + "required": [ + "VolumeSpecification" + ], + "type": "object" + }, + "EbsConfiguration": { + "additionalProperties": false, + "properties": { + "EbsBlockDeviceConfigs": { + "items": { + "$ref": "#/definitions/EbsBlockDeviceConfig" + }, + "type": "array", + "uniqueItems": true + }, + "EbsOptimized": { + "type": "boolean" + } + }, + "type": "object" + }, + "InstanceFleetProvisioningSpecifications": { + "additionalProperties": false, + "properties": { + "OnDemandSpecification": { + "$ref": "#/definitions/OnDemandProvisioningSpecification" + }, + "SpotSpecification": { + "$ref": "#/definitions/SpotProvisioningSpecification" + } + }, + "type": "object" + }, + "InstanceFleetResizingSpecifications": { + "additionalProperties": false, + "properties": { + "OnDemandResizeSpecification": { + "$ref": "#/definitions/OnDemandResizingSpecification" + }, + "SpotResizeSpecification": { + "$ref": "#/definitions/SpotResizingSpecification" + } + }, + "type": "object" + }, + "InstanceTypeConfig": { + "additionalProperties": false, + "properties": { + "BidPrice": { + "type": "string" + }, + "BidPriceAsPercentageOfOnDemandPrice": { + "type": "number" + }, + "Configurations": { + "items": { + "$ref": "#/definitions/Configuration" + }, + "type": "array", + "uniqueItems": true + }, + "CustomAmiId": { + "type": "string" + }, + "EbsConfiguration": { + "$ref": "#/definitions/EbsConfiguration" + }, + "InstanceType": { + "type": "string" + }, + "Priority": { + "type": "number" + }, + "WeightedCapacity": { + "type": "integer" + } + }, + "required": [ + "InstanceType" + ], + "type": "object" + }, + "OnDemandCapacityReservationOptions": { + "additionalProperties": false, + "properties": { + "CapacityReservationPreference": { + "type": "string" + }, + "CapacityReservationResourceGroupArn": { + "type": "string" + }, + "UsageStrategy": { + "type": "string" + } + }, + "type": "object" + }, + "OnDemandProvisioningSpecification": { + "additionalProperties": false, + "properties": { + "AllocationStrategy": { + "type": "string" + }, + "CapacityReservationOptions": { + "$ref": "#/definitions/OnDemandCapacityReservationOptions" + } + }, + "required": [ + "AllocationStrategy" + ], + "type": "object" + }, + "OnDemandResizingSpecification": { + "additionalProperties": false, + "properties": { + "AllocationStrategy": { + "type": "string" + }, + "CapacityReservationOptions": { + "$ref": "#/definitions/OnDemandCapacityReservationOptions" + }, + "TimeoutDurationMinutes": { + "type": "integer" + } + }, + "type": "object" + }, + "SpotProvisioningSpecification": { + "additionalProperties": false, + "properties": { + "AllocationStrategy": { + "type": "string" + }, + "BlockDurationMinutes": { + "type": "integer" + }, + "TimeoutAction": { + "type": "string" + }, + "TimeoutDurationMinutes": { + "type": "integer" + } + }, + "required": [ + "TimeoutDurationMinutes", + "TimeoutAction" + ], + "type": "object" + }, + "SpotResizingSpecification": { + "additionalProperties": false, + "properties": { + "AllocationStrategy": { + "type": "string" + }, + "TimeoutDurationMinutes": { + "type": "integer" + } + }, + "type": "object" + }, + "VolumeSpecification": { + "additionalProperties": false, + "properties": { + "Iops": { + "type": "integer" + }, + "SizeInGB": { + "type": "integer" + }, + "Throughput": { + "type": "integer" + }, + "VolumeType": { + "type": "string" + } + }, + "required": [ + "SizeInGB", + "VolumeType" + ], + "type": "object" + } + }, + "primaryIdentifier": [ + "/properties/Id" + ], + "properties": { + "ClusterId": { + "type": "string" + }, + "Id": { + "type": "string" + }, + "InstanceFleetType": { + "type": "string" + }, + "InstanceTypeConfigs": { + "items": { + "$ref": "#/definitions/InstanceTypeConfig" + }, + "type": "array", + "uniqueItems": true + }, + "LaunchSpecifications": { + "$ref": "#/definitions/InstanceFleetProvisioningSpecifications" + }, + "Name": { + "type": "string" + }, + "ResizeSpecifications": { + "$ref": "#/definitions/InstanceFleetResizingSpecifications" + }, + "TargetOnDemandCapacity": { + "type": "integer" + }, + "TargetSpotCapacity": { + "type": "integer" + } + }, + "readOnlyProperties": [ + "/properties/Id" + ], + "required": [ + "InstanceFleetType", + "ClusterId" + ], + "typeName": "AWS::EMR::InstanceFleetConfig" +} diff --git a/src/cfnlint/data/schemas/providers/eu_west_3/aws-glue-crawler.json b/src/cfnlint/data/schemas/providers/eu_west_3/aws-glue-crawler.json deleted file mode 100644 index 7dcb87f3d8..0000000000 --- a/src/cfnlint/data/schemas/providers/eu_west_3/aws-glue-crawler.json +++ /dev/null @@ -1,328 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/Name" - ], - "definitions": { - "CatalogTarget": { - "additionalProperties": false, - "properties": { - "ConnectionName": { - "type": "string" - }, - "DatabaseName": { - "type": "string" - }, - "DlqEventQueueArn": { - "type": "string" - }, - "EventQueueArn": { - "type": "string" - }, - "Tables": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - } - }, - "type": "object" - }, - "DeltaTarget": { - "additionalProperties": false, - "properties": { - "ConnectionName": { - "type": "string" - }, - "CreateNativeDeltaTable": { - "type": "boolean" - }, - "DeltaTables": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "WriteManifest": { - "type": "boolean" - } - }, - "type": "object" - }, - "DynamoDBTarget": { - "additionalProperties": false, - "properties": { - "Path": { - "type": "string" - } - }, - "type": "object" - }, - "IcebergTarget": { - "additionalProperties": false, - "properties": { - "ConnectionName": { - "type": "string" - }, - "Exclusions": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "MaximumTraversalDepth": { - "type": "integer" - }, - "Paths": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - } - }, - "type": "object" - }, - "JdbcTarget": { - "additionalProperties": false, - "properties": { - "ConnectionName": { - "type": "string" - }, - "EnableAdditionalMetadata": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "Exclusions": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "Path": { - "type": "string" - } - }, - "type": "object" - }, - "LakeFormationConfiguration": { - "additionalProperties": false, - "properties": { - "AccountId": { - "type": "string" - }, - "UseLakeFormationCredentials": { - "type": "boolean" - } - }, - "type": "object" - }, - "MongoDBTarget": { - "additionalProperties": false, - "properties": { - "ConnectionName": { - "type": "string" - }, - "Path": { - "type": "string" - } - }, - "type": "object" - }, - "RecrawlPolicy": { - "additionalProperties": false, - "properties": { - "RecrawlBehavior": { - "type": "string" - } - }, - "type": "object" - }, - "S3Target": { - "additionalProperties": false, - "properties": { - "ConnectionName": { - "type": "string" - }, - "DlqEventQueueArn": { - "type": "string" - }, - "EventQueueArn": { - "type": "string" - }, - "Exclusions": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "Path": { - "type": "string" - }, - "SampleSize": { - "type": "integer" - } - }, - "type": "object" - }, - "Schedule": { - "additionalProperties": false, - "properties": { - "ScheduleExpression": { - "type": "string" - } - }, - "type": "object" - }, - "SchemaChangePolicy": { - "additionalProperties": false, - "properties": { - "DeleteBehavior": { - "enum": [ - "DELETE_FROM_DATABASE", - "DEPRECATE_IN_DATABASE", - "LOG" - ], - "type": "string" - }, - "UpdateBehavior": { - "enum": [ - "LOG", - "UPDATE_IN_DATABASE" - ], - "type": "string" - } - }, - "type": "object" - }, - "Targets": { - "additionalProperties": false, - "properties": { - "CatalogTargets": { - "items": { - "$ref": "#/definitions/CatalogTarget" - }, - "type": "array", - "uniqueItems": false - }, - "DeltaTargets": { - "items": { - "$ref": "#/definitions/DeltaTarget" - }, - "type": "array", - "uniqueItems": false - }, - "DynamoDBTargets": { - "items": { - "$ref": "#/definitions/DynamoDBTarget" - }, - "type": "array", - "uniqueItems": false - }, - "IcebergTargets": { - "items": { - "$ref": "#/definitions/IcebergTarget" - }, - "type": "array", - "uniqueItems": false - }, - "JdbcTargets": { - "items": { - "$ref": "#/definitions/JdbcTarget" - }, - "type": "array", - "uniqueItems": false - }, - "MongoDBTargets": { - "items": { - "$ref": "#/definitions/MongoDBTarget" - }, - "type": "array", - "uniqueItems": false - }, - "S3Targets": { - "items": { - "$ref": "#/definitions/S3Target" - }, - "type": "array", - "uniqueItems": false - } - }, - "type": "object" - } - }, - "primaryIdentifier": [ - "/properties/Id" - ], - "properties": { - "Classifiers": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "Configuration": { - "type": "string" - }, - "CrawlerSecurityConfiguration": { - "type": "string" - }, - "DatabaseName": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "Id": { - "type": "string" - }, - "LakeFormationConfiguration": { - "$ref": "#/definitions/LakeFormationConfiguration" - }, - "Name": { - "type": "string" - }, - "RecrawlPolicy": { - "$ref": "#/definitions/RecrawlPolicy" - }, - "Role": { - "type": "string" - }, - "Schedule": { - "$ref": "#/definitions/Schedule" - }, - "SchemaChangePolicy": { - "$ref": "#/definitions/SchemaChangePolicy" - }, - "TablePrefix": { - "type": "string" - }, - "Tags": { - "format": "json", - "type": [ - "object", - "string" - ] - }, - "Targets": { - "$ref": "#/definitions/Targets" - } - }, - "readOnlyProperties": [ - "/properties/Id" - ], - "required": [ - "Role", - "Targets" - ], - "typeName": "AWS::Glue::Crawler" -} diff --git a/src/cfnlint/data/schemas/providers/eu_west_3/aws-lakeformation-principalpermissions.json b/src/cfnlint/data/schemas/providers/eu_west_3/aws-lakeformation-principalpermissions.json deleted file mode 100644 index 61271298ac..0000000000 --- a/src/cfnlint/data/schemas/providers/eu_west_3/aws-lakeformation-principalpermissions.json +++ /dev/null @@ -1,438 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/Catalog", - "/properties/Principal", - "/properties/Resource", - "/properties/Permissions", - "/properties/PermissionsWithGrantOption" - ], - "definitions": { - "CatalogIdString": { - "maxLength": 12, - "minLength": 12, - "type": "string" - }, - "CatalogResource": { - "type": "string" - }, - "ColumnNames": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/NameString" - }, - "type": "array" - }, - "ColumnWildcard": { - "additionalProperties": false, - "properties": { - "ExcludedColumnNames": { - "$ref": "#/definitions/ColumnNames" - } - }, - "type": "object" - }, - "DataCellsFilterResource": { - "additionalProperties": false, - "properties": { - "DatabaseName": { - "$ref": "#/definitions/NameString" - }, - "Name": { - "$ref": "#/definitions/NameString" - }, - "TableCatalogId": { - "$ref": "#/definitions/CatalogIdString" - }, - "TableName": { - "$ref": "#/definitions/NameString" - } - }, - "required": [ - "TableCatalogId", - "DatabaseName", - "TableName", - "Name" - ], - "type": "object" - }, - "DataLakePrincipal": { - "additionalProperties": false, - "properties": { - "DataLakePrincipalIdentifier": { - "$ref": "#/definitions/DataLakePrincipalString" - } - }, - "type": "object" - }, - "DataLakePrincipalList": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/DataLakePrincipal" - }, - "type": "array" - }, - "DataLakePrincipalString": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "DataLocationResource": { - "additionalProperties": false, - "properties": { - "CatalogId": { - "$ref": "#/definitions/CatalogIdString" - }, - "ResourceArn": { - "$ref": "#/definitions/ResourceArnString" - } - }, - "required": [ - "CatalogId", - "ResourceArn" - ], - "type": "object" - }, - "DatabaseResource": { - "additionalProperties": false, - "properties": { - "CatalogId": { - "$ref": "#/definitions/CatalogIdString" - }, - "Name": { - "$ref": "#/definitions/NameString" - } - }, - "required": [ - "CatalogId", - "Name" - ], - "type": "object" - }, - "Expression": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/LFTag" - }, - "maxItems": 5, - "minItems": 1, - "type": "array" - }, - "IAMRoleArn": { - "pattern": "arn:*:iam::[0-9]*:role/.*", - "type": "string" - }, - "LFTag": { - "additionalProperties": false, - "properties": { - "TagKey": { - "$ref": "#/definitions/LFTagKey" - }, - "TagValues": { - "$ref": "#/definitions/TagValueList" - } - }, - "type": "object" - }, - "LFTagKey": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "LFTagKeyResource": { - "additionalProperties": false, - "properties": { - "CatalogId": { - "$ref": "#/definitions/CatalogIdString" - }, - "TagKey": { - "$ref": "#/definitions/NameString" - }, - "TagValues": { - "$ref": "#/definitions/TagValueList" - } - }, - "required": [ - "CatalogId", - "TagKey", - "TagValues" - ], - "type": "object" - }, - "LFTagPair": { - "additionalProperties": false, - "properties": { - "CatalogId": { - "$ref": "#/definitions/CatalogIdString" - }, - "TagKey": { - "$ref": "#/definitions/LFTagKey" - }, - "TagValues": { - "$ref": "#/definitions/TagValueList" - } - }, - "required": [ - "TagKey", - "TagValues" - ], - "type": "object" - }, - "LFTagPolicyResource": { - "additionalProperties": false, - "properties": { - "CatalogId": { - "$ref": "#/definitions/CatalogIdString" - }, - "Expression": { - "$ref": "#/definitions/Expression" - }, - "ResourceType": { - "$ref": "#/definitions/ResourceType" - } - }, - "required": [ - "CatalogId", - "ResourceType", - "Expression" - ], - "type": "object" - }, - "LFTagValue": { - "maxLength": 256, - "minLength": 0, - "type": "string" - }, - "LFTagsList": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/LFTagPair" - }, - "type": "array" - }, - "NameString": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "NullableBoolean": { - "type": [ - "boolean", - "null" - ] - }, - "PathString": { - "type": "string" - }, - "Permission": { - "enum": [ - "ALL", - "SELECT", - "ALTER", - "DROP", - "DELETE", - "INSERT", - "DESCRIBE", - "CREATE_DATABASE", - "CREATE_TABLE", - "DATA_LOCATION_ACCESS", - "CREATE_TAG", - "ASSOCIATE" - ], - "type": "string" - }, - "PermissionList": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Permission" - }, - "type": "array" - }, - "PrincipalPermissions": { - "additionalProperties": false, - "properties": { - "DataLakePrincipal": { - "$ref": "#/definitions/DataLakePrincipal" - }, - "PermissionList": { - "$ref": "#/definitions/PermissionList" - } - }, - "type": "object" - }, - "PrincipalPermissionsList": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/PrincipalPermissions" - }, - "type": "array" - }, - "PrincipalResourcePair": { - "additionalProperties": false, - "properties": { - "Principal": { - "$ref": "#/definitions/DataLakePrincipal" - }, - "Resource": { - "$ref": "#/definitions/Resource" - } - }, - "required": [ - "Principal", - "Resource" - ], - "type": "object" - }, - "Resource": { - "additionalProperties": false, - "properties": { - "Catalog": { - "$ref": "#/definitions/CatalogResource" - }, - "DataCellsFilter": { - "$ref": "#/definitions/DataCellsFilterResource" - }, - "DataLocation": { - "$ref": "#/definitions/DataLocationResource" - }, - "Database": { - "$ref": "#/definitions/DatabaseResource" - }, - "LFTag": { - "$ref": "#/definitions/LFTagKeyResource" - }, - "LFTagPolicy": { - "$ref": "#/definitions/LFTagPolicyResource" - }, - "Table": { - "$ref": "#/definitions/TableResource" - }, - "TableWithColumns": { - "$ref": "#/definitions/TableWithColumnsResource" - } - }, - "type": "object" - }, - "ResourceArnString": { - "type": "string" - }, - "ResourceType": { - "enum": [ - "DATABASE", - "TABLE" - ], - "type": "string" - }, - "TableResource": { - "additionalProperties": false, - "properties": { - "CatalogId": { - "$ref": "#/definitions/CatalogIdString" - }, - "DatabaseName": { - "$ref": "#/definitions/NameString" - }, - "Name": { - "$ref": "#/definitions/NameString" - }, - "TableWildcard": { - "$ref": "#/definitions/TableWildcard" - } - }, - "required": [ - "CatalogId", - "DatabaseName" - ], - "type": "object" - }, - "TableWildcard": { - "format": "json", - "type": [ - "object", - "string" - ] - }, - "TableWithColumnsResource": { - "additionalProperties": false, - "properties": { - "CatalogId": { - "$ref": "#/definitions/CatalogIdString" - }, - "ColumnNames": { - "$ref": "#/definitions/ColumnNames" - }, - "ColumnWildcard": { - "$ref": "#/definitions/ColumnWildcard" - }, - "DatabaseName": { - "$ref": "#/definitions/NameString" - }, - "Name": { - "$ref": "#/definitions/NameString" - } - }, - "required": [ - "CatalogId", - "DatabaseName", - "Name" - ], - "type": "object" - }, - "TagValueList": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/LFTagValue" - }, - "maxItems": 50, - "minItems": 1, - "type": "array" - } - }, - "primaryIdentifier": [ - "/properties/PrincipalIdentifier", - "/properties/ResourceIdentifier" - ], - "properties": { - "Catalog": { - "$ref": "#/definitions/CatalogIdString" - }, - "Permissions": { - "$ref": "#/definitions/PermissionList" - }, - "PermissionsWithGrantOption": { - "$ref": "#/definitions/PermissionList" - }, - "Principal": { - "$ref": "#/definitions/DataLakePrincipal" - }, - "PrincipalIdentifier": { - "type": "string" - }, - "Resource": { - "$ref": "#/definitions/Resource" - }, - "ResourceIdentifier": { - "type": "string" - } - }, - "propertyTransform": { - "/properties/Permissions": "Permissions=[] ? null : Permissions", - "/properties/PermissionsWithGrantOption": "PermissionsWithGrantOption=[] ? null : PermissionsWithGrantOption" - }, - "readOnlyProperties": [ - "/properties/PrincipalIdentifier", - "/properties/ResourceIdentifier" - ], - "replacementStrategy": "delete_then_create", - "required": [ - "Principal", - "Resource", - "Permissions", - "PermissionsWithGrantOption" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-rpdk.git", - "tagging": { - "taggable": false - }, - "typeName": "AWS::LakeFormation::PrincipalPermissions" -} diff --git a/src/cfnlint/data/schemas/providers/eu_west_3/aws-lakeformation-tag.json b/src/cfnlint/data/schemas/providers/eu_west_3/aws-lakeformation-tag.json deleted file mode 100644 index 1fb40a0fe6..0000000000 --- a/src/cfnlint/data/schemas/providers/eu_west_3/aws-lakeformation-tag.json +++ /dev/null @@ -1,59 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/CatalogId", - "/properties/TagKey" - ], - "definitions": { - "CatalogIdString": { - "maxLength": 12, - "minLength": 12, - "type": "string" - }, - "LFTagKey": { - "maxLength": 128, - "minLength": 1, - "pattern": "^([{a-zA-Z}{\\s}{0-9}_.:\\/=+\\-@%]*)$", - "type": "string" - }, - "LFTagValue": { - "maxLength": 256, - "minLength": 0, - "pattern": "^([{a-zA-Z}{\\s}{0-9}_.:\\*\\/=+\\-@%]*)$", - "type": "string" - }, - "TagValueList": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/LFTagValue" - }, - "maxItems": 50, - "minItems": 1, - "type": "array" - } - }, - "primaryIdentifier": [ - "/properties/TagKey" - ], - "properties": { - "CatalogId": { - "$ref": "#/definitions/CatalogIdString" - }, - "TagKey": { - "$ref": "#/definitions/LFTagKey" - }, - "TagValues": { - "$ref": "#/definitions/TagValueList" - } - }, - "replacementStrategy": "delete_then_create", - "required": [ - "TagKey", - "TagValues" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-rpdk.git", - "tagging": { - "taggable": false - }, - "typeName": "AWS::LakeFormation::Tag" -} diff --git a/src/cfnlint/data/schemas/providers/eu_west_3/aws-lightsail-bucket.json b/src/cfnlint/data/schemas/providers/eu_west_3/aws-lightsail-bucket.json deleted file mode 100644 index 1c0b84de92..0000000000 --- a/src/cfnlint/data/schemas/providers/eu_west_3/aws-lightsail-bucket.json +++ /dev/null @@ -1,104 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/BucketName" - ], - "definitions": { - "AccessRules": { - "additionalProperties": false, - "properties": { - "AllowPublicOverrides": { - "type": "boolean" - }, - "GetObject": { - "type": "string" - } - }, - "type": "object" - }, - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "Value": { - "maxLength": 256, - "minLength": 0, - "type": "string" - } - }, - "required": [ - "Key" - ], - "type": "object" - } - }, - "primaryIdentifier": [ - "/properties/BucketName" - ], - "properties": { - "AbleToUpdateBundle": { - "type": "boolean" - }, - "AccessRules": { - "$ref": "#/definitions/AccessRules" - }, - "BucketArn": { - "type": "string" - }, - "BucketName": { - "maxLength": 54, - "minLength": 3, - "pattern": "^[a-z0-9][a-z0-9-]{1,52}[a-z0-9]$", - "type": "string" - }, - "BundleId": { - "type": "string" - }, - "ObjectVersioning": { - "type": "boolean" - }, - "ReadOnlyAccessAccounts": { - "insertionOrder": false, - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": true - }, - "ResourcesReceivingAccess": { - "insertionOrder": false, - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": true - }, - "Tags": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array", - "uniqueItems": true - }, - "Url": { - "type": "string" - } - }, - "readOnlyProperties": [ - "/properties/BucketArn", - "/properties/Url", - "/properties/AbleToUpdateBundle" - ], - "required": [ - "BucketName", - "BundleId" - ], - "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-lightsail.git", - "taggable": true, - "typeName": "AWS::Lightsail::Bucket" -} diff --git a/src/cfnlint/data/schemas/providers/sa_east_1/__init__.py b/src/cfnlint/data/schemas/providers/sa_east_1/__init__.py index 099563e9e6..9472d70123 100644 --- a/src/cfnlint/data/schemas/providers/sa_east_1/__init__.py +++ b/src/cfnlint/data/schemas/providers/sa_east_1/__init__.py @@ -1303,6 +1303,7 @@ "aws-ec2-localgatewayroutetable.json", "aws-ec2-localgatewayroutetablevirtualinterfacegroupassociation.json", "aws-ec2-localgatewayroutetablevpcassociation.json", + "aws-ec2-natgateway.json", "aws-ec2-networkacl.json", "aws-ec2-networkaclentry.json", "aws-ec2-networkinsightsaccessscope.json", @@ -1446,6 +1447,7 @@ "aws-globalaccelerator-listener.json", "aws-glue-classifier.json", "aws-glue-connection.json", + "aws-glue-crawler.json", "aws-glue-customentitytype.json", "aws-glue-database.json", "aws-glue-datacatalogencryptionsettings.json", @@ -1469,6 +1471,7 @@ "aws-guardduty-detector.json", "aws-guardduty-filter.json", "aws-guardduty-ipset.json", + "aws-guardduty-malwareprotectionplan.json", "aws-guardduty-master.json", "aws-guardduty-member.json", "aws-guardduty-threatintelset.json", diff --git a/src/cfnlint/data/schemas/providers/sa_east_1/aws-ec2-natgateway.json b/src/cfnlint/data/schemas/providers/sa_east_1/aws-ec2-natgateway.json deleted file mode 100644 index addd47fdb5..0000000000 --- a/src/cfnlint/data/schemas/providers/sa_east_1/aws-ec2-natgateway.json +++ /dev/null @@ -1,94 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/SubnetId", - "/properties/ConnectivityType", - "/properties/AllocationId", - "/properties/PrivateIpAddress" - ], - "definitions": { - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "required": [ - "Value", - "Key" - ], - "type": "object" - } - }, - "primaryIdentifier": [ - "/properties/NatGatewayId" - ], - "properties": { - "AllocationId": { - "type": "string" - }, - "ConnectivityType": { - "type": "string" - }, - "MaxDrainDurationSeconds": { - "type": "integer" - }, - "NatGatewayId": { - "type": "string" - }, - "PrivateIpAddress": { - "type": "string" - }, - "SecondaryAllocationIds": { - "insertionOrder": true, - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": true - }, - "SecondaryPrivateIpAddressCount": { - "minimum": 1, - "type": "integer" - }, - "SecondaryPrivateIpAddresses": { - "insertionOrder": true, - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": true - }, - "SubnetId": { - "type": "string" - }, - "Tags": { - "insertionOrder": false, - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array", - "uniqueItems": false - } - }, - "readOnlyProperties": [ - "/properties/NatGatewayId" - ], - "required": [ - "SubnetId" - ], - "tagging": { - "cloudFormationSystemTags": true, - "tagOnCreate": true, - "tagUpdatable": true, - "taggable": true - }, - "typeName": "AWS::EC2::NatGateway", - "writeOnlyProperties": [ - "/properties/MaxDrainDurationSeconds" - ] -} diff --git a/src/cfnlint/data/schemas/providers/sa_east_1/aws-glue-crawler.json b/src/cfnlint/data/schemas/providers/sa_east_1/aws-glue-crawler.json deleted file mode 100644 index 7dcb87f3d8..0000000000 --- a/src/cfnlint/data/schemas/providers/sa_east_1/aws-glue-crawler.json +++ /dev/null @@ -1,328 +0,0 @@ -{ - "additionalProperties": false, - "createOnlyProperties": [ - "/properties/Name" - ], - "definitions": { - "CatalogTarget": { - "additionalProperties": false, - "properties": { - "ConnectionName": { - "type": "string" - }, - "DatabaseName": { - "type": "string" - }, - "DlqEventQueueArn": { - "type": "string" - }, - "EventQueueArn": { - "type": "string" - }, - "Tables": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - } - }, - "type": "object" - }, - "DeltaTarget": { - "additionalProperties": false, - "properties": { - "ConnectionName": { - "type": "string" - }, - "CreateNativeDeltaTable": { - "type": "boolean" - }, - "DeltaTables": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "WriteManifest": { - "type": "boolean" - } - }, - "type": "object" - }, - "DynamoDBTarget": { - "additionalProperties": false, - "properties": { - "Path": { - "type": "string" - } - }, - "type": "object" - }, - "IcebergTarget": { - "additionalProperties": false, - "properties": { - "ConnectionName": { - "type": "string" - }, - "Exclusions": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "MaximumTraversalDepth": { - "type": "integer" - }, - "Paths": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - } - }, - "type": "object" - }, - "JdbcTarget": { - "additionalProperties": false, - "properties": { - "ConnectionName": { - "type": "string" - }, - "EnableAdditionalMetadata": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "Exclusions": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "Path": { - "type": "string" - } - }, - "type": "object" - }, - "LakeFormationConfiguration": { - "additionalProperties": false, - "properties": { - "AccountId": { - "type": "string" - }, - "UseLakeFormationCredentials": { - "type": "boolean" - } - }, - "type": "object" - }, - "MongoDBTarget": { - "additionalProperties": false, - "properties": { - "ConnectionName": { - "type": "string" - }, - "Path": { - "type": "string" - } - }, - "type": "object" - }, - "RecrawlPolicy": { - "additionalProperties": false, - "properties": { - "RecrawlBehavior": { - "type": "string" - } - }, - "type": "object" - }, - "S3Target": { - "additionalProperties": false, - "properties": { - "ConnectionName": { - "type": "string" - }, - "DlqEventQueueArn": { - "type": "string" - }, - "EventQueueArn": { - "type": "string" - }, - "Exclusions": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "Path": { - "type": "string" - }, - "SampleSize": { - "type": "integer" - } - }, - "type": "object" - }, - "Schedule": { - "additionalProperties": false, - "properties": { - "ScheduleExpression": { - "type": "string" - } - }, - "type": "object" - }, - "SchemaChangePolicy": { - "additionalProperties": false, - "properties": { - "DeleteBehavior": { - "enum": [ - "DELETE_FROM_DATABASE", - "DEPRECATE_IN_DATABASE", - "LOG" - ], - "type": "string" - }, - "UpdateBehavior": { - "enum": [ - "LOG", - "UPDATE_IN_DATABASE" - ], - "type": "string" - } - }, - "type": "object" - }, - "Targets": { - "additionalProperties": false, - "properties": { - "CatalogTargets": { - "items": { - "$ref": "#/definitions/CatalogTarget" - }, - "type": "array", - "uniqueItems": false - }, - "DeltaTargets": { - "items": { - "$ref": "#/definitions/DeltaTarget" - }, - "type": "array", - "uniqueItems": false - }, - "DynamoDBTargets": { - "items": { - "$ref": "#/definitions/DynamoDBTarget" - }, - "type": "array", - "uniqueItems": false - }, - "IcebergTargets": { - "items": { - "$ref": "#/definitions/IcebergTarget" - }, - "type": "array", - "uniqueItems": false - }, - "JdbcTargets": { - "items": { - "$ref": "#/definitions/JdbcTarget" - }, - "type": "array", - "uniqueItems": false - }, - "MongoDBTargets": { - "items": { - "$ref": "#/definitions/MongoDBTarget" - }, - "type": "array", - "uniqueItems": false - }, - "S3Targets": { - "items": { - "$ref": "#/definitions/S3Target" - }, - "type": "array", - "uniqueItems": false - } - }, - "type": "object" - } - }, - "primaryIdentifier": [ - "/properties/Id" - ], - "properties": { - "Classifiers": { - "items": { - "type": "string" - }, - "type": "array", - "uniqueItems": false - }, - "Configuration": { - "type": "string" - }, - "CrawlerSecurityConfiguration": { - "type": "string" - }, - "DatabaseName": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "Id": { - "type": "string" - }, - "LakeFormationConfiguration": { - "$ref": "#/definitions/LakeFormationConfiguration" - }, - "Name": { - "type": "string" - }, - "RecrawlPolicy": { - "$ref": "#/definitions/RecrawlPolicy" - }, - "Role": { - "type": "string" - }, - "Schedule": { - "$ref": "#/definitions/Schedule" - }, - "SchemaChangePolicy": { - "$ref": "#/definitions/SchemaChangePolicy" - }, - "TablePrefix": { - "type": "string" - }, - "Tags": { - "format": "json", - "type": [ - "object", - "string" - ] - }, - "Targets": { - "$ref": "#/definitions/Targets" - } - }, - "readOnlyProperties": [ - "/properties/Id" - ], - "required": [ - "Role", - "Targets" - ], - "typeName": "AWS::Glue::Crawler" -} diff --git a/src/cfnlint/data/schemas/providers/sa_east_1/aws-guardduty-malwareprotectionplan.json b/src/cfnlint/data/schemas/providers/sa_east_1/aws-guardduty-malwareprotectionplan.json deleted file mode 100644 index 66df12b177..0000000000 --- a/src/cfnlint/data/schemas/providers/sa_east_1/aws-guardduty-malwareprotectionplan.json +++ /dev/null @@ -1,131 +0,0 @@ -{ - "additionalProperties": false, - "definitions": { - "CFNActions": { - "additionalProperties": false, - "properties": { - "Tagging": { - "$ref": "#/definitions/CFNTagging" - } - }, - "type": "object" - }, - "CFNProtectedResource": { - "additionalProperties": false, - "properties": { - "S3Bucket": { - "additionalProperties": false, - "properties": { - "BucketName": { - "type": "string" - }, - "ObjectPrefixes": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - } - }, - "required": [ - "S3Bucket" - ], - "type": "object" - }, - "CFNStatusReasons": { - "additionalProperties": false, - "properties": { - "Code": { - "type": "string" - }, - "Message": { - "type": "string" - } - }, - "type": "object" - }, - "CFNTagging": { - "additionalProperties": false, - "properties": { - "Status": { - "type": "string" - } - }, - "type": "object" - }, - "TagItem": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "required": [ - "Key", - "Value" - ], - "type": "object" - } - }, - "primaryIdentifier": [ - "/properties/MalwareProtectionPlanId" - ], - "properties": { - "Actions": { - "$ref": "#/definitions/CFNActions" - }, - "Arn": { - "type": "string" - }, - "CreatedAt": { - "type": "string" - }, - "MalwareProtectionPlanId": { - "type": "string" - }, - "ProtectedResource": { - "$ref": "#/definitions/CFNProtectedResource" - }, - "Role": { - "type": "string" - }, - "Status": { - "type": "string" - }, - "StatusReasons": { - "items": { - "$ref": "#/definitions/CFNStatusReasons" - }, - "type": "array" - }, - "Tags": { - "items": { - "$ref": "#/definitions/TagItem" - }, - "type": "array" - } - }, - "readOnlyProperties": [ - "/properties/MalwareProtectionPlanId", - "/properties/Arn", - "/properties/CreatedAt", - "/properties/Status", - "/properties/StatusReasons" - ], - "required": [ - "Role", - "ProtectedResource" - ], - "tagging": { - "cloudFormationSystemTags": false, - "tagOnCreate": true, - "tagUpdatable": true, - "taggable": true - }, - "typeName": "AWS::GuardDuty::MalwareProtectionPlan" -}