ybm CLI examples
The following sections provide quick examples for using ybm CLI comands.
API key
Create an API key in YugabyteDB Aeon:
ybm api-key create \
--name developer \
--duration 6 --unit Months \
--description "Developer API key" \
--role-name Developer
List API keys in YugabyteDB Aeon:
ybm api-key list
Backups
Backup policy
Modify the cluster backup policy:
ybm backup policy update \
--cluster-name=test-cluster \
--full-backup-frequency-in-days=2 \
--retention-period-in-days=14
Backup
Create a backup:
ybm backup create \
--cluster-name=test-cluster \
--retention-period=7
Clusters
Region
List AWS regions:
ybm region list \
--cloud-provider AWS
List AWS instance types in us-west-2:
ybm region instance list \
--cloud-provider AWS \
--region us-west-2
Cluster create
Create a local single-node cluster:
ybm cluster create \
--cluster-name my-sandbox \
--credentials username=admin,password=password123
Create a multi-node cluster:
ybm cluster create \
--credentials username=admin,password=password \
--cloud-provider AWS \
--cluster-type SYNCHRONOUS \
--region-info region=ap-northeast-1,num-nodes=3,num-cores=4,disk-size-gb=200 \
--cluster-tier Dedicated \
--fault-tolerance ZONE \
--database-version Innovation \
--cluster-name my-sandbox \
--wait
Cluster read replica create
Create a read-replica cluster:
ybm cluster read-replica create \
--replica num-cores=2,\
memory-mb=4096,\
disk-size-gb=200,\
cloud-provider=AWS,\
region=us-west-3,\
num-nodes=3,\
vpc=my-vpc,\
num-replicas=2,\
multi-zone=true
Usage
Output usage for clusters my-cluster
and your-cluster
for September 2023:
ybm usage get \
--cluster-name my-cluster \
--cluster-name your-cluster \
--start 2023-09-01 \
--end 2023-09-30
Logging and integrations
Integration
Create a configuration:
ybm integration create \
--config-name datadog1 \
--type DATADOG \
--datadog-spec api-key=efXXXXXXXXXXXXXXXXXXXXXXXXXXXXee,site=US1
Cluster database audit logging
Enable database audit logging for a cluster:
ybm cluster db-audit-logging enable \
--cluster-name your-cluster \
--integration-name datadog1 \
--statement_classes="READ,WRITE,ROLE" \
--wait \
--ysql-config="log_catalog=true,log_client=true,log_level=NOTICE,log_relation=true,log_parameter=true,log_statement_once=true"
Disable database audit logging for a cluster.
ybm cluster db-audit-logging disable \
--cluster-name your-cluster
Get information about database audit logging for a cluster.
ybm cluster db-audit-logging describe --cluster-name your-cluster
Update some fields of the log configuration.
ybm cluster db-audit-logging update \
--cluster-name your-cluster \
--integration-name your-integration \
--statement_classes="WRITE,MISC" \
--ysql-config="log_catalog=true,log_client=false,log_level=NOTICE,log_relation=false,log_parameter=true,log_statement_once=true"
Database audit logging export
Assign a configuration to a cluster:
ybm db-audit-logs-exporter assign \
--cluster-name my_cluster \
--integration-name datadog1 \
--statement_classes=READ,WRITE \
--ysql-config==log_catalog=true,log_client=false,log_level=INFO,log_parameter=true
Database query logging
Enable database query logging for a cluster:
ybm cluster db-query-logging enable \
--cluster-name your-cluster \
--integration-name your-integration \
--log-line-prefix "%m :%r :%u @ %d :[%p] : " \
--log-min-duration-statement -1 \
--log-connections false \
--log-duration false \
--log-error-verbosity DEFAULT \
--log-statement NONE
Disable database query logging for a cluster.
ybm cluster db-query-logging disable \
--cluster-name your-cluster
Get information about database query logging for a cluster.
ybm cluster db-query-logging describe --cluster-name your-cluster
Update some fields of the log configuration.
ybm cluster db-query-logging update \
--cluster-name "your-cluster" \
--integration-name your-integration \
--log-line-prefix "%m :%r :%u @ %d :[%p] :" \
--log-min-duration-statement 60
Networking
Network allow list
Create a single address allow list:
ybm network-allow-list create \
--name=my-computer \
--description="my IP address" \
--ip-addr=$(curl ifconfig.me)
Cluster network
Assign an allow list:
ybm cluster network allow-list assign \
--cluster-name=<cluster_name> \
--network-allow-list=<allow_list_name>
VPC peering
Create a peering connection on GCP:
ybm vpc peering create \
--name demo-peer \
--yb-vpc-name demo-vpc \
--cloud-provider GCP \
--app-vpc-project-id project \
--app-vpc-name application-vpc-name \
--app-vpc-cidr 10.0.0.0/18
VPC
Create a global VPC on GCP:
ybm vpc create \
--name demo-vpc \
--cloud-provider GCP \
--global-cidr 10.0.0.0/18
Users and roles
Role
List roles in YugabyteDB Aeon:
ybm role list
Describe the Admin role:
ybm role describe --role-name admin
You can use this command to view all the available permissions.
Create a role:
ybm role create --role-name backuprole \
--permissions resource-type=BACKUP,operation-group=CREATE \
--permissions resource-type=BACKUP,operation-group=DELETE
User
List users in YugabyteDB Aeon:
ybm user list
Invite a user to YugabyteDB Aeon:
ybm user invite --email developer@mycompany.com --role Developer