{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://catalog.lintel.tools/schemas/schemastore/serverless-framework-configuration/_shared/latest--aws-emr-cluster.json",
  "title": "AWSEMRClusterProperties",
  "description": "Resource Type definition for AWS::EMR::Cluster. Source:- No source definition found, add manually please",
  "x-lintel": {
    "source": "https://raw.githubusercontent.com/lalcebo/json-schema/master/serverless/resources/cloudformation-modified/aws-emr-cluster.json",
    "sourceSha256": "002f423ef79a51992bea7f60beafe143238e7f6642f1f022c3bef7d2b7c0b2d3"
  },
  "type": "object",
  "properties": {
    "Steps": {
      "type": "array",
      "uniqueItems": true,
      "items": {
        "$ref": "#/$defs/StepConfig"
      }
    },
    "StepConcurrencyLevel": {
      "type": "integer"
    },
    "EbsRootVolumeSize": {
      "type": "integer"
    },
    "OSReleaseLabel": {
      "oneOf": [
        {
          "type": "string"
        },
        {
          "$ref": "https://catalog.lintel.tools/schemas/schemastore/serverless-framework-configuration/_shared/latest--cf.functions.json#/Aws_CF_FunctionString"
        }
      ]
    },
    "Name": {
      "oneOf": [
        {
          "type": "string"
        },
        {
          "$ref": "https://catalog.lintel.tools/schemas/schemastore/serverless-framework-configuration/_shared/latest--cf.functions.json#/Aws_CF_FunctionString"
        }
      ]
    },
    "ServiceRole": {
      "oneOf": [
        {
          "type": "string"
        },
        {
          "$ref": "https://catalog.lintel.tools/schemas/schemastore/serverless-framework-configuration/_shared/latest--cf.functions.json#/Aws_CF_FunctionString"
        }
      ]
    },
    "LogUri": {
      "oneOf": [
        {
          "type": "string"
        },
        {
          "$ref": "https://catalog.lintel.tools/schemas/schemastore/serverless-framework-configuration/_shared/latest--cf.functions.json#/Aws_CF_FunctionString"
        }
      ]
    },
    "BootstrapActions": {
      "type": "array",
      "uniqueItems": true,
      "items": {
        "$ref": "#/$defs/BootstrapActionConfig"
      }
    },
    "Configurations": {
      "type": "array",
      "uniqueItems": true,
      "items": {
        "$ref": "#/$defs/Configuration"
      }
    },
    "ReleaseLabel": {
      "oneOf": [
        {
          "type": "string"
        },
        {
          "$ref": "https://catalog.lintel.tools/schemas/schemastore/serverless-framework-configuration/_shared/latest--cf.functions.json#/Aws_CF_FunctionString"
        }
      ]
    },
    "Tags": {
      "type": "array",
      "uniqueItems": false,
      "items": {
        "$ref": "#/$defs/Tag"
      }
    },
    "ManagedScalingPolicy": {
      "$ref": "#/$defs/ManagedScalingPolicy"
    },
    "LogEncryptionKmsKeyId": {
      "oneOf": [
        {
          "type": "string"
        },
        {
          "$ref": "https://catalog.lintel.tools/schemas/schemastore/serverless-framework-configuration/_shared/latest--cf.functions.json#/Aws_CF_FunctionString"
        }
      ]
    },
    "AdditionalInfo": {
      "type": "object"
    },
    "AutoTerminationPolicy": {
      "$ref": "#/$defs/AutoTerminationPolicy"
    },
    "KerberosAttributes": {
      "$ref": "#/$defs/KerberosAttributes"
    },
    "Applications": {
      "type": "array",
      "uniqueItems": true,
      "items": {
        "$ref": "#/$defs/Application"
      }
    },
    "AutoScalingRole": {
      "oneOf": [
        {
          "type": "string"
        },
        {
          "$ref": "https://catalog.lintel.tools/schemas/schemastore/serverless-framework-configuration/_shared/latest--cf.functions.json#/Aws_CF_FunctionString"
        }
      ]
    },
    "CustomAmiId": {
      "oneOf": [
        {
          "type": "string"
        },
        {
          "$ref": "https://catalog.lintel.tools/schemas/schemastore/serverless-framework-configuration/_shared/latest--cf.functions.json#/Aws_CF_FunctionString"
        }
      ]
    },
    "Instances": {
      "$ref": "#/$defs/JobFlowInstancesConfig"
    },
    "ScaleDownBehavior": {
      "oneOf": [
        {
          "type": "string"
        },
        {
          "$ref": "https://catalog.lintel.tools/schemas/schemastore/serverless-framework-configuration/_shared/latest--cf.functions.json#/Aws_CF_FunctionString"
        }
      ]
    },
    "JobFlowRole": {
      "oneOf": [
        {
          "type": "string"
        },
        {
          "$ref": "https://catalog.lintel.tools/schemas/schemastore/serverless-framework-configuration/_shared/latest--cf.functions.json#/Aws_CF_FunctionString"
        }
      ]
    },
    "VisibleToAllUsers": {
      "type": "boolean"
    },
    "SecurityConfiguration": {
      "oneOf": [
        {
          "type": "string"
        },
        {
          "$ref": "https://catalog.lintel.tools/schemas/schemastore/serverless-framework-configuration/_shared/latest--cf.functions.json#/Aws_CF_FunctionString"
        }
      ]
    }
  },
  "typeName": "AWS::EMR::Cluster",
  "readOnlyProperties": [
    "/properties/Id",
    "/properties/MasterPublicDNS"
  ],
  "$defs": {
    "EbsConfiguration": {
      "type": "object",
      "title": "AWSEMRClusterEbsConfigurationDefinition",
      "properties": {
        "EbsBlockDeviceConfigs": {
          "type": "array",
          "uniqueItems": true,
          "items": {
            "$ref": "#/$defs/EbsBlockDeviceConfig"
          }
        },
        "EbsOptimized": {
          "type": "boolean"
        }
      },
      "additionalProperties": false
    },
    "KeyValue": {
      "type": "object",
      "title": "AWSEMRClusterKeyValueDefinition",
      "properties": {
        "Value": {
          "oneOf": [
            {
              "type": "string"
            },
            {
              "$ref": "https://catalog.lintel.tools/schemas/schemastore/serverless-framework-configuration/_shared/latest--cf.functions.json#/Aws_CF_FunctionString"
            }
          ]
        },
        "Key": {
          "oneOf": [
            {
              "type": "string"
            },
            {
              "$ref": "https://catalog.lintel.tools/schemas/schemastore/serverless-framework-configuration/_shared/latest--cf.functions.json#/Aws_CF_FunctionString"
            }
          ]
        }
      },
      "additionalProperties": false
    },
    "Configuration": {
      "type": "object",
      "title": "AWSEMRClusterConfigurationDefinition",
      "properties": {
        "ConfigurationProperties": {
          "type": "object",
          "patternProperties": {
            "[a-zA-Z0-9]+": {
              "type": "string"
            }
          }
        },
        "Configurations": {
          "type": "array",
          "uniqueItems": true,
          "items": {
            "$ref": "#/$defs/Configuration"
          }
        },
        "Classification": {
          "oneOf": [
            {
              "type": "string"
            },
            {
              "$ref": "https://catalog.lintel.tools/schemas/schemastore/serverless-framework-configuration/_shared/latest--cf.functions.json#/Aws_CF_FunctionString"
            }
          ]
        }
      },
      "additionalProperties": false
    },
    "StepConfig": {
      "type": "object",
      "title": "AWSEMRClusterStepConfigDefinition",
      "properties": {
        "HadoopJarStep": {
          "$ref": "#/$defs/HadoopJarStepConfig"
        },
        "ActionOnFailure": {
          "oneOf": [
            {
              "type": "string"
            },
            {
              "$ref": "https://catalog.lintel.tools/schemas/schemastore/serverless-framework-configuration/_shared/latest--cf.functions.json#/Aws_CF_FunctionString"
            }
          ]
        },
        "Name": {
          "oneOf": [
            {
              "type": "string"
            },
            {
              "$ref": "https://catalog.lintel.tools/schemas/schemastore/serverless-framework-configuration/_shared/latest--cf.functions.json#/Aws_CF_FunctionString"
            }
          ]
        }
      },
      "required": [
        "HadoopJarStep",
        "Name"
      ],
      "additionalProperties": false
    },
    "InstanceFleetConfig": {
      "type": "object",
      "title": "AWSEMRClusterInstanceFleetConfigDefinition",
      "properties": {
        "TargetOnDemandCapacity": {
          "type": "integer"
        },
        "TargetSpotCapacity": {
          "type": "integer"
        },
        "InstanceTypeConfigs": {
          "type": "array",
          "uniqueItems": true,
          "items": {
            "$ref": "#/$defs/InstanceTypeConfig"
          }
        },
        "LaunchSpecifications": {
          "$ref": "#/$defs/InstanceFleetProvisioningSpecifications"
        },
        "Name": {
          "oneOf": [
            {
              "type": "string"
            },
            {
              "$ref": "https://catalog.lintel.tools/schemas/schemastore/serverless-framework-configuration/_shared/latest--cf.functions.json#/Aws_CF_FunctionString"
            }
          ]
        }
      },
      "additionalProperties": false
    },
    "InstanceTypeConfig": {
      "type": "object",
      "title": "AWSEMRClusterInstanceTypeConfigDefinition",
      "properties": {
        "BidPrice": {
          "oneOf": [
            {
              "type": "string"
            },
            {
              "$ref": "https://catalog.lintel.tools/schemas/schemastore/serverless-framework-configuration/_shared/latest--cf.functions.json#/Aws_CF_FunctionString"
            }
          ]
        },
        "WeightedCapacity": {
          "type": "integer"
        },
        "EbsConfiguration": {
          "$ref": "#/$defs/EbsConfiguration"
        },
        "BidPriceAsPercentageOfOnDemandPrice": {
          "type": "number"
        },
        "CustomAmiId": {
          "oneOf": [
            {
              "type": "string"
            },
            {
              "$ref": "https://catalog.lintel.tools/schemas/schemastore/serverless-framework-configuration/_shared/latest--cf.functions.json#/Aws_CF_FunctionString"
            }
          ]
        },
        "Configurations": {
          "type": "array",
          "uniqueItems": true,
          "items": {
            "$ref": "#/$defs/Configuration"
          }
        },
        "InstanceType": {
          "oneOf": [
            {
              "type": "string"
            },
            {
              "$ref": "https://catalog.lintel.tools/schemas/schemastore/serverless-framework-configuration/_shared/latest--cf.functions.json#/Aws_CF_FunctionString"
            }
          ]
        }
      },
      "required": [
        "InstanceType"
      ],
      "additionalProperties": false
    },
    "SpotProvisioningSpecification": {
      "type": "object",
      "title": "AWSEMRClusterSpotProvisioningSpecificationDefinition",
      "properties": {
        "AllocationStrategy": {
          "oneOf": [
            {
              "type": "string"
            },
            {
              "$ref": "https://catalog.lintel.tools/schemas/schemastore/serverless-framework-configuration/_shared/latest--cf.functions.json#/Aws_CF_FunctionString"
            }
          ]
        },
        "TimeoutDurationMinutes": {
          "type": "integer"
        },
        "TimeoutAction": {
          "oneOf": [
            {
              "type": "string"
            },
            {
              "$ref": "https://catalog.lintel.tools/schemas/schemastore/serverless-framework-configuration/_shared/latest--cf.functions.json#/Aws_CF_FunctionString"
            }
          ]
        },
        "BlockDurationMinutes": {
          "type": "integer"
        }
      },
      "required": [
        "TimeoutDurationMinutes",
        "TimeoutAction"
      ],
      "additionalProperties": false
    },
    "ScriptBootstrapActionConfig": {
      "type": "object",
      "title": "AWSEMRClusterScriptBootstrapActionConfigDefinition",
      "properties": {
        "Path": {
          "oneOf": [
            {
              "type": "string"
            },
            {
              "$ref": "https://catalog.lintel.tools/schemas/schemastore/serverless-framework-configuration/_shared/latest--cf.functions.json#/Aws_CF_FunctionString"
            }
          ]
        },
        "Args": {
          "type": "array",
          "uniqueItems": true,
          "items": {
            "type": "string"
          }
        }
      },
      "required": [
        "Path"
      ],
      "additionalProperties": false
    },
    "InstanceFleetProvisioningSpecifications": {
      "type": "object",
      "title": "AWSEMRClusterInstanceFleetProvisioningSpecificationsDefinition",
      "properties": {
        "SpotSpecification": {
          "$ref": "#/$defs/SpotProvisioningSpecification"
        },
        "OnDemandSpecification": {
          "$ref": "#/$defs/OnDemandProvisioningSpecification"
        }
      },
      "additionalProperties": false
    },
    "SimpleScalingPolicyConfiguration": {
      "type": "object",
      "title": "AWSEMRClusterSimpleScalingPolicyConfigurationDefinition",
      "properties": {
        "ScalingAdjustment": {
          "type": "integer"
        },
        "CoolDown": {
          "type": "integer"
        },
        "AdjustmentType": {
          "oneOf": [
            {
              "type": "string"
            },
            {
              "$ref": "https://catalog.lintel.tools/schemas/schemastore/serverless-framework-configuration/_shared/latest--cf.functions.json#/Aws_CF_FunctionString"
            }
          ]
        }
      },
      "required": [
        "ScalingAdjustment"
      ],
      "additionalProperties": false
    },
    "OnDemandProvisioningSpecification": {
      "type": "object",
      "title": "AWSEMRClusterOnDemandProvisioningSpecificationDefinition",
      "properties": {
        "AllocationStrategy": {
          "oneOf": [
            {
              "type": "string"
            },
            {
              "$ref": "https://catalog.lintel.tools/schemas/schemastore/serverless-framework-configuration/_shared/latest--cf.functions.json#/Aws_CF_FunctionString"
            }
          ]
        }
      },
      "required": [
        "AllocationStrategy"
      ],
      "additionalProperties": false
    },
    "ScalingTrigger": {
      "type": "object",
      "title": "AWSEMRClusterScalingTriggerDefinition",
      "properties": {
        "CloudWatchAlarmDefinition": {
          "$ref": "#/$defs/CloudWatchAlarmDefinition"
        }
      },
      "required": [
        "CloudWatchAlarmDefinition"
      ],
      "additionalProperties": false
    },
    "ManagedScalingPolicy": {
      "type": "object",
      "title": "AWSEMRClusterManagedScalingPolicyDefinition",
      "properties": {
        "ComputeLimits": {
          "$ref": "#/$defs/ComputeLimits"
        }
      },
      "additionalProperties": false
    },
    "InstanceGroupConfig": {
      "type": "object",
      "title": "AWSEMRClusterInstanceGroupConfigDefinition",
      "properties": {
        "AutoScalingPolicy": {
          "$ref": "#/$defs/AutoScalingPolicy"
        },
        "BidPrice": {
          "oneOf": [
            {
              "type": "string"
            },
            {
              "$ref": "https://catalog.lintel.tools/schemas/schemastore/serverless-framework-configuration/_shared/latest--cf.functions.json#/Aws_CF_FunctionString"
            }
          ]
        },
        "InstanceCount": {
          "type": "integer"
        },
        "EbsConfiguration": {
          "$ref": "#/$defs/EbsConfiguration"
        },
        "CustomAmiId": {
          "oneOf": [
            {
              "type": "string"
            },
            {
              "$ref": "https://catalog.lintel.tools/schemas/schemastore/serverless-framework-configuration/_shared/latest--cf.functions.json#/Aws_CF_FunctionString"
            }
          ]
        },
        "Configurations": {
          "type": "array",
          "uniqueItems": true,
          "items": {
            "$ref": "#/$defs/Configuration"
          }
        },
        "InstanceType": {
          "oneOf": [
            {
              "type": "string"
            },
            {
              "$ref": "https://catalog.lintel.tools/schemas/schemastore/serverless-framework-configuration/_shared/latest--cf.functions.json#/Aws_CF_FunctionString"
            }
          ]
        },
        "Market": {
          "oneOf": [
            {
              "type": "string"
            },
            {
              "$ref": "https://catalog.lintel.tools/schemas/schemastore/serverless-framework-configuration/_shared/latest--cf.functions.json#/Aws_CF_FunctionString"
            }
          ]
        },
        "Name": {
          "oneOf": [
            {
              "type": "string"
            },
            {
              "$ref": "https://catalog.lintel.tools/schemas/schemastore/serverless-framework-configuration/_shared/latest--cf.functions.json#/Aws_CF_FunctionString"
            }
          ]
        }
      },
      "required": [
        "InstanceCount",
        "InstanceType"
      ],
      "additionalProperties": false
    },
    "HadoopJarStepConfig": {
      "type": "object",
      "title": "AWSEMRClusterHadoopJarStepConfigDefinition",
      "properties": {
        "Args": {
          "type": "array",
          "uniqueItems": true,
          "items": {
            "type": "string"
          }
        },
        "MainClass": {
          "oneOf": [
            {
              "type": "string"
            },
            {
              "$ref": "https://catalog.lintel.tools/schemas/schemastore/serverless-framework-configuration/_shared/latest--cf.functions.json#/Aws_CF_FunctionString"
            }
          ]
        },
        "Jar": {
          "oneOf": [
            {
              "type": "string"
            },
            {
              "$ref": "https://catalog.lintel.tools/schemas/schemastore/serverless-framework-configuration/_shared/latest--cf.functions.json#/Aws_CF_FunctionString"
            }
          ]
        },
        "StepProperties": {
          "type": "array",
          "uniqueItems": true,
          "items": {
            "$ref": "#/$defs/KeyValue"
          }
        }
      },
      "required": [
        "Jar"
      ],
      "additionalProperties": false
    },
    "VolumeSpecification": {
      "type": "object",
      "title": "AWSEMRClusterVolumeSpecificationDefinition",
      "properties": {
        "SizeInGB": {
          "type": "integer"
        },
        "VolumeType": {
          "oneOf": [
            {
              "type": "string"
            },
            {
              "$ref": "https://catalog.lintel.tools/schemas/schemastore/serverless-framework-configuration/_shared/latest--cf.functions.json#/Aws_CF_FunctionString"
            }
          ]
        },
        "Iops": {
          "type": "integer"
        }
      },
      "required": [
        "SizeInGB",
        "VolumeType"
      ],
      "additionalProperties": false
    },
    "CloudWatchAlarmDefinition": {
      "type": "object",
      "title": "AWSEMRClusterCloudWatchAlarmDefinition",
      "properties": {
        "MetricName": {
          "oneOf": [
            {
              "type": "string"
            },
            {
              "$ref": "https://catalog.lintel.tools/schemas/schemastore/serverless-framework-configuration/_shared/latest--cf.functions.json#/Aws_CF_FunctionString"
            }
          ]
        },
        "ComparisonOperator": {
          "oneOf": [
            {
              "type": "string"
            },
            {
              "$ref": "https://catalog.lintel.tools/schemas/schemastore/serverless-framework-configuration/_shared/latest--cf.functions.json#/Aws_CF_FunctionString"
            }
          ]
        },
        "Statistic": {
          "oneOf": [
            {
              "type": "string"
            },
            {
              "$ref": "https://catalog.lintel.tools/schemas/schemastore/serverless-framework-configuration/_shared/latest--cf.functions.json#/Aws_CF_FunctionString"
            }
          ]
        },
        "Dimensions": {
          "type": "array",
          "uniqueItems": true,
          "items": {
            "$ref": "#/$defs/MetricDimension"
          }
        },
        "Period": {
          "type": "integer"
        },
        "EvaluationPeriods": {
          "type": "integer"
        },
        "Unit": {
          "oneOf": [
            {
              "type": "string"
            },
            {
              "$ref": "https://catalog.lintel.tools/schemas/schemastore/serverless-framework-configuration/_shared/latest--cf.functions.json#/Aws_CF_FunctionString"
            }
          ]
        },
        "Namespace": {
          "oneOf": [
            {
              "type": "string"
            },
            {
              "$ref": "https://catalog.lintel.tools/schemas/schemastore/serverless-framework-configuration/_shared/latest--cf.functions.json#/Aws_CF_FunctionString"
            }
          ]
        },
        "Threshold": {
          "type": "number"
        }
      },
      "required": [
        "MetricName",
        "ComparisonOperator",
        "Period",
        "Threshold"
      ],
      "additionalProperties": false
    },
    "AutoTerminationPolicy": {
      "type": "object",
      "title": "AWSEMRClusterAutoTerminationPolicyDefinition",
      "properties": {
        "IdleTimeout": {
          "type": "integer"
        }
      },
      "additionalProperties": false
    },
    "KerberosAttributes": {
      "type": "object",
      "title": "AWSEMRClusterKerberosAttributesDefinition",
      "properties": {
        "KdcAdminPassword": {
          "oneOf": [
            {
              "type": "string"
            },
            {
              "$ref": "https://catalog.lintel.tools/schemas/schemastore/serverless-framework-configuration/_shared/latest--cf.functions.json#/Aws_CF_FunctionString"
            }
          ]
        },
        "Realm": {
          "oneOf": [
            {
              "type": "string"
            },
            {
              "$ref": "https://catalog.lintel.tools/schemas/schemastore/serverless-framework-configuration/_shared/latest--cf.functions.json#/Aws_CF_FunctionString"
            }
          ]
        },
        "ADDomainJoinPassword": {
          "oneOf": [
            {
              "type": "string"
            },
            {
              "$ref": "https://catalog.lintel.tools/schemas/schemastore/serverless-framework-configuration/_shared/latest--cf.functions.json#/Aws_CF_FunctionString"
            }
          ]
        },
        "ADDomainJoinUser": {
          "oneOf": [
            {
              "type": "string"
            },
            {
              "$ref": "https://catalog.lintel.tools/schemas/schemastore/serverless-framework-configuration/_shared/latest--cf.functions.json#/Aws_CF_FunctionString"
            }
          ]
        },
        "CrossRealmTrustPrincipalPassword": {
          "oneOf": [
            {
              "type": "string"
            },
            {
              "$ref": "https://catalog.lintel.tools/schemas/schemastore/serverless-framework-configuration/_shared/latest--cf.functions.json#/Aws_CF_FunctionString"
            }
          ]
        }
      },
      "required": [
        "KdcAdminPassword",
        "Realm"
      ],
      "additionalProperties": false
    },
    "JobFlowInstancesConfig": {
      "type": "object",
      "title": "AWSEMRClusterJobFlowInstancesConfigDefinition",
      "properties": {
        "MasterInstanceFleet": {
          "$ref": "#/$defs/InstanceFleetConfig"
        },
        "AdditionalSlaveSecurityGroups": {
          "type": "array",
          "uniqueItems": true,
          "items": {
            "type": "string"
          }
        },
        "CoreInstanceFleet": {
          "$ref": "#/$defs/InstanceFleetConfig"
        },
        "CoreInstanceGroup": {
          "$ref": "#/$defs/InstanceGroupConfig"
        },
        "Ec2SubnetIds": {
          "type": "array",
          "uniqueItems": true,
          "items": {
            "type": "string"
          }
        },
        "HadoopVersion": {
          "oneOf": [
            {
              "type": "string"
            },
            {
              "$ref": "https://catalog.lintel.tools/schemas/schemastore/serverless-framework-configuration/_shared/latest--cf.functions.json#/Aws_CF_FunctionString"
            }
          ]
        },
        "TerminationProtected": {
          "type": "boolean"
        },
        "KeepJobFlowAliveWhenNoSteps": {
          "type": "boolean"
        },
        "Ec2KeyName": {
          "oneOf": [
            {
              "type": "string"
            },
            {
              "$ref": "https://catalog.lintel.tools/schemas/schemastore/serverless-framework-configuration/_shared/latest--cf.functions.json#/Aws_CF_FunctionString"
            }
          ]
        },
        "MasterInstanceGroup": {
          "$ref": "#/$defs/InstanceGroupConfig"
        },
        "Placement": {
          "$ref": "#/$defs/PlacementType"
        },
        "TaskInstanceFleets": {
          "type": "array",
          "uniqueItems": true,
          "items": {
            "$ref": "#/$defs/InstanceFleetConfig"
          }
        },
        "Ec2SubnetId": {
          "oneOf": [
            {
              "type": "string"
            },
            {
              "$ref": "https://catalog.lintel.tools/schemas/schemastore/serverless-framework-configuration/_shared/latest--cf.functions.json#/Aws_CF_FunctionString"
            }
          ]
        },
        "TaskInstanceGroups": {
          "type": "array",
          "uniqueItems": true,
          "items": {
            "$ref": "#/$defs/InstanceGroupConfig"
          }
        },
        "ServiceAccessSecurityGroup": {
          "oneOf": [
            {
              "type": "string"
            },
            {
              "$ref": "https://catalog.lintel.tools/schemas/schemastore/serverless-framework-configuration/_shared/latest--cf.functions.json#/Aws_CF_FunctionString"
            }
          ]
        },
        "EmrManagedSlaveSecurityGroup": {
          "oneOf": [
            {
              "type": "string"
            },
            {
              "$ref": "https://catalog.lintel.tools/schemas/schemastore/serverless-framework-configuration/_shared/latest--cf.functions.json#/Aws_CF_FunctionString"
            }
          ]
        },
        "AdditionalMasterSecurityGroups": {
          "type": "array",
          "uniqueItems": true,
          "items": {
            "type": "string"
          }
        },
        "EmrManagedMasterSecurityGroup": {
          "oneOf": [
            {
              "type": "string"
            },
            {
              "$ref": "https://catalog.lintel.tools/schemas/schemastore/serverless-framework-configuration/_shared/latest--cf.functions.json#/Aws_CF_FunctionString"
            }
          ]
        }
      },
      "additionalProperties": false
    },
    "ScalingAction": {
      "type": "object",
      "title": "AWSEMRClusterScalingActionDefinition",
      "properties": {
        "Market": {
          "oneOf": [
            {
              "type": "string"
            },
            {
              "$ref": "https://catalog.lintel.tools/schemas/schemastore/serverless-framework-configuration/_shared/latest--cf.functions.json#/Aws_CF_FunctionString"
            }
          ]
        },
        "SimpleScalingPolicyConfiguration": {
          "$ref": "#/$defs/SimpleScalingPolicyConfiguration"
        }
      },
      "required": [
        "SimpleScalingPolicyConfiguration"
      ],
      "additionalProperties": false
    },
    "EbsBlockDeviceConfig": {
      "type": "object",
      "title": "AWSEMRClusterEbsBlockDeviceConfigDefinition",
      "properties": {
        "VolumeSpecification": {
          "$ref": "#/$defs/VolumeSpecification"
        },
        "VolumesPerInstance": {
          "type": "integer"
        }
      },
      "required": [
        "VolumeSpecification"
      ],
      "additionalProperties": false
    },
    "ScalingRule": {
      "type": "object",
      "title": "AWSEMRClusterScalingRuleDefinition",
      "properties": {
        "Action": {
          "$ref": "#/$defs/ScalingAction"
        },
        "Description": {
          "oneOf": [
            {
              "type": "string"
            },
            {
              "$ref": "https://catalog.lintel.tools/schemas/schemastore/serverless-framework-configuration/_shared/latest--cf.functions.json#/Aws_CF_FunctionString"
            }
          ]
        },
        "Trigger": {
          "$ref": "#/$defs/ScalingTrigger"
        },
        "Name": {
          "oneOf": [
            {
              "type": "string"
            },
            {
              "$ref": "https://catalog.lintel.tools/schemas/schemastore/serverless-framework-configuration/_shared/latest--cf.functions.json#/Aws_CF_FunctionString"
            }
          ]
        }
      },
      "required": [
        "Action",
        "Trigger",
        "Name"
      ],
      "additionalProperties": false
    },
    "ComputeLimits": {
      "type": "object",
      "title": "AWSEMRClusterComputeLimitsDefinition",
      "properties": {
        "MaximumOnDemandCapacityUnits": {
          "type": "integer"
        },
        "MaximumCapacityUnits": {
          "type": "integer"
        },
        "MaximumCoreCapacityUnits": {
          "type": "integer"
        },
        "MinimumCapacityUnits": {
          "type": "integer"
        },
        "UnitType": {
          "oneOf": [
            {
              "type": "string"
            },
            {
              "$ref": "https://catalog.lintel.tools/schemas/schemastore/serverless-framework-configuration/_shared/latest--cf.functions.json#/Aws_CF_FunctionString"
            }
          ]
        }
      },
      "required": [
        "UnitType",
        "MaximumCapacityUnits",
        "MinimumCapacityUnits"
      ],
      "additionalProperties": false
    },
    "MetricDimension": {
      "type": "object",
      "title": "AWSEMRClusterMetricDimensionDefinition",
      "properties": {
        "Value": {
          "oneOf": [
            {
              "type": "string"
            },
            {
              "$ref": "https://catalog.lintel.tools/schemas/schemastore/serverless-framework-configuration/_shared/latest--cf.functions.json#/Aws_CF_FunctionString"
            }
          ]
        },
        "Key": {
          "oneOf": [
            {
              "type": "string"
            },
            {
              "$ref": "https://catalog.lintel.tools/schemas/schemastore/serverless-framework-configuration/_shared/latest--cf.functions.json#/Aws_CF_FunctionString"
            }
          ]
        }
      },
      "required": [
        "Value",
        "Key"
      ],
      "additionalProperties": false
    },
    "BootstrapActionConfig": {
      "type": "object",
      "title": "AWSEMRClusterBootstrapActionConfigDefinition",
      "properties": {
        "ScriptBootstrapAction": {
          "$ref": "#/$defs/ScriptBootstrapActionConfig"
        },
        "Name": {
          "oneOf": [
            {
              "type": "string"
            },
            {
              "$ref": "https://catalog.lintel.tools/schemas/schemastore/serverless-framework-configuration/_shared/latest--cf.functions.json#/Aws_CF_FunctionString"
            }
          ]
        }
      },
      "required": [
        "ScriptBootstrapAction",
        "Name"
      ],
      "additionalProperties": false
    },
    "AutoScalingPolicy": {
      "type": "object",
      "title": "AWSEMRClusterAutoScalingPolicyDefinition",
      "properties": {
        "Rules": {
          "type": "array",
          "uniqueItems": true,
          "items": {
            "$ref": "#/$defs/ScalingRule"
          }
        },
        "Constraints": {
          "$ref": "#/$defs/ScalingConstraints"
        }
      },
      "required": [
        "Constraints",
        "Rules"
      ],
      "additionalProperties": false
    },
    "PlacementType": {
      "type": "object",
      "title": "AWSEMRClusterPlacementTypeDefinition",
      "properties": {
        "AvailabilityZone": {
          "oneOf": [
            {
              "type": "string"
            },
            {
              "$ref": "https://catalog.lintel.tools/schemas/schemastore/serverless-framework-configuration/_shared/latest--cf.functions.json#/Aws_CF_FunctionString"
            }
          ]
        }
      },
      "required": [
        "AvailabilityZone"
      ],
      "additionalProperties": false
    },
    "ScalingConstraints": {
      "type": "object",
      "title": "AWSEMRClusterScalingConstraintsDefinition",
      "properties": {
        "MinCapacity": {
          "type": "integer"
        },
        "MaxCapacity": {
          "type": "integer"
        }
      },
      "required": [
        "MinCapacity",
        "MaxCapacity"
      ],
      "additionalProperties": false
    },
    "Tag": {
      "type": "object",
      "title": "AWSEMRClusterTagDefinition",
      "properties": {
        "Value": {
          "oneOf": [
            {
              "type": "string"
            },
            {
              "$ref": "https://catalog.lintel.tools/schemas/schemastore/serverless-framework-configuration/_shared/latest--cf.functions.json#/Aws_CF_FunctionString"
            }
          ]
        },
        "Key": {
          "oneOf": [
            {
              "type": "string"
            },
            {
              "$ref": "https://catalog.lintel.tools/schemas/schemastore/serverless-framework-configuration/_shared/latest--cf.functions.json#/Aws_CF_FunctionString"
            }
          ]
        }
      },
      "required": [
        "Value",
        "Key"
      ],
      "additionalProperties": false
    },
    "Application": {
      "type": "object",
      "title": "AWSEMRClusterApplicationDefinition",
      "properties": {
        "AdditionalInfo": {
          "type": "object",
          "patternProperties": {
            "[a-zA-Z0-9]+": {
              "type": "string"
            }
          }
        },
        "Args": {
          "type": "array",
          "uniqueItems": true,
          "items": {
            "type": "string"
          }
        },
        "Version": {
          "oneOf": [
            {
              "type": "string"
            },
            {
              "$ref": "https://catalog.lintel.tools/schemas/schemastore/serverless-framework-configuration/_shared/latest--cf.functions.json#/Aws_CF_FunctionString"
            }
          ]
        },
        "Name": {
          "oneOf": [
            {
              "type": "string"
            },
            {
              "$ref": "https://catalog.lintel.tools/schemas/schemastore/serverless-framework-configuration/_shared/latest--cf.functions.json#/Aws_CF_FunctionString"
            }
          ]
        }
      },
      "additionalProperties": false
    }
  },
  "primaryIdentifier": [
    "/properties/Id"
  ],
  "additionalProperties": false,
  "required": [
    "Instances",
    "ServiceRole",
    "JobFlowRole",
    "Name"
  ],
  "createOnlyProperties": [
    "/properties/Steps",
    "/properties/EbsRootVolumeSize",
    "/properties/SecurityConfiguration",
    "/properties/ScaleDownBehavior",
    "/properties/Configurations",
    "/properties/ReleaseLabel",
    "/properties/BootstrapActions",
    "/properties/KerberosAttributes",
    "/properties/ServiceRole",
    "/properties/LogEncryptionKmsKeyId",
    "/properties/Name",
    "/properties/JobFlowRole",
    "/properties/AdditionalInfo",
    "/properties/LogUri",
    "/properties/CustomAmiId",
    "/properties/OSReleaseLabel",
    "/properties/AutoScalingRole",
    "/properties/Applications"
  ]
}
