{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "definitions": {
    "core": {
      "additionalProperties": false,
      "definitions": {
        "allowedHeaders": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "items": {
                "type": "string"
              },
              "type": "array"
            }
          ]
        },
        "allowedMethods": {
          "anyOf": [
            {
              "$ref": "#/definitions/core/definitions/httpMethod"
            },
            {
              "items": {
                "$ref": "#/definitions/core/definitions/httpMethod"
              },
              "type": "array"
            }
          ]
        },
        "allowedOrigins": {
          "anyOf": [
            {},
            {
              "type": "string"
            },
            {
              "items": {
                "type": "string"
              },
              "type": "array"
            }
          ]
        },
        "cw123ComparisonOperator": {
          "type": "string"
        },
        "cw123Dimension": {
          "additionalProperties": false,
          "properties": {
            "Name": {
              "maxLength": 255,
              "minLength": 1,
              "type": "string"
            },
            "Value": {
              "oneOf": [
                {
                  "maxLength": 255,
                  "minLength": 1,
                  "type": "string"
                },
                {
                  "type": "object",
                  "additionalProperties": false,
                  "properties": {
                    "Ref": {
                      "type": "string"
                    }
                  },
                  "required": ["Ref"]
                },
                {
                  "type": "object",
                  "additionalProperties": false,
                  "properties": {
                    "Fn::GetAtt": {
                      "type": "array"
                    }
                  },
                  "required": ["Fn::GetAtt"]
                }
              ]
            }
          },
          "required": ["Name", "Value"],
          "type": "object"
        },
        "cw123Dimensions": {
          "items": {
            "$ref": "#/definitions/core/definitions/cw123Dimension"
          },
          "minItems": 1,
          "type": "array"
        },
        "cw123Statistic": {
          "type": "string"
        },
        "cw123ExtendedStatistic": {
          "type": "string"
        },
        "cw123Unit": {
          "type": "string"
        },
        "dataType": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "minItems": 1
        },
        "dataClassification": {
          "type": "object",
          "additionalProperties": false,
          "properties": {
            "dataType": {
              "$ref": "#/definitions/core/definitions/dataType"
            }
          },
          "required": ["dataType"]
        },
        "deepCheck": {
          "additionalProperties": false,
          "properties": {
            "uri": {
              "type": "string"
            }
          },
          "required": ["uri"],
          "type": "object"
        },
        "healthcheck": {
          "additionalProperties": false,
          "properties": {
            "port": {
              "maximum": 32767,
              "minimum": 1024,
              "type": "integer"
            },
            "protocol": {
              "oneOf": [{}, {}]
            },
            "uri": {
              "type": "string"
            },
            "interval": {
              "type": "integer",
              "minimum": 5,
              "maximum": 300
            },
            "timeout": {
              "type": "integer",
              "minimum": 2,
              "maximum": 60
            },
            "healthyThreshold": {
              "type": "integer",
              "minimum": 2,
              "maximum": 10
            },
            "unhealthyThreshold": {
              "type": "integer",
              "minimum": 2,
              "maximum": 10
            }
          },
          "type": "object"
        },
        "dependencies": {
          "items": {
            "additionalProperties": false,
            "properties": {
              "digest": {
                "$ref": "#/definitions/core/definitions/dddcccDigest"
              },
              "name": {
                "$ref": "#/definitions/core/definitions/dddcccImageName"
              },
              "tag": {
                "$ref": "#/definitions/core/definitions/dddcccImageTag"
              },
              "type": {}
            },
            "required": ["type", "name"],
            "type": "object"
          },
          "minItems": 1,
          "type": "array"
        },
        "dddcccDigest": {
          "type": "string"
        },
        "dddcccImage": {
          "additionalProperties": false,
          "properties": {
            "dependencies": {
              "$ref": "#/definitions/core/definitions/dependencies"
            },
            "digest": {
              "$ref": "#/definitions/core/definitions/dddcccDigest"
            },
            "name": {
              "$ref": "#/definitions/core/definitions/dddcccImageName"
            },
            "tag": {
              "$ref": "#/definitions/core/definitions/dddcccImageTag"
            },
            "type": {}
          },
          "required": ["type", "name"],
          "type": "object"
        },
        "dddcccImageName": {
          "maxLength": 255,
          "type": "string"
        },
        "dddcccImageTag": {
          "maxLength": 128,
          "type": "string"
        },
        "dddcccMemorySize": {
          "type": "string"
        },
        "httpMethod": {
          "type": "string"
        },
        "httpStatusCode": {
          "exclusiveMaximum": 600,
          "minimum": 100,
          "type": "integer"
        },
        "integerTuple": {
          "additionalProperties": false,
          "properties": {
            "Lower": {
              "type": "integer"
            },
            "Upper": {
              "type": "integer"
            }
          },
          "type": "object"
        },
        "list_of_unique_strings": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "numberTuple": {
          "additionalProperties": false,
          "properties": {
            "Lower": {
              "type": "number"
            },
            "Upper": {
              "type": "number"
            }
          },
          "type": "object"
        },
        "numberOrNumericString": {
          "anyOf": [
            {
              "type": "number"
            },
            {
              "type": "string"
            }
          ]
        },
        "osbPlan": {
          "maxLength": 64,
          "minLength": 0,
          "type": "string"
        },
        "pgdt": {
          "additionalProperties": false,
          "properties": {
            "apiKey": {
              "type": "string"
            },
            "cw123": {
              "type": "string"
            },
            "lowPriority": {
              "type": "string"
            },
            "pingdom": {
              "type": "string"
            }
          },
          "type": "object"
        },
        "pabcdComponentLoggingOptions": {
          "additionalProperties": false,
          "type": "object",
          "properties": {
            "options": {
              "additionalProperties": false,
              "properties": {
                "max-buffer-size": {
                  "type": "string"
                }
              },
              "type": "object"
            }
          }
        },
        "plntrCheck": {
          "type": "object",
          "additionalProperties": false,
          "properties": {
            "uuid": {
              "type": "string"
            },
            "arguments": {
              "type": "object",
              "additionalProperties": false
            },
            "allowFailure": {
              "type": "boolean"
            },
            "retryCount": {
              "type": "integer",
              "minimum": 0,
              "maximum": 10
            }
          },
          "required": ["uuid"]
        },
        "runOnceCheck": {
          "type": "object",
          "additionalProperties": false,
          "properties": {
            "type": {
              "type": "string"
            },
            "uuid": {
              "type": "string"
            },
            "description": {
              "type": "string"
            },
            "uri": {
              "type": "string"
            },
            "arguments": {
              "type": "object",
              "additionalProperties": false
            }
          },
          "required": ["uuid"]
        },
        "port": {
          "maximum": 65535,
          "minimum": 0,
          "type": "number"
        },
        "protocol": {},
        "resourceName": {
          "maxLength": 50,
          "minLength": 1,
          "type": "string"
        },
        "worker": {
          "additionalProperties": false,
          "properties": {
            "name": {
              "type": "string",
              "maxLength": 10
            },
            "scaling": {
              "$ref": "#/definitions/core/definitions/scaling"
            },
            "healthcheck": {
              "$ref": "#/definitions/core/definitions/healthcheck"
            },
            "queue": {
              "type": "object",
              "properties": {
                "ContentBasedDeduplication": { "type": "boolean" },
                "DelaySeconds": { "type": "integer" },
                "FifoQueue": { "type": "boolean" },
                "MaximumMessageSize": { "type": "integer" },
                "MessageRetentionPeriod": { "type": "integer" },
                "QueueName": { "type": "string" },
                "ReceiveMessageWaitTimeSeconds": { "type": "integer" },
                "RedrivePolicy": {
                  "type": "object",
                  "additionalProperties": false,
                  "properties": {
                    "deadLetterTargetArn": {
                      "type": "object",
                      "properties": {
                        "LogicalQueueName": { "type": "string" }
                      },
                      "required": ["LogicalQueueName"]
                    },
                    "maxReceiveCount": { "type": "integer" }
                  },
                  "required": ["deadLetterTargetArn", "maxReceiveCount"]
                },
                "VisibilityTimeout": { "type": "integer" }
              },
              "additionalProperties": false
            }
          },
          "required": ["name"],
          "type": "object"
        },
        "scalingPolicy": {
          "oneOf": [
            {
              "type": "object",
              "additionalProperties": false,
              "properties": {
                "scalingAdjustment": {
                  "minimum": 1,
                  "maximum": 25,
                  "type": "integer"
                },
                "adjustmentType": {
                  "type": "string"
                }
              },
              "required": ["adjustmentType"]
            },
            {
              "type": "object",
              "additionalProperties": false,
              "properties": {
                "scalingAdjustment": {
                  "minimum": 10,
                  "maximum": 50,
                  "type": "integer"
                },
                "minAdjustmentMagnitude": {
                  "minimum": 1,
                  "maximum": 25,
                  "type": "integer"
                },
                "adjustmentType": {
                  "type": "string"
                }
              },
              "required": ["adjustmentType"]
            }
          ]
        },
        "scaling": {
          "additionalProperties": false,
          "properties": {
            "cooldown": {
              "minimum": 30,
              "type": "integer"
            },
            "cpu": {
              "properties": {
                "max": {
                  "type": "string"
                },
                "min": {
                  "type": "string"
                }
              },
              "type": "object"
            },
            "healthCheckType": {
              "type": "string"
            },
            "instance": {
              "maxLength": 50,
              "minLength": 1,
              "type": "string"
            },
            "instanceCount": {
              "minimum": 1,
              "type": "integer"
            },
            "max": {
              "minimum": 1,
              "type": "integer"
            },
            "memory": {
              "properties": {
                "max": {
                  "type": "string"
                },
                "min": {
                  "type": "string"
                }
              },
              "type": "object"
            },
            "metrics": {
              "additionalProperties": {
                "additionalProperties": false,
                "properties": {
                  "Dimensions": {
                    "items": {
                      "oneOf": [
                        {
                          "additionalProperties": false,
                          "properties": {
                            "LogicalQueueName": {
                              "$ref": "#/definitions/core/definitions/resourceName"
                            }
                          }
                        },
                        {
                          "$ref": "#/definitions/core/definitions/cw123Dimension"
                        }
                      ]
                    },
                    "minItems": 1,
                    "type": "array"
                  },
                  "EvaluationPeriods": {
                    "anyOf": [
                      {
                        "type": "integer"
                      },
                      {
                        "$ref": "#/definitions/core/definitions/integerTuple"
                      }
                    ]
                  },
                  "Invert": {
                    "type": "boolean"
                  },
                  "Period": {
                    "anyOf": [
                      {
                        "type": "integer"
                      },
                      {
                        "$ref": "#/definitions/core/definitions/integerTuple"
                      }
                    ]
                  },
                  "Statistic": {
                    "anyOf": [
                      {
                        "$ref": "#/definitions/core/definitions/cw123Statistic"
                      }
                    ],
                    "type": "string"
                  },
                  "ExtendedStatistic": {
                    "anyOf": [
                      {
                        "$ref": "#/definitions/core/definitions/cw123ExtendedStatistic"
                      }
                    ],
                    "type": "string"
                  },
                  "Threshold": {
                    "anyOf": [
                      {
                        "$ref": "#/definitions/core/definitions/numberTuple"
                      }
                    ]
                  },
                  "Unit": {
                    "anyOf": [
                      {
                        "$ref": "#/definitions/core/definitions/cw123Unit"
                      }
                    ],
                    "type": "string"
                  }
                },
                "required": ["Threshold"],
                "type": "object"
              },
              "type": "object"
            },
            "min": {
              "minimum": 1,
              "type": "integer"
            },
            "autoHibernation": {
              "type": "object",
              "additionalProperties": false,
              "properties": {
                "enabled": {
                  "type": "boolean"
                },
                "offCron": {
                  "type": "string"
                },
                "onCron": {
                  "type": "string"
                },
                "instanceCount": {
                  "minimum": 0,
                  "type": "integer"
                }
              }
            },
            "schedule": {
              "type": "array",
              "items": {
                "type": "object",
                "additionalProperties": false,
                "properties": {
                  "actionName": {
                    "type": "string"
                  },
                  "max": {
                    "type": "integer"
                  },
                  "min": {
                    "type": "integer"
                  },
                  "desired": {
                    "type": "integer"
                  },
                  "recurrence": {
                    "type": "string"
                  },
                  "startTime": {
                    "type": "string"
                  },
                  "endTime": {
                    "type": "string"
                  }
                }
              }
            },
            "terminationPolicies": {
              "items": {
                "anyOf": [
                  {
                    "type": "string"
                  },
                  {
                    "type": "string"
                  },
                  {
                    "type": "string"
                  },
                  {
                    "type": "string"
                  },
                  {
                    "type": "string"
                  }
                ]
              },
              "minItems": 1,
              "type": "array"
            },
            "policies": {
              "type": "object",
              "additionalProperties": false,
              "properties": {
                "scalingOut": {
                  "oneOf": [
                    {
                      "type": "object",
                      "additionalProperties": false,
                      "properties": {
                        "scalingAdjustment": {
                          "minimum": 10,
                          "maximum": 50,
                          "type": "integer"
                        },
                        "minAdjustmentMagnitude": {
                          "adjustment": {
                            "minimum": 1,
                            "maximum": 25,
                            "type": "integer"
                          }
                        }
                      }
                    },
                    {
                      "$ref": "#/definitions/core/definitions/scalingPolicy"
                    }
                  ]
                },
                "scalingIn": {
                  "oneOf": [
                    {
                      "type": "object",
                      "additionalProperties": false,
                      "properties": {
                        "scalingAdjustment": {
                          "minimum": 1,
                          "maximum": 25,
                          "type": "integer"
                        }
                      }
                    },
                    {
                      "$ref": "#/definitions/core/definitions/scalingPolicy"
                    }
                  ]
                }
              }
            }
          },
          "type": "object"
        },
        "scDockerImage": {
          "additionalProperties": false,
          "properties": {
            "name": {
              "$ref": "#/definitions/core/definitions/dddcccImageName"
            },
            "tag": {
              "$ref": "#/definitions/core/definitions/dddcccImageTag"
            }
          },
          "required": ["name", "tag"],
          "type": "object"
        },
        "smtcCheck": {
          "additionalProperties": false,
          "properties": {
            "dddcccImage": {
              "$ref": "#/definitions/core/definitions/scDockerImage"
            },
            "splitBy": {
              "item": {
                "type": "string"
              },
              "type": "array"
            },
            "timeout": {
              "type": "integer"
            }
          },
          "required": ["dddcccImage"],
          "type": "object"
        },
        "smtcMonitoring": {
          "additionalProperties": {
            "properties": {
              "cron": {
                "type": "string"
              },
              "type": {},
              "timezone": {
                "type": "string"
              },
              "dddcccImage": {
                "$ref": "#/definitions/core/definitions/scDockerImage"
              },
              "lifecycle": {},
              "splitBy": {
                "item": {
                  "type": "string"
                },
                "type": "array"
              },
              "timeout": {
                "type": "integer"
              }
            },
            "required": ["dddcccImage", "cron"],
            "type": "object"
          },
          "type": "object"
        },
        "treatMissing": {
          "type": "string"
        },
        "metricPriority": {
          "type": "string"
        },
        "senerbisesId": {
          "maxLength": 50,
          "type": "string"
        },
        "metricExpression": {
          "type": "object",
          "required": ["Expression", "Id"],
          "additionalProperties": false,
          "properties": {
            "Expression": {
              "type": "string"
            },
            "Id": {
              "type": "string"
            },
            "Label": {
              "type": "string"
            },
            "ReturnData": {
              "type": "boolean"
            }
          }
        },
        "metricStat": {
          "type": "object",
          "required": ["MetricStat", "Id"],
          "additionalProperties": false,
          "properties": {
            "MetricStat": {
              "type": "object",
              "required": ["Metric", "Period", "Stat"],
              "additionalProperties": false,
              "properties": {
                "Metric": {
                  "type": "object",
                  "additionalProperties": false,
                  "properties": {
                    "Dimensions": {
                      "$ref": "#/definitions/core/definitions/cw123Dimensions"
                    },
                    "MetricName": {
                      "type": "string"
                    },
                    "Namespace": {
                      "type": "string"
                    }
                  }
                },
                "Period": {
                  "type": "integer"
                },
                "Stat": {
                  "$ref": "#/definitions/core/definitions/cw123Statistic"
                },
                "Unit": {
                  "$ref": "#/definitions/core/definitions/cw123Unit"
                }
              }
            },
            "Id": {
              "type": "string"
            },
            "Label": {
              "type": "string"
            },
            "ReturnData": {
              "type": "boolean"
            }
          }
        },
        "alarmOverrides": {
          "additionalProperties": {
            "oneOf": [
              {
                "type": "object",
                "required": [
                  "ComparisonOperator",
                  "EvaluationPeriods",
                  "Metrics",
                  "Priority"
                ],
                "additionalProperties": false,
                "properties": {
                  "ComparisonOperator": {
                    "$ref": "#/definitions/core/definitions/cw123ComparisonOperator"
                  },
                  "EvaluationPeriods": {
                    "type": "integer"
                  },
                  "Metrics": {
                    "type": "array",
                    "items": {
                      "anyOf": [
                        {
                          "$ref": "#/definitions/core/definitions/metricExpression"
                        },
                        {
                          "$ref": "#/definitions/core/definitions/metricStat"
                        }
                      ]
                    }
                  },
                  "Priority": {
                    "$ref": "#/definitions/core/definitions/metricPriority"
                  },
                  "TreatMissingData": {
                    "$ref": "#/definitions/core/definitions/treatMissing"
                  },
                  "ThresholdMetricId": {
                    "type": "string"
                  },
                  "AlarmDescription": {}
                }
              },
              {
                "type": "null"
              },
              {
                "additionalProperties": false,
                "properties": {
                  "ComparisonOperator": {
                    "$ref": "#/definitions/core/definitions/cw123ComparisonOperator"
                  },
                  "Description": {},
                  "Dimensions": {
                    "$ref": "#/definitions/core/definitions/cw123Dimensions"
                  },
                  "EvaluationPeriods": {
                    "type": "integer"
                  },
                  "MetricName": {
                    "type": "string"
                  },
                  "Namespace": {
                    "type": "string"
                  },
                  "Period": {
                    "minimum": 60,
                    "type": "integer"
                  },
                  "Priority": {
                    "$ref": "#/definitions/core/definitions/metricPriority"
                  },
                  "Statistic": {
                    "$ref": "#/definitions/core/definitions/cw123Statistic"
                  },
                  "ExtendedStatistic": {
                    "$ref": "#/definitions/core/definitions/cw123ExtendedStatistic"
                  },
                  "Threshold": {
                    "type": "number"
                  },
                  "Unit": {
                    "$ref": "#/definitions/core/definitions/cw123Unit"
                  },
                  "TreatMissingData": {
                    "$ref": "#/definitions/core/definitions/treatMissing"
                  },
                  "EvaluateLowSampleCountPercentile": {}
                },
                "type": "object"
              }
            ]
          },
          "type": "object"
        },
        "alarms": {
          "additionalProperties": {
            "additionalProperties": false,
            "properties": {
              "ComparisonOperator": {
                "$ref": "#/definitions/core/definitions/cw123ComparisonOperator"
              },
              "Description": {},
              "Dimensions": {
                "$ref": "#/definitions/core/definitions/cw123Dimensions"
              },
              "EvaluationPeriods": {
                "type": "integer"
              },
              "MetricName": {
                "type": "string"
              },
              "Namespace": {
                "type": "string"
              },
              "Period": {
                "minimum": 60,
                "type": "integer"
              },
              "Priority": {
                "$ref": "#/definitions/core/definitions/metricPriority"
              },
              "TreatMissingData": {
                "$ref": "#/definitions/core/definitions/treatMissing"
              },
              "Statistic": {
                "$ref": "#/definitions/core/definitions/cw123Statistic"
              },
              "ExtendedStatistic": {
                "$ref": "#/definitions/core/definitions/cw123ExtendedStatistic"
              },
              "Threshold": {
                "type": "number"
              },
              "Unit": {
                "$ref": "#/definitions/core/definitions/cw123Unit"
              },
              "EvaluateLowSampleCountPercentile": {}
            },
            "oneOf": [
              {
                "required": [
                  "Threshold",
                  "MetricName",
                  "Statistic",
                  "Period",
                  "EvaluationPeriods",
                  "Priority",
                  "ComparisonOperator"
                ]
              },
              {
                "required": [
                  "Threshold",
                  "MetricName",
                  "ExtendedStatistic",
                  "Period",
                  "EvaluationPeriods",
                  "Priority",
                  "ComparisonOperator"
                ]
              }
            ],
            "type": "object"
          },
          "type": "object"
        },
        "rootVolumeConfig": {
          "additionalProperties": false,
          "type": "object",
          "properties": {
            "type": {
              "type": "string"
            },
            "iops": {
              "type": "integer"
            },
            "size": {
              "maximum": 2500,
              "minimum": 8,
              "type": "integer"
            }
          }
        },
        "senerbisesVolumeSize": {
          "maximum": 2500,
          "minimum": 0,
          "type": "integer"
        },
        "senerbisesVolumeConfig": {
          "additionalProperties": false,
          "type": "object",
          "properties": {
            "type": {
              "type": "string"
            },
            "iops": {
              "type": "integer"
            },
            "encrypted": {
              "type": "boolean"
            },
            "size": {
              "$ref": "#/definitions/core/definitions/senerbisesVolumeSize"
            }
          }
        },
        "svp44AuthPluginConfig": {
          "additionalProperties": false,
          "type": "object",
          "properties": {
            "logLevel": {},
            "channel": {},
            "authentication": {
              "additionalProperties": false,
              "type": "object",
              "required": ["plugins"],
              "properties": {
                "audiences": {
                  "minItems": 1,
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                },
                "plugins": {
                  "type": "array",
                  "items": {
                    "oneOf": [
                      {
                        "type": "object",
                        "additionalProperties": false,
                        "required": ["type"],
                        "properties": {
                          "type": {},
                          "validate": {
                            "type": "boolean"
                          },
                          "validateAudience": {
                            "type": "boolean"
                          }
                        }
                      },
                      {
                        "type": "object",
                        "additionalProperties": false,
                        "required": ["type"],
                        "properties": {
                          "type": {}
                        }
                      },
                      {
                        "type": "object",
                        "additionalProperties": false,
                        "required": ["type"],
                        "properties": {
                          "type": {}
                        }
                      },
                      {
                        "type": "object",
                        "additionalProperties": false,
                        "required": ["type"],
                        "properties": {
                          "type": {},
                          "enabled": {
                            "type": "boolean"
                          },
                          "issuers": {
                            "type": "array",
                            "items": {
                              "type": "string"
                            },
                            "minItems": 1
                          }
                        }
                      },
                      {
                        "type": "object",
                        "additionalProperties": false,
                        "required": ["type"],
                        "properties": {
                          "type": {},
                          "issuers": {
                            "type": "array",
                            "items": {
                              "type": "string"
                            },
                            "minItems": 1
                          }
                        }
                      }
                    ]
                  }
                }
              }
            },
            "authorization": {
              "additionalProperties": false,
              "type": "object",
              "required": ["plugins"],
              "properties": {
                "plugins": {
                  "type": "array",
                  "items": {
                    "oneOf": [
                      {
                        "type": "object",
                        "additionalProperties": false,
                        "required": ["type"],
                        "properties": {
                          "type": {},
                          "tag": {
                            "type": "string"
                          },
                          "policy": {
                            "type": "string"
                          }
                        }
                      },
                      {
                        "type": "object",
                        "additionalProperties": false,
                        "required": ["type", "label"],
                        "properties": {
                          "type": {},
                          "label": {
                            "type": "string"
                          }
                        }
                      }
                    ]
                  }
                }
              }
            },
            "audit": {
              "additionalProperties": false,
              "type": "object",
              "required": ["plugins"],
              "properties": {
                "plugins": {
                  "type": "array",
                  "minItems": 1,
                  "items": {
                    "oneOf": [
                      {
                        "type": "object",
                        "additionalProperties": false,
                        "required": ["type"],
                        "properties": {
                          "type": {}
                        }
                      }
                    ]
                  }
                }
              }
            }
          }
        },
        "maxActiveRequests": {
          "type": "integer",
          "minimum": 0,
          "maximum": 4294967295
        },
        "maxPendingRequests": {
          "type": "integer",
          "minimum": 0,
          "maximum": 4294967295
        },
        "maxRetries": {
          "type": "integer",
          "minimum": 0,
          "maximum": 4294967295
        },
        "retryBudget": {
          "type": "object",
          "properties": {
            "budgetPercent": {
              "type": "integer",
              "minimum": 0,
              "maximum": 100
            },
            "minRetryConcurrency": {
              "type": "integer",
              "minimum": 0,
              "maximum": 4294967295
            }
          },
          "additionalProperties": false,
          "minProperties": 1
        },
        "loggingDriverConfig": {
          "additionalProperties": false,
          "type": "object",
          "properties": {
            "diskBufferSize": {
              "$ref": "#/definitions/core/definitions/dddcccMemorySize"
            },
            "numDiskWriteWorkers": {
              "type": "number",
              "minimum": 1
            },
            "numLogLinesBuffered": {
              "type": "number",
              "minimum": 1
            }
          },
          "required": [
            "diskBufferSize",
            "numDiskWriteWorkers",
            "numLogLinesBuffered"
          ]
        }
      },
      "properties": {
        "alarms": {
          "additionalProperties": false,
          "properties": {
            "cpu": {
              "additionalProperties": false,
              "properties": {
                "high": {
                  "maximum": 100,
                  "type": "integer"
                },
                "low": {
                  "minimum": 0,
                  "type": "integer"
                }
              },
              "type": "object"
            },
            "http500": {
              "additionalProperties": false,
              "properties": {
                "email": {
                  "minimum": 1,
                  "type": "integer"
                },
                "pgdt": {
                  "minimum": 1,
                  "type": "integer"
                }
              },
              "type": "object"
            },
            "memory": {
              "additionalProperties": false,
              "properties": {
                "high": {
                  "maximum": 100,
                  "minimum": 0,
                  "type": "integer"
                }
              },
              "type": "object"
            },
            "overrides": {
              "$ref": "#/definitions/core/definitions/alarmOverrides"
            },
            "suppressDuringProgressiveDeiploimunn": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          "type": "object"
        },
        "allowInsecureHttpConnection": {
          "type": "boolean"
        },
        "httpRedirect": {
          "type": "boolean"
        },
        "chaosMonkey": {
          "type": "boolean"
        },
        "dtperr": {
          "type": "object",
          "additionalProperties": true
        },
        "dtperrAgentEnabled": {
          "type": "boolean"
        },
        "redeploy": {
          "type": "boolean"
        },
        "cleanup": {
          "type": "boolean"
        },
        "maintenanceWindow": {
          "type": "object",
          "additionalProperties": false,
          "properties": {
            "duration": {
              "type": "string"
            },
            "interval": {
              "type": "string"
            }
          },
          "required": ["duration", "interval"]
        },
        "mountDockerEphemeral": {
          "type": "boolean"
        },
        "rootVolumeType": {
          "type": "string"
        },
        "useAtlndsDns": {
          "type": "boolean"
        },
        "warmHosts": {
          "type": "array"
        },
        "config": {
          "additionalProperties": false,
          "properties": {
            "commandArguments": {
              "oneOf": [
                {
                  "additionalProperties": false,
                  "type": "object"
                },
                {
                  "items": {
                    "type": "string"
                  },
                  "type": "array"
                }
              ]
            },
            "enbairomenntVariables": {
              "additionalProperties": false,
              "type": ["object", "null"]
            },
            "healthCheckGracePeriod": {
              "maximum": 20000,
              "minimum": 1,
              "type": "integer"
            },
            "senerbisesArguments": {
              "items": {
                "type": "string"
              },
              "type": "array"
            }
          },
          "type": "object"
        },
        "crossInstanceTraffic": {
          "items": {
            "maximum": 32767,
            "minimum": 1024,
            "type": "integer"
          },
          "type": "array"
        },
        "crossInstanceTrafficAllowed": {
          "type": "boolean"
        },
        "deiploimunn": {
          "additionalProperties": false,
          "properties": {
            "type": {
              "type": "string"
            },
            "progressiveStates": {
              "type": "array",
              "items": {
                "type": "number",
                "maximum": 100,
                "minimum": 0
              },
              "minItems": 2
            },
            "progressiveInterval": {
              "type": "number",
              "maximum": 60,
              "minimum": 5
            }
          },
          "type": "object"
        },
        "anomalyDetection": {
          "type": "object",
          "properties": {
            "detectors": {
              "type": "array",
              "items": {
                "type": "object",
                "properties": {
                  "name": {
                    "type": "string"
                  },
                  "id": {
                    "type": "string"
                  },
                  "grace_period_in_minutes": {
                    "type": "integer"
                  },
                  "ignored": {
                    "type": "boolean"
                  },
                  "match_any_deiploimunn_id": {
                    "type": "boolean"
                  }
                },
                "required": ["name", "id", "grace_period_in_minutes"],
                "additionalProperties": false
              }
            },
            "checkDetectors": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "alarms": {
              "type": "array",
              "items": {
                "type": "object",
                "properties": {
                  "name": {
                    "type": "string"
                  },
                  "id": {
                    "type": "string"
                  },
                  "grace_period_in_minutes": {
                    "type": "integer"
                  },
                  "ignored": {
                    "type": "boolean"
                  }
                },
                "required": ["name", "id", "grace_period_in_minutes"],
                "additionalProperties": false
              }
            },
            "checkAlarms": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          "additionalProperties": false
        },
        "description": {
          "maxLength": 1000,
          "type": "string"
        },
        "downstreamSenerbisess": {
          "items": {
            "$ref": "#/definitions/core/definitions/senerbisesId"
          },
          "type": "array"
        },
        "enbairomenntOverrides": {
          "additionalProperties": false,
          "properties": {
            "pulrd": {
              "type": ["object", "null"]
            },
            "stei": {
              "type": ["object", "null"]
            },
            "desar": {
              "type": ["object", "null"]
            },
            "navedd": {
              "type": ["object", "null"]
            },
            "navedd-fjeklg2": {
              "type": ["object", "null"]
            },
            "ddesar": {
              "type": ["object", "null"]
            },
            "desar-fjeklg2": {
              "type": ["object", "null"]
            },
            "locu": {
              "type": ["object", "null"]
            },
            "pdesar": {
              "type": ["object", "null"]
            },
            "pdesar-apesee2": {
              "type": ["object", "null"]
            },
            "pulrd-est": {
              "type": ["object", "null"]
            },
            "pulrd-fjeklg": {
              "type": ["object", "null"]
            },
            "pulrd-fjeklg2": {
              "type": ["object", "null"]
            },
            "pulrd-eufjeklg": {
              "type": ["object", "null"]
            },
            "pulrd-eudelcenitrio": {
              "type": ["object", "null"]
            },
            "pulrd-apesee": {
              "type": ["object", "null"]
            },
            "pulrd-apesee2": {
              "type": ["object", "null"]
            },
            "esetege-est": {
              "type": ["object", "null"]
            },
            "esetege-fjeklg": {
              "type": ["object", "null"]
            },
            "esetege-fjeklg2": {
              "type": ["object", "null"]
            },
            "esetege-apesee": {
              "type": ["object", "null"]
            },
            "esetege-apesee2": {
              "type": ["object", "null"]
            },
            "esetege-eufjeklg": {
              "type": ["object", "null"]
            },
            "esetege-eudelcenitrio": {
              "type": ["object", "null"]
            }
          },
          "type": ["object", "null"]
        },
        "externalAccess": {
          "type": "boolean"
        },
        "workers": {
          "items": {
            "$ref": "#/definitions/core/definitions/worker"
          },
          "type": "array"
        },
        "initialisationTimeouts": {
          "additionalProperties": false,
          "properties": {
            "install": {
              "maximum": 20000,
              "minimum": 1,
              "type": "integer"
            },
            "startup": {
              "maximum": 20000,
              "minimum": 1,
              "type": "integer"
            },
            "totalGracePeriod": {
              "minimum": 1,
              "type": "integer"
            },
            "totalDeploy": {
              "minimum": 1,
              "type": "integer"
            }
          },
          "type": "object"
        },
        "lifecycleEvents": {
          "additionalProperties": false,
          "properties": {
            "source": {},
            "timeout": {
              "maximum": 86400,
              "minimum": 30,
              "type": "integer"
            }
          },
          "type": "object"
        },
        "links": {
          "additionalProperties": false,
          "properties": {
            "binary": {
              "oneOf": [
                {
                  "$ref": "#/definitions/core/definitions/dddcccImage"
                }
              ]
            },
            "deepcheck": {
              "$ref": "#/definitions/core/definitions/deepCheck"
            },
            "goexpvar": {
              "additionalProperties": false,
              "properties": {
                "port": {
                  "$ref": "#/definitions/core/definitions/port"
                },
                "uri": {
                  "type": "string"
                }
              },
              "required": ["port"],
              "type": "object"
            },
            "healthcheck": {
              "$ref": "#/definitions/core/definitions/healthcheck"
            },
            "smtcCheck": {
              "$ref": "#/definitions/core/definitions/smtcCheck"
            },
            "plntrChecks": {
              "items": {
                "$ref": "#/definitions/core/definitions/plntrCheck"
              },
              "type": "array"
            },
            "runOnce": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/core/definitions/runOnceCheck"
              }
            },
            "remoteDebug": {
              "type": "boolean"
            },
            "source": {
              "additionalProperties": false,
              "properties": {
                "url": {
                  "type": "string"
                }
              },
              "required": ["url"],
              "type": "object"
            }
          },
          "type": "object"
        },
        "ldblcn": {
          "additionalProperties": false,
          "properties": {
            "connectionDrainingTimeout": {
              "minimum": 0,
              "type": "integer"
            },
            "connectionTimeout": {
              "maximum": 3600,
              "minimum": 1,
              "type": "integer"
            },
            "routingAlgorithm": {},
            "type": {},
            "single": {
              "type": "boolean"
            },
            "stickySessionTimeout": {
              "minimum": 1,
              "maximum": 604800,
              "type": "integer"
            },
            "proxyProtocol": {
              "type": "boolean"
            },
            "smtps": {
              "type": "boolean"
            },
            "slowStart": {
              "type": "integer",
              "min": 30,
              "max": 900
            }
          },
          "type": "object"
        },
        "name": {
          "maxLength": 100,
          "type": "string"
        },
        "network": {
          "additionalProperties": false,
          "properties": {
            "egress": {
              "type": "string"
            },
            "ingress": {
              "type": "string"
            },
            "outbound": {
              "type": "string"
            }
          },
          "type": "object"
        },
        "notifications": {
          "additionalProperties": false,
          "properties": {
            "dtperr": {
              "type": "string"
            },
            "email": {
              "type": "string"
            },
            "opsgenie": {
              "additionalProperties": false,
              "properties": {
                "team": {
                  "type": "string"
                }
              },
              "type": "object"
            },
            "pgdt": {
              "$ref": "#/definitions/core/definitions/pgdt"
            }
          },
          "required": ["email"],
          "type": "object"
        },
        "oldEstacLingerTime": {
          "minimum": 300,
          "type": "integer"
        },
        "oldEstacLingerCount": {
          "minimum": 0,
          "maximum": 3,
          "type": "integer"
        },
        "organization": {
          "type": "string"
        },
        "owners": {
          "items": {
            "type": "string"
          },
          "minItems": 1,
          "type": "array"
        },
        "pabcd": {
          "additionalProperties": false,
          "properties": {
            "logging": {
              "additionalProperties": false,
              "properties": {
                "enabled": {
                  "type": "boolean"
                },
                "logging": {
                  "$ref": "#/definitions/core/definitions/pabcdComponentLoggingOptions"
                },
                "version": {
                  "type": "string"
                }
              },
              "required": ["enabled", "version"],
              "type": "object"
            },
            "metricshostagent": {
              "additionalProperties": false,
              "properties": {
                "enabled": {
                  "type": "boolean"
                },
                "logging": {
                  "$ref": "#/definitions/core/definitions/pabcdComponentLoggingOptions"
                },
                "version": {
                  "type": "string"
                }
              },
              "required": ["enabled", "version"],
              "type": "object"
            },
            "estatsdi": {
              "additionalProperties": false,
              "properties": {
                "enabled": {
                  "type": "boolean"
                },
                "logging": {
                  "$ref": "#/definitions/core/definitions/pabcdComponentLoggingOptions"
                },
                "version": {
                  "type": "string"
                }
              },
              "required": ["enabled", "version"],
              "type": "object"
            },
            "tracing": {
              "additionalProperties": false,
              "properties": {
                "enabled": {
                  "type": "boolean"
                },
                "logging": {
                  "$ref": "#/definitions/core/definitions/pabcdComponentLoggingOptions"
                },
                "version": {
                  "type": "string"
                }
              },
              "required": ["enabled", "version"],
              "type": "object"
            }
          },
          "type": "object"
        },
        "pabcdComponents": {
          "type": "object",
          "additionalProperties": false,
          "properties": {
            "loggingDriver": {
              "$ref": "#/definitions/core/definitions/loggingDriverConfig"
            }
          }
        },
        "plntr": {
          "type": "string"
        },
        "protocol": {},
        "requiresAsap": {
          "type": "boolean"
        },
        "resources": {
          "items": {
            "type": "object",
            "additionalProperties": false,
            "properties": {
              "attributes": {
                "type": "object",
                "allOf": [
                  {
                    "additionalProperties": true,
                    "properties": {
                      "dataType": {
                        "$ref": "#/definitions/core/definitions/dataType"
                      }
                    }
                  }
                ]
              },
              "name": {
                "$ref": "#/definitions/core/definitions/resourceName"
              },
              "plan": {
                "$ref": "#/definitions/core/definitions/osbPlan"
              },
              "type": {
                "maxLength": 16,
                "minLength": 1,
                "type": "string"
              },
              "alarms": {
                "type": "object",
                "additionalProperties": true
              },
              "lifecycle": {}
            },
            "required": ["type", "name", "attributes"]
          },
          "minItems": 0,
          "type": "array"
        },
        "rootVolume": {
          "$ref": "#/definitions/core/definitions/rootVolumeConfig"
        },
        "scaling": {
          "$ref": "#/definitions/core/definitions/scaling"
        },
        "smtcMonitoring": {
          "$ref": "#/definitions/core/definitions/smtcMonitoring"
        },
        "senerbisesVolume": {
          "anyOf": [
            {
              "$ref": "#/definitions/core/definitions/senerbisesVolumeSize"
            },
            {
              "$ref": "#/definitions/core/definitions/senerbisesVolumeConfig"
            }
          ]
        },
        "static": {},
        "subnetGroup": {
          "type": "string"
        },
        "swagger": {
          "additionalProperties": false,
          "maxLength": 255,
          "type": "string"
        },
        "tags": {
          "additionalProperties": {
            "type": "string"
          },
          "maxProperties": 10,
          "type": "object"
        },
        "jumboFrames": {
          "type": "boolean"
        },
        "version": {
          "type": "integer"
        },
        "crossAccount": {
          "type": "boolean"
        },
        "crossEnvTypeAssumeRole": {
          "type": "boolean"
        },
        "compose": {},
        "compute": {
          "oneOf": [
            {
              "type": "object",
              "additionalProperties": false,
              "properties": {
                "type": {
                  "type": "string"
                },
                "plan": {
                  "$ref": "#/definitions/core/definitions/osbPlan"
                },
                "attributes": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          ],
          "required": ["type", "attributes"]
        },
        "buildNumber": {
          "type": "string"
        },
        "perfEnabled": {
          "type": "boolean"
        },
        "logging": {
          "additionalProperties": false,
          "properties": {
            "tmpfsEnabled": {
              "type": "boolean"
            },
            "tmpfsSize": {
              "type": "integer",
              "minimum": 3
            }
          }
        },
        "metrics": {
          "additionalProperties": false,
          "properties": {
            "jmx": {
              "oneOf": [
                {
                  "additionalProperties": false,
                  "items": {
                    "additionalProperties": false,
                    "properties": {
                      "include": {
                        "properties": {
                          "domain": {
                            "type": "string"
                          },
                          "bean": {
                            "items": {
                              "type": "string"
                            },
                            "type": "array"
                          },
                          "attribute": {
                            "additionalProperties": true,
                            "type": "object"
                          }
                        },
                        "type": "object"
                      }
                    },
                    "type": "object"
                  },
                  "type": "array"
                },
                {
                  "type": "boolean"
                }
              ]
            },
            "perContainerNetstat": {
              "type": "boolean"
            },
            "perContainerNetstatAdvanced": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "lifecycleQueueMetrics": {
              "type": "boolean"
            }
          },
          "type": "object"
        },
        "svp44": {
          "additionalProperties": false,
          "properties": {
            "ingress": {
              "additionalProperties": false,
              "properties": {
                "enabled": {
                  "type": "boolean"
                },
                "authentication": {
                  "additionalProperties": false,
                  "properties": {
                    "enabled": {
                      "type": "boolean"
                    },
                    "transitionMode": {
                      "type": "boolean"
                    }
                  },
                  "required": ["enabled"],
                  "type": "object"
                }
              },
              "type": "object"
            },
            "egress": {
              "additionalProperties": false,
              "properties": {
                "authentication": {
                  "additionalProperties": false,
                  "properties": {
                    "enabled": {
                      "type": "boolean"
                    }
                  },
                  "required": ["enabled"],
                  "type": "object"
                },
                "dependencies": {
                  "items": {
                    "additionalProperties": false,
                    "properties": {
                      "target": {
                        "type": "string",
                        "minLength": 1
                      },
                      "name": {
                        "type": "string"
                      },
                      "authentication": {
                        "additionalProperties": false,
                        "properties": {
                          "enabled": {
                            "type": "boolean"
                          }
                        },
                        "required": ["enabled"],
                        "type": "object"
                      },
                      "limits": {
                        "anyOf": [
                          {
                            "properties": {
                              "maxActiveRequests": {
                                "$ref": "#/definitions/core/definitions/maxActiveRequests"
                              },
                              "maxPendingRequests": {
                                "$ref": "#/definitions/core/definitions/maxPendingRequests"
                              },
                              "maxRetries": {
                                "$ref": "#/definitions/core/definitions/maxRetries"
                              }
                            },
                            "additionalProperties": false
                          },
                          {
                            "properties": {
                              "maxActiveRequests": {
                                "$ref": "#/definitions/core/definitions/maxActiveRequests"
                              },
                              "maxPendingRequests": {
                                "$ref": "#/definitions/core/definitions/maxPendingRequests"
                              },
                              "retryBudget": {
                                "$ref": "#/definitions/core/definitions/retryBudget"
                              }
                            },
                            "additionalProperties": false
                          }
                        ],
                        "type": "object",
                        "minProperties": 1
                      },
                      "timeoutMs": {
                        "type": "integer",
                        "minimum": 0,
                        "maximum": 100000000
                      },
                      "retryPolicy": {
                        "properties": {
                          "enabled": {
                            "type": "boolean"
                          },
                          "retryOn": {
                            "type": "array",
                            "items": {
                              "type": "string"
                            }
                          },
                          "retriableMethods": {
                            "type": "array",
                            "anyOf": [
                              {
                                "items": {}
                              },
                              {
                                "items": {}
                              }
                            ],
                            "minItems": 1
                          },
                          "retriableStatusCodes": {
                            "type": "array",
                            "items": {
                              "type": "integer",
                              "minimum": 100,
                              "maximum": 599
                            }
                          },
                          "maxRetries": {
                            "type": "integer",
                            "minimum": 0
                          },
                          "perTryTimeoutMs": {
                            "type": "integer",
                            "minimum": 0,
                            "maximum": 100000000
                          },
                          "retryBackOff": {
                            "type": "object",
                            "properties": {
                              "baseIntervalMs": {
                                "type": "integer",
                                "minimum": 1,
                                "maximum": 100000000
                              },
                              "maxIntervalMs": {
                                "type": "integer",
                                "minimum": 1,
                                "maximum": 100000000
                              }
                            },
                            "minProperties": 1,
                            "additionalProperties": false
                          }
                        },
                        "required": ["enabled"],
                        "additionalProperties": false,
                        "type": "object"
                      }
                    },
                    "required": ["name"],
                    "type": "object"
                  },
                  "type": "array"
                }
              },
              "type": "object"
            },
            "channel": {},
            "enabled": {
              "type": "boolean"
            },
            "internal": {
              "additionalProperties": false,
              "properties": {
                "useAuthMock": {
                  "type": "boolean"
                }
              },
              "type": "object"
            },
            "plugins": {
              "additionalProperties": false,
              "properties": {
                "auth": {
                  "$ref": "#/definitions/core/definitions/svp44AuthPluginConfig"
                }
              },
              "type": "object"
            }
          },
          "required": ["enabled"],
          "type": "object"
        },
        "computeClassification": {
          "allOf": [
            {
              "$ref": "#/definitions/core/definitions/dataClassification"
            }
          ]
        }
      },
      "required": ["notifications", "organization"]
    }
  },
  "allOf": [
    {
      "$ref": "#/definitions/core"
    }
  ],
  "oneOf": [{ "required": ["links"] }, { "required": ["static"] }],
  "properties": {
    "links": {
      "properties": {
        "binary": {
          "properties": {
            "type": {
              "not": {}
            }
          }
        }
      }
    },
    "owners": {
      "not": {}
    },
    "externalAccess": {
      "not": {}
    },
    "config": {
      "properties": {
        "commandArguments": {
          "not": {
            "type": "object"
          }
        },
        "healthCheckGracePeriod": {
          "not": {}
        }
      }
    }
  },
  "required": ["version"]
}
