{
  "$schema": "https://developer.dynatrace.com/docs-assets/schema_strict_apps.json",
  "dynatrace": "1",
  "schemaId": "action-name-connection",
  "version": "0.0.1",
  "summaryPattern": "{name}",
  "displayName": "My Connection",
  "description": "Sample connection schema",
  "multiObject": true,
  "maxObjects": 100,
  "ordered": false,
  "properties": {
    "name": {
      "displayName": "Connection name",
      "description": "The name of the connection",
      "type": "text",
      "nullable": false,
      "forceSecretResubmission": false,
      "constraints": [
        {
          "type": "LENGTH",
          "customMessage": "Name has to be between 1 and 50 characters long",
          "maxLength": 50,
          "minLength": 1
        }
      ],
      "default": ""
    },
    "token": {
      "displayName": "Token",
      "description": "API token",
      "type": "secret",
      "nullable": false,
      "constraints": [
        {
          "type": "LENGTH",
          "customMessage": "Token has to be between 5 and 500 characters long",
          "maxLength": 500,
          "minLength": 5
        }
      ],
      "default": ""
    },
    "url": {
      "displayName": "URL",
      "description": "URL of the server",
      "type": "text",
      "subType": "url",
      "nullable": false,
      "default": "",
      "constraints": [
        {
          "type": "LENGTH",
          "customMessage": "URL has to be between 1 and 100 characters long",
          "maxLength": 100,
          "minLength": 1
        },
        {
          "type": "PATTERN",
          "customMessage": "The URL must be secure (https://) and must not contain a trailing slash.",
          "pattern": "^https://.*[^/]$"
        }
      ],
      "forceSecretResubmission": true
    }
  },
  "constraints": [
    {
      "type": "SECRET_RESUBMISSION",
      "customMessage": "For security reasons please re-enter token/password to save the new configuration.",
      "checkAllProperties": false
    }
  ],
  "schemaConstraints": [
    {
      "type": "UNIQUE",
      "customMessage": "A connection with the same name already exists. Please provide a different name.",
      "uniqueProperties": [
        "name"
      ]
    }
  ]
}
