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.
- redis_cloud-0.1.0/.github/workflows/ci.yml +103 -0
- redis_cloud-0.1.0/.github/workflows/python.yml +89 -0
- redis_cloud-0.1.0/.github/workflows/release-plz.yml +36 -0
- redis_cloud-0.1.0/.gitignore +28 -0
- redis_cloud-0.1.0/CHANGELOG.md +93 -0
- redis_cloud-0.1.0/Cargo.lock +2005 -0
- redis_cloud-0.1.0/Cargo.toml +41 -0
- redis_cloud-0.1.0/LICENSE-APACHE +176 -0
- redis_cloud-0.1.0/LICENSE-MIT +25 -0
- redis_cloud-0.1.0/PKG-INFO +28 -0
- redis_cloud-0.1.0/README.md +119 -0
- redis_cloud-0.1.0/pyproject.toml +50 -0
- redis_cloud-0.1.0/python/Cargo.lock +1855 -0
- redis_cloud-0.1.0/python/Cargo.toml +28 -0
- redis_cloud-0.1.0/python/redis_cloud/__init__.py +22 -0
- redis_cloud-0.1.0/python/src/client.rs +352 -0
- redis_cloud-0.1.0/python/src/error.rs +36 -0
- redis_cloud-0.1.0/python/src/lib.rs +21 -0
- redis_cloud-0.1.0/python/src/runtime.rs +32 -0
- redis_cloud-0.1.0/redis_cloud/__init__.py +22 -0
- redis_cloud-0.1.0/release-plz.toml +6 -0
- redis_cloud-0.1.0/src/account.rs +409 -0
- redis_cloud-0.1.0/src/acl.rs +514 -0
- redis_cloud-0.1.0/src/client.rs +670 -0
- redis_cloud-0.1.0/src/cloud_accounts.rs +369 -0
- redis_cloud-0.1.0/src/connectivity/mod.rs +212 -0
- redis_cloud-0.1.0/src/connectivity/private_link.rs +338 -0
- redis_cloud-0.1.0/src/connectivity/psc.rs +313 -0
- redis_cloud-0.1.0/src/connectivity/transit_gateway.rs +324 -0
- redis_cloud-0.1.0/src/connectivity/vpc_peering.rs +177 -0
- redis_cloud-0.1.0/src/cost_report.rs +449 -0
- redis_cloud-0.1.0/src/fixed/databases.rs +1262 -0
- redis_cloud-0.1.0/src/fixed/mod.rs +11 -0
- redis_cloud-0.1.0/src/fixed/subscriptions.rs +664 -0
- redis_cloud-0.1.0/src/flexible/databases.rs +1590 -0
- redis_cloud-0.1.0/src/flexible/mod.rs +11 -0
- redis_cloud-0.1.0/src/flexible/subscriptions.rs +1075 -0
- redis_cloud-0.1.0/src/lib.rs +415 -0
- redis_cloud-0.1.0/src/lib_tests.rs +222 -0
- redis_cloud-0.1.0/src/tasks.rs +182 -0
- redis_cloud-0.1.0/src/types.rs +254 -0
- redis_cloud-0.1.0/src/users.rs +262 -0
- redis_cloud-0.1.0/tests/account_tests.rs +711 -0
- redis_cloud-0.1.0/tests/acl_tests.rs +878 -0
- redis_cloud-0.1.0/tests/cloud_accounts_tests.rs +808 -0
- redis_cloud-0.1.0/tests/connectivity_tests.rs +701 -0
- redis_cloud-0.1.0/tests/databases_tests.rs +914 -0
- redis_cloud-0.1.0/tests/fixed_databases_tests.rs +466 -0
- redis_cloud-0.1.0/tests/fixed_subscriptions_tests.rs +455 -0
- redis_cloud-0.1.0/tests/fixtures/README.md +40 -0
- redis_cloud-0.1.0/tests/fixtures/cloud_openapi.json +15886 -0
- redis_cloud-0.1.0/tests/openapi_validation.rs +157 -0
- redis_cloud-0.1.0/tests/private_link_tests.rs +468 -0
- redis_cloud-0.1.0/tests/subscriptions_tests.rs +622 -0
- redis_cloud-0.1.0/tests/tasks_tests.rs +277 -0
- redis_cloud-0.1.0/tests/tower_integration_tests.rs +394 -0
- redis_cloud-0.1.0/tests/tower_middleware_tests.rs +413 -0
- redis_cloud-0.1.0/tests/tower_resilience_test.rs +69 -0
- redis_cloud-0.1.0/tests/types_tests.rs +258 -0
- 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))
|