diff --git a/.github/workflows/python.yml b/.github/workflows/python.yml
index 267a512..eef14a5 100644
--- a/.github/workflows/python.yml
+++ b/.github/workflows/python.yml
@@ -133,5 +133,4 @@ jobs:
- name: Publish to PyPI
uses: pypa/gh-action-pypi-publish@release/v1
with:
- packages-dir: waylay-sdk-storage-types/dist
- password: ${{ secrets.PYPI_TYPES_PKG_API_TOKEN }}
+ packages-dir: waylay-sdk-storage-types/dist
\ No newline at end of file
diff --git a/.openapi-generator/FILES b/.openapi-generator/FILES
index 8aa76dc..1ab4126 100644
--- a/.openapi-generator/FILES
+++ b/.openapi-generator/FILES
@@ -93,3 +93,5 @@ test/types/validation_error_stub.py
test/types/venttype_stub.py
test/types/web_script_channel_config_stub.py
test/types/web_script_channel_config_type_stub.py
+waylay-sdk-storage-types/README.md
+waylay-sdk-storage/README.md
diff --git a/Makefile b/Makefile
index 2d025fb..7b0d2e7 100644
--- a/Makefile
+++ b/Makefile
@@ -64,7 +64,7 @@ typecheck: install ### Run type checks
code-qa: install ### perform code quality checks
@${VENV_TYPES_ACTIVATE} && make exec-code-qa
-test: test-types test-notypes ### Run unit tests with and without types installed
+test: test-notypes test-types ### Run unit tests with and without types installed
test-types: install-types ### Run unit tests with types installed
@${VENV_TYPES_ACTIVATE} && make exec-test
diff --git a/README.md b/README.md
index c7db574..b605e59 100644
--- a/README.md
+++ b/README.md
@@ -4,9 +4,10 @@ Manage storage buckets and subscriptions.
This Python package is automatically generated based on the
-Waylay Storage OpenAPI specification (API version: v0.4.1)
+Waylay Storage OpenAPI specification (API version: 0.4.2)
+For more information, please visit [the openapi specification](https://docs.waylay.io/openapi/public/redocly/storage.html).
-It consists of two sub-packages that are both plugins for the waylay-sdk package.
+It consists of two sub-packages that are both plugins for the waylay-sdk-core package.
- The `waylay-sdk-storage` sub-package contains the Storage api methods.
- The `waylay-sdk-storage-types` sub-package is an extension that contains the typed model classes for all path params, query params, body params and responses for each of the api methods in `waylay-sdk-storage`.
@@ -14,21 +15,20 @@ It consists of two sub-packages that are both plugins for the waylay-sdk package
This package requires Python 3.9+.
## Installation
-Typically this package is installed when installing the [waylay-sdk](https://github.com/waylayio/waylay-sdk-py) package to enable the service's functionality.
+Typically this package is installed when installing the [waylay-sdk-core](https://pypi.org/project/waylay-sdk/) package to enable the service's functionality.
When the service api methods are required, waylay-sdk-storage is included in:
-- ```pip install waylay-sdk[storage]``` to install `waylay-sdk` along with only this service, or
-- ```pip install waylay-sdk[services]``` to install `waylay-sdk` along with all services.
+- ```pip install waylay-sdk-core[storage]``` to install `waylay-sdk-core` along with only this service, or
+- ```pip install waylay-sdk-core[services]``` to install `waylay-sdk-core` along with all services.
When the typed models are required, both waylay-sdk-storage and waylay-sdk-storage-types are included in:
-- ```pip install waylay-sdk[storage,storage-types]``` to install `waylay-sdk` along with only this service including the typed models, or
-- ```pip install waylay-sdk[services,services-types]``` to install `waylay-sdk` along with all services along with the typed models.
+- ```pip install waylay-sdk-core[storage,storage-types]``` to install `waylay-sdk-core` along with only this service including the typed models, or
+- ```pip install waylay-sdk-core[services,services-types]``` to install `waylay-sdk-core` along with all services along with the typed models.
## Usage
-
```python
from pprint import pprint
-# Import the waylay-client from the waylay-sdk package
+# Import the waylay-client from the waylay-sdk-core package
from waylay.sdk.client import WaylayClient
from waylay.sdk.api.api_exceptions import ApiError
@@ -36,26 +36,35 @@ from waylay.sdk.api.api_exceptions import ApiError
waylay_client = WaylayClient.from_profile()
# Note that the typed model classes for responses/parameters/... are only available when `waylay-sdk-storage-types` is installed
+from waylay.services.storage.models.tenant_status_report import TenantStatusReport
try:
- # Version
- # calls `GET /storage/v1/`
- api_response = await waylay_client.storage.about.version(
+ # Status
+ # calls `GET /storage/v1/status`
+ api_response = await waylay_client.storage.about.status(
+ # query parameters:
+ query = {
+ 'include_buckets': True
+ 'include_queues': True
+ 'include_disk_usage': False
+ },
)
- print("The response of storage.about.version:\n")
+ print("The response of storage.about.status:\n")
pprint(api_response)
except ApiError as e:
- print("Exception when calling storage.about.version: %s\n" % e)
+ print("Exception when calling storage.about.status: %s\n" % e)
```
+For more information, please visit the [Waylay API documentation](https://docs.waylay.io/#/api/?id=software-development-kits).
+
## Documentation for API Endpoints
All URIs are relative to *https://api-aws-dev.waylay.io*
Class | Method | HTTP request | Description
------------ | ------------- | ------------- | -------------
+*AboutApi* | [**get**](docs/AboutApi.md#get) | **GET** /storage/v1/ | Version
*AboutApi* | [**status**](docs/AboutApi.md#status) | **GET** /storage/v1/status | Status
-*AboutApi* | [**version**](docs/AboutApi.md#version) | **GET** /storage/v1/ | Version
*BucketApi* | [**get**](docs/BucketApi.md#get) | **GET** /storage/v1/bucket/{bucket_name} | Get Bucket
*BucketApi* | [**list**](docs/BucketApi.md#list) | **GET** /storage/v1/bucket | List Buckets
*ObjectApi* | [**copy_or_move**](docs/ObjectApi.md#copy_or_move) | **PUT** /storage/v1/bucket/{bucket_name}/{target_path} | Copy Or Move Object
diff --git a/docs/AboutApi.md b/docs/AboutApi.md
index bb0124d..91bba44 100644
--- a/docs/AboutApi.md
+++ b/docs/AboutApi.md
@@ -4,25 +4,24 @@ All URIs are relative to *https://api-aws-dev.waylay.io*
Method | HTTP request | Description
------------- | ------------- | -------------
+[**get**](AboutApi.md#get) | **GET** /storage/v1/ | Version
[**status**](AboutApi.md#status) | **GET** /storage/v1/status | Status
-[**version**](AboutApi.md#version) | **GET** /storage/v1/ | Version
-# **status**
-> status(
-> query: StatusQuery,
+# **get**
+> get(
> headers
-> ) -> TenantStatusReport
+> ) -> str
-Status
+Version
-Validate consistency of buckets and notification queues for this tenant.
+Get the application version.
### Example
```python
from pprint import pprint
-# Import the waylay-client from the waylay-sdk package
+# Import the waylay-client from the waylay-sdk-core package
from waylay.sdk.client import WaylayClient
from waylay.sdk.api.api_exceptions import ApiError
@@ -30,44 +29,31 @@ from waylay.sdk.api.api_exceptions import ApiError
waylay_client = WaylayClient.from_profile()
# Note that the typed model classes for responses/parameters/... are only available when `waylay-sdk-storage-types` is installed
-from waylay.services.storage.models.tenant_status_report import TenantStatusReport
try:
- # Status
- # calls `GET /storage/v1/status`
- api_response = await waylay_client.storage.about.status(
- # query parameters:
- query = {
- 'include_buckets': True
- 'include_queues': True
- 'include_disk_usage': False
- },
+ # Version
+ # calls `GET /storage/v1/`
+ api_response = await waylay_client.storage.about.get(
)
- print("The response of storage.about.status:\n")
+ print("The response of storage.about.get:\n")
pprint(api_response)
except ApiError as e:
- print("Exception when calling storage.about.status: %s\n" % e)
+ print("Exception when calling storage.about.get: %s\n" % e)
```
### Endpoint
```
-GET /storage/v1/status
+GET /storage/v1/
```
### Parameters
-Name | Type | API binding | Description | Notes
--------- | ----- | ------------- | ------------- | -------------
-**query** | [QueryParamTypes](Operation.md#req_arg_query) \| **None** | URL query parameter | |
-**query['store']** (dict)
**query.store** (Query) | **str** | query parameter `"store"` | | [optional]
-**query['include_buckets']** (dict)
**query.include_buckets** (Query) | **bool** | query parameter `"include_buckets"` | | [optional] [default True]
-**query['include_queues']** (dict)
**query.include_queues** (Query) | **bool** | query parameter `"include_queues"` | | [optional] [default True]
-**query['include_disk_usage']** (dict)
**query.include_disk_usage** (Query) | **bool** | query parameter `"include_disk_usage"` | | [optional] [default False]
+This endpoint does not need any parameter.
**headers** | [HeaderTypes](Operation.md#req_headers) | request headers | |
### Return type
Selected path param | Raw response param | Return Type | Description | Links
------------------- | ------------------ | ------------ | ----------- | -----
-Literal[""] _(default)_ | False _(default)_ | **`TenantStatusReport`** | | [TenantStatusReport](TenantStatusReport.md)
+Literal[""] _(default)_ | False _(default)_ | **`str`** | |
str | False _(default)_ | **`Any`** | If any other string value for the selected path is provided, the exact type of the response will only be known at runtime. |
/ | True | `Response` | The raw http response object.
@@ -81,25 +67,25 @@ str | False _(default)_ | **`Any`** | If any other string value for the selected
| Status code | Description | Response headers |
|-------------|-------------|------------------|
**200** | Successful Response | - |
-**422** | Validation Error | - |
[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
-# **version**
-> version(
+# **status**
+> status(
+> query: StatusQuery,
> headers
-> ) -> str
+> ) -> TenantStatusReport
-Version
+Status
-Get the application version.
+Validate consistency of buckets and notification queues for this tenant.
### Example
```python
from pprint import pprint
-# Import the waylay-client from the waylay-sdk package
+# Import the waylay-client from the waylay-sdk-core package
from waylay.sdk.client import WaylayClient
from waylay.sdk.api.api_exceptions import ApiError
@@ -107,31 +93,44 @@ from waylay.sdk.api.api_exceptions import ApiError
waylay_client = WaylayClient.from_profile()
# Note that the typed model classes for responses/parameters/... are only available when `waylay-sdk-storage-types` is installed
+from waylay.services.storage.models.tenant_status_report import TenantStatusReport
try:
- # Version
- # calls `GET /storage/v1/`
- api_response = await waylay_client.storage.about.version(
+ # Status
+ # calls `GET /storage/v1/status`
+ api_response = await waylay_client.storage.about.status(
+ # query parameters:
+ query = {
+ 'include_buckets': True
+ 'include_queues': True
+ 'include_disk_usage': False
+ },
)
- print("The response of storage.about.version:\n")
+ print("The response of storage.about.status:\n")
pprint(api_response)
except ApiError as e:
- print("Exception when calling storage.about.version: %s\n" % e)
+ print("Exception when calling storage.about.status: %s\n" % e)
```
### Endpoint
```
-GET /storage/v1/
+GET /storage/v1/status
```
### Parameters
-This endpoint does not need any parameter.
+Name | Type | API binding | Description | Notes
+-------- | ----- | ------------- | ------------- | -------------
+**query** | [QueryParamTypes](Operation.md#req_arg_query) \| **None** | URL query parameter | |
+**query['store']** (dict)
**query.store** (Query) | **str** | query parameter `"store"` | | [optional]
+**query['include_buckets']** (dict)
**query.include_buckets** (Query) | **bool** | query parameter `"include_buckets"` | | [optional] [default True]
+**query['include_queues']** (dict)
**query.include_queues** (Query) | **bool** | query parameter `"include_queues"` | | [optional] [default True]
+**query['include_disk_usage']** (dict)
**query.include_disk_usage** (Query) | **bool** | query parameter `"include_disk_usage"` | | [optional] [default False]
**headers** | [HeaderTypes](Operation.md#req_headers) | request headers | |
### Return type
Selected path param | Raw response param | Return Type | Description | Links
------------------- | ------------------ | ------------ | ----------- | -----
-Literal[""] _(default)_ | False _(default)_ | **`str`** | |
+Literal[""] _(default)_ | False _(default)_ | **`TenantStatusReport`** | | [TenantStatusReport](TenantStatusReport.md)
str | False _(default)_ | **`Any`** | If any other string value for the selected path is provided, the exact type of the response will only be known at runtime. |
/ | True | `Response` | The raw http response object.
@@ -145,6 +144,7 @@ str | False _(default)_ | **`Any`** | If any other string value for the selected
| Status code | Description | Response headers |
|-------------|-------------|------------------|
**200** | Successful Response | - |
+**422** | Validation Error | - |
[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
diff --git a/docs/BucketApi.md b/docs/BucketApi.md
index ec49524..b270486 100644
--- a/docs/BucketApi.md
+++ b/docs/BucketApi.md
@@ -23,7 +23,7 @@ Get a descriptive representation of a bucket.
```python
from pprint import pprint
-# Import the waylay-client from the waylay-sdk package
+# Import the waylay-client from the waylay-sdk-core package
from waylay.sdk.client import WaylayClient
from waylay.sdk.api.api_exceptions import ApiError
@@ -97,7 +97,7 @@ List authorized buckets.
```python
from pprint import pprint
-# Import the waylay-client from the waylay-sdk package
+# Import the waylay-client from the waylay-sdk-core package
from waylay.sdk.client import WaylayClient
from waylay.sdk.api.api_exceptions import ApiError
diff --git a/docs/ObjectApi.md b/docs/ObjectApi.md
index 4ed617c..6b44ac2 100644
--- a/docs/ObjectApi.md
+++ b/docs/ObjectApi.md
@@ -26,7 +26,7 @@ Copy or move object to new location.
```python
from pprint import pprint
-# Import the waylay-client from the waylay-sdk package
+# Import the waylay-client from the waylay-sdk-core package
from waylay.sdk.client import WaylayClient
from waylay.sdk.api.api_exceptions import ApiError
@@ -107,7 +107,7 @@ Create a (virtual) folder. * (`all=true`) force creation of a hidden folder,
```python
from pprint import pprint
-# Import the waylay-client from the waylay-sdk package
+# Import the waylay-client from the waylay-sdk-core package
from waylay.sdk.client import WaylayClient
from waylay.sdk.api.api_exceptions import ApiError
@@ -187,7 +187,7 @@ List, inspect or sign objects. * list the objects of a bucket with {object_path
```python
from pprint import pprint
-# Import the waylay-client from the waylay-sdk package
+# Import the waylay-client from the waylay-sdk-core package
from waylay.sdk.client import WaylayClient
from waylay.sdk.api.api_exceptions import ApiError
@@ -285,7 +285,7 @@ Remove the object or folder at {object_path}. An {object_path} ending in a `/`
```python
from pprint import pprint
-# Import the waylay-client from the waylay-sdk package
+# Import the waylay-client from the waylay-sdk-core package
from waylay.sdk.client import WaylayClient
from waylay.sdk.api.api_exceptions import ApiError
diff --git a/docs/Operation.md b/docs/Operation.md
index 1139f3b..a9d5281 100644
--- a/docs/Operation.md
+++ b/docs/Operation.md
@@ -34,6 +34,8 @@ response = await waylay_client.demo.gadgets.combatulate_trinket(
raw_response=False,
select_path=None,
response_type=None,
+ # optional flag to disable the validation of the request arguments when using typed requests
+ validate_request=True,
# optional named arguments passed to the http client (named)
timeout=10.0,
)
diff --git a/docs/SubscriptionApi.md b/docs/SubscriptionApi.md
index 259f8f8..df23eea 100644
--- a/docs/SubscriptionApi.md
+++ b/docs/SubscriptionApi.md
@@ -28,7 +28,7 @@ Create a new notification subscription on a bucket with a given or generated id.
```python
from pprint import pprint
-# Import the waylay-client from the waylay-sdk package
+# Import the waylay-client from the waylay-sdk-core package
from waylay.sdk.client import WaylayClient
from waylay.sdk.api.api_exceptions import ApiError
@@ -106,7 +106,7 @@ Remove all notification subscription on a bucket that match a given event and/or
```python
from pprint import pprint
-# Import the waylay-client from the waylay-sdk package
+# Import the waylay-client from the waylay-sdk-core package
from waylay.sdk.client import WaylayClient
from waylay.sdk.api.api_exceptions import ApiError
@@ -193,7 +193,7 @@ Fetch a notification subscription.
```python
from pprint import pprint
-# Import the waylay-client from the waylay-sdk package
+# Import the waylay-client from the waylay-sdk-core package
from waylay.sdk.client import WaylayClient
from waylay.sdk.api.api_exceptions import ApiError
@@ -269,7 +269,7 @@ List notification subscriptions per bucket that have notification enabled.
```python
from pprint import pprint
-# Import the waylay-client from the waylay-sdk package
+# Import the waylay-client from the waylay-sdk-core package
from waylay.sdk.client import WaylayClient
from waylay.sdk.api.api_exceptions import ApiError
@@ -352,7 +352,7 @@ List notification subscriptions for given bucket.
```python
from pprint import pprint
-# Import the waylay-client from the waylay-sdk package
+# Import the waylay-client from the waylay-sdk-core package
from waylay.sdk.client import WaylayClient
from waylay.sdk.api.api_exceptions import ApiError
@@ -439,7 +439,7 @@ Remove a notification subscription.
```python
from pprint import pprint
-# Import the waylay-client from the waylay-sdk package
+# Import the waylay-client from the waylay-sdk-core package
from waylay.sdk.client import WaylayClient
from waylay.sdk.api.api_exceptions import ApiError
@@ -517,7 +517,7 @@ Create or replace a notification subscription on a bucket with a given id.
```python
from pprint import pprint
-# Import the waylay-client from the waylay-sdk package
+# Import the waylay-client from the waylay-sdk-core package
from waylay.sdk.client import WaylayClient
from waylay.sdk.api.api_exceptions import ApiError
diff --git a/openapi/storage.openapi.yaml b/openapi/storage.openapi.yaml
index 7a19ad0..1f85c79 100644
--- a/openapi/storage.openapi.yaml
+++ b/openapi/storage.openapi.yaml
@@ -6,7 +6,7 @@ info:
Manage storage buckets and subscriptions.
'
- version: v0.4.1
+ version: v0.4.2
paths:
/storage/v1/bucket:
get:
@@ -764,7 +764,7 @@ paths:
- About
summary: Version
description: Get the application version.
- operationId: version_about
+ operationId: get_about
responses:
'200':
description: Successful Response
@@ -772,7 +772,7 @@ paths:
application/json:
schema:
type: string
- title: Response Version
+ title: Response Get
security: *id001
/storage/v1/status:
get:
diff --git a/openapi/storage.transformed.openapi.yaml b/openapi/storage.transformed.openapi.yaml
index 52b1804..9083b2a 100644
--- a/openapi/storage.transformed.openapi.yaml
+++ b/openapi/storage.transformed.openapi.yaml
@@ -4,7 +4,7 @@ info:
description: |
Manage storage buckets and subscriptions.
- version: v0.4.1
+ version: 0.4.2
paths:
/storage/v1/bucket:
get:
@@ -920,7 +920,7 @@ paths:
- About
summary: Version
description: Get the application version.
- operationId: version_about
+ operationId: get_about
responses:
'200':
description: Successful Response
@@ -928,10 +928,10 @@ paths:
application/json:
schema:
type: string
- title: Response Version
+ title: Response Get
security:
- waylayApiKeySecret: []
- x-py-method: version
+ x-py-method: get
x-consumes-multipart: false
x-consumes-urlencoded: false
x-consumes-json: false
diff --git a/requirements.txt b/requirements.txt
index 500bd25..c98d1d4 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -1,3 +1,3 @@
pydantic ~= 2.6
typing-extensions ~= 4.9
-waylay-sdk ~= 0.0.4rc5
+waylay-sdk-core ~= 0.2.1
diff --git a/test/api/about_api_test.py b/test/api/about_api_test.py
index ad73a8a..7276cc9 100644
--- a/test/api/about_api_test.py
+++ b/test/api/about_api_test.py
@@ -46,6 +46,45 @@ def test_registered(waylay_client: WaylayClient):
assert isinstance(waylay_client.storage.about, AboutApi)
+def _get_set_mock_response(httpx_mock: HTTPXMock, gateway_url: str):
+ mock_response = "''"
+ httpx_mock_kwargs = {
+ "method": "GET",
+ "url": re.compile(f"^{gateway_url}/storage/v1/(\\?.*)?"),
+ "content": json.dumps(mock_response, default=str),
+ "status_code": 200,
+ }
+ httpx_mock.add_response(**httpx_mock_kwargs)
+
+
+@pytest.mark.asyncio
+@pytest.mark.skipif(not MODELS_AVAILABLE, reason="Types not installed.")
+async def test_get(service: StorageService, gateway_url: str, httpx_mock: HTTPXMock):
+ """Test case for get
+ Version
+ """
+ # set path params
+ kwargs = {}
+ _get_set_mock_response(httpx_mock, gateway_url)
+ resp = await service.about.get(**kwargs)
+ check_type(resp, Union[str,])
+
+
+@pytest.mark.asyncio
+@pytest.mark.skipif(MODELS_AVAILABLE, reason="Types installed.")
+async def test_get_without_types(
+ service: StorageService, gateway_url: str, httpx_mock: HTTPXMock
+):
+ """Test case for get with models not installed
+ Version
+ """
+ # set path params
+ kwargs = {}
+ _get_set_mock_response(httpx_mock, gateway_url)
+ resp = await service.about.get(**kwargs)
+ check_type(resp, Model)
+
+
def _status_set_mock_response(httpx_mock: HTTPXMock, gateway_url: str):
mock_response = TenantStatusReportStub.create_json()
httpx_mock_kwargs = {
@@ -98,44 +137,3 @@ async def test_status_without_types(
_status_set_mock_response(httpx_mock, gateway_url)
resp = await service.about.status(**kwargs)
check_type(resp, Model)
-
-
-def _version_set_mock_response(httpx_mock: HTTPXMock, gateway_url: str):
- mock_response = "''"
- httpx_mock_kwargs = {
- "method": "GET",
- "url": re.compile(f"^{gateway_url}/storage/v1/(\\?.*)?"),
- "content": json.dumps(mock_response, default=str),
- "status_code": 200,
- }
- httpx_mock.add_response(**httpx_mock_kwargs)
-
-
-@pytest.mark.asyncio
-@pytest.mark.skipif(not MODELS_AVAILABLE, reason="Types not installed.")
-async def test_version(
- service: StorageService, gateway_url: str, httpx_mock: HTTPXMock
-):
- """Test case for version
- Version
- """
- # set path params
- kwargs = {}
- _version_set_mock_response(httpx_mock, gateway_url)
- resp = await service.about.version(**kwargs)
- check_type(resp, Union[str,])
-
-
-@pytest.mark.asyncio
-@pytest.mark.skipif(MODELS_AVAILABLE, reason="Types installed.")
-async def test_version_without_types(
- service: StorageService, gateway_url: str, httpx_mock: HTTPXMock
-):
- """Test case for version with models not installed
- Version
- """
- # set path params
- kwargs = {}
- _version_set_mock_response(httpx_mock, gateway_url)
- resp = await service.about.version(**kwargs)
- check_type(resp, Model)
diff --git a/test/conftest.py b/test/conftest.py
index 4f5f39a..dd06552 100644
--- a/test/conftest.py
+++ b/test/conftest.py
@@ -1,5 +1,7 @@
"""Automatic pytest fixtures."""
+import random
+
import httpx
import pytest
import starlette.requests as req
@@ -8,6 +10,7 @@
from waylay.sdk.auth import NoCredentials
from waylay.services.storage.service import StorageService
+random.seed(10)
GATEWAY_URL = "http://example.io"
diff --git a/test/types/auth_stub.py b/test/types/auth_stub.py
index b35f7b6..273637b 100644
--- a/test/types/auth_stub.py
+++ b/test/types/auth_stub.py
@@ -43,11 +43,16 @@ class AUTHStub:
@classmethod
def create_json(cls):
"""Create a dict stub instance."""
- return auth_faker.generate()
+ return auth_faker.generate(use_defaults=True, use_examples=True)
@classmethod
def create_instance(cls) -> "AUTH":
"""Create AUTH stub instance."""
if not MODELS_AVAILABLE:
raise ImportError("Models must be installed to create class stubs")
- return AUTHAdapter.validate_python(cls.create_json())
+ json = cls.create_json()
+ if not json:
+ # use backup example based on the pydantic model schema
+ backup_faker = JSF(AUTHAdapter.json_schema(), allow_none_optionals=1)
+ json = backup_faker.generate(use_defaults=True, use_examples=True)
+ return AUTHAdapter.validate_python(json, context={"skip_validation": True})
diff --git a/test/types/authentication_config_stub.py b/test/types/authentication_config_stub.py
index 088fb9b..9b4c416 100644
--- a/test/types/authentication_config_stub.py
+++ b/test/types/authentication_config_stub.py
@@ -62,11 +62,22 @@ class AuthenticationConfigStub:
@classmethod
def create_json(cls):
"""Create a dict stub instance."""
- return authentication_config_faker.generate()
+ return authentication_config_faker.generate(
+ use_defaults=True, use_examples=True
+ )
@classmethod
def create_instance(cls) -> "AuthenticationConfig":
"""Create AuthenticationConfig stub instance."""
if not MODELS_AVAILABLE:
raise ImportError("Models must be installed to create class stubs")
- return AuthenticationConfigAdapter.validate_python(cls.create_json())
+ json = cls.create_json()
+ if not json:
+ # use backup example based on the pydantic model schema
+ backup_faker = JSF(
+ AuthenticationConfigAdapter.json_schema(), allow_none_optionals=1
+ )
+ json = backup_faker.generate(use_defaults=True, use_examples=True)
+ return AuthenticationConfigAdapter.validate_python(
+ json, context={"skip_validation": True}
+ )
diff --git a/test/types/bucket_configuration_stub.py b/test/types/bucket_configuration_stub.py
index ab874af..c608740 100644
--- a/test/types/bucket_configuration_stub.py
+++ b/test/types/bucket_configuration_stub.py
@@ -92,11 +92,20 @@ class BucketConfigurationStub:
@classmethod
def create_json(cls):
"""Create a dict stub instance."""
- return bucket_configuration_faker.generate()
+ return bucket_configuration_faker.generate(use_defaults=True, use_examples=True)
@classmethod
def create_instance(cls) -> "BucketConfiguration":
"""Create BucketConfiguration stub instance."""
if not MODELS_AVAILABLE:
raise ImportError("Models must be installed to create class stubs")
- return BucketConfigurationAdapter.validate_python(cls.create_json())
+ json = cls.create_json()
+ if not json:
+ # use backup example based on the pydantic model schema
+ backup_faker = JSF(
+ BucketConfigurationAdapter.json_schema(), allow_none_optionals=1
+ )
+ json = backup_faker.generate(use_defaults=True, use_examples=True)
+ return BucketConfigurationAdapter.validate_python(
+ json, context={"skip_validation": True}
+ )
diff --git a/test/types/bucket_listing_stub.py b/test/types/bucket_listing_stub.py
index d64c35a..ec0c8b3 100644
--- a/test/types/bucket_listing_stub.py
+++ b/test/types/bucket_listing_stub.py
@@ -59,11 +59,20 @@ class BucketListingStub:
@classmethod
def create_json(cls):
"""Create a dict stub instance."""
- return bucket_listing_faker.generate()
+ return bucket_listing_faker.generate(use_defaults=True, use_examples=True)
@classmethod
def create_instance(cls) -> "BucketListing":
"""Create BucketListing stub instance."""
if not MODELS_AVAILABLE:
raise ImportError("Models must be installed to create class stubs")
- return BucketListingAdapter.validate_python(cls.create_json())
+ json = cls.create_json()
+ if not json:
+ # use backup example based on the pydantic model schema
+ backup_faker = JSF(
+ BucketListingAdapter.json_schema(), allow_none_optionals=1
+ )
+ json = backup_faker.generate(use_defaults=True, use_examples=True)
+ return BucketListingAdapter.validate_python(
+ json, context={"skip_validation": True}
+ )
diff --git a/test/types/bucket_object_listing_stub.py b/test/types/bucket_object_listing_stub.py
index 3563f3f..d80696f 100644
--- a/test/types/bucket_object_listing_stub.py
+++ b/test/types/bucket_object_listing_stub.py
@@ -61,11 +61,22 @@ class BucketObjectListingStub:
@classmethod
def create_json(cls):
"""Create a dict stub instance."""
- return bucket_object_listing_faker.generate()
+ return bucket_object_listing_faker.generate(
+ use_defaults=True, use_examples=True
+ )
@classmethod
def create_instance(cls) -> "BucketObjectListing":
"""Create BucketObjectListing stub instance."""
if not MODELS_AVAILABLE:
raise ImportError("Models must be installed to create class stubs")
- return BucketObjectListingAdapter.validate_python(cls.create_json())
+ json = cls.create_json()
+ if not json:
+ # use backup example based on the pydantic model schema
+ backup_faker = JSF(
+ BucketObjectListingAdapter.json_schema(), allow_none_optionals=1
+ )
+ json = backup_faker.generate(use_defaults=True, use_examples=True)
+ return BucketObjectListingAdapter.validate_python(
+ json, context={"skip_validation": True}
+ )
diff --git a/test/types/bucket_object_stub.py b/test/types/bucket_object_stub.py
index 7f32f01..2443827 100644
--- a/test/types/bucket_object_stub.py
+++ b/test/types/bucket_object_stub.py
@@ -93,11 +93,20 @@ class BucketObjectStub:
@classmethod
def create_json(cls):
"""Create a dict stub instance."""
- return bucket_object_faker.generate()
+ return bucket_object_faker.generate(use_defaults=True, use_examples=True)
@classmethod
def create_instance(cls) -> "BucketObject":
"""Create BucketObject stub instance."""
if not MODELS_AVAILABLE:
raise ImportError("Models must be installed to create class stubs")
- return BucketObjectAdapter.validate_python(cls.create_json())
+ json = cls.create_json()
+ if not json:
+ # use backup example based on the pydantic model schema
+ backup_faker = JSF(
+ BucketObjectAdapter.json_schema(), allow_none_optionals=1
+ )
+ json = backup_faker.generate(use_defaults=True, use_examples=True)
+ return BucketObjectAdapter.validate_python(
+ json, context={"skip_validation": True}
+ )
diff --git a/test/types/bucket_stub.py b/test/types/bucket_stub.py
index d284f5a..0271571 100644
--- a/test/types/bucket_stub.py
+++ b/test/types/bucket_stub.py
@@ -72,11 +72,16 @@ class BucketStub:
@classmethod
def create_json(cls):
"""Create a dict stub instance."""
- return bucket_faker.generate()
+ return bucket_faker.generate(use_defaults=True, use_examples=True)
@classmethod
def create_instance(cls) -> "Bucket":
"""Create Bucket stub instance."""
if not MODELS_AVAILABLE:
raise ImportError("Models must be installed to create class stubs")
- return BucketAdapter.validate_python(cls.create_json())
+ json = cls.create_json()
+ if not json:
+ # use backup example based on the pydantic model schema
+ backup_faker = JSF(BucketAdapter.json_schema(), allow_none_optionals=1)
+ json = backup_faker.generate(use_defaults=True, use_examples=True)
+ return BucketAdapter.validate_python(json, context={"skip_validation": True})
diff --git a/test/types/bucketcreationstatus_stub.py b/test/types/bucketcreationstatus_stub.py
index d0e74d2..3083ea7 100644
--- a/test/types/bucketcreationstatus_stub.py
+++ b/test/types/bucketcreationstatus_stub.py
@@ -45,11 +45,22 @@ class BUCKETCREATIONSTATUSStub:
@classmethod
def create_json(cls):
"""Create a dict stub instance."""
- return bucket_creation_status_faker.generate()
+ return bucket_creation_status_faker.generate(
+ use_defaults=True, use_examples=True
+ )
@classmethod
def create_instance(cls) -> "BUCKETCREATIONSTATUS":
"""Create BUCKETCREATIONSTATUS stub instance."""
if not MODELS_AVAILABLE:
raise ImportError("Models must be installed to create class stubs")
- return BUCKETCREATIONSTATUSAdapter.validate_python(cls.create_json())
+ json = cls.create_json()
+ if not json:
+ # use backup example based on the pydantic model schema
+ backup_faker = JSF(
+ BUCKETCREATIONSTATUSAdapter.json_schema(), allow_none_optionals=1
+ )
+ json = backup_faker.generate(use_defaults=True, use_examples=True)
+ return BUCKETCREATIONSTATUSAdapter.validate_python(
+ json, context={"skip_validation": True}
+ )
diff --git a/test/types/bucketpolicystatus_stub.py b/test/types/bucketpolicystatus_stub.py
index ddf78d5..cdb82a1 100644
--- a/test/types/bucketpolicystatus_stub.py
+++ b/test/types/bucketpolicystatus_stub.py
@@ -45,11 +45,20 @@ class BUCKETPOLICYSTATUSStub:
@classmethod
def create_json(cls):
"""Create a dict stub instance."""
- return bucket_policy_status_faker.generate()
+ return bucket_policy_status_faker.generate(use_defaults=True, use_examples=True)
@classmethod
def create_instance(cls) -> "BUCKETPOLICYSTATUS":
"""Create BUCKETPOLICYSTATUS stub instance."""
if not MODELS_AVAILABLE:
raise ImportError("Models must be installed to create class stubs")
- return BUCKETPOLICYSTATUSAdapter.validate_python(cls.create_json())
+ json = cls.create_json()
+ if not json:
+ # use backup example based on the pydantic model schema
+ backup_faker = JSF(
+ BUCKETPOLICYSTATUSAdapter.json_schema(), allow_none_optionals=1
+ )
+ json = backup_faker.generate(use_defaults=True, use_examples=True)
+ return BUCKETPOLICYSTATUSAdapter.validate_python(
+ json, context={"skip_validation": True}
+ )
diff --git a/test/types/channel_stub.py b/test/types/channel_stub.py
index e832079..4964e2b 100644
--- a/test/types/channel_stub.py
+++ b/test/types/channel_stub.py
@@ -46,11 +46,16 @@ class ChannelStub:
@classmethod
def create_json(cls):
"""Create a dict stub instance."""
- return channel_faker.generate()
+ return channel_faker.generate(use_defaults=True, use_examples=True)
@classmethod
def create_instance(cls) -> "Channel":
"""Create Channel stub instance."""
if not MODELS_AVAILABLE:
raise ImportError("Models must be installed to create class stubs")
- return ChannelAdapter.validate_python(cls.create_json())
+ json = cls.create_json()
+ if not json:
+ # use backup example based on the pydantic model schema
+ backup_faker = JSF(ChannelAdapter.json_schema(), allow_none_optionals=1)
+ json = backup_faker.generate(use_defaults=True, use_examples=True)
+ return ChannelAdapter.validate_python(json, context={"skip_validation": True})
diff --git a/test/types/channeltype_stub.py b/test/types/channeltype_stub.py
index b4a063d..21b70a6 100644
--- a/test/types/channeltype_stub.py
+++ b/test/types/channeltype_stub.py
@@ -43,11 +43,18 @@ class CHANNELTYPEStub:
@classmethod
def create_json(cls):
"""Create a dict stub instance."""
- return channel_type_faker.generate()
+ return channel_type_faker.generate(use_defaults=True, use_examples=True)
@classmethod
def create_instance(cls) -> "CHANNELTYPE":
"""Create CHANNELTYPE stub instance."""
if not MODELS_AVAILABLE:
raise ImportError("Models must be installed to create class stubs")
- return CHANNELTYPEAdapter.validate_python(cls.create_json())
+ json = cls.create_json()
+ if not json:
+ # use backup example based on the pydantic model schema
+ backup_faker = JSF(CHANNELTYPEAdapter.json_schema(), allow_none_optionals=1)
+ json = backup_faker.generate(use_defaults=True, use_examples=True)
+ return CHANNELTYPEAdapter.validate_python(
+ json, context={"skip_validation": True}
+ )
diff --git a/test/types/event_filter_stub.py b/test/types/event_filter_stub.py
index 0c65910..0fcd62b 100644
--- a/test/types/event_filter_stub.py
+++ b/test/types/event_filter_stub.py
@@ -68,11 +68,18 @@ class EventFilterStub:
@classmethod
def create_json(cls):
"""Create a dict stub instance."""
- return event_filter_faker.generate()
+ return event_filter_faker.generate(use_defaults=True, use_examples=True)
@classmethod
def create_instance(cls) -> "EventFilter":
"""Create EventFilter stub instance."""
if not MODELS_AVAILABLE:
raise ImportError("Models must be installed to create class stubs")
- return EventFilterAdapter.validate_python(cls.create_json())
+ json = cls.create_json()
+ if not json:
+ # use backup example based on the pydantic model schema
+ backup_faker = JSF(EventFilterAdapter.json_schema(), allow_none_optionals=1)
+ json = backup_faker.generate(use_defaults=True, use_examples=True)
+ return EventFilterAdapter.validate_python(
+ json, context={"skip_validation": True}
+ )
diff --git a/test/types/expiry_stub.py b/test/types/expiry_stub.py
index 085b727..790ad0d 100644
--- a/test/types/expiry_stub.py
+++ b/test/types/expiry_stub.py
@@ -56,11 +56,16 @@ class ExpiryStub:
@classmethod
def create_json(cls):
"""Create a dict stub instance."""
- return expiry_faker.generate()
+ return expiry_faker.generate(use_defaults=True, use_examples=True)
@classmethod
def create_instance(cls) -> "Expiry":
"""Create Expiry stub instance."""
if not MODELS_AVAILABLE:
raise ImportError("Models must be installed to create class stubs")
- return ExpiryAdapter.validate_python(cls.create_json())
+ json = cls.create_json()
+ if not json:
+ # use backup example based on the pydantic model schema
+ backup_faker = JSF(ExpiryAdapter.json_schema(), allow_none_optionals=1)
+ json = backup_faker.generate(use_defaults=True, use_examples=True)
+ return ExpiryAdapter.validate_python(json, context={"skip_validation": True})
diff --git a/test/types/hal_entity_stub.py b/test/types/hal_entity_stub.py
index ed0d2a7..3b16bfe 100644
--- a/test/types/hal_entity_stub.py
+++ b/test/types/hal_entity_stub.py
@@ -51,11 +51,16 @@ class HALEntityStub:
@classmethod
def create_json(cls):
"""Create a dict stub instance."""
- return hal_entity_faker.generate()
+ return hal_entity_faker.generate(use_defaults=True, use_examples=True)
@classmethod
def create_instance(cls) -> "HALEntity":
"""Create HALEntity stub instance."""
if not MODELS_AVAILABLE:
raise ImportError("Models must be installed to create class stubs")
- return HALEntityAdapter.validate_python(cls.create_json())
+ json = cls.create_json()
+ if not json:
+ # use backup example based on the pydantic model schema
+ backup_faker = JSF(HALEntityAdapter.json_schema(), allow_none_optionals=1)
+ json = backup_faker.generate(use_defaults=True, use_examples=True)
+ return HALEntityAdapter.validate_python(json, context={"skip_validation": True})
diff --git a/test/types/hal_link_stub.py b/test/types/hal_link_stub.py
index 2e03e7f..f9c5621 100644
--- a/test/types/hal_link_stub.py
+++ b/test/types/hal_link_stub.py
@@ -57,11 +57,16 @@ class HALLinkStub:
@classmethod
def create_json(cls):
"""Create a dict stub instance."""
- return hal_link_faker.generate()
+ return hal_link_faker.generate(use_defaults=True, use_examples=True)
@classmethod
def create_instance(cls) -> "HALLink":
"""Create HALLink stub instance."""
if not MODELS_AVAILABLE:
raise ImportError("Models must be installed to create class stubs")
- return HALLinkAdapter.validate_python(cls.create_json())
+ json = cls.create_json()
+ if not json:
+ # use backup example based on the pydantic model schema
+ backup_faker = JSF(HALLinkAdapter.json_schema(), allow_none_optionals=1)
+ json = backup_faker.generate(use_defaults=True, use_examples=True)
+ return HALLinkAdapter.validate_python(json, context={"skip_validation": True})
diff --git a/test/types/http_validation_error_stub.py b/test/types/http_validation_error_stub.py
index 473a488..175888e 100644
--- a/test/types/http_validation_error_stub.py
+++ b/test/types/http_validation_error_stub.py
@@ -52,11 +52,22 @@ class HTTPValidationErrorStub:
@classmethod
def create_json(cls):
"""Create a dict stub instance."""
- return http_validation_error_faker.generate()
+ return http_validation_error_faker.generate(
+ use_defaults=True, use_examples=True
+ )
@classmethod
def create_instance(cls) -> "HTTPValidationError":
"""Create HTTPValidationError stub instance."""
if not MODELS_AVAILABLE:
raise ImportError("Models must be installed to create class stubs")
- return HTTPValidationErrorAdapter.validate_python(cls.create_json())
+ json = cls.create_json()
+ if not json:
+ # use backup example based on the pydantic model schema
+ backup_faker = JSF(
+ HTTPValidationErrorAdapter.json_schema(), allow_none_optionals=1
+ )
+ json = backup_faker.generate(use_defaults=True, use_examples=True)
+ return HTTPValidationErrorAdapter.validate_python(
+ json, context={"skip_validation": True}
+ )
diff --git a/test/types/httpmethod_stub.py b/test/types/httpmethod_stub.py
index b710e35..2e4041d 100644
--- a/test/types/httpmethod_stub.py
+++ b/test/types/httpmethod_stub.py
@@ -43,11 +43,18 @@ class HTTPMETHODStub:
@classmethod
def create_json(cls):
"""Create a dict stub instance."""
- return http_method_faker.generate()
+ return http_method_faker.generate(use_defaults=True, use_examples=True)
@classmethod
def create_instance(cls) -> "HTTPMETHOD":
"""Create HTTPMETHOD stub instance."""
if not MODELS_AVAILABLE:
raise ImportError("Models must be installed to create class stubs")
- return HTTPMETHODAdapter.validate_python(cls.create_json())
+ json = cls.create_json()
+ if not json:
+ # use backup example based on the pydantic model schema
+ backup_faker = JSF(HTTPMETHODAdapter.json_schema(), allow_none_optionals=1)
+ json = backup_faker.generate(use_defaults=True, use_examples=True)
+ return HTTPMETHODAdapter.validate_python(
+ json, context={"skip_validation": True}
+ )
diff --git a/test/types/links_stub.py b/test/types/links_stub.py
index 9762dd0..5552aad 100644
--- a/test/types/links_stub.py
+++ b/test/types/links_stub.py
@@ -49,11 +49,16 @@ class LinksStub:
@classmethod
def create_json(cls):
"""Create a dict stub instance."""
- return links_faker.generate()
+ return links_faker.generate(use_defaults=True, use_examples=True)
@classmethod
def create_instance(cls) -> "Links":
"""Create Links stub instance."""
if not MODELS_AVAILABLE:
raise ImportError("Models must be installed to create class stubs")
- return LinksAdapter.validate_python(cls.create_json())
+ json = cls.create_json()
+ if not json:
+ # use backup example based on the pydantic model schema
+ backup_faker = JSF(LinksAdapter.json_schema(), allow_none_optionals=1)
+ json = backup_faker.generate(use_defaults=True, use_examples=True)
+ return LinksAdapter.validate_python(json, context={"skip_validation": True})
diff --git a/test/types/location_inner_stub.py b/test/types/location_inner_stub.py
index c44a418..2f1710d 100644
--- a/test/types/location_inner_stub.py
+++ b/test/types/location_inner_stub.py
@@ -46,11 +46,20 @@ class LocationInnerStub:
@classmethod
def create_json(cls):
"""Create a dict stub instance."""
- return location_inner_faker.generate()
+ return location_inner_faker.generate(use_defaults=True, use_examples=True)
@classmethod
def create_instance(cls) -> "LocationInner":
"""Create LocationInner stub instance."""
if not MODELS_AVAILABLE:
raise ImportError("Models must be installed to create class stubs")
- return LocationInnerAdapter.validate_python(cls.create_json())
+ json = cls.create_json()
+ if not json:
+ # use backup example based on the pydantic model schema
+ backup_faker = JSF(
+ LocationInnerAdapter.json_schema(), allow_none_optionals=1
+ )
+ json = backup_faker.generate(use_defaults=True, use_examples=True)
+ return LocationInnerAdapter.validate_python(
+ json, context={"skip_validation": True}
+ )
diff --git a/test/types/notification_queue_status_report_stub.py b/test/types/notification_queue_status_report_stub.py
index c8c8fb6..ea3b15f 100644
--- a/test/types/notification_queue_status_report_stub.py
+++ b/test/types/notification_queue_status_report_stub.py
@@ -67,11 +67,23 @@ class NotificationQueueStatusReportStub:
@classmethod
def create_json(cls):
"""Create a dict stub instance."""
- return notification_queue_status_report_faker.generate()
+ return notification_queue_status_report_faker.generate(
+ use_defaults=True, use_examples=True
+ )
@classmethod
def create_instance(cls) -> "NotificationQueueStatusReport":
"""Create NotificationQueueStatusReport stub instance."""
if not MODELS_AVAILABLE:
raise ImportError("Models must be installed to create class stubs")
- return NotificationQueueStatusReportAdapter.validate_python(cls.create_json())
+ json = cls.create_json()
+ if not json:
+ # use backup example based on the pydantic model schema
+ backup_faker = JSF(
+ NotificationQueueStatusReportAdapter.json_schema(),
+ allow_none_optionals=1,
+ )
+ json = backup_faker.generate(use_defaults=True, use_examples=True)
+ return NotificationQueueStatusReportAdapter.validate_python(
+ json, context={"skip_validation": True}
+ )
diff --git a/test/types/notification_queue_status_stub.py b/test/types/notification_queue_status_stub.py
index 205b64f..276c01c 100644
--- a/test/types/notification_queue_status_stub.py
+++ b/test/types/notification_queue_status_stub.py
@@ -72,11 +72,22 @@ class NotificationQueueStatusStub:
@classmethod
def create_json(cls):
"""Create a dict stub instance."""
- return notification_queue_status_faker.generate()
+ return notification_queue_status_faker.generate(
+ use_defaults=True, use_examples=True
+ )
@classmethod
def create_instance(cls) -> "NotificationQueueStatus":
"""Create NotificationQueueStatus stub instance."""
if not MODELS_AVAILABLE:
raise ImportError("Models must be installed to create class stubs")
- return NotificationQueueStatusAdapter.validate_python(cls.create_json())
+ json = cls.create_json()
+ if not json:
+ # use backup example based on the pydantic model schema
+ backup_faker = JSF(
+ NotificationQueueStatusAdapter.json_schema(), allow_none_optionals=1
+ )
+ json = backup_faker.generate(use_defaults=True, use_examples=True)
+ return NotificationQueueStatusAdapter.validate_python(
+ json, context={"skip_validation": True}
+ )
diff --git a/test/types/payload_config_stub.py b/test/types/payload_config_stub.py
index 3f8188d..1ed7201 100644
--- a/test/types/payload_config_stub.py
+++ b/test/types/payload_config_stub.py
@@ -53,11 +53,20 @@ class PayloadConfigStub:
@classmethod
def create_json(cls):
"""Create a dict stub instance."""
- return payload_config_faker.generate()
+ return payload_config_faker.generate(use_defaults=True, use_examples=True)
@classmethod
def create_instance(cls) -> "PayloadConfig":
"""Create PayloadConfig stub instance."""
if not MODELS_AVAILABLE:
raise ImportError("Models must be installed to create class stubs")
- return PayloadConfigAdapter.validate_python(cls.create_json())
+ json = cls.create_json()
+ if not json:
+ # use backup example based on the pydantic model schema
+ backup_faker = JSF(
+ PayloadConfigAdapter.json_schema(), allow_none_optionals=1
+ )
+ json = backup_faker.generate(use_defaults=True, use_examples=True)
+ return PayloadConfigAdapter.validate_python(
+ json, context={"skip_validation": True}
+ )
diff --git a/test/types/queuesetupstatus_stub.py b/test/types/queuesetupstatus_stub.py
index e8c58d6..9c4e76d 100644
--- a/test/types/queuesetupstatus_stub.py
+++ b/test/types/queuesetupstatus_stub.py
@@ -44,11 +44,20 @@ class QUEUESETUPSTATUSStub:
@classmethod
def create_json(cls):
"""Create a dict stub instance."""
- return queue_setup_status_faker.generate()
+ return queue_setup_status_faker.generate(use_defaults=True, use_examples=True)
@classmethod
def create_instance(cls) -> "QUEUESETUPSTATUS":
"""Create QUEUESETUPSTATUS stub instance."""
if not MODELS_AVAILABLE:
raise ImportError("Models must be installed to create class stubs")
- return QUEUESETUPSTATUSAdapter.validate_python(cls.create_json())
+ json = cls.create_json()
+ if not json:
+ # use backup example based on the pydantic model schema
+ backup_faker = JSF(
+ QUEUESETUPSTATUSAdapter.json_schema(), allow_none_optionals=1
+ )
+ json = backup_faker.generate(use_defaults=True, use_examples=True)
+ return QUEUESETUPSTATUSAdapter.validate_python(
+ json, context={"skip_validation": True}
+ )
diff --git a/test/types/response_list_stub.py b/test/types/response_list_stub.py
index bd4b08a..6a019e0 100644
--- a/test/types/response_list_stub.py
+++ b/test/types/response_list_stub.py
@@ -48,11 +48,20 @@ class ResponseListStub:
@classmethod
def create_json(cls):
"""Create a dict stub instance."""
- return response_list_faker.generate()
+ return response_list_faker.generate(use_defaults=True, use_examples=True)
@classmethod
def create_instance(cls) -> "ResponseList":
"""Create ResponseList stub instance."""
if not MODELS_AVAILABLE:
raise ImportError("Models must be installed to create class stubs")
- return ResponseListAdapter.validate_python(cls.create_json())
+ json = cls.create_json()
+ if not json:
+ # use backup example based on the pydantic model schema
+ backup_faker = JSF(
+ ResponseListAdapter.json_schema(), allow_none_optionals=1
+ )
+ json = backup_faker.generate(use_defaults=True, use_examples=True)
+ return ResponseListAdapter.validate_python(
+ json, context={"skip_validation": True}
+ )
diff --git a/test/types/sign_stub.py b/test/types/sign_stub.py
index 8ddb353..a51d145 100644
--- a/test/types/sign_stub.py
+++ b/test/types/sign_stub.py
@@ -44,11 +44,16 @@ class SIGNStub:
@classmethod
def create_json(cls):
"""Create a dict stub instance."""
- return sign_faker.generate()
+ return sign_faker.generate(use_defaults=True, use_examples=True)
@classmethod
def create_instance(cls) -> "SIGN":
"""Create SIGN stub instance."""
if not MODELS_AVAILABLE:
raise ImportError("Models must be installed to create class stubs")
- return SIGNAdapter.validate_python(cls.create_json())
+ json = cls.create_json()
+ if not json:
+ # use backup example based on the pydantic model schema
+ backup_faker = JSF(SIGNAdapter.json_schema(), allow_none_optionals=1)
+ json = backup_faker.generate(use_defaults=True, use_examples=True)
+ return SIGNAdapter.validate_python(json, context={"skip_validation": True})
diff --git a/test/types/store_stub.py b/test/types/store_stub.py
index c8f15c1..ca78968 100644
--- a/test/types/store_stub.py
+++ b/test/types/store_stub.py
@@ -64,11 +64,16 @@ class StoreStub:
@classmethod
def create_json(cls):
"""Create a dict stub instance."""
- return store_faker.generate()
+ return store_faker.generate(use_defaults=True, use_examples=True)
@classmethod
def create_instance(cls) -> "Store":
"""Create Store stub instance."""
if not MODELS_AVAILABLE:
raise ImportError("Models must be installed to create class stubs")
- return StoreAdapter.validate_python(cls.create_json())
+ json = cls.create_json()
+ if not json:
+ # use backup example based on the pydantic model schema
+ backup_faker = JSF(StoreAdapter.json_schema(), allow_none_optionals=1)
+ json = backup_faker.generate(use_defaults=True, use_examples=True)
+ return StoreAdapter.validate_python(json, context={"skip_validation": True})
diff --git a/test/types/storetype_stub.py b/test/types/storetype_stub.py
index 8beb34c..4d21fc2 100644
--- a/test/types/storetype_stub.py
+++ b/test/types/storetype_stub.py
@@ -44,11 +44,16 @@ class STORETYPEStub:
@classmethod
def create_json(cls):
"""Create a dict stub instance."""
- return store_type_faker.generate()
+ return store_type_faker.generate(use_defaults=True, use_examples=True)
@classmethod
def create_instance(cls) -> "STORETYPE":
"""Create STORETYPE stub instance."""
if not MODELS_AVAILABLE:
raise ImportError("Models must be installed to create class stubs")
- return STORETYPEAdapter.validate_python(cls.create_json())
+ json = cls.create_json()
+ if not json:
+ # use backup example based on the pydantic model schema
+ backup_faker = JSF(STORETYPEAdapter.json_schema(), allow_none_optionals=1)
+ json = backup_faker.generate(use_defaults=True, use_examples=True)
+ return STORETYPEAdapter.validate_python(json, context={"skip_validation": True})
diff --git a/test/types/subscription_config_stub.py b/test/types/subscription_config_stub.py
index 62f58a8..271ac13 100644
--- a/test/types/subscription_config_stub.py
+++ b/test/types/subscription_config_stub.py
@@ -76,11 +76,20 @@ class SubscriptionConfigStub:
@classmethod
def create_json(cls):
"""Create a dict stub instance."""
- return subscription_config_faker.generate()
+ return subscription_config_faker.generate(use_defaults=True, use_examples=True)
@classmethod
def create_instance(cls) -> "SubscriptionConfig":
"""Create SubscriptionConfig stub instance."""
if not MODELS_AVAILABLE:
raise ImportError("Models must be installed to create class stubs")
- return SubscriptionConfigAdapter.validate_python(cls.create_json())
+ json = cls.create_json()
+ if not json:
+ # use backup example based on the pydantic model schema
+ backup_faker = JSF(
+ SubscriptionConfigAdapter.json_schema(), allow_none_optionals=1
+ )
+ json = backup_faker.generate(use_defaults=True, use_examples=True)
+ return SubscriptionConfigAdapter.validate_python(
+ json, context={"skip_validation": True}
+ )
diff --git a/test/types/subscriptions_listing_stub.py b/test/types/subscriptions_listing_stub.py
index 0dc89bb..9c4eeae 100644
--- a/test/types/subscriptions_listing_stub.py
+++ b/test/types/subscriptions_listing_stub.py
@@ -63,11 +63,22 @@ class SubscriptionsListingStub:
@classmethod
def create_json(cls):
"""Create a dict stub instance."""
- return subscriptions_listing_faker.generate()
+ return subscriptions_listing_faker.generate(
+ use_defaults=True, use_examples=True
+ )
@classmethod
def create_instance(cls) -> "SubscriptionsListing":
"""Create SubscriptionsListing stub instance."""
if not MODELS_AVAILABLE:
raise ImportError("Models must be installed to create class stubs")
- return SubscriptionsListingAdapter.validate_python(cls.create_json())
+ json = cls.create_json()
+ if not json:
+ # use backup example based on the pydantic model schema
+ backup_faker = JSF(
+ SubscriptionsListingAdapter.json_schema(), allow_none_optionals=1
+ )
+ json = backup_faker.generate(use_defaults=True, use_examples=True)
+ return SubscriptionsListingAdapter.validate_python(
+ json, context={"skip_validation": True}
+ )
diff --git a/test/types/subscriptions_stub.py b/test/types/subscriptions_stub.py
index 6af15c9..25d5e39 100644
--- a/test/types/subscriptions_stub.py
+++ b/test/types/subscriptions_stub.py
@@ -69,11 +69,20 @@ class SubscriptionsStub:
@classmethod
def create_json(cls):
"""Create a dict stub instance."""
- return subscriptions_faker.generate()
+ return subscriptions_faker.generate(use_defaults=True, use_examples=True)
@classmethod
def create_instance(cls) -> "Subscriptions":
"""Create Subscriptions stub instance."""
if not MODELS_AVAILABLE:
raise ImportError("Models must be installed to create class stubs")
- return SubscriptionsAdapter.validate_python(cls.create_json())
+ json = cls.create_json()
+ if not json:
+ # use backup example based on the pydantic model schema
+ backup_faker = JSF(
+ SubscriptionsAdapter.json_schema(), allow_none_optionals=1
+ )
+ json = backup_faker.generate(use_defaults=True, use_examples=True)
+ return SubscriptionsAdapter.validate_python(
+ json, context={"skip_validation": True}
+ )
diff --git a/test/types/system_channel_config_stub.py b/test/types/system_channel_config_stub.py
index 4024ca8..f7abba8 100644
--- a/test/types/system_channel_config_stub.py
+++ b/test/types/system_channel_config_stub.py
@@ -62,11 +62,22 @@ class SystemChannelConfigStub:
@classmethod
def create_json(cls):
"""Create a dict stub instance."""
- return system_channel_config_faker.generate()
+ return system_channel_config_faker.generate(
+ use_defaults=True, use_examples=True
+ )
@classmethod
def create_instance(cls) -> "SystemChannelConfig":
"""Create SystemChannelConfig stub instance."""
if not MODELS_AVAILABLE:
raise ImportError("Models must be installed to create class stubs")
- return SystemChannelConfigAdapter.validate_python(cls.create_json())
+ json = cls.create_json()
+ if not json:
+ # use backup example based on the pydantic model schema
+ backup_faker = JSF(
+ SystemChannelConfigAdapter.json_schema(), allow_none_optionals=1
+ )
+ json = backup_faker.generate(use_defaults=True, use_examples=True)
+ return SystemChannelConfigAdapter.validate_python(
+ json, context={"skip_validation": True}
+ )
diff --git a/test/types/system_channel_config_type_stub.py b/test/types/system_channel_config_type_stub.py
index 6daf217..fc33d24 100644
--- a/test/types/system_channel_config_type_stub.py
+++ b/test/types/system_channel_config_type_stub.py
@@ -48,11 +48,22 @@ class SystemChannelConfigTypeStub:
@classmethod
def create_json(cls):
"""Create a dict stub instance."""
- return system_channel_config_type_faker.generate()
+ return system_channel_config_type_faker.generate(
+ use_defaults=True, use_examples=True
+ )
@classmethod
def create_instance(cls) -> "SystemChannelConfigType":
"""Create SystemChannelConfigType stub instance."""
if not MODELS_AVAILABLE:
raise ImportError("Models must be installed to create class stubs")
- return SystemChannelConfigTypeAdapter.validate_python(cls.create_json())
+ json = cls.create_json()
+ if not json:
+ # use backup example based on the pydantic model schema
+ backup_faker = JSF(
+ SystemChannelConfigTypeAdapter.json_schema(), allow_none_optionals=1
+ )
+ json = backup_faker.generate(use_defaults=True, use_examples=True)
+ return SystemChannelConfigTypeAdapter.validate_python(
+ json, context={"skip_validation": True}
+ )
diff --git a/test/types/tenant_status_report_stub.py b/test/types/tenant_status_report_stub.py
index 3ebea4a..0a2483a 100644
--- a/test/types/tenant_status_report_stub.py
+++ b/test/types/tenant_status_report_stub.py
@@ -78,11 +78,20 @@ class TenantStatusReportStub:
@classmethod
def create_json(cls):
"""Create a dict stub instance."""
- return tenant_status_report_faker.generate()
+ return tenant_status_report_faker.generate(use_defaults=True, use_examples=True)
@classmethod
def create_instance(cls) -> "TenantStatusReport":
"""Create TenantStatusReport stub instance."""
if not MODELS_AVAILABLE:
raise ImportError("Models must be installed to create class stubs")
- return TenantStatusReportAdapter.validate_python(cls.create_json())
+ json = cls.create_json()
+ if not json:
+ # use backup example based on the pydantic model schema
+ backup_faker = JSF(
+ TenantStatusReportAdapter.json_schema(), allow_none_optionals=1
+ )
+ json = backup_faker.generate(use_defaults=True, use_examples=True)
+ return TenantStatusReportAdapter.validate_python(
+ json, context={"skip_validation": True}
+ )
diff --git a/test/types/validation_error_stub.py b/test/types/validation_error_stub.py
index 673a671..a93dc57 100644
--- a/test/types/validation_error_stub.py
+++ b/test/types/validation_error_stub.py
@@ -60,11 +60,20 @@ class ValidationErrorStub:
@classmethod
def create_json(cls):
"""Create a dict stub instance."""
- return validation_error_faker.generate()
+ return validation_error_faker.generate(use_defaults=True, use_examples=True)
@classmethod
def create_instance(cls) -> "ValidationError":
"""Create ValidationError stub instance."""
if not MODELS_AVAILABLE:
raise ImportError("Models must be installed to create class stubs")
- return ValidationErrorAdapter.validate_python(cls.create_json())
+ json = cls.create_json()
+ if not json:
+ # use backup example based on the pydantic model schema
+ backup_faker = JSF(
+ ValidationErrorAdapter.json_schema(), allow_none_optionals=1
+ )
+ json = backup_faker.generate(use_defaults=True, use_examples=True)
+ return ValidationErrorAdapter.validate_python(
+ json, context={"skip_validation": True}
+ )
diff --git a/test/types/venttype_stub.py b/test/types/venttype_stub.py
index 2ff36ac..bb62729 100644
--- a/test/types/venttype_stub.py
+++ b/test/types/venttype_stub.py
@@ -43,11 +43,16 @@ class VENTTYPEStub:
@classmethod
def create_json(cls):
"""Create a dict stub instance."""
- return vent_type_faker.generate()
+ return vent_type_faker.generate(use_defaults=True, use_examples=True)
@classmethod
def create_instance(cls) -> "VENTTYPE":
"""Create VENTTYPE stub instance."""
if not MODELS_AVAILABLE:
raise ImportError("Models must be installed to create class stubs")
- return VENTTYPEAdapter.validate_python(cls.create_json())
+ json = cls.create_json()
+ if not json:
+ # use backup example based on the pydantic model schema
+ backup_faker = JSF(VENTTYPEAdapter.json_schema(), allow_none_optionals=1)
+ json = backup_faker.generate(use_defaults=True, use_examples=True)
+ return VENTTYPEAdapter.validate_python(json, context={"skip_validation": True})
diff --git a/test/types/web_script_channel_config_stub.py b/test/types/web_script_channel_config_stub.py
index d299368..3fc8c42 100644
--- a/test/types/web_script_channel_config_stub.py
+++ b/test/types/web_script_channel_config_stub.py
@@ -79,11 +79,22 @@ class WebScriptChannelConfigStub:
@classmethod
def create_json(cls):
"""Create a dict stub instance."""
- return web_script_channel_config_faker.generate()
+ return web_script_channel_config_faker.generate(
+ use_defaults=True, use_examples=True
+ )
@classmethod
def create_instance(cls) -> "WebScriptChannelConfig":
"""Create WebScriptChannelConfig stub instance."""
if not MODELS_AVAILABLE:
raise ImportError("Models must be installed to create class stubs")
- return WebScriptChannelConfigAdapter.validate_python(cls.create_json())
+ json = cls.create_json()
+ if not json:
+ # use backup example based on the pydantic model schema
+ backup_faker = JSF(
+ WebScriptChannelConfigAdapter.json_schema(), allow_none_optionals=1
+ )
+ json = backup_faker.generate(use_defaults=True, use_examples=True)
+ return WebScriptChannelConfigAdapter.validate_python(
+ json, context={"skip_validation": True}
+ )
diff --git a/test/types/web_script_channel_config_type_stub.py b/test/types/web_script_channel_config_type_stub.py
index eb7e40e..1974d68 100644
--- a/test/types/web_script_channel_config_type_stub.py
+++ b/test/types/web_script_channel_config_type_stub.py
@@ -48,11 +48,22 @@ class WebScriptChannelConfigTypeStub:
@classmethod
def create_json(cls):
"""Create a dict stub instance."""
- return web_script_channel_config_type_faker.generate()
+ return web_script_channel_config_type_faker.generate(
+ use_defaults=True, use_examples=True
+ )
@classmethod
def create_instance(cls) -> "WebScriptChannelConfigType":
"""Create WebScriptChannelConfigType stub instance."""
if not MODELS_AVAILABLE:
raise ImportError("Models must be installed to create class stubs")
- return WebScriptChannelConfigTypeAdapter.validate_python(cls.create_json())
+ json = cls.create_json()
+ if not json:
+ # use backup example based on the pydantic model schema
+ backup_faker = JSF(
+ WebScriptChannelConfigTypeAdapter.json_schema(), allow_none_optionals=1
+ )
+ json = backup_faker.generate(use_defaults=True, use_examples=True)
+ return WebScriptChannelConfigTypeAdapter.validate_python(
+ json, context={"skip_validation": True}
+ )
diff --git a/waylay-sdk-storage-types/.openapi-generator/FILES b/waylay-sdk-storage-types/.openapi-generator/FILES
index 762a3ab..a1f5aaf 100644
--- a/waylay-sdk-storage-types/.openapi-generator/FILES
+++ b/waylay-sdk-storage-types/.openapi-generator/FILES
@@ -1,5 +1,4 @@
LICENSE.txt
-README.md
pyproject.toml
src/waylay/services/storage/models/__init__.py
src/waylay/services/storage/models/auth.py
diff --git a/waylay-sdk-storage-types/README.md b/waylay-sdk-storage-types/README.md
index aff8e00..d4aea8c 100644
--- a/waylay-sdk-storage-types/README.md
+++ b/waylay-sdk-storage-types/README.md
@@ -4,7 +4,8 @@ Manage storage buckets and subscriptions.
This Python package is automatically generated based on the
-Waylay Storage OpenAPI specification (API version: v0.4.1)
+Waylay Storage OpenAPI specification (API version: 0.4.2)
+For more information, please visit [the openapi specification](https://docs.waylay.io/openapi/public/redocly/storage.html).
It is considered an extension of the waylay-sdk-storage package, and it consists of the typed model classes for all path params, query params, body params and responses for each of the api methods in `waylay-sdk-storage`.
@@ -12,21 +13,20 @@ It is considered an extension of the waylay-sdk-storage package, and it consists
This package requires Python 3.9+.
## Installation
-Typically this package is installed when installing the [waylay-sdk](https://github.com/waylayio/waylay-sdk-py) package to enable the service's functionality.
+Typically this package is installed when installing the [waylay-sdk-core](https://pypi.org/project/waylay-sdk/) package to enable the service's functionality.
When the service api methods are required, waylay-sdk-storage is included in:
-- ```pip install waylay-sdk[storage]``` to install `waylay-sdk` along with only this service, or
-- ```pip install waylay-sdk[services]``` to install `waylay-sdk` along with all services.
+- ```pip install waylay-sdk-core[storage]``` to install `waylay-sdk-core` along with only this service, or
+- ```pip install waylay-sdk-core[services]``` to install `waylay-sdk-core` along with all services.
When the typed models are required, both waylay-sdk-storage and waylay-sdk-storage-types are included in:
-- ```pip install waylay-sdk[storage,storage-types]``` to install `waylay-sdk` along with only this service including the typed models, or
-- ```pip install waylay-sdk[services,services-types]``` to install `waylay-sdk` along with all services along with the typed models.
+- ```pip install waylay-sdk-core[storage,storage-types]``` to install `waylay-sdk-core` along with only this service including the typed models, or
+- ```pip install waylay-sdk-core[services,services-types]``` to install `waylay-sdk-core` along with all services along with the typed models.
## Usage
-
```python
from pprint import pprint
-# Import the waylay-client from the waylay-sdk package
+# Import the waylay-client from the waylay-sdk-core package
from waylay.sdk.client import WaylayClient
from waylay.sdk.api.api_exceptions import ApiError
@@ -34,15 +34,23 @@ from waylay.sdk.api.api_exceptions import ApiError
waylay_client = WaylayClient.from_profile()
# Note that the typed model classes for responses/parameters/... are only available when `waylay-sdk-storage-types` is installed
+from waylay.services.storage.models.tenant_status_report import TenantStatusReport
try:
- # Version
- # calls `GET /storage/v1/`
- api_response = await waylay_client.storage.about.version(
+ # Status
+ # calls `GET /storage/v1/status`
+ api_response = await waylay_client.storage.about.status(
+ # query parameters:
+ query = {
+ 'include_buckets': True
+ 'include_queues': True
+ 'include_disk_usage': False
+ },
)
- print("The response of storage.about.version:\n")
+ print("The response of storage.about.status:\n")
pprint(api_response)
except ApiError as e:
- print("Exception when calling storage.about.version: %s\n" % e)
+ print("Exception when calling storage.about.status: %s\n" % e)
```
+For more information, please visit the [Waylay API documentation](https://docs.waylay.io/#/api/?id=software-development-kits).
diff --git a/waylay-sdk-storage-types/pyproject.toml b/waylay-sdk-storage-types/pyproject.toml
index 1c45bec..a4e7d7c 100644
--- a/waylay-sdk-storage-types/pyproject.toml
+++ b/waylay-sdk-storage-types/pyproject.toml
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
[project]
name = "waylay-sdk-storage-types"
-version = "0.4.1b1"
+version = "0.4.2b20240423"
description = "Waylay Storage Types "
authors = [
{ name = "Waylay", email = "info@waylay.io"}
@@ -12,8 +12,8 @@ authors = [
keywords = ["Waylay Storage" , "Types"]
requires-python = ">= 3.9"
dependencies = [
- "waylay-sdk ~= 0.0.4rc5",
- "waylay-sdk-storage == 0.4.1b1",
+ "waylay-sdk-core ~= 0.2.1",
+ "waylay-sdk-storage == 0.4.2b20240423",
"pydantic ~= 2.6",
"typing-extensions ~= 4.10",
"eval-type-backport ~= 0.1.3; python_version < '3.10'",
@@ -23,8 +23,9 @@ license={file = "LICENSE.txt"}
[project.urls]
Homepage = "https://www.waylay.io/"
-Documentation = "https://docs.waylay.io/#/"
+Documentation = "https://docs.waylay.io/#/api/?id=software-development-kits"
Repository = "https://github.com/waylayio/waylay-sdk-storage-py.git"
+"Openapi Specification" = "https://docs.waylay.io/openapi/public/redocly/storage.html"
[project.optional-dependencies]
dev = [
diff --git a/waylay-sdk-storage-types/src/waylay/services/storage/models/__init__.py b/waylay-sdk-storage-types/src/waylay/services/storage/models/__init__.py
index b88d9b2..ee53918 100644
--- a/waylay-sdk-storage-types/src/waylay/services/storage/models/__init__.py
+++ b/waylay-sdk-storage-types/src/waylay/services/storage/models/__init__.py
@@ -3,7 +3,7 @@
This code was generated from the OpenAPI documentation of 'Waylay Storage'
-version: v0.4.1
+version: 0.4.2
Manage storage buckets and subscriptions.
@@ -12,7 +12,7 @@
Do not edit the class manually.
"""
-__version__ = "0.4.1b1"
+__version__ = "0.4.2b20240423"
# import models into model package
from .auth import AUTH
diff --git a/waylay-sdk-storage-types/src/waylay/services/storage/models/authentication_config.py b/waylay-sdk-storage-types/src/waylay/services/storage/models/authentication_config.py
index 52386f0..684374a 100644
--- a/waylay-sdk-storage-types/src/waylay/services/storage/models/authentication_config.py
+++ b/waylay-sdk-storage-types/src/waylay/services/storage/models/authentication_config.py
@@ -28,8 +28,5 @@ class AuthenticationConfig(WaylayBaseModel):
secret: StrictStr | None = None
model_config = ConfigDict(
- populate_by_name=True,
- validate_assignment=True,
- protected_namespaces=(),
- extra="ignore",
+ populate_by_name=True, protected_namespaces=(), extra="ignore"
)
diff --git a/waylay-sdk-storage-types/src/waylay/services/storage/models/bucket.py b/waylay-sdk-storage-types/src/waylay/services/storage/models/bucket.py
index 36a3e9c..ba5975f 100644
--- a/waylay-sdk-storage-types/src/waylay/services/storage/models/bucket.py
+++ b/waylay-sdk-storage-types/src/waylay/services/storage/models/bucket.py
@@ -37,8 +37,5 @@ class Bucket(WaylayBaseModel):
size: StrictInt | None = None
model_config = ConfigDict(
- populate_by_name=True,
- validate_assignment=True,
- protected_namespaces=(),
- extra="ignore",
+ populate_by_name=True, protected_namespaces=(), extra="ignore"
)
diff --git a/waylay-sdk-storage-types/src/waylay/services/storage/models/bucket_configuration.py b/waylay-sdk-storage-types/src/waylay/services/storage/models/bucket_configuration.py
index c246146..8b0e9dd 100644
--- a/waylay-sdk-storage-types/src/waylay/services/storage/models/bucket_configuration.py
+++ b/waylay-sdk-storage-types/src/waylay/services/storage/models/bucket_configuration.py
@@ -42,8 +42,5 @@ class BucketConfiguration(WaylayBaseModel):
error: StrictStr | None = None
model_config = ConfigDict(
- populate_by_name=True,
- validate_assignment=True,
- protected_namespaces=(),
- extra="ignore",
+ populate_by_name=True, protected_namespaces=(), extra="ignore"
)
diff --git a/waylay-sdk-storage-types/src/waylay/services/storage/models/bucket_listing.py b/waylay-sdk-storage-types/src/waylay/services/storage/models/bucket_listing.py
index c10c953..802c531 100644
--- a/waylay-sdk-storage-types/src/waylay/services/storage/models/bucket_listing.py
+++ b/waylay-sdk-storage-types/src/waylay/services/storage/models/bucket_listing.py
@@ -30,8 +30,5 @@ class BucketListing(WaylayBaseModel):
buckets: List[Bucket]
model_config = ConfigDict(
- populate_by_name=True,
- validate_assignment=True,
- protected_namespaces=(),
- extra="ignore",
+ populate_by_name=True, protected_namespaces=(), extra="ignore"
)
diff --git a/waylay-sdk-storage-types/src/waylay/services/storage/models/bucket_object.py b/waylay-sdk-storage-types/src/waylay/services/storage/models/bucket_object.py
index 3ba277b..b1ea60e 100644
--- a/waylay-sdk-storage-types/src/waylay/services/storage/models/bucket_object.py
+++ b/waylay-sdk-storage-types/src/waylay/services/storage/models/bucket_object.py
@@ -43,8 +43,5 @@ class BucketObject(WaylayBaseModel):
owner_name: StrictStr | None = None
model_config = ConfigDict(
- populate_by_name=True,
- validate_assignment=True,
- protected_namespaces=(),
- extra="ignore",
+ populate_by_name=True, protected_namespaces=(), extra="ignore"
)
diff --git a/waylay-sdk-storage-types/src/waylay/services/storage/models/bucket_object_listing.py b/waylay-sdk-storage-types/src/waylay/services/storage/models/bucket_object_listing.py
index 8347111..e2afb48 100644
--- a/waylay-sdk-storage-types/src/waylay/services/storage/models/bucket_object_listing.py
+++ b/waylay-sdk-storage-types/src/waylay/services/storage/models/bucket_object_listing.py
@@ -30,8 +30,5 @@ class BucketObjectListing(WaylayBaseModel):
objects: List[BucketObject]
model_config = ConfigDict(
- populate_by_name=True,
- validate_assignment=True,
- protected_namespaces=(),
- extra="ignore",
+ populate_by_name=True, protected_namespaces=(), extra="ignore"
)
diff --git a/waylay-sdk-storage-types/src/waylay/services/storage/models/event_filter.py b/waylay-sdk-storage-types/src/waylay/services/storage/models/event_filter.py
index e644d7c..7d84e79 100644
--- a/waylay-sdk-storage-types/src/waylay/services/storage/models/event_filter.py
+++ b/waylay-sdk-storage-types/src/waylay/services/storage/models/event_filter.py
@@ -32,8 +32,5 @@ class EventFilter(WaylayBaseModel):
queue: StrictStr | None = None
model_config = ConfigDict(
- populate_by_name=True,
- validate_assignment=True,
- protected_namespaces=(),
- extra="ignore",
+ populate_by_name=True, protected_namespaces=(), extra="ignore"
)
diff --git a/waylay-sdk-storage-types/src/waylay/services/storage/models/expiry.py b/waylay-sdk-storage-types/src/waylay/services/storage/models/expiry.py
index 2cd0b8f..f5d66d6 100644
--- a/waylay-sdk-storage-types/src/waylay/services/storage/models/expiry.py
+++ b/waylay-sdk-storage-types/src/waylay/services/storage/models/expiry.py
@@ -26,8 +26,5 @@ class Expiry(WaylayBaseModel):
days: StrictInt | None = None
model_config = ConfigDict(
- populate_by_name=True,
- validate_assignment=True,
- protected_namespaces=(),
- extra="ignore",
+ populate_by_name=True, protected_namespaces=(), extra="ignore"
)
diff --git a/waylay-sdk-storage-types/src/waylay/services/storage/models/hal_entity.py b/waylay-sdk-storage-types/src/waylay/services/storage/models/hal_entity.py
index e6bc22a..bddf455 100644
--- a/waylay-sdk-storage-types/src/waylay/services/storage/models/hal_entity.py
+++ b/waylay-sdk-storage-types/src/waylay/services/storage/models/hal_entity.py
@@ -28,8 +28,5 @@ class HALEntity(WaylayBaseModel):
links: Dict[str, Links] | None = Field(default=None, alias="_links")
model_config = ConfigDict(
- populate_by_name=True,
- validate_assignment=True,
- protected_namespaces=(),
- extra="ignore",
+ populate_by_name=True, protected_namespaces=(), extra="ignore"
)
diff --git a/waylay-sdk-storage-types/src/waylay/services/storage/models/hal_link.py b/waylay-sdk-storage-types/src/waylay/services/storage/models/hal_link.py
index 49520e7..58ce182 100644
--- a/waylay-sdk-storage-types/src/waylay/services/storage/models/hal_link.py
+++ b/waylay-sdk-storage-types/src/waylay/services/storage/models/hal_link.py
@@ -28,8 +28,5 @@ class HALLink(WaylayBaseModel):
form_data: Dict[str, Any] | None = None
model_config = ConfigDict(
- populate_by_name=True,
- validate_assignment=True,
- protected_namespaces=(),
- extra="ignore",
+ populate_by_name=True, protected_namespaces=(), extra="ignore"
)
diff --git a/waylay-sdk-storage-types/src/waylay/services/storage/models/http_validation_error.py b/waylay-sdk-storage-types/src/waylay/services/storage/models/http_validation_error.py
index 626469d..a655c8f 100644
--- a/waylay-sdk-storage-types/src/waylay/services/storage/models/http_validation_error.py
+++ b/waylay-sdk-storage-types/src/waylay/services/storage/models/http_validation_error.py
@@ -27,8 +27,5 @@ class HTTPValidationError(WaylayBaseModel):
detail: List[ValidationError] | None = None
model_config = ConfigDict(
- populate_by_name=True,
- validate_assignment=True,
- protected_namespaces=(),
- extra="ignore",
+ populate_by_name=True, protected_namespaces=(), extra="ignore"
)
diff --git a/waylay-sdk-storage-types/src/waylay/services/storage/models/notification_queue_status.py b/waylay-sdk-storage-types/src/waylay/services/storage/models/notification_queue_status.py
index 41b0568..6a883a5 100644
--- a/waylay-sdk-storage-types/src/waylay/services/storage/models/notification_queue_status.py
+++ b/waylay-sdk-storage-types/src/waylay/services/storage/models/notification_queue_status.py
@@ -33,8 +33,5 @@ class NotificationQueueStatus(WaylayBaseModel):
error: StrictStr | None = None
model_config = ConfigDict(
- populate_by_name=True,
- validate_assignment=True,
- protected_namespaces=(),
- extra="ignore",
+ populate_by_name=True, protected_namespaces=(), extra="ignore"
)
diff --git a/waylay-sdk-storage-types/src/waylay/services/storage/models/notification_queue_status_report.py b/waylay-sdk-storage-types/src/waylay/services/storage/models/notification_queue_status_report.py
index 1e0cc4b..9fb681b 100644
--- a/waylay-sdk-storage-types/src/waylay/services/storage/models/notification_queue_status_report.py
+++ b/waylay-sdk-storage-types/src/waylay/services/storage/models/notification_queue_status_report.py
@@ -30,8 +30,5 @@ class NotificationQueueStatusReport(WaylayBaseModel):
messages: List[Dict[str, Any]] | None = None
model_config = ConfigDict(
- populate_by_name=True,
- validate_assignment=True,
- protected_namespaces=(),
- extra="ignore",
+ populate_by_name=True, protected_namespaces=(), extra="ignore"
)
diff --git a/waylay-sdk-storage-types/src/waylay/services/storage/models/payload_config.py b/waylay-sdk-storage-types/src/waylay/services/storage/models/payload_config.py
index 623650d..5eb3992 100644
--- a/waylay-sdk-storage-types/src/waylay/services/storage/models/payload_config.py
+++ b/waylay-sdk-storage-types/src/waylay/services/storage/models/payload_config.py
@@ -28,8 +28,5 @@ class PayloadConfig(WaylayBaseModel):
reference: Any | None = None
model_config = ConfigDict(
- populate_by_name=True,
- validate_assignment=True,
- protected_namespaces=(),
- extra="ignore",
+ populate_by_name=True, protected_namespaces=(), extra="ignore"
)
diff --git a/waylay-sdk-storage-types/src/waylay/services/storage/models/store.py b/waylay-sdk-storage-types/src/waylay/services/storage/models/store.py
index 843d931..fe3bc8c 100644
--- a/waylay-sdk-storage-types/src/waylay/services/storage/models/store.py
+++ b/waylay-sdk-storage-types/src/waylay/services/storage/models/store.py
@@ -33,8 +33,5 @@ class Store(WaylayBaseModel):
url: StrictStr
model_config = ConfigDict(
- populate_by_name=True,
- validate_assignment=True,
- protected_namespaces=(),
- extra="ignore",
+ populate_by_name=True, protected_namespaces=(), extra="ignore"
)
diff --git a/waylay-sdk-storage-types/src/waylay/services/storage/models/subscription_config.py b/waylay-sdk-storage-types/src/waylay/services/storage/models/subscription_config.py
index 1c7af59..29fdf5d 100644
--- a/waylay-sdk-storage-types/src/waylay/services/storage/models/subscription_config.py
+++ b/waylay-sdk-storage-types/src/waylay/services/storage/models/subscription_config.py
@@ -36,8 +36,5 @@ class SubscriptionConfig(WaylayBaseModel):
filters: List[EventFilter]
model_config = ConfigDict(
- populate_by_name=True,
- validate_assignment=True,
- protected_namespaces=(),
- extra="ignore",
+ populate_by_name=True, protected_namespaces=(), extra="ignore"
)
diff --git a/waylay-sdk-storage-types/src/waylay/services/storage/models/subscriptions.py b/waylay-sdk-storage-types/src/waylay/services/storage/models/subscriptions.py
index b13312f..2a0eb3c 100644
--- a/waylay-sdk-storage-types/src/waylay/services/storage/models/subscriptions.py
+++ b/waylay-sdk-storage-types/src/waylay/services/storage/models/subscriptions.py
@@ -33,8 +33,5 @@ class Subscriptions(WaylayBaseModel):
warnings: List[Dict[str, Any]] | None = None
model_config = ConfigDict(
- populate_by_name=True,
- validate_assignment=True,
- protected_namespaces=(),
- extra="ignore",
+ populate_by_name=True, protected_namespaces=(), extra="ignore"
)
diff --git a/waylay-sdk-storage-types/src/waylay/services/storage/models/subscriptions_listing.py b/waylay-sdk-storage-types/src/waylay/services/storage/models/subscriptions_listing.py
index 5c4e26e..9321093 100644
--- a/waylay-sdk-storage-types/src/waylay/services/storage/models/subscriptions_listing.py
+++ b/waylay-sdk-storage-types/src/waylay/services/storage/models/subscriptions_listing.py
@@ -30,8 +30,5 @@ class SubscriptionsListing(WaylayBaseModel):
buckets: List[Bucket]
model_config = ConfigDict(
- populate_by_name=True,
- validate_assignment=True,
- protected_namespaces=(),
- extra="ignore",
+ populate_by_name=True, protected_namespaces=(), extra="ignore"
)
diff --git a/waylay-sdk-storage-types/src/waylay/services/storage/models/system_channel_config.py b/waylay-sdk-storage-types/src/waylay/services/storage/models/system_channel_config.py
index 6356916..b809abd 100644
--- a/waylay-sdk-storage-types/src/waylay/services/storage/models/system_channel_config.py
+++ b/waylay-sdk-storage-types/src/waylay/services/storage/models/system_channel_config.py
@@ -33,8 +33,5 @@ class SystemChannelConfig(WaylayBaseModel):
expiry: Expiry | None = None
model_config = ConfigDict(
- populate_by_name=True,
- validate_assignment=True,
- protected_namespaces=(),
- extra="ignore",
+ populate_by_name=True, protected_namespaces=(), extra="ignore"
)
diff --git a/waylay-sdk-storage-types/src/waylay/services/storage/models/tenant_status_report.py b/waylay-sdk-storage-types/src/waylay/services/storage/models/tenant_status_report.py
index 0740dfb..3b0486b 100644
--- a/waylay-sdk-storage-types/src/waylay/services/storage/models/tenant_status_report.py
+++ b/waylay-sdk-storage-types/src/waylay/services/storage/models/tenant_status_report.py
@@ -39,8 +39,5 @@ class TenantStatusReport(WaylayBaseModel):
queue_status: QUEUESETUPSTATUS | None = None
model_config = ConfigDict(
- populate_by_name=True,
- validate_assignment=True,
- protected_namespaces=(),
- extra="ignore",
+ populate_by_name=True, protected_namespaces=(), extra="ignore"
)
diff --git a/waylay-sdk-storage-types/src/waylay/services/storage/models/validation_error.py b/waylay-sdk-storage-types/src/waylay/services/storage/models/validation_error.py
index 1c27c20..60db3f3 100644
--- a/waylay-sdk-storage-types/src/waylay/services/storage/models/validation_error.py
+++ b/waylay-sdk-storage-types/src/waylay/services/storage/models/validation_error.py
@@ -30,8 +30,5 @@ class ValidationError(WaylayBaseModel):
type: StrictStr
model_config = ConfigDict(
- populate_by_name=True,
- validate_assignment=True,
- protected_namespaces=(),
- extra="ignore",
+ populate_by_name=True, protected_namespaces=(), extra="ignore"
)
diff --git a/waylay-sdk-storage-types/src/waylay/services/storage/models/web_script_channel_config.py b/waylay-sdk-storage-types/src/waylay/services/storage/models/web_script_channel_config.py
index ff57748..9fb5213 100644
--- a/waylay-sdk-storage-types/src/waylay/services/storage/models/web_script_channel_config.py
+++ b/waylay-sdk-storage-types/src/waylay/services/storage/models/web_script_channel_config.py
@@ -37,8 +37,5 @@ class WebScriptChannelConfig(WaylayBaseModel):
method: HTTPMETHOD | None = None
model_config = ConfigDict(
- populate_by_name=True,
- validate_assignment=True,
- protected_namespaces=(),
- extra="ignore",
+ populate_by_name=True, protected_namespaces=(), extra="ignore"
)
diff --git a/waylay-sdk-storage-types/src/waylay/services/storage/queries/__init__.py b/waylay-sdk-storage-types/src/waylay/services/storage/queries/__init__.py
index e284958..4b12403 100644
--- a/waylay-sdk-storage-types/src/waylay/services/storage/queries/__init__.py
+++ b/waylay-sdk-storage-types/src/waylay/services/storage/queries/__init__.py
@@ -3,7 +3,7 @@
This code was generated from the OpenAPI documentation of 'Waylay Storage'
-version: v0.4.1
+version: 0.4.2
Manage storage buckets and subscriptions.
diff --git a/waylay-sdk-storage-types/src/waylay/services/storage/queries/about_api.py b/waylay-sdk-storage-types/src/waylay/services/storage/queries/about_api.py
index 8571499..531c6d8 100644
--- a/waylay-sdk-storage-types/src/waylay/services/storage/queries/about_api.py
+++ b/waylay-sdk-storage-types/src/waylay/services/storage/queries/about_api.py
@@ -18,6 +18,21 @@
from waylay.sdk.api._models import BaseModel as WaylayBaseModel
+def _get_query_alias_for(field_name: str) -> str:
+ return field_name
+
+
+class GetQuery(WaylayBaseModel):
+ """Model for `get` query parameters."""
+
+ model_config = ConfigDict(
+ protected_namespaces=(),
+ extra="allow",
+ alias_generator=_get_query_alias_for,
+ populate_by_name=True,
+ )
+
+
def _status_query_alias_for(field_name: str) -> str:
if field_name == "store":
return "store"
@@ -39,25 +54,8 @@ class StatusQuery(WaylayBaseModel):
include_disk_usage: StrictBool | None = None
model_config = ConfigDict(
- validate_assignment=True,
protected_namespaces=(),
extra="allow",
alias_generator=_status_query_alias_for,
populate_by_name=True,
)
-
-
-def _version_query_alias_for(field_name: str) -> str:
- return field_name
-
-
-class VersionQuery(WaylayBaseModel):
- """Model for `version` query parameters."""
-
- model_config = ConfigDict(
- validate_assignment=True,
- protected_namespaces=(),
- extra="allow",
- alias_generator=_version_query_alias_for,
- populate_by_name=True,
- )
diff --git a/waylay-sdk-storage-types/src/waylay/services/storage/queries/bucket_api.py b/waylay-sdk-storage-types/src/waylay/services/storage/queries/bucket_api.py
index 7aaee45..1324ca8 100644
--- a/waylay-sdk-storage-types/src/waylay/services/storage/queries/bucket_api.py
+++ b/waylay-sdk-storage-types/src/waylay/services/storage/queries/bucket_api.py
@@ -29,7 +29,6 @@ class GetQuery(WaylayBaseModel):
store: StrictStr | None = None
model_config = ConfigDict(
- validate_assignment=True,
protected_namespaces=(),
extra="allow",
alias_generator=_get_query_alias_for,
@@ -49,7 +48,6 @@ class ListQuery(WaylayBaseModel):
store: StrictStr | None = None
model_config = ConfigDict(
- validate_assignment=True,
protected_namespaces=(),
extra="allow",
alias_generator=_list_query_alias_for,
diff --git a/waylay-sdk-storage-types/src/waylay/services/storage/queries/object_api.py b/waylay-sdk-storage-types/src/waylay/services/storage/queries/object_api.py
index de83c42..fa7eb76 100644
--- a/waylay-sdk-storage-types/src/waylay/services/storage/queries/object_api.py
+++ b/waylay-sdk-storage-types/src/waylay/services/storage/queries/object_api.py
@@ -37,7 +37,6 @@ class CopyOrMoveQuery(WaylayBaseModel):
store: StrictStr | None = None
model_config = ConfigDict(
- validate_assignment=True,
protected_namespaces=(),
extra="allow",
alias_generator=_copy_or_move_query_alias_for,
@@ -60,7 +59,6 @@ class CreateFolderQuery(WaylayBaseModel):
store: StrictStr | None = None
model_config = ConfigDict(
- validate_assignment=True,
protected_namespaces=(),
extra="allow",
alias_generator=_create_folder_query_alias_for,
@@ -122,7 +120,6 @@ class ListQuery(WaylayBaseModel):
content_type: StrictStr | None = None
model_config = ConfigDict(
- validate_assignment=True,
protected_namespaces=(),
extra="allow",
alias_generator=_list_query_alias_for,
@@ -154,7 +151,6 @@ class RemoveQuery(WaylayBaseModel):
store: StrictStr | None = None
model_config = ConfigDict(
- validate_assignment=True,
protected_namespaces=(),
extra="allow",
alias_generator=_remove_query_alias_for,
diff --git a/waylay-sdk-storage-types/src/waylay/services/storage/queries/subscription_api.py b/waylay-sdk-storage-types/src/waylay/services/storage/queries/subscription_api.py
index 51406be..dbba54a 100644
--- a/waylay-sdk-storage-types/src/waylay/services/storage/queries/subscription_api.py
+++ b/waylay-sdk-storage-types/src/waylay/services/storage/queries/subscription_api.py
@@ -33,7 +33,6 @@ class CreateQuery(WaylayBaseModel):
store: StrictStr | None = None
model_config = ConfigDict(
- validate_assignment=True,
protected_namespaces=(),
extra="allow",
alias_generator=_create_query_alias_for,
@@ -74,7 +73,6 @@ class DeleteByQuery(WaylayBaseModel):
max_keys: StrictInt | None = None
model_config = ConfigDict(
- validate_assignment=True,
protected_namespaces=(),
extra="allow",
alias_generator=_delete_by_query_alias_for,
@@ -94,7 +92,6 @@ class GetQuery(WaylayBaseModel):
store: StrictStr | None = None
model_config = ConfigDict(
- validate_assignment=True,
protected_namespaces=(),
extra="allow",
alias_generator=_get_query_alias_for,
@@ -132,7 +129,6 @@ class ListQuery(WaylayBaseModel):
max_keys: StrictInt | None = None
model_config = ConfigDict(
- validate_assignment=True,
protected_namespaces=(),
extra="allow",
alias_generator=_list_query_alias_for,
@@ -173,7 +169,6 @@ class QueryQuery(WaylayBaseModel):
max_keys: StrictInt | None = None
model_config = ConfigDict(
- validate_assignment=True,
protected_namespaces=(),
extra="allow",
alias_generator=_query_query_alias_for,
@@ -193,7 +188,6 @@ class RemoveQuery(WaylayBaseModel):
store: StrictStr | None = None
model_config = ConfigDict(
- validate_assignment=True,
protected_namespaces=(),
extra="allow",
alias_generator=_remove_query_alias_for,
@@ -213,7 +207,6 @@ class ReplaceQuery(WaylayBaseModel):
store: StrictStr | None = None
model_config = ConfigDict(
- validate_assignment=True,
protected_namespaces=(),
extra="allow",
alias_generator=_replace_query_alias_for,
diff --git a/waylay-sdk-storage/.openapi-generator/FILES b/waylay-sdk-storage/.openapi-generator/FILES
index aeedf11..d3a12aa 100644
--- a/waylay-sdk-storage/.openapi-generator/FILES
+++ b/waylay-sdk-storage/.openapi-generator/FILES
@@ -1,5 +1,4 @@
LICENSE.txt
-README.md
pyproject.toml
src/waylay/services/storage/api/__init__.py
src/waylay/services/storage/api/about_api.py
diff --git a/waylay-sdk-storage/README.md b/waylay-sdk-storage/README.md
index 08cd399..141f4ac 100644
--- a/waylay-sdk-storage/README.md
+++ b/waylay-sdk-storage/README.md
@@ -4,30 +4,30 @@ Manage storage buckets and subscriptions.
This Python package is automatically generated based on the
-Waylay Storage OpenAPI specification (API version: v0.4.1)
+Waylay Storage OpenAPI specification (API version: 0.4.2)
+For more information, please visit [the openapi specification](https://docs.waylay.io/openapi/public/redocly/storage.html).
-It consists of a plugin for the waylay-sdk package, and contains the Storage api methods.
+It consists of a plugin for the waylay-sdk-core package, and contains the Storage api methods.
Note that the typed model classes for all path params, query params, body params and responses for each of the api methods are contained in a separate package called waylay-sdk-storage-types.
## Requirements.
This package requires Python 3.9+.
## Installation
-Typically this package is installed when installing the [waylay-sdk](https://github.com/waylayio/waylay-sdk-py) package to enable the service's functionality.
+Typically this package is installed when installing the [waylay-sdk-core](https://pypi.org/project/waylay-sdk/) package to enable the service's functionality.
When the service api methods are required, waylay-sdk-storage is included in:
-- ```pip install waylay-sdk[storage]``` to install `waylay-sdk` along with only this service, or
-- ```pip install waylay-sdk[services]``` to install `waylay-sdk` along with all services.
+- ```pip install waylay-sdk-core[storage]``` to install `waylay-sdk-core` along with only this service, or
+- ```pip install waylay-sdk-core[services]``` to install `waylay-sdk-core` along with all services.
When the typed models are required, both waylay-sdk-storage and waylay-sdk-storage-types are included in:
-- ```pip install waylay-sdk[storage,storage-types]``` to install `waylay-sdk` along with only this service including the typed models, or
-- ```pip install waylay-sdk[services,services-types]``` to install `waylay-sdk` along with all services along with the typed models.
+- ```pip install waylay-sdk-core[storage,storage-types]``` to install `waylay-sdk-core` along with only this service including the typed models, or
+- ```pip install waylay-sdk-core[services,services-types]``` to install `waylay-sdk-core` along with all services along with the typed models.
## Usage
-
```python
from pprint import pprint
-# Import the waylay-client from the waylay-sdk package
+# Import the waylay-client from the waylay-sdk-core package
from waylay.sdk.client import WaylayClient
from waylay.sdk.api.api_exceptions import ApiError
@@ -35,15 +35,23 @@ from waylay.sdk.api.api_exceptions import ApiError
waylay_client = WaylayClient.from_profile()
# Note that the typed model classes for responses/parameters/... are only available when `waylay-sdk-storage-types` is installed
+from waylay.services.storage.models.tenant_status_report import TenantStatusReport
try:
- # Version
- # calls `GET /storage/v1/`
- api_response = await waylay_client.storage.about.version(
+ # Status
+ # calls `GET /storage/v1/status`
+ api_response = await waylay_client.storage.about.status(
+ # query parameters:
+ query = {
+ 'include_buckets': True
+ 'include_queues': True
+ 'include_disk_usage': False
+ },
)
- print("The response of storage.about.version:\n")
+ print("The response of storage.about.status:\n")
pprint(api_response)
except ApiError as e:
- print("Exception when calling storage.about.version: %s\n" % e)
+ print("Exception when calling storage.about.status: %s\n" % e)
```
+For more information, please visit the [Waylay API documentation](https://docs.waylay.io/#/api/?id=software-development-kits).
\ No newline at end of file
diff --git a/waylay-sdk-storage/pyproject.toml b/waylay-sdk-storage/pyproject.toml
index 61bf7ad..b72ab4e 100644
--- a/waylay-sdk-storage/pyproject.toml
+++ b/waylay-sdk-storage/pyproject.toml
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
[project]
name = "waylay-sdk-storage"
-version = "0.4.1b1"
+version = "0.4.2b20240423"
description = "Waylay Storage"
authors = [
{ name = "Waylay", email = "info@waylay.io"}
@@ -12,7 +12,7 @@ authors = [
keywords = ["Waylay Storage"]
requires-python = ">= 3.9"
dependencies = [
- "waylay-sdk ~= 0.0.4rc5",
+ "waylay-sdk-core ~= 0.2.1",
"pydantic ~= 2.6",
"typing-extensions ~= 4.10",
"eval-type-backport ~= 0.1.3; python_version < '3.10'",
@@ -22,8 +22,9 @@ license={file = "LICENSE.txt"}
[project.urls]
Homepage = "https://www.waylay.io/"
-Documentation = "https://docs.waylay.io/#/"
+Documentation = "https://docs.waylay.io/#/api/?id=software-development-kits"
Repository = "https://github.com/waylayio/waylay-sdk-storage-py.git"
+"Openapi Specification" = "https://docs.waylay.io/openapi/public/redocly/storage.html"
[project.optional-dependencies]
dev = [
diff --git a/waylay-sdk-storage/src/waylay/services/storage/api/about_api.py b/waylay-sdk-storage/src/waylay/services/storage/api/about_api.py
index 64a12dd..5aed7c0 100644
--- a/waylay-sdk-storage/src/waylay/services/storage/api/about_api.py
+++ b/waylay-sdk-storage/src/waylay/services/storage/api/about_api.py
@@ -33,25 +33,25 @@
if TYPE_CHECKING:
from waylay.services.storage.models import HTTPValidationError, TenantStatusReport
- from waylay.services.storage.queries.about_api import StatusQuery, VersionQuery
+ from waylay.services.storage.queries.about_api import GetQuery, StatusQuery
try:
from waylay.services.storage.models import HTTPValidationError, TenantStatusReport
- from waylay.services.storage.queries.about_api import StatusQuery, VersionQuery
+ from waylay.services.storage.queries.about_api import GetQuery, StatusQuery
MODELS_AVAILABLE = True
except ImportError:
MODELS_AVAILABLE = False
if not TYPE_CHECKING:
+ GetQuery = dict
+
StatusQuery = dict
TenantStatusReport = Model
HTTPValidationError = Model
- VersionQuery = dict
-
T = TypeVar("T")
@@ -66,92 +66,91 @@ class AboutApi(WithApiClient):
"""
@overload
- async def status(
+ async def get(
self,
*,
- query: StatusQuery | QueryParamTypes | None = None,
+ query: GetQuery | QueryParamTypes | None = None,
raw_response: Literal[False] = False,
select_path: Literal[""] = "",
response_type: Literal[None] = None,
+ validate_request: StrictBool = True,
headers: HeaderTypes | None = None,
**kwargs,
- ) -> TenantStatusReport: ...
+ ) -> str: ...
@overload
- async def status(
+ async def get(
self,
*,
- query: StatusQuery | QueryParamTypes | None = None,
+ query: GetQuery | QueryParamTypes | None = None,
raw_response: Literal[False] = False,
select_path: Literal[""] = "",
response_type: T,
+ validate_request: StrictBool = True,
headers: HeaderTypes | None = None,
**kwargs,
) -> T: ...
@overload
- async def status(
+ async def get(
self,
*,
- query: StatusQuery | QueryParamTypes | None = None,
+ query: GetQuery | QueryParamTypes | None = None,
raw_response: Literal[True],
select_path: Literal["_not_used_"] = "_not_used_",
response_type: Literal[None] = None, # not used
+ validate_request: StrictBool = True,
headers: HeaderTypes | None = None,
**kwargs,
) -> Response: ...
@overload
- async def status(
+ async def get(
self,
*,
- query: StatusQuery | QueryParamTypes | None = None,
+ query: GetQuery | QueryParamTypes | None = None,
raw_response: Literal[False] = False,
select_path: str,
response_type: Literal[None] = None,
+ validate_request: StrictBool = True,
headers: HeaderTypes | None = None,
**kwargs,
) -> Model: ...
@overload
- async def status(
+ async def get(
self,
*,
- query: StatusQuery | QueryParamTypes | None = None,
+ query: GetQuery | QueryParamTypes | None = None,
raw_response: Literal[False] = False,
select_path: str,
response_type: T,
+ validate_request: StrictBool = True,
headers: HeaderTypes | None = None,
**kwargs,
) -> T: ...
- async def status(
+ async def get(
self,
*,
- query: StatusQuery | QueryParamTypes | None = None,
+ query: GetQuery | QueryParamTypes | None = None,
raw_response: StrictBool = False,
select_path: str = "",
response_type: T | None = None,
+ validate_request: StrictBool = True,
headers: HeaderTypes | None = None,
**kwargs,
- ) -> TenantStatusReport | T | Response | Model:
- """Status.
+ ) -> str | T | Response | Model:
+ """Version.
- Validate consistency of buckets and notification queues for this tenant.
+ Get the application version.
:param query: URL Query parameters.
- :type query: StatusQuery | QueryParamTypes, optional
- :param query['store'] (dict)
query.store (Query) :
- :type query['store']: str
- :param query['include_buckets'] (dict)
query.include_buckets (Query) :
- :type query['include_buckets']: bool
- :param query['include_queues'] (dict)
query.include_queues (Query) :
- :type query['include_queues']: bool
- :param query['include_disk_usage'] (dict)
query.include_disk_usage (Query) :
- :type query['include_disk_usage']: bool
+ :type query: GetQuery | QueryParamTypes, optional
:param raw_response: If true, return the http Response object instead of returning an api model object, or throwing an ApiError.
:param select_path: Denotes the json path applied to the response object before returning it.
Set it to the empty string `""` to receive the full response object.
:param response_type: If specified, the response is parsed into an instance of the specified type.
+ :param validate_request: If set to false, the request body and query parameters are NOT validated against the models in the service types package, even when available.
:param headers: Header parameters for this request
:type headers: dict, optional
:param `**kwargs`: Additional parameters passed on to the http client.
@@ -170,10 +169,6 @@ async def status(
object wraps both the http Response and any parsed data.
"""
- should_validate = (
- MODELS_AVAILABLE and self.api_client.config.client_side_validation
- )
-
# path parameters
path_params: Dict[str, str] = {}
@@ -181,25 +176,23 @@ async def status(
body_args: Dict[str, Any] = {}
# query parameters
- if query is not None and should_validate:
- query = TypeAdapter(StatusQuery).validate_python(query)
+ if query is not None and MODELS_AVAILABLE and validate_request:
+ query = TypeAdapter(GetQuery).validate_python(query)
response_types_map: Dict[str, Any] = (
{"2XX": response_type}
if response_type is not None
else {
- "200": TenantStatusReport if not select_path else Model,
+ "200": str if not select_path else Model,
}
)
- non_200_response_types_map: Dict[str, Any] = {
- "422": HTTPValidationError,
- }
+ non_200_response_types_map: Dict[str, Any] = {}
response_types_map.update(non_200_response_types_map)
## peform request
return await self.api_client.request(
method="GET",
- resource_path="/storage/v1/status",
+ resource_path="/storage/v1/",
path_params=path_params,
params=query,
**body_args,
@@ -211,84 +204,99 @@ async def status(
)
@overload
- async def version(
+ async def status(
self,
*,
- query: VersionQuery | QueryParamTypes | None = None,
+ query: StatusQuery | QueryParamTypes | None = None,
raw_response: Literal[False] = False,
select_path: Literal[""] = "",
response_type: Literal[None] = None,
+ validate_request: StrictBool = True,
headers: HeaderTypes | None = None,
**kwargs,
- ) -> str: ...
+ ) -> TenantStatusReport: ...
@overload
- async def version(
+ async def status(
self,
*,
- query: VersionQuery | QueryParamTypes | None = None,
+ query: StatusQuery | QueryParamTypes | None = None,
raw_response: Literal[False] = False,
select_path: Literal[""] = "",
response_type: T,
+ validate_request: StrictBool = True,
headers: HeaderTypes | None = None,
**kwargs,
) -> T: ...
@overload
- async def version(
+ async def status(
self,
*,
- query: VersionQuery | QueryParamTypes | None = None,
+ query: StatusQuery | QueryParamTypes | None = None,
raw_response: Literal[True],
select_path: Literal["_not_used_"] = "_not_used_",
response_type: Literal[None] = None, # not used
+ validate_request: StrictBool = True,
headers: HeaderTypes | None = None,
**kwargs,
) -> Response: ...
@overload
- async def version(
+ async def status(
self,
*,
- query: VersionQuery | QueryParamTypes | None = None,
+ query: StatusQuery | QueryParamTypes | None = None,
raw_response: Literal[False] = False,
select_path: str,
response_type: Literal[None] = None,
+ validate_request: StrictBool = True,
headers: HeaderTypes | None = None,
**kwargs,
) -> Model: ...
@overload
- async def version(
+ async def status(
self,
*,
- query: VersionQuery | QueryParamTypes | None = None,
+ query: StatusQuery | QueryParamTypes | None = None,
raw_response: Literal[False] = False,
select_path: str,
response_type: T,
+ validate_request: StrictBool = True,
headers: HeaderTypes | None = None,
**kwargs,
) -> T: ...
- async def version(
+ async def status(
self,
*,
- query: VersionQuery | QueryParamTypes | None = None,
+ query: StatusQuery | QueryParamTypes | None = None,
raw_response: StrictBool = False,
select_path: str = "",
response_type: T | None = None,
+ validate_request: StrictBool = True,
headers: HeaderTypes | None = None,
**kwargs,
- ) -> str | T | Response | Model:
- """Version.
+ ) -> TenantStatusReport | T | Response | Model:
+ """Status.
- Get the application version.
+ Validate consistency of buckets and notification queues for this tenant.
:param query: URL Query parameters.
- :type query: VersionQuery | QueryParamTypes, optional
+ :type query: StatusQuery | QueryParamTypes, optional
+ :param query['store'] (dict)
query.store (Query) :
+ :type query['store']: str
+ :param query['include_buckets'] (dict)
query.include_buckets (Query) :
+ :type query['include_buckets']: bool
+ :param query['include_queues'] (dict)
query.include_queues (Query) :
+ :type query['include_queues']: bool
+ :param query['include_disk_usage'] (dict)
query.include_disk_usage (Query) :
+ :type query['include_disk_usage']: bool
:param raw_response: If true, return the http Response object instead of returning an api model object, or throwing an ApiError.
:param select_path: Denotes the json path applied to the response object before returning it.
Set it to the empty string `""` to receive the full response object.
:param response_type: If specified, the response is parsed into an instance of the specified type.
+ :param validate_request: If set to false, the request body and query parameters are NOT validated against the models in the service types package, even when available.
:param headers: Header parameters for this request
:type headers: dict, optional
:param `**kwargs`: Additional parameters passed on to the http client.
@@ -307,10 +315,6 @@ async def version(
object wraps both the http Response and any parsed data.
"""
- should_validate = (
- MODELS_AVAILABLE and self.api_client.config.client_side_validation
- )
-
# path parameters
path_params: Dict[str, str] = {}
@@ -318,23 +322,25 @@ async def version(
body_args: Dict[str, Any] = {}
# query parameters
- if query is not None and should_validate:
- query = TypeAdapter(VersionQuery).validate_python(query)
+ if query is not None and MODELS_AVAILABLE and validate_request:
+ query = TypeAdapter(StatusQuery).validate_python(query)
response_types_map: Dict[str, Any] = (
{"2XX": response_type}
if response_type is not None
else {
- "200": str if not select_path else Model,
+ "200": TenantStatusReport if not select_path else Model,
}
)
- non_200_response_types_map: Dict[str, Any] = {}
+ non_200_response_types_map: Dict[str, Any] = {
+ "422": HTTPValidationError,
+ }
response_types_map.update(non_200_response_types_map)
## peform request
return await self.api_client.request(
method="GET",
- resource_path="/storage/v1/",
+ resource_path="/storage/v1/status",
path_params=path_params,
params=query,
**body_args,
diff --git a/waylay-sdk-storage/src/waylay/services/storage/api/bucket_api.py b/waylay-sdk-storage/src/waylay/services/storage/api/bucket_api.py
index 3cbdf5b..8aaf7ce 100644
--- a/waylay-sdk-storage/src/waylay/services/storage/api/bucket_api.py
+++ b/waylay-sdk-storage/src/waylay/services/storage/api/bucket_api.py
@@ -86,6 +86,7 @@ async def get(
raw_response: Literal[False] = False,
select_path: Literal[""] = "",
response_type: Literal[None] = None,
+ validate_request: StrictBool = True,
headers: HeaderTypes | None = None,
**kwargs,
) -> Bucket: ...
@@ -99,6 +100,7 @@ async def get(
raw_response: Literal[False] = False,
select_path: Literal[""] = "",
response_type: T,
+ validate_request: StrictBool = True,
headers: HeaderTypes | None = None,
**kwargs,
) -> T: ...
@@ -112,6 +114,7 @@ async def get(
raw_response: Literal[True],
select_path: Literal["_not_used_"] = "_not_used_",
response_type: Literal[None] = None, # not used
+ validate_request: StrictBool = True,
headers: HeaderTypes | None = None,
**kwargs,
) -> Response: ...
@@ -125,6 +128,7 @@ async def get(
raw_response: Literal[False] = False,
select_path: str,
response_type: Literal[None] = None,
+ validate_request: StrictBool = True,
headers: HeaderTypes | None = None,
**kwargs,
) -> Model: ...
@@ -138,6 +142,7 @@ async def get(
raw_response: Literal[False] = False,
select_path: str,
response_type: T,
+ validate_request: StrictBool = True,
headers: HeaderTypes | None = None,
**kwargs,
) -> T: ...
@@ -150,6 +155,7 @@ async def get(
raw_response: StrictBool = False,
select_path: str = "",
response_type: T | None = None,
+ validate_request: StrictBool = True,
headers: HeaderTypes | None = None,
**kwargs,
) -> Bucket | T | Response | Model:
@@ -166,6 +172,7 @@ async def get(
:param select_path: Denotes the json path applied to the response object before returning it.
Set it to the empty string `""` to receive the full response object.
:param response_type: If specified, the response is parsed into an instance of the specified type.
+ :param validate_request: If set to false, the request body and query parameters are NOT validated against the models in the service types package, even when available.
:param headers: Header parameters for this request
:type headers: dict, optional
:param `**kwargs`: Additional parameters passed on to the http client.
@@ -184,10 +191,6 @@ async def get(
object wraps both the http Response and any parsed data.
"""
- should_validate = (
- MODELS_AVAILABLE and self.api_client.config.client_side_validation
- )
-
# path parameters
path_params: Dict[str, str] = {
"bucket_name": str(bucket_name),
@@ -197,7 +200,7 @@ async def get(
body_args: Dict[str, Any] = {}
# query parameters
- if query is not None and should_validate:
+ if query is not None and MODELS_AVAILABLE and validate_request:
query = TypeAdapter(GetQuery).validate_python(query)
response_types_map: Dict[str, Any] = (
@@ -234,6 +237,7 @@ async def list(
raw_response: Literal[False] = False,
select_path: Literal[""] = "",
response_type: Literal[None] = None,
+ validate_request: StrictBool = True,
headers: HeaderTypes | None = None,
**kwargs,
) -> BucketListing: ...
@@ -246,6 +250,7 @@ async def list(
raw_response: Literal[False] = False,
select_path: Literal[""] = "",
response_type: T,
+ validate_request: StrictBool = True,
headers: HeaderTypes | None = None,
**kwargs,
) -> T: ...
@@ -258,6 +263,7 @@ async def list(
raw_response: Literal[True],
select_path: Literal["_not_used_"] = "_not_used_",
response_type: Literal[None] = None, # not used
+ validate_request: StrictBool = True,
headers: HeaderTypes | None = None,
**kwargs,
) -> Response: ...
@@ -270,6 +276,7 @@ async def list(
raw_response: Literal[False] = False,
select_path: str,
response_type: Literal[None] = None,
+ validate_request: StrictBool = True,
headers: HeaderTypes | None = None,
**kwargs,
) -> Model: ...
@@ -282,6 +289,7 @@ async def list(
raw_response: Literal[False] = False,
select_path: str,
response_type: T,
+ validate_request: StrictBool = True,
headers: HeaderTypes | None = None,
**kwargs,
) -> T: ...
@@ -293,6 +301,7 @@ async def list(
raw_response: StrictBool = False,
select_path: str = "",
response_type: T | None = None,
+ validate_request: StrictBool = True,
headers: HeaderTypes | None = None,
**kwargs,
) -> BucketListing | T | Response | Model:
@@ -307,6 +316,7 @@ async def list(
:param select_path: Denotes the json path applied to the response object before returning it.
Set it to the empty string `""` to receive the full response object.
:param response_type: If specified, the response is parsed into an instance of the specified type.
+ :param validate_request: If set to false, the request body and query parameters are NOT validated against the models in the service types package, even when available.
:param headers: Header parameters for this request
:type headers: dict, optional
:param `**kwargs`: Additional parameters passed on to the http client.
@@ -325,10 +335,6 @@ async def list(
object wraps both the http Response and any parsed data.
"""
- should_validate = (
- MODELS_AVAILABLE and self.api_client.config.client_side_validation
- )
-
# path parameters
path_params: Dict[str, str] = {}
@@ -336,7 +342,7 @@ async def list(
body_args: Dict[str, Any] = {}
# query parameters
- if query is not None and should_validate:
+ if query is not None and MODELS_AVAILABLE and validate_request:
query = TypeAdapter(ListQuery).validate_python(query)
response_types_map: Dict[str, Any] = (
diff --git a/waylay-sdk-storage/src/waylay/services/storage/api/object_api.py b/waylay-sdk-storage/src/waylay/services/storage/api/object_api.py
index 985c527..c797733 100644
--- a/waylay-sdk-storage/src/waylay/services/storage/api/object_api.py
+++ b/waylay-sdk-storage/src/waylay/services/storage/api/object_api.py
@@ -109,6 +109,7 @@ async def copy_or_move(
raw_response: Literal[False] = False,
select_path: Literal[""] = "",
response_type: Literal[None] = None,
+ validate_request: StrictBool = True,
headers: HeaderTypes | None = None,
**kwargs,
) -> HALEntity: ...
@@ -123,6 +124,7 @@ async def copy_or_move(
raw_response: Literal[False] = False,
select_path: Literal[""] = "",
response_type: T,
+ validate_request: StrictBool = True,
headers: HeaderTypes | None = None,
**kwargs,
) -> T: ...
@@ -137,6 +139,7 @@ async def copy_or_move(
raw_response: Literal[True],
select_path: Literal["_not_used_"] = "_not_used_",
response_type: Literal[None] = None, # not used
+ validate_request: StrictBool = True,
headers: HeaderTypes | None = None,
**kwargs,
) -> Response: ...
@@ -151,6 +154,7 @@ async def copy_or_move(
raw_response: Literal[False] = False,
select_path: str,
response_type: Literal[None] = None,
+ validate_request: StrictBool = True,
headers: HeaderTypes | None = None,
**kwargs,
) -> Model: ...
@@ -165,6 +169,7 @@ async def copy_or_move(
raw_response: Literal[False] = False,
select_path: str,
response_type: T,
+ validate_request: StrictBool = True,
headers: HeaderTypes | None = None,
**kwargs,
) -> T: ...
@@ -178,6 +183,7 @@ async def copy_or_move(
raw_response: StrictBool = False,
select_path: str = "",
response_type: T | None = None,
+ validate_request: StrictBool = True,
headers: HeaderTypes | None = None,
**kwargs,
) -> HALEntity | T | Response | Model:
@@ -200,6 +206,7 @@ async def copy_or_move(
:param select_path: Denotes the json path applied to the response object before returning it.
Set it to the empty string `""` to receive the full response object.
:param response_type: If specified, the response is parsed into an instance of the specified type.
+ :param validate_request: If set to false, the request body and query parameters are NOT validated against the models in the service types package, even when available.
:param headers: Header parameters for this request
:type headers: dict, optional
:param `**kwargs`: Additional parameters passed on to the http client.
@@ -218,10 +225,6 @@ async def copy_or_move(
object wraps both the http Response and any parsed data.
"""
- should_validate = (
- MODELS_AVAILABLE and self.api_client.config.client_side_validation
- )
-
# path parameters
path_params: Dict[str, str] = {
"bucket_name": str(bucket_name),
@@ -232,7 +235,7 @@ async def copy_or_move(
body_args: Dict[str, Any] = {}
# query parameters
- if query is not None and should_validate:
+ if query is not None and MODELS_AVAILABLE and validate_request:
query = TypeAdapter(CopyOrMoveQuery).validate_python(query)
response_types_map: Dict[str, Any] = (
@@ -271,6 +274,7 @@ async def create_folder(
raw_response: Literal[False] = False,
select_path: Literal[""] = "",
response_type: Literal[None] = None,
+ validate_request: StrictBool = True,
headers: HeaderTypes | None = None,
**kwargs,
) -> BucketObject: ...
@@ -285,6 +289,7 @@ async def create_folder(
raw_response: Literal[False] = False,
select_path: Literal[""] = "",
response_type: T,
+ validate_request: StrictBool = True,
headers: HeaderTypes | None = None,
**kwargs,
) -> T: ...
@@ -299,6 +304,7 @@ async def create_folder(
raw_response: Literal[True],
select_path: Literal["_not_used_"] = "_not_used_",
response_type: Literal[None] = None, # not used
+ validate_request: StrictBool = True,
headers: HeaderTypes | None = None,
**kwargs,
) -> Response: ...
@@ -313,6 +319,7 @@ async def create_folder(
raw_response: Literal[False] = False,
select_path: str,
response_type: Literal[None] = None,
+ validate_request: StrictBool = True,
headers: HeaderTypes | None = None,
**kwargs,
) -> Model: ...
@@ -327,6 +334,7 @@ async def create_folder(
raw_response: Literal[False] = False,
select_path: str,
response_type: T,
+ validate_request: StrictBool = True,
headers: HeaderTypes | None = None,
**kwargs,
) -> T: ...
@@ -340,6 +348,7 @@ async def create_folder(
raw_response: StrictBool = False,
select_path: str = "",
response_type: T | None = None,
+ validate_request: StrictBool = True,
headers: HeaderTypes | None = None,
**kwargs,
) -> BucketObject | T | Response | Model:
@@ -360,6 +369,7 @@ async def create_folder(
:param select_path: Denotes the json path applied to the response object before returning it.
Set it to the empty string `""` to receive the full response object.
:param response_type: If specified, the response is parsed into an instance of the specified type.
+ :param validate_request: If set to false, the request body and query parameters are NOT validated against the models in the service types package, even when available.
:param headers: Header parameters for this request
:type headers: dict, optional
:param `**kwargs`: Additional parameters passed on to the http client.
@@ -378,10 +388,6 @@ async def create_folder(
object wraps both the http Response and any parsed data.
"""
- should_validate = (
- MODELS_AVAILABLE and self.api_client.config.client_side_validation
- )
-
# path parameters
path_params: Dict[str, str] = {
"bucket_name": str(bucket_name),
@@ -392,7 +398,7 @@ async def create_folder(
body_args: Dict[str, Any] = {}
# query parameters
- if query is not None and should_validate:
+ if query is not None and MODELS_AVAILABLE and validate_request:
query = TypeAdapter(CreateFolderQuery).validate_python(query)
response_types_map: Dict[str, Any] = (
@@ -431,6 +437,7 @@ async def list(
raw_response: Literal[False] = False,
select_path: Literal[""] = "",
response_type: Literal[None] = None,
+ validate_request: StrictBool = True,
headers: HeaderTypes | None = None,
**kwargs,
) -> ResponseList: ...
@@ -445,6 +452,7 @@ async def list(
raw_response: Literal[False] = False,
select_path: Literal[""] = "",
response_type: T,
+ validate_request: StrictBool = True,
headers: HeaderTypes | None = None,
**kwargs,
) -> T: ...
@@ -459,6 +467,7 @@ async def list(
raw_response: Literal[True],
select_path: Literal["_not_used_"] = "_not_used_",
response_type: Literal[None] = None, # not used
+ validate_request: StrictBool = True,
headers: HeaderTypes | None = None,
**kwargs,
) -> Response: ...
@@ -473,6 +482,7 @@ async def list(
raw_response: Literal[False] = False,
select_path: str,
response_type: Literal[None] = None,
+ validate_request: StrictBool = True,
headers: HeaderTypes | None = None,
**kwargs,
) -> Model: ...
@@ -487,6 +497,7 @@ async def list(
raw_response: Literal[False] = False,
select_path: str,
response_type: T,
+ validate_request: StrictBool = True,
headers: HeaderTypes | None = None,
**kwargs,
) -> T: ...
@@ -500,6 +511,7 @@ async def list(
raw_response: StrictBool = False,
select_path: str = "",
response_type: T | None = None,
+ validate_request: StrictBool = True,
headers: HeaderTypes | None = None,
**kwargs,
) -> ResponseList | T | Response | Model:
@@ -546,6 +558,7 @@ async def list(
:param select_path: Denotes the json path applied to the response object before returning it.
Set it to the empty string `""` to receive the full response object.
:param response_type: If specified, the response is parsed into an instance of the specified type.
+ :param validate_request: If set to false, the request body and query parameters are NOT validated against the models in the service types package, even when available.
:param headers: Header parameters for this request
:type headers: dict, optional
:param `**kwargs`: Additional parameters passed on to the http client.
@@ -564,10 +577,6 @@ async def list(
object wraps both the http Response and any parsed data.
"""
- should_validate = (
- MODELS_AVAILABLE and self.api_client.config.client_side_validation
- )
-
# path parameters
path_params: Dict[str, str] = {
"bucket_name": str(bucket_name),
@@ -578,7 +587,7 @@ async def list(
body_args: Dict[str, Any] = {}
# query parameters
- if query is not None and should_validate:
+ if query is not None and MODELS_AVAILABLE and validate_request:
query = TypeAdapter(ListQuery).validate_python(query)
response_types_map: Dict[str, Any] = (
@@ -617,6 +626,7 @@ async def remove(
raw_response: Literal[False] = False,
select_path: Literal[""] = "",
response_type: Literal[None] = None,
+ validate_request: StrictBool = True,
headers: HeaderTypes | None = None,
**kwargs,
) -> HALEntity: ...
@@ -631,6 +641,7 @@ async def remove(
raw_response: Literal[False] = False,
select_path: Literal[""] = "",
response_type: T,
+ validate_request: StrictBool = True,
headers: HeaderTypes | None = None,
**kwargs,
) -> T: ...
@@ -645,6 +656,7 @@ async def remove(
raw_response: Literal[True],
select_path: Literal["_not_used_"] = "_not_used_",
response_type: Literal[None] = None, # not used
+ validate_request: StrictBool = True,
headers: HeaderTypes | None = None,
**kwargs,
) -> Response: ...
@@ -659,6 +671,7 @@ async def remove(
raw_response: Literal[False] = False,
select_path: str,
response_type: Literal[None] = None,
+ validate_request: StrictBool = True,
headers: HeaderTypes | None = None,
**kwargs,
) -> Model: ...
@@ -673,6 +686,7 @@ async def remove(
raw_response: Literal[False] = False,
select_path: str,
response_type: T,
+ validate_request: StrictBool = True,
headers: HeaderTypes | None = None,
**kwargs,
) -> T: ...
@@ -686,6 +700,7 @@ async def remove(
raw_response: StrictBool = False,
select_path: str = "",
response_type: T | None = None,
+ validate_request: StrictBool = True,
headers: HeaderTypes | None = None,
**kwargs,
) -> HALEntity | T | Response | Model:
@@ -712,6 +727,7 @@ async def remove(
:param select_path: Denotes the json path applied to the response object before returning it.
Set it to the empty string `""` to receive the full response object.
:param response_type: If specified, the response is parsed into an instance of the specified type.
+ :param validate_request: If set to false, the request body and query parameters are NOT validated against the models in the service types package, even when available.
:param headers: Header parameters for this request
:type headers: dict, optional
:param `**kwargs`: Additional parameters passed on to the http client.
@@ -730,10 +746,6 @@ async def remove(
object wraps both the http Response and any parsed data.
"""
- should_validate = (
- MODELS_AVAILABLE and self.api_client.config.client_side_validation
- )
-
# path parameters
path_params: Dict[str, str] = {
"bucket_name": str(bucket_name),
@@ -744,7 +756,7 @@ async def remove(
body_args: Dict[str, Any] = {}
# query parameters
- if query is not None and should_validate:
+ if query is not None and MODELS_AVAILABLE and validate_request:
query = TypeAdapter(RemoveQuery).validate_python(query)
response_types_map: Dict[str, Any] = (
diff --git a/waylay-sdk-storage/src/waylay/services/storage/api/subscription_api.py b/waylay-sdk-storage/src/waylay/services/storage/api/subscription_api.py
index f35e539..086ad8b 100644
--- a/waylay-sdk-storage/src/waylay/services/storage/api/subscription_api.py
+++ b/waylay-sdk-storage/src/waylay/services/storage/api/subscription_api.py
@@ -136,6 +136,7 @@ async def create(
raw_response: Literal[False] = False,
select_path: Literal[""] = "",
response_type: Literal[None] = None,
+ validate_request: StrictBool = True,
headers: HeaderTypes | None = None,
**kwargs,
) -> SubscriptionConfig: ...
@@ -150,6 +151,7 @@ async def create(
raw_response: Literal[False] = False,
select_path: Literal[""] = "",
response_type: T,
+ validate_request: StrictBool = True,
headers: HeaderTypes | None = None,
**kwargs,
) -> T: ...
@@ -164,6 +166,7 @@ async def create(
raw_response: Literal[True],
select_path: Literal["_not_used_"] = "_not_used_",
response_type: Literal[None] = None, # not used
+ validate_request: StrictBool = True,
headers: HeaderTypes | None = None,
**kwargs,
) -> Response: ...
@@ -178,6 +181,7 @@ async def create(
raw_response: Literal[False] = False,
select_path: str,
response_type: Literal[None] = None,
+ validate_request: StrictBool = True,
headers: HeaderTypes | None = None,
**kwargs,
) -> Model: ...
@@ -192,6 +196,7 @@ async def create(
raw_response: Literal[False] = False,
select_path: str,
response_type: T,
+ validate_request: StrictBool = True,
headers: HeaderTypes | None = None,
**kwargs,
) -> T: ...
@@ -205,6 +210,7 @@ async def create(
raw_response: StrictBool = False,
select_path: str = "",
response_type: T | None = None,
+ validate_request: StrictBool = True,
headers: HeaderTypes | None = None,
**kwargs,
) -> SubscriptionConfig | T | Response | Model:
@@ -223,6 +229,7 @@ async def create(
:param select_path: Denotes the json path applied to the response object before returning it.
Set it to the empty string `""` to receive the full response object.
:param response_type: If specified, the response is parsed into an instance of the specified type.
+ :param validate_request: If set to false, the request body and query parameters are NOT validated against the models in the service types package, even when available.
:param headers: Header parameters for this request
:type headers: dict, optional
:param `**kwargs`: Additional parameters passed on to the http client.
@@ -241,10 +248,6 @@ async def create(
object wraps both the http Response and any parsed data.
"""
- should_validate = (
- MODELS_AVAILABLE and self.api_client.config.client_side_validation
- )
-
# path parameters
path_params: Dict[str, str] = {
"bucket_name": str(bucket_name),
@@ -252,13 +255,13 @@ async def create(
## named body parameters
body_args: Dict[str, Any] = {}
- if json is not None and should_validate:
+ if json is not None and validate_request:
body_adapter = TypeAdapter(SubscriptionConfig)
json = body_adapter.validate_python(json) # type: ignore # https://github.com/pydantic/pydantic/discussions/7094
body_args["json"] = json
# query parameters
- if query is not None and should_validate:
+ if query is not None and MODELS_AVAILABLE and validate_request:
query = TypeAdapter(CreateQuery).validate_python(query)
response_types_map: Dict[str, Any] = (
@@ -296,6 +299,7 @@ async def delete_by(
raw_response: Literal[False] = False,
select_path: Literal[""] = "",
response_type: Literal[None] = None,
+ validate_request: StrictBool = True,
headers: HeaderTypes | None = None,
**kwargs,
) -> HALEntity: ...
@@ -309,6 +313,7 @@ async def delete_by(
raw_response: Literal[False] = False,
select_path: Literal[""] = "",
response_type: T,
+ validate_request: StrictBool = True,
headers: HeaderTypes | None = None,
**kwargs,
) -> T: ...
@@ -322,6 +327,7 @@ async def delete_by(
raw_response: Literal[True],
select_path: Literal["_not_used_"] = "_not_used_",
response_type: Literal[None] = None, # not used
+ validate_request: StrictBool = True,
headers: HeaderTypes | None = None,
**kwargs,
) -> Response: ...
@@ -335,6 +341,7 @@ async def delete_by(
raw_response: Literal[False] = False,
select_path: str,
response_type: Literal[None] = None,
+ validate_request: StrictBool = True,
headers: HeaderTypes | None = None,
**kwargs,
) -> Model: ...
@@ -348,6 +355,7 @@ async def delete_by(
raw_response: Literal[False] = False,
select_path: str,
response_type: T,
+ validate_request: StrictBool = True,
headers: HeaderTypes | None = None,
**kwargs,
) -> T: ...
@@ -360,6 +368,7 @@ async def delete_by(
raw_response: StrictBool = False,
select_path: str = "",
response_type: T | None = None,
+ validate_request: StrictBool = True,
headers: HeaderTypes | None = None,
**kwargs,
) -> HALEntity | T | Response | Model:
@@ -390,6 +399,7 @@ async def delete_by(
:param select_path: Denotes the json path applied to the response object before returning it.
Set it to the empty string `""` to receive the full response object.
:param response_type: If specified, the response is parsed into an instance of the specified type.
+ :param validate_request: If set to false, the request body and query parameters are NOT validated against the models in the service types package, even when available.
:param headers: Header parameters for this request
:type headers: dict, optional
:param `**kwargs`: Additional parameters passed on to the http client.
@@ -408,10 +418,6 @@ async def delete_by(
object wraps both the http Response and any parsed data.
"""
- should_validate = (
- MODELS_AVAILABLE and self.api_client.config.client_side_validation
- )
-
# path parameters
path_params: Dict[str, str] = {
"bucket_name": str(bucket_name),
@@ -421,7 +427,7 @@ async def delete_by(
body_args: Dict[str, Any] = {}
# query parameters
- if query is not None and should_validate:
+ if query is not None and MODELS_AVAILABLE and validate_request:
query = TypeAdapter(DeleteByQuery).validate_python(query)
response_types_map: Dict[str, Any] = (
@@ -460,6 +466,7 @@ async def get(
raw_response: Literal[False] = False,
select_path: Literal[""] = "",
response_type: Literal[None] = None,
+ validate_request: StrictBool = True,
headers: HeaderTypes | None = None,
**kwargs,
) -> SubscriptionConfig: ...
@@ -474,6 +481,7 @@ async def get(
raw_response: Literal[False] = False,
select_path: Literal[""] = "",
response_type: T,
+ validate_request: StrictBool = True,
headers: HeaderTypes | None = None,
**kwargs,
) -> T: ...
@@ -488,6 +496,7 @@ async def get(
raw_response: Literal[True],
select_path: Literal["_not_used_"] = "_not_used_",
response_type: Literal[None] = None, # not used
+ validate_request: StrictBool = True,
headers: HeaderTypes | None = None,
**kwargs,
) -> Response: ...
@@ -502,6 +511,7 @@ async def get(
raw_response: Literal[False] = False,
select_path: str,
response_type: Literal[None] = None,
+ validate_request: StrictBool = True,
headers: HeaderTypes | None = None,
**kwargs,
) -> Model: ...
@@ -516,6 +526,7 @@ async def get(
raw_response: Literal[False] = False,
select_path: str,
response_type: T,
+ validate_request: StrictBool = True,
headers: HeaderTypes | None = None,
**kwargs,
) -> T: ...
@@ -529,6 +540,7 @@ async def get(
raw_response: StrictBool = False,
select_path: str = "",
response_type: T | None = None,
+ validate_request: StrictBool = True,
headers: HeaderTypes | None = None,
**kwargs,
) -> SubscriptionConfig | T | Response | Model:
@@ -547,6 +559,7 @@ async def get(
:param select_path: Denotes the json path applied to the response object before returning it.
Set it to the empty string `""` to receive the full response object.
:param response_type: If specified, the response is parsed into an instance of the specified type.
+ :param validate_request: If set to false, the request body and query parameters are NOT validated against the models in the service types package, even when available.
:param headers: Header parameters for this request
:type headers: dict, optional
:param `**kwargs`: Additional parameters passed on to the http client.
@@ -565,10 +578,6 @@ async def get(
object wraps both the http Response and any parsed data.
"""
- should_validate = (
- MODELS_AVAILABLE and self.api_client.config.client_side_validation
- )
-
# path parameters
path_params: Dict[str, str] = {
"bucket_name": str(bucket_name),
@@ -579,7 +588,7 @@ async def get(
body_args: Dict[str, Any] = {}
# query parameters
- if query is not None and should_validate:
+ if query is not None and MODELS_AVAILABLE and validate_request:
query = TypeAdapter(GetQuery).validate_python(query)
response_types_map: Dict[str, Any] = (
@@ -616,6 +625,7 @@ async def list(
raw_response: Literal[False] = False,
select_path: Literal[""] = "",
response_type: Literal[None] = None,
+ validate_request: StrictBool = True,
headers: HeaderTypes | None = None,
**kwargs,
) -> SubscriptionsListing: ...
@@ -628,6 +638,7 @@ async def list(
raw_response: Literal[False] = False,
select_path: Literal[""] = "",
response_type: T,
+ validate_request: StrictBool = True,
headers: HeaderTypes | None = None,
**kwargs,
) -> T: ...
@@ -640,6 +651,7 @@ async def list(
raw_response: Literal[True],
select_path: Literal["_not_used_"] = "_not_used_",
response_type: Literal[None] = None, # not used
+ validate_request: StrictBool = True,
headers: HeaderTypes | None = None,
**kwargs,
) -> Response: ...
@@ -652,6 +664,7 @@ async def list(
raw_response: Literal[False] = False,
select_path: str,
response_type: Literal[None] = None,
+ validate_request: StrictBool = True,
headers: HeaderTypes | None = None,
**kwargs,
) -> Model: ...
@@ -664,6 +677,7 @@ async def list(
raw_response: Literal[False] = False,
select_path: str,
response_type: T,
+ validate_request: StrictBool = True,
headers: HeaderTypes | None = None,
**kwargs,
) -> T: ...
@@ -675,6 +689,7 @@ async def list(
raw_response: StrictBool = False,
select_path: str = "",
response_type: T | None = None,
+ validate_request: StrictBool = True,
headers: HeaderTypes | None = None,
**kwargs,
) -> SubscriptionsListing | T | Response | Model:
@@ -701,6 +716,7 @@ async def list(
:param select_path: Denotes the json path applied to the response object before returning it.
Set it to the empty string `""` to receive the full response object.
:param response_type: If specified, the response is parsed into an instance of the specified type.
+ :param validate_request: If set to false, the request body and query parameters are NOT validated against the models in the service types package, even when available.
:param headers: Header parameters for this request
:type headers: dict, optional
:param `**kwargs`: Additional parameters passed on to the http client.
@@ -719,10 +735,6 @@ async def list(
object wraps both the http Response and any parsed data.
"""
- should_validate = (
- MODELS_AVAILABLE and self.api_client.config.client_side_validation
- )
-
# path parameters
path_params: Dict[str, str] = {}
@@ -730,7 +742,7 @@ async def list(
body_args: Dict[str, Any] = {}
# query parameters
- if query is not None and should_validate:
+ if query is not None and MODELS_AVAILABLE and validate_request:
query = TypeAdapter(ListQuery).validate_python(query)
response_types_map: Dict[str, Any] = (
@@ -768,6 +780,7 @@ async def query(
raw_response: Literal[False] = False,
select_path: Literal[""] = "",
response_type: Literal[None] = None,
+ validate_request: StrictBool = True,
headers: HeaderTypes | None = None,
**kwargs,
) -> Subscriptions: ...
@@ -781,6 +794,7 @@ async def query(
raw_response: Literal[False] = False,
select_path: Literal[""] = "",
response_type: T,
+ validate_request: StrictBool = True,
headers: HeaderTypes | None = None,
**kwargs,
) -> T: ...
@@ -794,6 +808,7 @@ async def query(
raw_response: Literal[True],
select_path: Literal["_not_used_"] = "_not_used_",
response_type: Literal[None] = None, # not used
+ validate_request: StrictBool = True,
headers: HeaderTypes | None = None,
**kwargs,
) -> Response: ...
@@ -807,6 +822,7 @@ async def query(
raw_response: Literal[False] = False,
select_path: str,
response_type: Literal[None] = None,
+ validate_request: StrictBool = True,
headers: HeaderTypes | None = None,
**kwargs,
) -> Model: ...
@@ -820,6 +836,7 @@ async def query(
raw_response: Literal[False] = False,
select_path: str,
response_type: T,
+ validate_request: StrictBool = True,
headers: HeaderTypes | None = None,
**kwargs,
) -> T: ...
@@ -832,6 +849,7 @@ async def query(
raw_response: StrictBool = False,
select_path: str = "",
response_type: T | None = None,
+ validate_request: StrictBool = True,
headers: HeaderTypes | None = None,
**kwargs,
) -> Subscriptions | T | Response | Model:
@@ -862,6 +880,7 @@ async def query(
:param select_path: Denotes the json path applied to the response object before returning it.
Set it to the empty string `""` to receive the full response object.
:param response_type: If specified, the response is parsed into an instance of the specified type.
+ :param validate_request: If set to false, the request body and query parameters are NOT validated against the models in the service types package, even when available.
:param headers: Header parameters for this request
:type headers: dict, optional
:param `**kwargs`: Additional parameters passed on to the http client.
@@ -880,10 +899,6 @@ async def query(
object wraps both the http Response and any parsed data.
"""
- should_validate = (
- MODELS_AVAILABLE and self.api_client.config.client_side_validation
- )
-
# path parameters
path_params: Dict[str, str] = {
"bucket_name": str(bucket_name),
@@ -893,7 +908,7 @@ async def query(
body_args: Dict[str, Any] = {}
# query parameters
- if query is not None and should_validate:
+ if query is not None and MODELS_AVAILABLE and validate_request:
query = TypeAdapter(QueryQuery).validate_python(query)
response_types_map: Dict[str, Any] = (
@@ -932,6 +947,7 @@ async def remove(
raw_response: Literal[False] = False,
select_path: Literal[""] = "",
response_type: Literal[None] = None,
+ validate_request: StrictBool = True,
headers: HeaderTypes | None = None,
**kwargs,
) -> HALEntity: ...
@@ -946,6 +962,7 @@ async def remove(
raw_response: Literal[False] = False,
select_path: Literal[""] = "",
response_type: T,
+ validate_request: StrictBool = True,
headers: HeaderTypes | None = None,
**kwargs,
) -> T: ...
@@ -960,6 +977,7 @@ async def remove(
raw_response: Literal[True],
select_path: Literal["_not_used_"] = "_not_used_",
response_type: Literal[None] = None, # not used
+ validate_request: StrictBool = True,
headers: HeaderTypes | None = None,
**kwargs,
) -> Response: ...
@@ -974,6 +992,7 @@ async def remove(
raw_response: Literal[False] = False,
select_path: str,
response_type: Literal[None] = None,
+ validate_request: StrictBool = True,
headers: HeaderTypes | None = None,
**kwargs,
) -> Model: ...
@@ -988,6 +1007,7 @@ async def remove(
raw_response: Literal[False] = False,
select_path: str,
response_type: T,
+ validate_request: StrictBool = True,
headers: HeaderTypes | None = None,
**kwargs,
) -> T: ...
@@ -1001,6 +1021,7 @@ async def remove(
raw_response: StrictBool = False,
select_path: str = "",
response_type: T | None = None,
+ validate_request: StrictBool = True,
headers: HeaderTypes | None = None,
**kwargs,
) -> HALEntity | T | Response | Model:
@@ -1019,6 +1040,7 @@ async def remove(
:param select_path: Denotes the json path applied to the response object before returning it.
Set it to the empty string `""` to receive the full response object.
:param response_type: If specified, the response is parsed into an instance of the specified type.
+ :param validate_request: If set to false, the request body and query parameters are NOT validated against the models in the service types package, even when available.
:param headers: Header parameters for this request
:type headers: dict, optional
:param `**kwargs`: Additional parameters passed on to the http client.
@@ -1037,10 +1059,6 @@ async def remove(
object wraps both the http Response and any parsed data.
"""
- should_validate = (
- MODELS_AVAILABLE and self.api_client.config.client_side_validation
- )
-
# path parameters
path_params: Dict[str, str] = {
"bucket_name": str(bucket_name),
@@ -1051,7 +1069,7 @@ async def remove(
body_args: Dict[str, Any] = {}
# query parameters
- if query is not None and should_validate:
+ if query is not None and MODELS_AVAILABLE and validate_request:
query = TypeAdapter(RemoveQuery).validate_python(query)
response_types_map: Dict[str, Any] = (
@@ -1091,6 +1109,7 @@ async def replace(
raw_response: Literal[False] = False,
select_path: Literal[""] = "",
response_type: Literal[None] = None,
+ validate_request: StrictBool = True,
headers: HeaderTypes | None = None,
**kwargs,
) -> SubscriptionConfig: ...
@@ -1106,6 +1125,7 @@ async def replace(
raw_response: Literal[False] = False,
select_path: Literal[""] = "",
response_type: T,
+ validate_request: StrictBool = True,
headers: HeaderTypes | None = None,
**kwargs,
) -> T: ...
@@ -1121,6 +1141,7 @@ async def replace(
raw_response: Literal[True],
select_path: Literal["_not_used_"] = "_not_used_",
response_type: Literal[None] = None, # not used
+ validate_request: StrictBool = True,
headers: HeaderTypes | None = None,
**kwargs,
) -> Response: ...
@@ -1136,6 +1157,7 @@ async def replace(
raw_response: Literal[False] = False,
select_path: str,
response_type: Literal[None] = None,
+ validate_request: StrictBool = True,
headers: HeaderTypes | None = None,
**kwargs,
) -> Model: ...
@@ -1151,6 +1173,7 @@ async def replace(
raw_response: Literal[False] = False,
select_path: str,
response_type: T,
+ validate_request: StrictBool = True,
headers: HeaderTypes | None = None,
**kwargs,
) -> T: ...
@@ -1165,6 +1188,7 @@ async def replace(
raw_response: StrictBool = False,
select_path: str = "",
response_type: T | None = None,
+ validate_request: StrictBool = True,
headers: HeaderTypes | None = None,
**kwargs,
) -> SubscriptionConfig | T | Response | Model:
@@ -1185,6 +1209,7 @@ async def replace(
:param select_path: Denotes the json path applied to the response object before returning it.
Set it to the empty string `""` to receive the full response object.
:param response_type: If specified, the response is parsed into an instance of the specified type.
+ :param validate_request: If set to false, the request body and query parameters are NOT validated against the models in the service types package, even when available.
:param headers: Header parameters for this request
:type headers: dict, optional
:param `**kwargs`: Additional parameters passed on to the http client.
@@ -1203,10 +1228,6 @@ async def replace(
object wraps both the http Response and any parsed data.
"""
- should_validate = (
- MODELS_AVAILABLE and self.api_client.config.client_side_validation
- )
-
# path parameters
path_params: Dict[str, str] = {
"bucket_name": str(bucket_name),
@@ -1215,13 +1236,13 @@ async def replace(
## named body parameters
body_args: Dict[str, Any] = {}
- if json is not None and should_validate:
+ if json is not None and validate_request:
body_adapter = TypeAdapter(SubscriptionConfig)
json = body_adapter.validate_python(json) # type: ignore # https://github.com/pydantic/pydantic/discussions/7094
body_args["json"] = json
# query parameters
- if query is not None and should_validate:
+ if query is not None and MODELS_AVAILABLE and validate_request:
query = TypeAdapter(ReplaceQuery).validate_python(query)
response_types_map: Dict[str, Any] = (
diff --git a/waylay-sdk-storage/src/waylay/services/storage/service/__init__.py b/waylay-sdk-storage/src/waylay/services/storage/service/__init__.py
index 3af4b94..c858060 100644
--- a/waylay-sdk-storage/src/waylay/services/storage/service/__init__.py
+++ b/waylay-sdk-storage/src/waylay/services/storage/service/__init__.py
@@ -3,7 +3,7 @@
This code was generated from the OpenAPI documentation of 'Waylay Storage'
-version: v0.4.1
+version: 0.4.2
Manage storage buckets and subscriptions.
@@ -12,7 +12,7 @@
Do not edit the class manually.
"""
-__version__ = "0.4.1b1"
+__version__ = "0.4.2b20240423"
from .service import StorageService