diff options
138 files changed, 1910 insertions, 7 deletions
diff --git a/docs-chef-io/data/knife/knife_acl_add.yaml b/docs-chef-io/data/knife/knife_acl_add.yaml new file mode 100644 index 0000000000..e3748e340a --- /dev/null +++ b/docs-chef-io/data/knife/knife_acl_add.yaml @@ -0,0 +1,2 @@ +--- +banner: knife acl add MEMBER_TYPE MEMBER_NAME OBJECT_TYPE OBJECT_NAME PERMS diff --git a/docs-chef-io/data/knife/knife_acl_bulk_add.yaml b/docs-chef-io/data/knife/knife_acl_bulk_add.yaml new file mode 100644 index 0000000000..833ed43296 --- /dev/null +++ b/docs-chef-io/data/knife/knife_acl_bulk_add.yaml @@ -0,0 +1,2 @@ +--- +banner: knife acl bulk add MEMBER_TYPE MEMBER_NAME OBJECT_TYPE REGEX PERMS diff --git a/docs-chef-io/data/knife/knife_acl_bulk_remove.yaml b/docs-chef-io/data/knife/knife_acl_bulk_remove.yaml new file mode 100644 index 0000000000..4979f85280 --- /dev/null +++ b/docs-chef-io/data/knife/knife_acl_bulk_remove.yaml @@ -0,0 +1,2 @@ +--- +banner: knife acl bulk remove MEMBER_TYPE MEMBER_NAME OBJECT_TYPE REGEX PERMS diff --git a/docs-chef-io/data/knife/knife_acl_remove.yaml b/docs-chef-io/data/knife/knife_acl_remove.yaml new file mode 100644 index 0000000000..e76fe11c23 --- /dev/null +++ b/docs-chef-io/data/knife/knife_acl_remove.yaml @@ -0,0 +1,2 @@ +--- +banner: knife acl remove MEMBER_TYPE MEMBER_NAME OBJECT_TYPE OBJECT_NAME PERMS diff --git a/docs-chef-io/data/knife/knife_acl_show.yaml b/docs-chef-io/data/knife/knife_acl_show.yaml new file mode 100644 index 0000000000..5dc8c7770f --- /dev/null +++ b/docs-chef-io/data/knife/knife_acl_show.yaml @@ -0,0 +1,2 @@ +--- +banner: knife acl show OBJECT_TYPE OBJECT_NAME diff --git a/docs-chef-io/data/knife/knife_bootstrap.yaml b/docs-chef-io/data/knife/knife_bootstrap.yaml new file mode 100644 index 0000000000..99e9dfbc22 --- /dev/null +++ b/docs-chef-io/data/knife/knife_bootstrap.yaml @@ -0,0 +1,388 @@ +--- +banner: knife bootstrap [PROTOCOL://][USER@]FQDN (options) +auth_timeout: + long: "--max-wait SECONDS" + short: + boolean: false + description: This flag is deprecated. Use -W/--max-wait instead. + 'on': :tail + deprecated: true + keep: true + replacement: :max_wait + value_mapper: !ruby/object:Proc {} +bootstrap_curl_options: + long: "--bootstrap-curl-options OPTIONS" + description: Add options to curl when install Chef Infra Client. +bootstrap_install_command: + long: "--bootstrap-install-command COMMANDS" + description: Custom command to install Chef Infra Client. +bootstrap_no_proxy: + long: "--bootstrap-no-proxy [NO_PROXY_URL|NO_PROXY_IP]" + description: Do not proxy locations for the node being bootstrapped +bootstrap_preinstall_command: + long: "--bootstrap-preinstall-command COMMANDS" + description: Custom commands to run before installing Chef Infra Client. +bootstrap_product: + long: "--bootstrap-product PRODUCT" + description: Product to install. + default: chef +bootstrap_proxy: + long: "--bootstrap-proxy PROXY_URL" + description: The proxy server for the node being bootstrapped. +bootstrap_proxy_pass: + long: "--bootstrap-proxy-pass PROXY_PASS" + description: The proxy authentication password for the node being bootstrapped. +bootstrap_proxy_user: + long: "--bootstrap-proxy-user PROXY_USER" + description: The proxy authentication username for the node being bootstrapped. +bootstrap_template: + short: "-t TEMPLATE" + long: "--bootstrap-template TEMPLATE" + description: Bootstrap Chef Infra Client using a built-in or custom template. Set + to the full path of an erb template or use one of the built-in templates. +bootstrap_url: + long: "--bootstrap-url URL" + description: URL to a custom installation script. +bootstrap_vault_file: + long: "--bootstrap-vault-file VAULT_FILE" + description: A JSON file with a list of vault(s) and item(s) to be updated. +bootstrap_vault_item: + long: "--bootstrap-vault-item VAULT_ITEM" + description: A single vault and item to update as "vault:item". + proc: !ruby/object:Proc {} +bootstrap_vault_json: + long: "--bootstrap-vault-json VAULT_JSON" + description: A JSON string with the vault(s) and item(s) to be updated. +bootstrap_version: + long: "--bootstrap-version VERSION" + description: The version of Chef Infra Client to install. +bootstrap_wget_options: + long: "--bootstrap-wget-options OPTIONS" + description: Add options to wget when installing Chef Infra Client. +ca_trust_file: + short: "-f CA_TRUST_PATH" + long: "--ca-trust-file CA_TRUST_PATH" + description: The Certificate Authority (CA) trust file used for SSL transport. +channel: + long: "--channel CHANNEL" + description: Install from the given channel. Default is 'stable'. + default: stable + in: + - stable + - current + - unstable +chef_license: + long: "--chef-license ACCEPTANCE" + description: Accept the license for this product and any contained products ('accept', + 'accept-no-persist', or 'accept-silent') + required: false +chef_node_name: + short: "-N NAME" + long: "--node-name NAME" + description: The node name for your new node. +cl_secret: + long: "--secret SECRET" + description: The secret key to use to encrypt data bag item values. Can also be + defaulted in your config with the key 'secret'. +cl_secret_file: + long: "--secret-file SECRET_FILE" + description: A file containing the secret key to use to encrypt data bag item values. + Can also be defaulted in your config with the key 'secret_file'. +connection_password: + short: "-P PASSWORD" + long: "--connection-password PASSWORD" + description: Authenticate to the target host with this password. +connection_port: + short: "-p PORT" + long: "--connection-port PORT" + description: The port on the target node to connect to. +connection_protocol: + short: "-o PROTOCOL" + long: "--connection-protocol PROTOCOL" + description: The protocol to use to connect to the target node. + in: + - ssh + - winrm +connection_user: + short: "-U USERNAME" + long: "--connection-user USERNAME" + description: Authenticate to the target host with this user account. +encrypt: + long: "--encrypt" + description: If 'secret' or 'secret_file' is present in your config, then encrypt + data bags using it. + boolean: true + default: false +first_boot_attributes: + short: "-j JSON_ATTRIBS" + long: "--json-attributes" + description: A JSON string to be added to the first run of chef-client. + proc: !ruby/object:Proc {} + default: +first_boot_attributes_from_file: + long: "--json-attribute-file FILE" + description: A JSON file to be used to the first run of chef-client. + proc: !ruby/object:Proc {} + default: +forward_agent: + long: "--forward-agent" + short: + boolean: true + description: This flag is deprecated. Use -A/--ssh-forward-agent instead. + 'on': :tail + deprecated: true + keep: true + replacement: :ssh_forward_agent + value_mapper: !ruby/object:Proc {} +hints: + long: "--hint HINT_NAME[=HINT_FILE]" + description: Specify an Ohai hint to be set on the bootstrap target. Use multiple + --hint options to specify multiple hints. + proc: !ruby/object:Proc {} +host_key_verify: + long: "--[no-]host-key-verify" + short: + boolean: true + description: This flag is deprecated. Use --ssh-verify-host-key instead. + 'on': :tail + deprecated: true + keep: true + replacement: :ssh_verify_host_key + value_mapper: !ruby/object:Proc {} +kerberos_realm: + short: "-R KERBEROS_REALM" + long: "--kerberos-realm KERBEROS_REALM" + description: The Kerberos realm used for authentication. +kerberos_service: + short: "-S KERBEROS_SERVICE" + long: "--kerberos-service KERBEROS_SERVICE" + description: The Kerberos service used for authentication. +max_wait: + short: "-W SECONDS" + long: "--max-wait SECONDS" + description: The maximum time to wait for the initial connection to be established. +msi_url: + short: "-m URL" + long: "--msi-url URL" + description: Location of the Chef Infra Client MSI. The default templates will prefer + to download from this location. The MSI will be downloaded from https://chef.io + if not provided (Windows). + default: '' +node_ssl_verify_mode: + long: "--node-ssl-verify-mode [peer|none]" + description: Whether or not to verify the SSL cert for all HTTPS requests. + proc: !ruby/object:Proc {} +node_verify_api_cert: + long: "--[no-]node-verify-api-cert" + description: Verify the SSL cert for HTTPS requests to the Chef Infra Server API. + boolean: true +policy_group: + long: "--policy-group POLICY_GROUP" + description: Policy group name to use (--policy-name must also be given). + default: +policy_name: + long: "--policy-name POLICY_NAME" + description: Policyfile name to use (--policy-group must also be given). + default: +prerelease: + long: "--prerelease" + short: + boolean: true + description: This flag is deprecated. Use --channel instead. + 'on': :tail + deprecated: true + keep: true + replacement: :channel + value_mapper: !ruby/object:Proc {} +preserve_home: + long: "--sudo-preserve-home" + description: Preserve non-root user HOME environment variable with sudo. + boolean: true +run_list: + short: "-r RUN_LIST" + long: "--run-list RUN_LIST" + description: Comma separated list of roles/recipes to apply. + proc: !ruby/object:Proc {} + default: [] +session_timeout: + long: "--session-timeout SECONDS" + description: The number of seconds to wait for each connection operation to be acknowledged + while running bootstrap. + default: 60 +ssh_forward_agent: + short: "-A" + long: "--ssh-forward-agent" + description: Enable SSH agent forwarding. + boolean: true +ssh_gateway: + short: "-G GATEWAY" + long: "--ssh-gateway GATEWAY" + description: The SSH gateway. +ssh_gateway_identity: + long: "--ssh-gateway-identity SSH_GATEWAY_IDENTITY" + description: The SSH identity file used for gateway authentication. +ssh_identity_file: + short: "-i IDENTITY_FILE" + long: "--ssh-identity-file IDENTITY_FILE" + description: The SSH identity file used for authentication. +ssh_password: + long: "--ssh-password PASSWORD" + short: + boolean: false + description: This flag is deprecated. Use -P/--connection-password instead. + 'on': :tail + deprecated: true + keep: true + replacement: :connection_password + value_mapper: !ruby/object:Proc {} +ssh_port: + long: "--ssh-port PASSWORD" + short: + boolean: false + description: This flag is deprecated. Use -p/--connection-port instead. + 'on': :tail + deprecated: true + keep: true + replacement: :connection_port + value_mapper: !ruby/object:Proc {} +ssh_user: + long: "--ssh-user USERNAME" + short: + boolean: false + description: This flag is deprecated. Use -U/--connection-user instead. + 'on': :tail + deprecated: true + keep: true + replacement: :connection_user + value_mapper: !ruby/object:Proc {} +ssh_verify_host_key: + long: "--ssh-verify-host-key VALUE" + description: Verify host key. Default is 'always'. + in: + - always + - accept_new + - accept_new_or_local_tunnel + - never + default: always +ssl_peer_fingerprint: + long: "--ssl-peer-fingerprint FINGERPRINT" + short: + boolean: false + description: This flag is deprecated. Use --winrm-ssl-peer-fingerprint instead. + 'on': :tail + deprecated: true + keep: true + replacement: :winrm_ssl_peer_fingerprint + value_mapper: !ruby/object:Proc {} +su_password: + long: "--su-password PASSWORD" + description: The su USER password for authentication. +su_user: + long: "--su-user NAME" + description: The su - USER name to perform bootstrap command using a non-root user. +tags: + long: "--tags TAGS" + description: Comma separated list of tags to apply to the node. + proc: !ruby/object:Proc {} + default: [] +use_sudo: + long: "--sudo" + description: Execute the bootstrap via sudo. + boolean: true +use_sudo_password: + long: "--use-sudo-password" + description: Execute the bootstrap via sudo with password. + boolean: false +winrm_auth_method: + short: "-w AUTH-METHOD" + long: "--winrm-auth-method AUTH-METHOD" + description: The WinRM authentication method to use. + in: + - plaintext + - kerberos + - ssl + - negotiate +winrm_authentication_protocol: + long: "--winrm-authentication-protocol PROTOCOL" + short: + boolean: false + description: This flag is deprecated. Use -w/--winrm-auth-method instead. + 'on': :tail + deprecated: true + keep: true + replacement: :winrm_auth_method + value_mapper: !ruby/object:Proc {} +winrm_basic_auth_only: + long: "--winrm-basic-auth-only" + description: For WinRM basic authentication when using the 'ssl' auth method. + boolean: true +winrm_no_verify_cert: + long: "--winrm-no-verify-cert" + description: Do not verify the SSL certificate of the target node for WinRM. + boolean: true +winrm_password: + long: "--winrm-password PASSWORD" + short: + boolean: false + description: This flag is deprecated. Use -P/--connection-password instead. + 'on': :tail + deprecated: true + keep: true + replacement: :connection_password + value_mapper: !ruby/object:Proc {} +winrm_port: + long: "--winrm-port PORT" + short: + boolean: false + description: This flag is deprecated. Use -p/--connection-port instead. + 'on': :tail + deprecated: true + keep: true + replacement: :connection_port + value_mapper: !ruby/object:Proc {} +winrm_session_timeout: + long: "--winrm-session-timeout MINUTES" + short: + boolean: false + description: This flag is deprecated. Use --session-timeout instead. + 'on': :tail + deprecated: true + keep: true + replacement: :session_timeout + value_mapper: !ruby/object:Proc {} +winrm_ssl: + long: "--winrm-ssl" + description: Use SSL in the WinRM connection. +winrm_ssl_peer_fingerprint: + long: "--winrm-ssl-peer-fingerprint FINGERPRINT" + description: SSL certificate fingerprint expected from the target. +winrm_ssl_verify_mode: + long: "--winrm-ssl-verify-mode MODE" + short: + boolean: false + description: This flag is deprecated. Use --winrm-no-verify-cert instead. + 'on': :tail + deprecated: true + keep: true + replacement: :winrm_no_verify_cert + value_mapper: !ruby/object:Proc {} +winrm_transport: + long: "--winrm-transport TRANSPORT" + short: + boolean: false + description: This flag is deprecated. Use --winrm-ssl instead. + 'on': :tail + deprecated: true + keep: true + replacement: :winrm_ssl + value_mapper: !ruby/object:Proc {} +winrm_user: + long: "--winrm-user USERNAME" + short: "-x USERNAME" + boolean: false + description: This flag is deprecated. Use -U/--connection-user instead. + 'on': :tail + deprecated: true + keep: true + replacement: :connection_user + value_mapper: !ruby/object:Proc {} diff --git a/docs-chef-io/data/knife/knife_client_bulk_delete.yaml b/docs-chef-io/data/knife/knife_client_bulk_delete.yaml new file mode 100644 index 0000000000..57f33c591d --- /dev/null +++ b/docs-chef-io/data/knife/knife_client_bulk_delete.yaml @@ -0,0 +1,6 @@ +--- +banner: knife client bulk delete REGEX (options) +delete_validators: + short: "-D" + long: "--delete-validators" + description: Force deletion of clients if they're validators. diff --git a/docs-chef-io/data/knife/knife_client_create.yaml b/docs-chef-io/data/knife/knife_client_create.yaml new file mode 100644 index 0000000000..da35d478a1 --- /dev/null +++ b/docs-chef-io/data/knife/knife_client_create.yaml @@ -0,0 +1,22 @@ +--- +banner: knife client create CLIENTNAME (options) +file: + short: "-f FILE" + long: "--file FILE" + description: Write the private key to a file if the Chef Infra Server generated + one. +prevent_keygen: + short: "-k" + long: "--prevent-keygen" + description: Prevent Chef Infra Server from generating a default key pair for you. + Cannot be passed with --public-key. + boolean: true +public_key: + short: "-p FILE" + long: "--public-key" + description: Set the initial default key for the client from a file on disk (cannot + pass with --prevent-keygen). +validator: + long: "--validator" + description: Create the client as a validator. + boolean: true diff --git a/docs-chef-io/data/knife/knife_client_delete.yaml b/docs-chef-io/data/knife/knife_client_delete.yaml new file mode 100644 index 0000000000..8f2b02e72a --- /dev/null +++ b/docs-chef-io/data/knife/knife_client_delete.yaml @@ -0,0 +1,6 @@ +--- +banner: knife client delete [CLIENT [CLIENT]] (options) +delete_validators: + short: "-D" + long: "--delete-validators" + description: Force deletion of client if it's a validator. diff --git a/docs-chef-io/data/knife/knife_client_edit.yaml b/docs-chef-io/data/knife/knife_client_edit.yaml new file mode 100644 index 0000000000..c95571e0bb --- /dev/null +++ b/docs-chef-io/data/knife/knife_client_edit.yaml @@ -0,0 +1,2 @@ +--- +banner: knife client edit CLIENT (options) diff --git a/docs-chef-io/data/knife/knife_client_key_create.yaml b/docs-chef-io/data/knife/knife_client_key_create.yaml new file mode 100644 index 0000000000..39ca8140cc --- /dev/null +++ b/docs-chef-io/data/knife/knife_client_key_create.yaml @@ -0,0 +1,23 @@ +--- +banner: knife client key create CLIENT (options) +expiration_date: + short: "-e DATE" + long: "--expiration-date DATE" + description: 'Optionally pass the expiration date for the key in ISO 8601 formatted + string: YYYY-MM-DDTHH:MM:SSZ e.g. 2013-12-24T21:00:00Z. Defaults to infinity if + not passed. UTC timezone assumed.' +file: + short: "-f FILE" + long: "--file FILE" + description: Write the private key to a file, if you requested the server to create + one. +key_name: + short: "-k NAME" + long: "--key-name NAME" + description: The name for your key. If you do not pass a name, you must pass --public-key, + and the name will default to the fingerprint of the public key passed. +public_key: + short: "-p FILENAME" + long: "--public-key FILENAME" + description: Public key for newly created key. If not passed, the server will create + a key pair for you, but you must pass --key-name NAME in that case. diff --git a/docs-chef-io/data/knife/knife_client_key_delete.yaml b/docs-chef-io/data/knife/knife_client_key_delete.yaml new file mode 100644 index 0000000000..f99579995e --- /dev/null +++ b/docs-chef-io/data/knife/knife_client_key_delete.yaml @@ -0,0 +1,2 @@ +--- +banner: knife client key delete CLIENT KEYNAME (options) diff --git a/docs-chef-io/data/knife/knife_client_key_edit.yaml b/docs-chef-io/data/knife/knife_client_key_edit.yaml new file mode 100644 index 0000000000..7e773a810e --- /dev/null +++ b/docs-chef-io/data/knife/knife_client_key_edit.yaml @@ -0,0 +1,28 @@ +--- +banner: knife client key edit CLIENT KEYNAME (options) +create_key: + short: "-c" + long: "--create-key" + description: Replace the public_key field with a key generated by the server. The + private key will be returned. +expiration_date: + short: "-e DATE" + long: "--expiration-date DATE" + description: 'Updates the expiration_date field of your key if passed. Pass in ISO + 8601 formatted string: YYYY-MM-DDTHH:MM:SSZ e.g. 2013-12-24T21:00:00Z or infinity. + UTC timezone assumed.' +file: + short: "-f FILE" + long: "--file FILE" + description: Write the private key to a file, if you requested the server to create + one via --create-key. +key_name: + short: "-k NAME" + long: "--key-name NAME" + description: The new name for your key. Pass if you wish to update the name field + of your key. +public_key: + short: "-p FILENAME" + long: "--public-key FILENAME" + description: Replace the public_key field from a file on disk. If not passed, the + public_key field will not change. diff --git a/docs-chef-io/data/knife/knife_client_key_list.yaml b/docs-chef-io/data/knife/knife_client_key_list.yaml new file mode 100644 index 0000000000..fb776ba8bd --- /dev/null +++ b/docs-chef-io/data/knife/knife_client_key_list.yaml @@ -0,0 +1,14 @@ +--- +banner: knife client key list CLIENT (options) +only_expired: + short: "-e" + long: "--only-expired" + description: Only show expired keys. +only_non_expired: + short: "-n" + long: "--only-non-expired" + description: Only show non-expired keys. +with_details: + short: "-w" + long: "--with-details" + description: Show corresponding URIs and whether the key has expired or not. diff --git a/docs-chef-io/data/knife/knife_client_key_show.yaml b/docs-chef-io/data/knife/knife_client_key_show.yaml new file mode 100644 index 0000000000..10667ba498 --- /dev/null +++ b/docs-chef-io/data/knife/knife_client_key_show.yaml @@ -0,0 +1,2 @@ +--- +banner: knife client key show CLIENT KEYNAME (options) diff --git a/docs-chef-io/data/knife/knife_client_list.yaml b/docs-chef-io/data/knife/knife_client_list.yaml new file mode 100644 index 0000000000..98f511b10b --- /dev/null +++ b/docs-chef-io/data/knife/knife_client_list.yaml @@ -0,0 +1,6 @@ +--- +banner: knife client list (options) +with_uri: + short: "-w" + long: "--with-uri" + description: Show corresponding URIs. diff --git a/docs-chef-io/data/knife/knife_client_reregister.yaml b/docs-chef-io/data/knife/knife_client_reregister.yaml new file mode 100644 index 0000000000..4df520d02c --- /dev/null +++ b/docs-chef-io/data/knife/knife_client_reregister.yaml @@ -0,0 +1,6 @@ +--- +banner: knife client reregister CLIENT (options) +file: + short: "-f FILE" + long: "--file FILE" + description: Write the key to a file. diff --git a/docs-chef-io/data/knife/knife_client_show.yaml b/docs-chef-io/data/knife/knife_client_show.yaml new file mode 100644 index 0000000000..23d6f8bc98 --- /dev/null +++ b/docs-chef-io/data/knife/knife_client_show.yaml @@ -0,0 +1,12 @@ +--- +banner: knife client show CLIENT (options) +attribute: + short: "-a ATTR1 [-a ATTR2]" + long: "--attribute ATTR1 [--attribute ATTR2] " + description: Show one or more attributes + proc: !ruby/object:Proc {} +field_separator: + short: "-S SEPARATOR" + long: "--field-separator SEPARATOR" + description: Character separator used to delineate nesting in --attribute filters + (default ".") diff --git a/docs-chef-io/data/knife/knife_config_get.yaml b/docs-chef-io/data/knife/knife_config_get.yaml new file mode 100644 index 0000000000..7e4e34a0c0 --- /dev/null +++ b/docs-chef-io/data/knife/knife_config_get.yaml @@ -0,0 +1,14 @@ +--- +banner: |- + knife config get [OPTION...] (options) + Displays the value of Chef::Config[OPTION] (or all config values) +all: + short: "-a" + long: "--all" + description: Include options that are not set in the configuration. + default: false +raw: + short: "-r" + long: "--raw" + description: Display a each value with no formatting. + default: false diff --git a/docs-chef-io/data/knife/knife_config_get_profile.yaml b/docs-chef-io/data/knife/knife_config_get_profile.yaml new file mode 100644 index 0000000000..0766d02993 --- /dev/null +++ b/docs-chef-io/data/knife/knife_config_get_profile.yaml @@ -0,0 +1,2 @@ +--- +banner: knife config get-profile diff --git a/docs-chef-io/data/knife/knife_config_list.yaml b/docs-chef-io/data/knife/knife_config_list.yaml new file mode 100644 index 0000000000..6aa65d2d1f --- /dev/null +++ b/docs-chef-io/data/knife/knife_config_list.yaml @@ -0,0 +1,7 @@ +--- +banner: knife config list (options) +ignore_knife_rb: + short: "-i" + long: "--ignore-knife-rb" + description: Ignore the current config.rb/knife.rb configuration. + default: false diff --git a/docs-chef-io/data/knife/knife_config_list_profiles.yaml b/docs-chef-io/data/knife/knife_config_list_profiles.yaml new file mode 100644 index 0000000000..413ba761c9 --- /dev/null +++ b/docs-chef-io/data/knife/knife_config_list_profiles.yaml @@ -0,0 +1,7 @@ +--- +banner: knife config list-profiles (options) +ignore_knife_rb: + short: "-i" + long: "--ignore-knife-rb" + description: Ignore the current config.rb/knife.rb configuration. + default: false diff --git a/docs-chef-io/data/knife/knife_config_show.yaml b/docs-chef-io/data/knife/knife_config_show.yaml new file mode 100644 index 0000000000..2fdc07e0c3 --- /dev/null +++ b/docs-chef-io/data/knife/knife_config_show.yaml @@ -0,0 +1,14 @@ +--- +banner: |- + knife config show [OPTION...] (options) + Displays the value of Chef::Config[OPTION] (or all config values) +all: + short: "-a" + long: "--all" + description: Include options that are not set in the configuration. + default: false +raw: + short: "-r" + long: "--raw" + description: Display a each value with no formatting. + default: false diff --git a/docs-chef-io/data/knife/knife_config_use.yaml b/docs-chef-io/data/knife/knife_config_use.yaml new file mode 100644 index 0000000000..0eefbb6e65 --- /dev/null +++ b/docs-chef-io/data/knife/knife_config_use.yaml @@ -0,0 +1,2 @@ +--- +banner: knife config use [PROFILE] diff --git a/docs-chef-io/data/knife/knife_config_use_profile.yaml b/docs-chef-io/data/knife/knife_config_use_profile.yaml new file mode 100644 index 0000000000..f1f7913a62 --- /dev/null +++ b/docs-chef-io/data/knife/knife_config_use_profile.yaml @@ -0,0 +1,2 @@ +--- +banner: knife config use-profile PROFILE diff --git a/docs-chef-io/data/knife/knife_configure.yaml b/docs-chef-io/data/knife/knife_configure.yaml new file mode 100644 index 0000000000..cad3a2e5b7 --- /dev/null +++ b/docs-chef-io/data/knife/knife_configure.yaml @@ -0,0 +1,26 @@ +--- +banner: knife configure (options) +admin_client_key: + long: "--admin-client-key PATH" + description: The path to the private key used by the client, typically a file named + admin.pem. +admin_client_name: + long: "--admin-client-name NAME" + description: The name of the client, typically the name of the admin client. +initial: + short: "-i" + long: "--initial" + boolean: true + description: Use to create a API client, typically an administrator client on a + freshly-installed server. +repository: + short: "-r REPO" + long: "--repository REPO" + description: The path to the chef-repo. +validation_client_name: + long: "--validation-client-name NAME" + description: The name of the validation client, typically a client named chef-validator. +validation_key: + long: "--validation-key PATH" + description: The path to the validation key used by the client, typically a file + named validation.pem. diff --git a/docs-chef-io/data/knife/knife_configure_client.yaml b/docs-chef-io/data/knife/knife_configure_client.yaml new file mode 100644 index 0000000000..3010e76800 --- /dev/null +++ b/docs-chef-io/data/knife/knife_configure_client.yaml @@ -0,0 +1,2 @@ +--- +banner: knife configure client DIRECTORY diff --git a/docs-chef-io/data/knife/knife_cookbook_bulk_delete.yaml b/docs-chef-io/data/knife/knife_cookbook_bulk_delete.yaml new file mode 100644 index 0000000000..0bf1bd8927 --- /dev/null +++ b/docs-chef-io/data/knife/knife_cookbook_bulk_delete.yaml @@ -0,0 +1,7 @@ +--- +banner: knife cookbook bulk delete REGEX (options) +purge: + short: "-p" + long: "--purge" + boolean: true + description: Permanently remove files from backing data store. diff --git a/docs-chef-io/data/knife/knife_cookbook_delete.yaml b/docs-chef-io/data/knife/knife_cookbook_delete.yaml new file mode 100644 index 0000000000..8ec7237d9a --- /dev/null +++ b/docs-chef-io/data/knife/knife_cookbook_delete.yaml @@ -0,0 +1,12 @@ +--- +banner: knife cookbook delete COOKBOOK VERSION (options) +all: + short: "-a" + long: "--all" + boolean: true + description: Delete all versions of the cookbook. +purge: + short: "-p" + long: "--purge" + boolean: true + description: Permanently remove files from backing data store. diff --git a/docs-chef-io/data/knife/knife_cookbook_download.yaml b/docs-chef-io/data/knife/knife_cookbook_download.yaml new file mode 100644 index 0000000000..2a65fc9ec9 --- /dev/null +++ b/docs-chef-io/data/knife/knife_cookbook_download.yaml @@ -0,0 +1,16 @@ +--- +banner: knife cookbook download COOKBOOK [VERSION] (options) +download_directory: + short: "-d DOWNLOAD_DIRECTORY" + long: "--dir DOWNLOAD_DIRECTORY" + description: The directory to download the cookbook into. + default: "/Users/maddaus/code/chef" +force: + short: "-f" + long: "--force" + description: Force download over the download directory if it exists. +latest: + short: "-N" + long: "--latest" + description: The version of the cookbook to download. + boolean: true diff --git a/docs-chef-io/data/knife/knife_cookbook_list.yaml b/docs-chef-io/data/knife/knife_cookbook_list.yaml new file mode 100644 index 0000000000..3e2041d344 --- /dev/null +++ b/docs-chef-io/data/knife/knife_cookbook_list.yaml @@ -0,0 +1,10 @@ +--- +banner: knife cookbook list (options) +all_versions: + short: "-a" + long: "--all" + description: Show all available versions. +with_uri: + short: "-w" + long: "--with-uri" + description: Show corresponding URIs. diff --git a/docs-chef-io/data/knife/knife_cookbook_metadata.yaml b/docs-chef-io/data/knife/knife_cookbook_metadata.yaml new file mode 100644 index 0000000000..4cc60dbcab --- /dev/null +++ b/docs-chef-io/data/knife/knife_cookbook_metadata.yaml @@ -0,0 +1,11 @@ +--- +banner: knife cookbook metadata COOKBOOK (options) +all: + short: "-a" + long: "--all" + description: Generate metadata for all cookbooks, rather than just a single cookbook. +cookbook_path: + short: "-o PATH:PATH" + long: "--cookbook-path PATH:PATH" + description: A colon-separated path to look for cookbooks in. + proc: !ruby/object:Proc {} diff --git a/docs-chef-io/data/knife/knife_cookbook_metadata_from_file.yaml b/docs-chef-io/data/knife/knife_cookbook_metadata_from_file.yaml new file mode 100644 index 0000000000..ea6e386ed7 --- /dev/null +++ b/docs-chef-io/data/knife/knife_cookbook_metadata_from_file.yaml @@ -0,0 +1,2 @@ +--- +banner: knife cookbook metadata from file FILE (options) diff --git a/docs-chef-io/data/knife/knife_cookbook_show.yaml b/docs-chef-io/data/knife/knife_cookbook_show.yaml new file mode 100644 index 0000000000..82aa2109b0 --- /dev/null +++ b/docs-chef-io/data/knife/knife_cookbook_show.yaml @@ -0,0 +1,18 @@ +--- +banner: knife cookbook show COOKBOOK [VERSION] [PART] [FILENAME] (options) +fqdn: + short: "-f FQDN" + long: "--fqdn FQDN" + description: The FQDN of the host to see the file for. +platform: + short: "-p PLATFORM" + long: "--platform PLATFORM" + description: The platform to see the file for. +platform_version: + short: "-V VERSION" + long: "--platform-version VERSION" + description: The platform version to see the file for. +with_uri: + short: "-w" + long: "--with-uri" + description: Show corresponding URIs. diff --git a/docs-chef-io/data/knife/knife_cookbook_upload.yaml b/docs-chef-io/data/knife/knife_cookbook_upload.yaml new file mode 100644 index 0000000000..8f68283247 --- /dev/null +++ b/docs-chef-io/data/knife/knife_cookbook_upload.yaml @@ -0,0 +1,41 @@ +--- +banner: knife cookbook upload [COOKBOOKS...] (options) +all: + short: "-a" + long: "--all" + description: Upload all cookbooks, rather than just a single cookbook. +check_dependencies: + boolean: true + long: "--[no-]check-dependencies" + description: Whether or not cookbook dependencies are verified before uploading + cookbook(s) to Chef Infra Server. You shouldn't disable this unless you really + know what you're doing. + default: true +concurrency: + long: "--concurrency NUMBER_OF_THREADS" + description: How many concurrent threads will be used. + default: 10 + proc: !ruby/object:Proc {} +cookbook_path: + short: "-o 'PATH:PATH'" + long: "--cookbook-path 'PATH:PATH'" + description: A delimited path to search for cookbooks. On Unix the delimiter is + ':', on Windows it is ';'. + proc: !ruby/object:Proc {} +depends: + short: "-d" + long: "--include-dependencies" + description: Also upload cookbook dependencies. +environment: + short: "-E" + long: "--environment ENVIRONMENT" + description: Set ENVIRONMENT's version dependency match the version you're uploading. + default: +force: + long: "--force" + boolean: true + description: Update cookbook versions even if they have been frozen. +freeze: + long: "--freeze" + description: Freeze this version of the cookbook so that it cannot be overwritten. + boolean: true diff --git a/docs-chef-io/data/knife/knife_data_bag_create.yaml b/docs-chef-io/data/knife/knife_data_bag_create.yaml new file mode 100644 index 0000000000..0112821288 --- /dev/null +++ b/docs-chef-io/data/knife/knife_data_bag_create.yaml @@ -0,0 +1,16 @@ +--- +banner: knife data bag create BAG [ITEM] (options) +cl_secret: + long: "--secret SECRET" + description: The secret key to use to encrypt data bag item values. Can also be + defaulted in your config with the key 'secret'. +cl_secret_file: + long: "--secret-file SECRET_FILE" + description: A file containing the secret key to use to encrypt data bag item values. + Can also be defaulted in your config with the key 'secret_file'. +encrypt: + long: "--encrypt" + description: If 'secret' or 'secret_file' is present in your config, then encrypt + data bags using it. + boolean: true + default: false diff --git a/docs-chef-io/data/knife/knife_data_bag_delete.yaml b/docs-chef-io/data/knife/knife_data_bag_delete.yaml new file mode 100644 index 0000000000..dbf3672bf4 --- /dev/null +++ b/docs-chef-io/data/knife/knife_data_bag_delete.yaml @@ -0,0 +1,2 @@ +--- +banner: knife data bag delete BAG [ITEM] (options) diff --git a/docs-chef-io/data/knife/knife_data_bag_edit.yaml b/docs-chef-io/data/knife/knife_data_bag_edit.yaml new file mode 100644 index 0000000000..ddafa31781 --- /dev/null +++ b/docs-chef-io/data/knife/knife_data_bag_edit.yaml @@ -0,0 +1,16 @@ +--- +banner: knife data bag edit BAG ITEM (options) +cl_secret: + long: "--secret SECRET" + description: The secret key to use to encrypt data bag item values. Can also be + defaulted in your config with the key 'secret'. +cl_secret_file: + long: "--secret-file SECRET_FILE" + description: A file containing the secret key to use to encrypt data bag item values. + Can also be defaulted in your config with the key 'secret_file'. +encrypt: + long: "--encrypt" + description: If 'secret' or 'secret_file' is present in your config, then encrypt + data bags using it. + boolean: true + default: false diff --git a/docs-chef-io/data/knife/knife_data_bag_from_file.yaml b/docs-chef-io/data/knife/knife_data_bag_from_file.yaml new file mode 100644 index 0000000000..ef9bcabea9 --- /dev/null +++ b/docs-chef-io/data/knife/knife_data_bag_from_file.yaml @@ -0,0 +1,20 @@ +--- +banner: knife data bag from file BAG FILE|FOLDER [FILE|FOLDER..] (options) +all: + short: "-a" + long: "--all" + description: Upload all data bags or all items for specified data bags. +cl_secret: + long: "--secret SECRET" + description: The secret key to use to encrypt data bag item values. Can also be + defaulted in your config with the key 'secret'. +cl_secret_file: + long: "--secret-file SECRET_FILE" + description: A file containing the secret key to use to encrypt data bag item values. + Can also be defaulted in your config with the key 'secret_file'. +encrypt: + long: "--encrypt" + description: If 'secret' or 'secret_file' is present in your config, then encrypt + data bags using it. + boolean: true + default: false diff --git a/docs-chef-io/data/knife/knife_data_bag_list.yaml b/docs-chef-io/data/knife/knife_data_bag_list.yaml new file mode 100644 index 0000000000..0a6809669a --- /dev/null +++ b/docs-chef-io/data/knife/knife_data_bag_list.yaml @@ -0,0 +1,6 @@ +--- +banner: knife data bag list (options) +with_uri: + short: "-w" + long: "--with-uri" + description: Show corresponding URIs. diff --git a/docs-chef-io/data/knife/knife_data_bag_show.yaml b/docs-chef-io/data/knife/knife_data_bag_show.yaml new file mode 100644 index 0000000000..9871af0aab --- /dev/null +++ b/docs-chef-io/data/knife/knife_data_bag_show.yaml @@ -0,0 +1,16 @@ +--- +banner: knife data bag show BAG [ITEM] (options) +cl_secret: + long: "--secret SECRET" + description: The secret key to use to encrypt data bag item values. Can also be + defaulted in your config with the key 'secret'. +cl_secret_file: + long: "--secret-file SECRET_FILE" + description: A file containing the secret key to use to encrypt data bag item values. + Can also be defaulted in your config with the key 'secret_file'. +encrypt: + long: "--encrypt" + description: If 'secret' or 'secret_file' is present in your config, then encrypt + data bags using it. + boolean: true + default: false diff --git a/docs-chef-io/data/knife/knife_delete.yaml b/docs-chef-io/data/knife/knife_delete.yaml new file mode 100644 index 0000000000..c5d56565bb --- /dev/null +++ b/docs-chef-io/data/knife/knife_delete.yaml @@ -0,0 +1,29 @@ +--- +banner: knife delete [PATTERN1 ... PATTERNn] +both: + long: "--both" + boolean: true + default: false + description: Delete both the local and remote copies. +chef_repo_path: + long: "--chef-repo-path PATH" + description: Overrides the location of Chef Infra Client repo. Default is specified + by chef_repo_path in the config +concurrency: + long: "--concurrency THREADS" + description: 'Maximum number of simultaneous requests to send (default: 10)' +local: + long: "--local" + boolean: true + default: false + description: Delete the local copy (leave the remote copy). +recurse: + short: "-r" + long: "--[no-]recurse" + boolean: true + default: false + description: Delete directories recursively. +repo_mode: + long: "--repo-mode MODE" + description: 'Specifies the local repository layout. Values: static, everything, + hosted_everything. Default: everything/hosted_everything' diff --git a/docs-chef-io/data/knife/knife_deps.yaml b/docs-chef-io/data/knife/knife_deps.yaml new file mode 100644 index 0000000000..648942da64 --- /dev/null +++ b/docs-chef-io/data/knife/knife_deps.yaml @@ -0,0 +1,25 @@ +--- +banner: knife deps PATTERN1 [PATTERNn] +chef_repo_path: + long: "--chef-repo-path PATH" + description: Overrides the location of Chef Infra Client repo. Default is specified + by chef_repo_path in the config +concurrency: + long: "--concurrency THREADS" + description: 'Maximum number of simultaneous requests to send (default: 10)' +recurse: + long: "--[no-]recurse" + boolean: true + description: 'List dependencies recursively (default: true). Only works with --tree.' +remote: + long: "--remote" + boolean: true + description: List dependencies on the server instead of the local filesystem. +repo_mode: + long: "--repo-mode MODE" + description: 'Specifies the local repository layout. Values: static, everything, + hosted_everything. Default: everything/hosted_everything' +tree: + long: "--tree" + boolean: true + description: Show dependencies in a visual tree. May show duplicates. diff --git a/docs-chef-io/data/knife/knife_diff.yaml b/docs-chef-io/data/knife/knife_diff.yaml new file mode 100644 index 0000000000..915e3e8f56 --- /dev/null +++ b/docs-chef-io/data/knife/knife_diff.yaml @@ -0,0 +1,39 @@ +--- +banner: knife diff PATTERNS +chef_repo_path: + long: "--chef-repo-path PATH" + description: Overrides the location of Chef Infra Client repo. Default is specified + by chef_repo_path in the config +concurrency: + long: "--concurrency THREADS" + description: 'Maximum number of simultaneous requests to send (default: 10)' +cookbook_version: + long: "--cookbook-version VERSION" + description: Version of cookbook to download (if there are multiple versions and + cookbook_versions is false). +diff_filter: + long: "--diff-filter=[(A|D|M|T)...[*]]" + description: Select only files that are Added (A), Deleted (D), Modified (M), or + have their type (i.e. regular file, directory) changed (T). Any combination of + the filter characters (including none) can be used. When * (All-or-none) is added + to the combination, all paths are selected if there is any file that matches other + criteria in the comparison; if there is no file that matches other criteria, nothing + is selected. +name_only: + long: "--name-only" + boolean: true + description: Only show names of modified files. +name_status: + long: "--name-status" + boolean: true + description: 'Only show names and statuses of modified files: Added, Deleted, Modified, + and Type Changed.' +recurse: + long: "--[no-]recurse" + boolean: true + default: true + description: List directories recursively. +repo_mode: + long: "--repo-mode MODE" + description: 'Specifies the local repository layout. Values: static, everything, + hosted_everything. Default: everything/hosted_everything' diff --git a/docs-chef-io/data/knife/knife_download.yaml b/docs-chef-io/data/knife/knife_download.yaml new file mode 100644 index 0000000000..05239cae0d --- /dev/null +++ b/docs-chef-io/data/knife/knife_download.yaml @@ -0,0 +1,45 @@ +--- +banner: knife download PATTERNS +chef_repo_path: + long: "--chef-repo-path PATH" + description: Overrides the location of Chef Infra Client repo. Default is specified + by chef_repo_path in the config +concurrency: + long: "--concurrency THREADS" + description: 'Maximum number of simultaneous requests to send (default: 10)' +cookbook_version: + long: "--cookbook-version VERSION" + description: Version of cookbook to download (if there are multiple versions and + cookbook_versions is false). +diff: + long: "--[no-]diff" + boolean: true + default: true + description: Turn off to avoid downloading existing files; only new (and possibly + deleted) files with --no-diff. +dry_run: + long: "--dry-run" + short: "-n" + boolean: true + default: false + description: Don't take action, only print what would happen. +force: + long: "--[no-]force" + boolean: true + default: false + description: Force download of files even if they match (quicker and harmless, but + doesn't print out what it changed). +purge: + long: "--[no-]purge" + boolean: true + default: false + description: Delete matching local files and directories that do not exist remotely. +recurse: + long: "--[no-]recurse" + boolean: true + default: true + description: List directories recursively. +repo_mode: + long: "--repo-mode MODE" + description: 'Specifies the local repository layout. Values: static, everything, + hosted_everything. Default: everything/hosted_everything' diff --git a/docs-chef-io/data/knife/knife_edit.yaml b/docs-chef-io/data/knife/knife_edit.yaml new file mode 100644 index 0000000000..7c7e6dc769 --- /dev/null +++ b/docs-chef-io/data/knife/knife_edit.yaml @@ -0,0 +1,17 @@ +--- +banner: knife edit [PATTERN1 ... PATTERNn] +chef_repo_path: + long: "--chef-repo-path PATH" + description: Overrides the location of Chef Infra Client repo. Default is specified + by chef_repo_path in the config +concurrency: + long: "--concurrency THREADS" + description: 'Maximum number of simultaneous requests to send (default: 10)' +local: + long: "--local" + boolean: true + description: Show local files instead of remote. +repo_mode: + long: "--repo-mode MODE" + description: 'Specifies the local repository layout. Values: static, everything, + hosted_everything. Default: everything/hosted_everything' diff --git a/docs-chef-io/data/knife/knife_environment_compare.yaml b/docs-chef-io/data/knife/knife_environment_compare.yaml new file mode 100644 index 0000000000..2a86d2fceb --- /dev/null +++ b/docs-chef-io/data/knife/knife_environment_compare.yaml @@ -0,0 +1,12 @@ +--- +banner: knife environment compare [ENVIRONMENT..] (options) +all: + short: "-a" + long: "--all" + description: Show all cookbooks. + boolean: true +mismatch: + short: "-m" + long: "--mismatch" + description: Only show mismatching versions. + boolean: true diff --git a/docs-chef-io/data/knife/knife_environment_create.yaml b/docs-chef-io/data/knife/knife_environment_create.yaml new file mode 100644 index 0000000000..965e52ae14 --- /dev/null +++ b/docs-chef-io/data/knife/knife_environment_create.yaml @@ -0,0 +1,6 @@ +--- +banner: knife environment create ENVIRONMENT (options) +description: + short: "-d DESCRIPTION" + long: "--description DESCRIPTION" + description: The environment description. diff --git a/docs-chef-io/data/knife/knife_environment_delete.yaml b/docs-chef-io/data/knife/knife_environment_delete.yaml new file mode 100644 index 0000000000..84d06e14d1 --- /dev/null +++ b/docs-chef-io/data/knife/knife_environment_delete.yaml @@ -0,0 +1,2 @@ +--- +banner: knife environment delete ENVIRONMENT (options) diff --git a/docs-chef-io/data/knife/knife_environment_edit.yaml b/docs-chef-io/data/knife/knife_environment_edit.yaml new file mode 100644 index 0000000000..011c28e3aa --- /dev/null +++ b/docs-chef-io/data/knife/knife_environment_edit.yaml @@ -0,0 +1,2 @@ +--- +banner: knife environment edit ENVIRONMENT (options) diff --git a/docs-chef-io/data/knife/knife_environment_from_file.yaml b/docs-chef-io/data/knife/knife_environment_from_file.yaml new file mode 100644 index 0000000000..833ec77503 --- /dev/null +++ b/docs-chef-io/data/knife/knife_environment_from_file.yaml @@ -0,0 +1,6 @@ +--- +banner: knife environment from file FILE [FILE..] (options) +all: + short: "-a" + long: "--all" + description: Upload all environments. diff --git a/docs-chef-io/data/knife/knife_environment_list.yaml b/docs-chef-io/data/knife/knife_environment_list.yaml new file mode 100644 index 0000000000..d2931b1eb3 --- /dev/null +++ b/docs-chef-io/data/knife/knife_environment_list.yaml @@ -0,0 +1,6 @@ +--- +banner: knife environment list (options) +with_uri: + short: "-w" + long: "--with-uri" + description: Show corresponding URIs. diff --git a/docs-chef-io/data/knife/knife_environment_show.yaml b/docs-chef-io/data/knife/knife_environment_show.yaml new file mode 100644 index 0000000000..ae9a9a0457 --- /dev/null +++ b/docs-chef-io/data/knife/knife_environment_show.yaml @@ -0,0 +1,12 @@ +--- +banner: knife environment show ENVIRONMENT (options) +attribute: + short: "-a ATTR1 [-a ATTR2]" + long: "--attribute ATTR1 [--attribute ATTR2] " + description: Show one or more attributes + proc: !ruby/object:Proc {} +field_separator: + short: "-S SEPARATOR" + long: "--field-separator SEPARATOR" + description: Character separator used to delineate nesting in --attribute filters + (default ".") diff --git a/docs-chef-io/data/knife/knife_exec.yaml b/docs-chef-io/data/knife/knife_exec.yaml new file mode 100644 index 0000000000..f22b3ae756 --- /dev/null +++ b/docs-chef-io/data/knife/knife_exec.yaml @@ -0,0 +1,11 @@ +--- +banner: knife exec [SCRIPT] (options) +exec: + short: "-E CODE" + long: "--exec CODE" + description: A string of Chef Infra Client code to execute. +script_path: + short: "-p PATH:PATH" + long: "--script-path PATH:PATH" + description: A colon-separated path to look for scripts in. + proc: !ruby/object:Proc {} diff --git a/docs-chef-io/data/knife/knife_group_add.yaml b/docs-chef-io/data/knife/knife_group_add.yaml new file mode 100644 index 0000000000..65bd8c78f2 --- /dev/null +++ b/docs-chef-io/data/knife/knife_group_add.yaml @@ -0,0 +1,2 @@ +--- +banner: knife group add MEMBER_TYPE MEMBER_NAME GROUP_NAME diff --git a/docs-chef-io/data/knife/knife_group_create.yaml b/docs-chef-io/data/knife/knife_group_create.yaml new file mode 100644 index 0000000000..953556b99e --- /dev/null +++ b/docs-chef-io/data/knife/knife_group_create.yaml @@ -0,0 +1,2 @@ +--- +banner: knife group create GROUP_NAME diff --git a/docs-chef-io/data/knife/knife_group_destroy.yaml b/docs-chef-io/data/knife/knife_group_destroy.yaml new file mode 100644 index 0000000000..5e303c1931 --- /dev/null +++ b/docs-chef-io/data/knife/knife_group_destroy.yaml @@ -0,0 +1,2 @@ +--- +banner: knife group destroy GROUP_NAME diff --git a/docs-chef-io/data/knife/knife_group_list.yaml b/docs-chef-io/data/knife/knife_group_list.yaml new file mode 100644 index 0000000000..6d202d273b --- /dev/null +++ b/docs-chef-io/data/knife/knife_group_list.yaml @@ -0,0 +1,2 @@ +--- +banner: knife group list diff --git a/docs-chef-io/data/knife/knife_group_remove.yaml b/docs-chef-io/data/knife/knife_group_remove.yaml new file mode 100644 index 0000000000..d1767f2819 --- /dev/null +++ b/docs-chef-io/data/knife/knife_group_remove.yaml @@ -0,0 +1,2 @@ +--- +banner: knife group remove MEMBER_TYPE MEMBER_NAME GROUP_NAME diff --git a/docs-chef-io/data/knife/knife_group_show.yaml b/docs-chef-io/data/knife/knife_group_show.yaml new file mode 100644 index 0000000000..8d9420823c --- /dev/null +++ b/docs-chef-io/data/knife/knife_group_show.yaml @@ -0,0 +1,2 @@ +--- +banner: knife group show GROUP_NAME diff --git a/docs-chef-io/data/knife/knife_list.yaml b/docs-chef-io/data/knife/knife_list.yaml new file mode 100644 index 0000000000..b0c1ae2f32 --- /dev/null +++ b/docs-chef-io/data/knife/knife_list.yaml @@ -0,0 +1,39 @@ +--- +banner: knife list [-dfR1p] [PATTERN1 ... PATTERNn] (options) +bare_directories: + short: "-d" + boolean: true + description: When directories match the pattern, do not show the directories' children. +chef_repo_path: + long: "--chef-repo-path PATH" + description: Overrides the location of Chef Infra Client repo. Default is specified + by chef_repo_path in the config +concurrency: + long: "--concurrency THREADS" + description: 'Maximum number of simultaneous requests to send (default: 10)' +flat: + short: "-f" + long: "--flat" + boolean: true + description: Show a list of filenames rather than the prettified ls-like output + normally produced. +local: + long: "--local" + boolean: true + description: List local directory instead of remote. +one_column: + short: "-1" + boolean: true + description: Show only one column of results. +recursive: + short: "-R" + boolean: true + description: List directories recursively. +repo_mode: + long: "--repo-mode MODE" + description: 'Specifies the local repository layout. Values: static, everything, + hosted_everything. Default: everything/hosted_everything' +trailing_slashes: + short: "-p" + boolean: true + description: Show trailing slashes after directories. diff --git a/docs-chef-io/data/knife/knife_node_bulk_delete.yaml b/docs-chef-io/data/knife/knife_node_bulk_delete.yaml new file mode 100644 index 0000000000..fe86474847 --- /dev/null +++ b/docs-chef-io/data/knife/knife_node_bulk_delete.yaml @@ -0,0 +1,2 @@ +--- +banner: knife node bulk delete REGEX (options) diff --git a/docs-chef-io/data/knife/knife_node_create.yaml b/docs-chef-io/data/knife/knife_node_create.yaml new file mode 100644 index 0000000000..a69a4b0f98 --- /dev/null +++ b/docs-chef-io/data/knife/knife_node_create.yaml @@ -0,0 +1,2 @@ +--- +banner: knife node create NODE (options) diff --git a/docs-chef-io/data/knife/knife_node_delete.yaml b/docs-chef-io/data/knife/knife_node_delete.yaml new file mode 100644 index 0000000000..ce415768dd --- /dev/null +++ b/docs-chef-io/data/knife/knife_node_delete.yaml @@ -0,0 +1,2 @@ +--- +banner: knife node delete [NODE [NODE]] (options) diff --git a/docs-chef-io/data/knife/knife_node_edit.yaml b/docs-chef-io/data/knife/knife_node_edit.yaml new file mode 100644 index 0000000000..677c82771f --- /dev/null +++ b/docs-chef-io/data/knife/knife_node_edit.yaml @@ -0,0 +1,7 @@ +--- +banner: knife node edit NODE (options) +all_attributes: + short: "-a" + long: "--all" + boolean: true + description: Display all attributes when editing. diff --git a/docs-chef-io/data/knife/knife_node_environment_set.yaml b/docs-chef-io/data/knife/knife_node_environment_set.yaml new file mode 100644 index 0000000000..3fe28ddeaf --- /dev/null +++ b/docs-chef-io/data/knife/knife_node_environment_set.yaml @@ -0,0 +1,2 @@ +--- +banner: knife node environment set NODE ENVIRONMENT diff --git a/docs-chef-io/data/knife/knife_node_from_file.yaml b/docs-chef-io/data/knife/knife_node_from_file.yaml new file mode 100644 index 0000000000..6b5e045a68 --- /dev/null +++ b/docs-chef-io/data/knife/knife_node_from_file.yaml @@ -0,0 +1,2 @@ +--- +banner: knife node from file FILE (options) diff --git a/docs-chef-io/data/knife/knife_node_list.yaml b/docs-chef-io/data/knife/knife_node_list.yaml new file mode 100644 index 0000000000..08453b1863 --- /dev/null +++ b/docs-chef-io/data/knife/knife_node_list.yaml @@ -0,0 +1,6 @@ +--- +banner: knife node list (options) +with_uri: + short: "-w" + long: "--with-uri" + description: Show corresponding URIs. diff --git a/docs-chef-io/data/knife/knife_node_policy_set.yaml b/docs-chef-io/data/knife/knife_node_policy_set.yaml new file mode 100644 index 0000000000..2ed76ec771 --- /dev/null +++ b/docs-chef-io/data/knife/knife_node_policy_set.yaml @@ -0,0 +1,2 @@ +--- +banner: knife node policy set NODE POLICY_GROUP POLICY_NAME (options) diff --git a/docs-chef-io/data/knife/knife_node_run_list_add.yaml b/docs-chef-io/data/knife/knife_node_run_list_add.yaml new file mode 100644 index 0000000000..fb1c074d25 --- /dev/null +++ b/docs-chef-io/data/knife/knife_node_run_list_add.yaml @@ -0,0 +1,10 @@ +--- +banner: knife node run_list add [NODE] [ENTRY [ENTRY]] (options) +after: + short: "-a ITEM" + long: "--after ITEM" + description: Place the ENTRY in the run list after ITEM. +before: + short: "-b ITEM" + long: "--before ITEM" + description: Place the ENTRY in the run list before ITEM. diff --git a/docs-chef-io/data/knife/knife_node_run_list_remove.yaml b/docs-chef-io/data/knife/knife_node_run_list_remove.yaml new file mode 100644 index 0000000000..a32d8e8ff0 --- /dev/null +++ b/docs-chef-io/data/knife/knife_node_run_list_remove.yaml @@ -0,0 +1,2 @@ +--- +banner: knife node run_list remove [NODE] [ENTRY [ENTRY]] (options) diff --git a/docs-chef-io/data/knife/knife_node_run_list_set.yaml b/docs-chef-io/data/knife/knife_node_run_list_set.yaml new file mode 100644 index 0000000000..80a6e94ce9 --- /dev/null +++ b/docs-chef-io/data/knife/knife_node_run_list_set.yaml @@ -0,0 +1,2 @@ +--- +banner: knife node run_list set NODE ENTRIES (options) diff --git a/docs-chef-io/data/knife/knife_node_show.yaml b/docs-chef-io/data/knife/knife_node_show.yaml new file mode 100644 index 0000000000..6c7a246c31 --- /dev/null +++ b/docs-chef-io/data/knife/knife_node_show.yaml @@ -0,0 +1,32 @@ +--- +banner: knife node show NODE (options) +attribute: + short: "-a ATTR1 [-a ATTR2]" + long: "--attribute ATTR1 [--attribute ATTR2] " + description: Show one or more attributes + proc: !ruby/object:Proc {} +environment: + short: "-E" + long: "--environment" + description: Show only the Chef Infra Client environment. +field_separator: + short: "-S SEPARATOR" + long: "--field-separator SEPARATOR" + description: Character separator used to delineate nesting in --attribute filters + (default ".") +long_output: + short: "-l" + long: "--long" + boolean: true + default: false + description: Include all attributes in the output +medium_output: + short: "-m" + long: "--medium" + boolean: true + default: false + description: Include normal attributes in the output +run_list: + short: "-r" + long: "--run-list" + description: Show only the run list. diff --git a/docs-chef-io/data/knife/knife_null.yaml b/docs-chef-io/data/knife/knife_null.yaml new file mode 100644 index 0000000000..a677448805 --- /dev/null +++ b/docs-chef-io/data/knife/knife_null.yaml @@ -0,0 +1,2 @@ +--- +banner: knife null diff --git a/docs-chef-io/data/knife/knife_org_create.yaml b/docs-chef-io/data/knife/knife_org_create.yaml new file mode 100644 index 0000000000..3b32ea0ca1 --- /dev/null +++ b/docs-chef-io/data/knife/knife_org_create.yaml @@ -0,0 +1,10 @@ +--- +banner: knife org create ORG_SHORT_NAME ORG_FULL_NAME (options) +association_user: + long: "--association_user USERNAME" + short: "-a USERNAME" + description: Invite USERNAME to the new organization after creation +filename: + long: "--filename FILENAME" + short: "-f FILENAME" + description: Write validator private key to FILENAME rather than STDOUT diff --git a/docs-chef-io/data/knife/knife_org_delete.yaml b/docs-chef-io/data/knife/knife_org_delete.yaml new file mode 100644 index 0000000000..945b8b66ba --- /dev/null +++ b/docs-chef-io/data/knife/knife_org_delete.yaml @@ -0,0 +1,2 @@ +--- +banner: knife org delete ORG_NAME diff --git a/docs-chef-io/data/knife/knife_org_edit.yaml b/docs-chef-io/data/knife/knife_org_edit.yaml new file mode 100644 index 0000000000..559335f5e9 --- /dev/null +++ b/docs-chef-io/data/knife/knife_org_edit.yaml @@ -0,0 +1,2 @@ +--- +banner: knife org edit ORG diff --git a/docs-chef-io/data/knife/knife_org_list.yaml b/docs-chef-io/data/knife/knife_org_list.yaml new file mode 100644 index 0000000000..05a63039cc --- /dev/null +++ b/docs-chef-io/data/knife/knife_org_list.yaml @@ -0,0 +1,10 @@ +--- +banner: knife org list +all_orgs: + long: "--all-orgs" + short: "-a" + description: Show auto-generated hidden orgs in output +with_uri: + long: "--with-uri" + short: "-w" + description: Show corresponding URIs diff --git a/docs-chef-io/data/knife/knife_org_show.yaml b/docs-chef-io/data/knife/knife_org_show.yaml new file mode 100644 index 0000000000..6aa097d1bf --- /dev/null +++ b/docs-chef-io/data/knife/knife_org_show.yaml @@ -0,0 +1,2 @@ +--- +banner: knife org show ORGNAME diff --git a/docs-chef-io/data/knife/knife_org_user_add.yaml b/docs-chef-io/data/knife/knife_org_user_add.yaml new file mode 100644 index 0000000000..443f6920ef --- /dev/null +++ b/docs-chef-io/data/knife/knife_org_user_add.yaml @@ -0,0 +1,6 @@ +--- +banner: knife org user add ORG_NAME USER_NAME +admin: + long: "--admin" + short: "-a" + description: Add user to admin group diff --git a/docs-chef-io/data/knife/knife_org_user_remove.yaml b/docs-chef-io/data/knife/knife_org_user_remove.yaml new file mode 100644 index 0000000000..544e5bd2d9 --- /dev/null +++ b/docs-chef-io/data/knife/knife_org_user_remove.yaml @@ -0,0 +1,7 @@ +--- +banner: knife org user remove ORG_NAME USER_NAME +force_remove_from_admins: + long: "--force" + short: "-f" + description: Force removal of user from the organization's admins and billing-admins + group. diff --git a/docs-chef-io/data/knife/knife_raw.yaml b/docs-chef-io/data/knife/knife_raw.yaml new file mode 100644 index 0000000000..edfc1af4a7 --- /dev/null +++ b/docs-chef-io/data/knife/knife_raw.yaml @@ -0,0 +1,21 @@ +--- +banner: knife raw REQUEST_PATH (options) +input: + long: "--input FILE" + short: "-i FILE" + description: Name of file to use for PUT or POST. +method: + long: "--method METHOD" + short: "-m METHOD" + default: GET + description: 'Request method (GET, POST, PUT or DELETE). Default: GET.' +pretty: + long: "--[no-]pretty" + boolean: true + default: true + description: 'Pretty-print JSON output. Default: true.' +proxy_auth: + long: "--proxy-auth" + boolean: true + default: false + description: Use webui proxy authentication. Client key must be the webui key. diff --git a/docs-chef-io/data/knife/knife_recipe_list.yaml b/docs-chef-io/data/knife/knife_recipe_list.yaml new file mode 100644 index 0000000000..c43b63d15f --- /dev/null +++ b/docs-chef-io/data/knife/knife_recipe_list.yaml @@ -0,0 +1,2 @@ +--- +banner: knife recipe list [PATTERN] diff --git a/docs-chef-io/data/knife/knife_rehash.yaml b/docs-chef-io/data/knife/knife_rehash.yaml new file mode 100644 index 0000000000..474264c135 --- /dev/null +++ b/docs-chef-io/data/knife/knife_rehash.yaml @@ -0,0 +1,2 @@ +--- +banner: knife rehash diff --git a/docs-chef-io/data/knife/knife_role_bulk_delete.yaml b/docs-chef-io/data/knife/knife_role_bulk_delete.yaml new file mode 100644 index 0000000000..f58e23684f --- /dev/null +++ b/docs-chef-io/data/knife/knife_role_bulk_delete.yaml @@ -0,0 +1,2 @@ +--- +banner: knife role bulk delete REGEX (options) diff --git a/docs-chef-io/data/knife/knife_role_create.yaml b/docs-chef-io/data/knife/knife_role_create.yaml new file mode 100644 index 0000000000..4aeeb3e4ac --- /dev/null +++ b/docs-chef-io/data/knife/knife_role_create.yaml @@ -0,0 +1,6 @@ +--- +banner: knife role create ROLE (options) +description: + short: "-d DESC" + long: "--description DESC" + description: The role description. diff --git a/docs-chef-io/data/knife/knife_role_delete.yaml b/docs-chef-io/data/knife/knife_role_delete.yaml new file mode 100644 index 0000000000..4542604dce --- /dev/null +++ b/docs-chef-io/data/knife/knife_role_delete.yaml @@ -0,0 +1,2 @@ +--- +banner: knife role delete ROLE (options) diff --git a/docs-chef-io/data/knife/knife_role_edit.yaml b/docs-chef-io/data/knife/knife_role_edit.yaml new file mode 100644 index 0000000000..8f657f4b94 --- /dev/null +++ b/docs-chef-io/data/knife/knife_role_edit.yaml @@ -0,0 +1,2 @@ +--- +banner: knife role edit ROLE (options) diff --git a/docs-chef-io/data/knife/knife_role_env_run_list_add.yaml b/docs-chef-io/data/knife/knife_role_env_run_list_add.yaml new file mode 100644 index 0000000000..0cf8221aa7 --- /dev/null +++ b/docs-chef-io/data/knife/knife_role_env_run_list_add.yaml @@ -0,0 +1,6 @@ +--- +banner: knife role env_run_list add [ROLE] [ENVIRONMENT] [ENTRY [ENTRY]] (options) +after: + short: "-a ITEM" + long: "--after ITEM" + description: Place the ENTRY in the run list after ITEM. diff --git a/docs-chef-io/data/knife/knife_role_env_run_list_clear.yaml b/docs-chef-io/data/knife/knife_role_env_run_list_clear.yaml new file mode 100644 index 0000000000..5bb4dd082b --- /dev/null +++ b/docs-chef-io/data/knife/knife_role_env_run_list_clear.yaml @@ -0,0 +1,2 @@ +--- +banner: knife role env_run_list clear [ROLE] [ENVIRONMENT] (options) diff --git a/docs-chef-io/data/knife/knife_role_env_run_list_remove.yaml b/docs-chef-io/data/knife/knife_role_env_run_list_remove.yaml new file mode 100644 index 0000000000..943bdf937b --- /dev/null +++ b/docs-chef-io/data/knife/knife_role_env_run_list_remove.yaml @@ -0,0 +1,2 @@ +--- +banner: knife role env_run_list remove [ROLE] [ENVIRONMENT] [ENTRIES] (options) diff --git a/docs-chef-io/data/knife/knife_role_env_run_list_replace.yaml b/docs-chef-io/data/knife/knife_role_env_run_list_replace.yaml new file mode 100644 index 0000000000..e19106bfab --- /dev/null +++ b/docs-chef-io/data/knife/knife_role_env_run_list_replace.yaml @@ -0,0 +1,3 @@ +--- +banner: knife role env_run_list replace [ROLE] [ENVIRONMENT] [OLD_ENTRY] [NEW_ENTRY] + (options) diff --git a/docs-chef-io/data/knife/knife_role_env_run_list_set.yaml b/docs-chef-io/data/knife/knife_role_env_run_list_set.yaml new file mode 100644 index 0000000000..ea67c8967a --- /dev/null +++ b/docs-chef-io/data/knife/knife_role_env_run_list_set.yaml @@ -0,0 +1,2 @@ +--- +banner: knife role env_run_list set [ROLE] [ENVIRONMENT] [ENTRIES] (options) diff --git a/docs-chef-io/data/knife/knife_role_from_file.yaml b/docs-chef-io/data/knife/knife_role_from_file.yaml new file mode 100644 index 0000000000..3d7d881d07 --- /dev/null +++ b/docs-chef-io/data/knife/knife_role_from_file.yaml @@ -0,0 +1,2 @@ +--- +banner: knife role from file FILE [FILE..] (options) diff --git a/docs-chef-io/data/knife/knife_role_list.yaml b/docs-chef-io/data/knife/knife_role_list.yaml new file mode 100644 index 0000000000..4784a969c2 --- /dev/null +++ b/docs-chef-io/data/knife/knife_role_list.yaml @@ -0,0 +1,6 @@ +--- +banner: knife role list (options) +with_uri: + short: "-w" + long: "--with-uri" + description: Show corresponding URIs. diff --git a/docs-chef-io/data/knife/knife_role_run_list_add.yaml b/docs-chef-io/data/knife/knife_role_run_list_add.yaml new file mode 100644 index 0000000000..55526e0d3a --- /dev/null +++ b/docs-chef-io/data/knife/knife_role_run_list_add.yaml @@ -0,0 +1,6 @@ +--- +banner: knife role run_list add [ROLE] [ENTRY [ENTRY]] (options) +after: + short: "-a ITEM" + long: "--after ITEM" + description: Place the ENTRY in the run list after ITEM. diff --git a/docs-chef-io/data/knife/knife_role_run_list_clear.yaml b/docs-chef-io/data/knife/knife_role_run_list_clear.yaml new file mode 100644 index 0000000000..3c9b8c6642 --- /dev/null +++ b/docs-chef-io/data/knife/knife_role_run_list_clear.yaml @@ -0,0 +1,2 @@ +--- +banner: knife role run_list clear [ROLE] (options) diff --git a/docs-chef-io/data/knife/knife_role_run_list_remove.yaml b/docs-chef-io/data/knife/knife_role_run_list_remove.yaml new file mode 100644 index 0000000000..da47d7383b --- /dev/null +++ b/docs-chef-io/data/knife/knife_role_run_list_remove.yaml @@ -0,0 +1,2 @@ +--- +banner: knife role run_list remove [ROLE] [ENTRY] (options) diff --git a/docs-chef-io/data/knife/knife_role_run_list_replace.yaml b/docs-chef-io/data/knife/knife_role_run_list_replace.yaml new file mode 100644 index 0000000000..aa8b061f88 --- /dev/null +++ b/docs-chef-io/data/knife/knife_role_run_list_replace.yaml @@ -0,0 +1,2 @@ +--- +banner: knife role run_list replace [ROLE] [OLD_ENTRY] [NEW_ENTRY] (options) diff --git a/docs-chef-io/data/knife/knife_role_run_list_set.yaml b/docs-chef-io/data/knife/knife_role_run_list_set.yaml new file mode 100644 index 0000000000..887022aa13 --- /dev/null +++ b/docs-chef-io/data/knife/knife_role_run_list_set.yaml @@ -0,0 +1,2 @@ +--- +banner: knife role run_list set [ROLE] [ENTRIES] (options) diff --git a/docs-chef-io/data/knife/knife_role_show.yaml b/docs-chef-io/data/knife/knife_role_show.yaml new file mode 100644 index 0000000000..b5fc2664ae --- /dev/null +++ b/docs-chef-io/data/knife/knife_role_show.yaml @@ -0,0 +1,12 @@ +--- +banner: knife role show ROLE (options) +attribute: + short: "-a ATTR1 [-a ATTR2]" + long: "--attribute ATTR1 [--attribute ATTR2] " + description: Show one or more attributes + proc: !ruby/object:Proc {} +field_separator: + short: "-S SEPARATOR" + long: "--field-separator SEPARATOR" + description: Character separator used to delineate nesting in --attribute filters + (default ".") diff --git a/docs-chef-io/data/knife/knife_search.yaml b/docs-chef-io/data/knife/knife_search.yaml new file mode 100644 index 0000000000..649f4eb6ad --- /dev/null +++ b/docs-chef-io/data/knife/knife_search.yaml @@ -0,0 +1,53 @@ +--- +banner: knife search INDEX QUERY (options) +attribute: + short: "-a ATTR1 [-a ATTR2]" + long: "--attribute ATTR1 [--attribute ATTR2] " + description: Show one or more attributes + proc: !ruby/object:Proc {} +field_separator: + short: "-S SEPARATOR" + long: "--field-separator SEPARATOR" + description: Character separator used to delineate nesting in --attribute filters + (default ".") +filter_result: + short: "-f FILTER" + long: "--filter-result FILTER" + description: 'Only return specific attributes of the matching objects; for example: + "ServerName=name, Kernel=kernel.version".' +id_only: + short: "-i" + long: "--id-only" + description: Show only the ID of matching objects. +long_output: + short: "-l" + long: "--long" + boolean: true + default: false + description: Include all attributes in the output +medium_output: + short: "-m" + long: "--medium" + boolean: true + default: false + description: Include normal attributes in the output +query: + short: "-q QUERY" + long: "--query QUERY" + description: The search query; useful to protect queries starting with -. +rows: + short: "-R INT" + long: "--rows INT" + description: The number of rows to return. + default: + proc: !ruby/object:Proc {} +run_list: + short: "-r" + long: "--run-list" + description: Show only the run list. +start: + short: "-b ROW" + long: "--start ROW" + description: The row to start returning results at. + default: 0 + proc: !ruby/object:Proc {} diff --git a/docs-chef-io/data/knife/knife_serve.yaml b/docs-chef-io/data/knife/knife_serve.yaml new file mode 100644 index 0000000000..924119e00c --- /dev/null +++ b/docs-chef-io/data/knife/knife_serve.yaml @@ -0,0 +1,14 @@ +--- +banner: knife serve (options) +chef_repo_path: + long: "--chef-repo-path PATH" + description: Overrides the location of Chef Infra Client repo. Default is specified + by chef_repo_path in the config. +chef_zero_host: + long: "--chef-zero-host IP" + description: Overrides the host upon which Chef Infra Zero listens. Default is 127.0.0.1. +repo_mode: + long: "--repo-mode MODE" + description: 'Specifies the local repository layout. Values: static (only environments/roles/data_bags/cookbooks), + everything (includes nodes/clients/users), hosted_everything (includes acls/groups/etc. + for Enterprise/Hosted Chef). Default: everything/hosted_everything.' diff --git a/docs-chef-io/data/knife/knife_show.yaml b/docs-chef-io/data/knife/knife_show.yaml new file mode 100644 index 0000000000..f9b064df77 --- /dev/null +++ b/docs-chef-io/data/knife/knife_show.yaml @@ -0,0 +1,17 @@ +--- +banner: knife show [PATTERN1 ... PATTERNn] (options) +chef_repo_path: + long: "--chef-repo-path PATH" + description: Overrides the location of Chef Infra Client repo. Default is specified + by chef_repo_path in the config +concurrency: + long: "--concurrency THREADS" + description: 'Maximum number of simultaneous requests to send (default: 10)' +local: + long: "--local" + boolean: true + description: Show local files instead of remote. +repo_mode: + long: "--repo-mode MODE" + description: 'Specifies the local repository layout. Values: static, everything, + hosted_everything. Default: everything/hosted_everything' diff --git a/docs-chef-io/data/knife/knife_ssh.yaml b/docs-chef-io/data/knife/knife_ssh.yaml new file mode 100644 index 0000000000..7eb630d782 --- /dev/null +++ b/docs-chef-io/data/knife/knife_ssh.yaml @@ -0,0 +1,92 @@ +--- +banner: knife ssh QUERY COMMAND (options) +concurrency: + short: "-C NUM" + long: "--concurrency NUM" + description: The number of concurrent connections. + default: + proc: !ruby/object:Proc {} +duplicated_fqdns: + long: "--duplicated-fqdns" + description: Behavior if FQDNs are duplicated, ignored by default. + proc: !ruby/object:Proc {} + default: :ignore +forward_agent: + short: "-A" + long: "--forward-agent" + description: Enable SSH agent forwarding. + boolean: true +host_key_verify: + long: "--[no-]host-key-verify" + description: Verify host key, enabled by default. + boolean: true + default: true +manual: + short: "-m" + long: "--manual-list" + boolean: true + description: QUERY is a space separated list of servers. + default: false +on_error: + short: "-e" + long: "--exit-on-error" + description: Immediately exit if an error is encountered. + boolean: true + default: false +prefix_attribute: + long: "--prefix-attribute ATTR" + description: The attribute to use for prefixing the output - default depends on + the context. +pty: + long: "--[no-]pty" + description: Request a PTY, enabled by default. + boolean: true + default: true +require_pty: + long: "--[no-]require-pty" + description: Raise exception if a PTY cannot be acquired, disabled by default. + boolean: true + default: false +ssh_attribute: + short: "-a ATTR" + long: "--attribute ATTR" + description: The attribute to use for opening the connection - default depends on + the context. +ssh_gateway: + short: "-G GATEWAY" + long: "--ssh-gateway GATEWAY" + description: The ssh gateway. + proc: !ruby/object:Proc {} +ssh_gateway_identity: + long: "--ssh-gateway-identity SSH_GATEWAY_IDENTITY" + description: The SSH identity file used for gateway authentication. +ssh_identity_file: + short: "-i IDENTITY_FILE" + long: "--ssh-identity-file IDENTITY_FILE" + description: The SSH identity file used for authentication. +ssh_password: + short: "-P [PASSWORD]" + long: "--ssh-password [PASSWORD]" + description: The ssh password - will prompt if flag is specified but no password + is given. + default: false +ssh_port: + short: "-p PORT" + long: "--ssh-port PORT" + description: The ssh port. + proc: !ruby/object:Proc {} +ssh_timeout: + short: "-t SECONDS" + long: "--ssh-timeout SECONDS" + description: The ssh connection timeout. + proc: !ruby/object:Proc {} + default: 120 +ssh_user: + short: "-x USERNAME" + long: "--ssh-user USERNAME" + description: The ssh username. +tmux_split: + long: "--tmux-split" + description: Split tmux window. + boolean: true + default: false diff --git a/docs-chef-io/data/knife/knife_ssl_check.yaml b/docs-chef-io/data/knife/knife_ssl_check.yaml new file mode 100644 index 0000000000..b3b38fc8d1 --- /dev/null +++ b/docs-chef-io/data/knife/knife_ssl_check.yaml @@ -0,0 +1,2 @@ +--- +banner: knife ssl check [URL] (options) diff --git a/docs-chef-io/data/knife/knife_ssl_fetch.yaml b/docs-chef-io/data/knife/knife_ssl_fetch.yaml new file mode 100644 index 0000000000..ede138d247 --- /dev/null +++ b/docs-chef-io/data/knife/knife_ssl_fetch.yaml @@ -0,0 +1,2 @@ +--- +banner: knife ssl fetch [URL] (options) diff --git a/docs-chef-io/data/knife/knife_status.yaml b/docs-chef-io/data/knife/knife_status.yaml new file mode 100644 index 0000000000..e153952e75 --- /dev/null +++ b/docs-chef-io/data/knife/knife_status.yaml @@ -0,0 +1,25 @@ +--- +banner: knife status QUERY (options) +hide_by_mins: + long: "--hide-by-mins MINS" + description: Hide nodes that have run chef-client in the last MINS minutes +long_output: + short: "-l" + long: "--long" + boolean: true + default: false + description: Include all attributes in the output +medium_output: + short: "-m" + long: "--medium" + boolean: true + default: false + description: Include normal attributes in the output +run_list: + short: "-r" + long: "--run-list" + description: Show the run list +sort_reverse: + short: "-s" + long: "--sort-reverse" + description: Sort the status list by last run time descending diff --git a/docs-chef-io/data/knife/knife_supermarket_download.yaml b/docs-chef-io/data/knife/knife_supermarket_download.yaml new file mode 100644 index 0000000000..e013774078 --- /dev/null +++ b/docs-chef-io/data/knife/knife_supermarket_download.yaml @@ -0,0 +1,14 @@ +--- +banner: knife supermarket download COOKBOOK [VERSION] (options) +file: + short: "-f FILE" + long: "--file FILE" + description: The filename to write to. +force: + long: "--force" + description: Force download deprecated version. +supermarket_site: + short: "-m SUPERMARKET_SITE" + long: "--supermarket-site SUPERMARKET_SITE" + description: The URL of the Supermarket site. + default: https://supermarket.chef.io diff --git a/docs-chef-io/data/knife/knife_supermarket_install.yaml b/docs-chef-io/data/knife/knife_supermarket_install.yaml new file mode 100644 index 0000000000..96a8269d65 --- /dev/null +++ b/docs-chef-io/data/knife/knife_supermarket_install.yaml @@ -0,0 +1,29 @@ +--- +banner: knife supermarket install COOKBOOK [VERSION] (options) +cookbook_path: + short: "-o PATH:PATH" + long: "--cookbook-path PATH:PATH" + description: A colon-separated path to look for cookbooks in. + proc: !ruby/object:Proc {} +default_branch: + short: "-B BRANCH" + long: "--branch BRANCH" + description: Default branch to work with. + default: master +no_deps: + short: "-D" + long: "--skip-dependencies" + boolean: true + default: false + description: Skips automatic dependency installation. +supermarket_site: + short: "-m SUPERMARKET_SITE" + long: "--supermarket-site SUPERMARKET_SITE" + description: The URL of the Supermarket site. + default: https://supermarket.chef.io +use_current_branch: + short: "-b" + long: "--use-current-branch" + description: Use the current branch. + boolean: true + default: false diff --git a/docs-chef-io/data/knife/knife_supermarket_list.yaml b/docs-chef-io/data/knife/knife_supermarket_list.yaml new file mode 100644 index 0000000000..3a447d957c --- /dev/null +++ b/docs-chef-io/data/knife/knife_supermarket_list.yaml @@ -0,0 +1,23 @@ +--- +banner: knife supermarket list (options) +owned_by: + short: "-o USER" + long: "--owned-by USER" + description: Show cookbooks that are owned by the USER +sort_by: + long: "--sort-by SORT" + description: Use to sort the records + in: + - recently_updated + - recently_added + - most_downloaded + - most_followed +supermarket_site: + short: "-m SUPERMARKET_SITE" + long: "--supermarket-site SUPERMARKET_SITE" + description: The URL of the Supermarket site. + default: https://supermarket.chef.io +with_uri: + short: "-w" + long: "--with-uri" + description: Show corresponding URIs. diff --git a/docs-chef-io/data/knife/knife_supermarket_search.yaml b/docs-chef-io/data/knife/knife_supermarket_search.yaml new file mode 100644 index 0000000000..0f0332eee8 --- /dev/null +++ b/docs-chef-io/data/knife/knife_supermarket_search.yaml @@ -0,0 +1,7 @@ +--- +banner: knife supermarket search QUERY (options) +supermarket_site: + short: "-m SUPERMARKET_SITE" + long: "--supermarket-site SUPERMARKET_SITE" + description: The URL of the Supermarket site. + default: https://supermarket.chef.io diff --git a/docs-chef-io/data/knife/knife_supermarket_share.yaml b/docs-chef-io/data/knife/knife_supermarket_share.yaml new file mode 100644 index 0000000000..a72e91709c --- /dev/null +++ b/docs-chef-io/data/knife/knife_supermarket_share.yaml @@ -0,0 +1,18 @@ +--- +banner: knife supermarket share COOKBOOK [CATEGORY] (options) +cookbook_path: + short: "-o PATH:PATH" + long: "--cookbook-path PATH:PATH" + description: A colon-separated path to look for cookbooks in. + proc: !ruby/object:Proc {} +dry_run: + long: "--dry-run" + short: "-n" + boolean: true + default: false + description: Don't take action, only print what files will be uploaded to Supermarket. +supermarket_site: + short: "-m SUPERMARKET_SITE" + long: "--supermarket-site SUPERMARKET_SITE" + description: The URL of the Supermarket site. + default: https://supermarket.chef.io diff --git a/docs-chef-io/data/knife/knife_supermarket_show.yaml b/docs-chef-io/data/knife/knife_supermarket_show.yaml new file mode 100644 index 0000000000..4f2192ce48 --- /dev/null +++ b/docs-chef-io/data/knife/knife_supermarket_show.yaml @@ -0,0 +1,7 @@ +--- +banner: knife supermarket show COOKBOOK [VERSION] (options) +supermarket_site: + short: "-m SUPERMARKET_SITE" + long: "--supermarket-site SUPERMARKET_SITE" + description: The URL of the Supermarket site. + default: https://supermarket.chef.io diff --git a/docs-chef-io/data/knife/knife_supermarket_unshare.yaml b/docs-chef-io/data/knife/knife_supermarket_unshare.yaml new file mode 100644 index 0000000000..9220182d97 --- /dev/null +++ b/docs-chef-io/data/knife/knife_supermarket_unshare.yaml @@ -0,0 +1,7 @@ +--- +banner: knife supermarket unshare COOKBOOK +supermarket_site: + short: "-m SUPERMARKET_SITE" + long: "--supermarket-site SUPERMARKET_SITE" + description: The URL of the Supermarket site. + default: https://supermarket.chef.io diff --git a/docs-chef-io/data/knife/knife_tag_create.yaml b/docs-chef-io/data/knife/knife_tag_create.yaml new file mode 100644 index 0000000000..44e1611992 --- /dev/null +++ b/docs-chef-io/data/knife/knife_tag_create.yaml @@ -0,0 +1,2 @@ +--- +banner: knife tag create NODE TAG ... diff --git a/docs-chef-io/data/knife/knife_tag_delete.yaml b/docs-chef-io/data/knife/knife_tag_delete.yaml new file mode 100644 index 0000000000..d70c4e15a3 --- /dev/null +++ b/docs-chef-io/data/knife/knife_tag_delete.yaml @@ -0,0 +1,2 @@ +--- +banner: knife tag delete NODE TAG ... diff --git a/docs-chef-io/data/knife/knife_tag_list.yaml b/docs-chef-io/data/knife/knife_tag_list.yaml new file mode 100644 index 0000000000..7b6ea07fb0 --- /dev/null +++ b/docs-chef-io/data/knife/knife_tag_list.yaml @@ -0,0 +1,2 @@ +--- +banner: knife tag list NODE diff --git a/docs-chef-io/data/knife/knife_upload.yaml b/docs-chef-io/data/knife/knife_upload.yaml new file mode 100644 index 0000000000..42c0acd883 --- /dev/null +++ b/docs-chef-io/data/knife/knife_upload.yaml @@ -0,0 +1,46 @@ +--- +banner: knife upload PATTERNS (options) +chef_repo_path: + long: "--chef-repo-path PATH" + description: Overrides the location of Chef Infra Client repo. Default is specified + by chef_repo_path in the config +concurrency: + long: "--concurrency THREADS" + description: 'Maximum number of simultaneous requests to send (default: 10)' +diff: + long: "--[no-]diff" + boolean: true + default: true + description: Turn off to avoid uploading existing files; only new (and possibly + deleted) files with --no-diff. +dry_run: + long: "--dry-run" + short: "-n" + boolean: true + default: false + description: Don't take action, only print what would happen. +force: + long: "--[no-]force" + boolean: true + default: false + description: Force upload of files even if they match (quicker for many files). + Will overwrite frozen cookbooks. +freeze: + long: "--[no-]freeze" + boolean: true + default: false + description: Freeze cookbooks that get uploaded. +purge: + long: "--[no-]purge" + boolean: true + default: false + description: Delete matching local files and directories that do not exist remotely. +recurse: + long: "--[no-]recurse" + boolean: true + default: true + description: List directories recursively. +repo_mode: + long: "--repo-mode MODE" + description: 'Specifies the local repository layout. Values: static, everything, + hosted_everything. Default: everything/hosted_everything' diff --git a/docs-chef-io/data/knife/knife_user_create.yaml b/docs-chef-io/data/knife/knife_user_create.yaml new file mode 100644 index 0000000000..6e977ecdf3 --- /dev/null +++ b/docs-chef-io/data/knife/knife_user_create.yaml @@ -0,0 +1,36 @@ +--- +banner: knife user create USERNAME --email EMAIL --password PASSWORD (options) +email: + long: "--email EMAIL" + description: Email for the user +file: + short: "-f FILE" + long: "--file FILE" + description: Write the private key to a file if the server generated one. +first_name: + long: "--first-name FIRST_NAME" + description: First name for the user +last_name: + long: "--last-name LAST_NAME" + description: Last name for the user +orgname: + long: "--orgname ORGNAME" + short: "-o ORGNAME" + description: Associate new user to an organization matching ORGNAME +password: + long: "--password PASSWORD" + description: Password for the user +passwordprompt: + long: "--prompt-for-password" + short: "-p" + description: Prompt for user password +prevent_keygen: + short: "-k" + long: "--prevent-keygen" + description: API V1 (Chef Infra Server 12.1+) only. Prevent server from generating + a default key pair for you. Cannot be passed with --user-key. + boolean: true +user_key: + long: "--user-key FILENAME" + description: Set the initial default key for the user from a file on disk (cannot + pass with --prevent-keygen). diff --git a/docs-chef-io/data/knife/knife_user_delete.yaml b/docs-chef-io/data/knife/knife_user_delete.yaml new file mode 100644 index 0000000000..bcdb7370ae --- /dev/null +++ b/docs-chef-io/data/knife/knife_user_delete.yaml @@ -0,0 +1,11 @@ +--- +banner: knife user delete USER (options) +no_disassociate_user: + long: "--no-disassociate-user" + short: "-d" + description: Don't disassociate the user first +remove_from_admin_groups: + long: "--remove-from-admin-groups" + short: "-R" + description: If the user is a member of any org admin groups, attempt to remove + from those groups. Ignored if --no-disassociate-user is set. diff --git a/docs-chef-io/data/knife/knife_user_dissociate.yaml b/docs-chef-io/data/knife/knife_user_dissociate.yaml new file mode 100644 index 0000000000..7fdacc94e1 --- /dev/null +++ b/docs-chef-io/data/knife/knife_user_dissociate.yaml @@ -0,0 +1,2 @@ +--- +banner: knife user dissociate USERNAMES diff --git a/docs-chef-io/data/knife/knife_user_edit.yaml b/docs-chef-io/data/knife/knife_user_edit.yaml new file mode 100644 index 0000000000..4a2e20eb74 --- /dev/null +++ b/docs-chef-io/data/knife/knife_user_edit.yaml @@ -0,0 +1,10 @@ +--- +banner: knife user edit USER (options) +filename: + long: "--filename FILENAME" + short: "-f FILENAME" + description: Write private key to FILENAME rather than STDOUT +input: + long: "--input FILENAME" + short: "-i FILENAME" + description: Name of file to use for PUT or POST diff --git a/docs-chef-io/data/knife/knife_user_invite_add.yaml b/docs-chef-io/data/knife/knife_user_invite_add.yaml new file mode 100644 index 0000000000..17e0f9e2f3 --- /dev/null +++ b/docs-chef-io/data/knife/knife_user_invite_add.yaml @@ -0,0 +1,2 @@ +--- +banner: knife user invite add USERNAMES diff --git a/docs-chef-io/data/knife/knife_user_invite_list.yaml b/docs-chef-io/data/knife/knife_user_invite_list.yaml new file mode 100644 index 0000000000..0412a2e6d5 --- /dev/null +++ b/docs-chef-io/data/knife/knife_user_invite_list.yaml @@ -0,0 +1,2 @@ +--- +banner: knife user invite list diff --git a/docs-chef-io/data/knife/knife_user_invite_rescind.yaml b/docs-chef-io/data/knife/knife_user_invite_rescind.yaml new file mode 100644 index 0000000000..01c9c0e6c0 --- /dev/null +++ b/docs-chef-io/data/knife/knife_user_invite_rescind.yaml @@ -0,0 +1,6 @@ +--- +banner: knife user invite rescind [USERNAMES] (options) +all: + short: "-a" + long: "--all" + description: Rescind all invites! diff --git a/docs-chef-io/data/knife/knife_user_key_create.yaml b/docs-chef-io/data/knife/knife_user_key_create.yaml new file mode 100644 index 0000000000..b4026af434 --- /dev/null +++ b/docs-chef-io/data/knife/knife_user_key_create.yaml @@ -0,0 +1,23 @@ +--- +banner: knife user key create USER (options) +expiration_date: + short: "-e DATE" + long: "--expiration-date DATE" + description: 'Optionally pass the expiration date for the key in ISO 8601 formatted + string: YYYY-MM-DDTHH:MM:SSZ e.g. 2013-12-24T21:00:00Z. Defaults to infinity if + not passed. UTC timezone assumed.' +file: + short: "-f FILE" + long: "--file FILE" + description: Write the private key to a file, if you requested the server to create + one. +key_name: + short: "-k NAME" + long: "--key-name NAME" + description: The name for your key. If you do not pass a name, you must pass --public-key, + and the name will default to the fingerprint of the public key passed. +public_key: + short: "-p FILENAME" + long: "--public-key FILENAME" + description: Public key for newly created key. If not passed, the server will create + a key pair for you, but you must pass --key-name NAME in that case. diff --git a/docs-chef-io/data/knife/knife_user_key_delete.yaml b/docs-chef-io/data/knife/knife_user_key_delete.yaml new file mode 100644 index 0000000000..2b5c4a29ea --- /dev/null +++ b/docs-chef-io/data/knife/knife_user_key_delete.yaml @@ -0,0 +1,2 @@ +--- +banner: knife user key delete USER KEYNAME (options) diff --git a/docs-chef-io/data/knife/knife_user_key_edit.yaml b/docs-chef-io/data/knife/knife_user_key_edit.yaml new file mode 100644 index 0000000000..9643f5d410 --- /dev/null +++ b/docs-chef-io/data/knife/knife_user_key_edit.yaml @@ -0,0 +1,28 @@ +--- +banner: knife user key edit USER KEYNAME (options) +create_key: + short: "-c" + long: "--create-key" + description: Replace the public_key field with a key generated by the server. The + private key will be returned. +expiration_date: + short: "-e DATE" + long: "--expiration-date DATE" + description: 'Updates the expiration_date field of your key if passed. Pass in ISO + 8601 formatted string: YYYY-MM-DDTHH:MM:SSZ e.g. 2013-12-24T21:00:00Z or infinity. + UTC timezone assumed.' +file: + short: "-f FILE" + long: "--file FILE" + description: Write the private key to a file, if you requested the server to create + one via --create-key. +key_name: + short: "-k NAME" + long: "--key-name NAME" + description: The new name for your key. Pass if you wish to update the name field + of your key. +public_key: + short: "-p FILENAME" + long: "--public-key FILENAME" + description: Replace the public_key field from a file on disk. If not passed, the + public_key field will not change. diff --git a/docs-chef-io/data/knife/knife_user_key_list.yaml b/docs-chef-io/data/knife/knife_user_key_list.yaml new file mode 100644 index 0000000000..a30445e93a --- /dev/null +++ b/docs-chef-io/data/knife/knife_user_key_list.yaml @@ -0,0 +1,14 @@ +--- +banner: knife user key list USER (options) +only_expired: + short: "-e" + long: "--only-expired" + description: Only show expired keys. +only_non_expired: + short: "-n" + long: "--only-non-expired" + description: Only show non-expired keys. +with_details: + short: "-w" + long: "--with-details" + description: Show corresponding URIs and whether the key has expired or not. diff --git a/docs-chef-io/data/knife/knife_user_key_show.yaml b/docs-chef-io/data/knife/knife_user_key_show.yaml new file mode 100644 index 0000000000..8713e9c551 --- /dev/null +++ b/docs-chef-io/data/knife/knife_user_key_show.yaml @@ -0,0 +1,2 @@ +--- +banner: knife user key show USER KEYNAME (options) diff --git a/docs-chef-io/data/knife/knife_user_list.yaml b/docs-chef-io/data/knife/knife_user_list.yaml new file mode 100644 index 0000000000..82e862dc10 --- /dev/null +++ b/docs-chef-io/data/knife/knife_user_list.yaml @@ -0,0 +1,6 @@ +--- +banner: knife user list (options) +with_uri: + short: "-w" + long: "--with-uri" + description: Show corresponding URIs. diff --git a/docs-chef-io/data/knife/knife_user_password.yaml b/docs-chef-io/data/knife/knife_user_password.yaml new file mode 100644 index 0000000000..79bd4a742f --- /dev/null +++ b/docs-chef-io/data/knife/knife_user_password.yaml @@ -0,0 +1,6 @@ +--- +banner: knife user password USERNAME [PASSWORD | --enable-external-auth] +enable_external_auth: + long: "--enable-external-auth" + short: "-e" + description: Enable external authentication for this user (such as LDAP) diff --git a/docs-chef-io/data/knife/knife_user_reregister.yaml b/docs-chef-io/data/knife/knife_user_reregister.yaml new file mode 100644 index 0000000000..83da2409d7 --- /dev/null +++ b/docs-chef-io/data/knife/knife_user_reregister.yaml @@ -0,0 +1,6 @@ +--- +banner: knife user reregister USER (options) +file: + short: "-f FILE" + long: "--file FILE" + description: Write the private key to a file. diff --git a/docs-chef-io/data/knife/knife_user_show.yaml b/docs-chef-io/data/knife/knife_user_show.yaml new file mode 100644 index 0000000000..f47ef25767 --- /dev/null +++ b/docs-chef-io/data/knife/knife_user_show.yaml @@ -0,0 +1,15 @@ +--- +banner: knife user show USER (options) +attribute: + short: "-a ATTR1 [-a ATTR2]" + long: "--attribute ATTR1 [--attribute ATTR2] " + description: Show one or more attributes + proc: !ruby/object:Proc {} +field_separator: + short: "-S SEPARATOR" + long: "--field-separator SEPARATOR" + description: Character separator used to delineate nesting in --attribute filters + (default ".") +with_orgs: + long: "--with-orgs" + short: "-l" diff --git a/docs-chef-io/data/knife/knife_xargs.yaml b/docs-chef-io/data/knife/knife_xargs.yaml new file mode 100644 index 0000000000..7b9ff98146 --- /dev/null +++ b/docs-chef-io/data/knife/knife_xargs.yaml @@ -0,0 +1,65 @@ +--- +banner: knife xargs [COMMAND] (options) +chef_repo_path: + long: "--chef-repo-path PATH" + description: Overrides the location of Chef Infra Client repo. Default is specified + by chef_repo_path in the config +concurrency: + long: "--concurrency THREADS" + description: 'Maximum number of simultaneous requests to send (default: 10)' +diff: + long: "--[no-]diff" + default: true + boolean: true + description: 'Whether to show a diff when files change (default: true).' +dry_run: + long: "--dry-run" + boolean: true + description: Prevents changes from actually being uploaded to the server. +force: + long: "--[no-]force" + boolean: true + default: false + description: Force upload of files even if they are not changed (quicker and harmless, + but doesn't print out what it changed). +local: + long: "--local" + boolean: true + description: Xargs local files instead of remote. +max_arguments_per_command: + long: "--max-args MAXARGS" + short: "-n MAXARGS" + description: Maximum number of arguments per command line. +max_command_line: + long: "--max-chars LENGTH" + short: "-s LENGTH" + description: Maximum size of command line, in characters. +null_separator: + short: "-0" + boolean: true + description: "Use the NULL character (\0) as a separator, instead of whitespace." +patterns: + long: "--pattern [PATTERN]" + short: "-p [PATTERN]" + description: Pattern on command line (if these are not specified, a list of patterns + is expected on standard input). Multiple patterns may be passed in this way. + arg_arity: + - 1 + - -1 +replace_all: + long: "--replace REPLACESTR" + short: "-I REPLACESTR" + description: String to replace with filenames. -I will replace ALL occurrence of + the replacement string. +replace_first: + long: "--replace-first REPLACESTR" + short: "-J REPLACESTR" + description: String to replace with filenames. -J will only replace the FIRST occurrence + of the replacement string. +repo_mode: + long: "--repo-mode MODE" + description: 'Specifies the local repository layout. Values: static, everything, + hosted_everything. Default: everything/hosted_everything' +verbose_commands: + short: "-t" + description: Print command to be run on the command line. diff --git a/docs-chef-io/data/knife/knife_yaml_convert.yaml b/docs-chef-io/data/knife/knife_yaml_convert.yaml new file mode 100644 index 0000000000..2046ea8f18 --- /dev/null +++ b/docs-chef-io/data/knife/knife_yaml_convert.yaml @@ -0,0 +1,2 @@ +--- +banner: knife yaml convert YAML_FILENAME [RUBY_FILENAME] diff --git a/tasks/knife_docs.rb b/tasks/knife_docs.rb index 16f02cd9d9..2f00778c1f 100644 --- a/tasks/knife_docs.rb +++ b/tasks/knife_docs.rb @@ -5,10 +5,30 @@ namespace :knife_docs do task :knife do puts "Generate knife CLI docs files." - require_relative "../knife/lib/chef/application/knife" + require_relative "../knife/lib/chef/knife" + + # require everything in knife/lib/chef/knife + Dir["knife/lib/chef/knife/**/*.rb"] + .map { |f| f.gsub(/\Aknife\//, "../knife/") } + .map { |f| f.gsub(/\.rb$/, "") } + .each { |f| require_relative f } require "fileutils" require "yaml" + def output_yaml_file(filename, data) + File.open("docs-chef-io/data/knife/#{filename}", "w") { |f| f.write(YAML.dump(data)) } + end + + # delete and recreate the chef/docs-chef-io/data/knife directory + docs_data_dir = "docs-chef-io/data/knife" + docs_knife_pages_dir = 'docs-chef-io/content/workstation' + FileUtils.remove_dir docs_data_dir + FileUtils.mkdir_p docs_data_dir + + ### + ## Generate knife common options file + ### + # Get a hash of common options for all knife commands common_options = Chef::Application::Knife.options.merge @@ -19,14 +39,40 @@ namespace :knife_docs do common_options.each {|_,v| v.delete_if {|key, val| key == :proc}} # Output common_options to file - File.open("docs-chef-io/data/knife/common_options.yaml", "w") { |f| f.write(YAML.dump(common_options)) } + output_yaml_file('common_options.yaml', common_options) - def generate_knife_doc(command) - text = "" - end + ### + ## Generate data files for each knife subcommand + ### + + knife_classes = ObjectSpace.each_object(Class).select { |klass| klass < Chef::Knife } + + knife_classes.each do |klass| + + if klass.name == 'Chef::ChefFS::Knife' + next + end + + # generate filename + filename = klass.name.gsub('Chef::Knife::', 'knife_') + filename.gsub!(/([a-z])([A-Z])/,'\1_\2') + filename = filename.downcase + '.yaml' + + # get subcommand data + data = klass.options.merge + data = data.sort.to_h + data = {'banner': klass.banner}.merge(data) + + # Hugo can't handle the symbol output in keys + data.transform_keys!(&:to_s) + data.each do |key, val| + if val.class == Hash + val.transform_keys!(&:to_s) + end + end - def generate_common_options - test = "" + # output data + output_yaml_file(filename, data) end end |