Skip to content

feat(cloud): add --wait flag to connectivity commands #196

@joshrotenberg

Description

@joshrotenberg

Summary

Add --wait flag support to Cloud connectivity operations (VPC, PSC, TGW) that return task IDs, building on #191.

Part of #175

Background

Network connectivity operations are asynchronous and can take significant time to complete. This issue tracks adding --wait support to VPC Peering, Private Service Connect, and Transit Gateway commands.

Commands to Update

VPC Peering Operations (8 commands)

  • cloud connectivity vpc-peering create - Standard VPC peering creation
  • cloud connectivity vpc-peering update - Standard VPC peering update
  • cloud connectivity vpc-peering delete - Standard VPC peering deletion
  • cloud connectivity vpc-peering create-aa - Active-Active VPC peering creation
  • cloud connectivity vpc-peering update-aa - Active-Active VPC peering update
  • cloud connectivity vpc-peering delete-aa - Active-Active VPC peering deletion

Private Service Connect Operations (subset that are async)

  • cloud connectivity psc create-service - PSC service creation
  • cloud connectivity psc delete-service - PSC service deletion
  • cloud connectivity psc create-endpoint - PSC endpoint creation
  • cloud connectivity psc update-endpoint - PSC endpoint update
  • cloud connectivity psc delete-endpoint - PSC endpoint deletion
  • Similar for Active-Active variants (if async)

Transit Gateway Operations (subset that are async)

  • cloud connectivity tgw create-attachment - TGW attachment creation
  • cloud connectivity tgw update-cidrs - TGW CIDR updates
  • cloud connectivity tgw delete-attachment - TGW attachment deletion
  • Similar for Active-Active variants

Implementation Notes

  1. Connectivity operations were recently added in feat(cloud): implement VPC Peering connectivity commands #179, feat(cloud): implement Private Service Connect (PSC) commands #187, feat(cloud): implement Transit Gateway (TGW) commands #188
  2. May need longer default timeouts (network operations are slow)
  3. Some operations like accept/reject may be synchronous - verify each
  4. Consider network-specific error messages

Example Usage

# Create VPC peering with extended timeout
redisctl cloud connectivity vpc-peering create --subscription 123 @vpc-config.json --wait --wait-timeout 900

# Delete PSC service and wait
redisctl cloud connectivity psc delete-service --subscription 456 --wait

# Create TGW attachment with custom interval
redisctl cloud connectivity tgw create-attachment --subscription 789 @tgw.json --wait --wait-interval 10

Special Considerations

  • Network operations can take 5-15 minutes
  • Consider different default timeout for connectivity (600s vs 300s)
  • Some operations may require manual steps on cloud provider side
  • Clear messaging about what's happening during long waits

Acceptance Criteria

  • All async connectivity commands support --wait flag
  • Appropriate timeouts for network operations
  • Progress messages indicate network operation status
  • Handle network-specific errors gracefully

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions