{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://catalog.lintel.tools/schemas/schemastore/serverless-framework-configuration/_shared/latest--ssm_publish.json",
  "description": "Configuration for SSM Publish Plugin",
  "x-lintel": {
    "source": "https://raw.githubusercontent.com/lalcebo/json-schema/master/serverless/plugin/ssm_publish.json",
    "sourceSha256": "d830f54f9d49327ca24dc7ef5c53b6ad2c11179448fda8bf0790557f57b62de2"
  },
  "type": "object",
  "id": "https://raw.githubusercontent.com/lalcebo/json-schema/master/serverless/plugin/ssm_publish.json",
  "schema": "https://json-schema.org/draft-07/schema#",
  "SsmPublishConfiguration": {
    "title": "SsmPublishConfiguration",
    "type": "object",
    "properties": {
      "enabled": {
        "type": "boolean",
        "default": true
      },
      "params": {
        "title": "SsmPublishConfigurationParam",
        "type": "array",
        "items": {
          "anyOf": [
            {
              "type": "object",
              "title": "SsmPublishConfigurationParamWithValue",
              "properties": {
                "path": {
                  "type": "string",
                  "maxLength": 1011
                },
                "description": {
                  "type": "string",
                  "maxLength": 1024
                },
                "secure": {
                  "type": "boolean"
                },
                "enabled": {
                  "type": "boolean"
                },
                "type": {
                  "type": "boolean",
                  "enum": [
                    "String",
                    "SecureString",
                    "StringList"
                  ]
                },
                "value": {
                  "oneOf": [
                    {
                      "type": "string"
                    },
                    {
                      "type": "object"
                    }
                  ]
                }
              },
              "required": [
                "path",
                "value"
              ]
            },
            {
              "type": "object",
              "title": "SsmPublishConfigurationParamCloudFormation",
              "properties": {
                "path": {
                  "type": "string",
                  "maxLength": 1011
                },
                "description": {
                  "type": "string",
                  "maxLength": 1024
                },
                "secure": {
                  "type": "boolean"
                },
                "enabled": {
                  "type": "boolean"
                },
                "type": {
                  "type": "boolean",
                  "enum": [
                    "String",
                    "SecureString",
                    "StringList"
                  ]
                },
                "source": {
                  "type": "string"
                }
              },
              "required": [
                "path",
                "source"
              ]
            }
          ]
        }
      }
    },
    "required": [
      "enabled",
      "params"
    ]
  },
  "additionalProperties": false,
  "required": [
    "SsmPublishConfiguration"
  ]
}
