Files
iris-context/commands/ops/atlas.go
T
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

107 lines
7.0 KiB
Go

package ops
import (
"github.com/versenilvis/iris/spec"
)
func init() {
spec.Register(&spec.Spec{
Name: "atlas",
Description: "CLI tool to manage MongoDB Atlas",
Subcommands: []spec.Subcommand{
{Name: "config", Description: "Manage your profile to store access settings for your MongoDB deployment"},
{Name: "init", Description: "Configure a profile to store access settings for your MongoDB deployment"},
{Name: "set", Description: "Configure specific properties of a profile"},
{Name: "ls", Description: "List available profiles"},
{Name: "get", Description: "Return a specific profile"},
{Name: "mv", Description: "Rename a profile"},
{Name: "rm", Description: "Delete a profile"},
{Name: "auth", Description: "Manage the CLI's authentication state"},
{Name: "login", Description: "Authenticate with MongoDB Atlas"},
{Name: "whoami", Description: "Verifies and displays information about your authentication state"},
{Name: "logout", Description: "Log out of the CLI"},
{Name: "quickstart", Description: "Create and access an Atlas Cluster"},
{Name: "project", Description: "Project operations"},
{Name: "create", Description: "Create a project"},
{Name: "show", Description: "Describe a project"},
{Name: "apikeys", Description: "Manage API Keys for your project"},
{Name: "update", Description: "Assign an API Key to a project"},
{Name: "user", Description: "Manage users for a project"},
{Name: "team", Description: "Teams operations"},
{Name: "add", Description: "Add team to a project"},
{Name: "updates", Description: "Update roles for a team in a project"},
{Name: "invitation", Description: "Invitation operations"},
{Name: "organization", Description: "Organization operations"},
{Name: "accesslists", Description: "Manage the IP access list for your API Key"},
{Name: "globalapikeys", Description: "Global API Keys operations"},
{Name: "globalaccesslists", Description: "Manage IP access list for Global API Key"},
{Name: "invite", Description: "Invite a user"},
{Name: "cluster", Description: "Manage clusters for your project"},
{Name: "watch", Description: "Watch for a cluster to be available"},
{Name: "pause", Description: "Pause a running MongoDB cluster in Atlas"},
{Name: "start", Description: "Start a paused MongoDB cluster in Atlas"},
{Name: "loadSampleData", Description: "Load sample data into a MongoDB cluster in Atlas"},
{Name: "index", Description: "Manage cluster rolling indexes for your project"},
{Name: "fts", Description: "Manage Atlas Search for your cluster"},
{Name: "describe", Description: "Describe a search index for a cluster"},
{Name: "onlinearchives", Description: "Manage online archives for your cluster"},
{Name: "connectionstrings", Description: "Manage MongoDB cluster connection string"},
{Name: "availableregions", Description: "Manage available regions for your project"},
{Name: "dbuser", Description: "Manage database users for your project"},
{Name: "cert", Description: "Manage Atlas x509 certificates for your database users"},
{Name: "customdbroles", Description: "Manage custom database roles for your project"},
{Name: "datalakes", Description: "Manage Atlas Data Lakes for your project"},
{Name: "alert", Description: "Manage alerts for your project"},
{Name: "field", Description: "Manages alert configuration fields for your project"},
{Name: "types", Description: "Lists available field types for your alert configurations"},
{Name: "ack", Description: "Acknowledges one alert for the specified project"},
{Name: "unack", Description: "Unacknowledges one alert for the specified project"},
{Name: "global", Description: "Retrieves all the global alerts for the specified Ops Manager project"},
{Name: "backup", Description: "Manage cloud backups for your project"},
{Name: "snapshot", Description: "Manage cloud backup snapshots for your project"},
},
Options: []spec.Option{
{Name: "--gov", Description: "Create a default profile for atlas for gov"},
{Name: "--output", Description: "Return a specific profile"},
{Name: "--force", Description: "Manage the CLI's authentication state"},
{Name: "--cm", Description: "Log in to Cloud Manager"},
{Name: "--loginOnly", Description: "Skip profile configuration"},
{Name: "--noBrowser", Description: "Don't try to open a browser session"},
{Name: "--accessListIp", Description: "IP address to be allowed to access the deployment"},
{Name: "--clusterName", Description: "Name of the cluster"},
{Name: "--default", Description: "User's password"},
{Name: "--projectId", Description: "Name of your cloud service provider. Valid values are AWS, AZURE, or GCP"},
{Name: "--region", Description: "Indicates whether to skip accessing your deployment with MongoDB Shell"},
{Name: "--skipSampleData", Description: "Indicates whether to skip loading sample data into your Atlas Cluster"},
{Name: "--tier", Description: "Tier for each data-bearing server in the cluster"},
{Name: "--username", Description: "Username for authenticating to MongoDB"},
{Name: "--limit", Description: "Number of items per page"},
{Name: "--orgId", Description: "Page number"},
{Name: "--govCloudRegionsOnly", Description: "Delete a project"},
{Name: "--desc", Description: "Description of the API key"},
{Name: "--email", Description: "User's email address"},
{Name: "--teamId", Description: "Unique identification of the team"},
{Name: "--includeDeleted", Description: "If specified, Atlas includes the deleted organizations"},
{Name: "--name", Description: "Page number"},
{Name: "--apiKey", Description: "API Key"},
{Name: "--cidr", Description: "Whitelist entry in CIDR notation to be added for a given API key"},
{Name: "--ip", Description: "IP address to be allowed for a given API key"},
{Name: "--country", Description: "The ISO 3166-1 alpha two-letter country code of the user's country of residence"},
{Name: "--firstName", Description: "User's first name"},
{Name: "--lastName", Description: "User's last name"},
{Name: "--mobile", Description: "The user's mobile or cell phone number"},
{Name: "--orgRole", Description: "User's roles for the associated organization"},
{Name: "--projectRole", Description: "User's roles for the associated project"},
{Name: "--id", Description: "Unique identifier of the user"},
{Name: "--backup", Description: "If true, enables Continuous Cloud Backup for your deployment"},
{Name: "--biConnector", Description: "If true, enables BI Connector for Atlas on the deployment"},
{Name: "--diskSizeGB", Description: "Capacity, in gigabytes, of the host's root volume"},
{Name: "--file", Description: "File name to use, optional file with a json cluster configuration"},
{Name: "--mdbVersion", Description: "MongoDB version of the cluster to deploy"},
{Name: "--members", Description: "Number of members in the replica set"},
{Name: "--type", Description: "Watch for a cluster to be available"},
{Name: "--collection", Description: "Collection name"},
},
})
}