Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Subscriptions

Manage Redis Cloud subscriptions - the containers for your databases and configuration.

Commands

List Subscriptions

List all subscriptions in your account.

redisctl cloud subscription list [OPTIONS]

Options:

  • -o, --output <FORMAT> - Output format: json, yaml, or table (default: auto)
  • -q, --query <JMESPATH> - JMESPath query to filter output

Examples:

# List all subscriptions
redisctl cloud subscription list

# Table format with specific fields
redisctl cloud subscription list -o table

# Get only subscription IDs and names
redisctl cloud subscription list -q "[].{id: id, name: name}"

# Filter by status
redisctl cloud subscription list -q "[?status=='active']"

Get Subscription

Get details of a specific subscription.

redisctl cloud subscription get <ID> [OPTIONS]

Arguments:

  • <ID> - Subscription ID

Options:

  • -o, --output <FORMAT> - Output format: json, yaml, or table
  • -q, --query <JMESPATH> - JMESPath query to filter output

Examples:

# Get subscription details
redisctl cloud subscription get 123456

# Get specific fields in YAML
redisctl cloud subscription get 123456 -o yaml -q "{name: name, status: status, databases: numberOfDatabases}"

Create Subscription

Create a new subscription.

redisctl cloud subscription create --data <JSON> [OPTIONS]

Options:

  • --data <JSON> - JSON payload (inline or @file.json)
  • --wait - Wait for operation to complete
  • --wait-timeout <SECONDS> - Maximum time to wait (default: 600)
  • --wait-interval <SECONDS> - Polling interval (default: 10)

Example Payload:

{
  "name": "Production Subscription",
  "cloudProvider": {
    "provider": "AWS",
    "regions": [
      {
        "region": "us-east-1",
        "multipleAvailabilityZones": true,
        "networking": {
          "deploymentCIDR": "10.0.0.0/24"
        }
      }
    ]
  },
  "databases": [
    {
      "name": "cache-db",
      "memoryLimitInGb": 1,
      "throughputMeasurement": {
        "by": "operations-per-second",
        "value": 10000
      }
    }
  ]
}

Examples:

# Create subscription from file
redisctl cloud subscription create --data @subscription.json

# Create and wait for completion
redisctl cloud subscription create --data @subscription.json --wait

# Create with inline JSON
redisctl cloud subscription create --data '{
  "name": "Test Subscription",
  "cloudProvider": {"provider": "AWS", "regions": [{"region": "us-east-1"}]}
}'

Update Subscription

Update an existing subscription.

redisctl cloud subscription update <ID> --data <JSON> [OPTIONS]

Arguments:

  • <ID> - Subscription ID

Options:

  • --data <JSON> - JSON payload with updates
  • --wait - Wait for operation to complete
  • --wait-timeout <SECONDS> - Maximum time to wait
  • --wait-interval <SECONDS> - Polling interval

Examples:

# Update subscription name
redisctl cloud subscription update 123456 --data '{"name": "New Name"}'

# Update payment method
redisctl cloud subscription update 123456 --data '{"paymentMethodId": 8840}' --wait

Delete Subscription

Delete a subscription (requires all databases to be deleted first).

redisctl cloud subscription delete <ID> [OPTIONS]

Arguments:

  • <ID> - Subscription ID

Options:

  • --wait - Wait for deletion to complete
  • --wait-timeout <SECONDS> - Maximum time to wait
  • --wait-interval <SECONDS> - Polling interval

Examples:

# Delete subscription
redisctl cloud subscription delete 123456

# Delete and wait for completion
redisctl cloud subscription delete 123456 --wait

Fixed Subscriptions

Fixed subscriptions offer reserved capacity with predictable pricing.

List Fixed Subscriptions

redisctl cloud fixed-subscription list

Get Fixed Subscription

redisctl cloud fixed-subscription get <ID>

Create Fixed Subscription

redisctl cloud fixed-subscription create --data @fixed-subscription.json --wait

Example Payload:

{
  "name": "Fixed Production",
  "plan": {
    "provider": "AWS",
    "region": "us-east-1",
    "size": "r5.xlarge"
  },
  "quantity": 2
}

Common Patterns

List All Databases Across Subscriptions

# Get all subscription IDs
SUBS=$(redisctl cloud subscription list -q "[].id" | jq -r '.[]')

# List databases for each subscription
for sub in $SUBS; do
  echo "Subscription $sub:"
  redisctl cloud database list --subscription-id $sub
done

Monitor Subscription Usage

# Get memory usage across all databases
redisctl cloud subscription get 123456 -q "databases[].{name: name, memory: memoryLimitInGb}" | \
  jq -r '.[] | "\(.name): \(.memory)GB"'

Troubleshooting

Common Issues

"Subscription not found"

  • Verify the subscription ID is correct
  • Check that your API key has access to the subscription

"Cannot delete subscription with active databases"

  • Delete all databases first: redisctl cloud database list --subscription-id <ID>
  • Then delete each database before deleting the subscription

"Operation timeout"

  • Increase timeout: --wait-timeout 1200
  • Check operation status: redisctl cloud task get <TASK_ID>

API Reference

These commands use the following REST endpoints:

  • GET /v1/subscriptions - List subscriptions
  • GET /v1/subscriptions/{id} - Get subscription
  • POST /v1/subscriptions - Create subscription
  • PUT /v1/subscriptions/{id} - Update subscription
  • DELETE /v1/subscriptions/{id} - Delete subscription

For direct API access, use: redisctl api cloud get /subscriptions