Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
37 commits
Select commit Hold shift + click to select a range
ac8dcb3
codegen metadata
stainless-app[bot] Feb 17, 2026
9255354
feat(api): aggregated API specs update
stainless-app[bot] Feb 17, 2026
079e24c
feat(api): aggregated API specs update
stainless-app[bot] Feb 18, 2026
34d65c1
feat(api): aggregated API specs update
stainless-app[bot] Feb 18, 2026
df7fbed
fix(storage): update storage type and ignore deprecation in examples
pedrodeoliveira Feb 18, 2026
d86c213
refactor(cdn)!: move ip_ranges.list_ips to ips.list
stainless-app[bot] Feb 18, 2026
c156758
refactor(streaming)!: move playlists.list_videos to playlists.videos.…
stainless-app[bot] Feb 18, 2026
3618fc7
refactor(streaming)!: move streams clip methods to streams.clips
stainless-app[bot] Feb 18, 2026
b1c884f
fix(waap)!: split api_discovery methods into scan_results, openapi, a…
stainless-app[bot] Feb 18, 2026
e17429a
refactor(waap)!: move domains.toggle_policy to domains.policies.toggle
stainless-app[bot] Feb 18, 2026
dc25cc7
feat(api): aggregated API specs update
stainless-app[bot] Feb 18, 2026
6e74c9a
codegen metadata
stainless-app[bot] Feb 19, 2026
fb4b173
codegen metadata
stainless-app[bot] Feb 19, 2026
9dce180
refactor(iam)!: rename models and update examples
stainless-app[bot] Feb 19, 2026
2da7f85
refactor(iam)!: rename models and update examples
stainless-app[bot] Feb 19, 2026
507f04d
feat(api): aggregated API specs update
stainless-app[bot] Feb 19, 2026
99a8e53
codegen metadata
stainless-app[bot] Feb 19, 2026
4e4a1f8
chore: update mock server docs
stainless-app[bot] Feb 19, 2026
0deadd1
feat(api): aggregated API specs update
stainless-app[bot] Feb 20, 2026
a859b82
codegen metadata
stainless-app[bot] Feb 20, 2026
4724ee3
feat(cdn): enable terraform generation for cdn rules
stainless-app[bot] Feb 20, 2026
e87d27b
codegen metadata
stainless-app[bot] Feb 20, 2026
ebf5798
feat(api): aggregated API specs update
stainless-app[bot] Feb 23, 2026
9cd0f53
feat(cloud): enable terraform for security group rules (v2)
stainless-app[bot] Feb 23, 2026
6611ee4
fix(cloud): keep v1 replace method for security group rules
stainless-app[bot] Feb 23, 2026
39acbb8
feat(api): aggregated API specs update
stainless-app[bot] Feb 23, 2026
7c4bdc6
chore(internal): add request options to SSE classes
stainless-app[bot] Feb 23, 2026
9d4d642
codegen metadata
stainless-app[bot] Feb 23, 2026
8d57a66
codegen metadata
stainless-app[bot] Feb 23, 2026
b0934b4
feat(cloud): add create_and_poll/delete_and_poll for security group r…
algis-dumbris Feb 23, 2026
da190a9
chore(streaming): skip Clip tests
deferred Feb 23, 2026
7443a58
fix(cloud): unset correct envs in scripts/test
deferred Feb 23, 2026
fd60fa5
fix(api): revert unnecessary changes to additionalProperties
stainless-app[bot] Feb 23, 2026
9e8214f
chore(internal): make `test_proxy_environment_variables` more resilient
stainless-app[bot] Feb 23, 2026
889d7fd
fix(client): mark count in offset pagination as required
stainless-app[bot] Feb 23, 2026
15d9e1a
feat(api): manual updates
stainless-app[bot] Feb 23, 2026
9b2cd76
release: 0.34.0
stainless-app[bot] Feb 23, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .release-please-manifest.json
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
{
".": "0.33.0"
".": "0.34.0"
}
6 changes: 3 additions & 3 deletions .stats.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
configured_endpoints: 645
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/gcore%2Fgcore-06555b1b7559c234823e37c3970ba3ea9f11ed14270b872b22761f6be8692e74.yml
openapi_spec_hash: 619bca59fafad89221a4b35f797f14f1
config_hash: bc578a7de14c42e33b7d4bd4502218f2
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/gcore%2Fgcore-2c42b1d05b4025a9622032db431d4596d1f461da59b300496420ff6ec45b92b3.yml
openapi_spec_hash: 7e82855b39236dacdf97fb96dc7149fc
config_hash: 332323cce99008ceec46e04aeb672e0a
57 changes: 57 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,62 @@
# Changelog

