redis-cloud 0.1.0__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (60) hide show
  1. redis_cloud-0.1.0/.github/workflows/ci.yml +103 -0
  2. redis_cloud-0.1.0/.github/workflows/python.yml +89 -0
  3. redis_cloud-0.1.0/.github/workflows/release-plz.yml +36 -0
  4. redis_cloud-0.1.0/.gitignore +28 -0
  5. redis_cloud-0.1.0/CHANGELOG.md +93 -0
  6. redis_cloud-0.1.0/Cargo.lock +2005 -0
  7. redis_cloud-0.1.0/Cargo.toml +41 -0
  8. redis_cloud-0.1.0/LICENSE-APACHE +176 -0
  9. redis_cloud-0.1.0/LICENSE-MIT +25 -0
  10. redis_cloud-0.1.0/PKG-INFO +28 -0
  11. redis_cloud-0.1.0/README.md +119 -0
  12. redis_cloud-0.1.0/pyproject.toml +50 -0
  13. redis_cloud-0.1.0/python/Cargo.lock +1855 -0
  14. redis_cloud-0.1.0/python/Cargo.toml +28 -0
  15. redis_cloud-0.1.0/python/redis_cloud/__init__.py +22 -0
  16. redis_cloud-0.1.0/python/src/client.rs +352 -0
  17. redis_cloud-0.1.0/python/src/error.rs +36 -0
  18. redis_cloud-0.1.0/python/src/lib.rs +21 -0
  19. redis_cloud-0.1.0/python/src/runtime.rs +32 -0
  20. redis_cloud-0.1.0/redis_cloud/__init__.py +22 -0
  21. redis_cloud-0.1.0/release-plz.toml +6 -0
  22. redis_cloud-0.1.0/src/account.rs +409 -0
  23. redis_cloud-0.1.0/src/acl.rs +514 -0
  24. redis_cloud-0.1.0/src/client.rs +670 -0
  25. redis_cloud-0.1.0/src/cloud_accounts.rs +369 -0
  26. redis_cloud-0.1.0/src/connectivity/mod.rs +212 -0
  27. redis_cloud-0.1.0/src/connectivity/private_link.rs +338 -0
  28. redis_cloud-0.1.0/src/connectivity/psc.rs +313 -0
  29. redis_cloud-0.1.0/src/connectivity/transit_gateway.rs +324 -0
  30. redis_cloud-0.1.0/src/connectivity/vpc_peering.rs +177 -0
  31. redis_cloud-0.1.0/src/cost_report.rs +449 -0
  32. redis_cloud-0.1.0/src/fixed/databases.rs +1262 -0
  33. redis_cloud-0.1.0/src/fixed/mod.rs +11 -0
  34. redis_cloud-0.1.0/src/fixed/subscriptions.rs +664 -0
  35. redis_cloud-0.1.0/src/flexible/databases.rs +1590 -0
  36. redis_cloud-0.1.0/src/flexible/mod.rs +11 -0
  37. redis_cloud-0.1.0/src/flexible/subscriptions.rs +1075 -0
  38. redis_cloud-0.1.0/src/lib.rs +415 -0
  39. redis_cloud-0.1.0/src/lib_tests.rs +222 -0
  40. redis_cloud-0.1.0/src/tasks.rs +182 -0
  41. redis_cloud-0.1.0/src/types.rs +254 -0
  42. redis_cloud-0.1.0/src/users.rs +262 -0
  43. redis_cloud-0.1.0/tests/account_tests.rs +711 -0
  44. redis_cloud-0.1.0/tests/acl_tests.rs +878 -0
  45. redis_cloud-0.1.0/tests/cloud_accounts_tests.rs +808 -0
  46. redis_cloud-0.1.0/tests/connectivity_tests.rs +701 -0
  47. redis_cloud-0.1.0/tests/databases_tests.rs +914 -0
  48. redis_cloud-0.1.0/tests/fixed_databases_tests.rs +466 -0
  49. redis_cloud-0.1.0/tests/fixed_subscriptions_tests.rs +455 -0
  50. redis_cloud-0.1.0/tests/fixtures/README.md +40 -0
  51. redis_cloud-0.1.0/tests/fixtures/cloud_openapi.json +15886 -0
  52. redis_cloud-0.1.0/tests/openapi_validation.rs +157 -0
  53. redis_cloud-0.1.0/tests/private_link_tests.rs +468 -0
  54. redis_cloud-0.1.0/tests/subscriptions_tests.rs +622 -0
  55. redis_cloud-0.1.0/tests/tasks_tests.rs +277 -0
  56. redis_cloud-0.1.0/tests/tower_integration_tests.rs +394 -0
  57. redis_cloud-0.1.0/tests/tower_middleware_tests.rs +413 -0
  58. redis_cloud-0.1.0/tests/tower_resilience_test.rs +69 -0
  59. redis_cloud-0.1.0/tests/types_tests.rs +258 -0
  60. redis_cloud-0.1.0/tests/users_tests.rs +175 -0
@@ -0,0 +1,103 @@
1
+ name: CI
2
+
3
+ on:
4
+ push:
5
+ branches: [main]
6
+ paths-ignore:
7
+ - "**.md"
8
+ - "LICENSE*"
9
+ - ".gitignore"
10
+ pull_request:
11
+ branches: [main]
12
+ paths-ignore:
13
+ - "**.md"
14
+ - "LICENSE*"
15
+ - ".gitignore"
16
+
17
+ env:
18
+ CARGO_TERM_COLOR: always
19
+ RUST_BACKTRACE: short
20
+ CARGO_INCREMENTAL: 1
21
+ RUSTFLAGS: "-C debuginfo=0"
22
+
23
+ concurrency:
24
+ group: ${{ github.workflow }}-${{ github.head_ref || github.ref }}
25
+ cancel-in-progress: true
26
+
27
+ jobs:
28
+ check:
29
+ name: Check
30
+ runs-on: ubuntu-latest
31
+ steps:
32
+ - uses: actions/checkout@v4
33
+
34
+ - name: Install Rust
35
+ uses: dtolnay/rust-toolchain@stable
36
+ with:
37
+ components: rustfmt, clippy
38
+
39
+ - name: Cache cargo
40
+ uses: Swatinem/rust-cache@v2
41
+
42
+ - name: Check formatting
43
+ run: cargo fmt --all -- --check
44
+
45
+ - name: Run clippy
46
+ run: cargo clippy --all-targets --all-features -- -D warnings
47
+
48
+ test:
49
+ name: Test
50
+ needs: check
51
+ runs-on: ubuntu-latest
52
+ steps:
53
+ - uses: actions/checkout@v4
54
+
55
+ - name: Install Rust
56
+ uses: dtolnay/rust-toolchain@stable
57
+
58
+ - name: Cache cargo
59
+ uses: Swatinem/rust-cache@v2
60
+
61
+ - name: Run unit tests
62
+ run: cargo test --lib --all-features
63
+
64
+ - name: Run integration tests
65
+ run: cargo test --test '*' --all-features
66
+
67
+ build:
68
+ name: Build - ${{ matrix.os }}
69
+ needs: test
70
+ runs-on: ${{ matrix.os }}
71
+ strategy:
72
+ fail-fast: false
73
+ matrix:
74
+ os: [ubuntu-latest, macos-latest, windows-latest]
75
+ steps:
76
+ - uses: actions/checkout@v4
77
+
78
+ - name: Install Rust
79
+ uses: dtolnay/rust-toolchain@stable
80
+
81
+ - name: Cache cargo
82
+ uses: Swatinem/rust-cache@v2
83
+
84
+ - name: Build
85
+ run: cargo build --all-features
86
+
87
+ ci-status:
88
+ name: CI Status
89
+ runs-on: ubuntu-latest
90
+ needs: [check, test, build]
91
+ if: always()
92
+ steps:
93
+ - name: Check CI status
94
+ run: |
95
+ if [[ "${{ needs.check.result }}" != "success" ]]; then
96
+ echo "Check failed"
97
+ exit 1
98
+ fi
99
+ if [[ "${{ needs.test.result }}" != "success" ]]; then
100
+ echo "Tests failed"
101
+ exit 1
102
+ fi
103
+ echo "CI passed!"
@@ -0,0 +1,89 @@
1
+ name: Python
2
+
3
+ on:
4
+ push:
5
+ branches: [main]
6
+ paths:
7
+ - "python/**"
8
+ - ".github/workflows/python.yml"
9
+ pull_request:
10
+ branches: [main]
11
+ paths:
12
+ - "python/**"
13
+ - ".github/workflows/python.yml"
14
+ release:
15
+ types: [published]
16
+
17
+ permissions:
18
+ contents: read
19
+
20
+ jobs:
21
+ build:
22
+ name: Build wheels - ${{ matrix.os }}
23
+ runs-on: ${{ matrix.os }}
24
+ strategy:
25
+ fail-fast: false
26
+ matrix:
27
+ os: [ubuntu-latest, macos-latest, windows-latest]
28
+ steps:
29
+ - uses: actions/checkout@v4
30
+
31
+ - name: Set up Python
32
+ uses: actions/setup-python@v5
33
+ with:
34
+ python-version: "3.12"
35
+
36
+ - name: Install Rust
37
+ uses: dtolnay/rust-toolchain@stable
38
+
39
+ - name: Build wheels
40
+ uses: PyO3/maturin-action@v1
41
+ with:
42
+ working-directory: python
43
+ args: --release --out dist
44
+ sccache: true
45
+ manylinux: auto
46
+
47
+ - name: Upload wheels
48
+ uses: actions/upload-artifact@v4
49
+ with:
50
+ name: wheels-${{ matrix.os }}
51
+ path: python/dist
52
+
53
+ sdist:
54
+ name: Build source distribution
55
+ runs-on: ubuntu-latest
56
+ steps:
57
+ - uses: actions/checkout@v4
58
+
59
+ - name: Build sdist
60
+ uses: PyO3/maturin-action@v1
61
+ with:
62
+ working-directory: python
63
+ command: sdist
64
+ args: --out dist
65
+
66
+ - name: Upload sdist
67
+ uses: actions/upload-artifact@v4
68
+ with:
69
+ name: wheels-sdist
70
+ path: python/dist
71
+
72
+ publish:
73
+ name: Publish to PyPI
74
+ runs-on: ubuntu-latest
75
+ needs: [build, sdist]
76
+ if: github.event_name == 'release' && github.event.action == 'published'
77
+ environment: pypi
78
+ permissions:
79
+ id-token: write
80
+ steps:
81
+ - name: Download artifacts
82
+ uses: actions/download-artifact@v4
83
+ with:
84
+ pattern: wheels-*
85
+ path: dist
86
+ merge-multiple: true
87
+
88
+ - name: Publish to PyPI
89
+ uses: pypa/gh-action-pypi-publish@release/v1
@@ -0,0 +1,36 @@
1
+ name: Release-plz
2
+
3
+ permissions:
4
+ pull-requests: write
5
+ contents: write
6
+ id-token: write
7
+
8
+ on:
9
+ push:
10
+ branches:
11
+ - main
12
+
13
+ concurrency:
14
+ group: release-plz
15
+ cancel-in-progress: false
16
+
17
+ jobs:
18
+ release-plz:
19
+ name: Release-plz
20
+ runs-on: ubuntu-latest
21
+ environment: crates-io
22
+ steps:
23
+ - name: Checkout repository
24
+ uses: actions/checkout@v4
25
+ with:
26
+ fetch-depth: 0
27
+ token: ${{ secrets.RELEASE_TOKEN }}
28
+
29
+ - name: Install Rust toolchain
30
+ uses: dtolnay/rust-toolchain@stable
31
+
32
+ - name: Run release-plz
33
+ uses: MarcoIeni/release-plz-action@v0.5
34
+ env:
35
+ GITHUB_TOKEN: ${{ secrets.RELEASE_TOKEN }}
36
+ # Uses OIDC Trusted Publishing - no CARGO_REGISTRY_TOKEN needed
@@ -0,0 +1,28 @@
1
+ # Rust build artifacts
2
+ target/
3
+
4
+ # IDE files
5
+ .idea/
6
+ *.iml
7
+ .vscode/
8
+ *.swp
9
+ *.swo
10
+ *~
11
+
12
+ # OS files
13
+ .DS_Store
14
+ Thumbs.db
15
+
16
+ # Environment files
17
+ .env
18
+ .env.local
19
+
20
+ # Test coverage
21
+ tarpaulin-report.html
22
+ cobertura.xml
23
+ lcov.info
24
+ *.profraw
25
+
26
+ # Backup files
27
+ *.bak
28
+ *.backup
@@ -0,0 +1,93 @@
1
+ # Changelog
2
+
3
+ All notable changes to this project will be documented in this file.
4
+
5
+ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
6
+ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7
+
8
+ ## [Unreleased]
9
+
10
+ ## [0.8.0](https://github.com/redis-developer/redis-cloud-rs/compare/v0.7.6...v0.8.0) - 2026-01-30
11
+
12
+ ### Added
13
+
14
+ - add Python bindings ([#2](https://github.com/redis-developer/redis-cloud-rs/pull/2))
15
+ - initial standalone redis-cloud crate
16
+
17
+ ## [0.7.6](https://github.com/redis-developer/redisctl/compare/redis-cloud-v0.7.5...redis-cloud-v0.7.6) - 2026-01-23
18
+
19
+ ### Fixed
20
+
21
+ - use local README.md for crates to fix sdist build ([#580](https://github.com/redis-developer/redisctl/pull/580))
22
+
23
+ ## [0.7.5](https://github.com/redis-developer/redisctl/compare/redis-cloud-v0.7.4...redis-cloud-v0.7.5) - 2025-12-17
24
+
25
+ ### Fixed
26
+
27
+ - correct repository URLs broken by PR #500 ([#506](https://github.com/redis-developer/redisctl/pull/506))
28
+
29
+ ### Other
30
+
31
+ - update documentation URLs to new hosting location ([#509](https://github.com/redis-developer/redisctl/pull/509))
32
+
33
+ ## [0.7.4](https://github.com/joshrotenberg/redisctl/compare/redis-cloud-v0.7.3...redis-cloud-v0.7.4) - 2025-12-13
34
+
35
+ ### Other
36
+
37
+ - remove outdated implementation tracking file ([#492](https://github.com/joshrotenberg/redisctl/pull/492))
38
+
39
+ ## [0.7.3](https://github.com/joshrotenberg/redisctl/compare/redis-cloud-v0.7.2...redis-cloud-v0.7.3) - 2025-12-09
40
+
41
+ ### Added
42
+
43
+ - *(cloud)* add delete endpoint for PrivateLink ([#487](https://github.com/joshrotenberg/redisctl/pull/487))
44
+ - *(cloud)* add upgrade endpoints for Essentials databases ([#488](https://github.com/joshrotenberg/redisctl/pull/488))
45
+
46
+ ## [0.7.2](https://github.com/joshrotenberg/redisctl/compare/redis-cloud-v0.7.1...redis-cloud-v0.7.2) - 2025-12-09
47
+
48
+ ### Added
49
+
50
+ - *(cloud)* add task list, database flush, and available-versions commands ([#477](https://github.com/joshrotenberg/redisctl/pull/477))
51
+ - *(cloud)* add cost-report API support (Beta) ([#479](https://github.com/joshrotenberg/redisctl/pull/479))
52
+ - add user agent header to HTTP requests ([#473](https://github.com/joshrotenberg/redisctl/pull/473))
53
+ - *(redis-cloud)* add tracing instrumentation to API client ([#452](https://github.com/joshrotenberg/redisctl/pull/452))
54
+ - Add optional Tower service integration to API clients ([#447](https://github.com/joshrotenberg/redisctl/pull/447))
55
+
56
+ ### Fixed
57
+
58
+ - *(release)* improve Homebrew formula auto-update ([#433](https://github.com/joshrotenberg/redisctl/pull/433))
59
+
60
+ ## [0.7.1](https://github.com/joshrotenberg/redisctl/compare/redis-cloud-v0.7.0...redis-cloud-v0.7.1) - 2025-10-29
61
+
62
+ ### Added
63
+
64
+ - *(redis-cloud)* add AWS PrivateLink connectivity support ([#406](https://github.com/joshrotenberg/redisctl/pull/406))
65
+
66
+ ### Other
67
+
68
+ - rewrite README for presentation readiness ([#408](https://github.com/joshrotenberg/redisctl/pull/408))
69
+ - implement fixture-based validation for Enterprise API ([#352](https://github.com/joshrotenberg/redisctl/pull/352)) ([#398](https://github.com/joshrotenberg/redisctl/pull/398))
70
+
71
+ ## [0.7.0](https://github.com/joshrotenberg/redisctl/compare/redis-cloud-v0.6.2...redis-cloud-v0.7.0) - 2025-10-07
72
+
73
+ ### Added
74
+
75
+ - *(redis-cloud)* medium priority API coverage improvements
76
+ - *(redis-cloud)* high priority API coverage improvements
77
+ - *(redis-cloud)* expand additional response types with list fields
78
+ - *(redis-cloud)* expose all known API fields as first-class struct members
79
+
80
+ ### Fixed
81
+
82
+ - add OpenAPI spec fixture for CI
83
+
84
+ ### Other
85
+
86
+ - add support package optimization and upload documentation
87
+ - add Homebrew installation instructions
88
+
89
+ ## [0.6.1](https://github.com/joshrotenberg/redisctl/compare/redis-cloud-v0.6.0...redis-cloud-v0.6.1) - 2025-09-16
90
+
91
+ ### Added
92
+
93
+ - add serde_path_to_error for better deserialization error messages ([#349](https://github.com/joshrotenberg/redisctl/pull/349))