{
  "factory": {
    "id": "ssl-context-parameters",
    "type": "entaxy.runtime.route.component",
    "isAbstract": false,
    "parent": "base-object",
    "label": "security",
    "group": "ssl context parameters"
  },
  "entaxy.runtime.route.component": {},
  "fields": {
    "camel_sslContextParameters": {
      "displayName": "Ssl Context Parameters",
      "description": "To configure security using SSLContextParameters. Use the visual configuration option with basic settings or if you need more fine-tuning, create beans and select the custom option. SSLContextParameters creation description in <a target=\"_blank\" href=\"https://camel-docs.entaxy.ru/manual/${camel-docs.version}/camel-configuration-utilities.html#CamelConfigurationUtilities-SSLContextParameters\"  >Apache Camel manual</a>",
      "label": "security",
      "type": "string",
      "required": false,
      "hidden": false,
      "group": "ssl context parameters",
      "##origin": "camel",
      "kind": [
        "property",
        "parameter"
      ],
      "@TYPEINFO": {
        "type": "enum",
        "emptyOptionName": "default",
        "values": [
          "visual configuration",
          "custom"
        ]
      },
      "@UI": {
        "manageDisplayBlocksByValue": true
      }
    },
    "sslContextParametersReference": {
      "displayName": "Reference",
      "description": "Reference to custom SSLContextParameters without leading #",
      "label": "advanced",
      "type": "string",
      "kind": "parameter",
      "required": false,
      "hidden": false,
      "group": "ssl context parameters",
      "defaultValue": "sslContextParameters",
      "@UI": {
        "transmitAlways": false,
        "displayBlocks": ["custom"],
        "required": true
        }
    },
    "sslContextParametersKeyManagersPass": {
      "displayName": "KeyManagers password",
      "description": "The optional password for recovering keys in the key store. Used by the KeyManagerFactory that creates the KeyManagers represented by this object's configuration.",
      "label": "advanced",
      "type": "password",
      "kind": "parameter",
      "required": false,
      "hidden": false,
      "group": "ssl context parameters",
      "defaultValue": "",
      "@UI": {
        "transmitAlways": false,
        "displayBlocks": ["visual configuration"],
        "required": false
        }
    },
    "sslContextParametersKeyManagersKeyStoreResource": {
        "displayName": "KeyManagers KeyStore resource path",
        "description": "The optional file path, class path resource, or URL of the resource used to load the key store.",
        "type": "Url",
        "kind": "parameter",
        "required": false,
        "group": "ssl context parameters",
        "@TYPEINFO": {
          "resourceProvider": "entaxy-keystore",
          "filter": ["*.jks", "*.pkcs12"
          ],
          "target": "resource"
        },
        "@UI": {
          "transmitAlways": false,
          "displayBlocks": ["visual configuration"],
          "required": false
        }
    },
    "sslContextParametersKeyManagersKeyStoreType": {
      "displayName": "KeyManagers KeyStore type",
      "description": "The optional type of the key store to load. See Appendix A in the <a target=\"_blank\" href=\"http://download.oracle.com/javase/6/docs/technotes/guides/security/StandardNames.html#KeyStore\" > Java Cryptography Architecture Standard Algorithm Name Documentation</a> for more information on standard names.",
      "label": "advanced",
      "type": "string",
      "kind": "parameter",
      "required": false,
      "hidden": false,
      "group": "ssl context parameters",
      "defaultValue": "",
      "@UI": {
        "transmitAlways": false,
        "displayBlocks": ["visual configuration"],
        "required": false
        }
    },
    "sslContextParametersKeyManagersKeyStorePass": {
      "displayName": "KeyManagers KeyStore password",
      "description": "The optional password for reading/opening/verifying the key store.",
      "label": "advanced",
      "type": "password",
      "kind": "parameter",
      "required": false,
      "hidden": false,
      "group": "ssl context parameters",
      "defaultValue": "",
      "@UI": {
        "transmitAlways": false,
        "displayBlocks": ["visual configuration"],
        "required": false
        }
    },
    "sslContextParametersTrustManagersKeyStoreResource": {
        "displayName": "TrustManagers KeyStore resource path",
        "description": "The optional file path, class path resource, or URL of the resource used to load the key store.",
        "type": "Url",
        "kind": "parameter",
        "required": false,
        "group": "ssl context parameters",
        "@TYPEINFO": {
          "resourceProvider": "entaxy-keystore",
          "filter": ["*.jks", "*.pkcs12"
          ],
          "target": "resource"
        },
        "@UI": {
          "transmitAlways": false,
          "displayBlocks": ["visual configuration"],
          "required": false
        }
    },
    "sslContextParametersTrustManagersKeyStoreType": {
      "displayName": "TrustManagers KeyStore type",
      "description": "The optional type of the key store to load. See Appendix A in the <a target=\"_blank\" href=\"http://download.oracle.com/javase/6/docs/technotes/guides/security/StandardNames.html#KeyStore\"> Java Cryptography Architecture Standard Algorithm Name Documentation</a> for more information on standard names.",
      "label": "advanced",
      "type": "string",
      "kind": "parameter",
      "required": false,
      "hidden": false,
      "group": "ssl context parameters",
      "defaultValue": "",
      "@UI": {
        "transmitAlways": false,
        "displayBlocks": ["visual configuration"],
        "required": false
        }
    },
    "sslContextParametersTrustManagersKeyStorePass": {
      "displayName": "TrustManagers KeyStore password",
      "description": "The optional password for reading/opening/verifying the key store.",
      "label": "advanced",
      "type": "password",
      "kind": "parameter",
      "required": false,
      "hidden": false,
      "group": "ssl context parameters",
      "defaultValue": "",
      "@UI": {
        "transmitAlways": false,
        "displayBlocks": ["visual configuration"],
        "required": false
        }
    },
    "__sslContextParametersTemplate": {
        "type": "entaxy.runtime.connector",
        "isRef": true,
        "required": true,
        "isHidden": true,
        "isRefByValueOnly": true,
        "@INTERNAL": true,
        "defaultValue": {
            "type": "entaxy.runtime.connector",
            "factoryId": "#OWNER#",
            "outputType": "ssl-context-parameters",
            "scope": "private",
            "properties": {
                "sslContextParameters": {
                    "@CALCULATED": {
                        "expression": "${#OWNER#.properties.camel_sslContextParameters}",
                        "fallbackObject": null,
                        "lazy": false
                    }
                },
                "sslContextParametersKeyManagersPass": {
                    "@CALCULATED": {
                        "expression": "${#OWNER#.properties.sslContextParametersKeyManagersPass}",
                        "fallbackObject": null,
                        "lazy": false
                    }
                },
                "sslContextParametersKeyManagersKeyStoreResource": {
                    "@CALCULATED": {
                        "expression": "${#OWNER#.properties.sslContextParametersKeyManagersKeyStoreResource}",
                        "fallbackObject": null,
                        "lazy": false
                    }
                },
                "sslContextParametersKeyManagersKeyStoreType": {
                    "@CALCULATED": {
                        "expression": "${#OWNER#.properties.sslContextParametersKeyManagersKeyStoreType}",
                        "fallbackObject": null,
                        "lazy": false
                    }
                },
                "sslContextParametersKeyManagersKeyStorePass": {
                    "@CALCULATED": {
                        "expression": "${#OWNER#.properties.sslContextParametersKeyManagersKeyStorePass}",
                        "fallbackObject": null,
                        "lazy": false
                    }
                },
                "sslContextParametersTrustManagersKeyStoreResource": {
                    "@CALCULATED": {
                        "expression": "${#OWNER#.properties.sslContextParametersTrustManagersKeyStoreResource}",
                        "fallbackObject": null,
                        "lazy": false
                    }
                },
                "sslContextParametersTrustManagersKeyStoreType": {
                    "@CALCULATED": {
                        "expression": "${#OWNER#.properties.sslContextParametersTrustManagersKeyStoreType}",
                        "fallbackObject": null,
                        "lazy": false
                    }
                },
                "sslContextParametersTrustManagersKeyStorePass": {
                    "@CALCULATED": {
                        "expression": "${#OWNER#.properties.sslContextParametersTrustManagersKeyStorePass}",
                        "fallbackObject": null,
                        "lazy": false
                    }
                }
            }
        }
    }
  },
  "outputs": {
      "init": {
        "fields": {
            "__sslContextParametersTemplate": {}
        },
        "scopes": ["private"]
      },
      "ssl-context-parameters": {
        "fields": {
            "sslContextParameters": {},
            "sslContextParametersKeyManagersPass": {},
            "sslContextParametersKeyManagersKeyStoreResource": {},
            "sslContextParametersKeyManagersKeyStoreType": {},
            "sslContextParametersKeyManagersKeyStorePass": {},
            "sslContextParametersTrustManagersKeyStoreResource": {},
            "sslContextParametersTrustManagersKeyStoreType": {},
            "sslContextParametersTrustManagersKeyStorePass": {}
        },
        "scopes": ["private"]
    }
  }
}
