All Downloads are FREE. Search and download functionalities are using the official Maven repository.

eedm.compound-configuration-settings.v1.0.0.compound-configuration-settings.json Maven / Gradle / Ivy

{
  "title" : "Compound Configuration Settings",
  "description" : "The details for compound configuration values used for Ethos integration.",
  "version" : "1.0.0",
  "type" : "object",
  "properties" : {
    "metadata" : {
      "$ref" : "resource:/eedm/metadata.json"
    },
    "id" : {
      "title" : "ID",
      "description" : "The global identifier of the compound configuration setting.",
      "type" : "string",
      "format" : "guid",
      "pattern" : "^[a-f0-9]{8}(?:-[a-f0-9]{4}){3}-[a-f0-9]{12}$"
    },
    "title" : {
      "title" : "Title",
      "description" : "The full name of the compound configuration setting.",
      "type" : "string",
      "minLength" : 1
    },
    "description" : {
      "title" : "Description",
      "description" : "The description of the compound configuration setting.",
      "type" : "string"
    },
    "ethos" : {
      "title" : "Ethos",
      "description" : "The Ethos resources to which the compound configuration applies.",
      "type" : "array",
      "items" : {
        "type" : "object",
        "properties" : {
          "resource" : {
            "title" : "Resource",
            "description" : "The Ethos resource to which the compound configuration applies.",
            "type" : "string",
            "minLength" : 1
          },
          "propertyName" : {
            "title" : "Property Name",
            "description" : "The Ethos property to which the compound configuration applies.",
            "type" : "string"
          }
        },
        "additionalProperties" : false,
        "required" : [ "resource" ]
      }
    },
    "source" : {
      "title" : "Source",
      "description" : "The source values for the configuration.",
      "oneOf" : [ {
        "title" : "Two Associated Settings",
        "description" : "The source values for a configuration with two associated settings.",
        "type" : "object",
        "properties" : {
          "primaryDisplayLabel" : {
            "title" : "Primary Display Label",
            "description" : "The primary display label for the configuration.",
            "type" : "string",
            "minLength" : 1
          },
          "secondaryDisplayLabel" : {
            "title" : "Secondary Display Label",
            "description" : "The secondary display label for the configuration.",
            "type" : "string",
            "minLength" : 1
          },
          "pairedSettings" : {
            "title" : "Paired Settings",
            "description" : "The titles and values for the configuration.",
            "type" : "array",
            "items" : {
              "type" : "object",
              "properties" : {
                "primaryTitle" : {
                  "title" : "Primary Title",
                  "description" : "The primary title for the configuration.",
                  "type" : "string"
                },
                "primaryValue" : {
                  "title" : "Primary Value",
                  "description" : "The primary value for the configuration.",
                  "type" : "string",
                  "minLength" : 1
                },
                "secondaryTitle" : {
                  "title" : "Secondary Title",
                  "description" : "The secondary title for the configuration.",
                  "type" : "string"
                },
                "secondaryValue" : {
                  "title" : "Secondary Value",
                  "description" : "The secondary value for the configuration.",
                  "type" : "string"
                }
              },
              "additionalProperties" : false,
              "required" : [ "primaryValue" ]
            }
          }
        },
        "additionalProperties" : false,
        "required" : [ "primaryDisplayLabel", "secondaryDisplayLabel" ]
      }, {
        "title" : "Three Associated Settings",
        "description" : "The source values for a configuration with three associated settings.",
        "type" : "object",
        "properties" : {
          "primaryDisplayLabel" : {
            "title" : "Primary Display Label",
            "description" : "The primary display label for the configuration.",
            "type" : "string",
            "minLength" : 1
          },
          "secondaryDisplayLabel" : {
            "title" : "Secondary Display Label",
            "description" : "The secondary display label for the configuration.",
            "type" : "string",
            "minLength" : 1
          },
          "tertiaryDisplayLabel" : {
            "title" : "Tertiary Display Label",
            "description" : "The tertiary display label for the configuration.",
            "type" : "string",
            "minLength" : 1
          },
          "associatedSettings" : {
            "title" : "Associated Settings",
            "description" : "The titles and values for the configuration.",
            "type" : "array",
            "items" : {
              "type" : "object",
              "properties" : {
                "primaryTitle" : {
                  "title" : "Primary Title",
                  "description" : "The primary title for the configuration.",
                  "type" : "string"
                },
                "primaryValue" : {
                  "title" : "Primary Value",
                  "description" : "The primary value for the configuration.",
                  "type" : "string",
                  "minLength" : 1
                },
                "secondaryTitle" : {
                  "title" : "Secondary Title",
                  "description" : "The secondary title for the configuration.",
                  "type" : "string"
                },
                "secondaryValue" : {
                  "title" : "Secondary Value",
                  "description" : "The secondary value for the configuration.",
                  "type" : "string"
                },
                "tertiaryTitle" : {
                  "title" : "Tertiary Title",
                  "description" : "The tertiary title for the configuration.",
                  "type" : "string"
                },
                "tertiaryValue" : {
                  "title" : "Tertiary Value",
                  "description" : "The tertiary value for the configuration.",
                  "type" : "string"
                }
              },
              "additionalProperties" : false,
              "required" : [ "primaryValue" ]
            }
          }
        },
        "additionalProperties" : false,
        "required" : [ "primaryDisplayLabel", "secondaryDisplayLabel", "tertiaryDisplayLabel" ]
      } ]
    }
  },
  "required" : [ "id", "title", "ethos" ],
  "additionalProperties" : false,
  "links" : [ {
    "rel" : "filter",
    "encType" : "application/x-www-form-urlencoded",
    "method" : "GET",
    "href" : "/compound-configuration-settings?criteria={\"ethos\":[{\"resource\":{$resource}}]}",
    "title" : "Ethos Resource",
    "description" : "The Ethos resource(s) to which the compound configuration applies.",
    "schema" : {
      "type" : "object",
      "properties" : {
        "ethos" : {
          "type" : "array",
          "items" : {
            "type" : "object",
            "properties" : {
              "resource" : {
                "type" : "string"
              }
            }
          }
        }
      }
    },
    "targetSchema" : {
      "$ref" : "compound-configuration-settings.json#"
    }
  }, {
    "rel" : "filter",
    "encType" : "application/x-www-form-urlencoded",
    "method" : "GET",
    "href" : "/compound-configuration-settings?criteria={\"ethos\":[{\"propertyName\":{$propertyName}}]}",
    "title" : "Ethos Property Name",
    "description" : "The Ethos property to which the collection configuration applies.",
    "schema" : {
      "type" : "object",
      "properties" : {
        "ethos" : {
          "type" : "array",
          "items" : {
            "type" : "object",
            "properties" : {
              "propertyName" : {
                "type" : "string"
              }
            }
          }
        }
      }
    },
    "targetSchema" : {
      "$ref" : "compound-configuration-settings.json#"
    }
  } ]
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy