{
  "name": "oci",
  "description": "Oracle Cloud Infrastructure CLI",
  "options": [
    {
      "names": [
        "--help",
        "-h"
      ],
      "description": "Show help for oci"
    },
    {
      "names": [
        "--profile",
        "-p"
      ],
      "description": "The profile to load from the config file",
      "args": [
        {
          "name": "profile"
        }
      ]
    },
    {
      "names": [
        "--config-file"
      ],
      "description": "The path to the config file",
      "args": [
        {
          "name": "file",
          "template": "filepaths"
        }
      ]
    },
    {
      "names": [
        "--region"
      ],
      "description": "The region to make calls against",
      "args": [
        {
          "suggestions": [
            "us-ashburn-1",
            "us-phoenix-1",
            "us-chicago-1",
            "ca-montreal-1",
            "ca-toronto-1",
            "sa-saopaulo-1",
            "sa-vinhedo-1",
            "sa-santiago-1",
            "eu-frankfurt-1",
            "eu-amsterdam-1",
            "eu-zurich-1",
            "eu-madrid-1",
            "uk-london-1",
            "uk-cardiff-1",
            "ap-tokyo-1",
            "ap-osaka-1",
            "ap-seoul-1",
            "ap-sydney-1",
            "ap-melbourne-1",
            "ap-hyderabad-1",
            "ap-mumbai-1",
            "me-dubai-1"
          ]
        }
      ]
    },
    {
      "names": [
        "--output"
      ],
      "description": "The output format",
      "args": [
        {
          "suggestions": [
            "json",
            "table",
            "text"
          ]
        }
      ]
    },
    {
      "names": [
        "--debug"
      ],
      "description": "Turn on debug logging"
    },
    {
      "names": [
        "--auth"
      ],
      "description": "The type of auth to use",
      "args": [
        {
          "suggestions": [
            "api_key",
            "instance_principal",
            "resource_principal",
            "security_token",
            "raw_token"
          ]
        }
      ]
    },
    {
      "names": [
        "--key-file"
      ],
      "description": "The path to the private key file",
      "args": [
        {
          "template": "filepaths"
        }
      ]
    },
    {
      "names": [
        "--wait-for-state"
      ],
      "description": "Wait until resource reaches a given state",
      "args": [
        {
          "suggestions": [
            "ACCEPTED",
            "AVAILABLE",
            "RUNNING",
            "PROVISIONING",
            "STOPPED",
            "TERMINATED",
            "FAILED"
          ]
        }
      ]
    },
    {
      "names": [
        "--wait-interval-seconds"
      ],
      "description": "Check interval seconds for --wait-for-state",
      "args": [
        {
          "name": "seconds"
        }
      ]
    },
    {
      "names": [
        "--max-wait-seconds"
      ],
      "description": "Maximum time to wait",
      "args": [
        {
          "name": "seconds"
        }
      ]
    },
    {
      "names": [
        "--raw-output"
      ],
      "description": "Output raw response from OCI API"
    },
    {
      "names": [
        "--output-format"
      ],
      "description": "The output format for commands",
      "args": [
        {
          "suggestions": [
            "json",
            "table",
            "text"
          ]
        }
      ]
    },
    {
      "names": [
        "--query"
      ],
      "description": "JMESPath query to filter the output"
    }
  ],
  "subcommands": [
    {
      "name": "compute",
      "description": "Manage Compute resources like instances and images",
      "subcommands": [
        {
          "name": "instance",
          "description": "Manage Compute instances",
          "subcommands": [
            {
              "name": "launch",
              "description": "Launch a new compute instance",
              "options": [
                {
                  "names": [
                    "--availability-domain"
                  ],
                  "description": "The availability domain of the instance",
                  "isRequired": true
                },
                {
                  "names": [
                    "--compartment-id"
                  ],
                  "description": "The OCID of the compartment",
                  "isRequired": true
                },
                {
                  "names": [
                    "--shape"
                  ],
                  "description": "The shape of the instance",
                  "isRequired": true
                }
              ]
            },
            {
              "name": "terminate",
              "description": "Terminate a compute instance",
              "options": [
                {
                  "names": [
                    "--instance-id"
                  ],
                  "description": "The OCID of the instance",
                  "isRequired": true
                }
              ]
            },
            {
              "name": "start",
              "description": "Start a stopped instance",
              "options": [
                {
                  "names": [
                    "--instance-id"
                  ],
                  "description": "The OCID of the instance",
                  "isRequired": true
                }
              ]
            },
            {
              "name": "stop",
              "description": "Stop a running instance",
              "options": [
                {
                  "names": [
                    "--instance-id"
                  ],
                  "description": "The OCID of the instance",
                  "isRequired": true
                }
              ]
            }
          ]
        },
        {
          "name": "image",
          "description": "Manage Custom Images",
          "subcommands": [
            {
              "name": "list",
              "description": "List available compute images",
              "options": [
                {
                  "names": [
                    "--compartment-id"
                  ],
                  "description": "The OCID of the compartment",
                  "isRequired": true
                }
              ]
            }
          ]
        }
      ]
    },
    {
      "name": "network",
      "description": "Manage Virtual Cloud Network resources",
      "subcommands": [
        {
          "name": "vcn",
          "description": "Manage Virtual Cloud Networks",
          "subcommands": [
            {
              "name": "create",
              "description": "Create a new VCN",
              "options": [
                {
                  "names": [
                    "--compartment-id"
                  ],
                  "description": "The OCID of the compartment",
                  "isRequired": true
                },
                {
                  "names": [
                    "--cidr-block"
                  ],
                  "description": "The CIDR block of the VCN",
                  "isRequired": true
                }
              ]
            }
          ]
        }
      ]
    },
    {
      "name": "db",
      "description": "Manage Database resources",
      "subcommands": [
        {
          "name": "autonomous-database",
          "description": "Manage Autonomous Databases",
          "subcommands": [
            {
              "name": "create",
              "description": "Create an Autonomous Database",
              "options": [
                {
                  "names": [
                    "--compartment-id"
                  ],
                  "description": "The OCID of the compartment",
                  "isRequired": true
                },
                {
                  "names": [
                    "--db-name"
                  ],
                  "description": "The database name",
                  "isRequired": true
                },
                {
                  "names": [
                    "--cpu-core-count"
                  ],
                  "description": "Number of CPU cores",
                  "isRequired": true
                }
              ]
            }
          ]
        }
      ]
    },
    {
      "name": "os",
      "description": "Object Storage commands",
      "subcommands": [
        {
          "name": "bucket",
          "description": "Manage buckets",
          "subcommands": [
            {
              "name": "create",
              "description": "Create a new bucket",
              "options": [
                {
                  "names": [
                    "--compartment-id"
                  ],
                  "description": "The OCID of the compartment",
                  "isRequired": true
                },
                {
                  "names": [
                    "--name"
                  ],
                  "description": "The name of the bucket",
                  "isRequired": true
                }
              ]
            }
          ]
        }
      ]
    },
    {
      "name": "iam",
      "description": "Manage Identity and Access Management resources",
      "subcommands": [
        {
          "name": "user",
          "description": "Manage users",
          "subcommands": [
            {
              "name": "create",
              "description": "Create a new user",
              "options": [
                {
                  "names": [
                    "--name"
                  ],
                  "description": "Name of the user",
                  "isRequired": true
                },
                {
                  "names": [
                    "--description"
                  ],
                  "description": "Description for the user"
                }
              ]
            }
          ]
        },
        {
          "name": "policy",
          "description": "Manage IAM policies",
          "subcommands": [
            {
              "name": "create",
              "description": "Create a new policy",
              "options": [
                {
                  "names": [
                    "--name"
                  ],
                  "description": "Name of the policy",
                  "isRequired": true
                },
                {
                  "names": [
                    "--statements"
                  ],
                  "description": "Policy statements",
                  "isRequired": true
                }
              ]
            }
          ]
        },
        {
          "name": "group",
          "description": "Manage IAM groups",
          "subcommands": [
            {
              "name": "create",
              "description": "Create a new group",
              "options": [
                {
                  "names": [
                    "--name"
                  ],
                  "description": "The name of the group",
                  "isRequired": true
                },
                {
                  "names": [
                    "--description"
                  ],
                  "description": "Description for the group"
                }
              ]
            }
          ]
        },
        {
          "name": "compartment",
          "description": "Manage compartments",
          "subcommands": [
            {
              "name": "create",
              "description": "Create a new compartment",
              "options": [
                {
                  "names": [
                    "--name"
                  ],
                  "description": "The name of the compartment",
                  "isRequired": true
                },
                {
                  "names": [
                    "--description"
                  ],
                  "description": "Description for the compartment"
                }
              ]
            }
          ]
        }
      ]
    },
    {
      "name": "kms",
      "description": "Manage Key Management resources",
      "subcommands": [
        {
          "name": "key",
          "description": "Manage encryption keys",
          "subcommands": [
            {
              "name": "create",
              "description": "Create a new key",
              "options": [
                {
                  "names": [
                    "--compartment-id"
                  ],
                  "description": "The OCID of the compartment",
                  "isRequired": true
                },
                {
                  "names": [
                    "--display-name"
                  ],
                  "description": "Display name of the key",
                  "isRequired": true
                },
                {
                  "names": [
                    "--key-shape"
                  ],
                  "description": "Shape of the key",
                  "args": [
                    {
                      "suggestions": [
                        "AES",
                        "RSA",
                        "ECDSA"
                      ]
                    }
                  ]
                }
              ]
            }
          ]
        }
      ]
    },
    {
      "name": "monitoring",
      "description": "Manage Monitoring and Alerts",
      "subcommands": [
        {
          "name": "alarm",
          "description": "Manage monitoring alarms",
          "subcommands": [
            {
              "name": "create",
              "description": "Create a new alarm",
              "options": [
                {
                  "names": [
                    "--display-name"
                  ],
                  "description": "Display name of the alarm",
                  "isRequired": true
                },
                {
                  "names": [
                    "--metric-compartment-id"
                  ],
                  "description": "Compartment OCID containing the metric",
                  "isRequired": true
                }
              ]
            }
          ]
        }
      ]
    },
    {
      "name": "budget",
      "description": "Manage Budgets and Cost Controls",
      "subcommands": [
        {
          "name": "create",
          "description": "Create a new budget",
          "options": [
            {
              "names": [
                "--compartment-id"
              ],
              "description": "The OCID of the compartment",
              "isRequired": true
            },
            {
              "names": [
                "--amount"
              ],
              "description": "The amount for the budget",
              "isRequired": true
            },
            {
              "names": [
                "--reset-period"
              ],
              "description": "The reset period for the budget",
              "args": [
                {
                  "suggestions": [
                    "MONTHLY",
                    "YEARLY"
                  ]
                }
              ]
            }
          ]
        }
      ]
    }
  ]
}
