Files
iris-context/commands/ops/oci.go
VERSE ebde9ba68f refactor(commands): separate commands and its core into two folders (#32)
- I think it would be better if one for commands only, one for the spec
handling core logic so people won't be confused by the core logic inside
the commands folder (cleaner I guess)
- Regen docs
2026-07-05 11:27:30 +07:00

71 lines
3.8 KiB
Go

package ops
import (
"github.com/versenilvis/iris/spec"
)
func init() {
spec.Register(&spec.Spec{
Name: "oci",
Description: "Oracle Cloud Infrastructure CLI",
Subcommands: []spec.Subcommand{
{Name: "compute", Description: "Manage Compute resources like instances and images"},
{Name: "instance", Description: "Manage Compute instances"},
{Name: "launch", Description: "Launch a new compute instance"},
{Name: "terminate", Description: "Terminate a compute instance"},
{Name: "start", Description: "Start a stopped instance"},
{Name: "stop", Description: "Stop a running instance"},
{Name: "image", Description: "Manage Custom Images"},
{Name: "list", Description: "List available compute images"},
{Name: "network", Description: "Manage Virtual Cloud Network resources"},
{Name: "vcn", Description: "Manage Virtual Cloud Networks"},
{Name: "create", Description: "Create a new VCN"},
{Name: "db", Description: "Manage Database resources"},
{Name: "autonomous-database", Description: "Manage Autonomous Databases"},
{Name: "os", Description: "Object Storage commands"},
{Name: "bucket", Description: "Manage buckets"},
{Name: "iam", Description: "Manage Identity and Access Management resources"},
{Name: "user", Description: "Manage users"},
{Name: "policy", Description: "Manage IAM policies"},
{Name: "group", Description: "Manage IAM groups"},
{Name: "compartment", Description: "Manage compartments"},
{Name: "kms", Description: "Manage Key Management resources"},
{Name: "key", Description: "Manage encryption keys"},
{Name: "monitoring", Description: "Manage Monitoring and Alerts"},
{Name: "alarm", Description: "Manage monitoring alarms"},
{Name: "budget", Description: "Manage Budgets and Cost Controls"},
},
Options: []spec.Option{
{Name: "--availability-domain", Description: "The availability domain of the instance"},
{Name: "--compartment-id", Description: "The OCID of the compartment"},
{Name: "--shape", Description: "The shape of the instance"},
{Name: "--instance-id", Description: "The OCID of the instance"},
{Name: "--cidr-block", Description: "The CIDR block of the VCN"},
{Name: "--db-name", Description: "The database name"},
{Name: "--cpu-core-count", Description: "Number of CPU cores"},
{Name: "--name", Description: "The name of the bucket"},
{Name: "--description", Description: "Description for the user"},
{Name: "--statements", Description: "Policy statements"},
{Name: "--display-name", Description: "Display name of the key"},
{Name: "--key-shape", Description: "Shape of the key"},
{Name: "--metric-compartment-id", Description: "Compartment OCID containing the metric"},
{Name: "--amount", Description: "The amount for the budget"},
{Name: "--reset-period", Description: "The reset period for the budget"},
{Name: "--help", Description: "Show help for oci"},
{Name: "--profile", Description: "The profile to load from the config file"},
{Name: "--config-file", Description: "The path to the config file"},
{Name: "--region", Description: "The region to make calls against"},
{Name: "--output", Description: "The output format"},
{Name: "--debug", Description: "Turn on debug logging"},
{Name: "--auth", Description: "The type of auth to use"},
{Name: "--key-file", Description: "The path to the private key file"},
{Name: "--wait-for-state", Description: "Wait until resource reaches a given state"},
{Name: "--wait-interval-seconds", Description: "Check interval seconds for --wait-for-state"},
{Name: "--max-wait-seconds", Description: "Maximum time to wait"},
{Name: "--raw-output", Description: "Output raw response from OCI API"},
{Name: "--output-format", Description: "The output format for commands"},
{Name: "--query", Description: "JMESPath query to filter the output"},
},
})
}