## 0.34.0 (2026-02-23)

Full Changelog: [v0.33.0...v0.34.0](https://github.com/G-Core/gcore-python/compare/v0.33.0...v0.34.0)

### ⚠ BREAKING CHANGES

* **iam:** rename models and update examples
* **iam:** rename models and update examples
* **waap:** move domains.toggle_policy to domains.policies.toggle
* **waap:** split api_discovery methods into scan_results, openapi, and settings subresources
* **streaming:** move streams clip methods to streams.clips
* **streaming:** move playlists.list_videos to playlists.videos.list
* **cdn:** move ip_ranges.list_ips to ips.list

### Features

* **api:** aggregated API specs update ([39acbb8](https://github.com/G-Core/gcore-python/commit/39acbb811cad1725b4396ef6ede094ef4c4c5e02))
* **api:** aggregated API specs update ([ebf5798](https://github.com/G-Core/gcore-python/commit/ebf57985fa967cc5f8abd167ba09110a7c832950))
* **api:** aggregated API specs update ([0deadd1](https://github.com/G-Core/gcore-python/commit/0deadd1591cdf99fa6c8dc62d3c239b5d7aa7587))
* **api:** aggregated API specs update ([507f04d](https://github.com/G-Core/gcore-python/commit/507f04d10f8307628092b91d0333fb1682d829eb))
* **api:** aggregated API specs update ([dc25cc7](https://github.com/G-Core/gcore-python/commit/dc25cc76e4dd199daa6ff8128d1e03ee8f42ffbf))
* **api:** aggregated API specs update ([34d65c1](https://github.com/G-Core/gcore-python/commit/34d65c17e2438ba6ab5d60907936eb5d12181a31))
* **api:** aggregated API specs update ([079e24c](https://github.com/G-Core/gcore-python/commit/079e24cd6522792e9d841a2e0f408e21e617e05e))
* **api:** aggregated API specs update ([9255354](https://github.com/G-Core/gcore-python/commit/925535479aea739b6abbd1fa76ea892d342fc355))
* **api:** manual updates ([15d9e1a](https://github.com/G-Core/gcore-python/commit/15d9e1aaa61c40d63fbe4d7a7e62c5b81ddebe7d))
* **cdn:** enable terraform generation for cdn rules ([4724ee3](https://github.com/G-Core/gcore-python/commit/4724ee3468cadb989bdc0b99e79de4b243e870f8))
* **cloud:** add create_and_poll/delete_and_poll for security group rules ([#151](https://github.com/G-Core/gcore-python/issues/151)) ([b0934b4](https://github.com/G-Core/gcore-python/commit/b0934b4bdcf62c3af24356dcf28aedb10e5c175a))
* **cloud:** enable terraform for security group rules (v2) ([9cd0f53](https://github.com/G-Core/gcore-python/commit/9cd0f536ca121d44af097dda1a1f14f77f3293bf))


### Bug Fixes

* **api:** revert unnecessary changes to additionalProperties ([fd60fa5](https://github.com/G-Core/gcore-python/commit/fd60fa500bfbcfd29d77da460801a2b45c7c416f))
* **client:** mark count in offset pagination as required ([889d7fd](https://github.com/G-Core/gcore-python/commit/889d7fd6d71b00e549a1f31a09ccc1cf7797540c))
* **cloud:** keep v1 replace method for security group rules ([6611ee4](https://github.com/G-Core/gcore-python/commit/6611ee4adae0a5c428e147c8cc56b363d4f789b0))
* **cloud:** unset correct envs in scripts/test ([7443a58](https://github.com/G-Core/gcore-python/commit/7443a589d5daccf5bb96e44703126299b0af405d))
* **storage:** update storage type and ignore deprecation in examples ([df7fbed](https://github.com/G-Core/gcore-python/commit/df7fbed9dca33894eaf3111bf7d87b0a1aa16977))
* **waap:** split api_discovery methods into scan_results, openapi, and settings subresources ([b1c884f](https://github.com/G-Core/gcore-python/commit/b1c884f463f33289b820eb5565ac9d7d74afbb2f))


### Chores

* **internal:** add request options to SSE classes ([7c4bdc6](https://github.com/G-Core/gcore-python/commit/7c4bdc6cbcfa8d8fa1a366c0f6090d290499a6f6))
* **internal:** make `test_proxy_environment_variables` more resilient ([9e8214f](https://github.com/G-Core/gcore-python/commit/9e8214f50ae018ccd50ffaca2e5c6ca516f2a4a6))
* **streaming:** skip Clip tests ([da190a9](https://github.com/G-Core/gcore-python/commit/da190a97f8f42fc930c4381b62e6e2230e9961a1))
* update mock server docs ([4e4a1f8](https://github.com/G-Core/gcore-python/commit/4e4a1f8ea185a3f84be9c68839569002b8c08e2f))


### Refactors

* **cdn:** move ip_ranges.list_ips to ips.list ([d86c213](https://github.com/G-Core/gcore-python/commit/d86c21322c7ea98ba5ada8ddb6e93843ac2c7719))
* **iam:** rename models and update examples ([2da7f85](https://github.com/G-Core/gcore-python/commit/2da7f85bd5944349aec34c473638a3c30f3a9f23))
* **iam:** rename models and update examples ([9dce180](https://github.com/G-Core/gcore-python/commit/9dce180a6be142c2a75e12ce2978565d438694f9))
* **streaming:** move playlists.list_videos to playlists.videos.list ([c156758](https://github.com/G-Core/gcore-python/commit/c156758df6af4bc9516794adf1ab984d7f17d29e))
* **streaming:** move streams clip methods to streams.clips ([3618fc7](https://github.com/G-Core/gcore-python/commit/3618fc747692a6b6921ec82cba39180b6d99021a))
* **waap:** move domains.toggle_policy to domains.policies.toggle ([e17429a](https://github.com/G-Core/gcore-python/commit/e17429ad3e37a2eef866b61833b1176cfac5b6d1))

## 0.33.0 (2026-02-16)

Full Changelog: [v0.32.0...v0.33.0](https://github.com/G-Core/gcore-python/compare/v0.32.0...v0.33.0)
Expand Down
3 changes: 1 addition & 2 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -88,8 +88,7 @@ $ pip install ./path-to-wheel-file.whl
Most tests require you to [set up a mock server](https://github.com/stoplightio/prism) against the OpenAPI spec to run the tests.

```sh
# you will need npm installed
$ npx prism mock path/to/your/openapi.yml
$ ./scripts/mock
```

```sh
Expand Down
8 changes: 4 additions & 4 deletions examples/cloud/security_groups.py
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ def main() -> None:
# Rules
rule_id = create_security_group_rule(client=gcore, security_group_id=security_group_id)
rule_id = replace_security_group_rule(client=gcore, rule_id=rule_id, security_group_id=security_group_id)
delete_security_group_rule(client=gcore, rule_id=rule_id)
delete_security_group_rule(client=gcore, rule_id=rule_id, security_group_id=security_group_id)

delete_security_group(client=gcore, security_group_id=security_group_id)

Expand Down Expand Up @@ -87,7 +87,7 @@ def delete_security_group(*, client: Gcore, security_group_id: str) -> None:

def create_security_group_rule(*, client: Gcore, security_group_id: str) -> str:
print("\n=== CREATE SECURITY GROUP RULE ===")
rule = client.cloud.security_groups.rules.create( # pyright: ignore[reportDeprecated]
rule = client.cloud.security_groups.rules.create_and_poll(
group_id=security_group_id,
direction="ingress",
protocol="tcp",
Expand Down Expand Up @@ -120,9 +120,9 @@ def replace_security_group_rule(*, client: Gcore, rule_id: str, security_group_i
return rule.id


def delete_security_group_rule(*, client: Gcore, rule_id: str) -> None:
def delete_security_group_rule(*, client: Gcore, rule_id: str, security_group_id: str) -> None:
print("\n=== DELETE SECURITY GROUP RULE ===")
client.cloud.security_groups.rules.delete(rule_id=rule_id) # pyright: ignore[reportDeprecated]
client.cloud.security_groups.rules.delete_and_poll(rule_id=rule_id, group_id=security_group_id)
print(f"Deleted security group rule: ID={rule_id}")
print("========================")

Expand Down
8 changes: 4 additions & 4 deletions examples/cloud/security_groups_async.py
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ async def main() -> None:
# Rules
rule_id = await create_security_group_rule(client=gcore, security_group_id=security_group_id)
rule_id = await replace_security_group_rule(client=gcore, rule_id=rule_id, security_group_id=security_group_id)
await delete_security_group_rule(client=gcore, rule_id=rule_id)
await delete_security_group_rule(client=gcore, rule_id=rule_id, security_group_id=security_group_id)

await delete_security_group(client=gcore, security_group_id=security_group_id)

Expand Down Expand Up @@ -90,7 +90,7 @@ async def delete_security_group(*, client: AsyncGcore, security_group_id: str) -

async def create_security_group_rule(*, client: AsyncGcore, security_group_id: str) -> str:
print("\n=== CREATE SECURITY GROUP RULE ===")
rule = await client.cloud.security_groups.rules.create( # pyright: ignore[reportDeprecated]
rule = await client.cloud.security_groups.rules.create_and_poll(
group_id=security_group_id,
direction="ingress",
protocol="tcp",
Expand Down Expand Up @@ -123,9 +123,9 @@ async def replace_security_group_rule(*, client: AsyncGcore, rule_id: str, secur
return rule.id


async def delete_security_group_rule(*, client: AsyncGcore, rule_id: str) -> None:
async def delete_security_group_rule(*, client: AsyncGcore, rule_id: str, security_group_id: str) -> None:
print("\n=== DELETE SECURITY GROUP RULE ===")
await client.cloud.security_groups.rules.delete(rule_id=rule_id) # pyright: ignore[reportDeprecated]
await client.cloud.security_groups.rules.delete_and_poll(rule_id=rule_id, group_id=security_group_id)
print(f"Deleted security group rule: ID={rule_id}")
print("========================")

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
from datetime import datetime, timezone, timedelta

from gcore import Gcore
from gcore.types.iam.user_invite_params import UserRole
from gcore.types.iam.user_invite_params import UserGroupParam
from gcore.types.iam.api_token_create_params import ClientUser


Expand All @@ -21,7 +21,7 @@ def main() -> None:

user_email = "john.doe@example.com"
user_name = "John Doe"
user_role = UserRole(id=5, name="Engineers")
user_role = UserGroupParam(id=5, name="Engineers")

# Step 1: Invite user via IAM
invited_user = gcore.iam.users.invite(
Expand Down
8 changes: 4 additions & 4 deletions examples/storage/basic.py
Original file line number Diff line number Diff line change
Expand Up @@ -22,9 +22,9 @@ def main() -> None:
def create_storage(*, client: Gcore) -> int:
print("\n=== CREATE STORAGE ===")
name = f"example-s3-storage-{int(time.time())}"
storage = client.storage.create(
storage = client.storage.create( # pyright: ignore[reportDeprecated]
name=name,
type="s3",
type="s3_compatible",
location="s-ed1",
)
print(f"Created Storage: ID={storage.id}, Name={storage.name}, Type={storage.type}, Location={storage.location}")
Expand Down Expand Up @@ -57,7 +57,7 @@ def get_storage(*, client: Gcore, storage_id: int) -> None:

def update_storage(*, client: Gcore, storage_id: int) -> None:
print("\n=== UPDATE STORAGE ===")
storage = client.storage.update(
storage = client.storage.update( # pyright: ignore[reportDeprecated]
storage_id=storage_id,
expires="30 days",
)
Expand All @@ -67,7 +67,7 @@ def update_storage(*, client: Gcore, storage_id: int) -> None:

def delete_storage(*, client: Gcore, storage_id: int) -> None:
print("\n=== DELETE STORAGE ===")
client.storage.delete(storage_id=storage_id)
client.storage.delete(storage_id=storage_id) # pyright: ignore[reportDeprecated]
print(f"Storage {storage_id} deleted successfully")
print("======================")

Expand Down
8 changes: 4 additions & 4 deletions examples/storage/basic_async.py
Original file line number Diff line number Diff line change
Expand Up @@ -23,9 +23,9 @@ async def main() -> None:
async def create_storage(*, client: AsyncGcore) -> int:
print("\n=== CREATE STORAGE ===")
name = f"example-s3-storage-{int(time.time())}"
storage = await client.storage.create(
storage = await client.storage.create( # pyright: ignore[reportDeprecated]
name=name,
type="s3",
type="s3_compatible",
location="s-ed1",
)
print(f"Created Storage: ID={storage.id}, Name={storage.name}, Type={storage.type}, Location={storage.location}")
Expand Down Expand Up @@ -60,7 +60,7 @@ async def get_storage(*, client: AsyncGcore, storage_id: int) -> None:

async def update_storage(*, client: AsyncGcore, storage_id: int) -> None:
print("\n=== UPDATE STORAGE ===")
storage = await client.storage.update(
storage = await client.storage.update( # pyright: ignore[reportDeprecated]
storage_id=storage_id,
expires="30 days",
)
Expand All @@ -70,7 +70,7 @@ async def update_storage(*, client: AsyncGcore, storage_id: int) -> None:

async def delete_storage(*, client: AsyncGcore, storage_id: int) -> None:
print("\n=== DELETE STORAGE ===")
await client.storage.delete(storage_id=storage_id)
await client.storage.delete(storage_id=storage_id) # pyright: ignore[reportDeprecated]
print(f"Storage {storage_id} deleted successfully")
print("======================")

Expand Down
16 changes: 8 additions & 8 deletions examples/storage/credentials.py
Original file line number Diff line number Diff line change
Expand Up @@ -30,9 +30,9 @@ def main() -> None:
def create_s3_storage(*, client: Gcore) -> int:
print("\n=== CREATE S3 STORAGE ===")
s3_name = f"s3-creds-example-{int(time.time())}"
storage = client.storage.create(
storage = client.storage.create( # pyright: ignore[reportDeprecated]
name=s3_name,
type="s3",
type="s3_compatible",
location="s-ed1",
)
print(f"Created Storage: ID={storage.id}, Name={storage.name}, Type={storage.type}, Location={storage.location}")
Expand All @@ -47,7 +47,7 @@ def create_s3_storage(*, client: Gcore) -> int:
def create_sftp_storage(*, client: Gcore) -> int:
print("\n=== CREATE SFTP STORAGE ===")
sftp_name = f"sftp-ex-{int(time.time()) % 1000000}"
storage = client.storage.create(
storage = client.storage.create( # pyright: ignore[reportDeprecated]
name=sftp_name,
type="sftp",
location="ams",
Expand Down Expand Up @@ -90,7 +90,7 @@ def get_storage(*, client: Gcore, storage_id: int) -> None:

def generate_s3_keys(*, client: Gcore, s3_storage_id: int) -> None:
print("\n=== GENERATE S3 KEYS ===")
storage = client.storage.credentials.recreate(
storage = client.storage.credentials.recreate( # pyright: ignore[reportDeprecated]
storage_id=s3_storage_id,
generate_s3_keys=True,
)
Expand All @@ -103,7 +103,7 @@ def generate_s3_keys(*, client: Gcore, s3_storage_id: int) -> None:

def generate_sftp_password(*, client: Gcore, sftp_storage_id: int) -> None:
print("\n=== GENERATE SFTP PASSWORD ===")
storage = client.storage.credentials.recreate(
storage = client.storage.credentials.recreate( # pyright: ignore[reportDeprecated]
storage_id=sftp_storage_id,
generate_sftp_password=True,
)
Expand All @@ -115,7 +115,7 @@ def generate_sftp_password(*, client: Gcore, sftp_storage_id: int) -> None:
def set_custom_sftp_password(*, client: Gcore, sftp_storage_id: int) -> None:
print("\n=== SET CUSTOM SFTP PASSWORD ===")
custom_password = "MyNewSecurePassword456!"
client.storage.credentials.recreate(
client.storage.credentials.recreate( # pyright: ignore[reportDeprecated]
storage_id=sftp_storage_id,
sftp_password=custom_password,
)
Expand All @@ -125,7 +125,7 @@ def set_custom_sftp_password(*, client: Gcore, sftp_storage_id: int) -> None:

def delete_sftp_password(*, client: Gcore, sftp_storage_id: int) -> None:
print("\n=== DELETE SFTP PASSWORD ===")
client.storage.credentials.recreate(
client.storage.credentials.recreate( # pyright: ignore[reportDeprecated]
storage_id=sftp_storage_id,
delete_sftp_password=True,
)
Expand All @@ -136,7 +136,7 @@ def delete_sftp_password(*, client: Gcore, sftp_storage_id: int) -> None:
def delete_storage(*, client: Gcore, storage_id: int) -> None:
"""Delete a single storage"""
print("\n=== DELETE STORAGE ===")
client.storage.delete(storage_id=storage_id)
client.storage.delete(storage_id=storage_id) # pyright: ignore[reportDeprecated]
print(f"Storage {storage_id} deleted successfully")
print("======================")

Expand Down
16 changes: 8 additions & 8 deletions examples/storage/credentials_async.py
Original file line number Diff line number Diff line change
Expand Up @@ -31,9 +31,9 @@ async def main() -> None:
async def create_s3_storage(*, client: AsyncGcore) -> int:
print("\n=== CREATE S3 STORAGE ===")
s3_name = f"s3-creds-example-{int(time.time())}"
storage = await client.storage.create(
storage = await client.storage.create( # pyright: ignore[reportDeprecated]
name=s3_name,
type="s3",
type="s3_compatible",
location="s-ed1",
)
print(f"Created Storage: ID={storage.id}, Name={storage.name}, Type={storage.type}, Location={storage.location}")
Expand All @@ -48,7 +48,7 @@ async def create_s3_storage(*, client: AsyncGcore) -> int:
async def create_sftp_storage(*, client: AsyncGcore) -> int:
print("\n=== CREATE SFTP STORAGE ===")
sftp_name = f"sftp-ex-{int(time.time()) % 1000000}"
storage = await client.storage.create(
storage = await client.storage.create( # pyright: ignore[reportDeprecated]
name=sftp_name,
type="sftp",
location="ams",
Expand Down Expand Up @@ -91,7 +91,7 @@ async def get_storage(*, client: AsyncGcore, storage_id: int) -> None:

async def generate_s3_keys(*, client: AsyncGcore, s3_storage_id: int) -> None:
print("\n=== GENERATE S3 KEYS ===")
storage = await client.storage.credentials.recreate(
storage = await client.storage.credentials.recreate( # pyright: ignore[reportDeprecated]
storage_id=s3_storage_id,
generate_s3_keys=True,
)
Expand All @@ -104,7 +104,7 @@ async def generate_s3_keys(*, client: AsyncGcore, s3_storage_id: int) -> None:

async def generate_sftp_password(*, client: AsyncGcore, sftp_storage_id: int) -> None:
print("\n=== GENERATE SFTP PASSWORD ===")
storage = await client.storage.credentials.recreate(
storage = await client.storage.credentials.recreate( # pyright: ignore[reportDeprecated]
storage_id=sftp_storage_id,
generate_sftp_password=True,
)
Expand All @@ -116,7 +116,7 @@ async def generate_sftp_password(*, client: AsyncGcore, sftp_storage_id: int) ->
async def set_custom_sftp_password(*, client: AsyncGcore, sftp_storage_id: int) -> None:
print("\n=== SET CUSTOM SFTP PASSWORD ===")
custom_password = "MyNewSecurePassword456!"
await client.storage.credentials.recreate(
await client.storage.credentials.recreate( # pyright: ignore[reportDeprecated]
storage_id=sftp_storage_id,
sftp_password=custom_password,
)
Expand All @@ -126,7 +126,7 @@ async def set_custom_sftp_password(*, client: AsyncGcore, sftp_storage_id: int)

async def delete_sftp_password(*, client: AsyncGcore, sftp_storage_id: int) -> None:
print("\n=== DELETE SFTP PASSWORD ===")
await client.storage.credentials.recreate(
await client.storage.credentials.recreate( # pyright: ignore[reportDeprecated]
storage_id=sftp_storage_id,
delete_sftp_password=True,
)
Expand All @@ -137,7 +137,7 @@ async def delete_sftp_password(*, client: AsyncGcore, sftp_storage_id: int) -> N
async def delete_storage(*, client: AsyncGcore, storage_id: int) -> None:
"""Delete a single storage"""
print("\n=== DELETE STORAGE ===")
await client.storage.delete(storage_id=storage_id)
await client.storage.delete(storage_id=storage_id) # pyright: ignore[reportDeprecated]
print(f"Storage {storage_id} deleted successfully")
print("======================")

Expand Down
Loading
Loading