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

schemas.schema-form.json Maven / Gradle / Ivy

There is a newer version: 4.5.0-alpha.1
Show newest version
{
    "type": "object",
    "id": "urn:jsonschema:io:gravitee:plugin:apiservice:servicediscovery:ConsulServiceDiscoveryServiceConfiguration",
    "properties": {
        "url": {
            "title": "Consul.io URL",
            "description": "Address of the Consul.io agent",
            "type": "string",
            "default": "http://localhost:8500"
        },
        "service": {
            "title": "Service",
            "description": "The service name to query",
            "type": "string"
        },
        "dc": {
            "title": "DC",
            "description": "Name of the data-center to query. If unspecified, the query will default to the data-center of the Consul agent at the HTTP address.",
            "type": "string"
        },
        "acl": {
            "title": "ACL",
            "description": "ACL token to use in the request. If unspecified, the query will default to the token of the Consul agent at the HTTP address.",
            "type": "string"
        },
        "ssl": {
            "type": "object",
            "title": "SSL Options",
            "id": "urn:jsonschema:io:gravitee:plugin:apiservice:servicediscovery:ConsulServiceDiscoveryServiceConfiguration:SslOptions",
            "properties": {
                "hostnameVerifier": {
                    "title": "Verify Host",
                    "description": "Use to enable host name verification",
                    "type": "boolean",
                    "default": true
                },
                "trustAll": {
                    "title": "Trust all",
                    "description": "Use this with caution (if over Internet). The gateway must trust any origin certificates. The connection will still be encrypted but this mode is vulnerable to 'man in the middle' attacks.",
                    "type": "boolean",
                    "default": false
                },
                "trustStore": {
                    "type": "object",
                    "title": "Trust store",
                    "id": "urn:jsonschema:io:gravitee:plugin:apiservice:servicediscovery:ConsulServiceDiscoveryServiceConfiguration:SslTrustStoreOptions",
                    "properties": {
                        "type": {
                            "type": "string",
                            "title": "Type",
                            "description": "The type of the trust store",
                            "default": "",
                            "enum": ["", "JKS", "PKCS12", "PEM"],
                            "x-schema-form": {
                                "type": "select",
                                "titleMap": {
                                    "": "None",
                                    "JKS": "Java Trust Store (.jks)",
                                    "PKCS12": "PKCS#12 (.p12) / PFX (.pfx)",
                                    "PEM": "PEM (.pem)"
                                }
                            }
                        },
                        "password": {
                            "type": "string",
                            "title": "Password",
                            "description": "Trust store password",
                            "x-schema-form": {
                                "type": "password",
                                "hidden": [
                                    {
                                        "$eq": {
                                            "ssl.trustStore.type": ["", "PEM"]
                                        }
                                    }
                                ]
                            }
                        },
                        "path": {
                            "type": "string",
                            "title": "Path to trust store",
                            "description": "Path to the trust store file",
                            "x-schema-form": {
                                "hidden": [
                                    {
                                        "$eq": {
                                            "ssl.trustStore.type": ""
                                        }
                                    }
                                ]
                            }
                        },
                        "content": {
                            "type": "string",
                            "title": "Content",
                            "description": "Binary content as Base64",
                            "x-schema-form": {
                                "type": "text",
                                "hidden": [
                                    {
                                        "$eq": {
                                            "ssl.trustStore.type": ""
                                        }
                                    }
                                ]
                            }
                        }
                    },
                    "oneOf": [
                        {
                            "properties": { "type": { "const": "" } }
                        },
                        {
                            "properties": { "type": { "const": "PEM" } },
                            "required": ["content"]
                        },
                        {
                            "properties": { "type": { "const": "PEM" } },
                            "required": ["path"]
                        },
                        {
                            "properties": { "type": { "pattern": "JKS|PKCS12" } },
                            "required": ["content", "password"]
                        },
                        {
                            "properties": { "type": { "pattern": "JKS|PKCS12" } },
                            "required": ["path", "password"]
                        }
                    ],
                    "x-schema-form": {
                        "hidden": [
                            {
                                "$eq": {
                                    "ssl.trustAll": true
                                }
                            }
                        ]
                    }
                },
                "keyStore": {
                    "type": "object",
                    "title": "Key store",
                    "id": "urn:jsonschema:io:gravitee:plugin:apiservice:servicediscovery:ConsulServiceDiscoveryServiceConfiguration:SslKeyStoreOptions",
                    "properties": {
                        "type": {
                            "type": "string",
                            "title": "Type",
                            "description": "The type of the key store",
                            "default": "",
                            "enum": ["", "JKS", "PKCS12", "PEM"],
                            "x-schema-form": {
                                "type": "select",
                                "titleMap": {
                                    "": "None",
                                    "JKS": "Java Trust Store (.jks)",
                                    "PKCS12": "PKCS#12 (.p12) / PFX (.pfx)",
                                    "PEM": "PEM (.pem)"
                                }
                            }
                        },
                        "password": {
                            "type": "string",
                            "title": "Password",
                            "description": "Password to use to open the key store",
                            "x-schema-form": {
                                "type": "password",
                                "hidden": [
                                    {
                                        "$eq": {
                                            "ssl.keyStore.type": ["", "PEM"]
                                        }
                                    }
                                ]
                            }
                        },
                        "alias": {
                            "type": "string",
                            "title": "Alias for the key",
                            "description": "Alias of the key to use in case the key store contains more than one key",
                            "x-schema-form": {
                                "type": "password",
                                "hidden": [
                                    {
                                        "$eq": {
                                            "ssl.keyStore.type": ["", "PEM"]
                                        }
                                    }
                                ]
                            }
                        },
                        "keyPassword": {
                            "type": "string",
                            "title": "Key Password",
                            "description": "Password to use to access the key when protected by password",
                            "x-schema-form": {
                                "type": "password",
                                "hidden": [
                                    {
                                        "$eq": {
                                            "ssl.keyStore.type": ["", "PEM"]
                                        }
                                    }
                                ]
                            }
                        },
                        "path": {
                            "type": "string",
                            "title": "Path to key store",
                            "description": "Path to the key store file",
                            "x-schema-form": {
                                "hidden": [
                                    {
                                        "$eq": {
                                            "ssl.keyStore.type": ["", "PEM"]
                                        }
                                    }
                                ]
                            }
                        },
                        "content": {
                            "type": "string",
                            "title": "Content",
                            "description": "Binary content as Base64",
                            "x-schema-form": {
                                "type": "text",
                                "hidden": [
                                    {
                                        "$eq": {
                                            "ssl.keyStore.type": ["", "PEM"]
                                        }
                                    }
                                ]
                            }
                        },
                        "certPath": {
                            "type": "string",
                            "title": "Path to cert file",
                            "description": "Path to cert file (.PEM)",
                            "x-schema-form": {
                                "hidden": [
                                    {
                                        "$neq": {
                                            "ssl.keyStore.type": "PEM"
                                        }
                                    }
                                ]
                            }
                        },
                        "certContent": {
                            "type": "string",
                            "title": "Certificate",
                            "x-schema-form": {
                                "type": "text",
                                "hidden": [
                                    {
                                        "$neq": {
                                            "ssl.keyStore.type": "PEM"
                                        }
                                    }
                                ]
                            }
                        },
                        "keyPath": {
                            "type": "string",
                            "title": "Path to private key file",
                            "description": "Path to private key file (.PEM)",
                            "x-schema-form": {
                                "hidden": [
                                    {
                                        "$neq": {
                                            "ssl.keyStore.type": "PEM"
                                        }
                                    }
                                ]
                            }
                        },
                        "keyContent": {
                            "type": "string",
                            "title": "Private key",
                            "x-schema-form": {
                                "type": "text",
                                "hidden": [
                                    {
                                        "$neq": {
                                            "ssl.keyStore.type": "PEM"
                                        }
                                    }
                                ]
                            }
                        }
                    },
                    "oneOf": [
                        {
                            "properties": { "type": { "const": "" } }
                        },
                        {
                            "properties": { "type": { "const": "PEM" } },
                            "required": ["certContent", "keyContent"]
                        },
                        {
                            "properties": { "type": { "const": "PEM" } },
                            "required": ["certPath", "keyPath"]
                        },
                        {
                            "properties": { "type": { "const": "PEM" } },
                            "required": ["certContent", "keyPath"]
                        },
                        {
                            "properties": { "type": { "const": "PEM" } },
                            "required": ["certPath", "keyContent"]
                        },
                        {
                            "properties": { "type": { "pattern": "JKS|PKCS12" } },
                            "required": ["content", "password"]
                        },
                        {
                            "properties": { "type": { "pattern": "JKS|PKCS12" } },
                            "required": ["path", "password"]
                        }
                    ]
                }
            }
        }
    },
    "required": [
        "url",
        "service"
    ]
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy