{
  "description": "Encrypt or decrypt a file with sops. Editing, key rotation, key groups, publish and key-service options are left out.",
  "name": "sops",
  "subcommands": [
    {
      "name": "decrypt",
      "description": "Decrypt a file and print it to stdout, or write it elsewhere.",
      "options": [
        {
          "names": [
            "--in-place",
            "-i"
          ],
          "description": "Decrypt in place",
          "isDangerous": true
        },
        {
          "names": [
            "--output"
          ],
          "description": "Output file",
          "args": {
            "name": "output",
            "isOptional": false,
            "template": "filepaths"
          },
          "isDangerous": true
        },
        {
          "names": [
            "--extract"
          ],
          "description": "Extract key",
          "args": {
            "name": "extract",
            "isOptional": false
          }
        },
        {
          "names": [
            "--input-type"
          ],
          "description": "Input type",
          "args": {
            "name": "input_type",
            "isOptional": false,
            "suggestions": [
              {
                "name": "json",
                "description": "JSON"
              },
              {
                "name": "yaml",
                "description": "YAML"
              },
              {
                "name": "dotenv",
                "description": "dotenv"
              },
              {
                "name": "ini",
                "description": "INI"
              },
              {
                "name": "binary",
                "description": "Binary"
              }
            ]
          }
        },
        {
          "names": [
            "--output-type"
          ],
          "description": "Output type",
          "args": {
            "name": "output_type",
            "isOptional": false,
            "suggestions": [
              {
                "name": "json",
                "description": "JSON"
              },
              {
                "name": "yaml",
                "description": "YAML"
              },
              {
                "name": "dotenv",
                "description": "dotenv"
              },
              {
                "name": "ini",
                "description": "INI"
              },
              {
                "name": "binary",
                "description": "Binary"
              }
            ]
          }
        }
      ],
      "args": [
        {
          "name": "file",
          "isOptional": true,
          "template": "filepaths"
        }
      ]
    },
    {
      "name": "encrypt",
      "description": "Encrypt a file for age, PGP or cloud KMS recipients and print it to stdout, or write it elsewhere.",
      "options": [
        {
          "names": [
            "--in-place",
            "-i"
          ],
          "description": "Encrypt in place",
          "isDangerous": true
        },
        {
          "names": [
            "--output"
          ],
          "description": "Output file",
          "args": {
            "name": "output",
            "isOptional": false,
            "template": "filepaths"
          },
          "isDangerous": true
        },
        {
          "names": [
            "--age",
            "-a"
          ],
          "description": "Comma separated list of age recipients.",
          "args": {
            "name": "age",
            "description": "Comma separated list of age recipients.",
            "isOptional": false
          }
        },
        {
          "names": [
            "--pgp",
            "-p"
          ],
          "description": "Comma separated list of PGP fingerprints.",
          "args": {
            "name": "pgp",
            "description": "Comma separated list of PGP fingerprints.",
            "isOptional": false
          }
        },
        {
          "names": [
            "--kms",
            "-k"
          ],
          "description": "Comma separated list of KMS ARNs.",
          "args": {
            "name": "kms",
            "description": "Comma separated list of KMS ARNs.",
            "isOptional": false
          }
        },
        {
          "names": [
            "--encrypted-regex"
          ],
          "description": "Encrypted key regex",
          "args": {
            "name": "encrypted_regex",
            "isOptional": false
          }
        },
        {
          "names": [
            "--unencrypted-regex"
          ],
          "description": "Unencrypted key regex",
          "args": {
            "name": "unencrypted_regex",
            "isOptional": false
          }
        },
        {
          "names": [
            "--input-type"
          ],
          "description": "Input type",
          "args": {
            "name": "input_type",
            "isOptional": false,
            "suggestions": [
              {
                "name": "json",
                "description": "JSON"
              },
              {
                "name": "yaml",
                "description": "YAML"
              },
              {
                "name": "dotenv",
                "description": "dotenv"
              },
              {
                "name": "ini",
                "description": "INI"
              },
              {
                "name": "binary",
                "description": "Binary"
              }
            ]
          }
        },
        {
          "names": [
            "--output-type"
          ],
          "description": "Output type",
          "args": {
            "name": "output_type",
            "isOptional": false,
            "suggestions": [
              {
                "name": "json",
                "description": "JSON"
              },
              {
                "name": "yaml",
                "description": "YAML"
              },
              {
                "name": "dotenv",
                "description": "dotenv"
              },
              {
                "name": "ini",
                "description": "INI"
              },
              {
                "name": "binary",
                "description": "Binary"
              }
            ]
          }
        }
      ],
      "args": [
        {
          "name": "file",
          "isOptional": true,
          "template": "filepaths"
        }
      ]
    }
  ]
}
