{ "$schema": "https://json-schema.org/draft/2020-12/schema", "$version": "1.0", "type": "object", "description": "Zowe configuration", "properties": { "profiles": { "type": "object", "description": "Mapping of profile names to profile configurations", "patternProperties": { "^\\S*$": { "type": "object", "description": "Profile configuration object", "properties": { "type": { "description": "Profile type", "type": "string", "enum": [ "zosmf", "tso", "ssh", "zmf", "base" ] }, "properties": { "description": "Profile properties object", "type": "object" }, "profiles": { "description": "Optional subprofile configurations", "type": "object", "$ref": "#/properties/profiles" }, "secure": { "description": "Secure property names", "type": "array", "items": { "type": "string" }, "uniqueItems": true } }, "allOf": [ { "if": { "properties": { "type": false } }, "then": { "properties": { "properties": { "title": "Missing profile type" } } } }, { "if": { "properties": { "type": { "const": "zosmf" } } }, "then": { "properties": { "properties": { "type": "object", "title": "z/OSMF Profile", "description": "z/OSMF Profile", "properties": { "host": { "type": "string", "description": "The z/OSMF server host name." }, "port": { "type": "number", "description": "The z/OSMF server port.", "default": 443 }, "user": { "type": "string", "description": "Mainframe (z/OSMF) user name, which can be the same as your TSO login." }, "password": { "type": "string", "description": "Mainframe (z/OSMF) password, which can be the same as your TSO password." }, "rejectUnauthorized": { "type": "boolean", "description": "Reject self-signed certificates.", "default": true }, "certFile": { "type": "string", "description": "The file path to a certificate file to use for authentication" }, "certKeyFile": { "type": "string", "description": "The file path to a certificate key file to use for authentication" }, "basePath": { "type": "string", "description": "The base path for your API mediation layer instance. Specify this option to prepend the base path to all z/OSMF resources when making REST requests. Do not specify this option if you are not using an API mediation layer." }, "protocol": { "type": "string", "description": "The protocol used (HTTP or HTTPS)", "default": "https", "enum": [ "http", "https" ] }, "encoding": { "type": "string", "description": "The encoding for download and upload of z/OS data set and USS files. The default encoding if not specified is IBM-1047." }, "responseTimeout": { "type": "number", "description": "The maximum amount of time in seconds the z/OSMF Files TSO servlet should run before returning a response. Any request exceeding this amount of time will be terminated and return an error. Allowed values: 5 - 600" } }, "required": [] }, "secure": { "items": { "enum": [ "user", "password" ] } } } } }, { "if": { "properties": { "type": { "const": "tso" } } }, "then": { "properties": { "properties": { "type": "object", "title": "TSO Profile", "description": "z/OS TSO/E User Profile", "properties": { "account": { "type": "string", "description": "Your z/OS TSO/E accounting information." }, "characterSet": { "type": "string", "description": "Character set for address space to convert messages and responses from UTF-8 to EBCDIC.", "default": "697" }, "codePage": { "type": "string", "description": "Codepage value for TSO/E address space to convert messages and responses from UTF-8 to EBCDIC.", "default": "1047" }, "columns": { "type": "number", "description": "The number of columns on a screen.", "default": 80 }, "logonProcedure": { "type": "string", "description": "The logon procedure to use when creating TSO procedures on your behalf.", "default": "IZUFPROC" }, "regionSize": { "type": "number", "description": "Region size for the TSO/E address space.", "default": 4096 }, "rows": { "type": "number", "description": "The number of rows on a screen.", "default": 24 } }, "required": [] } } } }, { "if": { "properties": { "type": { "const": "ssh" } } }, "then": { "properties": { "properties": { "type": "object", "title": "z/OS SSH Profile", "description": "z/OS SSH Profile", "properties": { "host": { "type": "string", "description": "The z/OS SSH server host name." }, "port": { "type": "number", "description": "The z/OS SSH server port.", "default": 22 }, "user": { "type": "string", "description": "Mainframe user name, which can be the same as your TSO login." }, "password": { "type": "string", "description": "Mainframe password, which can be the same as your TSO password." }, "privateKey": { "type": "string", "description": "Path to a file containing your private key, that must match a public key stored in the server for authentication" }, "keyPassphrase": { "type": "string", "description": "Private key passphrase, which unlocks the private key." }, "handshakeTimeout": { "type": "number", "description": "How long in milliseconds to wait for the SSH handshake to complete." } }, "required": [] }, "secure": { "items": { "enum": [ "user", "password", "keyPassphrase" ] } } } } }, { "if": { "properties": { "type": { "const": "zmf" } } }, "then": { "properties": { "properties": { "type": "object", "title": "Configuration profile for ChangeMan ZMF", "description": "Configuration profile for ChangeMan ZMF", "properties": { "protocol": { "type": "string", "description": "The protocol used to connect to the ChangeMan ZMF Rest API server (http or https)", "default": "http", "enum": [ "http", "https" ] }, "host": { "type": "string", "description": "Host name of the ChangeMan ZMF REST API server" }, "port": { "type": "number", "description": "Port number of the ChangeMan ZMF REST API server" }, "user": { "type": "string", "description": "User name to authenticate to the ChangeMan ZMF REST API server" }, "password": { "type": "string", "description": "Password to authenticate to the ChangeMan ZMF REST API server" }, "basePath": { "type": "string", "description": "The base path used for connecting to the ChangeMan ZMF Rest API server", "default": "/zmfrest" }, "rejectUnauthorized": { "type": "boolean", "description": "Reject self-signed certificates", "default": true } }, "required": [] }, "secure": { "items": { "enum": [ "user", "password" ] } } } } }, { "if": { "properties": { "type": { "const": "base" } } }, "then": { "properties": { "properties": { "type": "object", "title": "Base Profile", "description": "Base profile that stores values shared by multiple service profiles", "properties": { "host": { "type": "string", "description": "Host name of service on the mainframe." }, "port": { "type": "number", "description": "Port number of service on the mainframe." }, "user": { "type": "string", "description": "User name to authenticate to service on the mainframe." }, "password": { "type": "string", "description": "Password to authenticate to service on the mainframe." }, "rejectUnauthorized": { "type": "boolean", "description": "Reject self-signed certificates.", "default": true }, "tokenType": { "type": "string", "description": "The type of token to get and use for the API. Omit this option to use the default token type, which is provided by 'zowe auth login'." }, "tokenValue": { "type": "string", "description": "The value of the token to pass to the API." }, "certFile": { "type": "string", "description": "The file path to a certificate file to use for authentication.\n\nNote: The CLI does not support certificate files that require a password. For more information, search Troubleshooting PEM Certificates in Zowe Docs." }, "certKeyFile": { "type": "string", "description": "The file path to a certificate key file to use for authentication" } }, "required": [] }, "secure": { "items": { "enum": [ "user", "password", "tokenValue" ] } } } } } ] } } }, "defaults": { "type": "object", "description": "Mapping of profile types to default profile names", "properties": { "zosmf": { "description": "Default zosmf profile", "type": "string" }, "tso": { "description": "Default tso profile", "type": "string" }, "ssh": { "description": "Default ssh profile", "type": "string" }, "zmf": { "description": "Default zmf profile", "type": "string" }, "base": { "description": "Default base profile", "type": "string" } } }, "autoStore": { "type": "boolean", "description": "If true, values you enter when prompted are stored for future use" } } }