From 1e8850189c04b5a37150ee3e6a8aad366b2dbf20 Mon Sep 17 00:00:00 2001 From: scaleway-bot Date: Mon, 7 Aug 2023 08:01:45 +0000 Subject: [PATCH] feat: update generated APIs --- .../scaleway_async/account/v2/marshalling.py | 32 +- .../scaleway_async/account/v3/marshalling.py | 32 +- .../applesilicon/v1alpha1/marshalling.py | 26 +- .../baremetal/v1/marshalling.py | 192 ++- .../cockpit/v1beta1/marshalling.py | 202 ++- .../container/v1beta1/marshalling.py | 383 +++-- .../domain/v2beta1/marshalling.py | 961 +++++++---- .../flexibleip/v1alpha1/marshalling.py | 97 +- .../function/v1beta1/marshalling.py | 359 ++-- .../iam/v1alpha1/marshalling.py | 259 ++- .../scaleway_async/instance/v1/marshalling.py | 1481 ++++++++++++----- .../scaleway_async/iot/v1/marshalling.py | 412 +++-- .../scaleway_async/k8s/v1/marshalling.py | 599 +++++-- .../scaleway_async/lb/v1/marshalling.py | 1407 +++++++++++----- scaleway-async/scaleway_async/lb/v1/types.py | 2 +- .../mnq/v1alpha1/marshalling.py | 83 +- .../scaleway_async/rdb/v1/marshalling.py | 501 ++++-- .../scaleway_async/redis/v1/marshalling.py | 230 ++- .../scaleway_async/registry/v1/marshalling.py | 43 +- .../secret/v1alpha1/marshalling.py | 147 +- .../tem/v1alpha1/marshalling.py | 108 +- .../scaleway_async/tem/v1alpha1/types.py | 1 + .../scaleway_async/test/v1/marshalling.py | 95 +- .../scaleway_async/vpc/v1/marshalling.py | 38 +- .../scaleway_async/vpc/v2/marshalling.py | 108 +- .../scaleway_async/vpcgw/v1/marshalling.py | 396 +++-- .../webhosting/v1alpha1/marshalling.py | 50 +- scaleway/scaleway/account/v2/marshalling.py | 32 +- scaleway/scaleway/account/v3/marshalling.py | 32 +- .../applesilicon/v1alpha1/marshalling.py | 26 +- scaleway/scaleway/baremetal/v1/marshalling.py | 192 ++- .../scaleway/cockpit/v1beta1/marshalling.py | 202 ++- .../scaleway/container/v1beta1/marshalling.py | 383 +++-- .../scaleway/domain/v2beta1/marshalling.py | 961 +++++++---- .../flexibleip/v1alpha1/marshalling.py | 97 +- .../scaleway/function/v1beta1/marshalling.py | 359 ++-- scaleway/scaleway/iam/v1alpha1/marshalling.py | 259 ++- scaleway/scaleway/instance/v1/marshalling.py | 1481 ++++++++++++----- scaleway/scaleway/iot/v1/marshalling.py | 412 +++-- scaleway/scaleway/k8s/v1/marshalling.py | 599 +++++-- scaleway/scaleway/lb/v1/marshalling.py | 1407 +++++++++++----- scaleway/scaleway/lb/v1/types.py | 2 +- scaleway/scaleway/mnq/v1alpha1/marshalling.py | 83 +- scaleway/scaleway/rdb/v1/marshalling.py | 501 ++++-- scaleway/scaleway/redis/v1/marshalling.py | 230 ++- scaleway/scaleway/registry/v1/marshalling.py | 43 +- .../scaleway/secret/v1alpha1/marshalling.py | 147 +- scaleway/scaleway/tem/v1alpha1/marshalling.py | 108 +- scaleway/scaleway/tem/v1alpha1/types.py | 1 + scaleway/scaleway/test/v1/marshalling.py | 95 +- scaleway/scaleway/vpc/v1/marshalling.py | 38 +- scaleway/scaleway/vpc/v2/marshalling.py | 108 +- scaleway/scaleway/vpcgw/v1/marshalling.py | 396 +++-- .../webhosting/v1alpha1/marshalling.py | 50 +- 54 files changed, 11492 insertions(+), 4996 deletions(-) diff --git a/scaleway-async/scaleway_async/account/v2/marshalling.py b/scaleway-async/scaleway_async/account/v2/marshalling.py index 58d73d99f..cebfd9cfe 100644 --- a/scaleway-async/scaleway_async/account/v2/marshalling.py +++ b/scaleway-async/scaleway_async/account/v2/marshalling.py @@ -65,18 +65,32 @@ def marshal_CreateProjectRequest( request: CreateProjectRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "description": request.description, - "name": request.name, - "organization_id": request.organization_id or defaults.default_organization_id, - } + output: Dict[str, Any] = {} + + if request.description is not None: + output["description"] = request.description + + if request.name is not None: + output["name"] = request.name + + if request.organization_id is not None: + output["organization_id"] = ( + request.organization_id or defaults.default_organization_id + ) + + return output def marshal_UpdateProjectRequest( request: UpdateProjectRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "description": request.description, - "name": request.name, - } + output: Dict[str, Any] = {} + + if request.description is not None: + output["description"] = request.description + + if request.name is not None: + output["name"] = request.name + + return output diff --git a/scaleway-async/scaleway_async/account/v3/marshalling.py b/scaleway-async/scaleway_async/account/v3/marshalling.py index c86d673e2..da743f145 100644 --- a/scaleway-async/scaleway_async/account/v3/marshalling.py +++ b/scaleway-async/scaleway_async/account/v3/marshalling.py @@ -65,18 +65,32 @@ def marshal_ProjectApiCreateProjectRequest( request: ProjectApiCreateProjectRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "description": request.description, - "name": request.name, - "organization_id": request.organization_id or defaults.default_organization_id, - } + output: Dict[str, Any] = {} + + if request.description is not None: + output["description"] = request.description + + if request.name is not None: + output["name"] = request.name + + if request.organization_id is not None: + output["organization_id"] = ( + request.organization_id or defaults.default_organization_id + ) + + return output def marshal_ProjectApiUpdateProjectRequest( request: ProjectApiUpdateProjectRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "description": request.description, - "name": request.name, - } + output: Dict[str, Any] = {} + + if request.description is not None: + output["description"] = request.description + + if request.name is not None: + output["name"] = request.name + + return output diff --git a/scaleway-async/scaleway_async/applesilicon/v1alpha1/marshalling.py b/scaleway-async/scaleway_async/applesilicon/v1alpha1/marshalling.py index 0d8420cc0..1f0c72576 100644 --- a/scaleway-async/scaleway_async/applesilicon/v1alpha1/marshalling.py +++ b/scaleway-async/scaleway_async/applesilicon/v1alpha1/marshalling.py @@ -229,17 +229,27 @@ def marshal_CreateServerRequest( request: CreateServerRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "name": request.name, - "project_id": request.project_id or defaults.default_project_id, - "type": request.type_, - } + output: Dict[str, Any] = {} + + if request.name is not None: + output["name"] = request.name + + if request.project_id is not None: + output["project_id"] = request.project_id or defaults.default_project_id + + if request.type_ is not None: + output["type"] = request.type_ + + return output def marshal_UpdateServerRequest( request: UpdateServerRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "name": request.name, - } + output: Dict[str, Any] = {} + + if request.name is not None: + output["name"] = request.name + + return output diff --git a/scaleway-async/scaleway_async/baremetal/v1/marshalling.py b/scaleway-async/scaleway_async/baremetal/v1/marshalling.py index 04aa25544..09370af3f 100644 --- a/scaleway-async/scaleway_async/baremetal/v1/marshalling.py +++ b/scaleway-async/scaleway_async/baremetal/v1/marshalling.py @@ -816,32 +816,51 @@ def marshal_CreateServerRequestInstall( request: CreateServerRequestInstall, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "hostname": request.hostname, - "os_id": request.os_id, - "password": request.password, - "service_password": request.service_password, - "service_user": request.service_user, - "ssh_key_ids": request.ssh_key_ids, - "user": request.user, - } + output: Dict[str, Any] = {} + + if request.hostname is not None: + output["hostname"] = request.hostname + + if request.os_id is not None: + output["os_id"] = request.os_id + + if request.password is not None: + output["password"] = request.password + + if request.service_password is not None: + output["service_password"] = request.service_password + + if request.service_user is not None: + output["service_user"] = request.service_user + + if request.ssh_key_ids is not None: + output["ssh_key_ids"] = request.ssh_key_ids + + if request.user is not None: + output["user"] = request.user + + return output def marshal_AddOptionServerRequest( request: AddOptionServerRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "expires_at": request.expires_at, - } + output: Dict[str, Any] = {} + + if request.expires_at is not None: + output["expires_at"] = request.expires_at + + return output def marshal_CreateServerRequest( request: CreateServerRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - **resolve_one_of( + output: Dict[str, Any] = {} + output.update( + resolve_one_of( [ OneOfPossibility( "project_id", @@ -859,101 +878,158 @@ def marshal_CreateServerRequest( ), ] ), - "description": request.description, - "install": marshal_CreateServerRequestInstall(request.install, defaults) - if request.install is not None - else None, - "name": request.name, - "offer_id": request.offer_id, - "option_ids": request.option_ids, - "tags": request.tags, - } + ) + + if request.description is not None: + output["description"] = request.description + + if request.install is not None: + output["install"] = marshal_CreateServerRequestInstall( + request.install, defaults + ) + + if request.name is not None: + output["name"] = request.name + + if request.offer_id is not None: + output["offer_id"] = request.offer_id + + if request.option_ids is not None: + output["option_ids"] = request.option_ids + + if request.tags is not None: + output["tags"] = request.tags + + return output def marshal_InstallServerRequest( request: InstallServerRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "hostname": request.hostname, - "os_id": request.os_id, - "password": request.password, - "service_password": request.service_password, - "service_user": request.service_user, - "ssh_key_ids": request.ssh_key_ids, - "user": request.user, - } + output: Dict[str, Any] = {} + + if request.hostname is not None: + output["hostname"] = request.hostname + + if request.os_id is not None: + output["os_id"] = request.os_id + + if request.password is not None: + output["password"] = request.password + + if request.service_password is not None: + output["service_password"] = request.service_password + + if request.service_user is not None: + output["service_user"] = request.service_user + + if request.ssh_key_ids is not None: + output["ssh_key_ids"] = request.ssh_key_ids + + if request.user is not None: + output["user"] = request.user + + return output def marshal_PrivateNetworkApiAddServerPrivateNetworkRequest( request: PrivateNetworkApiAddServerPrivateNetworkRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "private_network_id": request.private_network_id, - } + output: Dict[str, Any] = {} + + if request.private_network_id is not None: + output["private_network_id"] = request.private_network_id + + return output def marshal_PrivateNetworkApiSetServerPrivateNetworksRequest( request: PrivateNetworkApiSetServerPrivateNetworksRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "private_network_ids": request.private_network_ids, - } + output: Dict[str, Any] = {} + + if request.private_network_ids is not None: + output["private_network_ids"] = request.private_network_ids + + return output def marshal_RebootServerRequest( request: RebootServerRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "boot_type": ServerBootType(request.boot_type), - } + output: Dict[str, Any] = {} + + if request.boot_type is not None: + output["boot_type"] = ServerBootType(request.boot_type) + + return output def marshal_StartBMCAccessRequest( request: StartBMCAccessRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "ip": request.ip, - } + output: Dict[str, Any] = {} + + if request.ip is not None: + output["ip"] = request.ip + + return output def marshal_StartServerRequest( request: StartServerRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "boot_type": ServerBootType(request.boot_type), - } + output: Dict[str, Any] = {} + + if request.boot_type is not None: + output["boot_type"] = ServerBootType(request.boot_type) + + return output def marshal_UpdateIPRequest( request: UpdateIPRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "reverse": request.reverse, - } + output: Dict[str, Any] = {} + + if request.reverse is not None: + output["reverse"] = request.reverse + + return output def marshal_UpdateServerRequest( request: UpdateServerRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "description": request.description, - "name": request.name, - "tags": request.tags, - } + output: Dict[str, Any] = {} + + if request.description is not None: + output["description"] = request.description + + if request.name is not None: + output["name"] = request.name + + if request.tags is not None: + output["tags"] = request.tags + + return output def marshal_UpdateSettingRequest( request: UpdateSettingRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "enabled": request.enabled, - } + output: Dict[str, Any] = {} + + if request.enabled is not None: + output["enabled"] = request.enabled + + return output diff --git a/scaleway-async/scaleway_async/cockpit/v1beta1/marshalling.py b/scaleway-async/scaleway_async/cockpit/v1beta1/marshalling.py index b5368350e..160b89a93 100644 --- a/scaleway-async/scaleway_async/cockpit/v1beta1/marshalling.py +++ b/scaleway-async/scaleway_async/cockpit/v1beta1/marshalling.py @@ -355,17 +355,21 @@ def marshal_ContactPointEmail( request: ContactPointEmail, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "to": request.to, - } + output: Dict[str, Any] = {} + + if request.to is not None: + output["to"] = request.to + + return output def marshal_ContactPoint( request: ContactPoint, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - **resolve_one_of( + output: Dict[str, Any] = {} + output.update( + resolve_one_of( [ OneOfPossibility( "email", @@ -375,149 +379,213 @@ def marshal_ContactPoint( ), ] ), - } + ) + + return output def marshal_TokenScopes( request: TokenScopes, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "query_logs": request.query_logs, - "query_metrics": request.query_metrics, - "setup_alerts": request.setup_alerts, - "setup_logs_rules": request.setup_logs_rules, - "setup_metrics_rules": request.setup_metrics_rules, - "write_logs": request.write_logs, - "write_metrics": request.write_metrics, - } + output: Dict[str, Any] = {} + + if request.query_logs is not None: + output["query_logs"] = request.query_logs + + if request.query_metrics is not None: + output["query_metrics"] = request.query_metrics + + if request.setup_alerts is not None: + output["setup_alerts"] = request.setup_alerts + + if request.setup_logs_rules is not None: + output["setup_logs_rules"] = request.setup_logs_rules + + if request.setup_metrics_rules is not None: + output["setup_metrics_rules"] = request.setup_metrics_rules + + if request.write_logs is not None: + output["write_logs"] = request.write_logs + + if request.write_metrics is not None: + output["write_metrics"] = request.write_metrics + + return output def marshal_ActivateCockpitRequest( request: ActivateCockpitRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "project_id": request.project_id or defaults.default_project_id, - } + output: Dict[str, Any] = {} + + if request.project_id is not None: + output["project_id"] = request.project_id or defaults.default_project_id + + return output def marshal_CreateContactPointRequest( request: CreateContactPointRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "contact_point": marshal_ContactPoint(request.contact_point, defaults) - if request.contact_point is not None - else None, - "project_id": request.project_id or defaults.default_project_id, - } + output: Dict[str, Any] = {} + + if request.contact_point is not None: + output["contact_point"] = marshal_ContactPoint(request.contact_point, defaults) + + if request.project_id is not None: + output["project_id"] = request.project_id or defaults.default_project_id + + return output def marshal_CreateGrafanaUserRequest( request: CreateGrafanaUserRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "login": request.login, - "project_id": request.project_id or defaults.default_project_id, - "role": GrafanaUserRole(request.role), - } + output: Dict[str, Any] = {} + + if request.login is not None: + output["login"] = request.login + + if request.project_id is not None: + output["project_id"] = request.project_id or defaults.default_project_id + + if request.role is not None: + output["role"] = GrafanaUserRole(request.role) + + return output def marshal_CreateTokenRequest( request: CreateTokenRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "name": request.name, - "project_id": request.project_id or defaults.default_project_id, - "scopes": marshal_TokenScopes(request.scopes, defaults) - if request.scopes is not None - else None, - } + output: Dict[str, Any] = {} + + if request.name is not None: + output["name"] = request.name + + if request.project_id is not None: + output["project_id"] = request.project_id or defaults.default_project_id + + if request.scopes is not None: + output["scopes"] = marshal_TokenScopes(request.scopes, defaults) + + return output def marshal_DeactivateCockpitRequest( request: DeactivateCockpitRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "project_id": request.project_id or defaults.default_project_id, - } + output: Dict[str, Any] = {} + + if request.project_id is not None: + output["project_id"] = request.project_id or defaults.default_project_id + + return output def marshal_DeleteContactPointRequest( request: DeleteContactPointRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "contact_point": marshal_ContactPoint(request.contact_point, defaults) - if request.contact_point is not None - else None, - "project_id": request.project_id or defaults.default_project_id, - } + output: Dict[str, Any] = {} + + if request.contact_point is not None: + output["contact_point"] = marshal_ContactPoint(request.contact_point, defaults) + + if request.project_id is not None: + output["project_id"] = request.project_id or defaults.default_project_id + + return output def marshal_DeleteGrafanaUserRequest( request: DeleteGrafanaUserRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "project_id": request.project_id or defaults.default_project_id, - } + output: Dict[str, Any] = {} + + if request.project_id is not None: + output["project_id"] = request.project_id or defaults.default_project_id + + return output def marshal_DisableManagedAlertsRequest( request: DisableManagedAlertsRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "project_id": request.project_id or defaults.default_project_id, - } + output: Dict[str, Any] = {} + + if request.project_id is not None: + output["project_id"] = request.project_id or defaults.default_project_id + + return output def marshal_EnableManagedAlertsRequest( request: EnableManagedAlertsRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "project_id": request.project_id or defaults.default_project_id, - } + output: Dict[str, Any] = {} + + if request.project_id is not None: + output["project_id"] = request.project_id or defaults.default_project_id + + return output def marshal_ResetCockpitGrafanaRequest( request: ResetCockpitGrafanaRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "project_id": request.project_id or defaults.default_project_id, - } + output: Dict[str, Any] = {} + + if request.project_id is not None: + output["project_id"] = request.project_id or defaults.default_project_id + + return output def marshal_ResetGrafanaUserPasswordRequest( request: ResetGrafanaUserPasswordRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "project_id": request.project_id or defaults.default_project_id, - } + output: Dict[str, Any] = {} + + if request.project_id is not None: + output["project_id"] = request.project_id or defaults.default_project_id + + return output def marshal_SelectPlanRequest( request: SelectPlanRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "plan_id": request.plan_id, - "project_id": request.project_id or defaults.default_project_id, - } + output: Dict[str, Any] = {} + + if request.plan_id is not None: + output["plan_id"] = request.plan_id + + if request.project_id is not None: + output["project_id"] = request.project_id or defaults.default_project_id + + return output def marshal_TriggerTestAlertRequest( request: TriggerTestAlertRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "project_id": request.project_id or defaults.default_project_id, - } + output: Dict[str, Any] = {} + + if request.project_id is not None: + output["project_id"] = request.project_id or defaults.default_project_id + + return output diff --git a/scaleway-async/scaleway_async/container/v1beta1/marshalling.py b/scaleway-async/scaleway_async/container/v1beta1/marshalling.py index 9c26a52dd..fe5b82f77 100644 --- a/scaleway-async/scaleway_async/container/v1beta1/marshalling.py +++ b/scaleway-async/scaleway_async/container/v1beta1/marshalling.py @@ -566,131 +566,223 @@ def marshal_CreateTriggerRequestMnqNatsClientConfig( request: CreateTriggerRequestMnqNatsClientConfig, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "mnq_namespace_id": request.mnq_namespace_id, - "mnq_project_id": request.mnq_project_id, - "mnq_region": request.mnq_region, - "subject": request.subject, - } + output: Dict[str, Any] = {} + + if request.mnq_namespace_id is not None: + output["mnq_namespace_id"] = request.mnq_namespace_id + + if request.mnq_project_id is not None: + output["mnq_project_id"] = request.mnq_project_id + + if request.mnq_region is not None: + output["mnq_region"] = request.mnq_region + + if request.subject is not None: + output["subject"] = request.subject + + return output def marshal_CreateTriggerRequestMnqSqsClientConfig( request: CreateTriggerRequestMnqSqsClientConfig, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "mnq_namespace_id": request.mnq_namespace_id, - "mnq_project_id": request.mnq_project_id, - "mnq_region": request.mnq_region, - "queue": request.queue, - } + output: Dict[str, Any] = {} + + if request.mnq_namespace_id is not None: + output["mnq_namespace_id"] = request.mnq_namespace_id + + if request.mnq_project_id is not None: + output["mnq_project_id"] = request.mnq_project_id + + if request.mnq_region is not None: + output["mnq_region"] = request.mnq_region + + if request.queue is not None: + output["queue"] = request.queue + + return output def marshal_CreateTriggerRequestSqsClientConfig( request: CreateTriggerRequestSqsClientConfig, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "access_key": request.access_key, - "endpoint": request.endpoint, - "queue_url": request.queue_url, - "secret_key": request.secret_key, - } + output: Dict[str, Any] = {} + + if request.access_key is not None: + output["access_key"] = request.access_key + + if request.endpoint is not None: + output["endpoint"] = request.endpoint + + if request.queue_url is not None: + output["queue_url"] = request.queue_url + + if request.secret_key is not None: + output["secret_key"] = request.secret_key + + return output def marshal_Secret( request: Secret, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "key": request.key, - "value": request.value, - } + output: Dict[str, Any] = {} + + if request.key is not None: + output["key"] = request.key + + if request.value is not None: + output["value"] = request.value + + return output def marshal_UpdateTriggerRequestSqsClientConfig( request: UpdateTriggerRequestSqsClientConfig, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "access_key": request.access_key, - "secret_key": request.secret_key, - } + output: Dict[str, Any] = {} + + if request.access_key is not None: + output["access_key"] = request.access_key + + if request.secret_key is not None: + output["secret_key"] = request.secret_key + + return output def marshal_CreateContainerRequest( request: CreateContainerRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "cpu_limit": request.cpu_limit, - "description": request.description, - "environment_variables": request.environment_variables, - "http_option": ContainerHttpOption(request.http_option), - "max_concurrency": request.max_concurrency, - "max_scale": request.max_scale, - "memory_limit": request.memory_limit, - "min_scale": request.min_scale, - "name": request.name, - "namespace_id": request.namespace_id, - "port": request.port, - "privacy": ContainerPrivacy(request.privacy), - "protocol": ContainerProtocol(request.protocol), - "registry_image": request.registry_image, - "secret_environment_variables": [ + output: Dict[str, Any] = {} + + if request.cpu_limit is not None: + output["cpu_limit"] = request.cpu_limit + + if request.description is not None: + output["description"] = request.description + + if request.environment_variables is not None: + output["environment_variables"] = request.environment_variables + + if request.http_option is not None: + output["http_option"] = ContainerHttpOption(request.http_option) + + if request.max_concurrency is not None: + output["max_concurrency"] = request.max_concurrency + + if request.max_scale is not None: + output["max_scale"] = request.max_scale + + if request.memory_limit is not None: + output["memory_limit"] = request.memory_limit + + if request.min_scale is not None: + output["min_scale"] = request.min_scale + + if request.name is not None: + output["name"] = request.name + + if request.namespace_id is not None: + output["namespace_id"] = request.namespace_id + + if request.port is not None: + output["port"] = request.port + + if request.privacy is not None: + output["privacy"] = ContainerPrivacy(request.privacy) + + if request.protocol is not None: + output["protocol"] = ContainerProtocol(request.protocol) + + if request.registry_image is not None: + output["registry_image"] = request.registry_image + + if request.secret_environment_variables is not None: + output["secret_environment_variables"] = [ marshal_Secret(v, defaults) for v in request.secret_environment_variables ] - if request.secret_environment_variables is not None - else None, - "timeout": request.timeout, - } + + if request.timeout is not None: + output["timeout"] = request.timeout + + return output def marshal_CreateCronRequest( request: CreateCronRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "args": request.args, - "container_id": request.container_id, - "name": request.name, - "schedule": request.schedule, - } + output: Dict[str, Any] = {} + + if request.args is not None: + output["args"] = request.args + + if request.container_id is not None: + output["container_id"] = request.container_id + + if request.name is not None: + output["name"] = request.name + + if request.schedule is not None: + output["schedule"] = request.schedule + + return output def marshal_CreateDomainRequest( request: CreateDomainRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "container_id": request.container_id, - "hostname": request.hostname, - } + output: Dict[str, Any] = {} + + if request.container_id is not None: + output["container_id"] = request.container_id + + if request.hostname is not None: + output["hostname"] = request.hostname + + return output def marshal_CreateNamespaceRequest( request: CreateNamespaceRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "description": request.description, - "environment_variables": request.environment_variables, - "name": request.name, - "project_id": request.project_id or defaults.default_project_id, - "secret_environment_variables": [ + output: Dict[str, Any] = {} + + if request.description is not None: + output["description"] = request.description + + if request.environment_variables is not None: + output["environment_variables"] = request.environment_variables + + if request.name is not None: + output["name"] = request.name + + if request.project_id is not None: + output["project_id"] = request.project_id or defaults.default_project_id + + if request.secret_environment_variables is not None: + output["secret_environment_variables"] = [ marshal_Secret(v, defaults) for v in request.secret_environment_variables ] - if request.secret_environment_variables is not None - else None, - } + + return output def marshal_CreateTokenRequest( request: CreateTokenRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - **resolve_one_of( + output: Dict[str, Any] = {} + output.update( + resolve_one_of( [ OneOfPossibility( "container_id", @@ -702,17 +794,24 @@ def marshal_CreateTokenRequest( ), ] ), - "description": request.description, - "expires_at": request.expires_at, - } + ) + + if request.description is not None: + output["description"] = request.description + + if request.expires_at is not None: + output["expires_at"] = request.expires_at + + return output def marshal_CreateTriggerRequest( request: CreateTriggerRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - **resolve_one_of( + output: Dict[str, Any] = {} + output.update( + resolve_one_of( [ OneOfPossibility( "scw_sqs_config", @@ -740,72 +839,124 @@ def marshal_CreateTriggerRequest( ), ] ), - "container_id": request.container_id, - "description": request.description, - "name": request.name, - } + ) + + if request.container_id is not None: + output["container_id"] = request.container_id + + if request.description is not None: + output["description"] = request.description + + if request.name is not None: + output["name"] = request.name + + return output def marshal_UpdateContainerRequest( request: UpdateContainerRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "cpu_limit": request.cpu_limit, - "description": request.description, - "environment_variables": request.environment_variables, - "http_option": ContainerHttpOption(request.http_option), - "max_concurrency": request.max_concurrency, - "max_scale": request.max_scale, - "memory_limit": request.memory_limit, - "min_scale": request.min_scale, - "port": request.port, - "privacy": ContainerPrivacy(request.privacy), - "protocol": ContainerProtocol(request.protocol), - "redeploy": request.redeploy, - "registry_image": request.registry_image, - "secret_environment_variables": [ + output: Dict[str, Any] = {} + + if request.cpu_limit is not None: + output["cpu_limit"] = request.cpu_limit + + if request.description is not None: + output["description"] = request.description + + if request.environment_variables is not None: + output["environment_variables"] = request.environment_variables + + if request.http_option is not None: + output["http_option"] = ContainerHttpOption(request.http_option) + + if request.max_concurrency is not None: + output["max_concurrency"] = request.max_concurrency + + if request.max_scale is not None: + output["max_scale"] = request.max_scale + + if request.memory_limit is not None: + output["memory_limit"] = request.memory_limit + + if request.min_scale is not None: + output["min_scale"] = request.min_scale + + if request.port is not None: + output["port"] = request.port + + if request.privacy is not None: + output["privacy"] = ContainerPrivacy(request.privacy) + + if request.protocol is not None: + output["protocol"] = ContainerProtocol(request.protocol) + + if request.redeploy is not None: + output["redeploy"] = request.redeploy + + if request.registry_image is not None: + output["registry_image"] = request.registry_image + + if request.secret_environment_variables is not None: + output["secret_environment_variables"] = [ marshal_Secret(v, defaults) for v in request.secret_environment_variables ] - if request.secret_environment_variables is not None - else None, - "timeout": request.timeout, - } + + if request.timeout is not None: + output["timeout"] = request.timeout + + return output def marshal_UpdateCronRequest( request: UpdateCronRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "args": request.args, - "container_id": request.container_id, - "name": request.name, - "schedule": request.schedule, - } + output: Dict[str, Any] = {} + + if request.args is not None: + output["args"] = request.args + + if request.container_id is not None: + output["container_id"] = request.container_id + + if request.name is not None: + output["name"] = request.name + + if request.schedule is not None: + output["schedule"] = request.schedule + + return output def marshal_UpdateNamespaceRequest( request: UpdateNamespaceRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "description": request.description, - "environment_variables": request.environment_variables, - "secret_environment_variables": [ + output: Dict[str, Any] = {} + + if request.description is not None: + output["description"] = request.description + + if request.environment_variables is not None: + output["environment_variables"] = request.environment_variables + + if request.secret_environment_variables is not None: + output["secret_environment_variables"] = [ marshal_Secret(v, defaults) for v in request.secret_environment_variables ] - if request.secret_environment_variables is not None - else None, - } + + return output def marshal_UpdateTriggerRequest( request: UpdateTriggerRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - **resolve_one_of( + output: Dict[str, Any] = {} + output.update( + resolve_one_of( [ OneOfPossibility( "sqs_config", @@ -817,6 +968,12 @@ def marshal_UpdateTriggerRequest( ), ] ), - "description": request.description, - "name": request.name, - } + ) + + if request.description is not None: + output["description"] = request.description + + if request.name is not None: + output["name"] = request.name + + return output diff --git a/scaleway-async/scaleway_async/domain/v2beta1/marshalling.py b/scaleway-async/scaleway_async/domain/v2beta1/marshalling.py index 5b00379bd..2d20eccf4 100644 --- a/scaleway-async/scaleway_async/domain/v2beta1/marshalling.py +++ b/scaleway-async/scaleway_async/domain/v2beta1/marshalling.py @@ -1794,143 +1794,205 @@ def marshal_DomainRecordGeoIPConfigMatch( request: DomainRecordGeoIPConfigMatch, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "continents": request.continents, - "countries": request.countries, - "data": request.data, - } + output: Dict[str, Any] = {} + + if request.continents is not None: + output["continents"] = request.continents + + if request.countries is not None: + output["countries"] = request.countries + + if request.data is not None: + output["data"] = request.data + + return output def marshal_DomainRecordViewConfigView( request: DomainRecordViewConfigView, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "data": request.data, - "subnet": request.subnet, - } + output: Dict[str, Any] = {} + + if request.data is not None: + output["data"] = request.data + + if request.subnet is not None: + output["subnet"] = request.subnet + + return output def marshal_DomainRecordWeightedConfigWeightedIP( request: DomainRecordWeightedConfigWeightedIP, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "ip": request.ip, - "weight": request.weight, - } + output: Dict[str, Any] = {} + + if request.ip is not None: + output["ip"] = request.ip + + if request.weight is not None: + output["weight"] = request.weight + + return output def marshal_DomainRecordGeoIPConfig( request: DomainRecordGeoIPConfig, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "default": request.default, - "matches": [ + output: Dict[str, Any] = {} + + if request.default is not None: + output["default"] = request.default + + if request.matches is not None: + output["matches"] = [ marshal_DomainRecordGeoIPConfigMatch(v, defaults) for v in request.matches - ], - } + ] + + return output def marshal_DomainRecordHTTPServiceConfig( request: DomainRecordHTTPServiceConfig, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "ips": request.ips, - "must_contain": request.must_contain, - "strategy": DomainRecordHTTPServiceConfigStrategy(request.strategy), - "url": request.url, - "user_agent": request.user_agent, - } + output: Dict[str, Any] = {} + + if request.ips is not None: + output["ips"] = request.ips + + if request.must_contain is not None: + output["must_contain"] = request.must_contain + + if request.strategy is not None: + output["strategy"] = DomainRecordHTTPServiceConfigStrategy(request.strategy) + + if request.url is not None: + output["url"] = request.url + + if request.user_agent is not None: + output["user_agent"] = request.user_agent + + return output def marshal_DomainRecordViewConfig( request: DomainRecordViewConfig, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "views": [ + output: Dict[str, Any] = {} + + if request.views is not None: + output["views"] = [ marshal_DomainRecordViewConfigView(v, defaults) for v in request.views - ], - } + ] + + return output def marshal_DomainRecordWeightedConfig( request: DomainRecordWeightedConfig, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "weighted_ips": [ + output: Dict[str, Any] = {} + + if request.weighted_ips is not None: + output["weighted_ips"] = [ marshal_DomainRecordWeightedConfigWeightedIP(v, defaults) for v in request.weighted_ips - ], - } + ] + + return output def marshal_ContactExtensionFRAssociationInfo( request: ContactExtensionFRAssociationInfo, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "publication_jo": request.publication_jo, - "publication_jo_page": request.publication_jo_page, - } + output: Dict[str, Any] = {} + + if request.publication_jo is not None: + output["publication_jo"] = request.publication_jo + + if request.publication_jo_page is not None: + output["publication_jo_page"] = request.publication_jo_page + + return output def marshal_ContactExtensionFRCodeAuthAfnicInfo( request: ContactExtensionFRCodeAuthAfnicInfo, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "code_auth_afnic": request.code_auth_afnic, - } + output: Dict[str, Any] = {} + + if request.code_auth_afnic is not None: + output["code_auth_afnic"] = request.code_auth_afnic + + return output def marshal_ContactExtensionFRDunsInfo( request: ContactExtensionFRDunsInfo, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "duns_id": request.duns_id, - "local_id": request.local_id, - } + output: Dict[str, Any] = {} + + if request.duns_id is not None: + output["duns_id"] = request.duns_id + + if request.local_id is not None: + output["local_id"] = request.local_id + + return output def marshal_ContactExtensionFRIndividualInfo( request: ContactExtensionFRIndividualInfo, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "whois_opt_in": request.whois_opt_in, - } + output: Dict[str, Any] = {} + + if request.whois_opt_in is not None: + output["whois_opt_in"] = request.whois_opt_in + + return output def marshal_ContactExtensionFRTrademarkInfo( request: ContactExtensionFRTrademarkInfo, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "trademark_inpi": request.trademark_inpi, - } + output: Dict[str, Any] = {} + + if request.trademark_inpi is not None: + output["trademark_inpi"] = request.trademark_inpi + + return output def marshal_DSRecordPublicKey( request: DSRecordPublicKey, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "key": request.key, - } + output: Dict[str, Any] = {} + + if request.key is not None: + output["key"] = request.key + + return output def marshal_DomainRecord( request: DomainRecord, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - **resolve_one_of( + output: Dict[str, Any] = {} + output.update( + resolve_one_of( [ OneOfPossibility( "geo_ip_config", @@ -1962,43 +2024,72 @@ def marshal_DomainRecord( ), ] ), - "comment": request.comment, - "data": request.data, - "id": request.id, - "name": request.name, - "priority": request.priority, - "ttl": request.ttl, - "type": DomainRecordType(request.type_), - } + ) + + if request.comment is not None: + output["comment"] = request.comment + + if request.data is not None: + output["data"] = request.data + + if request.id is not None: + output["id"] = request.id + + if request.name is not None: + output["name"] = request.name + + if request.priority is not None: + output["priority"] = request.priority + + if request.ttl is not None: + output["ttl"] = request.ttl + + if request.type_ is not None: + output["type"] = DomainRecordType(request.type_) + + return output def marshal_RecordIdentifier( request: RecordIdentifier, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "data": request.data, - "name": request.name, - "ttl": request.ttl, - "type": DomainRecordType(request.type_), - } + output: Dict[str, Any] = {} + + if request.data is not None: + output["data"] = request.data + + if request.name is not None: + output["name"] = request.name + + if request.ttl is not None: + output["ttl"] = request.ttl + + if request.type_ is not None: + output["type"] = DomainRecordType(request.type_) + + return output def marshal_ContactExtensionEU( request: ContactExtensionEU, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "european_citizenship": request.european_citizenship, - } + output: Dict[str, Any] = {} + + if request.european_citizenship is not None: + output["european_citizenship"] = request.european_citizenship + + return output def marshal_ContactExtensionFR( request: ContactExtensionFR, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - **resolve_one_of( + output: Dict[str, Any] = {} + output.update( + resolve_one_of( [ OneOfPossibility( "individual_info", @@ -2040,76 +2131,110 @@ def marshal_ContactExtensionFR( ), ] ), - "mode": ContactExtensionFRMode(request.mode), - } + ) + + if request.mode is not None: + output["mode"] = ContactExtensionFRMode(request.mode) + + return output def marshal_ContactExtensionNL( request: ContactExtensionNL, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "legal_form": ContactExtensionNLLegalForm(request.legal_form), - "legal_form_registration_number": request.legal_form_registration_number, - } + output: Dict[str, Any] = {} + + if request.legal_form is not None: + output["legal_form"] = ContactExtensionNLLegalForm(request.legal_form) + + if request.legal_form_registration_number is not None: + output[ + "legal_form_registration_number" + ] = request.legal_form_registration_number + + return output def marshal_ContactQuestion( request: ContactQuestion, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "answer": request.answer, - "question": request.question, - } + output: Dict[str, Any] = {} + + if request.answer is not None: + output["answer"] = request.answer + + if request.question is not None: + output["question"] = request.question + + return output def marshal_DSRecordDigest( request: DSRecordDigest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "digest": request.digest, - "public_key": marshal_DSRecordPublicKey(request.public_key, defaults) - if request.public_key is not None - else None, - "type": DSRecordDigestType(request.type_), - } + output: Dict[str, Any] = {} + + if request.digest is not None: + output["digest"] = request.digest + + if request.public_key is not None: + output["public_key"] = marshal_DSRecordPublicKey(request.public_key, defaults) + + if request.type_ is not None: + output["type"] = DSRecordDigestType(request.type_) + + return output def marshal_ImportRawDNSZoneRequestTsigKey( request: ImportRawDNSZoneRequestTsigKey, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "algorithm": request.algorithm, - "key": request.key, - "name": request.name, - } + output: Dict[str, Any] = {} + + if request.algorithm is not None: + output["algorithm"] = request.algorithm + + if request.key is not None: + output["key"] = request.key + + if request.name is not None: + output["name"] = request.name + + return output def marshal_RecordChangeAdd( request: RecordChangeAdd, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "records": [marshal_DomainRecord(v, defaults) for v in request.records], - } + output: Dict[str, Any] = {} + + if request.records is not None: + output["records"] = [marshal_DomainRecord(v, defaults) for v in request.records] + + return output def marshal_RecordChangeClear( request: RecordChangeClear, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return {} + output: Dict[str, Any] = {} + + return output def marshal_RecordChangeDelete( request: RecordChangeDelete, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - **resolve_one_of( + output: Dict[str, Any] = {} + output.update( + resolve_one_of( [ OneOfPossibility("id", request.id if request.id is not None else None), OneOfPossibility( @@ -2120,15 +2245,18 @@ def marshal_RecordChangeDelete( ), ] ), - } + ) + + return output def marshal_RecordChangeSet( request: RecordChangeSet, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - **resolve_one_of( + output: Dict[str, Any] = {} + output.update( + resolve_one_of( [ OneOfPossibility("id", request.id if request.id is not None else None), OneOfPossibility( @@ -2139,16 +2267,21 @@ def marshal_RecordChangeSet( ), ] ), - "records": [marshal_DomainRecord(v, defaults) for v in request.records], - } + ) + + if request.records is not None: + output["records"] = [marshal_DomainRecord(v, defaults) for v in request.records] + + return output def marshal_DSRecord( request: DSRecord, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - **resolve_one_of( + output: Dict[str, Any] = {} + output.update( + resolve_one_of( [ OneOfPossibility( "digest", @@ -2164,96 +2297,166 @@ def marshal_DSRecord( ), ] ), - "algorithm": DSRecordAlgorithm(request.algorithm), - "key_id": request.key_id, - } + ) + + if request.algorithm is not None: + output["algorithm"] = DSRecordAlgorithm(request.algorithm) + + if request.key_id is not None: + output["key_id"] = request.key_id + + return output def marshal_ImportProviderDNSZoneRequestOnlineV1( request: ImportProviderDNSZoneRequestOnlineV1, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "token": request.token, - } + output: Dict[str, Any] = {} + + if request.token is not None: + output["token"] = request.token + + return output def marshal_ImportRawDNSZoneRequestAXFRSource( request: ImportRawDNSZoneRequestAXFRSource, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "name_server": request.name_server, - "tsig_key": marshal_ImportRawDNSZoneRequestTsigKey(request.tsig_key, defaults) - if request.tsig_key is not None - else None, - } + output: Dict[str, Any] = {} + + if request.name_server is not None: + output["name_server"] = request.name_server + + if request.tsig_key is not None: + output["tsig_key"] = marshal_ImportRawDNSZoneRequestTsigKey( + request.tsig_key, defaults + ) + + return output def marshal_ImportRawDNSZoneRequestBindSource( request: ImportRawDNSZoneRequestBindSource, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "content": request.content, - } + output: Dict[str, Any] = {} + + if request.content is not None: + output["content"] = request.content + + return output def marshal_Nameserver( request: Nameserver, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "ip": request.ip, - "name": request.name, - } + output: Dict[str, Any] = {} + + if request.ip is not None: + output["ip"] = request.ip + + if request.name is not None: + output["name"] = request.name + + return output def marshal_NewContact( request: NewContact, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "address_line_1": request.address_line_1, - "address_line_2": request.address_line_2, - "city": request.city, - "company_identification_code": request.company_identification_code, - "company_name": request.company_name, - "country": request.country, - "email": request.email, - "email_alt": request.email_alt, - "extension_eu": marshal_ContactExtensionEU(request.extension_eu, defaults) - if request.extension_eu is not None - else None, - "extension_fr": marshal_ContactExtensionFR(request.extension_fr, defaults) - if request.extension_fr is not None - else None, - "extension_nl": marshal_ContactExtensionNL(request.extension_nl, defaults) - if request.extension_nl is not None - else None, - "fax_number": request.fax_number, - "firstname": request.firstname, - "lang": LanguageCode(request.lang), - "lastname": request.lastname, - "legal_form": ContactLegalForm(request.legal_form), - "phone_number": request.phone_number, - "questions": [marshal_ContactQuestion(v, defaults) for v in request.questions] - if request.questions is not None - else None, - "resale": request.resale, - "state": request.state, - "vat_identification_code": request.vat_identification_code, - "whois_opt_in": request.whois_opt_in, - "zip": request.zip, - } + output: Dict[str, Any] = {} + + if request.address_line_1 is not None: + output["address_line_1"] = request.address_line_1 + + if request.address_line_2 is not None: + output["address_line_2"] = request.address_line_2 + + if request.city is not None: + output["city"] = request.city + + if request.company_identification_code is not None: + output["company_identification_code"] = request.company_identification_code + + if request.company_name is not None: + output["company_name"] = request.company_name + + if request.country is not None: + output["country"] = request.country + + if request.email is not None: + output["email"] = request.email + + if request.email_alt is not None: + output["email_alt"] = request.email_alt + + if request.extension_eu is not None: + output["extension_eu"] = marshal_ContactExtensionEU( + request.extension_eu, defaults + ) + + if request.extension_fr is not None: + output["extension_fr"] = marshal_ContactExtensionFR( + request.extension_fr, defaults + ) + + if request.extension_nl is not None: + output["extension_nl"] = marshal_ContactExtensionNL( + request.extension_nl, defaults + ) + + if request.fax_number is not None: + output["fax_number"] = request.fax_number + + if request.firstname is not None: + output["firstname"] = request.firstname + + if request.lang is not None: + output["lang"] = LanguageCode(request.lang) + + if request.lastname is not None: + output["lastname"] = request.lastname + + if request.legal_form is not None: + output["legal_form"] = ContactLegalForm(request.legal_form) + + if request.phone_number is not None: + output["phone_number"] = request.phone_number + + if request.questions is not None: + output["questions"] = [ + marshal_ContactQuestion(v, defaults) for v in request.questions + ] + + if request.resale is not None: + output["resale"] = request.resale + + if request.state is not None: + output["state"] = request.state + + if request.vat_identification_code is not None: + output["vat_identification_code"] = request.vat_identification_code + + if request.whois_opt_in is not None: + output["whois_opt_in"] = request.whois_opt_in + + if request.zip is not None: + output["zip"] = request.zip + + return output def marshal_RecordChange( request: RecordChange, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - **resolve_one_of( + output: Dict[str, Any] = {} + output.update( + resolve_one_of( [ OneOfPossibility( "add", @@ -2281,67 +2484,99 @@ def marshal_RecordChange( ), ] ), - } + ) + + return output def marshal_TransferInDomainRequestTransferRequest( request: TransferInDomainRequestTransferRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "auth_code": request.auth_code, - "domain": request.domain, - } + output: Dict[str, Any] = {} + + if request.auth_code is not None: + output["auth_code"] = request.auth_code + + if request.domain is not None: + output["domain"] = request.domain + + return output def marshal_UpdateContactRequestQuestion( request: UpdateContactRequestQuestion, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "answer": request.answer, - "question": request.question, - } + output: Dict[str, Any] = {} + + if request.answer is not None: + output["answer"] = request.answer + + if request.question is not None: + output["question"] = request.question + + return output def marshal_CloneDNSZoneRequest( request: CloneDNSZoneRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "dest_dns_zone": request.dest_dns_zone, - "overwrite": request.overwrite, - "project_id": request.project_id or defaults.default_project_id, - } + output: Dict[str, Any] = {} + + if request.dest_dns_zone is not None: + output["dest_dns_zone"] = request.dest_dns_zone + + if request.overwrite is not None: + output["overwrite"] = request.overwrite + + if request.project_id is not None: + output["project_id"] = request.project_id or defaults.default_project_id + + return output def marshal_CreateDNSZoneRequest( request: CreateDNSZoneRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "domain": request.domain, - "project_id": request.project_id or defaults.default_project_id, - "subdomain": request.subdomain, - } + output: Dict[str, Any] = {} + + if request.domain is not None: + output["domain"] = request.domain + + if request.project_id is not None: + output["project_id"] = request.project_id or defaults.default_project_id + + if request.subdomain is not None: + output["subdomain"] = request.subdomain + + return output def marshal_CreateSSLCertificateRequest( request: CreateSSLCertificateRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "alternative_dns_zones": request.alternative_dns_zones, - "dns_zone": request.dns_zone, - } + output: Dict[str, Any] = {} + + if request.alternative_dns_zones is not None: + output["alternative_dns_zones"] = request.alternative_dns_zones + + if request.dns_zone is not None: + output["dns_zone"] = request.dns_zone + + return output def marshal_ImportProviderDNSZoneRequest( request: ImportProviderDNSZoneRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - **resolve_one_of( + output: Dict[str, Any] = {} + output.update( + resolve_one_of( [ OneOfPossibility( "online_v1", @@ -2353,15 +2588,18 @@ def marshal_ImportProviderDNSZoneRequest( ), ] ), - } + ) + + return output def marshal_ImportRawDNSZoneRequest( request: ImportRawDNSZoneRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - **resolve_one_of( + output: Dict[str, Any] = {} + output.update( + resolve_one_of( [ OneOfPossibility( "bind_source", @@ -2381,28 +2619,42 @@ def marshal_ImportRawDNSZoneRequest( ), ] ), - "content": request.content, - "format": RawFormat(request.format) if request.format is not None else None, - "project_id": request.project_id or defaults.default_project_id, - } + ) + + if request.content is not None: + output["content"] = request.content + + if request.format is not None: + output["format"] = RawFormat(request.format) + + if request.project_id is not None: + output["project_id"] = request.project_id or defaults.default_project_id + + return output def marshal_RefreshDNSZoneRequest( request: RefreshDNSZoneRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "recreate_dns_zone": request.recreate_dns_zone, - "recreate_sub_dns_zone": request.recreate_sub_dns_zone, - } + output: Dict[str, Any] = {} + + if request.recreate_dns_zone is not None: + output["recreate_dns_zone"] = request.recreate_dns_zone + + if request.recreate_sub_dns_zone is not None: + output["recreate_sub_dns_zone"] = request.recreate_sub_dns_zone + + return output def marshal_RegistrarApiBuyDomainsRequest( request: RegistrarApiBuyDomainsRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - **resolve_one_of( + output: Dict[str, Any] = {} + output.update( + resolve_one_of( [ OneOfPossibility( "administrative_contact_id", @@ -2418,7 +2670,9 @@ def marshal_RegistrarApiBuyDomainsRequest( ), ] ), - **resolve_one_of( + ) + output.update( + resolve_one_of( [ OneOfPossibility( "owner_contact_id", @@ -2434,7 +2688,9 @@ def marshal_RegistrarApiBuyDomainsRequest( ), ] ), - **resolve_one_of( + ) + output.update( + resolve_one_of( [ OneOfPossibility( "technical_contact_id", @@ -2450,18 +2706,27 @@ def marshal_RegistrarApiBuyDomainsRequest( ), ] ), - "domains": request.domains, - "duration_in_years": request.duration_in_years, - "project_id": request.project_id or defaults.default_project_id, - } + ) + + if request.domains is not None: + output["domains"] = request.domains + + if request.duration_in_years is not None: + output["duration_in_years"] = request.duration_in_years + + if request.project_id is not None: + output["project_id"] = request.project_id or defaults.default_project_id + + return output def marshal_RegistrarApiCheckContactsCompatibilityRequest( request: RegistrarApiCheckContactsCompatibilityRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - **resolve_one_of( + output: Dict[str, Any] = {} + output.update( + resolve_one_of( [ OneOfPossibility( "administrative_contact_id", @@ -2477,7 +2742,9 @@ def marshal_RegistrarApiCheckContactsCompatibilityRequest( ), ] ), - **resolve_one_of( + ) + output.update( + resolve_one_of( [ OneOfPossibility( "owner_contact_id", @@ -2493,7 +2760,9 @@ def marshal_RegistrarApiCheckContactsCompatibilityRequest( ), ] ), - **resolve_one_of( + ) + output.update( + resolve_one_of( [ OneOfPossibility( "technical_contact_id", @@ -2509,59 +2778,84 @@ def marshal_RegistrarApiCheckContactsCompatibilityRequest( ), ] ), - "domains": request.domains, - "tlds": request.tlds, - } + ) + + if request.domains is not None: + output["domains"] = request.domains + + if request.tlds is not None: + output["tlds"] = request.tlds + + return output def marshal_RegistrarApiCreateDomainHostRequest( request: RegistrarApiCreateDomainHostRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "ips": request.ips, - "name": request.name, - } + output: Dict[str, Any] = {} + + if request.ips is not None: + output["ips"] = request.ips + + if request.name is not None: + output["name"] = request.name + + return output def marshal_RegistrarApiEnableDomainDNSSECRequest( request: RegistrarApiEnableDomainDNSSECRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "ds_record": marshal_DSRecord(request.ds_record, defaults) - if request.ds_record is not None - else None, - } + output: Dict[str, Any] = {} + + if request.ds_record is not None: + output["ds_record"] = marshal_DSRecord(request.ds_record, defaults) + + return output def marshal_RegistrarApiRegisterExternalDomainRequest( request: RegistrarApiRegisterExternalDomainRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "domain": request.domain, - "project_id": request.project_id or defaults.default_project_id, - } + output: Dict[str, Any] = {} + + if request.domain is not None: + output["domain"] = request.domain + + if request.project_id is not None: + output["project_id"] = request.project_id or defaults.default_project_id + + return output def marshal_RegistrarApiRenewDomainsRequest( request: RegistrarApiRenewDomainsRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "domains": request.domains, - "duration_in_years": request.duration_in_years, - "force_late_renewal": request.force_late_renewal, - } + output: Dict[str, Any] = {} + + if request.domains is not None: + output["domains"] = request.domains + + if request.duration_in_years is not None: + output["duration_in_years"] = request.duration_in_years + + if request.force_late_renewal is not None: + output["force_late_renewal"] = request.force_late_renewal + + return output def marshal_RegistrarApiTradeDomainRequest( request: RegistrarApiTradeDomainRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - **resolve_one_of( + output: Dict[str, Any] = {} + output.update( + resolve_one_of( [ OneOfPossibility( "new_owner_contact_id", @@ -2577,16 +2871,21 @@ def marshal_RegistrarApiTradeDomainRequest( ), ] ), - "project_id": request.project_id or defaults.default_project_id, - } + ) + + if request.project_id is not None: + output["project_id"] = request.project_id or defaults.default_project_id + + return output def marshal_RegistrarApiTransferInDomainRequest( request: RegistrarApiTransferInDomainRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - **resolve_one_of( + output: Dict[str, Any] = {} + output.update( + resolve_one_of( [ OneOfPossibility( "administrative_contact_id", @@ -2602,7 +2901,9 @@ def marshal_RegistrarApiTransferInDomainRequest( ), ] ), - **resolve_one_of( + ) + output.update( + resolve_one_of( [ OneOfPossibility( "owner_contact_id", @@ -2618,7 +2919,9 @@ def marshal_RegistrarApiTransferInDomainRequest( ), ] ), - **resolve_one_of( + ) + output.update( + resolve_one_of( [ OneOfPossibility( "technical_contact_id", @@ -2634,66 +2937,113 @@ def marshal_RegistrarApiTransferInDomainRequest( ), ] ), - "domains": [ + ) + + if request.domains is not None: + output["domains"] = [ marshal_TransferInDomainRequestTransferRequest(v, defaults) for v in request.domains - ], - "project_id": request.project_id or defaults.default_project_id, - } + ] + + if request.project_id is not None: + output["project_id"] = request.project_id or defaults.default_project_id + + return output def marshal_RegistrarApiUpdateContactRequest( request: RegistrarApiUpdateContactRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "address_line_1": request.address_line_1, - "address_line_2": request.address_line_2, - "city": request.city, - "company_identification_code": request.company_identification_code, - "country": request.country, - "email": request.email, - "email_alt": request.email_alt, - "extension_eu": marshal_ContactExtensionEU(request.extension_eu, defaults) - if request.extension_eu is not None - else None, - "extension_fr": marshal_ContactExtensionFR(request.extension_fr, defaults) - if request.extension_fr is not None - else None, - "extension_nl": marshal_ContactExtensionNL(request.extension_nl, defaults) - if request.extension_nl is not None - else None, - "fax_number": request.fax_number, - "lang": LanguageCode(request.lang), - "phone_number": request.phone_number, - "questions": [ + output: Dict[str, Any] = {} + + if request.address_line_1 is not None: + output["address_line_1"] = request.address_line_1 + + if request.address_line_2 is not None: + output["address_line_2"] = request.address_line_2 + + if request.city is not None: + output["city"] = request.city + + if request.company_identification_code is not None: + output["company_identification_code"] = request.company_identification_code + + if request.country is not None: + output["country"] = request.country + + if request.email is not None: + output["email"] = request.email + + if request.email_alt is not None: + output["email_alt"] = request.email_alt + + if request.extension_eu is not None: + output["extension_eu"] = marshal_ContactExtensionEU( + request.extension_eu, defaults + ) + + if request.extension_fr is not None: + output["extension_fr"] = marshal_ContactExtensionFR( + request.extension_fr, defaults + ) + + if request.extension_nl is not None: + output["extension_nl"] = marshal_ContactExtensionNL( + request.extension_nl, defaults + ) + + if request.fax_number is not None: + output["fax_number"] = request.fax_number + + if request.lang is not None: + output["lang"] = LanguageCode(request.lang) + + if request.phone_number is not None: + output["phone_number"] = request.phone_number + + if request.questions is not None: + output["questions"] = [ marshal_UpdateContactRequestQuestion(v, defaults) for v in request.questions ] - if request.questions is not None - else None, - "resale": request.resale, - "state": request.state, - "vat_identification_code": request.vat_identification_code, - "whois_opt_in": request.whois_opt_in, - "zip": request.zip, - } + + if request.resale is not None: + output["resale"] = request.resale + + if request.state is not None: + output["state"] = request.state + + if request.vat_identification_code is not None: + output["vat_identification_code"] = request.vat_identification_code + + if request.whois_opt_in is not None: + output["whois_opt_in"] = request.whois_opt_in + + if request.zip is not None: + output["zip"] = request.zip + + return output def marshal_RegistrarApiUpdateDomainHostRequest( request: RegistrarApiUpdateDomainHostRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "ips": request.ips, - } + output: Dict[str, Any] = {} + + if request.ips is not None: + output["ips"] = request.ips + + return output def marshal_RegistrarApiUpdateDomainRequest( request: RegistrarApiUpdateDomainRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - **resolve_one_of( + output: Dict[str, Any] = {} + output.update( + resolve_one_of( [ OneOfPossibility( "administrative_contact_id", @@ -2709,7 +3059,9 @@ def marshal_RegistrarApiUpdateDomainRequest( ), ] ), - **resolve_one_of( + ) + output.update( + resolve_one_of( [ OneOfPossibility( "owner_contact_id", @@ -2725,7 +3077,9 @@ def marshal_RegistrarApiUpdateDomainRequest( ), ] ), - **resolve_one_of( + ) + output.update( + resolve_one_of( [ OneOfPossibility( "technical_contact_id", @@ -2741,35 +3095,54 @@ def marshal_RegistrarApiUpdateDomainRequest( ), ] ), - } + ) + + return output def marshal_UpdateDNSZoneNameserversRequest( request: UpdateDNSZoneNameserversRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "ns": [marshal_Nameserver(v, defaults) for v in request.ns], - } + output: Dict[str, Any] = {} + + if request.ns is not None: + output["ns"] = [marshal_Nameserver(v, defaults) for v in request.ns] + + return output def marshal_UpdateDNSZoneRecordsRequest( request: UpdateDNSZoneRecordsRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "changes": [marshal_RecordChange(v, defaults) for v in request.changes], - "disallow_new_zone_creation": request.disallow_new_zone_creation, - "return_all_records": request.return_all_records, - "serial": request.serial, - } + output: Dict[str, Any] = {} + + if request.changes is not None: + output["changes"] = [marshal_RecordChange(v, defaults) for v in request.changes] + + if request.disallow_new_zone_creation is not None: + output["disallow_new_zone_creation"] = request.disallow_new_zone_creation + + if request.return_all_records is not None: + output["return_all_records"] = request.return_all_records + + if request.serial is not None: + output["serial"] = request.serial + + return output def marshal_UpdateDNSZoneRequest( request: UpdateDNSZoneRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "new_dns_zone": request.new_dns_zone, - "project_id": request.project_id or defaults.default_project_id, - } + output: Dict[str, Any] = {} + + if request.new_dns_zone is not None: + output["new_dns_zone"] = request.new_dns_zone + + if request.project_id is not None: + output["project_id"] = request.project_id or defaults.default_project_id + + return output diff --git a/scaleway-async/scaleway_async/flexibleip/v1alpha1/marshalling.py b/scaleway-async/scaleway_async/flexibleip/v1alpha1/marshalling.py index 3a0c3d75d..23eaa65ca 100644 --- a/scaleway-async/scaleway_async/flexibleip/v1alpha1/marshalling.py +++ b/scaleway-async/scaleway_async/flexibleip/v1alpha1/marshalling.py @@ -165,70 +165,105 @@ def marshal_AttachFlexibleIPRequest( request: AttachFlexibleIPRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "fips_ids": request.fips_ids, - "server_id": request.server_id, - } + output: Dict[str, Any] = {} + + if request.fips_ids is not None: + output["fips_ids"] = request.fips_ids + + if request.server_id is not None: + output["server_id"] = request.server_id + + return output def marshal_CreateFlexibleIPRequest( request: CreateFlexibleIPRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "description": request.description, - "is_ipv6": request.is_ipv6, - "project_id": request.project_id or defaults.default_project_id, - "reverse": request.reverse, - "server_id": request.server_id, - "tags": request.tags, - } + output: Dict[str, Any] = {} + + if request.description is not None: + output["description"] = request.description + + if request.is_ipv6 is not None: + output["is_ipv6"] = request.is_ipv6 + + if request.project_id is not None: + output["project_id"] = request.project_id or defaults.default_project_id + + if request.reverse is not None: + output["reverse"] = request.reverse + + if request.server_id is not None: + output["server_id"] = request.server_id + + if request.tags is not None: + output["tags"] = request.tags + + return output def marshal_DetachFlexibleIPRequest( request: DetachFlexibleIPRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "fips_ids": request.fips_ids, - } + output: Dict[str, Any] = {} + + if request.fips_ids is not None: + output["fips_ids"] = request.fips_ids + + return output def marshal_DuplicateMACAddrRequest( request: DuplicateMACAddrRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "duplicate_from_fip_id": request.duplicate_from_fip_id, - } + output: Dict[str, Any] = {} + + if request.duplicate_from_fip_id is not None: + output["duplicate_from_fip_id"] = request.duplicate_from_fip_id + + return output def marshal_GenerateMACAddrRequest( request: GenerateMACAddrRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "mac_type": MACAddressType(request.mac_type) - if request.mac_type is not None - else None, - } + output: Dict[str, Any] = {} + + if request.mac_type is not None: + output["mac_type"] = MACAddressType(request.mac_type) + + return output def marshal_MoveMACAddrRequest( request: MoveMACAddrRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "dst_fip_id": request.dst_fip_id, - } + output: Dict[str, Any] = {} + + if request.dst_fip_id is not None: + output["dst_fip_id"] = request.dst_fip_id + + return output def marshal_UpdateFlexibleIPRequest( request: UpdateFlexibleIPRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "description": request.description, - "reverse": request.reverse, - "tags": request.tags, - } + output: Dict[str, Any] = {} + + if request.description is not None: + output["description"] = request.description + + if request.reverse is not None: + output["reverse"] = request.reverse + + if request.tags is not None: + output["tags"] = request.tags + + return output diff --git a/scaleway-async/scaleway_async/function/v1beta1/marshalling.py b/scaleway-async/scaleway_async/function/v1beta1/marshalling.py index 68556b20d..da7af50a3 100644 --- a/scaleway-async/scaleway_async/function/v1beta1/marshalling.py +++ b/scaleway-async/scaleway_async/function/v1beta1/marshalling.py @@ -664,128 +664,214 @@ def marshal_CreateTriggerRequestMnqNatsClientConfig( request: CreateTriggerRequestMnqNatsClientConfig, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "mnq_namespace_id": request.mnq_namespace_id, - "mnq_project_id": request.mnq_project_id, - "mnq_region": request.mnq_region, - "subject": request.subject, - } + output: Dict[str, Any] = {} + + if request.mnq_namespace_id is not None: + output["mnq_namespace_id"] = request.mnq_namespace_id + + if request.mnq_project_id is not None: + output["mnq_project_id"] = request.mnq_project_id + + if request.mnq_region is not None: + output["mnq_region"] = request.mnq_region + + if request.subject is not None: + output["subject"] = request.subject + + return output def marshal_CreateTriggerRequestMnqSqsClientConfig( request: CreateTriggerRequestMnqSqsClientConfig, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "mnq_namespace_id": request.mnq_namespace_id, - "mnq_project_id": request.mnq_project_id, - "mnq_region": request.mnq_region, - "queue": request.queue, - } + output: Dict[str, Any] = {} + + if request.mnq_namespace_id is not None: + output["mnq_namespace_id"] = request.mnq_namespace_id + + if request.mnq_project_id is not None: + output["mnq_project_id"] = request.mnq_project_id + + if request.mnq_region is not None: + output["mnq_region"] = request.mnq_region + + if request.queue is not None: + output["queue"] = request.queue + + return output def marshal_CreateTriggerRequestSqsClientConfig( request: CreateTriggerRequestSqsClientConfig, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "access_key": request.access_key, - "endpoint": request.endpoint, - "queue_url": request.queue_url, - "secret_key": request.secret_key, - } + output: Dict[str, Any] = {} + + if request.access_key is not None: + output["access_key"] = request.access_key + + if request.endpoint is not None: + output["endpoint"] = request.endpoint + + if request.queue_url is not None: + output["queue_url"] = request.queue_url + + if request.secret_key is not None: + output["secret_key"] = request.secret_key + + return output def marshal_Secret( request: Secret, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "key": request.key, - "value": request.value, - } + output: Dict[str, Any] = {} + + if request.key is not None: + output["key"] = request.key + + if request.value is not None: + output["value"] = request.value + + return output def marshal_UpdateTriggerRequestSqsClientConfig( request: UpdateTriggerRequestSqsClientConfig, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "access_key": request.access_key, - "secret_key": request.secret_key, - } + output: Dict[str, Any] = {} + + if request.access_key is not None: + output["access_key"] = request.access_key + + if request.secret_key is not None: + output["secret_key"] = request.secret_key + + return output def marshal_CreateCronRequest( request: CreateCronRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "args": request.args, - "function_id": request.function_id, - "name": request.name, - "schedule": request.schedule, - } + output: Dict[str, Any] = {} + + if request.args is not None: + output["args"] = request.args + + if request.function_id is not None: + output["function_id"] = request.function_id + + if request.name is not None: + output["name"] = request.name + + if request.schedule is not None: + output["schedule"] = request.schedule + + return output def marshal_CreateDomainRequest( request: CreateDomainRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "function_id": request.function_id, - "hostname": request.hostname, - } + output: Dict[str, Any] = {} + + if request.function_id is not None: + output["function_id"] = request.function_id + + if request.hostname is not None: + output["hostname"] = request.hostname + + return output def marshal_CreateFunctionRequest( request: CreateFunctionRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "description": request.description, - "environment_variables": request.environment_variables, - "handler": request.handler, - "http_option": FunctionHttpOption(request.http_option), - "max_scale": request.max_scale, - "memory_limit": request.memory_limit, - "min_scale": request.min_scale, - "name": request.name, - "namespace_id": request.namespace_id, - "privacy": FunctionPrivacy(request.privacy), - "runtime": FunctionRuntime(request.runtime), - "secret_environment_variables": [ + output: Dict[str, Any] = {} + + if request.description is not None: + output["description"] = request.description + + if request.environment_variables is not None: + output["environment_variables"] = request.environment_variables + + if request.handler is not None: + output["handler"] = request.handler + + if request.http_option is not None: + output["http_option"] = FunctionHttpOption(request.http_option) + + if request.max_scale is not None: + output["max_scale"] = request.max_scale + + if request.memory_limit is not None: + output["memory_limit"] = request.memory_limit + + if request.min_scale is not None: + output["min_scale"] = request.min_scale + + if request.name is not None: + output["name"] = request.name + + if request.namespace_id is not None: + output["namespace_id"] = request.namespace_id + + if request.privacy is not None: + output["privacy"] = FunctionPrivacy(request.privacy) + + if request.runtime is not None: + output["runtime"] = FunctionRuntime(request.runtime) + + if request.secret_environment_variables is not None: + output["secret_environment_variables"] = [ marshal_Secret(v, defaults) for v in request.secret_environment_variables ] - if request.secret_environment_variables is not None - else None, - "timeout": request.timeout, - } + + if request.timeout is not None: + output["timeout"] = request.timeout + + return output def marshal_CreateNamespaceRequest( request: CreateNamespaceRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "description": request.description, - "environment_variables": request.environment_variables, - "name": request.name, - "project_id": request.project_id or defaults.default_project_id, - "secret_environment_variables": [ + output: Dict[str, Any] = {} + + if request.description is not None: + output["description"] = request.description + + if request.environment_variables is not None: + output["environment_variables"] = request.environment_variables + + if request.name is not None: + output["name"] = request.name + + if request.project_id is not None: + output["project_id"] = request.project_id or defaults.default_project_id + + if request.secret_environment_variables is not None: + output["secret_environment_variables"] = [ marshal_Secret(v, defaults) for v in request.secret_environment_variables ] - if request.secret_environment_variables is not None - else None, - } + + return output def marshal_CreateTokenRequest( request: CreateTokenRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - **resolve_one_of( + output: Dict[str, Any] = {} + output.update( + resolve_one_of( [ OneOfPossibility( "function_id", @@ -797,17 +883,24 @@ def marshal_CreateTokenRequest( ), ] ), - "description": request.description, - "expires_at": request.expires_at, - } + ) + + if request.description is not None: + output["description"] = request.description + + if request.expires_at is not None: + output["expires_at"] = request.expires_at + + return output def marshal_CreateTriggerRequest( request: CreateTriggerRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - **resolve_one_of( + output: Dict[str, Any] = {} + output.update( + resolve_one_of( [ OneOfPossibility( "scw_sqs_config", @@ -835,69 +928,115 @@ def marshal_CreateTriggerRequest( ), ] ), - "description": request.description, - "function_id": request.function_id, - "name": request.name, - } + ) + + if request.description is not None: + output["description"] = request.description + + if request.function_id is not None: + output["function_id"] = request.function_id + + if request.name is not None: + output["name"] = request.name + + return output def marshal_UpdateCronRequest( request: UpdateCronRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "args": request.args, - "function_id": request.function_id, - "name": request.name, - "schedule": request.schedule, - } + output: Dict[str, Any] = {} + + if request.args is not None: + output["args"] = request.args + + if request.function_id is not None: + output["function_id"] = request.function_id + + if request.name is not None: + output["name"] = request.name + + if request.schedule is not None: + output["schedule"] = request.schedule + + return output def marshal_UpdateFunctionRequest( request: UpdateFunctionRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "description": request.description, - "environment_variables": request.environment_variables, - "handler": request.handler, - "http_option": FunctionHttpOption(request.http_option), - "max_scale": request.max_scale, - "memory_limit": request.memory_limit, - "min_scale": request.min_scale, - "privacy": FunctionPrivacy(request.privacy), - "redeploy": request.redeploy, - "runtime": FunctionRuntime(request.runtime), - "secret_environment_variables": [ + output: Dict[str, Any] = {} + + if request.description is not None: + output["description"] = request.description + + if request.environment_variables is not None: + output["environment_variables"] = request.environment_variables + + if request.handler is not None: + output["handler"] = request.handler + + if request.http_option is not None: + output["http_option"] = FunctionHttpOption(request.http_option) + + if request.max_scale is not None: + output["max_scale"] = request.max_scale + + if request.memory_limit is not None: + output["memory_limit"] = request.memory_limit + + if request.min_scale is not None: + output["min_scale"] = request.min_scale + + if request.privacy is not None: + output["privacy"] = FunctionPrivacy(request.privacy) + + if request.redeploy is not None: + output["redeploy"] = request.redeploy + + if request.runtime is not None: + output["runtime"] = FunctionRuntime(request.runtime) + + if request.secret_environment_variables is not None: + output["secret_environment_variables"] = [ marshal_Secret(v, defaults) for v in request.secret_environment_variables ] - if request.secret_environment_variables is not None - else None, - "timeout": request.timeout, - } + + if request.timeout is not None: + output["timeout"] = request.timeout + + return output def marshal_UpdateNamespaceRequest( request: UpdateNamespaceRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "description": request.description, - "environment_variables": request.environment_variables, - "secret_environment_variables": [ + output: Dict[str, Any] = {} + + if request.description is not None: + output["description"] = request.description + + if request.environment_variables is not None: + output["environment_variables"] = request.environment_variables + + if request.secret_environment_variables is not None: + output["secret_environment_variables"] = [ marshal_Secret(v, defaults) for v in request.secret_environment_variables ] - if request.secret_environment_variables is not None - else None, - } + + return output def marshal_UpdateTriggerRequest( request: UpdateTriggerRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - **resolve_one_of( + output: Dict[str, Any] = {} + output.update( + resolve_one_of( [ OneOfPossibility( "sqs_config", @@ -909,6 +1048,12 @@ def marshal_UpdateTriggerRequest( ), ] ), - "description": request.description, - "name": request.name, - } + ) + + if request.description is not None: + output["description"] = request.description + + if request.name is not None: + output["name"] = request.name + + return output diff --git a/scaleway-async/scaleway_async/iam/v1alpha1/marshalling.py b/scaleway-async/scaleway_async/iam/v1alpha1/marshalling.py index ab883da78..c8e2ccef7 100644 --- a/scaleway-async/scaleway_async/iam/v1alpha1/marshalling.py +++ b/scaleway-async/scaleway_async/iam/v1alpha1/marshalling.py @@ -611,8 +611,9 @@ def marshal_RuleSpecs( request: RuleSpecs, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - **resolve_one_of( + output: Dict[str, Any] = {} + output.update( + resolve_one_of( [ OneOfPossibility( "project_ids", @@ -627,16 +628,21 @@ def marshal_RuleSpecs( ), ] ), - "permission_set_names": request.permission_set_names, - } + ) + + if request.permission_set_names is not None: + output["permission_set_names"] = request.permission_set_names + + return output def marshal_AddGroupMemberRequest( request: AddGroupMemberRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - **resolve_one_of( + output: Dict[str, Any] = {} + output.update( + resolve_one_of( [ OneOfPossibility( "user_id", request.user_id if request.user_id is not None else None @@ -649,25 +655,33 @@ def marshal_AddGroupMemberRequest( ), ] ), - } + ) + + return output def marshal_AddGroupMembersRequest( request: AddGroupMembersRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "application_ids": request.application_ids, - "user_ids": request.user_ids, - } + output: Dict[str, Any] = {} + + if request.application_ids is not None: + output["application_ids"] = request.application_ids + + if request.user_ids is not None: + output["user_ids"] = request.user_ids + + return output def marshal_CreateAPIKeyRequest( request: CreateAPIKeyRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - **resolve_one_of( + output: Dict[str, Any] = {} + output.update( + resolve_one_of( [ OneOfPossibility( "application_id", @@ -680,40 +694,67 @@ def marshal_CreateAPIKeyRequest( ), ] ), - "default_project_id": request.default_project_id, - "description": request.description, - "expires_at": request.expires_at, - } + ) + + if request.default_project_id is not None: + output["default_project_id"] = request.default_project_id + + if request.description is not None: + output["description"] = request.description + + if request.expires_at is not None: + output["expires_at"] = request.expires_at + + return output def marshal_CreateApplicationRequest( request: CreateApplicationRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "description": request.description, - "name": request.name, - "organization_id": request.organization_id or defaults.default_organization_id, - } + output: Dict[str, Any] = {} + + if request.description is not None: + output["description"] = request.description + + if request.name is not None: + output["name"] = request.name + + if request.organization_id is not None: + output["organization_id"] = ( + request.organization_id or defaults.default_organization_id + ) + + return output def marshal_CreateGroupRequest( request: CreateGroupRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "description": request.description, - "name": request.name, - "organization_id": request.organization_id or defaults.default_organization_id, - } + output: Dict[str, Any] = {} + + if request.description is not None: + output["description"] = request.description + + if request.name is not None: + output["name"] = request.name + + if request.organization_id is not None: + output["organization_id"] = ( + request.organization_id or defaults.default_organization_id + ) + + return output def marshal_CreatePolicyRequest( request: CreatePolicyRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - **resolve_one_of( + output: Dict[str, Any] = {} + output.update( + resolve_one_of( [ OneOfPossibility( "user_id", request.user_id if request.user_id is not None else None @@ -734,42 +775,67 @@ def marshal_CreatePolicyRequest( ), ] ), - "description": request.description, - "name": request.name, - "organization_id": request.organization_id or defaults.default_organization_id, - "rules": [marshal_RuleSpecs(v, defaults) for v in request.rules] - if request.rules is not None - else None, - } + ) + + if request.description is not None: + output["description"] = request.description + + if request.name is not None: + output["name"] = request.name + + if request.organization_id is not None: + output["organization_id"] = ( + request.organization_id or defaults.default_organization_id + ) + + if request.rules is not None: + output["rules"] = [marshal_RuleSpecs(v, defaults) for v in request.rules] + + return output def marshal_CreateSSHKeyRequest( request: CreateSSHKeyRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "name": request.name, - "project_id": request.project_id or defaults.default_project_id, - "public_key": request.public_key, - } + output: Dict[str, Any] = {} + + if request.name is not None: + output["name"] = request.name + + if request.project_id is not None: + output["project_id"] = request.project_id or defaults.default_project_id + + if request.public_key is not None: + output["public_key"] = request.public_key + + return output def marshal_CreateUserRequest( request: CreateUserRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "email": request.email, - "organization_id": request.organization_id or defaults.default_organization_id, - } + output: Dict[str, Any] = {} + + if request.email is not None: + output["email"] = request.email + + if request.organization_id is not None: + output["organization_id"] = ( + request.organization_id or defaults.default_organization_id + ) + + return output def marshal_RemoveGroupMemberRequest( request: RemoveGroupMemberRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - **resolve_one_of( + output: Dict[str, Any] = {} + output.update( + resolve_one_of( [ OneOfPossibility( "user_id", request.user_id if request.user_id is not None else None @@ -782,65 +848,93 @@ def marshal_RemoveGroupMemberRequest( ), ] ), - } + ) + + return output def marshal_SetGroupMembersRequest( request: SetGroupMembersRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "application_ids": request.application_ids, - "user_ids": request.user_ids, - } + output: Dict[str, Any] = {} + + if request.application_ids is not None: + output["application_ids"] = request.application_ids + + if request.user_ids is not None: + output["user_ids"] = request.user_ids + + return output def marshal_SetRulesRequest( request: SetRulesRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "policy_id": request.policy_id, - "rules": [marshal_RuleSpecs(v, defaults) for v in request.rules], - } + output: Dict[str, Any] = {} + + if request.policy_id is not None: + output["policy_id"] = request.policy_id + + if request.rules is not None: + output["rules"] = [marshal_RuleSpecs(v, defaults) for v in request.rules] + + return output def marshal_UpdateAPIKeyRequest( request: UpdateAPIKeyRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "default_project_id": request.default_project_id, - "description": request.description, - } + output: Dict[str, Any] = {} + + if request.default_project_id is not None: + output["default_project_id"] = request.default_project_id + + if request.description is not None: + output["description"] = request.description + + return output def marshal_UpdateApplicationRequest( request: UpdateApplicationRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "description": request.description, - "name": request.name, - } + output: Dict[str, Any] = {} + + if request.description is not None: + output["description"] = request.description + + if request.name is not None: + output["name"] = request.name + + return output def marshal_UpdateGroupRequest( request: UpdateGroupRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "description": request.description, - "name": request.name, - } + output: Dict[str, Any] = {} + + if request.description is not None: + output["description"] = request.description + + if request.name is not None: + output["name"] = request.name + + return output def marshal_UpdatePolicyRequest( request: UpdatePolicyRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - **resolve_one_of( + output: Dict[str, Any] = {} + output.update( + resolve_one_of( [ OneOfPossibility( "user_id", request.user_id if request.user_id is not None else None @@ -861,16 +955,27 @@ def marshal_UpdatePolicyRequest( ), ] ), - "description": request.description, - "name": request.name, - } + ) + + if request.description is not None: + output["description"] = request.description + + if request.name is not None: + output["name"] = request.name + + return output def marshal_UpdateSSHKeyRequest( request: UpdateSSHKeyRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "disabled": request.disabled, - "name": request.name, - } + output: Dict[str, Any] = {} + + if request.disabled is not None: + output["disabled"] = request.disabled + + if request.name is not None: + output["name"] = request.name + + return output diff --git a/scaleway-async/scaleway_async/instance/v1/marshalling.py b/scaleway-async/scaleway_async/instance/v1/marshalling.py index a3b0b28f1..d5410e05f 100644 --- a/scaleway-async/scaleway_async/instance/v1/marshalling.py +++ b/scaleway-async/scaleway_async/instance/v1/marshalling.py @@ -2080,254 +2080,474 @@ def marshal_ServerSummary( request: ServerSummary, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "id": request.id, - "name": request.name, - } + output: Dict[str, Any] = {} + + if request.id is not None: + output["id"] = request.id + + if request.name is not None: + output["name"] = request.name + + return output def marshal_Bootscript( request: Bootscript, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "arch": Arch(request.arch), - "bootcmdargs": request.bootcmdargs, - "default": request.default, - "dtb": request.dtb, - "id": request.id, - "initrd": request.initrd, - "kernel": request.kernel, - "organization": request.organization, - "project": request.project, - "public": request.public, - "title": request.title, - "zone": request.zone, - } + output: Dict[str, Any] = {} + + if request.arch is not None: + output["arch"] = Arch(request.arch) + + if request.bootcmdargs is not None: + output["bootcmdargs"] = request.bootcmdargs + + if request.default is not None: + output["default"] = request.default + + if request.dtb is not None: + output["dtb"] = request.dtb + + if request.id is not None: + output["id"] = request.id + + if request.initrd is not None: + output["initrd"] = request.initrd + + if request.kernel is not None: + output["kernel"] = request.kernel + + if request.organization is not None: + output["organization"] = request.organization + + if request.project is not None: + output["project"] = request.project + + if request.public is not None: + output["public"] = request.public + + if request.title is not None: + output["title"] = request.title + + if request.zone is not None: + output["zone"] = request.zone + + return output def marshal_Volume( request: Volume, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "creation_date": request.creation_date, - "export_uri": request.export_uri, - "id": request.id, - "modification_date": request.modification_date, - "name": request.name, - "organization": request.organization, - "project": request.project, - "server": marshal_ServerSummary(request.server, defaults) - if request.server is not None - else None, - "size": request.size, - "state": VolumeState(request.state), - "tags": request.tags, - "volume_type": VolumeVolumeType(request.volume_type), - "zone": request.zone, - } + output: Dict[str, Any] = {} + + if request.creation_date is not None: + output["creation_date"] = request.creation_date + + if request.export_uri is not None: + output["export_uri"] = request.export_uri + + if request.id is not None: + output["id"] = request.id + + if request.modification_date is not None: + output["modification_date"] = request.modification_date + + if request.name is not None: + output["name"] = request.name + + if request.organization is not None: + output["organization"] = request.organization + + if request.project is not None: + output["project"] = request.project + + if request.server is not None: + output["server"] = marshal_ServerSummary(request.server, defaults) + + if request.size is not None: + output["size"] = request.size + + if request.state is not None: + output["state"] = VolumeState(request.state) + + if request.tags is not None: + output["tags"] = request.tags + + if request.volume_type is not None: + output["volume_type"] = VolumeVolumeType(request.volume_type) + + if request.zone is not None: + output["zone"] = request.zone + + return output def marshal_VolumeSummary( request: VolumeSummary, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "id": request.id, - "name": request.name, - "size": request.size, - "volume_type": VolumeVolumeType(request.volume_type), - } + output: Dict[str, Any] = {} + + if request.id is not None: + output["id"] = request.id + + if request.name is not None: + output["name"] = request.name + + if request.size is not None: + output["size"] = request.size + + if request.volume_type is not None: + output["volume_type"] = VolumeVolumeType(request.volume_type) + + return output def marshal_Image( request: Image, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "arch": Arch(request.arch), - "creation_date": request.creation_date, - "default_bootscript": marshal_Bootscript(request.default_bootscript, defaults) - if request.default_bootscript is not None - else None, - "extra_volumes": { + output: Dict[str, Any] = {} + + if request.arch is not None: + output["arch"] = Arch(request.arch) + + if request.creation_date is not None: + output["creation_date"] = request.creation_date + + if request.default_bootscript is not None: + output["default_bootscript"] = marshal_Bootscript( + request.default_bootscript, defaults + ) + + if request.extra_volumes is not None: + output["extra_volumes"] = { k: marshal_Volume(v, defaults) for k, v in request.extra_volumes.items() - }, - "from_server": request.from_server, - "id": request.id, - "modification_date": request.modification_date, - "name": request.name, - "organization": request.organization, - "project": request.project, - "public": request.public, - "root_volume": marshal_VolumeSummary(request.root_volume, defaults) - if request.root_volume is not None - else None, - "state": ImageState(request.state), - "tags": request.tags, - "zone": request.zone, - } + } + + if request.from_server is not None: + output["from_server"] = request.from_server + + if request.id is not None: + output["id"] = request.id + + if request.modification_date is not None: + output["modification_date"] = request.modification_date + + if request.name is not None: + output["name"] = request.name + + if request.organization is not None: + output["organization"] = request.organization + + if request.project is not None: + output["project"] = request.project + + if request.public is not None: + output["public"] = request.public + + if request.root_volume is not None: + output["root_volume"] = marshal_VolumeSummary(request.root_volume, defaults) + + if request.state is not None: + output["state"] = ImageState(request.state) + + if request.tags is not None: + output["tags"] = request.tags + + if request.zone is not None: + output["zone"] = request.zone + + return output def marshal_PlacementGroup( request: PlacementGroup, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "id": request.id, - "name": request.name, - "organization": request.organization, - "policy_mode": PlacementGroupPolicyMode(request.policy_mode), - "policy_respected": request.policy_respected, - "policy_type": PlacementGroupPolicyType(request.policy_type), - "project": request.project, - "tags": request.tags, - "zone": request.zone, - } + output: Dict[str, Any] = {} + + if request.id is not None: + output["id"] = request.id + + if request.name is not None: + output["name"] = request.name + + if request.organization is not None: + output["organization"] = request.organization + + if request.policy_mode is not None: + output["policy_mode"] = PlacementGroupPolicyMode(request.policy_mode) + + if request.policy_respected is not None: + output["policy_respected"] = request.policy_respected + + if request.policy_type is not None: + output["policy_type"] = PlacementGroupPolicyType(request.policy_type) + + if request.project is not None: + output["project"] = request.project + + if request.tags is not None: + output["tags"] = request.tags + + if request.zone is not None: + output["zone"] = request.zone + + return output def marshal_PrivateNIC( request: PrivateNIC, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "id": request.id, - "mac_address": request.mac_address, - "private_network_id": request.private_network_id, - "server_id": request.server_id, - "state": PrivateNICState(request.state), - "tags": request.tags, - } + output: Dict[str, Any] = {} + + if request.id is not None: + output["id"] = request.id + + if request.mac_address is not None: + output["mac_address"] = request.mac_address + + if request.private_network_id is not None: + output["private_network_id"] = request.private_network_id + + if request.server_id is not None: + output["server_id"] = request.server_id + + if request.state is not None: + output["state"] = PrivateNICState(request.state) + + if request.tags is not None: + output["tags"] = request.tags + + return output def marshal_SecurityGroupSummary( request: SecurityGroupSummary, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "id": request.id, - "name": request.name, - } + output: Dict[str, Any] = {} + + if request.id is not None: + output["id"] = request.id + + if request.name is not None: + output["name"] = request.name + + return output def marshal_SecurityGroupTemplate( request: SecurityGroupTemplate, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "id": request.id, - "name": request.name, - } + output: Dict[str, Any] = {} + + if request.id is not None: + output["id"] = request.id + + if request.name is not None: + output["name"] = request.name + + return output def marshal_ServerActionRequestVolumeBackupTemplate( request: ServerActionRequestVolumeBackupTemplate, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "volume_type": SnapshotVolumeType(request.volume_type), - } + output: Dict[str, Any] = {} + + if request.volume_type is not None: + output["volume_type"] = SnapshotVolumeType(request.volume_type) + + return output def marshal_ServerIp( request: ServerIp, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "address": request.address, - "dynamic": request.dynamic, - "family": ServerIpIpFamily(request.family), - "gateway": request.gateway, - "id": request.id, - "netmask": request.netmask, - "provisioning_mode": ServerIpProvisioningMode(request.provisioning_mode), - } + output: Dict[str, Any] = {} + + if request.address is not None: + output["address"] = request.address + + if request.dynamic is not None: + output["dynamic"] = request.dynamic + + if request.family is not None: + output["family"] = ServerIpIpFamily(request.family) + + if request.gateway is not None: + output["gateway"] = request.gateway + + if request.id is not None: + output["id"] = request.id + + if request.netmask is not None: + output["netmask"] = request.netmask + + if request.provisioning_mode is not None: + output["provisioning_mode"] = ServerIpProvisioningMode( + request.provisioning_mode + ) + + return output def marshal_ServerIpv6( request: ServerIpv6, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "address": request.address, - "gateway": request.gateway, - "netmask": request.netmask, - } + output: Dict[str, Any] = {} + + if request.address is not None: + output["address"] = request.address + + if request.gateway is not None: + output["gateway"] = request.gateway + + if request.netmask is not None: + output["netmask"] = request.netmask + + return output def marshal_ServerLocation( request: ServerLocation, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "cluster_id": request.cluster_id, - "hypervisor_id": request.hypervisor_id, - "node_id": request.node_id, - "platform_id": request.platform_id, - "zone_id": request.zone_id, - } + output: Dict[str, Any] = {} + + if request.cluster_id is not None: + output["cluster_id"] = request.cluster_id + + if request.hypervisor_id is not None: + output["hypervisor_id"] = request.hypervisor_id + + if request.node_id is not None: + output["node_id"] = request.node_id + + if request.platform_id is not None: + output["platform_id"] = request.platform_id + + if request.zone_id is not None: + output["zone_id"] = request.zone_id + + return output def marshal_ServerMaintenance( request: ServerMaintenance, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "reason": request.reason, - } + output: Dict[str, Any] = {} + + if request.reason is not None: + output["reason"] = request.reason + + return output def marshal_SetSecurityGroupRulesRequestRule( request: SetSecurityGroupRulesRequestRule, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "action": SecurityGroupRuleAction(request.action), - "dest_port_from": request.dest_port_from, - "dest_port_to": request.dest_port_to, - "direction": SecurityGroupRuleDirection(request.direction), - "editable": request.editable, - "id": request.id, - "ip_range": request.ip_range, - "position": request.position, - "protocol": SecurityGroupRuleProtocol(request.protocol), - "zone": request.zone, - } + output: Dict[str, Any] = {} + + if request.action is not None: + output["action"] = SecurityGroupRuleAction(request.action) + + if request.dest_port_from is not None: + output["dest_port_from"] = request.dest_port_from + + if request.dest_port_to is not None: + output["dest_port_to"] = request.dest_port_to + + if request.direction is not None: + output["direction"] = SecurityGroupRuleDirection(request.direction) + + if request.editable is not None: + output["editable"] = request.editable + + if request.id is not None: + output["id"] = request.id + + if request.ip_range is not None: + output["ip_range"] = request.ip_range + + if request.position is not None: + output["position"] = request.position + + if request.protocol is not None: + output["protocol"] = SecurityGroupRuleProtocol(request.protocol) + + if request.zone is not None: + output["zone"] = request.zone + + return output def marshal_SnapshotBaseVolume( request: SnapshotBaseVolume, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "id": request.id, - "name": request.name, - } + output: Dict[str, Any] = {} + + if request.id is not None: + output["id"] = request.id + + if request.name is not None: + output["name"] = request.name + + return output def marshal_VolumeServerTemplate( request: VolumeServerTemplate, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "base_snapshot": request.base_snapshot, - "boot": request.boot, - "id": request.id, - "name": request.name, - "organization": request.organization, - "project": request.project, - "size": request.size, - "volume_type": VolumeVolumeType(request.volume_type), - } + output: Dict[str, Any] = {} + + if request.base_snapshot is not None: + output["base_snapshot"] = request.base_snapshot + + if request.boot is not None: + output["boot"] = request.boot + + if request.id is not None: + output["id"] = request.id + + if request.name is not None: + output["name"] = request.name + + if request.organization is not None: + output["organization"] = request.organization + + if request.project is not None: + output["project"] = request.project + + if request.size is not None: + output["size"] = request.size + + if request.volume_type is not None: + output["volume_type"] = VolumeVolumeType(request.volume_type) + + return output def marshal_VolumeTemplate( request: VolumeTemplate, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - **resolve_one_of( + output: Dict[str, Any] = {} + output.update( + resolve_one_of( [ OneOfPossibility( "project", @@ -2341,19 +2561,30 @@ def marshal_VolumeTemplate( ), ] ), - "id": request.id, - "name": request.name, - "size": request.size, - "volume_type": VolumeVolumeType(request.volume_type), - } + ) + + if request.id is not None: + output["id"] = request.id + + if request.name is not None: + output["name"] = request.name + + if request.size is not None: + output["size"] = request.size + + if request.volume_type is not None: + output["volume_type"] = VolumeVolumeType(request.volume_type) + + return output def marshal_CreateImageRequest( request: CreateImageRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - **resolve_one_of( + output: Dict[str, Any] = {} + output.update( + resolve_one_of( [ OneOfPossibility( "project", @@ -2371,27 +2602,42 @@ def marshal_CreateImageRequest( ), ] ), - "arch": Arch(request.arch) if request.arch is not None else None, - "default_bootscript": request.default_bootscript, - "extra_volumes": { + ) + + if request.arch is not None: + output["arch"] = Arch(request.arch) + + if request.default_bootscript is not None: + output["default_bootscript"] = request.default_bootscript + + if request.extra_volumes is not None: + output["extra_volumes"] = { k: marshal_VolumeTemplate(v, defaults) for k, v in request.extra_volumes.items() } - if request.extra_volumes is not None - else None, - "name": request.name, - "public": request.public, - "root_volume": request.root_volume, - "tags": request.tags, - } + + if request.name is not None: + output["name"] = request.name + + if request.public is not None: + output["public"] = request.public + + if request.root_volume is not None: + output["root_volume"] = request.root_volume + + if request.tags is not None: + output["tags"] = request.tags + + return output def marshal_CreateIpRequest( request: CreateIpRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - **resolve_one_of( + output: Dict[str, Any] = {} + output.update( + resolve_one_of( [ OneOfPossibility( "project", @@ -2409,18 +2655,27 @@ def marshal_CreateIpRequest( ), ] ), - "server": request.server, - "tags": request.tags, - "type": IpType(request.type_), - } + ) + + if request.server is not None: + output["server"] = request.server + + if request.tags is not None: + output["tags"] = request.tags + + if request.type_ is not None: + output["type"] = IpType(request.type_) + + return output def marshal_CreatePlacementGroupRequest( request: CreatePlacementGroupRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - **resolve_one_of( + output: Dict[str, Any] = {} + output.update( + resolve_one_of( [ OneOfPossibility( "project", @@ -2438,30 +2693,48 @@ def marshal_CreatePlacementGroupRequest( ), ] ), - "name": request.name, - "policy_mode": PlacementGroupPolicyMode(request.policy_mode), - "policy_type": PlacementGroupPolicyType(request.policy_type), - "tags": request.tags, - } + ) + + if request.name is not None: + output["name"] = request.name + + if request.policy_mode is not None: + output["policy_mode"] = PlacementGroupPolicyMode(request.policy_mode) + + if request.policy_type is not None: + output["policy_type"] = PlacementGroupPolicyType(request.policy_type) + + if request.tags is not None: + output["tags"] = request.tags + + return output def marshal_CreatePrivateNICRequest( request: CreatePrivateNICRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "ip_ids": request.ip_ids, - "private_network_id": request.private_network_id, - "tags": request.tags, - } + output: Dict[str, Any] = {} + + if request.ip_ids is not None: + output["ip_ids"] = request.ip_ids + + if request.private_network_id is not None: + output["private_network_id"] = request.private_network_id + + if request.tags is not None: + output["tags"] = request.tags + + return output def marshal_CreateSecurityGroupRequest( request: CreateSecurityGroupRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - **resolve_one_of( + output: Dict[str, Any] = {} + output.update( + resolve_one_of( [ OneOfPossibility( "organization_default", @@ -2477,7 +2750,9 @@ def marshal_CreateSecurityGroupRequest( ), ] ), - **resolve_one_of( + ) + output.update( + resolve_one_of( [ OneOfPossibility( "project", @@ -2495,44 +2770,76 @@ def marshal_CreateSecurityGroupRequest( ), ] ), - "description": request.description, - "enable_default_security": request.enable_default_security, - "inbound_default_policy": SecurityGroupPolicy(request.inbound_default_policy), - "name": request.name, - "outbound_default_policy": SecurityGroupPolicy(request.outbound_default_policy), - "stateful": request.stateful, - "tags": request.tags, - } + ) + + if request.description is not None: + output["description"] = request.description + + if request.enable_default_security is not None: + output["enable_default_security"] = request.enable_default_security + + if request.inbound_default_policy is not None: + output["inbound_default_policy"] = SecurityGroupPolicy( + request.inbound_default_policy + ) + + if request.name is not None: + output["name"] = request.name + + if request.outbound_default_policy is not None: + output["outbound_default_policy"] = SecurityGroupPolicy( + request.outbound_default_policy + ) + + if request.stateful is not None: + output["stateful"] = request.stateful + + if request.tags is not None: + output["tags"] = request.tags + + return output def marshal_CreateSecurityGroupRuleRequest( request: CreateSecurityGroupRuleRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "action": SecurityGroupRuleAction(request.action) - if request.action is not None - else None, - "dest_port_from": request.dest_port_from, - "dest_port_to": request.dest_port_to, - "direction": SecurityGroupRuleDirection(request.direction) - if request.direction is not None - else None, - "editable": request.editable, - "ip_range": request.ip_range, - "position": request.position, - "protocol": SecurityGroupRuleProtocol(request.protocol) - if request.protocol is not None - else None, - } + output: Dict[str, Any] = {} + + if request.action is not None: + output["action"] = SecurityGroupRuleAction(request.action) + + if request.dest_port_from is not None: + output["dest_port_from"] = request.dest_port_from + + if request.dest_port_to is not None: + output["dest_port_to"] = request.dest_port_to + + if request.direction is not None: + output["direction"] = SecurityGroupRuleDirection(request.direction) + + if request.editable is not None: + output["editable"] = request.editable + + if request.ip_range is not None: + output["ip_range"] = request.ip_range + + if request.position is not None: + output["position"] = request.position + + if request.protocol is not None: + output["protocol"] = SecurityGroupRuleProtocol(request.protocol) + + return output def marshal_CreateSnapshotRequest( request: CreateSnapshotRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - **resolve_one_of( + output: Dict[str, Any] = {} + output.update( + resolve_one_of( [ OneOfPossibility( "project", @@ -2550,22 +2857,39 @@ def marshal_CreateSnapshotRequest( ), ] ), - "bucket": request.bucket, - "key": request.key, - "name": request.name, - "size": request.size, - "tags": request.tags, - "volume_id": request.volume_id, - "volume_type": SnapshotVolumeType(request.volume_type), - } + ) + + if request.bucket is not None: + output["bucket"] = request.bucket + + if request.key is not None: + output["key"] = request.key + + if request.name is not None: + output["name"] = request.name + + if request.size is not None: + output["size"] = request.size + + if request.tags is not None: + output["tags"] = request.tags + + if request.volume_id is not None: + output["volume_id"] = request.volume_id + + if request.volume_type is not None: + output["volume_type"] = SnapshotVolumeType(request.volume_type) + + return output def marshal_CreateVolumeRequest( request: CreateVolumeRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - **resolve_one_of( + output: Dict[str, Any] = {} + output.update( + resolve_one_of( [ OneOfPossibility( "project", @@ -2583,7 +2907,9 @@ def marshal_CreateVolumeRequest( ), ] ), - **resolve_one_of( + ) + output.update( + resolve_one_of( [ OneOfPossibility( "size", request.size if request.size is not None else None @@ -2600,137 +2926,202 @@ def marshal_CreateVolumeRequest( ), ] ), - "name": request.name, - "tags": request.tags, - "volume_type": VolumeVolumeType(request.volume_type), - } + ) + + if request.name is not None: + output["name"] = request.name + + if request.tags is not None: + output["tags"] = request.tags + + if request.volume_type is not None: + output["volume_type"] = VolumeVolumeType(request.volume_type) + + return output def marshal_ExportSnapshotRequest( request: ExportSnapshotRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "bucket": request.bucket, - "key": request.key, - } + output: Dict[str, Any] = {} + + if request.bucket is not None: + output["bucket"] = request.bucket + + if request.key is not None: + output["key"] = request.key + + return output def marshal_ServerActionRequest( request: ServerActionRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "action": ServerAction(request.action), - "name": request.name, - "volumes": { + output: Dict[str, Any] = {} + + if request.action is not None: + output["action"] = ServerAction(request.action) + + if request.name is not None: + output["name"] = request.name + + if request.volumes is not None: + output["volumes"] = { k: marshal_ServerActionRequestVolumeBackupTemplate(v, defaults) for k, v in request.volumes.items() } - if request.volumes is not None - else None, - } + + return output def marshal_SetPlacementGroupRequest( request: SetPlacementGroupRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "name": request.name, - "organization": request.organization or defaults.default_organization_id, - "policy_mode": PlacementGroupPolicyMode(request.policy_mode), - "policy_type": PlacementGroupPolicyType(request.policy_type), - "project": request.project or defaults.default_project_id, - "tags": request.tags, - } + output: Dict[str, Any] = {} + + if request.name is not None: + output["name"] = request.name + + if request.organization is not None: + output["organization"] = ( + request.organization or defaults.default_organization_id + ) + + if request.policy_mode is not None: + output["policy_mode"] = PlacementGroupPolicyMode(request.policy_mode) + + if request.policy_type is not None: + output["policy_type"] = PlacementGroupPolicyType(request.policy_type) + + if request.project is not None: + output["project"] = request.project or defaults.default_project_id + + if request.tags is not None: + output["tags"] = request.tags + + return output def marshal_SetPlacementGroupServersRequest( request: SetPlacementGroupServersRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "servers": request.servers, - } + output: Dict[str, Any] = {} + + if request.servers is not None: + output["servers"] = request.servers + + return output def marshal_SetSecurityGroupRulesRequest( request: SetSecurityGroupRulesRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "rules": [ + output: Dict[str, Any] = {} + + if request.rules is not None: + output["rules"] = [ marshal_SetSecurityGroupRulesRequestRule(v, defaults) for v in request.rules ] - if request.rules is not None - else None, - } + + return output def marshal_UpdateIpRequest( request: UpdateIpRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "reverse": request.reverse, - "server": request.server, - "tags": request.tags, - "type": IpType(request.type_), - } + output: Dict[str, Any] = {} + + if request.reverse is not None: + output["reverse"] = request.reverse + + if request.server is not None: + output["server"] = request.server + + if request.tags is not None: + output["tags"] = request.tags + + if request.type_ is not None: + output["type"] = IpType(request.type_) + + return output def marshal_UpdatePlacementGroupRequest( request: UpdatePlacementGroupRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "name": request.name, - "policy_mode": PlacementGroupPolicyMode(request.policy_mode) - if request.policy_mode is not None - else None, - "policy_type": PlacementGroupPolicyType(request.policy_type) - if request.policy_type is not None - else None, - "tags": request.tags, - } + output: Dict[str, Any] = {} + + if request.name is not None: + output["name"] = request.name + + if request.policy_mode is not None: + output["policy_mode"] = PlacementGroupPolicyMode(request.policy_mode) + + if request.policy_type is not None: + output["policy_type"] = PlacementGroupPolicyType(request.policy_type) + + if request.tags is not None: + output["tags"] = request.tags + + return output def marshal_UpdatePlacementGroupServersRequest( request: UpdatePlacementGroupServersRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "servers": request.servers, - } + output: Dict[str, Any] = {} + + if request.servers is not None: + output["servers"] = request.servers + + return output def marshal_UpdatePrivateNICRequest( request: UpdatePrivateNICRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "tags": request.tags, - } + output: Dict[str, Any] = {} + + if request.tags is not None: + output["tags"] = request.tags + + return output def marshal_UpdateVolumeRequest( request: UpdateVolumeRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "name": request.name, - "size": request.size, - "tags": request.tags, - } + output: Dict[str, Any] = {} + + if request.name is not None: + output["name"] = request.name + + if request.size is not None: + output["size"] = request.size + + if request.tags is not None: + output["tags"] = request.tags + + return output def marshal__CreateServerRequest( request: _CreateServerRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - **resolve_one_of( + output: Dict[str, Any] = {} + output.update( + resolve_one_of( [ OneOfPossibility( "project", @@ -2748,216 +3139,416 @@ def marshal__CreateServerRequest( ), ] ), - "boot_type": BootType(request.boot_type) - if request.boot_type is not None - else None, - "bootscript": request.bootscript, - "commercial_type": request.commercial_type, - "dynamic_ip_required": request.dynamic_ip_required, - "enable_ipv6": request.enable_ipv6, - "image": request.image, - "name": request.name, - "placement_group": request.placement_group, - "public_ip": request.public_ip, - "public_ips": request.public_ips, - "routed_ip_enabled": request.routed_ip_enabled, - "security_group": request.security_group, - "tags": request.tags, - "volumes": { + ) + + if request.boot_type is not None: + output["boot_type"] = BootType(request.boot_type) + + if request.bootscript is not None: + output["bootscript"] = request.bootscript + + if request.commercial_type is not None: + output["commercial_type"] = request.commercial_type + + if request.dynamic_ip_required is not None: + output["dynamic_ip_required"] = request.dynamic_ip_required + + if request.enable_ipv6 is not None: + output["enable_ipv6"] = request.enable_ipv6 + + if request.image is not None: + output["image"] = request.image + + if request.name is not None: + output["name"] = request.name + + if request.placement_group is not None: + output["placement_group"] = request.placement_group + + if request.public_ip is not None: + output["public_ip"] = request.public_ip + + if request.public_ips is not None: + output["public_ips"] = request.public_ips + + if request.routed_ip_enabled is not None: + output["routed_ip_enabled"] = request.routed_ip_enabled + + if request.security_group is not None: + output["security_group"] = request.security_group + + if request.tags is not None: + output["tags"] = request.tags + + if request.volumes is not None: + output["volumes"] = { k: marshal_VolumeServerTemplate(v, defaults) for k, v in request.volumes.items() } - if request.volumes is not None - else None, - } + + return output def marshal__SetImageRequest( request: _SetImageRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "arch": Arch(request.arch), - "creation_date": request.creation_date, - "default_bootscript": marshal_Bootscript(request.default_bootscript, defaults) - if request.default_bootscript is not None - else None, - "extra_volumes": { + output: Dict[str, Any] = {} + + if request.arch is not None: + output["arch"] = Arch(request.arch) + + if request.creation_date is not None: + output["creation_date"] = request.creation_date + + if request.default_bootscript is not None: + output["default_bootscript"] = marshal_Bootscript( + request.default_bootscript, defaults + ) + + if request.extra_volumes is not None: + output["extra_volumes"] = { k: marshal_Volume(v, defaults) for k, v in request.extra_volumes.items() } - if request.extra_volumes is not None - else None, - "from_server": request.from_server, - "modification_date": request.modification_date, - "name": request.name, - "organization": request.organization or defaults.default_organization_id, - "project": request.project or defaults.default_project_id, - "public": request.public, - "root_volume": marshal_VolumeSummary(request.root_volume, defaults) - if request.root_volume is not None - else None, - "state": ImageState(request.state), - "tags": request.tags, - } + + if request.from_server is not None: + output["from_server"] = request.from_server + + if request.modification_date is not None: + output["modification_date"] = request.modification_date + + if request.name is not None: + output["name"] = request.name + + if request.organization is not None: + output["organization"] = ( + request.organization or defaults.default_organization_id + ) + + if request.project is not None: + output["project"] = request.project or defaults.default_project_id + + if request.public is not None: + output["public"] = request.public + + if request.root_volume is not None: + output["root_volume"] = marshal_VolumeSummary(request.root_volume, defaults) + + if request.state is not None: + output["state"] = ImageState(request.state) + + if request.tags is not None: + output["tags"] = request.tags + + return output def marshal__SetSecurityGroupRequest( request: _SetSecurityGroupRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "creation_date": request.creation_date, - "description": request.description, - "enable_default_security": request.enable_default_security, - "inbound_default_policy": SecurityGroupPolicy(request.inbound_default_policy), - "modification_date": request.modification_date, - "name": request.name, - "organization": request.organization or defaults.default_organization_id, - "organization_default": request.organization_default, - "outbound_default_policy": SecurityGroupPolicy(request.outbound_default_policy), - "project": request.project or defaults.default_project_id, - "project_default": request.project_default, - "servers": [marshal_ServerSummary(v, defaults) for v in request.servers] - if request.servers is not None - else None, - "stateful": request.stateful, - "tags": request.tags, - } + output: Dict[str, Any] = {} + + if request.creation_date is not None: + output["creation_date"] = request.creation_date + + if request.description is not None: + output["description"] = request.description + + if request.enable_default_security is not None: + output["enable_default_security"] = request.enable_default_security + + if request.inbound_default_policy is not None: + output["inbound_default_policy"] = SecurityGroupPolicy( + request.inbound_default_policy + ) + + if request.modification_date is not None: + output["modification_date"] = request.modification_date + + if request.name is not None: + output["name"] = request.name + + if request.organization is not None: + output["organization"] = ( + request.organization or defaults.default_organization_id + ) + + if request.organization_default is not None: + output["organization_default"] = request.organization_default + + if request.outbound_default_policy is not None: + output["outbound_default_policy"] = SecurityGroupPolicy( + request.outbound_default_policy + ) + + if request.project is not None: + output["project"] = request.project or defaults.default_project_id + + if request.project_default is not None: + output["project_default"] = request.project_default + + if request.servers is not None: + output["servers"] = [ + marshal_ServerSummary(v, defaults) for v in request.servers + ] + + if request.stateful is not None: + output["stateful"] = request.stateful + + if request.tags is not None: + output["tags"] = request.tags + + return output def marshal__SetSecurityGroupRuleRequest( request: _SetSecurityGroupRuleRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "action": SecurityGroupRuleAction(request.action), - "dest_port_from": request.dest_port_from, - "dest_port_to": request.dest_port_to, - "direction": SecurityGroupRuleDirection(request.direction), - "editable": request.editable, - "id": request.id, - "ip_range": request.ip_range, - "position": request.position, - "protocol": SecurityGroupRuleProtocol(request.protocol), - } + output: Dict[str, Any] = {} + + if request.action is not None: + output["action"] = SecurityGroupRuleAction(request.action) + + if request.dest_port_from is not None: + output["dest_port_from"] = request.dest_port_from + + if request.dest_port_to is not None: + output["dest_port_to"] = request.dest_port_to + + if request.direction is not None: + output["direction"] = SecurityGroupRuleDirection(request.direction) + + if request.editable is not None: + output["editable"] = request.editable + + if request.id is not None: + output["id"] = request.id + + if request.ip_range is not None: + output["ip_range"] = request.ip_range + + if request.position is not None: + output["position"] = request.position + + if request.protocol is not None: + output["protocol"] = SecurityGroupRuleProtocol(request.protocol) + + return output def marshal__SetServerRequest( request: _SetServerRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "allowed_actions": [ServerAction(v) for v in request.allowed_actions] - if request.allowed_actions is not None - else None, - "arch": Arch(request.arch), - "boot_type": BootType(request.boot_type), - "bootscript": marshal_Bootscript(request.bootscript, defaults) - if request.bootscript is not None - else None, - "commercial_type": request.commercial_type, - "creation_date": request.creation_date, - "dynamic_ip_required": request.dynamic_ip_required, - "enable_ipv6": request.enable_ipv6, - "hostname": request.hostname, - "image": marshal_Image(request.image, defaults) - if request.image is not None - else None, - "ipv6": marshal_ServerIpv6(request.ipv6, defaults) - if request.ipv6 is not None - else None, - "location": marshal_ServerLocation(request.location, defaults) - if request.location is not None - else None, - "maintenances": [ + output: Dict[str, Any] = {} + + if request.allowed_actions is not None: + output["allowed_actions"] = [ServerAction(v) for v in request.allowed_actions] + + if request.arch is not None: + output["arch"] = Arch(request.arch) + + if request.boot_type is not None: + output["boot_type"] = BootType(request.boot_type) + + if request.bootscript is not None: + output["bootscript"] = marshal_Bootscript(request.bootscript, defaults) + + if request.commercial_type is not None: + output["commercial_type"] = request.commercial_type + + if request.creation_date is not None: + output["creation_date"] = request.creation_date + + if request.dynamic_ip_required is not None: + output["dynamic_ip_required"] = request.dynamic_ip_required + + if request.enable_ipv6 is not None: + output["enable_ipv6"] = request.enable_ipv6 + + if request.hostname is not None: + output["hostname"] = request.hostname + + if request.image is not None: + output["image"] = marshal_Image(request.image, defaults) + + if request.ipv6 is not None: + output["ipv6"] = marshal_ServerIpv6(request.ipv6, defaults) + + if request.location is not None: + output["location"] = marshal_ServerLocation(request.location, defaults) + + if request.maintenances is not None: + output["maintenances"] = [ marshal_ServerMaintenance(v, defaults) for v in request.maintenances ] - if request.maintenances is not None - else None, - "modification_date": request.modification_date, - "name": request.name, - "organization": request.organization or defaults.default_organization_id, - "placement_group": marshal_PlacementGroup(request.placement_group, defaults) - if request.placement_group is not None - else None, - "private_ip": request.private_ip, - "private_nics": [marshal_PrivateNIC(v, defaults) for v in request.private_nics] - if request.private_nics is not None - else None, - "project": request.project or defaults.default_project_id, - "protected": request.protected, - "public_ip": marshal_ServerIp(request.public_ip, defaults) - if request.public_ip is not None - else None, - "public_ips": [marshal_ServerIp(v, defaults) for v in request.public_ips] - if request.public_ips is not None - else None, - "routed_ip_enabled": request.routed_ip_enabled, - "security_group": marshal_SecurityGroupSummary(request.security_group, defaults) - if request.security_group is not None - else None, - "state": ServerState(request.state), - "state_detail": request.state_detail, - "tags": request.tags, - "volumes": {k: marshal_Volume(v, defaults) for k, v in request.volumes.items()} - if request.volumes is not None - else None, - } + + if request.modification_date is not None: + output["modification_date"] = request.modification_date + + if request.name is not None: + output["name"] = request.name + + if request.organization is not None: + output["organization"] = ( + request.organization or defaults.default_organization_id + ) + + if request.placement_group is not None: + output["placement_group"] = marshal_PlacementGroup( + request.placement_group, defaults + ) + + if request.private_ip is not None: + output["private_ip"] = request.private_ip + + if request.private_nics is not None: + output["private_nics"] = [ + marshal_PrivateNIC(v, defaults) for v in request.private_nics + ] + + if request.project is not None: + output["project"] = request.project or defaults.default_project_id + + if request.protected is not None: + output["protected"] = request.protected + + if request.public_ip is not None: + output["public_ip"] = marshal_ServerIp(request.public_ip, defaults) + + if request.public_ips is not None: + output["public_ips"] = [ + marshal_ServerIp(v, defaults) for v in request.public_ips + ] + + if request.routed_ip_enabled is not None: + output["routed_ip_enabled"] = request.routed_ip_enabled + + if request.security_group is not None: + output["security_group"] = marshal_SecurityGroupSummary( + request.security_group, defaults + ) + + if request.state is not None: + output["state"] = ServerState(request.state) + + if request.state_detail is not None: + output["state_detail"] = request.state_detail + + if request.tags is not None: + output["tags"] = request.tags + + if request.volumes is not None: + output["volumes"] = { + k: marshal_Volume(v, defaults) for k, v in request.volumes.items() + } + + return output def marshal__SetSnapshotRequest( request: _SetSnapshotRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "base_volume": marshal_SnapshotBaseVolume(request.base_volume, defaults) - if request.base_volume is not None - else None, - "creation_date": request.creation_date, - "id": request.id, - "modification_date": request.modification_date, - "name": request.name, - "organization": request.organization or defaults.default_organization_id, - "project": request.project or defaults.default_project_id, - "size": request.size, - "state": SnapshotState(request.state), - "tags": request.tags, - "volume_type": VolumeVolumeType(request.volume_type), - } + output: Dict[str, Any] = {} + + if request.base_volume is not None: + output["base_volume"] = marshal_SnapshotBaseVolume( + request.base_volume, defaults + ) + + if request.creation_date is not None: + output["creation_date"] = request.creation_date + + if request.id is not None: + output["id"] = request.id + + if request.modification_date is not None: + output["modification_date"] = request.modification_date + + if request.name is not None: + output["name"] = request.name + + if request.organization is not None: + output["organization"] = ( + request.organization or defaults.default_organization_id + ) + + if request.project is not None: + output["project"] = request.project or defaults.default_project_id + + if request.size is not None: + output["size"] = request.size + + if request.state is not None: + output["state"] = SnapshotState(request.state) + + if request.tags is not None: + output["tags"] = request.tags + + if request.volume_type is not None: + output["volume_type"] = VolumeVolumeType(request.volume_type) + + return output def marshal__UpdateServerRequest( request: _UpdateServerRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "boot_type": BootType(request.boot_type) - if request.boot_type is not None - else None, - "bootscript": request.bootscript, - "commercial_type": request.commercial_type, - "dynamic_ip_required": request.dynamic_ip_required, - "enable_ipv6": request.enable_ipv6, - "name": request.name, - "placement_group": request.placement_group, - "private_nics": [marshal_PrivateNIC(v, defaults) for v in request.private_nics] - if request.private_nics is not None - else None, - "protected": request.protected, - "public_ips": [marshal_ServerIp(v, defaults) for v in request.public_ips] - if request.public_ips is not None - else None, - "routed_ip_enabled": request.routed_ip_enabled, - "security_group": marshal_SecurityGroupTemplate( + output: Dict[str, Any] = {} + + if request.boot_type is not None: + output["boot_type"] = BootType(request.boot_type) + + if request.bootscript is not None: + output["bootscript"] = request.bootscript + + if request.commercial_type is not None: + output["commercial_type"] = request.commercial_type + + if request.dynamic_ip_required is not None: + output["dynamic_ip_required"] = request.dynamic_ip_required + + if request.enable_ipv6 is not None: + output["enable_ipv6"] = request.enable_ipv6 + + if request.name is not None: + output["name"] = request.name + + if request.placement_group is not None: + output["placement_group"] = request.placement_group + + if request.private_nics is not None: + output["private_nics"] = [ + marshal_PrivateNIC(v, defaults) for v in request.private_nics + ] + + if request.protected is not None: + output["protected"] = request.protected + + if request.public_ips is not None: + output["public_ips"] = [ + marshal_ServerIp(v, defaults) for v in request.public_ips + ] + + if request.routed_ip_enabled is not None: + output["routed_ip_enabled"] = request.routed_ip_enabled + + if request.security_group is not None: + output["security_group"] = marshal_SecurityGroupTemplate( request.security_group, defaults ) - if request.security_group is not None - else None, - "tags": request.tags, - "volumes": { + + if request.tags is not None: + output["tags"] = request.tags + + if request.volumes is not None: + output["volumes"] = { k: marshal_VolumeServerTemplate(v, defaults) for k, v in request.volumes.items() } - if request.volumes is not None - else None, - } + + return output diff --git a/scaleway-async/scaleway_async/iot/v1/marshalling.py b/scaleway-async/scaleway_async/iot/v1/marshalling.py index 354cdab9b..58646178e 100644 --- a/scaleway-async/scaleway_async/iot/v1/marshalling.py +++ b/scaleway-async/scaleway_async/iot/v1/marshalling.py @@ -706,135 +706,220 @@ def marshal_DeviceMessageFiltersRule( request: DeviceMessageFiltersRule, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "policy": DeviceMessageFiltersRulePolicy(request.policy), - "topics": request.topics, - } + output: Dict[str, Any] = {} + + if request.policy is not None: + output["policy"] = DeviceMessageFiltersRulePolicy(request.policy) + + if request.topics is not None: + output["topics"] = request.topics + + return output def marshal_CreateRouteRequestDatabaseConfig( request: CreateRouteRequestDatabaseConfig, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "dbname": request.dbname, - "engine": RouteDatabaseConfigEngine(request.engine), - "host": request.host, - "password": request.password, - "port": request.port, - "query": request.query, - "username": request.username, - } + output: Dict[str, Any] = {} + + if request.dbname is not None: + output["dbname"] = request.dbname + + if request.engine is not None: + output["engine"] = RouteDatabaseConfigEngine(request.engine) + + if request.host is not None: + output["host"] = request.host + + if request.password is not None: + output["password"] = request.password + + if request.port is not None: + output["port"] = request.port + + if request.query is not None: + output["query"] = request.query + + if request.username is not None: + output["username"] = request.username + + return output def marshal_CreateRouteRequestRestConfig( request: CreateRouteRequestRestConfig, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "headers": request.headers, - "uri": request.uri, - "verb": RouteRestConfigHttpVerb(request.verb), - } + output: Dict[str, Any] = {} + + if request.headers is not None: + output["headers"] = request.headers + + if request.uri is not None: + output["uri"] = request.uri + + if request.verb is not None: + output["verb"] = RouteRestConfigHttpVerb(request.verb) + + return output def marshal_CreateRouteRequestS3Config( request: CreateRouteRequestS3Config, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "bucket_name": request.bucket_name, - "bucket_region": request.bucket_region, - "object_prefix": request.object_prefix, - "strategy": RouteS3ConfigS3Strategy(request.strategy), - } + output: Dict[str, Any] = {} + + if request.bucket_name is not None: + output["bucket_name"] = request.bucket_name + + if request.bucket_region is not None: + output["bucket_region"] = request.bucket_region + + if request.object_prefix is not None: + output["object_prefix"] = request.object_prefix + + if request.strategy is not None: + output["strategy"] = RouteS3ConfigS3Strategy(request.strategy) + + return output def marshal_DeviceMessageFilters( request: DeviceMessageFilters, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "publish": marshal_DeviceMessageFiltersRule(request.publish, defaults) - if request.publish is not None - else None, - "subscribe": marshal_DeviceMessageFiltersRule(request.subscribe, defaults) - if request.subscribe is not None - else None, - } + output: Dict[str, Any] = {} + + if request.publish is not None: + output["publish"] = marshal_DeviceMessageFiltersRule(request.publish, defaults) + + if request.subscribe is not None: + output["subscribe"] = marshal_DeviceMessageFiltersRule( + request.subscribe, defaults + ) + + return output def marshal_HubTwinsGraphiteConfig( request: HubTwinsGraphiteConfig, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "push_uri": request.push_uri, - } + output: Dict[str, Any] = {} + + if request.push_uri is not None: + output["push_uri"] = request.push_uri + + return output def marshal_UpdateRouteRequestDatabaseConfig( request: UpdateRouteRequestDatabaseConfig, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "dbname": request.dbname, - "engine": RouteDatabaseConfigEngine(request.engine), - "host": request.host, - "password": request.password, - "port": request.port, - "query": request.query, - "username": request.username, - } + output: Dict[str, Any] = {} + + if request.dbname is not None: + output["dbname"] = request.dbname + + if request.engine is not None: + output["engine"] = RouteDatabaseConfigEngine(request.engine) + + if request.host is not None: + output["host"] = request.host + + if request.password is not None: + output["password"] = request.password + + if request.port is not None: + output["port"] = request.port + + if request.query is not None: + output["query"] = request.query + + if request.username is not None: + output["username"] = request.username + + return output def marshal_UpdateRouteRequestRestConfig( request: UpdateRouteRequestRestConfig, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "headers": request.headers, - "uri": request.uri, - "verb": RouteRestConfigHttpVerb(request.verb), - } + output: Dict[str, Any] = {} + + if request.headers is not None: + output["headers"] = request.headers + + if request.uri is not None: + output["uri"] = request.uri + + if request.verb is not None: + output["verb"] = RouteRestConfigHttpVerb(request.verb) + + return output def marshal_UpdateRouteRequestS3Config( request: UpdateRouteRequestS3Config, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "bucket_name": request.bucket_name, - "bucket_region": request.bucket_region, - "object_prefix": request.object_prefix, - "strategy": RouteS3ConfigS3Strategy(request.strategy), - } + output: Dict[str, Any] = {} + + if request.bucket_name is not None: + output["bucket_name"] = request.bucket_name + + if request.bucket_region is not None: + output["bucket_region"] = request.bucket_region + + if request.object_prefix is not None: + output["object_prefix"] = request.object_prefix + + if request.strategy is not None: + output["strategy"] = RouteS3ConfigS3Strategy(request.strategy) + + return output def marshal_CreateDeviceRequest( request: CreateDeviceRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "allow_insecure": request.allow_insecure, - "allow_multiple_connections": request.allow_multiple_connections, - "description": request.description, - "hub_id": request.hub_id, - "message_filters": marshal_DeviceMessageFilters( + output: Dict[str, Any] = {} + + if request.allow_insecure is not None: + output["allow_insecure"] = request.allow_insecure + + if request.allow_multiple_connections is not None: + output["allow_multiple_connections"] = request.allow_multiple_connections + + if request.description is not None: + output["description"] = request.description + + if request.hub_id is not None: + output["hub_id"] = request.hub_id + + if request.message_filters is not None: + output["message_filters"] = marshal_DeviceMessageFilters( request.message_filters, defaults ) - if request.message_filters is not None - else None, - "name": request.name, - } + + if request.name is not None: + output["name"] = request.name + + return output def marshal_CreateHubRequest( request: CreateHubRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - **resolve_one_of( + output: Dict[str, Any] = {} + output.update( + resolve_one_of( [ OneOfPossibility( "twins_graphite_config", @@ -846,36 +931,54 @@ def marshal_CreateHubRequest( ), ] ), - "disable_events": request.disable_events, - "events_topic_prefix": request.events_topic_prefix, - "name": request.name, - "product_plan": HubProductPlan(request.product_plan) - if request.product_plan is not None - else None, - "project_id": request.project_id or defaults.default_project_id, - } + ) + + if request.disable_events is not None: + output["disable_events"] = request.disable_events + + if request.events_topic_prefix is not None: + output["events_topic_prefix"] = request.events_topic_prefix + + if request.name is not None: + output["name"] = request.name + + if request.product_plan is not None: + output["product_plan"] = HubProductPlan(request.product_plan) + + if request.project_id is not None: + output["project_id"] = request.project_id or defaults.default_project_id + + return output def marshal_CreateNetworkRequest( request: CreateNetworkRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "hub_id": request.hub_id, - "name": request.name, - "topic_prefix": request.topic_prefix, - "type": NetworkNetworkType(request.type_) - if request.type_ is not None - else None, - } + output: Dict[str, Any] = {} + + if request.hub_id is not None: + output["hub_id"] = request.hub_id + + if request.name is not None: + output["name"] = request.name + + if request.topic_prefix is not None: + output["topic_prefix"] = request.topic_prefix + + if request.type_ is not None: + output["type"] = NetworkNetworkType(request.type_) + + return output def marshal_CreateRouteRequest( request: CreateRouteRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - **resolve_one_of( + output: Dict[str, Any] = {} + output.update( + resolve_one_of( [ OneOfPossibility( "s3_config", @@ -899,74 +1002,110 @@ def marshal_CreateRouteRequest( ), ] ), - "hub_id": request.hub_id, - "name": request.name, - "topic": request.topic, - } + ) + + if request.hub_id is not None: + output["hub_id"] = request.hub_id + + if request.name is not None: + output["name"] = request.name + + if request.topic is not None: + output["topic"] = request.topic + + return output def marshal_PatchTwinDocumentRequest( request: PatchTwinDocumentRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "data": request.data, - "version": request.version, - } + output: Dict[str, Any] = {} + + if request.data is not None: + output["data"] = request.data + + if request.version is not None: + output["version"] = request.version + + return output def marshal_PutTwinDocumentRequest( request: PutTwinDocumentRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "data": request.data, - "version": request.version, - } + output: Dict[str, Any] = {} + + if request.data is not None: + output["data"] = request.data + + if request.version is not None: + output["version"] = request.version + + return output def marshal_SetDeviceCertificateRequest( request: SetDeviceCertificateRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "certificate_pem": request.certificate_pem, - } + output: Dict[str, Any] = {} + + if request.certificate_pem is not None: + output["certificate_pem"] = request.certificate_pem + + return output def marshal_SetHubCARequest( request: SetHubCARequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "ca_cert_pem": request.ca_cert_pem, - "challenge_cert_pem": request.challenge_cert_pem, - } + output: Dict[str, Any] = {} + + if request.ca_cert_pem is not None: + output["ca_cert_pem"] = request.ca_cert_pem + + if request.challenge_cert_pem is not None: + output["challenge_cert_pem"] = request.challenge_cert_pem + + return output def marshal_UpdateDeviceRequest( request: UpdateDeviceRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "allow_insecure": request.allow_insecure, - "allow_multiple_connections": request.allow_multiple_connections, - "description": request.description, - "hub_id": request.hub_id, - "message_filters": marshal_DeviceMessageFilters( + output: Dict[str, Any] = {} + + if request.allow_insecure is not None: + output["allow_insecure"] = request.allow_insecure + + if request.allow_multiple_connections is not None: + output["allow_multiple_connections"] = request.allow_multiple_connections + + if request.description is not None: + output["description"] = request.description + + if request.hub_id is not None: + output["hub_id"] = request.hub_id + + if request.message_filters is not None: + output["message_filters"] = marshal_DeviceMessageFilters( request.message_filters, defaults ) - if request.message_filters is not None - else None, - } + + return output def marshal_UpdateHubRequest( request: UpdateHubRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - **resolve_one_of( + output: Dict[str, Any] = {} + output.update( + resolve_one_of( [ OneOfPossibility( "twins_graphite_config", @@ -978,20 +1117,35 @@ def marshal_UpdateHubRequest( ), ] ), - "disable_events": request.disable_events, - "enable_device_auto_provisioning": request.enable_device_auto_provisioning, - "events_topic_prefix": request.events_topic_prefix, - "name": request.name, - "product_plan": HubProductPlan(request.product_plan), - } + ) + + if request.disable_events is not None: + output["disable_events"] = request.disable_events + + if request.enable_device_auto_provisioning is not None: + output[ + "enable_device_auto_provisioning" + ] = request.enable_device_auto_provisioning + + if request.events_topic_prefix is not None: + output["events_topic_prefix"] = request.events_topic_prefix + + if request.name is not None: + output["name"] = request.name + + if request.product_plan is not None: + output["product_plan"] = HubProductPlan(request.product_plan) + + return output def marshal_UpdateRouteRequest( request: UpdateRouteRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - **resolve_one_of( + output: Dict[str, Any] = {} + output.update( + resolve_one_of( [ OneOfPossibility( "s3_config", @@ -1015,6 +1169,12 @@ def marshal_UpdateRouteRequest( ), ] ), - "name": request.name, - "topic": request.topic, - } + ) + + if request.name is not None: + output["name"] = request.name + + if request.topic is not None: + output["topic"] = request.topic + + return output diff --git a/scaleway-async/scaleway_async/k8s/v1/marshalling.py b/scaleway-async/scaleway_async/k8s/v1/marshalling.py index de00c7485..8d535165f 100644 --- a/scaleway-async/scaleway_async/k8s/v1/marshalling.py +++ b/scaleway-async/scaleway_async/k8s/v1/marshalling.py @@ -645,169 +645,305 @@ def marshal_CreateClusterRequestPoolConfigUpgradePolicy( request: CreateClusterRequestPoolConfigUpgradePolicy, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "max_surge": request.max_surge, - "max_unavailable": request.max_unavailable, - } + output: Dict[str, Any] = {} + + if request.max_surge is not None: + output["max_surge"] = request.max_surge + + if request.max_unavailable is not None: + output["max_unavailable"] = request.max_unavailable + + return output def marshal_MaintenanceWindow( request: MaintenanceWindow, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "day": MaintenanceWindowDayOfTheWeek(request.day), - "start_hour": request.start_hour, - } + output: Dict[str, Any] = {} + + if request.day is not None: + output["day"] = MaintenanceWindowDayOfTheWeek(request.day) + + if request.start_hour is not None: + output["start_hour"] = request.start_hour + + return output def marshal_CreateClusterRequestAutoUpgrade( request: CreateClusterRequestAutoUpgrade, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "enable": request.enable, - "maintenance_window": marshal_MaintenanceWindow( + output: Dict[str, Any] = {} + + if request.enable is not None: + output["enable"] = request.enable + + if request.maintenance_window is not None: + output["maintenance_window"] = marshal_MaintenanceWindow( request.maintenance_window, defaults ) - if request.maintenance_window is not None - else None, - } + + return output def marshal_CreateClusterRequestAutoscalerConfig( request: CreateClusterRequestAutoscalerConfig, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "balance_similar_node_groups": request.balance_similar_node_groups, - "estimator": AutoscalerEstimator(request.estimator), - "expander": AutoscalerExpander(request.expander), - "expendable_pods_priority_cutoff": request.expendable_pods_priority_cutoff, - "ignore_daemonsets_utilization": request.ignore_daemonsets_utilization, - "max_graceful_termination_sec": request.max_graceful_termination_sec, - "scale_down_delay_after_add": request.scale_down_delay_after_add, - "scale_down_disabled": request.scale_down_disabled, - "scale_down_unneeded_time": request.scale_down_unneeded_time, - "scale_down_utilization_threshold": request.scale_down_utilization_threshold, - } + output: Dict[str, Any] = {} + + if request.balance_similar_node_groups is not None: + output["balance_similar_node_groups"] = request.balance_similar_node_groups + + if request.estimator is not None: + output["estimator"] = AutoscalerEstimator(request.estimator) + + if request.expander is not None: + output["expander"] = AutoscalerExpander(request.expander) + + if request.expendable_pods_priority_cutoff is not None: + output[ + "expendable_pods_priority_cutoff" + ] = request.expendable_pods_priority_cutoff + + if request.ignore_daemonsets_utilization is not None: + output["ignore_daemonsets_utilization"] = request.ignore_daemonsets_utilization + + if request.max_graceful_termination_sec is not None: + output["max_graceful_termination_sec"] = request.max_graceful_termination_sec + + if request.scale_down_delay_after_add is not None: + output["scale_down_delay_after_add"] = request.scale_down_delay_after_add + + if request.scale_down_disabled is not None: + output["scale_down_disabled"] = request.scale_down_disabled + + if request.scale_down_unneeded_time is not None: + output["scale_down_unneeded_time"] = request.scale_down_unneeded_time + + if request.scale_down_utilization_threshold is not None: + output[ + "scale_down_utilization_threshold" + ] = request.scale_down_utilization_threshold + + return output def marshal_CreateClusterRequestOpenIDConnectConfig( request: CreateClusterRequestOpenIDConnectConfig, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "client_id": request.client_id, - "groups_claim": request.groups_claim, - "groups_prefix": request.groups_prefix, - "issuer_url": request.issuer_url, - "required_claim": request.required_claim, - "username_claim": request.username_claim, - "username_prefix": request.username_prefix, - } + output: Dict[str, Any] = {} + + if request.client_id is not None: + output["client_id"] = request.client_id + + if request.groups_claim is not None: + output["groups_claim"] = request.groups_claim + + if request.groups_prefix is not None: + output["groups_prefix"] = request.groups_prefix + + if request.issuer_url is not None: + output["issuer_url"] = request.issuer_url + + if request.required_claim is not None: + output["required_claim"] = request.required_claim + + if request.username_claim is not None: + output["username_claim"] = request.username_claim + + if request.username_prefix is not None: + output["username_prefix"] = request.username_prefix + + return output def marshal_CreateClusterRequestPoolConfig( request: CreateClusterRequestPoolConfig, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "autohealing": request.autohealing, - "autoscaling": request.autoscaling, - "container_runtime": Runtime(request.container_runtime), - "kubelet_args": request.kubelet_args, - "max_size": request.max_size, - "min_size": request.min_size, - "name": request.name, - "node_type": request.node_type, - "placement_group_id": request.placement_group_id, - "root_volume_size": request.root_volume_size, - "root_volume_type": PoolVolumeType(request.root_volume_type), - "size": request.size, - "tags": request.tags, - "upgrade_policy": marshal_CreateClusterRequestPoolConfigUpgradePolicy( + output: Dict[str, Any] = {} + + if request.autohealing is not None: + output["autohealing"] = request.autohealing + + if request.autoscaling is not None: + output["autoscaling"] = request.autoscaling + + if request.container_runtime is not None: + output["container_runtime"] = Runtime(request.container_runtime) + + if request.kubelet_args is not None: + output["kubelet_args"] = request.kubelet_args + + if request.max_size is not None: + output["max_size"] = request.max_size + + if request.min_size is not None: + output["min_size"] = request.min_size + + if request.name is not None: + output["name"] = request.name + + if request.node_type is not None: + output["node_type"] = request.node_type + + if request.placement_group_id is not None: + output["placement_group_id"] = request.placement_group_id + + if request.root_volume_size is not None: + output["root_volume_size"] = request.root_volume_size + + if request.root_volume_type is not None: + output["root_volume_type"] = PoolVolumeType(request.root_volume_type) + + if request.size is not None: + output["size"] = request.size + + if request.tags is not None: + output["tags"] = request.tags + + if request.upgrade_policy is not None: + output["upgrade_policy"] = marshal_CreateClusterRequestPoolConfigUpgradePolicy( request.upgrade_policy, defaults ) - if request.upgrade_policy is not None - else None, - "zone": request.zone, - } + + if request.zone is not None: + output["zone"] = request.zone + + return output def marshal_CreatePoolRequestUpgradePolicy( request: CreatePoolRequestUpgradePolicy, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "max_surge": request.max_surge, - "max_unavailable": request.max_unavailable, - } + output: Dict[str, Any] = {} + + if request.max_surge is not None: + output["max_surge"] = request.max_surge + + if request.max_unavailable is not None: + output["max_unavailable"] = request.max_unavailable + + return output def marshal_UpdateClusterRequestAutoUpgrade( request: UpdateClusterRequestAutoUpgrade, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "enable": request.enable, - "maintenance_window": marshal_MaintenanceWindow( + output: Dict[str, Any] = {} + + if request.enable is not None: + output["enable"] = request.enable + + if request.maintenance_window is not None: + output["maintenance_window"] = marshal_MaintenanceWindow( request.maintenance_window, defaults ) - if request.maintenance_window is not None - else None, - } + + return output def marshal_UpdateClusterRequestAutoscalerConfig( request: UpdateClusterRequestAutoscalerConfig, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "balance_similar_node_groups": request.balance_similar_node_groups, - "estimator": AutoscalerEstimator(request.estimator), - "expander": AutoscalerExpander(request.expander), - "expendable_pods_priority_cutoff": request.expendable_pods_priority_cutoff, - "ignore_daemonsets_utilization": request.ignore_daemonsets_utilization, - "max_graceful_termination_sec": request.max_graceful_termination_sec, - "scale_down_delay_after_add": request.scale_down_delay_after_add, - "scale_down_disabled": request.scale_down_disabled, - "scale_down_unneeded_time": request.scale_down_unneeded_time, - "scale_down_utilization_threshold": request.scale_down_utilization_threshold, - } + output: Dict[str, Any] = {} + + if request.balance_similar_node_groups is not None: + output["balance_similar_node_groups"] = request.balance_similar_node_groups + + if request.estimator is not None: + output["estimator"] = AutoscalerEstimator(request.estimator) + + if request.expander is not None: + output["expander"] = AutoscalerExpander(request.expander) + + if request.expendable_pods_priority_cutoff is not None: + output[ + "expendable_pods_priority_cutoff" + ] = request.expendable_pods_priority_cutoff + + if request.ignore_daemonsets_utilization is not None: + output["ignore_daemonsets_utilization"] = request.ignore_daemonsets_utilization + + if request.max_graceful_termination_sec is not None: + output["max_graceful_termination_sec"] = request.max_graceful_termination_sec + + if request.scale_down_delay_after_add is not None: + output["scale_down_delay_after_add"] = request.scale_down_delay_after_add + + if request.scale_down_disabled is not None: + output["scale_down_disabled"] = request.scale_down_disabled + + if request.scale_down_unneeded_time is not None: + output["scale_down_unneeded_time"] = request.scale_down_unneeded_time + + if request.scale_down_utilization_threshold is not None: + output[ + "scale_down_utilization_threshold" + ] = request.scale_down_utilization_threshold + + return output def marshal_UpdateClusterRequestOpenIDConnectConfig( request: UpdateClusterRequestOpenIDConnectConfig, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "client_id": request.client_id, - "groups_claim": request.groups_claim, - "groups_prefix": request.groups_prefix, - "issuer_url": request.issuer_url, - "required_claim": request.required_claim, - "username_claim": request.username_claim, - "username_prefix": request.username_prefix, - } + output: Dict[str, Any] = {} + + if request.client_id is not None: + output["client_id"] = request.client_id + + if request.groups_claim is not None: + output["groups_claim"] = request.groups_claim + + if request.groups_prefix is not None: + output["groups_prefix"] = request.groups_prefix + + if request.issuer_url is not None: + output["issuer_url"] = request.issuer_url + + if request.required_claim is not None: + output["required_claim"] = request.required_claim + + if request.username_claim is not None: + output["username_claim"] = request.username_claim + + if request.username_prefix is not None: + output["username_prefix"] = request.username_prefix + + return output def marshal_UpdatePoolRequestUpgradePolicy( request: UpdatePoolRequestUpgradePolicy, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "max_surge": request.max_surge, - "max_unavailable": request.max_unavailable, - } + output: Dict[str, Any] = {} + + if request.max_surge is not None: + output["max_surge"] = request.max_surge + + if request.max_unavailable is not None: + output["max_unavailable"] = request.max_unavailable + + return output def marshal_CreateClusterRequest( request: CreateClusterRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - **resolve_one_of( + output: Dict[str, Any] = {} + output.update( + resolve_one_of( [ OneOfPossibility( "project_id", @@ -825,151 +961,256 @@ def marshal_CreateClusterRequest( ), ] ), - "admission_plugins": request.admission_plugins, - "apiserver_cert_sans": request.apiserver_cert_sans, - "auto_upgrade": marshal_CreateClusterRequestAutoUpgrade( + ) + + if request.admission_plugins is not None: + output["admission_plugins"] = request.admission_plugins + + if request.apiserver_cert_sans is not None: + output["apiserver_cert_sans"] = request.apiserver_cert_sans + + if request.auto_upgrade is not None: + output["auto_upgrade"] = marshal_CreateClusterRequestAutoUpgrade( request.auto_upgrade, defaults ) - if request.auto_upgrade is not None - else None, - "autoscaler_config": marshal_CreateClusterRequestAutoscalerConfig( + + if request.autoscaler_config is not None: + output["autoscaler_config"] = marshal_CreateClusterRequestAutoscalerConfig( request.autoscaler_config, defaults ) - if request.autoscaler_config is not None - else None, - "cni": CNI(request.cni) if request.cni is not None else None, - "description": request.description, - "enable_dashboard": request.enable_dashboard, - "feature_gates": request.feature_gates, - "ingress": Ingress(request.ingress) if request.ingress is not None else None, - "name": request.name, - "open_id_connect_config": marshal_CreateClusterRequestOpenIDConnectConfig( + + if request.cni is not None: + output["cni"] = CNI(request.cni) + + if request.description is not None: + output["description"] = request.description + + if request.enable_dashboard is not None: + output["enable_dashboard"] = request.enable_dashboard + + if request.feature_gates is not None: + output["feature_gates"] = request.feature_gates + + if request.ingress is not None: + output["ingress"] = Ingress(request.ingress) + + if request.name is not None: + output["name"] = request.name + + if request.open_id_connect_config is not None: + output[ + "open_id_connect_config" + ] = marshal_CreateClusterRequestOpenIDConnectConfig( request.open_id_connect_config, defaults ) - if request.open_id_connect_config is not None - else None, - "pools": [ + + if request.pools is not None: + output["pools"] = [ marshal_CreateClusterRequestPoolConfig(v, defaults) for v in request.pools ] - if request.pools is not None - else None, - "private_network_id": request.private_network_id, - "tags": request.tags, - "type": request.type_, - "version": request.version, - } + + if request.private_network_id is not None: + output["private_network_id"] = request.private_network_id + + if request.tags is not None: + output["tags"] = request.tags + + if request.type_ is not None: + output["type"] = request.type_ + + if request.version is not None: + output["version"] = request.version + + return output def marshal_CreatePoolRequest( request: CreatePoolRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "autohealing": request.autohealing, - "autoscaling": request.autoscaling, - "container_runtime": Runtime(request.container_runtime), - "kubelet_args": request.kubelet_args, - "max_size": request.max_size, - "min_size": request.min_size, - "name": request.name, - "node_type": request.node_type, - "placement_group_id": request.placement_group_id, - "root_volume_size": request.root_volume_size, - "root_volume_type": PoolVolumeType(request.root_volume_type), - "size": request.size, - "tags": request.tags, - "upgrade_policy": marshal_CreatePoolRequestUpgradePolicy( + output: Dict[str, Any] = {} + + if request.autohealing is not None: + output["autohealing"] = request.autohealing + + if request.autoscaling is not None: + output["autoscaling"] = request.autoscaling + + if request.container_runtime is not None: + output["container_runtime"] = Runtime(request.container_runtime) + + if request.kubelet_args is not None: + output["kubelet_args"] = request.kubelet_args + + if request.max_size is not None: + output["max_size"] = request.max_size + + if request.min_size is not None: + output["min_size"] = request.min_size + + if request.name is not None: + output["name"] = request.name + + if request.node_type is not None: + output["node_type"] = request.node_type + + if request.placement_group_id is not None: + output["placement_group_id"] = request.placement_group_id + + if request.root_volume_size is not None: + output["root_volume_size"] = request.root_volume_size + + if request.root_volume_type is not None: + output["root_volume_type"] = PoolVolumeType(request.root_volume_type) + + if request.size is not None: + output["size"] = request.size + + if request.tags is not None: + output["tags"] = request.tags + + if request.upgrade_policy is not None: + output["upgrade_policy"] = marshal_CreatePoolRequestUpgradePolicy( request.upgrade_policy, defaults ) - if request.upgrade_policy is not None - else None, - "zone": request.zone or defaults.default_zone, - } + + if request.zone is not None: + output["zone"] = request.zone or defaults.default_zone + + return output def marshal_MigrateToPrivateNetworkClusterRequest( request: MigrateToPrivateNetworkClusterRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "private_network_id": request.private_network_id, - } + output: Dict[str, Any] = {} + + if request.private_network_id is not None: + output["private_network_id"] = request.private_network_id + + return output def marshal_SetClusterTypeRequest( request: SetClusterTypeRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "type": request.type_, - } + output: Dict[str, Any] = {} + + if request.type_ is not None: + output["type"] = request.type_ + + return output def marshal_UpdateClusterRequest( request: UpdateClusterRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "admission_plugins": request.admission_plugins, - "apiserver_cert_sans": request.apiserver_cert_sans, - "auto_upgrade": marshal_UpdateClusterRequestAutoUpgrade( + output: Dict[str, Any] = {} + + if request.admission_plugins is not None: + output["admission_plugins"] = request.admission_plugins + + if request.apiserver_cert_sans is not None: + output["apiserver_cert_sans"] = request.apiserver_cert_sans + + if request.auto_upgrade is not None: + output["auto_upgrade"] = marshal_UpdateClusterRequestAutoUpgrade( request.auto_upgrade, defaults ) - if request.auto_upgrade is not None - else None, - "autoscaler_config": marshal_UpdateClusterRequestAutoscalerConfig( + + if request.autoscaler_config is not None: + output["autoscaler_config"] = marshal_UpdateClusterRequestAutoscalerConfig( request.autoscaler_config, defaults ) - if request.autoscaler_config is not None - else None, - "description": request.description, - "enable_dashboard": request.enable_dashboard, - "feature_gates": request.feature_gates, - "ingress": Ingress(request.ingress) if request.ingress is not None else None, - "name": request.name, - "open_id_connect_config": marshal_UpdateClusterRequestOpenIDConnectConfig( + + if request.description is not None: + output["description"] = request.description + + if request.enable_dashboard is not None: + output["enable_dashboard"] = request.enable_dashboard + + if request.feature_gates is not None: + output["feature_gates"] = request.feature_gates + + if request.ingress is not None: + output["ingress"] = Ingress(request.ingress) + + if request.name is not None: + output["name"] = request.name + + if request.open_id_connect_config is not None: + output[ + "open_id_connect_config" + ] = marshal_UpdateClusterRequestOpenIDConnectConfig( request.open_id_connect_config, defaults ) - if request.open_id_connect_config is not None - else None, - "tags": request.tags, - } + + if request.tags is not None: + output["tags"] = request.tags + + return output def marshal_UpdatePoolRequest( request: UpdatePoolRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "autohealing": request.autohealing, - "autoscaling": request.autoscaling, - "kubelet_args": request.kubelet_args, - "max_size": request.max_size, - "min_size": request.min_size, - "size": request.size, - "tags": request.tags, - "upgrade_policy": marshal_UpdatePoolRequestUpgradePolicy( + output: Dict[str, Any] = {} + + if request.autohealing is not None: + output["autohealing"] = request.autohealing + + if request.autoscaling is not None: + output["autoscaling"] = request.autoscaling + + if request.kubelet_args is not None: + output["kubelet_args"] = request.kubelet_args + + if request.max_size is not None: + output["max_size"] = request.max_size + + if request.min_size is not None: + output["min_size"] = request.min_size + + if request.size is not None: + output["size"] = request.size + + if request.tags is not None: + output["tags"] = request.tags + + if request.upgrade_policy is not None: + output["upgrade_policy"] = marshal_UpdatePoolRequestUpgradePolicy( request.upgrade_policy, defaults ) - if request.upgrade_policy is not None - else None, - } + + return output def marshal_UpgradeClusterRequest( request: UpgradeClusterRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "upgrade_pools": request.upgrade_pools, - "version": request.version, - } + output: Dict[str, Any] = {} + + if request.upgrade_pools is not None: + output["upgrade_pools"] = request.upgrade_pools + + if request.version is not None: + output["version"] = request.version + + return output def marshal_UpgradePoolRequest( request: UpgradePoolRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "version": request.version, - } + output: Dict[str, Any] = {} + + if request.version is not None: + output["version"] = request.version + + return output diff --git a/scaleway-async/scaleway_async/lb/v1/marshalling.py b/scaleway-async/scaleway_async/lb/v1/marshalling.py index 4802ce64e..b94855922 100644 --- a/scaleway-async/scaleway_async/lb/v1/marshalling.py +++ b/scaleway-async/scaleway_async/lb/v1/marshalling.py @@ -1185,142 +1185,213 @@ def marshal_AclActionRedirect( request: AclActionRedirect, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "code": request.code, - "target": request.target, - "type": AclActionRedirectRedirectType(request.type_), - } + output: Dict[str, Any] = {} + + if request.code is not None: + output["code"] = request.code + + if request.target is not None: + output["target"] = request.target + + if request.type_ is not None: + output["type"] = AclActionRedirectRedirectType(request.type_) + + return output def marshal_AclAction( request: AclAction, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "redirect": marshal_AclActionRedirect(request.redirect, defaults) - if request.redirect is not None - else None, - "type": AclActionType(request.type_), - } + output: Dict[str, Any] = {} + + if request.redirect is not None: + output["redirect"] = marshal_AclActionRedirect(request.redirect, defaults) + + if request.type_ is not None: + output["type"] = AclActionType(request.type_) + + return output def marshal_AclMatch( request: AclMatch, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "http_filter": AclHttpFilter(request.http_filter), - "http_filter_option": request.http_filter_option, - "http_filter_value": request.http_filter_value, - "invert": request.invert, - "ip_subnet": request.ip_subnet, - } + output: Dict[str, Any] = {} + + if request.http_filter is not None: + output["http_filter"] = AclHttpFilter(request.http_filter) + + if request.http_filter_option is not None: + output["http_filter_option"] = request.http_filter_option + + if request.http_filter_value is not None: + output["http_filter_value"] = request.http_filter_value + + if request.invert is not None: + output["invert"] = request.invert + + if request.ip_subnet is not None: + output["ip_subnet"] = request.ip_subnet + + return output def marshal_HealthCheckHttpConfig( request: HealthCheckHttpConfig, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "code": request.code, - "host_header": request.host_header, - "method": request.method, - "uri": request.uri, - } + output: Dict[str, Any] = {} + + if request.code is not None: + output["code"] = request.code + + if request.host_header is not None: + output["host_header"] = request.host_header + + if request.method is not None: + output["method"] = request.method + + if request.uri is not None: + output["uri"] = request.uri + + return output def marshal_HealthCheckHttpsConfig( request: HealthCheckHttpsConfig, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "code": request.code, - "host_header": request.host_header, - "method": request.method, - "sni": request.sni, - "uri": request.uri, - } + output: Dict[str, Any] = {} + + if request.code is not None: + output["code"] = request.code + + if request.host_header is not None: + output["host_header"] = request.host_header + + if request.method is not None: + output["method"] = request.method + + if request.sni is not None: + output["sni"] = request.sni + + if request.uri is not None: + output["uri"] = request.uri + + return output def marshal_HealthCheckLdapConfig( request: HealthCheckLdapConfig, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return {} + output: Dict[str, Any] = {} + + return output def marshal_HealthCheckMysqlConfig( request: HealthCheckMysqlConfig, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "user": request.user, - } + output: Dict[str, Any] = {} + + if request.user is not None: + output["user"] = request.user + + return output def marshal_HealthCheckPgsqlConfig( request: HealthCheckPgsqlConfig, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "user": request.user, - } + output: Dict[str, Any] = {} + + if request.user is not None: + output["user"] = request.user + + return output def marshal_HealthCheckRedisConfig( request: HealthCheckRedisConfig, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return {} + output: Dict[str, Any] = {} + + return output def marshal_HealthCheckTcpConfig( request: HealthCheckTcpConfig, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return {} + output: Dict[str, Any] = {} + + return output def marshal_AclSpec( request: AclSpec, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "action": marshal_AclAction(request.action, defaults), - "description": request.description, - "index": request.index, - "match": marshal_AclMatch(request.match, defaults) - if request.match is not None - else None, - "name": request.name, - } + output: Dict[str, Any] = {} + + if request.action is not None: + output["action"] = marshal_AclAction(request.action, defaults) + + if request.description is not None: + output["description"] = request.description + + if request.index is not None: + output["index"] = request.index + + if request.match is not None: + output["match"] = marshal_AclMatch(request.match, defaults) + + if request.name is not None: + output["name"] = request.name + + return output def marshal_CreateCertificateRequestCustomCertificate( request: CreateCertificateRequestCustomCertificate, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "certificate_chain": request.certificate_chain, - } + output: Dict[str, Any] = {} + + if request.certificate_chain is not None: + output["certificate_chain"] = request.certificate_chain + + return output def marshal_CreateCertificateRequestLetsencryptConfig( request: CreateCertificateRequestLetsencryptConfig, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "common_name": request.common_name, - "subject_alternative_name": request.subject_alternative_name, - } + output: Dict[str, Any] = {} + + if request.common_name is not None: + output["common_name"] = request.common_name + + if request.subject_alternative_name is not None: + output["subject_alternative_name"] = request.subject_alternative_name + + return output def marshal_HealthCheck( request: HealthCheck, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - **resolve_one_of( + output: Dict[str, Any] = {} + output.update( + resolve_one_of( [ OneOfPossibility( "tcp_config", @@ -1366,46 +1437,69 @@ def marshal_HealthCheck( ), ] ), - "check_delay": request.check_delay, - "check_max_retries": request.check_max_retries, - "check_send_proxy": request.check_send_proxy, - "check_timeout": request.check_timeout, - "port": request.port, - "transient_check_delay": request.transient_check_delay, - } + ) + + if request.check_delay is not None: + output["check_delay"] = request.check_delay + + if request.check_max_retries is not None: + output["check_max_retries"] = request.check_max_retries + + if request.check_send_proxy is not None: + output["check_send_proxy"] = request.check_send_proxy + + if request.check_timeout is not None: + output["check_timeout"] = request.check_timeout + + if request.port is not None: + output["port"] = request.port + + if request.transient_check_delay is not None: + output["transient_check_delay"] = request.transient_check_delay + + return output def marshal_PrivateNetworkDHCPConfig( request: PrivateNetworkDHCPConfig, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "ip_id": request.ip_id, - } + output: Dict[str, Any] = {} + + if request.ip_id is not None: + output["ip_id"] = request.ip_id + + return output def marshal_PrivateNetworkIpamConfig( request: PrivateNetworkIpamConfig, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return {} + output: Dict[str, Any] = {} + + return output def marshal_PrivateNetworkStaticConfig( request: PrivateNetworkStaticConfig, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "ip_address": request.ip_address, - } + output: Dict[str, Any] = {} + + if request.ip_address is not None: + output["ip_address"] = request.ip_address + + return output def marshal_RouteMatch( request: RouteMatch, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - **resolve_one_of( + output: Dict[str, Any] = {} + output.update( + resolve_one_of( [ OneOfPossibility( "sni", request.sni if request.sni is not None else None @@ -1416,42 +1510,54 @@ def marshal_RouteMatch( ), ] ), - } + ) + + return output def marshal_SubscriberEmailConfig( request: SubscriberEmailConfig, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "email": request.email, - } + output: Dict[str, Any] = {} + + if request.email is not None: + output["email"] = request.email + + return output def marshal_SubscriberWebhookConfig( request: SubscriberWebhookConfig, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "uri": request.uri, - } + output: Dict[str, Any] = {} + + if request.uri is not None: + output["uri"] = request.uri + + return output def marshal_AddBackendServersRequest( request: AddBackendServersRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "server_ip": request.server_ip, - } + output: Dict[str, Any] = {} + + if request.server_ip is not None: + output["server_ip"] = request.server_ip + + return output def marshal_AttachPrivateNetworkRequest( request: AttachPrivateNetworkRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - **resolve_one_of( + output: Dict[str, Any] = {} + output.update( + resolve_one_of( [ OneOfPossibility( "static_config", @@ -1473,65 +1579,118 @@ def marshal_AttachPrivateNetworkRequest( ), ] ), - } + ) + + return output def marshal_CreateAclRequest( request: CreateAclRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "action": marshal_AclAction(request.action, defaults), - "description": request.description, - "index": request.index, - "match": marshal_AclMatch(request.match, defaults) - if request.match is not None - else None, - "name": request.name, - } + output: Dict[str, Any] = {} + + if request.action is not None: + output["action"] = marshal_AclAction(request.action, defaults) + + if request.description is not None: + output["description"] = request.description + + if request.index is not None: + output["index"] = request.index + + if request.match is not None: + output["match"] = marshal_AclMatch(request.match, defaults) + + if request.name is not None: + output["name"] = request.name + + return output def marshal_CreateBackendRequest( request: CreateBackendRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "failover_host": request.failover_host, - "forward_port": request.forward_port, - "forward_port_algorithm": ForwardPortAlgorithm(request.forward_port_algorithm) - if request.forward_port_algorithm is not None - else None, - "forward_protocol": Protocol(request.forward_protocol) - if request.forward_protocol is not None - else None, - "health_check": marshal_HealthCheck(request.health_check, defaults), - "ignore_ssl_server_verify": request.ignore_ssl_server_verify, - "max_connections": request.max_connections, - "max_retries": request.max_retries, - "name": request.name, - "on_marked_down_action": OnMarkedDownAction(request.on_marked_down_action), - "proxy_protocol": ProxyProtocol(request.proxy_protocol), - "redispatch_attempt_count": request.redispatch_attempt_count, - "send_proxy_v2": request.send_proxy_v2, - "server_ip": request.server_ip, - "ssl_bridging": request.ssl_bridging, - "sticky_sessions": StickySessionsType(request.sticky_sessions) - if request.sticky_sessions is not None - else None, - "sticky_sessions_cookie_name": request.sticky_sessions_cookie_name, - "timeout_connect": request.timeout_connect, - "timeout_queue": request.timeout_queue, - "timeout_server": request.timeout_server, - "timeout_tunnel": request.timeout_tunnel, - } + output: Dict[str, Any] = {} + + if request.failover_host is not None: + output["failover_host"] = request.failover_host + + if request.forward_port is not None: + output["forward_port"] = request.forward_port + + if request.forward_port_algorithm is not None: + output["forward_port_algorithm"] = ForwardPortAlgorithm( + request.forward_port_algorithm + ) + + if request.forward_protocol is not None: + output["forward_protocol"] = Protocol(request.forward_protocol) + + if request.health_check is not None: + output["health_check"] = marshal_HealthCheck(request.health_check, defaults) + + if request.ignore_ssl_server_verify is not None: + output["ignore_ssl_server_verify"] = request.ignore_ssl_server_verify + + if request.max_connections is not None: + output["max_connections"] = request.max_connections + + if request.max_retries is not None: + output["max_retries"] = request.max_retries + + if request.name is not None: + output["name"] = request.name + + if request.on_marked_down_action is not None: + output["on_marked_down_action"] = OnMarkedDownAction( + request.on_marked_down_action + ) + + if request.proxy_protocol is not None: + output["proxy_protocol"] = ProxyProtocol(request.proxy_protocol) + + if request.redispatch_attempt_count is not None: + output["redispatch_attempt_count"] = request.redispatch_attempt_count + + if request.send_proxy_v2 is not None: + output["send_proxy_v2"] = request.send_proxy_v2 + + if request.server_ip is not None: + output["server_ip"] = request.server_ip + + if request.ssl_bridging is not None: + output["ssl_bridging"] = request.ssl_bridging + + if request.sticky_sessions is not None: + output["sticky_sessions"] = StickySessionsType(request.sticky_sessions) + + if request.sticky_sessions_cookie_name is not None: + output["sticky_sessions_cookie_name"] = request.sticky_sessions_cookie_name + + if request.timeout_connect is not None: + output["timeout_connect"] = request.timeout_connect + + if request.timeout_queue is not None: + output["timeout_queue"] = request.timeout_queue + + if request.timeout_server is not None: + output["timeout_server"] = request.timeout_server + + if request.timeout_tunnel is not None: + output["timeout_tunnel"] = request.timeout_tunnel + + return output def marshal_CreateCertificateRequest( request: CreateCertificateRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - **resolve_one_of( + output: Dict[str, Any] = {} + output.update( + resolve_one_of( [ OneOfPossibility( "letsencrypt", @@ -1551,31 +1710,51 @@ def marshal_CreateCertificateRequest( ), ] ), - "name": request.name, - } + ) + + if request.name is not None: + output["name"] = request.name + + return output def marshal_CreateFrontendRequest( request: CreateFrontendRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "backend_id": request.backend_id, - "certificate_id": request.certificate_id, - "certificate_ids": request.certificate_ids, - "enable_http3": request.enable_http3, - "inbound_port": request.inbound_port, - "name": request.name, - "timeout_client": request.timeout_client, - } + output: Dict[str, Any] = {} + + if request.backend_id is not None: + output["backend_id"] = request.backend_id + + if request.certificate_id is not None: + output["certificate_id"] = request.certificate_id + + if request.certificate_ids is not None: + output["certificate_ids"] = request.certificate_ids + + if request.enable_http3 is not None: + output["enable_http3"] = request.enable_http3 + + if request.inbound_port is not None: + output["inbound_port"] = request.inbound_port + + if request.name is not None: + output["name"] = request.name + + if request.timeout_client is not None: + output["timeout_client"] = request.timeout_client + + return output def marshal_CreateIpRequest( request: CreateIpRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - **resolve_one_of( + output: Dict[str, Any] = {} + output.update( + resolve_one_of( [ OneOfPossibility( "project_id", @@ -1593,16 +1772,21 @@ def marshal_CreateIpRequest( ), ] ), - "reverse": request.reverse, - } + ) + + if request.reverse is not None: + output["reverse"] = request.reverse + + return output def marshal_CreateLbRequest( request: CreateLbRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - **resolve_one_of( + output: Dict[str, Any] = {} + output.update( + resolve_one_of( [ OneOfPossibility( "project_id", @@ -1620,37 +1804,59 @@ def marshal_CreateLbRequest( ), ] ), - "assign_flexible_ip": request.assign_flexible_ip, - "description": request.description, - "ip_id": request.ip_id, - "name": request.name, - "ssl_compatibility_level": SSLCompatibilityLevel( + ) + + if request.assign_flexible_ip is not None: + output["assign_flexible_ip"] = request.assign_flexible_ip + + if request.description is not None: + output["description"] = request.description + + if request.ip_id is not None: + output["ip_id"] = request.ip_id + + if request.name is not None: + output["name"] = request.name + + if request.ssl_compatibility_level is not None: + output["ssl_compatibility_level"] = SSLCompatibilityLevel( request.ssl_compatibility_level - ), - "tags": request.tags, - "type": request.type_, - } + ) + + if request.tags is not None: + output["tags"] = request.tags + + if request.type_ is not None: + output["type"] = request.type_ + + return output def marshal_CreateRouteRequest( request: CreateRouteRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "backend_id": request.backend_id, - "frontend_id": request.frontend_id, - "match": marshal_RouteMatch(request.match, defaults) - if request.match is not None - else None, - } + output: Dict[str, Any] = {} + + if request.backend_id is not None: + output["backend_id"] = request.backend_id + + if request.frontend_id is not None: + output["frontend_id"] = request.frontend_id + + if request.match is not None: + output["match"] = marshal_RouteMatch(request.match, defaults) + + return output def marshal_CreateSubscriberRequest( request: CreateSubscriberRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - **resolve_one_of( + output: Dict[str, Any] = {} + output.update( + resolve_one_of( [ OneOfPossibility( "project_id", @@ -1668,7 +1874,9 @@ def marshal_CreateSubscriberRequest( ), ] ), - **resolve_one_of( + ) + output.update( + resolve_one_of( [ OneOfPossibility( "email_config", @@ -1684,124 +1892,205 @@ def marshal_CreateSubscriberRequest( ), ] ), - "name": request.name, - } + ) + + if request.name is not None: + output["name"] = request.name + + return output def marshal_MigrateLbRequest( request: MigrateLbRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "type": request.type_, - } + output: Dict[str, Any] = {} + + if request.type_ is not None: + output["type"] = request.type_ + + return output def marshal_RemoveBackendServersRequest( request: RemoveBackendServersRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "server_ip": request.server_ip, - } + output: Dict[str, Any] = {} + + if request.server_ip is not None: + output["server_ip"] = request.server_ip + + return output def marshal_SetBackendServersRequest( request: SetBackendServersRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "server_ip": request.server_ip, - } + output: Dict[str, Any] = {} + + if request.server_ip is not None: + output["server_ip"] = request.server_ip + + return output def marshal_SubscribeToLbRequest( request: SubscribeToLbRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "subscriber_id": request.subscriber_id, - } + output: Dict[str, Any] = {} + + if request.subscriber_id is not None: + output["subscriber_id"] = request.subscriber_id + + return output def marshal_UpdateAclRequest( request: UpdateAclRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "action": marshal_AclAction(request.action, defaults), - "description": request.description, - "index": request.index, - "match": marshal_AclMatch(request.match, defaults) - if request.match is not None - else None, - "name": request.name, - } + output: Dict[str, Any] = {} + + if request.action is not None: + output["action"] = marshal_AclAction(request.action, defaults) + + if request.description is not None: + output["description"] = request.description + + if request.index is not None: + output["index"] = request.index + + if request.match is not None: + output["match"] = marshal_AclMatch(request.match, defaults) + + if request.name is not None: + output["name"] = request.name + + return output def marshal_UpdateBackendRequest( request: UpdateBackendRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "failover_host": request.failover_host, - "forward_port": request.forward_port, - "forward_port_algorithm": ForwardPortAlgorithm(request.forward_port_algorithm) - if request.forward_port_algorithm is not None - else None, - "forward_protocol": Protocol(request.forward_protocol) - if request.forward_protocol is not None - else None, - "ignore_ssl_server_verify": request.ignore_ssl_server_verify, - "max_connections": request.max_connections, - "max_retries": request.max_retries, - "name": request.name, - "on_marked_down_action": OnMarkedDownAction(request.on_marked_down_action), - "proxy_protocol": ProxyProtocol(request.proxy_protocol), - "redispatch_attempt_count": request.redispatch_attempt_count, - "send_proxy_v2": request.send_proxy_v2, - "ssl_bridging": request.ssl_bridging, - "sticky_sessions": StickySessionsType(request.sticky_sessions) - if request.sticky_sessions is not None - else None, - "sticky_sessions_cookie_name": request.sticky_sessions_cookie_name, - "timeout_connect": request.timeout_connect, - "timeout_queue": request.timeout_queue, - "timeout_server": request.timeout_server, - "timeout_tunnel": request.timeout_tunnel, - } + output: Dict[str, Any] = {} + + if request.failover_host is not None: + output["failover_host"] = request.failover_host + + if request.forward_port is not None: + output["forward_port"] = request.forward_port + + if request.forward_port_algorithm is not None: + output["forward_port_algorithm"] = ForwardPortAlgorithm( + request.forward_port_algorithm + ) + + if request.forward_protocol is not None: + output["forward_protocol"] = Protocol(request.forward_protocol) + + if request.ignore_ssl_server_verify is not None: + output["ignore_ssl_server_verify"] = request.ignore_ssl_server_verify + + if request.max_connections is not None: + output["max_connections"] = request.max_connections + + if request.max_retries is not None: + output["max_retries"] = request.max_retries + + if request.name is not None: + output["name"] = request.name + + if request.on_marked_down_action is not None: + output["on_marked_down_action"] = OnMarkedDownAction( + request.on_marked_down_action + ) + + if request.proxy_protocol is not None: + output["proxy_protocol"] = ProxyProtocol(request.proxy_protocol) + + if request.redispatch_attempt_count is not None: + output["redispatch_attempt_count"] = request.redispatch_attempt_count + + if request.send_proxy_v2 is not None: + output["send_proxy_v2"] = request.send_proxy_v2 + + if request.ssl_bridging is not None: + output["ssl_bridging"] = request.ssl_bridging + + if request.sticky_sessions is not None: + output["sticky_sessions"] = StickySessionsType(request.sticky_sessions) + + if request.sticky_sessions_cookie_name is not None: + output["sticky_sessions_cookie_name"] = request.sticky_sessions_cookie_name + + if request.timeout_connect is not None: + output["timeout_connect"] = request.timeout_connect + + if request.timeout_queue is not None: + output["timeout_queue"] = request.timeout_queue + + if request.timeout_server is not None: + output["timeout_server"] = request.timeout_server + + if request.timeout_tunnel is not None: + output["timeout_tunnel"] = request.timeout_tunnel + + return output def marshal_UpdateCertificateRequest( request: UpdateCertificateRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "name": request.name, - } + output: Dict[str, Any] = {} + + if request.name is not None: + output["name"] = request.name + + return output def marshal_UpdateFrontendRequest( request: UpdateFrontendRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "backend_id": request.backend_id, - "certificate_id": request.certificate_id, - "certificate_ids": request.certificate_ids, - "enable_http3": request.enable_http3, - "inbound_port": request.inbound_port, - "name": request.name, - "timeout_client": request.timeout_client, - } + output: Dict[str, Any] = {} + + if request.backend_id is not None: + output["backend_id"] = request.backend_id + + if request.certificate_id is not None: + output["certificate_id"] = request.certificate_id + + if request.certificate_ids is not None: + output["certificate_ids"] = request.certificate_ids + + if request.enable_http3 is not None: + output["enable_http3"] = request.enable_http3 + + if request.inbound_port is not None: + output["inbound_port"] = request.inbound_port + + if request.name is not None: + output["name"] = request.name + + if request.timeout_client is not None: + output["timeout_client"] = request.timeout_client + + return output def marshal_UpdateHealthCheckRequest( request: UpdateHealthCheckRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - **resolve_one_of( + output: Dict[str, Any] = {} + output.update( + resolve_one_of( [ OneOfPossibility( "tcp_config", @@ -1847,56 +2136,86 @@ def marshal_UpdateHealthCheckRequest( ), ] ), - "check_delay": request.check_delay, - "check_max_retries": request.check_max_retries, - "check_send_proxy": request.check_send_proxy, - "check_timeout": request.check_timeout, - "port": request.port, - "transient_check_delay": request.transient_check_delay, - } + ) + + if request.check_delay is not None: + output["check_delay"] = request.check_delay + + if request.check_max_retries is not None: + output["check_max_retries"] = request.check_max_retries + + if request.check_send_proxy is not None: + output["check_send_proxy"] = request.check_send_proxy + + if request.check_timeout is not None: + output["check_timeout"] = request.check_timeout + + if request.port is not None: + output["port"] = request.port + + if request.transient_check_delay is not None: + output["transient_check_delay"] = request.transient_check_delay + + return output def marshal_UpdateIpRequest( request: UpdateIpRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "reverse": request.reverse, - } + output: Dict[str, Any] = {} + + if request.reverse is not None: + output["reverse"] = request.reverse + + return output def marshal_UpdateLbRequest( request: UpdateLbRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "description": request.description, - "name": request.name, - "ssl_compatibility_level": SSLCompatibilityLevel( + output: Dict[str, Any] = {} + + if request.description is not None: + output["description"] = request.description + + if request.name is not None: + output["name"] = request.name + + if request.ssl_compatibility_level is not None: + output["ssl_compatibility_level"] = SSLCompatibilityLevel( request.ssl_compatibility_level - ), - "tags": request.tags, - } + ) + + if request.tags is not None: + output["tags"] = request.tags + + return output def marshal_UpdateRouteRequest( request: UpdateRouteRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "backend_id": request.backend_id, - "match": marshal_RouteMatch(request.match, defaults) - if request.match is not None - else None, - } + output: Dict[str, Any] = {} + + if request.backend_id is not None: + output["backend_id"] = request.backend_id + + if request.match is not None: + output["match"] = marshal_RouteMatch(request.match, defaults) + + return output def marshal_UpdateSubscriberRequest( request: UpdateSubscriberRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - **resolve_one_of( + output: Dict[str, Any] = {} + output.update( + resolve_one_of( [ OneOfPossibility( "email_config", @@ -1912,25 +2231,33 @@ def marshal_UpdateSubscriberRequest( ), ] ), - "name": request.name, - } + ) + + if request.name is not None: + output["name"] = request.name + + return output def marshal_ZonedApiAddBackendServersRequest( request: ZonedApiAddBackendServersRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "server_ip": request.server_ip, - } + output: Dict[str, Any] = {} + + if request.server_ip is not None: + output["server_ip"] = request.server_ip + + return output def marshal_ZonedApiAttachPrivateNetworkRequest( request: ZonedApiAttachPrivateNetworkRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - **resolve_one_of( + output: Dict[str, Any] = {} + output.update( + resolve_one_of( [ OneOfPossibility( "static_config", @@ -1952,65 +2279,118 @@ def marshal_ZonedApiAttachPrivateNetworkRequest( ), ] ), - } + ) + + return output def marshal_ZonedApiCreateAclRequest( request: ZonedApiCreateAclRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "action": marshal_AclAction(request.action, defaults), - "description": request.description, - "index": request.index, - "match": marshal_AclMatch(request.match, defaults) - if request.match is not None - else None, - "name": request.name, - } + output: Dict[str, Any] = {} + + if request.action is not None: + output["action"] = marshal_AclAction(request.action, defaults) + + if request.description is not None: + output["description"] = request.description + + if request.index is not None: + output["index"] = request.index + + if request.match is not None: + output["match"] = marshal_AclMatch(request.match, defaults) + + if request.name is not None: + output["name"] = request.name + + return output def marshal_ZonedApiCreateBackendRequest( request: ZonedApiCreateBackendRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "failover_host": request.failover_host, - "forward_port": request.forward_port, - "forward_port_algorithm": ForwardPortAlgorithm(request.forward_port_algorithm) - if request.forward_port_algorithm is not None - else None, - "forward_protocol": Protocol(request.forward_protocol) - if request.forward_protocol is not None - else None, - "health_check": marshal_HealthCheck(request.health_check, defaults), - "ignore_ssl_server_verify": request.ignore_ssl_server_verify, - "max_connections": request.max_connections, - "max_retries": request.max_retries, - "name": request.name, - "on_marked_down_action": OnMarkedDownAction(request.on_marked_down_action), - "proxy_protocol": ProxyProtocol(request.proxy_protocol), - "redispatch_attempt_count": request.redispatch_attempt_count, - "send_proxy_v2": request.send_proxy_v2, - "server_ip": request.server_ip, - "ssl_bridging": request.ssl_bridging, - "sticky_sessions": StickySessionsType(request.sticky_sessions) - if request.sticky_sessions is not None - else None, - "sticky_sessions_cookie_name": request.sticky_sessions_cookie_name, - "timeout_connect": request.timeout_connect, - "timeout_queue": request.timeout_queue, - "timeout_server": request.timeout_server, - "timeout_tunnel": request.timeout_tunnel, - } + output: Dict[str, Any] = {} + + if request.failover_host is not None: + output["failover_host"] = request.failover_host + + if request.forward_port is not None: + output["forward_port"] = request.forward_port + + if request.forward_port_algorithm is not None: + output["forward_port_algorithm"] = ForwardPortAlgorithm( + request.forward_port_algorithm + ) + + if request.forward_protocol is not None: + output["forward_protocol"] = Protocol(request.forward_protocol) + + if request.health_check is not None: + output["health_check"] = marshal_HealthCheck(request.health_check, defaults) + + if request.ignore_ssl_server_verify is not None: + output["ignore_ssl_server_verify"] = request.ignore_ssl_server_verify + + if request.max_connections is not None: + output["max_connections"] = request.max_connections + + if request.max_retries is not None: + output["max_retries"] = request.max_retries + + if request.name is not None: + output["name"] = request.name + + if request.on_marked_down_action is not None: + output["on_marked_down_action"] = OnMarkedDownAction( + request.on_marked_down_action + ) + + if request.proxy_protocol is not None: + output["proxy_protocol"] = ProxyProtocol(request.proxy_protocol) + + if request.redispatch_attempt_count is not None: + output["redispatch_attempt_count"] = request.redispatch_attempt_count + + if request.send_proxy_v2 is not None: + output["send_proxy_v2"] = request.send_proxy_v2 + + if request.server_ip is not None: + output["server_ip"] = request.server_ip + + if request.ssl_bridging is not None: + output["ssl_bridging"] = request.ssl_bridging + + if request.sticky_sessions is not None: + output["sticky_sessions"] = StickySessionsType(request.sticky_sessions) + + if request.sticky_sessions_cookie_name is not None: + output["sticky_sessions_cookie_name"] = request.sticky_sessions_cookie_name + + if request.timeout_connect is not None: + output["timeout_connect"] = request.timeout_connect + + if request.timeout_queue is not None: + output["timeout_queue"] = request.timeout_queue + + if request.timeout_server is not None: + output["timeout_server"] = request.timeout_server + + if request.timeout_tunnel is not None: + output["timeout_tunnel"] = request.timeout_tunnel + + return output def marshal_ZonedApiCreateCertificateRequest( request: ZonedApiCreateCertificateRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - **resolve_one_of( + output: Dict[str, Any] = {} + output.update( + resolve_one_of( [ OneOfPossibility( "letsencrypt", @@ -2030,31 +2410,51 @@ def marshal_ZonedApiCreateCertificateRequest( ), ] ), - "name": request.name, - } + ) + + if request.name is not None: + output["name"] = request.name + + return output def marshal_ZonedApiCreateFrontendRequest( request: ZonedApiCreateFrontendRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "backend_id": request.backend_id, - "certificate_id": request.certificate_id, - "certificate_ids": request.certificate_ids, - "enable_http3": request.enable_http3, - "inbound_port": request.inbound_port, - "name": request.name, - "timeout_client": request.timeout_client, - } + output: Dict[str, Any] = {} + + if request.backend_id is not None: + output["backend_id"] = request.backend_id + + if request.certificate_id is not None: + output["certificate_id"] = request.certificate_id + + if request.certificate_ids is not None: + output["certificate_ids"] = request.certificate_ids + + if request.enable_http3 is not None: + output["enable_http3"] = request.enable_http3 + + if request.inbound_port is not None: + output["inbound_port"] = request.inbound_port + + if request.name is not None: + output["name"] = request.name + + if request.timeout_client is not None: + output["timeout_client"] = request.timeout_client + + return output def marshal_ZonedApiCreateIpRequest( request: ZonedApiCreateIpRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - **resolve_one_of( + output: Dict[str, Any] = {} + output.update( + resolve_one_of( [ OneOfPossibility( "project_id", @@ -2072,16 +2472,21 @@ def marshal_ZonedApiCreateIpRequest( ), ] ), - "reverse": request.reverse, - } + ) + + if request.reverse is not None: + output["reverse"] = request.reverse + + return output def marshal_ZonedApiCreateLbRequest( request: ZonedApiCreateLbRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - **resolve_one_of( + output: Dict[str, Any] = {} + output.update( + resolve_one_of( [ OneOfPossibility( "project_id", @@ -2099,37 +2504,59 @@ def marshal_ZonedApiCreateLbRequest( ), ] ), - "assign_flexible_ip": request.assign_flexible_ip, - "description": request.description, - "ip_id": request.ip_id, - "name": request.name, - "ssl_compatibility_level": SSLCompatibilityLevel( + ) + + if request.assign_flexible_ip is not None: + output["assign_flexible_ip"] = request.assign_flexible_ip + + if request.description is not None: + output["description"] = request.description + + if request.ip_id is not None: + output["ip_id"] = request.ip_id + + if request.name is not None: + output["name"] = request.name + + if request.ssl_compatibility_level is not None: + output["ssl_compatibility_level"] = SSLCompatibilityLevel( request.ssl_compatibility_level - ), - "tags": request.tags, - "type": request.type_, - } + ) + + if request.tags is not None: + output["tags"] = request.tags + + if request.type_ is not None: + output["type"] = request.type_ + + return output def marshal_ZonedApiCreateRouteRequest( request: ZonedApiCreateRouteRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "backend_id": request.backend_id, - "frontend_id": request.frontend_id, - "match": marshal_RouteMatch(request.match, defaults) - if request.match is not None - else None, - } + output: Dict[str, Any] = {} + + if request.backend_id is not None: + output["backend_id"] = request.backend_id + + if request.frontend_id is not None: + output["frontend_id"] = request.frontend_id + + if request.match is not None: + output["match"] = marshal_RouteMatch(request.match, defaults) + + return output def marshal_ZonedApiCreateSubscriberRequest( request: ZonedApiCreateSubscriberRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - **resolve_one_of( + output: Dict[str, Any] = {} + output.update( + resolve_one_of( [ OneOfPossibility( "project_id", @@ -2147,7 +2574,9 @@ def marshal_ZonedApiCreateSubscriberRequest( ), ] ), - **resolve_one_of( + ) + output.update( + resolve_one_of( [ OneOfPossibility( "email_config", @@ -2163,133 +2592,217 @@ def marshal_ZonedApiCreateSubscriberRequest( ), ] ), - "name": request.name, - } + ) + + if request.name is not None: + output["name"] = request.name + + return output def marshal_ZonedApiMigrateLbRequest( request: ZonedApiMigrateLbRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "type": request.type_, - } + output: Dict[str, Any] = {} + + if request.type_ is not None: + output["type"] = request.type_ + + return output def marshal_ZonedApiRemoveBackendServersRequest( request: ZonedApiRemoveBackendServersRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "server_ip": request.server_ip, - } + output: Dict[str, Any] = {} + + if request.server_ip is not None: + output["server_ip"] = request.server_ip + + return output def marshal_ZonedApiSetAclsRequest( request: ZonedApiSetAclsRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "acls": [marshal_AclSpec(v, defaults) for v in request.acls], - } + output: Dict[str, Any] = {} + + if request.acls is not None: + output["acls"] = [marshal_AclSpec(v, defaults) for v in request.acls] + + return output def marshal_ZonedApiSetBackendServersRequest( request: ZonedApiSetBackendServersRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "server_ip": request.server_ip, - } + output: Dict[str, Any] = {} + + if request.server_ip is not None: + output["server_ip"] = request.server_ip + + return output def marshal_ZonedApiSubscribeToLbRequest( request: ZonedApiSubscribeToLbRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "subscriber_id": request.subscriber_id, - } + output: Dict[str, Any] = {} + + if request.subscriber_id is not None: + output["subscriber_id"] = request.subscriber_id + + return output def marshal_ZonedApiUpdateAclRequest( request: ZonedApiUpdateAclRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "action": marshal_AclAction(request.action, defaults), - "description": request.description, - "index": request.index, - "match": marshal_AclMatch(request.match, defaults) - if request.match is not None - else None, - "name": request.name, - } + output: Dict[str, Any] = {} + + if request.action is not None: + output["action"] = marshal_AclAction(request.action, defaults) + + if request.description is not None: + output["description"] = request.description + + if request.index is not None: + output["index"] = request.index + + if request.match is not None: + output["match"] = marshal_AclMatch(request.match, defaults) + + if request.name is not None: + output["name"] = request.name + + return output def marshal_ZonedApiUpdateBackendRequest( request: ZonedApiUpdateBackendRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "failover_host": request.failover_host, - "forward_port": request.forward_port, - "forward_port_algorithm": ForwardPortAlgorithm(request.forward_port_algorithm) - if request.forward_port_algorithm is not None - else None, - "forward_protocol": Protocol(request.forward_protocol) - if request.forward_protocol is not None - else None, - "ignore_ssl_server_verify": request.ignore_ssl_server_verify, - "max_connections": request.max_connections, - "max_retries": request.max_retries, - "name": request.name, - "on_marked_down_action": OnMarkedDownAction(request.on_marked_down_action), - "proxy_protocol": ProxyProtocol(request.proxy_protocol), - "redispatch_attempt_count": request.redispatch_attempt_count, - "send_proxy_v2": request.send_proxy_v2, - "ssl_bridging": request.ssl_bridging, - "sticky_sessions": StickySessionsType(request.sticky_sessions) - if request.sticky_sessions is not None - else None, - "sticky_sessions_cookie_name": request.sticky_sessions_cookie_name, - "timeout_connect": request.timeout_connect, - "timeout_queue": request.timeout_queue, - "timeout_server": request.timeout_server, - "timeout_tunnel": request.timeout_tunnel, - } + output: Dict[str, Any] = {} + + if request.failover_host is not None: + output["failover_host"] = request.failover_host + + if request.forward_port is not None: + output["forward_port"] = request.forward_port + + if request.forward_port_algorithm is not None: + output["forward_port_algorithm"] = ForwardPortAlgorithm( + request.forward_port_algorithm + ) + + if request.forward_protocol is not None: + output["forward_protocol"] = Protocol(request.forward_protocol) + + if request.ignore_ssl_server_verify is not None: + output["ignore_ssl_server_verify"] = request.ignore_ssl_server_verify + + if request.max_connections is not None: + output["max_connections"] = request.max_connections + + if request.max_retries is not None: + output["max_retries"] = request.max_retries + + if request.name is not None: + output["name"] = request.name + + if request.on_marked_down_action is not None: + output["on_marked_down_action"] = OnMarkedDownAction( + request.on_marked_down_action + ) + + if request.proxy_protocol is not None: + output["proxy_protocol"] = ProxyProtocol(request.proxy_protocol) + + if request.redispatch_attempt_count is not None: + output["redispatch_attempt_count"] = request.redispatch_attempt_count + + if request.send_proxy_v2 is not None: + output["send_proxy_v2"] = request.send_proxy_v2 + + if request.ssl_bridging is not None: + output["ssl_bridging"] = request.ssl_bridging + + if request.sticky_sessions is not None: + output["sticky_sessions"] = StickySessionsType(request.sticky_sessions) + + if request.sticky_sessions_cookie_name is not None: + output["sticky_sessions_cookie_name"] = request.sticky_sessions_cookie_name + + if request.timeout_connect is not None: + output["timeout_connect"] = request.timeout_connect + + if request.timeout_queue is not None: + output["timeout_queue"] = request.timeout_queue + + if request.timeout_server is not None: + output["timeout_server"] = request.timeout_server + + if request.timeout_tunnel is not None: + output["timeout_tunnel"] = request.timeout_tunnel + + return output def marshal_ZonedApiUpdateCertificateRequest( request: ZonedApiUpdateCertificateRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "name": request.name, - } + output: Dict[str, Any] = {} + + if request.name is not None: + output["name"] = request.name + + return output def marshal_ZonedApiUpdateFrontendRequest( request: ZonedApiUpdateFrontendRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "backend_id": request.backend_id, - "certificate_id": request.certificate_id, - "certificate_ids": request.certificate_ids, - "enable_http3": request.enable_http3, - "inbound_port": request.inbound_port, - "name": request.name, - "timeout_client": request.timeout_client, - } + output: Dict[str, Any] = {} + + if request.backend_id is not None: + output["backend_id"] = request.backend_id + + if request.certificate_id is not None: + output["certificate_id"] = request.certificate_id + + if request.certificate_ids is not None: + output["certificate_ids"] = request.certificate_ids + + if request.enable_http3 is not None: + output["enable_http3"] = request.enable_http3 + + if request.inbound_port is not None: + output["inbound_port"] = request.inbound_port + + if request.name is not None: + output["name"] = request.name + + if request.timeout_client is not None: + output["timeout_client"] = request.timeout_client + + return output def marshal_ZonedApiUpdateHealthCheckRequest( request: ZonedApiUpdateHealthCheckRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - **resolve_one_of( + output: Dict[str, Any] = {} + output.update( + resolve_one_of( [ OneOfPossibility( "tcp_config", @@ -2335,56 +2848,86 @@ def marshal_ZonedApiUpdateHealthCheckRequest( ), ] ), - "check_delay": request.check_delay, - "check_max_retries": request.check_max_retries, - "check_send_proxy": request.check_send_proxy, - "check_timeout": request.check_timeout, - "port": request.port, - "transient_check_delay": request.transient_check_delay, - } + ) + + if request.check_delay is not None: + output["check_delay"] = request.check_delay + + if request.check_max_retries is not None: + output["check_max_retries"] = request.check_max_retries + + if request.check_send_proxy is not None: + output["check_send_proxy"] = request.check_send_proxy + + if request.check_timeout is not None: + output["check_timeout"] = request.check_timeout + + if request.port is not None: + output["port"] = request.port + + if request.transient_check_delay is not None: + output["transient_check_delay"] = request.transient_check_delay + + return output def marshal_ZonedApiUpdateIpRequest( request: ZonedApiUpdateIpRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "reverse": request.reverse, - } + output: Dict[str, Any] = {} + + if request.reverse is not None: + output["reverse"] = request.reverse + + return output def marshal_ZonedApiUpdateLbRequest( request: ZonedApiUpdateLbRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "description": request.description, - "name": request.name, - "ssl_compatibility_level": SSLCompatibilityLevel( + output: Dict[str, Any] = {} + + if request.description is not None: + output["description"] = request.description + + if request.name is not None: + output["name"] = request.name + + if request.ssl_compatibility_level is not None: + output["ssl_compatibility_level"] = SSLCompatibilityLevel( request.ssl_compatibility_level - ), - "tags": request.tags, - } + ) + + if request.tags is not None: + output["tags"] = request.tags + + return output def marshal_ZonedApiUpdateRouteRequest( request: ZonedApiUpdateRouteRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "backend_id": request.backend_id, - "match": marshal_RouteMatch(request.match, defaults) - if request.match is not None - else None, - } + output: Dict[str, Any] = {} + + if request.backend_id is not None: + output["backend_id"] = request.backend_id + + if request.match is not None: + output["match"] = marshal_RouteMatch(request.match, defaults) + + return output def marshal_ZonedApiUpdateSubscriberRequest( request: ZonedApiUpdateSubscriberRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - **resolve_one_of( + output: Dict[str, Any] = {} + output.update( + resolve_one_of( [ OneOfPossibility( "email_config", @@ -2400,5 +2943,9 @@ def marshal_ZonedApiUpdateSubscriberRequest( ), ] ), - "name": request.name, - } + ) + + if request.name is not None: + output["name"] = request.name + + return output diff --git a/scaleway-async/scaleway_async/lb/v1/types.py b/scaleway-async/scaleway_async/lb/v1/types.py index 383b898e6..5cbe09454 100644 --- a/scaleway-async/scaleway_async/lb/v1/types.py +++ b/scaleway-async/scaleway_async/lb/v1/types.py @@ -1436,7 +1436,7 @@ class PrivateNetwork: @dataclass class PrivateNetworkDHCPConfig: - ip_id: str + ip_id: Optional[str] @dataclass diff --git a/scaleway-async/scaleway_async/mnq/v1alpha1/marshalling.py b/scaleway-async/scaleway_async/mnq/v1alpha1/marshalling.py index 200265c00..890b31674 100644 --- a/scaleway-async/scaleway_async/mnq/v1alpha1/marshalling.py +++ b/scaleway-async/scaleway_async/mnq/v1alpha1/marshalling.py @@ -232,56 +232,81 @@ def marshal_Permissions( request: Permissions, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "can_manage": request.can_manage, - "can_publish": request.can_publish, - "can_receive": request.can_receive, - } + output: Dict[str, Any] = {} + + if request.can_manage is not None: + output["can_manage"] = request.can_manage + + if request.can_publish is not None: + output["can_publish"] = request.can_publish + + if request.can_receive is not None: + output["can_receive"] = request.can_receive + + return output def marshal_CreateCredentialRequest( request: CreateCredentialRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "name": request.name, - "namespace_id": request.namespace_id, - "permissions": marshal_Permissions(request.permissions, defaults) - if request.permissions is not None - else None, - } + output: Dict[str, Any] = {} + + if request.name is not None: + output["name"] = request.name + + if request.namespace_id is not None: + output["namespace_id"] = request.namespace_id + + if request.permissions is not None: + output["permissions"] = marshal_Permissions(request.permissions, defaults) + + return output def marshal_CreateNamespaceRequest( request: CreateNamespaceRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "name": request.name, - "project_id": request.project_id or defaults.default_project_id, - "protocol": NamespaceProtocol(request.protocol) - if request.protocol is not None - else None, - } + output: Dict[str, Any] = {} + + if request.name is not None: + output["name"] = request.name + + if request.project_id is not None: + output["project_id"] = request.project_id or defaults.default_project_id + + if request.protocol is not None: + output["protocol"] = NamespaceProtocol(request.protocol) + + return output def marshal_UpdateCredentialRequest( request: UpdateCredentialRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "name": request.name, - "permissions": marshal_Permissions(request.permissions, defaults) - if request.permissions is not None - else None, - } + output: Dict[str, Any] = {} + + if request.name is not None: + output["name"] = request.name + + if request.permissions is not None: + output["permissions"] = marshal_Permissions(request.permissions, defaults) + + return output def marshal_UpdateNamespaceRequest( request: UpdateNamespaceRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "name": request.name, - "namespace_id": request.namespace_id, - } + output: Dict[str, Any] = {} + + if request.name is not None: + output["name"] = request.name + + if request.namespace_id is not None: + output["namespace_id"] = request.namespace_id + + return output diff --git a/scaleway-async/scaleway_async/rdb/v1/marshalling.py b/scaleway-async/scaleway_async/rdb/v1/marshalling.py index b80f96acf..0c962ad9a 100644 --- a/scaleway-async/scaleway_async/rdb/v1/marshalling.py +++ b/scaleway-async/scaleway_async/rdb/v1/marshalling.py @@ -1200,29 +1200,36 @@ def marshal_EndpointSpecPrivateNetworkIpamConfig( request: EndpointSpecPrivateNetworkIpamConfig, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return {} + output: Dict[str, Any] = {} + + return output def marshal_ReadReplicaEndpointSpecPrivateNetworkIpamConfig( request: ReadReplicaEndpointSpecPrivateNetworkIpamConfig, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return {} + output: Dict[str, Any] = {} + + return output def marshal_EndpointSpecLoadBalancer( request: EndpointSpecLoadBalancer, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return {} + output: Dict[str, Any] = {} + + return output def marshal_EndpointSpecPrivateNetwork( request: EndpointSpecPrivateNetwork, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - **resolve_one_of( + output: Dict[str, Any] = {} + output.update( + resolve_one_of( [ OneOfPossibility( "service_ip", @@ -1238,23 +1245,30 @@ def marshal_EndpointSpecPrivateNetwork( ), ] ), - "private_network_id": request.private_network_id, - } + ) + + if request.private_network_id is not None: + output["private_network_id"] = request.private_network_id + + return output def marshal_ReadReplicaEndpointSpecDirectAccess( request: ReadReplicaEndpointSpecDirectAccess, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return {} + output: Dict[str, Any] = {} + + return output def marshal_ReadReplicaEndpointSpecPrivateNetwork( request: ReadReplicaEndpointSpecPrivateNetwork, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - **resolve_one_of( + output: Dict[str, Any] = {} + output.update( + resolve_one_of( [ OneOfPossibility( "service_ip", @@ -1270,26 +1284,36 @@ def marshal_ReadReplicaEndpointSpecPrivateNetwork( ), ] ), - "private_network_id": request.private_network_id, - } + ) + + if request.private_network_id is not None: + output["private_network_id"] = request.private_network_id + + return output def marshal_ACLRuleRequest( request: ACLRuleRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "description": request.description, - "ip": request.ip, - } + output: Dict[str, Any] = {} + + if request.description is not None: + output["description"] = request.description + + if request.ip is not None: + output["ip"] = request.ip + + return output def marshal_EndpointSpec( request: EndpointSpec, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - **resolve_one_of( + output: Dict[str, Any] = {} + output.update( + resolve_one_of( [ OneOfPossibility( "load_balancer", @@ -1307,35 +1331,48 @@ def marshal_EndpointSpec( ), ] ), - } + ) + + return output def marshal_InstanceSetting( request: InstanceSetting, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "name": request.name, - "value": request.value, - } + output: Dict[str, Any] = {} + + if request.name is not None: + output["name"] = request.name + + if request.value is not None: + output["value"] = request.value + + return output def marshal_LogsPolicy( request: LogsPolicy, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "max_age_retention": request.max_age_retention, - "total_disk_retention": request.total_disk_retention, - } + output: Dict[str, Any] = {} + + if request.max_age_retention is not None: + output["max_age_retention"] = request.max_age_retention + + if request.total_disk_retention is not None: + output["total_disk_retention"] = request.total_disk_retention + + return output def marshal_ReadReplicaEndpointSpec( request: ReadReplicaEndpointSpec, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - **resolve_one_of( + output: Dict[str, Any] = {} + output.update( + resolve_one_of( [ OneOfPossibility( "direct_access", @@ -1355,86 +1392,122 @@ def marshal_ReadReplicaEndpointSpec( ), ] ), - } + ) + + return output def marshal_AddInstanceACLRulesRequest( request: AddInstanceACLRulesRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "rules": [marshal_ACLRuleRequest(v, defaults) for v in request.rules], - } + output: Dict[str, Any] = {} + + if request.rules is not None: + output["rules"] = [marshal_ACLRuleRequest(v, defaults) for v in request.rules] + + return output def marshal_AddInstanceSettingsRequest( request: AddInstanceSettingsRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "settings": [marshal_InstanceSetting(v, defaults) for v in request.settings], - } + output: Dict[str, Any] = {} + + if request.settings is not None: + output["settings"] = [ + marshal_InstanceSetting(v, defaults) for v in request.settings + ] + + return output def marshal_CloneInstanceRequest( request: CloneInstanceRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "name": request.name, - "node_type": request.node_type, - } + output: Dict[str, Any] = {} + + if request.name is not None: + output["name"] = request.name + + if request.node_type is not None: + output["node_type"] = request.node_type + + return output def marshal_CreateDatabaseBackupRequest( request: CreateDatabaseBackupRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "database_name": request.database_name, - "expires_at": request.expires_at, - "instance_id": request.instance_id, - "name": request.name, - } + output: Dict[str, Any] = {} + + if request.database_name is not None: + output["database_name"] = request.database_name + + if request.expires_at is not None: + output["expires_at"] = request.expires_at + + if request.instance_id is not None: + output["instance_id"] = request.instance_id + + if request.name is not None: + output["name"] = request.name + + return output def marshal_CreateDatabaseRequest( request: CreateDatabaseRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "name": request.name, - } + output: Dict[str, Any] = {} + + if request.name is not None: + output["name"] = request.name + + return output def marshal_CreateEndpointRequest( request: CreateEndpointRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "endpoint_spec": marshal_EndpointSpec(request.endpoint_spec, defaults) - if request.endpoint_spec is not None - else None, - } + output: Dict[str, Any] = {} + + if request.endpoint_spec is not None: + output["endpoint_spec"] = marshal_EndpointSpec(request.endpoint_spec, defaults) + + return output def marshal_CreateInstanceFromSnapshotRequest( request: CreateInstanceFromSnapshotRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "instance_name": request.instance_name, - "is_ha_cluster": request.is_ha_cluster, - "node_type": request.node_type, - } + output: Dict[str, Any] = {} + + if request.instance_name is not None: + output["instance_name"] = request.instance_name + + if request.is_ha_cluster is not None: + output["is_ha_cluster"] = request.is_ha_cluster + + if request.node_type is not None: + output["node_type"] = request.node_type + + return output def marshal_CreateInstanceRequest( request: CreateInstanceRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - **resolve_one_of( + output: Dict[str, Any] = {} + output.update( + resolve_one_of( [ OneOfPossibility( "project_id", @@ -1452,216 +1525,328 @@ def marshal_CreateInstanceRequest( ), ] ), - "backup_same_region": request.backup_same_region, - "disable_backup": request.disable_backup, - "engine": request.engine, - "init_endpoints": [ + ) + + if request.backup_same_region is not None: + output["backup_same_region"] = request.backup_same_region + + if request.disable_backup is not None: + output["disable_backup"] = request.disable_backup + + if request.engine is not None: + output["engine"] = request.engine + + if request.init_endpoints is not None: + output["init_endpoints"] = [ marshal_EndpointSpec(v, defaults) for v in request.init_endpoints ] - if request.init_endpoints is not None - else None, - "init_settings": [ + + if request.init_settings is not None: + output["init_settings"] = [ marshal_InstanceSetting(v, defaults) for v in request.init_settings ] - if request.init_settings is not None - else None, - "is_ha_cluster": request.is_ha_cluster, - "name": request.name, - "node_type": request.node_type, - "password": request.password, - "tags": request.tags, - "user_name": request.user_name, - "volume_size": request.volume_size, - "volume_type": VolumeType(request.volume_type), - } + + if request.is_ha_cluster is not None: + output["is_ha_cluster"] = request.is_ha_cluster + + if request.name is not None: + output["name"] = request.name + + if request.node_type is not None: + output["node_type"] = request.node_type + + if request.password is not None: + output["password"] = request.password + + if request.tags is not None: + output["tags"] = request.tags + + if request.user_name is not None: + output["user_name"] = request.user_name + + if request.volume_size is not None: + output["volume_size"] = request.volume_size + + if request.volume_type is not None: + output["volume_type"] = VolumeType(request.volume_type) + + return output def marshal_CreateReadReplicaEndpointRequest( request: CreateReadReplicaEndpointRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "endpoint_spec": [ + output: Dict[str, Any] = {} + + if request.endpoint_spec is not None: + output["endpoint_spec"] = [ marshal_ReadReplicaEndpointSpec(v, defaults) for v in request.endpoint_spec - ], - } + ] + + return output def marshal_CreateReadReplicaRequest( request: CreateReadReplicaRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "endpoint_spec": [ + output: Dict[str, Any] = {} + + if request.endpoint_spec is not None: + output["endpoint_spec"] = [ marshal_ReadReplicaEndpointSpec(v, defaults) for v in request.endpoint_spec ] - if request.endpoint_spec is not None - else None, - "instance_id": request.instance_id, - "same_zone": request.same_zone, - } + + if request.instance_id is not None: + output["instance_id"] = request.instance_id + + if request.same_zone is not None: + output["same_zone"] = request.same_zone + + return output def marshal_CreateSnapshotRequest( request: CreateSnapshotRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "expires_at": request.expires_at, - "name": request.name, - } + output: Dict[str, Any] = {} + + if request.expires_at is not None: + output["expires_at"] = request.expires_at + + if request.name is not None: + output["name"] = request.name + + return output def marshal_CreateUserRequest( request: CreateUserRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "is_admin": request.is_admin, - "name": request.name, - "password": request.password, - } + output: Dict[str, Any] = {} + + if request.is_admin is not None: + output["is_admin"] = request.is_admin + + if request.name is not None: + output["name"] = request.name + + if request.password is not None: + output["password"] = request.password + + return output def marshal_DeleteInstanceACLRulesRequest( request: DeleteInstanceACLRulesRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "acl_rule_ips": request.acl_rule_ips, - } + output: Dict[str, Any] = {} + + if request.acl_rule_ips is not None: + output["acl_rule_ips"] = request.acl_rule_ips + + return output def marshal_DeleteInstanceSettingsRequest( request: DeleteInstanceSettingsRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "setting_names": request.setting_names, - } + output: Dict[str, Any] = {} + + if request.setting_names is not None: + output["setting_names"] = request.setting_names + + return output def marshal_MigrateEndpointRequest( request: MigrateEndpointRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "instance_id": request.instance_id, - } + output: Dict[str, Any] = {} + + if request.instance_id is not None: + output["instance_id"] = request.instance_id + + return output def marshal_PrepareInstanceLogsRequest( request: PrepareInstanceLogsRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "end_date": request.end_date, - "start_date": request.start_date, - } + output: Dict[str, Any] = {} + + if request.end_date is not None: + output["end_date"] = request.end_date + + if request.start_date is not None: + output["start_date"] = request.start_date + + return output def marshal_PurgeInstanceLogsRequest( request: PurgeInstanceLogsRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "log_name": request.log_name, - } + output: Dict[str, Any] = {} + + if request.log_name is not None: + output["log_name"] = request.log_name + + return output def marshal_RestoreDatabaseBackupRequest( request: RestoreDatabaseBackupRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "database_name": request.database_name, - "instance_id": request.instance_id, - } + output: Dict[str, Any] = {} + + if request.database_name is not None: + output["database_name"] = request.database_name + + if request.instance_id is not None: + output["instance_id"] = request.instance_id + + return output def marshal_SetInstanceACLRulesRequest( request: SetInstanceACLRulesRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "rules": [marshal_ACLRuleRequest(v, defaults) for v in request.rules], - } + output: Dict[str, Any] = {} + + if request.rules is not None: + output["rules"] = [marshal_ACLRuleRequest(v, defaults) for v in request.rules] + + return output def marshal_SetInstanceSettingsRequest( request: SetInstanceSettingsRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "settings": [marshal_InstanceSetting(v, defaults) for v in request.settings], - } + output: Dict[str, Any] = {} + + if request.settings is not None: + output["settings"] = [ + marshal_InstanceSetting(v, defaults) for v in request.settings + ] + + return output def marshal_SetPrivilegeRequest( request: SetPrivilegeRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "database_name": request.database_name, - "permission": Permission(request.permission), - "user_name": request.user_name, - } + output: Dict[str, Any] = {} + + if request.database_name is not None: + output["database_name"] = request.database_name + + if request.permission is not None: + output["permission"] = Permission(request.permission) + + if request.user_name is not None: + output["user_name"] = request.user_name + + return output def marshal_UpdateDatabaseBackupRequest( request: UpdateDatabaseBackupRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "expires_at": request.expires_at, - "name": request.name, - } + output: Dict[str, Any] = {} + + if request.expires_at is not None: + output["expires_at"] = request.expires_at + + if request.name is not None: + output["name"] = request.name + + return output def marshal_UpdateInstanceRequest( request: UpdateInstanceRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "backup_same_region": request.backup_same_region, - "backup_schedule_frequency": request.backup_schedule_frequency, - "backup_schedule_retention": request.backup_schedule_retention, - "backup_schedule_start_hour": request.backup_schedule_start_hour, - "is_backup_schedule_disabled": request.is_backup_schedule_disabled, - "logs_policy": marshal_LogsPolicy(request.logs_policy, defaults) - if request.logs_policy is not None - else None, - "name": request.name, - "tags": request.tags, - } + output: Dict[str, Any] = {} + + if request.backup_same_region is not None: + output["backup_same_region"] = request.backup_same_region + + if request.backup_schedule_frequency is not None: + output["backup_schedule_frequency"] = request.backup_schedule_frequency + + if request.backup_schedule_retention is not None: + output["backup_schedule_retention"] = request.backup_schedule_retention + + if request.backup_schedule_start_hour is not None: + output["backup_schedule_start_hour"] = request.backup_schedule_start_hour + + if request.is_backup_schedule_disabled is not None: + output["is_backup_schedule_disabled"] = request.is_backup_schedule_disabled + + if request.logs_policy is not None: + output["logs_policy"] = marshal_LogsPolicy(request.logs_policy, defaults) + + if request.name is not None: + output["name"] = request.name + + if request.tags is not None: + output["tags"] = request.tags + + return output def marshal_UpdateSnapshotRequest( request: UpdateSnapshotRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "expires_at": request.expires_at, - "name": request.name, - } + output: Dict[str, Any] = {} + + if request.expires_at is not None: + output["expires_at"] = request.expires_at + + if request.name is not None: + output["name"] = request.name + + return output def marshal_UpdateUserRequest( request: UpdateUserRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "is_admin": request.is_admin, - "password": request.password, - } + output: Dict[str, Any] = {} + + if request.is_admin is not None: + output["is_admin"] = request.is_admin + + if request.password is not None: + output["password"] = request.password + + return output def marshal_UpgradeInstanceRequest( request: UpgradeInstanceRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - **resolve_one_of( + output: Dict[str, Any] = {} + output.update( + resolve_one_of( [ OneOfPossibility( "node_type", @@ -1689,4 +1874,6 @@ def marshal_UpgradeInstanceRequest( ), ] ), - } + ) + + return output diff --git a/scaleway-async/scaleway_async/redis/v1/marshalling.py b/scaleway-async/scaleway_async/redis/v1/marshalling.py index 97b5eedb3..28dc2c4f3 100644 --- a/scaleway-async/scaleway_async/redis/v1/marshalling.py +++ b/scaleway-async/scaleway_async/redis/v1/marshalling.py @@ -481,57 +481,77 @@ def marshal_EndpointSpecPrivateNetworkSpecIpamConfig( request: EndpointSpecPrivateNetworkSpecIpamConfig, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return {} + output: Dict[str, Any] = {} + + return output def marshal_EndpointSpecPrivateNetworkSpec( request: EndpointSpecPrivateNetworkSpec, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "id": request.id, - "ipam_config": marshal_EndpointSpecPrivateNetworkSpecIpamConfig( + output: Dict[str, Any] = {} + + if request.id is not None: + output["id"] = request.id + + if request.ipam_config is not None: + output["ipam_config"] = marshal_EndpointSpecPrivateNetworkSpecIpamConfig( request.ipam_config, defaults ) - if request.ipam_config is not None - else None, - "service_ips": request.service_ips, - } + + if request.service_ips is not None: + output["service_ips"] = request.service_ips + + return output def marshal_EndpointSpecPublicNetworkSpec( request: EndpointSpecPublicNetworkSpec, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return {} + output: Dict[str, Any] = {} + + return output def marshal_ACLRuleSpec( request: ACLRuleSpec, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "description": request.description, - "ip_cidr": request.ip_cidr, - } + output: Dict[str, Any] = {} + + if request.description is not None: + output["description"] = request.description + + if request.ip_cidr is not None: + output["ip_cidr"] = request.ip_cidr + + return output def marshal_ClusterSetting( request: ClusterSetting, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "name": request.name, - "value": request.value, - } + output: Dict[str, Any] = {} + + if request.name is not None: + output["name"] = request.name + + if request.value is not None: + output["value"] = request.value + + return output def marshal_EndpointSpec( request: EndpointSpec, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - **resolve_one_of( + output: Dict[str, Any] = {} + output.update( + resolve_one_of( [ OneOfPossibility( "private_network", @@ -551,70 +571,111 @@ def marshal_EndpointSpec( ), ] ), - } + ) + + return output def marshal_AddAclRulesRequest( request: AddAclRulesRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "acl_rules": [marshal_ACLRuleSpec(v, defaults) for v in request.acl_rules], - } + output: Dict[str, Any] = {} + + if request.acl_rules is not None: + output["acl_rules"] = [ + marshal_ACLRuleSpec(v, defaults) for v in request.acl_rules + ] + + return output def marshal_AddClusterSettingsRequest( request: AddClusterSettingsRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "settings": [marshal_ClusterSetting(v, defaults) for v in request.settings], - } + output: Dict[str, Any] = {} + + if request.settings is not None: + output["settings"] = [ + marshal_ClusterSetting(v, defaults) for v in request.settings + ] + + return output def marshal_AddEndpointsRequest( request: AddEndpointsRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "endpoints": [marshal_EndpointSpec(v, defaults) for v in request.endpoints], - } + output: Dict[str, Any] = {} + + if request.endpoints is not None: + output["endpoints"] = [ + marshal_EndpointSpec(v, defaults) for v in request.endpoints + ] + + return output def marshal_CreateClusterRequest( request: CreateClusterRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "acl_rules": [marshal_ACLRuleSpec(v, defaults) for v in request.acl_rules] - if request.acl_rules is not None - else None, - "cluster_settings": [ + output: Dict[str, Any] = {} + + if request.acl_rules is not None: + output["acl_rules"] = [ + marshal_ACLRuleSpec(v, defaults) for v in request.acl_rules + ] + + if request.cluster_settings is not None: + output["cluster_settings"] = [ marshal_ClusterSetting(v, defaults) for v in request.cluster_settings ] - if request.cluster_settings is not None - else None, - "cluster_size": request.cluster_size, - "endpoints": [marshal_EndpointSpec(v, defaults) for v in request.endpoints] - if request.endpoints is not None - else None, - "name": request.name, - "node_type": request.node_type, - "password": request.password, - "project_id": request.project_id or defaults.default_project_id, - "tags": request.tags, - "tls_enabled": request.tls_enabled, - "user_name": request.user_name, - "version": request.version, - } + + if request.cluster_size is not None: + output["cluster_size"] = request.cluster_size + + if request.endpoints is not None: + output["endpoints"] = [ + marshal_EndpointSpec(v, defaults) for v in request.endpoints + ] + + if request.name is not None: + output["name"] = request.name + + if request.node_type is not None: + output["node_type"] = request.node_type + + if request.password is not None: + output["password"] = request.password + + if request.project_id is not None: + output["project_id"] = request.project_id or defaults.default_project_id + + if request.tags is not None: + output["tags"] = request.tags + + if request.tls_enabled is not None: + output["tls_enabled"] = request.tls_enabled + + if request.user_name is not None: + output["user_name"] = request.user_name + + if request.version is not None: + output["version"] = request.version + + return output def marshal_MigrateClusterRequest( request: MigrateClusterRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - **resolve_one_of( + output: Dict[str, Any] = {} + output.update( + resolve_one_of( [ OneOfPossibility( "version", request.version if request.version is not None else None @@ -629,54 +690,81 @@ def marshal_MigrateClusterRequest( ), ] ), - } + ) + + return output def marshal_SetAclRulesRequest( request: SetAclRulesRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "acl_rules": [marshal_ACLRuleSpec(v, defaults) for v in request.acl_rules], - } + output: Dict[str, Any] = {} + + if request.acl_rules is not None: + output["acl_rules"] = [ + marshal_ACLRuleSpec(v, defaults) for v in request.acl_rules + ] + + return output def marshal_SetClusterSettingsRequest( request: SetClusterSettingsRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "settings": [marshal_ClusterSetting(v, defaults) for v in request.settings], - } + output: Dict[str, Any] = {} + + if request.settings is not None: + output["settings"] = [ + marshal_ClusterSetting(v, defaults) for v in request.settings + ] + + return output def marshal_SetEndpointsRequest( request: SetEndpointsRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "endpoints": [marshal_EndpointSpec(v, defaults) for v in request.endpoints], - } + output: Dict[str, Any] = {} + + if request.endpoints is not None: + output["endpoints"] = [ + marshal_EndpointSpec(v, defaults) for v in request.endpoints + ] + + return output def marshal_UpdateClusterRequest( request: UpdateClusterRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "name": request.name, - "password": request.password, - "tags": request.tags, - "user_name": request.user_name, - } + output: Dict[str, Any] = {} + + if request.name is not None: + output["name"] = request.name + + if request.password is not None: + output["password"] = request.password + + if request.tags is not None: + output["tags"] = request.tags + + if request.user_name is not None: + output["user_name"] = request.user_name + + return output def marshal_UpdateEndpointRequest( request: UpdateEndpointRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - **resolve_one_of( + output: Dict[str, Any] = {} + output.update( + resolve_one_of( [ OneOfPossibility( "private_network", @@ -696,4 +784,6 @@ def marshal_UpdateEndpointRequest( ), ] ), - } + ) + + return output diff --git a/scaleway-async/scaleway_async/registry/v1/marshalling.py b/scaleway-async/scaleway_async/registry/v1/marshalling.py index 083cb17f0..108158336 100644 --- a/scaleway-async/scaleway_async/registry/v1/marshalling.py +++ b/scaleway-async/scaleway_async/registry/v1/marshalling.py @@ -206,8 +206,9 @@ def marshal_CreateNamespaceRequest( request: CreateNamespaceRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - **resolve_one_of( + output: Dict[str, Any] = {} + output.update( + resolve_one_of( [ OneOfPossibility( "project_id", @@ -225,26 +226,42 @@ def marshal_CreateNamespaceRequest( ), ] ), - "description": request.description, - "is_public": request.is_public, - "name": request.name, - } + ) + + if request.description is not None: + output["description"] = request.description + + if request.is_public is not None: + output["is_public"] = request.is_public + + if request.name is not None: + output["name"] = request.name + + return output def marshal_UpdateImageRequest( request: UpdateImageRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "visibility": ImageVisibility(request.visibility), - } + output: Dict[str, Any] = {} + + if request.visibility is not None: + output["visibility"] = ImageVisibility(request.visibility) + + return output def marshal_UpdateNamespaceRequest( request: UpdateNamespaceRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "description": request.description, - "is_public": request.is_public, - } + output: Dict[str, Any] = {} + + if request.description is not None: + output["description"] = request.description + + if request.is_public is not None: + output["is_public"] = request.is_public + + return output diff --git a/scaleway-async/scaleway_async/secret/v1alpha1/marshalling.py b/scaleway-async/scaleway_async/secret/v1alpha1/marshalling.py index 947c16658..d75c64660 100644 --- a/scaleway-async/scaleway_async/secret/v1alpha1/marshalling.py +++ b/scaleway-async/scaleway_async/secret/v1alpha1/marshalling.py @@ -192,44 +192,72 @@ def marshal_PasswordGenerationParams( request: PasswordGenerationParams, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "additional_chars": request.additional_chars, - "length": request.length, - "no_digits": request.no_digits, - "no_lowercase_letters": request.no_lowercase_letters, - "no_uppercase_letters": request.no_uppercase_letters, - } + output: Dict[str, Any] = {} + + if request.additional_chars is not None: + output["additional_chars"] = request.additional_chars + + if request.length is not None: + output["length"] = request.length + + if request.no_digits is not None: + output["no_digits"] = request.no_digits + + if request.no_lowercase_letters is not None: + output["no_lowercase_letters"] = request.no_lowercase_letters + + if request.no_uppercase_letters is not None: + output["no_uppercase_letters"] = request.no_uppercase_letters + + return output def marshal_AddSecretOwnerRequest( request: AddSecretOwnerRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "product": Product(request.product), - "product_name": request.product_name, - } + output: Dict[str, Any] = {} + + if request.product is not None: + output["product"] = Product(request.product) + + if request.product_name is not None: + output["product_name"] = request.product_name + + return output def marshal_CreateSecretRequest( request: CreateSecretRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "description": request.description, - "name": request.name, - "project_id": request.project_id or defaults.default_project_id, - "tags": request.tags, - "type": SecretType(request.type_), - } + output: Dict[str, Any] = {} + + if request.description is not None: + output["description"] = request.description + + if request.name is not None: + output["name"] = request.name + + if request.project_id is not None: + output["project_id"] = request.project_id or defaults.default_project_id + + if request.tags is not None: + output["tags"] = request.tags + + if request.type_ is not None: + output["type"] = SecretType(request.type_) + + return output def marshal_CreateSecretVersionRequest( request: CreateSecretVersionRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - **resolve_one_of( + output: Dict[str, Any] = {} + output.update( + resolve_one_of( [ OneOfPossibility( "password_generation", @@ -241,43 +269,78 @@ def marshal_CreateSecretVersionRequest( ), ] ), - "data": request.data, - "data_crc32": request.data_crc32, - "description": request.description, - "disable_previous": request.disable_previous, - } + ) + + if request.data is not None: + output["data"] = request.data + + if request.data_crc32 is not None: + output["data_crc32"] = request.data_crc32 + + if request.description is not None: + output["description"] = request.description + + if request.disable_previous is not None: + output["disable_previous"] = request.disable_previous + + return output def marshal_GeneratePasswordRequest( request: GeneratePasswordRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "additional_chars": request.additional_chars, - "description": request.description, - "disable_previous": request.disable_previous, - "length": request.length, - "no_digits": request.no_digits, - "no_lowercase_letters": request.no_lowercase_letters, - "no_uppercase_letters": request.no_uppercase_letters, - } + output: Dict[str, Any] = {} + + if request.additional_chars is not None: + output["additional_chars"] = request.additional_chars + + if request.description is not None: + output["description"] = request.description + + if request.disable_previous is not None: + output["disable_previous"] = request.disable_previous + + if request.length is not None: + output["length"] = request.length + + if request.no_digits is not None: + output["no_digits"] = request.no_digits + + if request.no_lowercase_letters is not None: + output["no_lowercase_letters"] = request.no_lowercase_letters + + if request.no_uppercase_letters is not None: + output["no_uppercase_letters"] = request.no_uppercase_letters + + return output def marshal_UpdateSecretRequest( request: UpdateSecretRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "description": request.description, - "name": request.name, - "tags": request.tags, - } + output: Dict[str, Any] = {} + + if request.description is not None: + output["description"] = request.description + + if request.name is not None: + output["name"] = request.name + + if request.tags is not None: + output["tags"] = request.tags + + return output def marshal_UpdateSecretVersionRequest( request: UpdateSecretVersionRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "description": request.description, - } + output: Dict[str, Any] = {} + + if request.description is not None: + output["description"] = request.description + + return output diff --git a/scaleway-async/scaleway_async/tem/v1alpha1/marshalling.py b/scaleway-async/scaleway_async/tem/v1alpha1/marshalling.py index 35ee36ec9..ba3bb91c8 100644 --- a/scaleway-async/scaleway_async/tem/v1alpha1/marshalling.py +++ b/scaleway-async/scaleway_async/tem/v1alpha1/marshalling.py @@ -333,60 +333,96 @@ def marshal_CreateEmailRequestAddress( request: CreateEmailRequestAddress, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "email": request.email, - "name": request.name, - } + output: Dict[str, Any] = {} + + if request.email is not None: + output["email"] = request.email + + if request.name is not None: + output["name"] = request.name + + return output def marshal_CreateEmailRequestAttachment( request: CreateEmailRequestAttachment, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "content": request.content, - "name": request.name, - "type": request.type_, - } + output: Dict[str, Any] = {} + + if request.content is not None: + output["content"] = request.content + + if request.name is not None: + output["name"] = request.name + + if request.type_ is not None: + output["type"] = request.type_ + + return output def marshal_CreateDomainRequest( request: CreateDomainRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "accept_tos": request.accept_tos, - "domain_name": request.domain_name, - "project_id": request.project_id or defaults.default_project_id, - } + output: Dict[str, Any] = {} + + if request.accept_tos is not None: + output["accept_tos"] = request.accept_tos + + if request.domain_name is not None: + output["domain_name"] = request.domain_name + + if request.project_id is not None: + output["project_id"] = request.project_id or defaults.default_project_id + + return output def marshal_CreateEmailRequest( request: CreateEmailRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "attachments": [ + output: Dict[str, Any] = {} + + if request.attachments is not None: + output["attachments"] = [ marshal_CreateEmailRequestAttachment(v, defaults) for v in request.attachments ] - if request.attachments is not None - else None, - "bcc": [marshal_CreateEmailRequestAddress(v, defaults) for v in request.bcc] - if request.bcc is not None - else None, - "cc": [marshal_CreateEmailRequestAddress(v, defaults) for v in request.cc] - if request.cc is not None - else None, - "from": marshal_CreateEmailRequestAddress(request.from_, defaults) - if request.from_ is not None - else None, - "html": request.html, - "project_id": request.project_id or defaults.default_project_id, - "send_before": request.send_before, - "subject": request.subject, - "text": request.text, - "to": [marshal_CreateEmailRequestAddress(v, defaults) for v in request.to] - if request.to is not None - else None, - } + + if request.bcc is not None: + output["bcc"] = [ + marshal_CreateEmailRequestAddress(v, defaults) for v in request.bcc + ] + + if request.cc is not None: + output["cc"] = [ + marshal_CreateEmailRequestAddress(v, defaults) for v in request.cc + ] + + if request.from_ is not None: + output["from"] = marshal_CreateEmailRequestAddress(request.from_, defaults) + + if request.html is not None: + output["html"] = request.html + + if request.project_id is not None: + output["project_id"] = request.project_id or defaults.default_project_id + + if request.send_before is not None: + output["send_before"] = request.send_before + + if request.subject is not None: + output["subject"] = request.subject + + if request.text is not None: + output["text"] = request.text + + if request.to is not None: + output["to"] = [ + marshal_CreateEmailRequestAddress(v, defaults) for v in request.to + ] + + return output diff --git a/scaleway-async/scaleway_async/tem/v1alpha1/types.py b/scaleway-async/scaleway_async/tem/v1alpha1/types.py index c9425b2d2..79aad952b 100644 --- a/scaleway-async/scaleway_async/tem/v1alpha1/types.py +++ b/scaleway-async/scaleway_async/tem/v1alpha1/types.py @@ -40,6 +40,7 @@ class EmailFlag(str, Enum): SOFT_BOUNCE = "soft_bounce" HARD_BOUNCE = "hard_bounce" SPAM = "spam" + MAILBOX_FULL = "mailbox_full" def __str__(self) -> str: return str(self.value) diff --git a/scaleway-async/scaleway_async/test/v1/marshalling.py b/scaleway-async/scaleway_async/test/v1/marshalling.py index 7ac7390af..fefd080de 100644 --- a/scaleway-async/scaleway_async/test/v1/marshalling.py +++ b/scaleway-async/scaleway_async/test/v1/marshalling.py @@ -114,8 +114,9 @@ def marshal_CreateHumanRequest( request: CreateHumanRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - **resolve_one_of( + output: Dict[str, Any] = {} + output.update( + resolve_one_of( [ OneOfPossibility( "project_id", @@ -133,39 +134,81 @@ def marshal_CreateHumanRequest( ), ] ), - "altitude_in_meter": request.altitude_in_meter, - "altitude_in_millimeter": request.altitude_in_millimeter, - "eyes_color": EyeColors(request.eyes_color), - "fingers_count": request.fingers_count, - "hair_count": request.hair_count, - "height": request.height, - "is_happy": request.is_happy, - "name": request.name, - "shoe_size": request.shoe_size, - } + ) + + if request.altitude_in_meter is not None: + output["altitude_in_meter"] = request.altitude_in_meter + + if request.altitude_in_millimeter is not None: + output["altitude_in_millimeter"] = request.altitude_in_millimeter + + if request.eyes_color is not None: + output["eyes_color"] = EyeColors(request.eyes_color) + + if request.fingers_count is not None: + output["fingers_count"] = request.fingers_count + + if request.hair_count is not None: + output["hair_count"] = request.hair_count + + if request.height is not None: + output["height"] = request.height + + if request.is_happy is not None: + output["is_happy"] = request.is_happy + + if request.name is not None: + output["name"] = request.name + + if request.shoe_size is not None: + output["shoe_size"] = request.shoe_size + + return output def marshal_RegisterRequest( request: RegisterRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "username": request.username, - } + output: Dict[str, Any] = {} + + if request.username is not None: + output["username"] = request.username + + return output def marshal_UpdateHumanRequest( request: UpdateHumanRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "altitude_in_meter": request.altitude_in_meter, - "altitude_in_millimeter": request.altitude_in_millimeter, - "eyes_color": EyeColors(request.eyes_color), - "fingers_count": request.fingers_count, - "hair_count": request.hair_count, - "height": request.height, - "is_happy": request.is_happy, - "name": request.name, - "shoe_size": request.shoe_size, - } + output: Dict[str, Any] = {} + + if request.altitude_in_meter is not None: + output["altitude_in_meter"] = request.altitude_in_meter + + if request.altitude_in_millimeter is not None: + output["altitude_in_millimeter"] = request.altitude_in_millimeter + + if request.eyes_color is not None: + output["eyes_color"] = EyeColors(request.eyes_color) + + if request.fingers_count is not None: + output["fingers_count"] = request.fingers_count + + if request.hair_count is not None: + output["hair_count"] = request.hair_count + + if request.height is not None: + output["height"] = request.height + + if request.is_happy is not None: + output["is_happy"] = request.is_happy + + if request.name is not None: + output["name"] = request.name + + if request.shoe_size is not None: + output["shoe_size"] = request.shoe_size + + return output diff --git a/scaleway-async/scaleway_async/vpc/v1/marshalling.py b/scaleway-async/scaleway_async/vpc/v1/marshalling.py index b3119e4c4..5571bac9d 100644 --- a/scaleway-async/scaleway_async/vpc/v1/marshalling.py +++ b/scaleway-async/scaleway_async/vpc/v1/marshalling.py @@ -74,20 +74,36 @@ def marshal_CreatePrivateNetworkRequest( request: CreatePrivateNetworkRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "name": request.name, - "project_id": request.project_id or defaults.default_project_id, - "subnets": request.subnets, - "tags": request.tags, - } + output: Dict[str, Any] = {} + + if request.name is not None: + output["name"] = request.name + + if request.project_id is not None: + output["project_id"] = request.project_id or defaults.default_project_id + + if request.subnets is not None: + output["subnets"] = request.subnets + + if request.tags is not None: + output["tags"] = request.tags + + return output def marshal_UpdatePrivateNetworkRequest( request: UpdatePrivateNetworkRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "name": request.name, - "subnets": request.subnets, - "tags": request.tags, - } + output: Dict[str, Any] = {} + + if request.name is not None: + output["name"] = request.name + + if request.subnets is not None: + output["subnets"] = request.subnets + + if request.tags is not None: + output["tags"] = request.tags + + return output diff --git a/scaleway-async/scaleway_async/vpc/v2/marshalling.py b/scaleway-async/scaleway_async/vpc/v2/marshalling.py index 56877b30e..c7b839a6e 100644 --- a/scaleway-async/scaleway_async/vpc/v2/marshalling.py +++ b/scaleway-async/scaleway_async/vpc/v2/marshalling.py @@ -221,50 +221,75 @@ def marshal_AddSubnetsRequest( request: AddSubnetsRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "subnets": request.subnets, - } + output: Dict[str, Any] = {} + + if request.subnets is not None: + output["subnets"] = request.subnets + + return output def marshal_CreatePrivateNetworkRequest( request: CreatePrivateNetworkRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "name": request.name, - "project_id": request.project_id or defaults.default_project_id, - "subnets": request.subnets, - "tags": request.tags, - "vpc_id": request.vpc_id, - } + output: Dict[str, Any] = {} + + if request.name is not None: + output["name"] = request.name + + if request.project_id is not None: + output["project_id"] = request.project_id or defaults.default_project_id + + if request.subnets is not None: + output["subnets"] = request.subnets + + if request.tags is not None: + output["tags"] = request.tags + + if request.vpc_id is not None: + output["vpc_id"] = request.vpc_id + + return output def marshal_CreateVPCRequest( request: CreateVPCRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "name": request.name, - "project_id": request.project_id or defaults.default_project_id, - "tags": request.tags, - } + output: Dict[str, Any] = {} + + if request.name is not None: + output["name"] = request.name + + if request.project_id is not None: + output["project_id"] = request.project_id or defaults.default_project_id + + if request.tags is not None: + output["tags"] = request.tags + + return output def marshal_DeleteSubnetsRequest( request: DeleteSubnetsRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "subnets": request.subnets, - } + output: Dict[str, Any] = {} + + if request.subnets is not None: + output["subnets"] = request.subnets + + return output def marshal_MigrateZonalPrivateNetworksRequest( request: MigrateZonalPrivateNetworksRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - **resolve_one_of( + output: Dict[str, Any] = {} + output.update( + resolve_one_of( [ OneOfPossibility( "project_id", @@ -282,34 +307,51 @@ def marshal_MigrateZonalPrivateNetworksRequest( ), ] ), - "private_network_ids": request.private_network_ids, - } + ) + + if request.private_network_ids is not None: + output["private_network_ids"] = request.private_network_ids + + return output def marshal_SetSubnetsRequest( request: SetSubnetsRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "subnets": request.subnets, - } + output: Dict[str, Any] = {} + + if request.subnets is not None: + output["subnets"] = request.subnets + + return output def marshal_UpdatePrivateNetworkRequest( request: UpdatePrivateNetworkRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "name": request.name, - "tags": request.tags, - } + output: Dict[str, Any] = {} + + if request.name is not None: + output["name"] = request.name + + if request.tags is not None: + output["tags"] = request.tags + + return output def marshal_UpdateVPCRequest( request: UpdateVPCRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "name": request.name, - "tags": request.tags, - } + output: Dict[str, Any] = {} + + if request.name is not None: + output["name"] = request.name + + if request.tags is not None: + output["tags"] = request.tags + + return output diff --git a/scaleway-async/scaleway_async/vpcgw/v1/marshalling.py b/scaleway-async/scaleway_async/vpcgw/v1/marshalling.py index 20bb86a72..e72eebb44 100644 --- a/scaleway-async/scaleway_async/vpcgw/v1/marshalling.py +++ b/scaleway-async/scaleway_async/vpcgw/v1/marshalling.py @@ -527,63 +527,114 @@ def marshal_CreateDHCPRequest( request: CreateDHCPRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "address": request.address, - "dns_local_name": request.dns_local_name, - "dns_search": request.dns_search, - "dns_servers_override": request.dns_servers_override, - "enable_dynamic": request.enable_dynamic, - "pool_high": request.pool_high, - "pool_low": request.pool_low, - "project_id": request.project_id or defaults.default_project_id, - "push_default_route": request.push_default_route, - "push_dns_server": request.push_dns_server, - "rebind_timer": request.rebind_timer, - "renew_timer": request.renew_timer, - "subnet": request.subnet, - "valid_lifetime": request.valid_lifetime, - } + output: Dict[str, Any] = {} + + if request.address is not None: + output["address"] = request.address + + if request.dns_local_name is not None: + output["dns_local_name"] = request.dns_local_name + + if request.dns_search is not None: + output["dns_search"] = request.dns_search + + if request.dns_servers_override is not None: + output["dns_servers_override"] = request.dns_servers_override + + if request.enable_dynamic is not None: + output["enable_dynamic"] = request.enable_dynamic + + if request.pool_high is not None: + output["pool_high"] = request.pool_high + + if request.pool_low is not None: + output["pool_low"] = request.pool_low + + if request.project_id is not None: + output["project_id"] = request.project_id or defaults.default_project_id + + if request.push_default_route is not None: + output["push_default_route"] = request.push_default_route + + if request.push_dns_server is not None: + output["push_dns_server"] = request.push_dns_server + + if request.rebind_timer is not None: + output["rebind_timer"] = request.rebind_timer + + if request.renew_timer is not None: + output["renew_timer"] = request.renew_timer + + if request.subnet is not None: + output["subnet"] = request.subnet + + if request.valid_lifetime is not None: + output["valid_lifetime"] = request.valid_lifetime + + return output def marshal_SetDHCPEntriesRequestEntry( request: SetDHCPEntriesRequestEntry, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "ip_address": request.ip_address, - "mac_address": request.mac_address, - } + output: Dict[str, Any] = {} + + if request.ip_address is not None: + output["ip_address"] = request.ip_address + + if request.mac_address is not None: + output["mac_address"] = request.mac_address + + return output def marshal_SetPATRulesRequestRule( request: SetPATRulesRequestRule, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "private_ip": request.private_ip, - "private_port": request.private_port, - "protocol": PATRuleProtocol(request.protocol), - "public_port": request.public_port, - } + output: Dict[str, Any] = {} + + if request.private_ip is not None: + output["private_ip"] = request.private_ip + + if request.private_port is not None: + output["private_port"] = request.private_port + + if request.protocol is not None: + output["protocol"] = PATRuleProtocol(request.protocol) + + if request.public_port is not None: + output["public_port"] = request.public_port + + return output def marshal_CreateDHCPEntryRequest( request: CreateDHCPEntryRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "gateway_network_id": request.gateway_network_id, - "ip_address": request.ip_address, - "mac_address": request.mac_address, - } + output: Dict[str, Any] = {} + + if request.gateway_network_id is not None: + output["gateway_network_id"] = request.gateway_network_id + + if request.ip_address is not None: + output["ip_address"] = request.ip_address + + if request.mac_address is not None: + output["mac_address"] = request.mac_address + + return output def marshal_CreateGatewayNetworkRequest( request: CreateGatewayNetworkRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - **resolve_one_of( + output: Dict[str, Any] = {} + output.update( + resolve_one_of( [ OneOfPossibility( "dhcp_id", request.dhcp_id if request.dhcp_id is not None else None @@ -599,116 +650,200 @@ def marshal_CreateGatewayNetworkRequest( ), ] ), - "enable_dhcp": request.enable_dhcp, - "enable_masquerade": request.enable_masquerade, - "gateway_id": request.gateway_id, - "private_network_id": request.private_network_id, - } + ) + + if request.enable_dhcp is not None: + output["enable_dhcp"] = request.enable_dhcp + + if request.enable_masquerade is not None: + output["enable_masquerade"] = request.enable_masquerade + + if request.gateway_id is not None: + output["gateway_id"] = request.gateway_id + + if request.private_network_id is not None: + output["private_network_id"] = request.private_network_id + + return output def marshal_CreateGatewayRequest( request: CreateGatewayRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "bastion_port": request.bastion_port, - "enable_bastion": request.enable_bastion, - "enable_smtp": request.enable_smtp, - "ip_id": request.ip_id, - "name": request.name, - "project_id": request.project_id or defaults.default_project_id, - "tags": request.tags, - "type": request.type_, - "upstream_dns_servers": request.upstream_dns_servers, - } + output: Dict[str, Any] = {} + + if request.bastion_port is not None: + output["bastion_port"] = request.bastion_port + + if request.enable_bastion is not None: + output["enable_bastion"] = request.enable_bastion + + if request.enable_smtp is not None: + output["enable_smtp"] = request.enable_smtp + + if request.ip_id is not None: + output["ip_id"] = request.ip_id + + if request.name is not None: + output["name"] = request.name + + if request.project_id is not None: + output["project_id"] = request.project_id or defaults.default_project_id + + if request.tags is not None: + output["tags"] = request.tags + + if request.type_ is not None: + output["type"] = request.type_ + + if request.upstream_dns_servers is not None: + output["upstream_dns_servers"] = request.upstream_dns_servers + + return output def marshal_CreateIPRequest( request: CreateIPRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "project_id": request.project_id or defaults.default_project_id, - "tags": request.tags, - } + output: Dict[str, Any] = {} + + if request.project_id is not None: + output["project_id"] = request.project_id or defaults.default_project_id + + if request.tags is not None: + output["tags"] = request.tags + + return output def marshal_CreatePATRuleRequest( request: CreatePATRuleRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "gateway_id": request.gateway_id, - "private_ip": request.private_ip, - "private_port": request.private_port, - "protocol": PATRuleProtocol(request.protocol), - "public_port": request.public_port, - } + output: Dict[str, Any] = {} + + if request.gateway_id is not None: + output["gateway_id"] = request.gateway_id + + if request.private_ip is not None: + output["private_ip"] = request.private_ip + + if request.private_port is not None: + output["private_port"] = request.private_port + + if request.protocol is not None: + output["protocol"] = PATRuleProtocol(request.protocol) + + if request.public_port is not None: + output["public_port"] = request.public_port + + return output def marshal_SetDHCPEntriesRequest( request: SetDHCPEntriesRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "dhcp_entries": [ + output: Dict[str, Any] = {} + + if request.dhcp_entries is not None: + output["dhcp_entries"] = [ marshal_SetDHCPEntriesRequestEntry(v, defaults) for v in request.dhcp_entries ] - if request.dhcp_entries is not None - else None, - "gateway_network_id": request.gateway_network_id, - } + + if request.gateway_network_id is not None: + output["gateway_network_id"] = request.gateway_network_id + + return output def marshal_SetPATRulesRequest( request: SetPATRulesRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "gateway_id": request.gateway_id, - "pat_rules": [ + output: Dict[str, Any] = {} + + if request.gateway_id is not None: + output["gateway_id"] = request.gateway_id + + if request.pat_rules is not None: + output["pat_rules"] = [ marshal_SetPATRulesRequestRule(v, defaults) for v in request.pat_rules - ], - } + ] + + return output def marshal_UpdateDHCPEntryRequest( request: UpdateDHCPEntryRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "ip_address": request.ip_address, - } + output: Dict[str, Any] = {} + + if request.ip_address is not None: + output["ip_address"] = request.ip_address + + return output def marshal_UpdateDHCPRequest( request: UpdateDHCPRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "address": request.address, - "dns_local_name": request.dns_local_name, - "dns_search": request.dns_search, - "dns_servers_override": request.dns_servers_override, - "enable_dynamic": request.enable_dynamic, - "pool_high": request.pool_high, - "pool_low": request.pool_low, - "push_default_route": request.push_default_route, - "push_dns_server": request.push_dns_server, - "rebind_timer": request.rebind_timer, - "renew_timer": request.renew_timer, - "subnet": request.subnet, - "valid_lifetime": request.valid_lifetime, - } + output: Dict[str, Any] = {} + + if request.address is not None: + output["address"] = request.address + + if request.dns_local_name is not None: + output["dns_local_name"] = request.dns_local_name + + if request.dns_search is not None: + output["dns_search"] = request.dns_search + + if request.dns_servers_override is not None: + output["dns_servers_override"] = request.dns_servers_override + + if request.enable_dynamic is not None: + output["enable_dynamic"] = request.enable_dynamic + + if request.pool_high is not None: + output["pool_high"] = request.pool_high + + if request.pool_low is not None: + output["pool_low"] = request.pool_low + + if request.push_default_route is not None: + output["push_default_route"] = request.push_default_route + + if request.push_dns_server is not None: + output["push_dns_server"] = request.push_dns_server + + if request.rebind_timer is not None: + output["rebind_timer"] = request.rebind_timer + + if request.renew_timer is not None: + output["renew_timer"] = request.renew_timer + + if request.subnet is not None: + output["subnet"] = request.subnet + + if request.valid_lifetime is not None: + output["valid_lifetime"] = request.valid_lifetime + + return output def marshal_UpdateGatewayNetworkRequest( request: UpdateGatewayNetworkRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - **resolve_one_of( + output: Dict[str, Any] = {} + output.update( + resolve_one_of( [ OneOfPossibility( "dhcp_id", request.dhcp_id if request.dhcp_id is not None else None @@ -718,43 +853,78 @@ def marshal_UpdateGatewayNetworkRequest( ), ] ), - "enable_dhcp": request.enable_dhcp, - "enable_masquerade": request.enable_masquerade, - } + ) + + if request.enable_dhcp is not None: + output["enable_dhcp"] = request.enable_dhcp + + if request.enable_masquerade is not None: + output["enable_masquerade"] = request.enable_masquerade + + return output def marshal_UpdateGatewayRequest( request: UpdateGatewayRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "bastion_port": request.bastion_port, - "enable_bastion": request.enable_bastion, - "enable_smtp": request.enable_smtp, - "name": request.name, - "tags": request.tags, - "upstream_dns_servers": request.upstream_dns_servers, - } + output: Dict[str, Any] = {} + + if request.bastion_port is not None: + output["bastion_port"] = request.bastion_port + + if request.enable_bastion is not None: + output["enable_bastion"] = request.enable_bastion + + if request.enable_smtp is not None: + output["enable_smtp"] = request.enable_smtp + + if request.name is not None: + output["name"] = request.name + + if request.tags is not None: + output["tags"] = request.tags + + if request.upstream_dns_servers is not None: + output["upstream_dns_servers"] = request.upstream_dns_servers + + return output def marshal_UpdateIPRequest( request: UpdateIPRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "gateway_id": request.gateway_id, - "reverse": request.reverse, - "tags": request.tags, - } + output: Dict[str, Any] = {} + + if request.gateway_id is not None: + output["gateway_id"] = request.gateway_id + + if request.reverse is not None: + output["reverse"] = request.reverse + + if request.tags is not None: + output["tags"] = request.tags + + return output def marshal_UpdatePATRuleRequest( request: UpdatePATRuleRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "private_ip": request.private_ip, - "private_port": request.private_port, - "protocol": PATRuleProtocol(request.protocol), - "public_port": request.public_port, - } + output: Dict[str, Any] = {} + + if request.private_ip is not None: + output["private_ip"] = request.private_ip + + if request.private_port is not None: + output["private_port"] = request.private_port + + if request.protocol is not None: + output["protocol"] = PATRuleProtocol(request.protocol) + + if request.public_port is not None: + output["public_port"] = request.public_port + + return output diff --git a/scaleway-async/scaleway_async/webhosting/v1alpha1/marshalling.py b/scaleway-async/scaleway_async/webhosting/v1alpha1/marshalling.py index 032135fc7..04c6d11e0 100644 --- a/scaleway-async/scaleway_async/webhosting/v1alpha1/marshalling.py +++ b/scaleway-async/scaleway_async/webhosting/v1alpha1/marshalling.py @@ -307,23 +307,45 @@ def marshal_CreateHostingRequest( request: CreateHostingRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "domain": request.domain, - "email": request.email, - "offer_id": request.offer_id, - "option_ids": request.option_ids, - "project_id": request.project_id or defaults.default_project_id, - "tags": request.tags, - } + output: Dict[str, Any] = {} + + if request.domain is not None: + output["domain"] = request.domain + + if request.email is not None: + output["email"] = request.email + + if request.offer_id is not None: + output["offer_id"] = request.offer_id + + if request.option_ids is not None: + output["option_ids"] = request.option_ids + + if request.project_id is not None: + output["project_id"] = request.project_id or defaults.default_project_id + + if request.tags is not None: + output["tags"] = request.tags + + return output def marshal_UpdateHostingRequest( request: UpdateHostingRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "email": request.email, - "offer_id": request.offer_id, - "option_ids": request.option_ids, - "tags": request.tags, - } + output: Dict[str, Any] = {} + + if request.email is not None: + output["email"] = request.email + + if request.offer_id is not None: + output["offer_id"] = request.offer_id + + if request.option_ids is not None: + output["option_ids"] = request.option_ids + + if request.tags is not None: + output["tags"] = request.tags + + return output diff --git a/scaleway/scaleway/account/v2/marshalling.py b/scaleway/scaleway/account/v2/marshalling.py index 58d73d99f..cebfd9cfe 100644 --- a/scaleway/scaleway/account/v2/marshalling.py +++ b/scaleway/scaleway/account/v2/marshalling.py @@ -65,18 +65,32 @@ def marshal_CreateProjectRequest( request: CreateProjectRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "description": request.description, - "name": request.name, - "organization_id": request.organization_id or defaults.default_organization_id, - } + output: Dict[str, Any] = {} + + if request.description is not None: + output["description"] = request.description + + if request.name is not None: + output["name"] = request.name + + if request.organization_id is not None: + output["organization_id"] = ( + request.organization_id or defaults.default_organization_id + ) + + return output def marshal_UpdateProjectRequest( request: UpdateProjectRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "description": request.description, - "name": request.name, - } + output: Dict[str, Any] = {} + + if request.description is not None: + output["description"] = request.description + + if request.name is not None: + output["name"] = request.name + + return output diff --git a/scaleway/scaleway/account/v3/marshalling.py b/scaleway/scaleway/account/v3/marshalling.py index c86d673e2..da743f145 100644 --- a/scaleway/scaleway/account/v3/marshalling.py +++ b/scaleway/scaleway/account/v3/marshalling.py @@ -65,18 +65,32 @@ def marshal_ProjectApiCreateProjectRequest( request: ProjectApiCreateProjectRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "description": request.description, - "name": request.name, - "organization_id": request.organization_id or defaults.default_organization_id, - } + output: Dict[str, Any] = {} + + if request.description is not None: + output["description"] = request.description + + if request.name is not None: + output["name"] = request.name + + if request.organization_id is not None: + output["organization_id"] = ( + request.organization_id or defaults.default_organization_id + ) + + return output def marshal_ProjectApiUpdateProjectRequest( request: ProjectApiUpdateProjectRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "description": request.description, - "name": request.name, - } + output: Dict[str, Any] = {} + + if request.description is not None: + output["description"] = request.description + + if request.name is not None: + output["name"] = request.name + + return output diff --git a/scaleway/scaleway/applesilicon/v1alpha1/marshalling.py b/scaleway/scaleway/applesilicon/v1alpha1/marshalling.py index 0d8420cc0..1f0c72576 100644 --- a/scaleway/scaleway/applesilicon/v1alpha1/marshalling.py +++ b/scaleway/scaleway/applesilicon/v1alpha1/marshalling.py @@ -229,17 +229,27 @@ def marshal_CreateServerRequest( request: CreateServerRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "name": request.name, - "project_id": request.project_id or defaults.default_project_id, - "type": request.type_, - } + output: Dict[str, Any] = {} + + if request.name is not None: + output["name"] = request.name + + if request.project_id is not None: + output["project_id"] = request.project_id or defaults.default_project_id + + if request.type_ is not None: + output["type"] = request.type_ + + return output def marshal_UpdateServerRequest( request: UpdateServerRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "name": request.name, - } + output: Dict[str, Any] = {} + + if request.name is not None: + output["name"] = request.name + + return output diff --git a/scaleway/scaleway/baremetal/v1/marshalling.py b/scaleway/scaleway/baremetal/v1/marshalling.py index 04aa25544..09370af3f 100644 --- a/scaleway/scaleway/baremetal/v1/marshalling.py +++ b/scaleway/scaleway/baremetal/v1/marshalling.py @@ -816,32 +816,51 @@ def marshal_CreateServerRequestInstall( request: CreateServerRequestInstall, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "hostname": request.hostname, - "os_id": request.os_id, - "password": request.password, - "service_password": request.service_password, - "service_user": request.service_user, - "ssh_key_ids": request.ssh_key_ids, - "user": request.user, - } + output: Dict[str, Any] = {} + + if request.hostname is not None: + output["hostname"] = request.hostname + + if request.os_id is not None: + output["os_id"] = request.os_id + + if request.password is not None: + output["password"] = request.password + + if request.service_password is not None: + output["service_password"] = request.service_password + + if request.service_user is not None: + output["service_user"] = request.service_user + + if request.ssh_key_ids is not None: + output["ssh_key_ids"] = request.ssh_key_ids + + if request.user is not None: + output["user"] = request.user + + return output def marshal_AddOptionServerRequest( request: AddOptionServerRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "expires_at": request.expires_at, - } + output: Dict[str, Any] = {} + + if request.expires_at is not None: + output["expires_at"] = request.expires_at + + return output def marshal_CreateServerRequest( request: CreateServerRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - **resolve_one_of( + output: Dict[str, Any] = {} + output.update( + resolve_one_of( [ OneOfPossibility( "project_id", @@ -859,101 +878,158 @@ def marshal_CreateServerRequest( ), ] ), - "description": request.description, - "install": marshal_CreateServerRequestInstall(request.install, defaults) - if request.install is not None - else None, - "name": request.name, - "offer_id": request.offer_id, - "option_ids": request.option_ids, - "tags": request.tags, - } + ) + + if request.description is not None: + output["description"] = request.description + + if request.install is not None: + output["install"] = marshal_CreateServerRequestInstall( + request.install, defaults + ) + + if request.name is not None: + output["name"] = request.name + + if request.offer_id is not None: + output["offer_id"] = request.offer_id + + if request.option_ids is not None: + output["option_ids"] = request.option_ids + + if request.tags is not None: + output["tags"] = request.tags + + return output def marshal_InstallServerRequest( request: InstallServerRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "hostname": request.hostname, - "os_id": request.os_id, - "password": request.password, - "service_password": request.service_password, - "service_user": request.service_user, - "ssh_key_ids": request.ssh_key_ids, - "user": request.user, - } + output: Dict[str, Any] = {} + + if request.hostname is not None: + output["hostname"] = request.hostname + + if request.os_id is not None: + output["os_id"] = request.os_id + + if request.password is not None: + output["password"] = request.password + + if request.service_password is not None: + output["service_password"] = request.service_password + + if request.service_user is not None: + output["service_user"] = request.service_user + + if request.ssh_key_ids is not None: + output["ssh_key_ids"] = request.ssh_key_ids + + if request.user is not None: + output["user"] = request.user + + return output def marshal_PrivateNetworkApiAddServerPrivateNetworkRequest( request: PrivateNetworkApiAddServerPrivateNetworkRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "private_network_id": request.private_network_id, - } + output: Dict[str, Any] = {} + + if request.private_network_id is not None: + output["private_network_id"] = request.private_network_id + + return output def marshal_PrivateNetworkApiSetServerPrivateNetworksRequest( request: PrivateNetworkApiSetServerPrivateNetworksRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "private_network_ids": request.private_network_ids, - } + output: Dict[str, Any] = {} + + if request.private_network_ids is not None: + output["private_network_ids"] = request.private_network_ids + + return output def marshal_RebootServerRequest( request: RebootServerRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "boot_type": ServerBootType(request.boot_type), - } + output: Dict[str, Any] = {} + + if request.boot_type is not None: + output["boot_type"] = ServerBootType(request.boot_type) + + return output def marshal_StartBMCAccessRequest( request: StartBMCAccessRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "ip": request.ip, - } + output: Dict[str, Any] = {} + + if request.ip is not None: + output["ip"] = request.ip + + return output def marshal_StartServerRequest( request: StartServerRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "boot_type": ServerBootType(request.boot_type), - } + output: Dict[str, Any] = {} + + if request.boot_type is not None: + output["boot_type"] = ServerBootType(request.boot_type) + + return output def marshal_UpdateIPRequest( request: UpdateIPRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "reverse": request.reverse, - } + output: Dict[str, Any] = {} + + if request.reverse is not None: + output["reverse"] = request.reverse + + return output def marshal_UpdateServerRequest( request: UpdateServerRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "description": request.description, - "name": request.name, - "tags": request.tags, - } + output: Dict[str, Any] = {} + + if request.description is not None: + output["description"] = request.description + + if request.name is not None: + output["name"] = request.name + + if request.tags is not None: + output["tags"] = request.tags + + return output def marshal_UpdateSettingRequest( request: UpdateSettingRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "enabled": request.enabled, - } + output: Dict[str, Any] = {} + + if request.enabled is not None: + output["enabled"] = request.enabled + + return output diff --git a/scaleway/scaleway/cockpit/v1beta1/marshalling.py b/scaleway/scaleway/cockpit/v1beta1/marshalling.py index b5368350e..160b89a93 100644 --- a/scaleway/scaleway/cockpit/v1beta1/marshalling.py +++ b/scaleway/scaleway/cockpit/v1beta1/marshalling.py @@ -355,17 +355,21 @@ def marshal_ContactPointEmail( request: ContactPointEmail, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "to": request.to, - } + output: Dict[str, Any] = {} + + if request.to is not None: + output["to"] = request.to + + return output def marshal_ContactPoint( request: ContactPoint, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - **resolve_one_of( + output: Dict[str, Any] = {} + output.update( + resolve_one_of( [ OneOfPossibility( "email", @@ -375,149 +379,213 @@ def marshal_ContactPoint( ), ] ), - } + ) + + return output def marshal_TokenScopes( request: TokenScopes, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "query_logs": request.query_logs, - "query_metrics": request.query_metrics, - "setup_alerts": request.setup_alerts, - "setup_logs_rules": request.setup_logs_rules, - "setup_metrics_rules": request.setup_metrics_rules, - "write_logs": request.write_logs, - "write_metrics": request.write_metrics, - } + output: Dict[str, Any] = {} + + if request.query_logs is not None: + output["query_logs"] = request.query_logs + + if request.query_metrics is not None: + output["query_metrics"] = request.query_metrics + + if request.setup_alerts is not None: + output["setup_alerts"] = request.setup_alerts + + if request.setup_logs_rules is not None: + output["setup_logs_rules"] = request.setup_logs_rules + + if request.setup_metrics_rules is not None: + output["setup_metrics_rules"] = request.setup_metrics_rules + + if request.write_logs is not None: + output["write_logs"] = request.write_logs + + if request.write_metrics is not None: + output["write_metrics"] = request.write_metrics + + return output def marshal_ActivateCockpitRequest( request: ActivateCockpitRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "project_id": request.project_id or defaults.default_project_id, - } + output: Dict[str, Any] = {} + + if request.project_id is not None: + output["project_id"] = request.project_id or defaults.default_project_id + + return output def marshal_CreateContactPointRequest( request: CreateContactPointRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "contact_point": marshal_ContactPoint(request.contact_point, defaults) - if request.contact_point is not None - else None, - "project_id": request.project_id or defaults.default_project_id, - } + output: Dict[str, Any] = {} + + if request.contact_point is not None: + output["contact_point"] = marshal_ContactPoint(request.contact_point, defaults) + + if request.project_id is not None: + output["project_id"] = request.project_id or defaults.default_project_id + + return output def marshal_CreateGrafanaUserRequest( request: CreateGrafanaUserRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "login": request.login, - "project_id": request.project_id or defaults.default_project_id, - "role": GrafanaUserRole(request.role), - } + output: Dict[str, Any] = {} + + if request.login is not None: + output["login"] = request.login + + if request.project_id is not None: + output["project_id"] = request.project_id or defaults.default_project_id + + if request.role is not None: + output["role"] = GrafanaUserRole(request.role) + + return output def marshal_CreateTokenRequest( request: CreateTokenRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "name": request.name, - "project_id": request.project_id or defaults.default_project_id, - "scopes": marshal_TokenScopes(request.scopes, defaults) - if request.scopes is not None - else None, - } + output: Dict[str, Any] = {} + + if request.name is not None: + output["name"] = request.name + + if request.project_id is not None: + output["project_id"] = request.project_id or defaults.default_project_id + + if request.scopes is not None: + output["scopes"] = marshal_TokenScopes(request.scopes, defaults) + + return output def marshal_DeactivateCockpitRequest( request: DeactivateCockpitRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "project_id": request.project_id or defaults.default_project_id, - } + output: Dict[str, Any] = {} + + if request.project_id is not None: + output["project_id"] = request.project_id or defaults.default_project_id + + return output def marshal_DeleteContactPointRequest( request: DeleteContactPointRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "contact_point": marshal_ContactPoint(request.contact_point, defaults) - if request.contact_point is not None - else None, - "project_id": request.project_id or defaults.default_project_id, - } + output: Dict[str, Any] = {} + + if request.contact_point is not None: + output["contact_point"] = marshal_ContactPoint(request.contact_point, defaults) + + if request.project_id is not None: + output["project_id"] = request.project_id or defaults.default_project_id + + return output def marshal_DeleteGrafanaUserRequest( request: DeleteGrafanaUserRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "project_id": request.project_id or defaults.default_project_id, - } + output: Dict[str, Any] = {} + + if request.project_id is not None: + output["project_id"] = request.project_id or defaults.default_project_id + + return output def marshal_DisableManagedAlertsRequest( request: DisableManagedAlertsRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "project_id": request.project_id or defaults.default_project_id, - } + output: Dict[str, Any] = {} + + if request.project_id is not None: + output["project_id"] = request.project_id or defaults.default_project_id + + return output def marshal_EnableManagedAlertsRequest( request: EnableManagedAlertsRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "project_id": request.project_id or defaults.default_project_id, - } + output: Dict[str, Any] = {} + + if request.project_id is not None: + output["project_id"] = request.project_id or defaults.default_project_id + + return output def marshal_ResetCockpitGrafanaRequest( request: ResetCockpitGrafanaRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "project_id": request.project_id or defaults.default_project_id, - } + output: Dict[str, Any] = {} + + if request.project_id is not None: + output["project_id"] = request.project_id or defaults.default_project_id + + return output def marshal_ResetGrafanaUserPasswordRequest( request: ResetGrafanaUserPasswordRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "project_id": request.project_id or defaults.default_project_id, - } + output: Dict[str, Any] = {} + + if request.project_id is not None: + output["project_id"] = request.project_id or defaults.default_project_id + + return output def marshal_SelectPlanRequest( request: SelectPlanRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "plan_id": request.plan_id, - "project_id": request.project_id or defaults.default_project_id, - } + output: Dict[str, Any] = {} + + if request.plan_id is not None: + output["plan_id"] = request.plan_id + + if request.project_id is not None: + output["project_id"] = request.project_id or defaults.default_project_id + + return output def marshal_TriggerTestAlertRequest( request: TriggerTestAlertRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "project_id": request.project_id or defaults.default_project_id, - } + output: Dict[str, Any] = {} + + if request.project_id is not None: + output["project_id"] = request.project_id or defaults.default_project_id + + return output diff --git a/scaleway/scaleway/container/v1beta1/marshalling.py b/scaleway/scaleway/container/v1beta1/marshalling.py index 9c26a52dd..fe5b82f77 100644 --- a/scaleway/scaleway/container/v1beta1/marshalling.py +++ b/scaleway/scaleway/container/v1beta1/marshalling.py @@ -566,131 +566,223 @@ def marshal_CreateTriggerRequestMnqNatsClientConfig( request: CreateTriggerRequestMnqNatsClientConfig, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "mnq_namespace_id": request.mnq_namespace_id, - "mnq_project_id": request.mnq_project_id, - "mnq_region": request.mnq_region, - "subject": request.subject, - } + output: Dict[str, Any] = {} + + if request.mnq_namespace_id is not None: + output["mnq_namespace_id"] = request.mnq_namespace_id + + if request.mnq_project_id is not None: + output["mnq_project_id"] = request.mnq_project_id + + if request.mnq_region is not None: + output["mnq_region"] = request.mnq_region + + if request.subject is not None: + output["subject"] = request.subject + + return output def marshal_CreateTriggerRequestMnqSqsClientConfig( request: CreateTriggerRequestMnqSqsClientConfig, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "mnq_namespace_id": request.mnq_namespace_id, - "mnq_project_id": request.mnq_project_id, - "mnq_region": request.mnq_region, - "queue": request.queue, - } + output: Dict[str, Any] = {} + + if request.mnq_namespace_id is not None: + output["mnq_namespace_id"] = request.mnq_namespace_id + + if request.mnq_project_id is not None: + output["mnq_project_id"] = request.mnq_project_id + + if request.mnq_region is not None: + output["mnq_region"] = request.mnq_region + + if request.queue is not None: + output["queue"] = request.queue + + return output def marshal_CreateTriggerRequestSqsClientConfig( request: CreateTriggerRequestSqsClientConfig, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "access_key": request.access_key, - "endpoint": request.endpoint, - "queue_url": request.queue_url, - "secret_key": request.secret_key, - } + output: Dict[str, Any] = {} + + if request.access_key is not None: + output["access_key"] = request.access_key + + if request.endpoint is not None: + output["endpoint"] = request.endpoint + + if request.queue_url is not None: + output["queue_url"] = request.queue_url + + if request.secret_key is not None: + output["secret_key"] = request.secret_key + + return output def marshal_Secret( request: Secret, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "key": request.key, - "value": request.value, - } + output: Dict[str, Any] = {} + + if request.key is not None: + output["key"] = request.key + + if request.value is not None: + output["value"] = request.value + + return output def marshal_UpdateTriggerRequestSqsClientConfig( request: UpdateTriggerRequestSqsClientConfig, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "access_key": request.access_key, - "secret_key": request.secret_key, - } + output: Dict[str, Any] = {} + + if request.access_key is not None: + output["access_key"] = request.access_key + + if request.secret_key is not None: + output["secret_key"] = request.secret_key + + return output def marshal_CreateContainerRequest( request: CreateContainerRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "cpu_limit": request.cpu_limit, - "description": request.description, - "environment_variables": request.environment_variables, - "http_option": ContainerHttpOption(request.http_option), - "max_concurrency": request.max_concurrency, - "max_scale": request.max_scale, - "memory_limit": request.memory_limit, - "min_scale": request.min_scale, - "name": request.name, - "namespace_id": request.namespace_id, - "port": request.port, - "privacy": ContainerPrivacy(request.privacy), - "protocol": ContainerProtocol(request.protocol), - "registry_image": request.registry_image, - "secret_environment_variables": [ + output: Dict[str, Any] = {} + + if request.cpu_limit is not None: + output["cpu_limit"] = request.cpu_limit + + if request.description is not None: + output["description"] = request.description + + if request.environment_variables is not None: + output["environment_variables"] = request.environment_variables + + if request.http_option is not None: + output["http_option"] = ContainerHttpOption(request.http_option) + + if request.max_concurrency is not None: + output["max_concurrency"] = request.max_concurrency + + if request.max_scale is not None: + output["max_scale"] = request.max_scale + + if request.memory_limit is not None: + output["memory_limit"] = request.memory_limit + + if request.min_scale is not None: + output["min_scale"] = request.min_scale + + if request.name is not None: + output["name"] = request.name + + if request.namespace_id is not None: + output["namespace_id"] = request.namespace_id + + if request.port is not None: + output["port"] = request.port + + if request.privacy is not None: + output["privacy"] = ContainerPrivacy(request.privacy) + + if request.protocol is not None: + output["protocol"] = ContainerProtocol(request.protocol) + + if request.registry_image is not None: + output["registry_image"] = request.registry_image + + if request.secret_environment_variables is not None: + output["secret_environment_variables"] = [ marshal_Secret(v, defaults) for v in request.secret_environment_variables ] - if request.secret_environment_variables is not None - else None, - "timeout": request.timeout, - } + + if request.timeout is not None: + output["timeout"] = request.timeout + + return output def marshal_CreateCronRequest( request: CreateCronRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "args": request.args, - "container_id": request.container_id, - "name": request.name, - "schedule": request.schedule, - } + output: Dict[str, Any] = {} + + if request.args is not None: + output["args"] = request.args + + if request.container_id is not None: + output["container_id"] = request.container_id + + if request.name is not None: + output["name"] = request.name + + if request.schedule is not None: + output["schedule"] = request.schedule + + return output def marshal_CreateDomainRequest( request: CreateDomainRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "container_id": request.container_id, - "hostname": request.hostname, - } + output: Dict[str, Any] = {} + + if request.container_id is not None: + output["container_id"] = request.container_id + + if request.hostname is not None: + output["hostname"] = request.hostname + + return output def marshal_CreateNamespaceRequest( request: CreateNamespaceRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "description": request.description, - "environment_variables": request.environment_variables, - "name": request.name, - "project_id": request.project_id or defaults.default_project_id, - "secret_environment_variables": [ + output: Dict[str, Any] = {} + + if request.description is not None: + output["description"] = request.description + + if request.environment_variables is not None: + output["environment_variables"] = request.environment_variables + + if request.name is not None: + output["name"] = request.name + + if request.project_id is not None: + output["project_id"] = request.project_id or defaults.default_project_id + + if request.secret_environment_variables is not None: + output["secret_environment_variables"] = [ marshal_Secret(v, defaults) for v in request.secret_environment_variables ] - if request.secret_environment_variables is not None - else None, - } + + return output def marshal_CreateTokenRequest( request: CreateTokenRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - **resolve_one_of( + output: Dict[str, Any] = {} + output.update( + resolve_one_of( [ OneOfPossibility( "container_id", @@ -702,17 +794,24 @@ def marshal_CreateTokenRequest( ), ] ), - "description": request.description, - "expires_at": request.expires_at, - } + ) + + if request.description is not None: + output["description"] = request.description + + if request.expires_at is not None: + output["expires_at"] = request.expires_at + + return output def marshal_CreateTriggerRequest( request: CreateTriggerRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - **resolve_one_of( + output: Dict[str, Any] = {} + output.update( + resolve_one_of( [ OneOfPossibility( "scw_sqs_config", @@ -740,72 +839,124 @@ def marshal_CreateTriggerRequest( ), ] ), - "container_id": request.container_id, - "description": request.description, - "name": request.name, - } + ) + + if request.container_id is not None: + output["container_id"] = request.container_id + + if request.description is not None: + output["description"] = request.description + + if request.name is not None: + output["name"] = request.name + + return output def marshal_UpdateContainerRequest( request: UpdateContainerRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "cpu_limit": request.cpu_limit, - "description": request.description, - "environment_variables": request.environment_variables, - "http_option": ContainerHttpOption(request.http_option), - "max_concurrency": request.max_concurrency, - "max_scale": request.max_scale, - "memory_limit": request.memory_limit, - "min_scale": request.min_scale, - "port": request.port, - "privacy": ContainerPrivacy(request.privacy), - "protocol": ContainerProtocol(request.protocol), - "redeploy": request.redeploy, - "registry_image": request.registry_image, - "secret_environment_variables": [ + output: Dict[str, Any] = {} + + if request.cpu_limit is not None: + output["cpu_limit"] = request.cpu_limit + + if request.description is not None: + output["description"] = request.description + + if request.environment_variables is not None: + output["environment_variables"] = request.environment_variables + + if request.http_option is not None: + output["http_option"] = ContainerHttpOption(request.http_option) + + if request.max_concurrency is not None: + output["max_concurrency"] = request.max_concurrency + + if request.max_scale is not None: + output["max_scale"] = request.max_scale + + if request.memory_limit is not None: + output["memory_limit"] = request.memory_limit + + if request.min_scale is not None: + output["min_scale"] = request.min_scale + + if request.port is not None: + output["port"] = request.port + + if request.privacy is not None: + output["privacy"] = ContainerPrivacy(request.privacy) + + if request.protocol is not None: + output["protocol"] = ContainerProtocol(request.protocol) + + if request.redeploy is not None: + output["redeploy"] = request.redeploy + + if request.registry_image is not None: + output["registry_image"] = request.registry_image + + if request.secret_environment_variables is not None: + output["secret_environment_variables"] = [ marshal_Secret(v, defaults) for v in request.secret_environment_variables ] - if request.secret_environment_variables is not None - else None, - "timeout": request.timeout, - } + + if request.timeout is not None: + output["timeout"] = request.timeout + + return output def marshal_UpdateCronRequest( request: UpdateCronRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "args": request.args, - "container_id": request.container_id, - "name": request.name, - "schedule": request.schedule, - } + output: Dict[str, Any] = {} + + if request.args is not None: + output["args"] = request.args + + if request.container_id is not None: + output["container_id"] = request.container_id + + if request.name is not None: + output["name"] = request.name + + if request.schedule is not None: + output["schedule"] = request.schedule + + return output def marshal_UpdateNamespaceRequest( request: UpdateNamespaceRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "description": request.description, - "environment_variables": request.environment_variables, - "secret_environment_variables": [ + output: Dict[str, Any] = {} + + if request.description is not None: + output["description"] = request.description + + if request.environment_variables is not None: + output["environment_variables"] = request.environment_variables + + if request.secret_environment_variables is not None: + output["secret_environment_variables"] = [ marshal_Secret(v, defaults) for v in request.secret_environment_variables ] - if request.secret_environment_variables is not None - else None, - } + + return output def marshal_UpdateTriggerRequest( request: UpdateTriggerRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - **resolve_one_of( + output: Dict[str, Any] = {} + output.update( + resolve_one_of( [ OneOfPossibility( "sqs_config", @@ -817,6 +968,12 @@ def marshal_UpdateTriggerRequest( ), ] ), - "description": request.description, - "name": request.name, - } + ) + + if request.description is not None: + output["description"] = request.description + + if request.name is not None: + output["name"] = request.name + + return output diff --git a/scaleway/scaleway/domain/v2beta1/marshalling.py b/scaleway/scaleway/domain/v2beta1/marshalling.py index 5b00379bd..2d20eccf4 100644 --- a/scaleway/scaleway/domain/v2beta1/marshalling.py +++ b/scaleway/scaleway/domain/v2beta1/marshalling.py @@ -1794,143 +1794,205 @@ def marshal_DomainRecordGeoIPConfigMatch( request: DomainRecordGeoIPConfigMatch, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "continents": request.continents, - "countries": request.countries, - "data": request.data, - } + output: Dict[str, Any] = {} + + if request.continents is not None: + output["continents"] = request.continents + + if request.countries is not None: + output["countries"] = request.countries + + if request.data is not None: + output["data"] = request.data + + return output def marshal_DomainRecordViewConfigView( request: DomainRecordViewConfigView, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "data": request.data, - "subnet": request.subnet, - } + output: Dict[str, Any] = {} + + if request.data is not None: + output["data"] = request.data + + if request.subnet is not None: + output["subnet"] = request.subnet + + return output def marshal_DomainRecordWeightedConfigWeightedIP( request: DomainRecordWeightedConfigWeightedIP, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "ip": request.ip, - "weight": request.weight, - } + output: Dict[str, Any] = {} + + if request.ip is not None: + output["ip"] = request.ip + + if request.weight is not None: + output["weight"] = request.weight + + return output def marshal_DomainRecordGeoIPConfig( request: DomainRecordGeoIPConfig, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "default": request.default, - "matches": [ + output: Dict[str, Any] = {} + + if request.default is not None: + output["default"] = request.default + + if request.matches is not None: + output["matches"] = [ marshal_DomainRecordGeoIPConfigMatch(v, defaults) for v in request.matches - ], - } + ] + + return output def marshal_DomainRecordHTTPServiceConfig( request: DomainRecordHTTPServiceConfig, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "ips": request.ips, - "must_contain": request.must_contain, - "strategy": DomainRecordHTTPServiceConfigStrategy(request.strategy), - "url": request.url, - "user_agent": request.user_agent, - } + output: Dict[str, Any] = {} + + if request.ips is not None: + output["ips"] = request.ips + + if request.must_contain is not None: + output["must_contain"] = request.must_contain + + if request.strategy is not None: + output["strategy"] = DomainRecordHTTPServiceConfigStrategy(request.strategy) + + if request.url is not None: + output["url"] = request.url + + if request.user_agent is not None: + output["user_agent"] = request.user_agent + + return output def marshal_DomainRecordViewConfig( request: DomainRecordViewConfig, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "views": [ + output: Dict[str, Any] = {} + + if request.views is not None: + output["views"] = [ marshal_DomainRecordViewConfigView(v, defaults) for v in request.views - ], - } + ] + + return output def marshal_DomainRecordWeightedConfig( request: DomainRecordWeightedConfig, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "weighted_ips": [ + output: Dict[str, Any] = {} + + if request.weighted_ips is not None: + output["weighted_ips"] = [ marshal_DomainRecordWeightedConfigWeightedIP(v, defaults) for v in request.weighted_ips - ], - } + ] + + return output def marshal_ContactExtensionFRAssociationInfo( request: ContactExtensionFRAssociationInfo, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "publication_jo": request.publication_jo, - "publication_jo_page": request.publication_jo_page, - } + output: Dict[str, Any] = {} + + if request.publication_jo is not None: + output["publication_jo"] = request.publication_jo + + if request.publication_jo_page is not None: + output["publication_jo_page"] = request.publication_jo_page + + return output def marshal_ContactExtensionFRCodeAuthAfnicInfo( request: ContactExtensionFRCodeAuthAfnicInfo, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "code_auth_afnic": request.code_auth_afnic, - } + output: Dict[str, Any] = {} + + if request.code_auth_afnic is not None: + output["code_auth_afnic"] = request.code_auth_afnic + + return output def marshal_ContactExtensionFRDunsInfo( request: ContactExtensionFRDunsInfo, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "duns_id": request.duns_id, - "local_id": request.local_id, - } + output: Dict[str, Any] = {} + + if request.duns_id is not None: + output["duns_id"] = request.duns_id + + if request.local_id is not None: + output["local_id"] = request.local_id + + return output def marshal_ContactExtensionFRIndividualInfo( request: ContactExtensionFRIndividualInfo, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "whois_opt_in": request.whois_opt_in, - } + output: Dict[str, Any] = {} + + if request.whois_opt_in is not None: + output["whois_opt_in"] = request.whois_opt_in + + return output def marshal_ContactExtensionFRTrademarkInfo( request: ContactExtensionFRTrademarkInfo, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "trademark_inpi": request.trademark_inpi, - } + output: Dict[str, Any] = {} + + if request.trademark_inpi is not None: + output["trademark_inpi"] = request.trademark_inpi + + return output def marshal_DSRecordPublicKey( request: DSRecordPublicKey, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "key": request.key, - } + output: Dict[str, Any] = {} + + if request.key is not None: + output["key"] = request.key + + return output def marshal_DomainRecord( request: DomainRecord, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - **resolve_one_of( + output: Dict[str, Any] = {} + output.update( + resolve_one_of( [ OneOfPossibility( "geo_ip_config", @@ -1962,43 +2024,72 @@ def marshal_DomainRecord( ), ] ), - "comment": request.comment, - "data": request.data, - "id": request.id, - "name": request.name, - "priority": request.priority, - "ttl": request.ttl, - "type": DomainRecordType(request.type_), - } + ) + + if request.comment is not None: + output["comment"] = request.comment + + if request.data is not None: + output["data"] = request.data + + if request.id is not None: + output["id"] = request.id + + if request.name is not None: + output["name"] = request.name + + if request.priority is not None: + output["priority"] = request.priority + + if request.ttl is not None: + output["ttl"] = request.ttl + + if request.type_ is not None: + output["type"] = DomainRecordType(request.type_) + + return output def marshal_RecordIdentifier( request: RecordIdentifier, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "data": request.data, - "name": request.name, - "ttl": request.ttl, - "type": DomainRecordType(request.type_), - } + output: Dict[str, Any] = {} + + if request.data is not None: + output["data"] = request.data + + if request.name is not None: + output["name"] = request.name + + if request.ttl is not None: + output["ttl"] = request.ttl + + if request.type_ is not None: + output["type"] = DomainRecordType(request.type_) + + return output def marshal_ContactExtensionEU( request: ContactExtensionEU, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "european_citizenship": request.european_citizenship, - } + output: Dict[str, Any] = {} + + if request.european_citizenship is not None: + output["european_citizenship"] = request.european_citizenship + + return output def marshal_ContactExtensionFR( request: ContactExtensionFR, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - **resolve_one_of( + output: Dict[str, Any] = {} + output.update( + resolve_one_of( [ OneOfPossibility( "individual_info", @@ -2040,76 +2131,110 @@ def marshal_ContactExtensionFR( ), ] ), - "mode": ContactExtensionFRMode(request.mode), - } + ) + + if request.mode is not None: + output["mode"] = ContactExtensionFRMode(request.mode) + + return output def marshal_ContactExtensionNL( request: ContactExtensionNL, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "legal_form": ContactExtensionNLLegalForm(request.legal_form), - "legal_form_registration_number": request.legal_form_registration_number, - } + output: Dict[str, Any] = {} + + if request.legal_form is not None: + output["legal_form"] = ContactExtensionNLLegalForm(request.legal_form) + + if request.legal_form_registration_number is not None: + output[ + "legal_form_registration_number" + ] = request.legal_form_registration_number + + return output def marshal_ContactQuestion( request: ContactQuestion, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "answer": request.answer, - "question": request.question, - } + output: Dict[str, Any] = {} + + if request.answer is not None: + output["answer"] = request.answer + + if request.question is not None: + output["question"] = request.question + + return output def marshal_DSRecordDigest( request: DSRecordDigest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "digest": request.digest, - "public_key": marshal_DSRecordPublicKey(request.public_key, defaults) - if request.public_key is not None - else None, - "type": DSRecordDigestType(request.type_), - } + output: Dict[str, Any] = {} + + if request.digest is not None: + output["digest"] = request.digest + + if request.public_key is not None: + output["public_key"] = marshal_DSRecordPublicKey(request.public_key, defaults) + + if request.type_ is not None: + output["type"] = DSRecordDigestType(request.type_) + + return output def marshal_ImportRawDNSZoneRequestTsigKey( request: ImportRawDNSZoneRequestTsigKey, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "algorithm": request.algorithm, - "key": request.key, - "name": request.name, - } + output: Dict[str, Any] = {} + + if request.algorithm is not None: + output["algorithm"] = request.algorithm + + if request.key is not None: + output["key"] = request.key + + if request.name is not None: + output["name"] = request.name + + return output def marshal_RecordChangeAdd( request: RecordChangeAdd, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "records": [marshal_DomainRecord(v, defaults) for v in request.records], - } + output: Dict[str, Any] = {} + + if request.records is not None: + output["records"] = [marshal_DomainRecord(v, defaults) for v in request.records] + + return output def marshal_RecordChangeClear( request: RecordChangeClear, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return {} + output: Dict[str, Any] = {} + + return output def marshal_RecordChangeDelete( request: RecordChangeDelete, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - **resolve_one_of( + output: Dict[str, Any] = {} + output.update( + resolve_one_of( [ OneOfPossibility("id", request.id if request.id is not None else None), OneOfPossibility( @@ -2120,15 +2245,18 @@ def marshal_RecordChangeDelete( ), ] ), - } + ) + + return output def marshal_RecordChangeSet( request: RecordChangeSet, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - **resolve_one_of( + output: Dict[str, Any] = {} + output.update( + resolve_one_of( [ OneOfPossibility("id", request.id if request.id is not None else None), OneOfPossibility( @@ -2139,16 +2267,21 @@ def marshal_RecordChangeSet( ), ] ), - "records": [marshal_DomainRecord(v, defaults) for v in request.records], - } + ) + + if request.records is not None: + output["records"] = [marshal_DomainRecord(v, defaults) for v in request.records] + + return output def marshal_DSRecord( request: DSRecord, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - **resolve_one_of( + output: Dict[str, Any] = {} + output.update( + resolve_one_of( [ OneOfPossibility( "digest", @@ -2164,96 +2297,166 @@ def marshal_DSRecord( ), ] ), - "algorithm": DSRecordAlgorithm(request.algorithm), - "key_id": request.key_id, - } + ) + + if request.algorithm is not None: + output["algorithm"] = DSRecordAlgorithm(request.algorithm) + + if request.key_id is not None: + output["key_id"] = request.key_id + + return output def marshal_ImportProviderDNSZoneRequestOnlineV1( request: ImportProviderDNSZoneRequestOnlineV1, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "token": request.token, - } + output: Dict[str, Any] = {} + + if request.token is not None: + output["token"] = request.token + + return output def marshal_ImportRawDNSZoneRequestAXFRSource( request: ImportRawDNSZoneRequestAXFRSource, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "name_server": request.name_server, - "tsig_key": marshal_ImportRawDNSZoneRequestTsigKey(request.tsig_key, defaults) - if request.tsig_key is not None - else None, - } + output: Dict[str, Any] = {} + + if request.name_server is not None: + output["name_server"] = request.name_server + + if request.tsig_key is not None: + output["tsig_key"] = marshal_ImportRawDNSZoneRequestTsigKey( + request.tsig_key, defaults + ) + + return output def marshal_ImportRawDNSZoneRequestBindSource( request: ImportRawDNSZoneRequestBindSource, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "content": request.content, - } + output: Dict[str, Any] = {} + + if request.content is not None: + output["content"] = request.content + + return output def marshal_Nameserver( request: Nameserver, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "ip": request.ip, - "name": request.name, - } + output: Dict[str, Any] = {} + + if request.ip is not None: + output["ip"] = request.ip + + if request.name is not None: + output["name"] = request.name + + return output def marshal_NewContact( request: NewContact, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "address_line_1": request.address_line_1, - "address_line_2": request.address_line_2, - "city": request.city, - "company_identification_code": request.company_identification_code, - "company_name": request.company_name, - "country": request.country, - "email": request.email, - "email_alt": request.email_alt, - "extension_eu": marshal_ContactExtensionEU(request.extension_eu, defaults) - if request.extension_eu is not None - else None, - "extension_fr": marshal_ContactExtensionFR(request.extension_fr, defaults) - if request.extension_fr is not None - else None, - "extension_nl": marshal_ContactExtensionNL(request.extension_nl, defaults) - if request.extension_nl is not None - else None, - "fax_number": request.fax_number, - "firstname": request.firstname, - "lang": LanguageCode(request.lang), - "lastname": request.lastname, - "legal_form": ContactLegalForm(request.legal_form), - "phone_number": request.phone_number, - "questions": [marshal_ContactQuestion(v, defaults) for v in request.questions] - if request.questions is not None - else None, - "resale": request.resale, - "state": request.state, - "vat_identification_code": request.vat_identification_code, - "whois_opt_in": request.whois_opt_in, - "zip": request.zip, - } + output: Dict[str, Any] = {} + + if request.address_line_1 is not None: + output["address_line_1"] = request.address_line_1 + + if request.address_line_2 is not None: + output["address_line_2"] = request.address_line_2 + + if request.city is not None: + output["city"] = request.city + + if request.company_identification_code is not None: + output["company_identification_code"] = request.company_identification_code + + if request.company_name is not None: + output["company_name"] = request.company_name + + if request.country is not None: + output["country"] = request.country + + if request.email is not None: + output["email"] = request.email + + if request.email_alt is not None: + output["email_alt"] = request.email_alt + + if request.extension_eu is not None: + output["extension_eu"] = marshal_ContactExtensionEU( + request.extension_eu, defaults + ) + + if request.extension_fr is not None: + output["extension_fr"] = marshal_ContactExtensionFR( + request.extension_fr, defaults + ) + + if request.extension_nl is not None: + output["extension_nl"] = marshal_ContactExtensionNL( + request.extension_nl, defaults + ) + + if request.fax_number is not None: + output["fax_number"] = request.fax_number + + if request.firstname is not None: + output["firstname"] = request.firstname + + if request.lang is not None: + output["lang"] = LanguageCode(request.lang) + + if request.lastname is not None: + output["lastname"] = request.lastname + + if request.legal_form is not None: + output["legal_form"] = ContactLegalForm(request.legal_form) + + if request.phone_number is not None: + output["phone_number"] = request.phone_number + + if request.questions is not None: + output["questions"] = [ + marshal_ContactQuestion(v, defaults) for v in request.questions + ] + + if request.resale is not None: + output["resale"] = request.resale + + if request.state is not None: + output["state"] = request.state + + if request.vat_identification_code is not None: + output["vat_identification_code"] = request.vat_identification_code + + if request.whois_opt_in is not None: + output["whois_opt_in"] = request.whois_opt_in + + if request.zip is not None: + output["zip"] = request.zip + + return output def marshal_RecordChange( request: RecordChange, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - **resolve_one_of( + output: Dict[str, Any] = {} + output.update( + resolve_one_of( [ OneOfPossibility( "add", @@ -2281,67 +2484,99 @@ def marshal_RecordChange( ), ] ), - } + ) + + return output def marshal_TransferInDomainRequestTransferRequest( request: TransferInDomainRequestTransferRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "auth_code": request.auth_code, - "domain": request.domain, - } + output: Dict[str, Any] = {} + + if request.auth_code is not None: + output["auth_code"] = request.auth_code + + if request.domain is not None: + output["domain"] = request.domain + + return output def marshal_UpdateContactRequestQuestion( request: UpdateContactRequestQuestion, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "answer": request.answer, - "question": request.question, - } + output: Dict[str, Any] = {} + + if request.answer is not None: + output["answer"] = request.answer + + if request.question is not None: + output["question"] = request.question + + return output def marshal_CloneDNSZoneRequest( request: CloneDNSZoneRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "dest_dns_zone": request.dest_dns_zone, - "overwrite": request.overwrite, - "project_id": request.project_id or defaults.default_project_id, - } + output: Dict[str, Any] = {} + + if request.dest_dns_zone is not None: + output["dest_dns_zone"] = request.dest_dns_zone + + if request.overwrite is not None: + output["overwrite"] = request.overwrite + + if request.project_id is not None: + output["project_id"] = request.project_id or defaults.default_project_id + + return output def marshal_CreateDNSZoneRequest( request: CreateDNSZoneRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "domain": request.domain, - "project_id": request.project_id or defaults.default_project_id, - "subdomain": request.subdomain, - } + output: Dict[str, Any] = {} + + if request.domain is not None: + output["domain"] = request.domain + + if request.project_id is not None: + output["project_id"] = request.project_id or defaults.default_project_id + + if request.subdomain is not None: + output["subdomain"] = request.subdomain + + return output def marshal_CreateSSLCertificateRequest( request: CreateSSLCertificateRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "alternative_dns_zones": request.alternative_dns_zones, - "dns_zone": request.dns_zone, - } + output: Dict[str, Any] = {} + + if request.alternative_dns_zones is not None: + output["alternative_dns_zones"] = request.alternative_dns_zones + + if request.dns_zone is not None: + output["dns_zone"] = request.dns_zone + + return output def marshal_ImportProviderDNSZoneRequest( request: ImportProviderDNSZoneRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - **resolve_one_of( + output: Dict[str, Any] = {} + output.update( + resolve_one_of( [ OneOfPossibility( "online_v1", @@ -2353,15 +2588,18 @@ def marshal_ImportProviderDNSZoneRequest( ), ] ), - } + ) + + return output def marshal_ImportRawDNSZoneRequest( request: ImportRawDNSZoneRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - **resolve_one_of( + output: Dict[str, Any] = {} + output.update( + resolve_one_of( [ OneOfPossibility( "bind_source", @@ -2381,28 +2619,42 @@ def marshal_ImportRawDNSZoneRequest( ), ] ), - "content": request.content, - "format": RawFormat(request.format) if request.format is not None else None, - "project_id": request.project_id or defaults.default_project_id, - } + ) + + if request.content is not None: + output["content"] = request.content + + if request.format is not None: + output["format"] = RawFormat(request.format) + + if request.project_id is not None: + output["project_id"] = request.project_id or defaults.default_project_id + + return output def marshal_RefreshDNSZoneRequest( request: RefreshDNSZoneRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "recreate_dns_zone": request.recreate_dns_zone, - "recreate_sub_dns_zone": request.recreate_sub_dns_zone, - } + output: Dict[str, Any] = {} + + if request.recreate_dns_zone is not None: + output["recreate_dns_zone"] = request.recreate_dns_zone + + if request.recreate_sub_dns_zone is not None: + output["recreate_sub_dns_zone"] = request.recreate_sub_dns_zone + + return output def marshal_RegistrarApiBuyDomainsRequest( request: RegistrarApiBuyDomainsRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - **resolve_one_of( + output: Dict[str, Any] = {} + output.update( + resolve_one_of( [ OneOfPossibility( "administrative_contact_id", @@ -2418,7 +2670,9 @@ def marshal_RegistrarApiBuyDomainsRequest( ), ] ), - **resolve_one_of( + ) + output.update( + resolve_one_of( [ OneOfPossibility( "owner_contact_id", @@ -2434,7 +2688,9 @@ def marshal_RegistrarApiBuyDomainsRequest( ), ] ), - **resolve_one_of( + ) + output.update( + resolve_one_of( [ OneOfPossibility( "technical_contact_id", @@ -2450,18 +2706,27 @@ def marshal_RegistrarApiBuyDomainsRequest( ), ] ), - "domains": request.domains, - "duration_in_years": request.duration_in_years, - "project_id": request.project_id or defaults.default_project_id, - } + ) + + if request.domains is not None: + output["domains"] = request.domains + + if request.duration_in_years is not None: + output["duration_in_years"] = request.duration_in_years + + if request.project_id is not None: + output["project_id"] = request.project_id or defaults.default_project_id + + return output def marshal_RegistrarApiCheckContactsCompatibilityRequest( request: RegistrarApiCheckContactsCompatibilityRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - **resolve_one_of( + output: Dict[str, Any] = {} + output.update( + resolve_one_of( [ OneOfPossibility( "administrative_contact_id", @@ -2477,7 +2742,9 @@ def marshal_RegistrarApiCheckContactsCompatibilityRequest( ), ] ), - **resolve_one_of( + ) + output.update( + resolve_one_of( [ OneOfPossibility( "owner_contact_id", @@ -2493,7 +2760,9 @@ def marshal_RegistrarApiCheckContactsCompatibilityRequest( ), ] ), - **resolve_one_of( + ) + output.update( + resolve_one_of( [ OneOfPossibility( "technical_contact_id", @@ -2509,59 +2778,84 @@ def marshal_RegistrarApiCheckContactsCompatibilityRequest( ), ] ), - "domains": request.domains, - "tlds": request.tlds, - } + ) + + if request.domains is not None: + output["domains"] = request.domains + + if request.tlds is not None: + output["tlds"] = request.tlds + + return output def marshal_RegistrarApiCreateDomainHostRequest( request: RegistrarApiCreateDomainHostRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "ips": request.ips, - "name": request.name, - } + output: Dict[str, Any] = {} + + if request.ips is not None: + output["ips"] = request.ips + + if request.name is not None: + output["name"] = request.name + + return output def marshal_RegistrarApiEnableDomainDNSSECRequest( request: RegistrarApiEnableDomainDNSSECRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "ds_record": marshal_DSRecord(request.ds_record, defaults) - if request.ds_record is not None - else None, - } + output: Dict[str, Any] = {} + + if request.ds_record is not None: + output["ds_record"] = marshal_DSRecord(request.ds_record, defaults) + + return output def marshal_RegistrarApiRegisterExternalDomainRequest( request: RegistrarApiRegisterExternalDomainRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "domain": request.domain, - "project_id": request.project_id or defaults.default_project_id, - } + output: Dict[str, Any] = {} + + if request.domain is not None: + output["domain"] = request.domain + + if request.project_id is not None: + output["project_id"] = request.project_id or defaults.default_project_id + + return output def marshal_RegistrarApiRenewDomainsRequest( request: RegistrarApiRenewDomainsRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "domains": request.domains, - "duration_in_years": request.duration_in_years, - "force_late_renewal": request.force_late_renewal, - } + output: Dict[str, Any] = {} + + if request.domains is not None: + output["domains"] = request.domains + + if request.duration_in_years is not None: + output["duration_in_years"] = request.duration_in_years + + if request.force_late_renewal is not None: + output["force_late_renewal"] = request.force_late_renewal + + return output def marshal_RegistrarApiTradeDomainRequest( request: RegistrarApiTradeDomainRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - **resolve_one_of( + output: Dict[str, Any] = {} + output.update( + resolve_one_of( [ OneOfPossibility( "new_owner_contact_id", @@ -2577,16 +2871,21 @@ def marshal_RegistrarApiTradeDomainRequest( ), ] ), - "project_id": request.project_id or defaults.default_project_id, - } + ) + + if request.project_id is not None: + output["project_id"] = request.project_id or defaults.default_project_id + + return output def marshal_RegistrarApiTransferInDomainRequest( request: RegistrarApiTransferInDomainRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - **resolve_one_of( + output: Dict[str, Any] = {} + output.update( + resolve_one_of( [ OneOfPossibility( "administrative_contact_id", @@ -2602,7 +2901,9 @@ def marshal_RegistrarApiTransferInDomainRequest( ), ] ), - **resolve_one_of( + ) + output.update( + resolve_one_of( [ OneOfPossibility( "owner_contact_id", @@ -2618,7 +2919,9 @@ def marshal_RegistrarApiTransferInDomainRequest( ), ] ), - **resolve_one_of( + ) + output.update( + resolve_one_of( [ OneOfPossibility( "technical_contact_id", @@ -2634,66 +2937,113 @@ def marshal_RegistrarApiTransferInDomainRequest( ), ] ), - "domains": [ + ) + + if request.domains is not None: + output["domains"] = [ marshal_TransferInDomainRequestTransferRequest(v, defaults) for v in request.domains - ], - "project_id": request.project_id or defaults.default_project_id, - } + ] + + if request.project_id is not None: + output["project_id"] = request.project_id or defaults.default_project_id + + return output def marshal_RegistrarApiUpdateContactRequest( request: RegistrarApiUpdateContactRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "address_line_1": request.address_line_1, - "address_line_2": request.address_line_2, - "city": request.city, - "company_identification_code": request.company_identification_code, - "country": request.country, - "email": request.email, - "email_alt": request.email_alt, - "extension_eu": marshal_ContactExtensionEU(request.extension_eu, defaults) - if request.extension_eu is not None - else None, - "extension_fr": marshal_ContactExtensionFR(request.extension_fr, defaults) - if request.extension_fr is not None - else None, - "extension_nl": marshal_ContactExtensionNL(request.extension_nl, defaults) - if request.extension_nl is not None - else None, - "fax_number": request.fax_number, - "lang": LanguageCode(request.lang), - "phone_number": request.phone_number, - "questions": [ + output: Dict[str, Any] = {} + + if request.address_line_1 is not None: + output["address_line_1"] = request.address_line_1 + + if request.address_line_2 is not None: + output["address_line_2"] = request.address_line_2 + + if request.city is not None: + output["city"] = request.city + + if request.company_identification_code is not None: + output["company_identification_code"] = request.company_identification_code + + if request.country is not None: + output["country"] = request.country + + if request.email is not None: + output["email"] = request.email + + if request.email_alt is not None: + output["email_alt"] = request.email_alt + + if request.extension_eu is not None: + output["extension_eu"] = marshal_ContactExtensionEU( + request.extension_eu, defaults + ) + + if request.extension_fr is not None: + output["extension_fr"] = marshal_ContactExtensionFR( + request.extension_fr, defaults + ) + + if request.extension_nl is not None: + output["extension_nl"] = marshal_ContactExtensionNL( + request.extension_nl, defaults + ) + + if request.fax_number is not None: + output["fax_number"] = request.fax_number + + if request.lang is not None: + output["lang"] = LanguageCode(request.lang) + + if request.phone_number is not None: + output["phone_number"] = request.phone_number + + if request.questions is not None: + output["questions"] = [ marshal_UpdateContactRequestQuestion(v, defaults) for v in request.questions ] - if request.questions is not None - else None, - "resale": request.resale, - "state": request.state, - "vat_identification_code": request.vat_identification_code, - "whois_opt_in": request.whois_opt_in, - "zip": request.zip, - } + + if request.resale is not None: + output["resale"] = request.resale + + if request.state is not None: + output["state"] = request.state + + if request.vat_identification_code is not None: + output["vat_identification_code"] = request.vat_identification_code + + if request.whois_opt_in is not None: + output["whois_opt_in"] = request.whois_opt_in + + if request.zip is not None: + output["zip"] = request.zip + + return output def marshal_RegistrarApiUpdateDomainHostRequest( request: RegistrarApiUpdateDomainHostRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "ips": request.ips, - } + output: Dict[str, Any] = {} + + if request.ips is not None: + output["ips"] = request.ips + + return output def marshal_RegistrarApiUpdateDomainRequest( request: RegistrarApiUpdateDomainRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - **resolve_one_of( + output: Dict[str, Any] = {} + output.update( + resolve_one_of( [ OneOfPossibility( "administrative_contact_id", @@ -2709,7 +3059,9 @@ def marshal_RegistrarApiUpdateDomainRequest( ), ] ), - **resolve_one_of( + ) + output.update( + resolve_one_of( [ OneOfPossibility( "owner_contact_id", @@ -2725,7 +3077,9 @@ def marshal_RegistrarApiUpdateDomainRequest( ), ] ), - **resolve_one_of( + ) + output.update( + resolve_one_of( [ OneOfPossibility( "technical_contact_id", @@ -2741,35 +3095,54 @@ def marshal_RegistrarApiUpdateDomainRequest( ), ] ), - } + ) + + return output def marshal_UpdateDNSZoneNameserversRequest( request: UpdateDNSZoneNameserversRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "ns": [marshal_Nameserver(v, defaults) for v in request.ns], - } + output: Dict[str, Any] = {} + + if request.ns is not None: + output["ns"] = [marshal_Nameserver(v, defaults) for v in request.ns] + + return output def marshal_UpdateDNSZoneRecordsRequest( request: UpdateDNSZoneRecordsRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "changes": [marshal_RecordChange(v, defaults) for v in request.changes], - "disallow_new_zone_creation": request.disallow_new_zone_creation, - "return_all_records": request.return_all_records, - "serial": request.serial, - } + output: Dict[str, Any] = {} + + if request.changes is not None: + output["changes"] = [marshal_RecordChange(v, defaults) for v in request.changes] + + if request.disallow_new_zone_creation is not None: + output["disallow_new_zone_creation"] = request.disallow_new_zone_creation + + if request.return_all_records is not None: + output["return_all_records"] = request.return_all_records + + if request.serial is not None: + output["serial"] = request.serial + + return output def marshal_UpdateDNSZoneRequest( request: UpdateDNSZoneRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "new_dns_zone": request.new_dns_zone, - "project_id": request.project_id or defaults.default_project_id, - } + output: Dict[str, Any] = {} + + if request.new_dns_zone is not None: + output["new_dns_zone"] = request.new_dns_zone + + if request.project_id is not None: + output["project_id"] = request.project_id or defaults.default_project_id + + return output diff --git a/scaleway/scaleway/flexibleip/v1alpha1/marshalling.py b/scaleway/scaleway/flexibleip/v1alpha1/marshalling.py index 3a0c3d75d..23eaa65ca 100644 --- a/scaleway/scaleway/flexibleip/v1alpha1/marshalling.py +++ b/scaleway/scaleway/flexibleip/v1alpha1/marshalling.py @@ -165,70 +165,105 @@ def marshal_AttachFlexibleIPRequest( request: AttachFlexibleIPRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "fips_ids": request.fips_ids, - "server_id": request.server_id, - } + output: Dict[str, Any] = {} + + if request.fips_ids is not None: + output["fips_ids"] = request.fips_ids + + if request.server_id is not None: + output["server_id"] = request.server_id + + return output def marshal_CreateFlexibleIPRequest( request: CreateFlexibleIPRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "description": request.description, - "is_ipv6": request.is_ipv6, - "project_id": request.project_id or defaults.default_project_id, - "reverse": request.reverse, - "server_id": request.server_id, - "tags": request.tags, - } + output: Dict[str, Any] = {} + + if request.description is not None: + output["description"] = request.description + + if request.is_ipv6 is not None: + output["is_ipv6"] = request.is_ipv6 + + if request.project_id is not None: + output["project_id"] = request.project_id or defaults.default_project_id + + if request.reverse is not None: + output["reverse"] = request.reverse + + if request.server_id is not None: + output["server_id"] = request.server_id + + if request.tags is not None: + output["tags"] = request.tags + + return output def marshal_DetachFlexibleIPRequest( request: DetachFlexibleIPRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "fips_ids": request.fips_ids, - } + output: Dict[str, Any] = {} + + if request.fips_ids is not None: + output["fips_ids"] = request.fips_ids + + return output def marshal_DuplicateMACAddrRequest( request: DuplicateMACAddrRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "duplicate_from_fip_id": request.duplicate_from_fip_id, - } + output: Dict[str, Any] = {} + + if request.duplicate_from_fip_id is not None: + output["duplicate_from_fip_id"] = request.duplicate_from_fip_id + + return output def marshal_GenerateMACAddrRequest( request: GenerateMACAddrRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "mac_type": MACAddressType(request.mac_type) - if request.mac_type is not None - else None, - } + output: Dict[str, Any] = {} + + if request.mac_type is not None: + output["mac_type"] = MACAddressType(request.mac_type) + + return output def marshal_MoveMACAddrRequest( request: MoveMACAddrRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "dst_fip_id": request.dst_fip_id, - } + output: Dict[str, Any] = {} + + if request.dst_fip_id is not None: + output["dst_fip_id"] = request.dst_fip_id + + return output def marshal_UpdateFlexibleIPRequest( request: UpdateFlexibleIPRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "description": request.description, - "reverse": request.reverse, - "tags": request.tags, - } + output: Dict[str, Any] = {} + + if request.description is not None: + output["description"] = request.description + + if request.reverse is not None: + output["reverse"] = request.reverse + + if request.tags is not None: + output["tags"] = request.tags + + return output diff --git a/scaleway/scaleway/function/v1beta1/marshalling.py b/scaleway/scaleway/function/v1beta1/marshalling.py index 68556b20d..da7af50a3 100644 --- a/scaleway/scaleway/function/v1beta1/marshalling.py +++ b/scaleway/scaleway/function/v1beta1/marshalling.py @@ -664,128 +664,214 @@ def marshal_CreateTriggerRequestMnqNatsClientConfig( request: CreateTriggerRequestMnqNatsClientConfig, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "mnq_namespace_id": request.mnq_namespace_id, - "mnq_project_id": request.mnq_project_id, - "mnq_region": request.mnq_region, - "subject": request.subject, - } + output: Dict[str, Any] = {} + + if request.mnq_namespace_id is not None: + output["mnq_namespace_id"] = request.mnq_namespace_id + + if request.mnq_project_id is not None: + output["mnq_project_id"] = request.mnq_project_id + + if request.mnq_region is not None: + output["mnq_region"] = request.mnq_region + + if request.subject is not None: + output["subject"] = request.subject + + return output def marshal_CreateTriggerRequestMnqSqsClientConfig( request: CreateTriggerRequestMnqSqsClientConfig, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "mnq_namespace_id": request.mnq_namespace_id, - "mnq_project_id": request.mnq_project_id, - "mnq_region": request.mnq_region, - "queue": request.queue, - } + output: Dict[str, Any] = {} + + if request.mnq_namespace_id is not None: + output["mnq_namespace_id"] = request.mnq_namespace_id + + if request.mnq_project_id is not None: + output["mnq_project_id"] = request.mnq_project_id + + if request.mnq_region is not None: + output["mnq_region"] = request.mnq_region + + if request.queue is not None: + output["queue"] = request.queue + + return output def marshal_CreateTriggerRequestSqsClientConfig( request: CreateTriggerRequestSqsClientConfig, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "access_key": request.access_key, - "endpoint": request.endpoint, - "queue_url": request.queue_url, - "secret_key": request.secret_key, - } + output: Dict[str, Any] = {} + + if request.access_key is not None: + output["access_key"] = request.access_key + + if request.endpoint is not None: + output["endpoint"] = request.endpoint + + if request.queue_url is not None: + output["queue_url"] = request.queue_url + + if request.secret_key is not None: + output["secret_key"] = request.secret_key + + return output def marshal_Secret( request: Secret, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "key": request.key, - "value": request.value, - } + output: Dict[str, Any] = {} + + if request.key is not None: + output["key"] = request.key + + if request.value is not None: + output["value"] = request.value + + return output def marshal_UpdateTriggerRequestSqsClientConfig( request: UpdateTriggerRequestSqsClientConfig, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "access_key": request.access_key, - "secret_key": request.secret_key, - } + output: Dict[str, Any] = {} + + if request.access_key is not None: + output["access_key"] = request.access_key + + if request.secret_key is not None: + output["secret_key"] = request.secret_key + + return output def marshal_CreateCronRequest( request: CreateCronRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "args": request.args, - "function_id": request.function_id, - "name": request.name, - "schedule": request.schedule, - } + output: Dict[str, Any] = {} + + if request.args is not None: + output["args"] = request.args + + if request.function_id is not None: + output["function_id"] = request.function_id + + if request.name is not None: + output["name"] = request.name + + if request.schedule is not None: + output["schedule"] = request.schedule + + return output def marshal_CreateDomainRequest( request: CreateDomainRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "function_id": request.function_id, - "hostname": request.hostname, - } + output: Dict[str, Any] = {} + + if request.function_id is not None: + output["function_id"] = request.function_id + + if request.hostname is not None: + output["hostname"] = request.hostname + + return output def marshal_CreateFunctionRequest( request: CreateFunctionRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "description": request.description, - "environment_variables": request.environment_variables, - "handler": request.handler, - "http_option": FunctionHttpOption(request.http_option), - "max_scale": request.max_scale, - "memory_limit": request.memory_limit, - "min_scale": request.min_scale, - "name": request.name, - "namespace_id": request.namespace_id, - "privacy": FunctionPrivacy(request.privacy), - "runtime": FunctionRuntime(request.runtime), - "secret_environment_variables": [ + output: Dict[str, Any] = {} + + if request.description is not None: + output["description"] = request.description + + if request.environment_variables is not None: + output["environment_variables"] = request.environment_variables + + if request.handler is not None: + output["handler"] = request.handler + + if request.http_option is not None: + output["http_option"] = FunctionHttpOption(request.http_option) + + if request.max_scale is not None: + output["max_scale"] = request.max_scale + + if request.memory_limit is not None: + output["memory_limit"] = request.memory_limit + + if request.min_scale is not None: + output["min_scale"] = request.min_scale + + if request.name is not None: + output["name"] = request.name + + if request.namespace_id is not None: + output["namespace_id"] = request.namespace_id + + if request.privacy is not None: + output["privacy"] = FunctionPrivacy(request.privacy) + + if request.runtime is not None: + output["runtime"] = FunctionRuntime(request.runtime) + + if request.secret_environment_variables is not None: + output["secret_environment_variables"] = [ marshal_Secret(v, defaults) for v in request.secret_environment_variables ] - if request.secret_environment_variables is not None - else None, - "timeout": request.timeout, - } + + if request.timeout is not None: + output["timeout"] = request.timeout + + return output def marshal_CreateNamespaceRequest( request: CreateNamespaceRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "description": request.description, - "environment_variables": request.environment_variables, - "name": request.name, - "project_id": request.project_id or defaults.default_project_id, - "secret_environment_variables": [ + output: Dict[str, Any] = {} + + if request.description is not None: + output["description"] = request.description + + if request.environment_variables is not None: + output["environment_variables"] = request.environment_variables + + if request.name is not None: + output["name"] = request.name + + if request.project_id is not None: + output["project_id"] = request.project_id or defaults.default_project_id + + if request.secret_environment_variables is not None: + output["secret_environment_variables"] = [ marshal_Secret(v, defaults) for v in request.secret_environment_variables ] - if request.secret_environment_variables is not None - else None, - } + + return output def marshal_CreateTokenRequest( request: CreateTokenRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - **resolve_one_of( + output: Dict[str, Any] = {} + output.update( + resolve_one_of( [ OneOfPossibility( "function_id", @@ -797,17 +883,24 @@ def marshal_CreateTokenRequest( ), ] ), - "description": request.description, - "expires_at": request.expires_at, - } + ) + + if request.description is not None: + output["description"] = request.description + + if request.expires_at is not None: + output["expires_at"] = request.expires_at + + return output def marshal_CreateTriggerRequest( request: CreateTriggerRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - **resolve_one_of( + output: Dict[str, Any] = {} + output.update( + resolve_one_of( [ OneOfPossibility( "scw_sqs_config", @@ -835,69 +928,115 @@ def marshal_CreateTriggerRequest( ), ] ), - "description": request.description, - "function_id": request.function_id, - "name": request.name, - } + ) + + if request.description is not None: + output["description"] = request.description + + if request.function_id is not None: + output["function_id"] = request.function_id + + if request.name is not None: + output["name"] = request.name + + return output def marshal_UpdateCronRequest( request: UpdateCronRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "args": request.args, - "function_id": request.function_id, - "name": request.name, - "schedule": request.schedule, - } + output: Dict[str, Any] = {} + + if request.args is not None: + output["args"] = request.args + + if request.function_id is not None: + output["function_id"] = request.function_id + + if request.name is not None: + output["name"] = request.name + + if request.schedule is not None: + output["schedule"] = request.schedule + + return output def marshal_UpdateFunctionRequest( request: UpdateFunctionRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "description": request.description, - "environment_variables": request.environment_variables, - "handler": request.handler, - "http_option": FunctionHttpOption(request.http_option), - "max_scale": request.max_scale, - "memory_limit": request.memory_limit, - "min_scale": request.min_scale, - "privacy": FunctionPrivacy(request.privacy), - "redeploy": request.redeploy, - "runtime": FunctionRuntime(request.runtime), - "secret_environment_variables": [ + output: Dict[str, Any] = {} + + if request.description is not None: + output["description"] = request.description + + if request.environment_variables is not None: + output["environment_variables"] = request.environment_variables + + if request.handler is not None: + output["handler"] = request.handler + + if request.http_option is not None: + output["http_option"] = FunctionHttpOption(request.http_option) + + if request.max_scale is not None: + output["max_scale"] = request.max_scale + + if request.memory_limit is not None: + output["memory_limit"] = request.memory_limit + + if request.min_scale is not None: + output["min_scale"] = request.min_scale + + if request.privacy is not None: + output["privacy"] = FunctionPrivacy(request.privacy) + + if request.redeploy is not None: + output["redeploy"] = request.redeploy + + if request.runtime is not None: + output["runtime"] = FunctionRuntime(request.runtime) + + if request.secret_environment_variables is not None: + output["secret_environment_variables"] = [ marshal_Secret(v, defaults) for v in request.secret_environment_variables ] - if request.secret_environment_variables is not None - else None, - "timeout": request.timeout, - } + + if request.timeout is not None: + output["timeout"] = request.timeout + + return output def marshal_UpdateNamespaceRequest( request: UpdateNamespaceRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "description": request.description, - "environment_variables": request.environment_variables, - "secret_environment_variables": [ + output: Dict[str, Any] = {} + + if request.description is not None: + output["description"] = request.description + + if request.environment_variables is not None: + output["environment_variables"] = request.environment_variables + + if request.secret_environment_variables is not None: + output["secret_environment_variables"] = [ marshal_Secret(v, defaults) for v in request.secret_environment_variables ] - if request.secret_environment_variables is not None - else None, - } + + return output def marshal_UpdateTriggerRequest( request: UpdateTriggerRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - **resolve_one_of( + output: Dict[str, Any] = {} + output.update( + resolve_one_of( [ OneOfPossibility( "sqs_config", @@ -909,6 +1048,12 @@ def marshal_UpdateTriggerRequest( ), ] ), - "description": request.description, - "name": request.name, - } + ) + + if request.description is not None: + output["description"] = request.description + + if request.name is not None: + output["name"] = request.name + + return output diff --git a/scaleway/scaleway/iam/v1alpha1/marshalling.py b/scaleway/scaleway/iam/v1alpha1/marshalling.py index ab883da78..c8e2ccef7 100644 --- a/scaleway/scaleway/iam/v1alpha1/marshalling.py +++ b/scaleway/scaleway/iam/v1alpha1/marshalling.py @@ -611,8 +611,9 @@ def marshal_RuleSpecs( request: RuleSpecs, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - **resolve_one_of( + output: Dict[str, Any] = {} + output.update( + resolve_one_of( [ OneOfPossibility( "project_ids", @@ -627,16 +628,21 @@ def marshal_RuleSpecs( ), ] ), - "permission_set_names": request.permission_set_names, - } + ) + + if request.permission_set_names is not None: + output["permission_set_names"] = request.permission_set_names + + return output def marshal_AddGroupMemberRequest( request: AddGroupMemberRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - **resolve_one_of( + output: Dict[str, Any] = {} + output.update( + resolve_one_of( [ OneOfPossibility( "user_id", request.user_id if request.user_id is not None else None @@ -649,25 +655,33 @@ def marshal_AddGroupMemberRequest( ), ] ), - } + ) + + return output def marshal_AddGroupMembersRequest( request: AddGroupMembersRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "application_ids": request.application_ids, - "user_ids": request.user_ids, - } + output: Dict[str, Any] = {} + + if request.application_ids is not None: + output["application_ids"] = request.application_ids + + if request.user_ids is not None: + output["user_ids"] = request.user_ids + + return output def marshal_CreateAPIKeyRequest( request: CreateAPIKeyRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - **resolve_one_of( + output: Dict[str, Any] = {} + output.update( + resolve_one_of( [ OneOfPossibility( "application_id", @@ -680,40 +694,67 @@ def marshal_CreateAPIKeyRequest( ), ] ), - "default_project_id": request.default_project_id, - "description": request.description, - "expires_at": request.expires_at, - } + ) + + if request.default_project_id is not None: + output["default_project_id"] = request.default_project_id + + if request.description is not None: + output["description"] = request.description + + if request.expires_at is not None: + output["expires_at"] = request.expires_at + + return output def marshal_CreateApplicationRequest( request: CreateApplicationRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "description": request.description, - "name": request.name, - "organization_id": request.organization_id or defaults.default_organization_id, - } + output: Dict[str, Any] = {} + + if request.description is not None: + output["description"] = request.description + + if request.name is not None: + output["name"] = request.name + + if request.organization_id is not None: + output["organization_id"] = ( + request.organization_id or defaults.default_organization_id + ) + + return output def marshal_CreateGroupRequest( request: CreateGroupRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "description": request.description, - "name": request.name, - "organization_id": request.organization_id or defaults.default_organization_id, - } + output: Dict[str, Any] = {} + + if request.description is not None: + output["description"] = request.description + + if request.name is not None: + output["name"] = request.name + + if request.organization_id is not None: + output["organization_id"] = ( + request.organization_id or defaults.default_organization_id + ) + + return output def marshal_CreatePolicyRequest( request: CreatePolicyRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - **resolve_one_of( + output: Dict[str, Any] = {} + output.update( + resolve_one_of( [ OneOfPossibility( "user_id", request.user_id if request.user_id is not None else None @@ -734,42 +775,67 @@ def marshal_CreatePolicyRequest( ), ] ), - "description": request.description, - "name": request.name, - "organization_id": request.organization_id or defaults.default_organization_id, - "rules": [marshal_RuleSpecs(v, defaults) for v in request.rules] - if request.rules is not None - else None, - } + ) + + if request.description is not None: + output["description"] = request.description + + if request.name is not None: + output["name"] = request.name + + if request.organization_id is not None: + output["organization_id"] = ( + request.organization_id or defaults.default_organization_id + ) + + if request.rules is not None: + output["rules"] = [marshal_RuleSpecs(v, defaults) for v in request.rules] + + return output def marshal_CreateSSHKeyRequest( request: CreateSSHKeyRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "name": request.name, - "project_id": request.project_id or defaults.default_project_id, - "public_key": request.public_key, - } + output: Dict[str, Any] = {} + + if request.name is not None: + output["name"] = request.name + + if request.project_id is not None: + output["project_id"] = request.project_id or defaults.default_project_id + + if request.public_key is not None: + output["public_key"] = request.public_key + + return output def marshal_CreateUserRequest( request: CreateUserRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "email": request.email, - "organization_id": request.organization_id or defaults.default_organization_id, - } + output: Dict[str, Any] = {} + + if request.email is not None: + output["email"] = request.email + + if request.organization_id is not None: + output["organization_id"] = ( + request.organization_id or defaults.default_organization_id + ) + + return output def marshal_RemoveGroupMemberRequest( request: RemoveGroupMemberRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - **resolve_one_of( + output: Dict[str, Any] = {} + output.update( + resolve_one_of( [ OneOfPossibility( "user_id", request.user_id if request.user_id is not None else None @@ -782,65 +848,93 @@ def marshal_RemoveGroupMemberRequest( ), ] ), - } + ) + + return output def marshal_SetGroupMembersRequest( request: SetGroupMembersRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "application_ids": request.application_ids, - "user_ids": request.user_ids, - } + output: Dict[str, Any] = {} + + if request.application_ids is not None: + output["application_ids"] = request.application_ids + + if request.user_ids is not None: + output["user_ids"] = request.user_ids + + return output def marshal_SetRulesRequest( request: SetRulesRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "policy_id": request.policy_id, - "rules": [marshal_RuleSpecs(v, defaults) for v in request.rules], - } + output: Dict[str, Any] = {} + + if request.policy_id is not None: + output["policy_id"] = request.policy_id + + if request.rules is not None: + output["rules"] = [marshal_RuleSpecs(v, defaults) for v in request.rules] + + return output def marshal_UpdateAPIKeyRequest( request: UpdateAPIKeyRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "default_project_id": request.default_project_id, - "description": request.description, - } + output: Dict[str, Any] = {} + + if request.default_project_id is not None: + output["default_project_id"] = request.default_project_id + + if request.description is not None: + output["description"] = request.description + + return output def marshal_UpdateApplicationRequest( request: UpdateApplicationRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "description": request.description, - "name": request.name, - } + output: Dict[str, Any] = {} + + if request.description is not None: + output["description"] = request.description + + if request.name is not None: + output["name"] = request.name + + return output def marshal_UpdateGroupRequest( request: UpdateGroupRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "description": request.description, - "name": request.name, - } + output: Dict[str, Any] = {} + + if request.description is not None: + output["description"] = request.description + + if request.name is not None: + output["name"] = request.name + + return output def marshal_UpdatePolicyRequest( request: UpdatePolicyRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - **resolve_one_of( + output: Dict[str, Any] = {} + output.update( + resolve_one_of( [ OneOfPossibility( "user_id", request.user_id if request.user_id is not None else None @@ -861,16 +955,27 @@ def marshal_UpdatePolicyRequest( ), ] ), - "description": request.description, - "name": request.name, - } + ) + + if request.description is not None: + output["description"] = request.description + + if request.name is not None: + output["name"] = request.name + + return output def marshal_UpdateSSHKeyRequest( request: UpdateSSHKeyRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "disabled": request.disabled, - "name": request.name, - } + output: Dict[str, Any] = {} + + if request.disabled is not None: + output["disabled"] = request.disabled + + if request.name is not None: + output["name"] = request.name + + return output diff --git a/scaleway/scaleway/instance/v1/marshalling.py b/scaleway/scaleway/instance/v1/marshalling.py index a3b0b28f1..d5410e05f 100644 --- a/scaleway/scaleway/instance/v1/marshalling.py +++ b/scaleway/scaleway/instance/v1/marshalling.py @@ -2080,254 +2080,474 @@ def marshal_ServerSummary( request: ServerSummary, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "id": request.id, - "name": request.name, - } + output: Dict[str, Any] = {} + + if request.id is not None: + output["id"] = request.id + + if request.name is not None: + output["name"] = request.name + + return output def marshal_Bootscript( request: Bootscript, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "arch": Arch(request.arch), - "bootcmdargs": request.bootcmdargs, - "default": request.default, - "dtb": request.dtb, - "id": request.id, - "initrd": request.initrd, - "kernel": request.kernel, - "organization": request.organization, - "project": request.project, - "public": request.public, - "title": request.title, - "zone": request.zone, - } + output: Dict[str, Any] = {} + + if request.arch is not None: + output["arch"] = Arch(request.arch) + + if request.bootcmdargs is not None: + output["bootcmdargs"] = request.bootcmdargs + + if request.default is not None: + output["default"] = request.default + + if request.dtb is not None: + output["dtb"] = request.dtb + + if request.id is not None: + output["id"] = request.id + + if request.initrd is not None: + output["initrd"] = request.initrd + + if request.kernel is not None: + output["kernel"] = request.kernel + + if request.organization is not None: + output["organization"] = request.organization + + if request.project is not None: + output["project"] = request.project + + if request.public is not None: + output["public"] = request.public + + if request.title is not None: + output["title"] = request.title + + if request.zone is not None: + output["zone"] = request.zone + + return output def marshal_Volume( request: Volume, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "creation_date": request.creation_date, - "export_uri": request.export_uri, - "id": request.id, - "modification_date": request.modification_date, - "name": request.name, - "organization": request.organization, - "project": request.project, - "server": marshal_ServerSummary(request.server, defaults) - if request.server is not None - else None, - "size": request.size, - "state": VolumeState(request.state), - "tags": request.tags, - "volume_type": VolumeVolumeType(request.volume_type), - "zone": request.zone, - } + output: Dict[str, Any] = {} + + if request.creation_date is not None: + output["creation_date"] = request.creation_date + + if request.export_uri is not None: + output["export_uri"] = request.export_uri + + if request.id is not None: + output["id"] = request.id + + if request.modification_date is not None: + output["modification_date"] = request.modification_date + + if request.name is not None: + output["name"] = request.name + + if request.organization is not None: + output["organization"] = request.organization + + if request.project is not None: + output["project"] = request.project + + if request.server is not None: + output["server"] = marshal_ServerSummary(request.server, defaults) + + if request.size is not None: + output["size"] = request.size + + if request.state is not None: + output["state"] = VolumeState(request.state) + + if request.tags is not None: + output["tags"] = request.tags + + if request.volume_type is not None: + output["volume_type"] = VolumeVolumeType(request.volume_type) + + if request.zone is not None: + output["zone"] = request.zone + + return output def marshal_VolumeSummary( request: VolumeSummary, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "id": request.id, - "name": request.name, - "size": request.size, - "volume_type": VolumeVolumeType(request.volume_type), - } + output: Dict[str, Any] = {} + + if request.id is not None: + output["id"] = request.id + + if request.name is not None: + output["name"] = request.name + + if request.size is not None: + output["size"] = request.size + + if request.volume_type is not None: + output["volume_type"] = VolumeVolumeType(request.volume_type) + + return output def marshal_Image( request: Image, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "arch": Arch(request.arch), - "creation_date": request.creation_date, - "default_bootscript": marshal_Bootscript(request.default_bootscript, defaults) - if request.default_bootscript is not None - else None, - "extra_volumes": { + output: Dict[str, Any] = {} + + if request.arch is not None: + output["arch"] = Arch(request.arch) + + if request.creation_date is not None: + output["creation_date"] = request.creation_date + + if request.default_bootscript is not None: + output["default_bootscript"] = marshal_Bootscript( + request.default_bootscript, defaults + ) + + if request.extra_volumes is not None: + output["extra_volumes"] = { k: marshal_Volume(v, defaults) for k, v in request.extra_volumes.items() - }, - "from_server": request.from_server, - "id": request.id, - "modification_date": request.modification_date, - "name": request.name, - "organization": request.organization, - "project": request.project, - "public": request.public, - "root_volume": marshal_VolumeSummary(request.root_volume, defaults) - if request.root_volume is not None - else None, - "state": ImageState(request.state), - "tags": request.tags, - "zone": request.zone, - } + } + + if request.from_server is not None: + output["from_server"] = request.from_server + + if request.id is not None: + output["id"] = request.id + + if request.modification_date is not None: + output["modification_date"] = request.modification_date + + if request.name is not None: + output["name"] = request.name + + if request.organization is not None: + output["organization"] = request.organization + + if request.project is not None: + output["project"] = request.project + + if request.public is not None: + output["public"] = request.public + + if request.root_volume is not None: + output["root_volume"] = marshal_VolumeSummary(request.root_volume, defaults) + + if request.state is not None: + output["state"] = ImageState(request.state) + + if request.tags is not None: + output["tags"] = request.tags + + if request.zone is not None: + output["zone"] = request.zone + + return output def marshal_PlacementGroup( request: PlacementGroup, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "id": request.id, - "name": request.name, - "organization": request.organization, - "policy_mode": PlacementGroupPolicyMode(request.policy_mode), - "policy_respected": request.policy_respected, - "policy_type": PlacementGroupPolicyType(request.policy_type), - "project": request.project, - "tags": request.tags, - "zone": request.zone, - } + output: Dict[str, Any] = {} + + if request.id is not None: + output["id"] = request.id + + if request.name is not None: + output["name"] = request.name + + if request.organization is not None: + output["organization"] = request.organization + + if request.policy_mode is not None: + output["policy_mode"] = PlacementGroupPolicyMode(request.policy_mode) + + if request.policy_respected is not None: + output["policy_respected"] = request.policy_respected + + if request.policy_type is not None: + output["policy_type"] = PlacementGroupPolicyType(request.policy_type) + + if request.project is not None: + output["project"] = request.project + + if request.tags is not None: + output["tags"] = request.tags + + if request.zone is not None: + output["zone"] = request.zone + + return output def marshal_PrivateNIC( request: PrivateNIC, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "id": request.id, - "mac_address": request.mac_address, - "private_network_id": request.private_network_id, - "server_id": request.server_id, - "state": PrivateNICState(request.state), - "tags": request.tags, - } + output: Dict[str, Any] = {} + + if request.id is not None: + output["id"] = request.id + + if request.mac_address is not None: + output["mac_address"] = request.mac_address + + if request.private_network_id is not None: + output["private_network_id"] = request.private_network_id + + if request.server_id is not None: + output["server_id"] = request.server_id + + if request.state is not None: + output["state"] = PrivateNICState(request.state) + + if request.tags is not None: + output["tags"] = request.tags + + return output def marshal_SecurityGroupSummary( request: SecurityGroupSummary, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "id": request.id, - "name": request.name, - } + output: Dict[str, Any] = {} + + if request.id is not None: + output["id"] = request.id + + if request.name is not None: + output["name"] = request.name + + return output def marshal_SecurityGroupTemplate( request: SecurityGroupTemplate, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "id": request.id, - "name": request.name, - } + output: Dict[str, Any] = {} + + if request.id is not None: + output["id"] = request.id + + if request.name is not None: + output["name"] = request.name + + return output def marshal_ServerActionRequestVolumeBackupTemplate( request: ServerActionRequestVolumeBackupTemplate, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "volume_type": SnapshotVolumeType(request.volume_type), - } + output: Dict[str, Any] = {} + + if request.volume_type is not None: + output["volume_type"] = SnapshotVolumeType(request.volume_type) + + return output def marshal_ServerIp( request: ServerIp, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "address": request.address, - "dynamic": request.dynamic, - "family": ServerIpIpFamily(request.family), - "gateway": request.gateway, - "id": request.id, - "netmask": request.netmask, - "provisioning_mode": ServerIpProvisioningMode(request.provisioning_mode), - } + output: Dict[str, Any] = {} + + if request.address is not None: + output["address"] = request.address + + if request.dynamic is not None: + output["dynamic"] = request.dynamic + + if request.family is not None: + output["family"] = ServerIpIpFamily(request.family) + + if request.gateway is not None: + output["gateway"] = request.gateway + + if request.id is not None: + output["id"] = request.id + + if request.netmask is not None: + output["netmask"] = request.netmask + + if request.provisioning_mode is not None: + output["provisioning_mode"] = ServerIpProvisioningMode( + request.provisioning_mode + ) + + return output def marshal_ServerIpv6( request: ServerIpv6, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "address": request.address, - "gateway": request.gateway, - "netmask": request.netmask, - } + output: Dict[str, Any] = {} + + if request.address is not None: + output["address"] = request.address + + if request.gateway is not None: + output["gateway"] = request.gateway + + if request.netmask is not None: + output["netmask"] = request.netmask + + return output def marshal_ServerLocation( request: ServerLocation, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "cluster_id": request.cluster_id, - "hypervisor_id": request.hypervisor_id, - "node_id": request.node_id, - "platform_id": request.platform_id, - "zone_id": request.zone_id, - } + output: Dict[str, Any] = {} + + if request.cluster_id is not None: + output["cluster_id"] = request.cluster_id + + if request.hypervisor_id is not None: + output["hypervisor_id"] = request.hypervisor_id + + if request.node_id is not None: + output["node_id"] = request.node_id + + if request.platform_id is not None: + output["platform_id"] = request.platform_id + + if request.zone_id is not None: + output["zone_id"] = request.zone_id + + return output def marshal_ServerMaintenance( request: ServerMaintenance, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "reason": request.reason, - } + output: Dict[str, Any] = {} + + if request.reason is not None: + output["reason"] = request.reason + + return output def marshal_SetSecurityGroupRulesRequestRule( request: SetSecurityGroupRulesRequestRule, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "action": SecurityGroupRuleAction(request.action), - "dest_port_from": request.dest_port_from, - "dest_port_to": request.dest_port_to, - "direction": SecurityGroupRuleDirection(request.direction), - "editable": request.editable, - "id": request.id, - "ip_range": request.ip_range, - "position": request.position, - "protocol": SecurityGroupRuleProtocol(request.protocol), - "zone": request.zone, - } + output: Dict[str, Any] = {} + + if request.action is not None: + output["action"] = SecurityGroupRuleAction(request.action) + + if request.dest_port_from is not None: + output["dest_port_from"] = request.dest_port_from + + if request.dest_port_to is not None: + output["dest_port_to"] = request.dest_port_to + + if request.direction is not None: + output["direction"] = SecurityGroupRuleDirection(request.direction) + + if request.editable is not None: + output["editable"] = request.editable + + if request.id is not None: + output["id"] = request.id + + if request.ip_range is not None: + output["ip_range"] = request.ip_range + + if request.position is not None: + output["position"] = request.position + + if request.protocol is not None: + output["protocol"] = SecurityGroupRuleProtocol(request.protocol) + + if request.zone is not None: + output["zone"] = request.zone + + return output def marshal_SnapshotBaseVolume( request: SnapshotBaseVolume, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "id": request.id, - "name": request.name, - } + output: Dict[str, Any] = {} + + if request.id is not None: + output["id"] = request.id + + if request.name is not None: + output["name"] = request.name + + return output def marshal_VolumeServerTemplate( request: VolumeServerTemplate, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "base_snapshot": request.base_snapshot, - "boot": request.boot, - "id": request.id, - "name": request.name, - "organization": request.organization, - "project": request.project, - "size": request.size, - "volume_type": VolumeVolumeType(request.volume_type), - } + output: Dict[str, Any] = {} + + if request.base_snapshot is not None: + output["base_snapshot"] = request.base_snapshot + + if request.boot is not None: + output["boot"] = request.boot + + if request.id is not None: + output["id"] = request.id + + if request.name is not None: + output["name"] = request.name + + if request.organization is not None: + output["organization"] = request.organization + + if request.project is not None: + output["project"] = request.project + + if request.size is not None: + output["size"] = request.size + + if request.volume_type is not None: + output["volume_type"] = VolumeVolumeType(request.volume_type) + + return output def marshal_VolumeTemplate( request: VolumeTemplate, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - **resolve_one_of( + output: Dict[str, Any] = {} + output.update( + resolve_one_of( [ OneOfPossibility( "project", @@ -2341,19 +2561,30 @@ def marshal_VolumeTemplate( ), ] ), - "id": request.id, - "name": request.name, - "size": request.size, - "volume_type": VolumeVolumeType(request.volume_type), - } + ) + + if request.id is not None: + output["id"] = request.id + + if request.name is not None: + output["name"] = request.name + + if request.size is not None: + output["size"] = request.size + + if request.volume_type is not None: + output["volume_type"] = VolumeVolumeType(request.volume_type) + + return output def marshal_CreateImageRequest( request: CreateImageRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - **resolve_one_of( + output: Dict[str, Any] = {} + output.update( + resolve_one_of( [ OneOfPossibility( "project", @@ -2371,27 +2602,42 @@ def marshal_CreateImageRequest( ), ] ), - "arch": Arch(request.arch) if request.arch is not None else None, - "default_bootscript": request.default_bootscript, - "extra_volumes": { + ) + + if request.arch is not None: + output["arch"] = Arch(request.arch) + + if request.default_bootscript is not None: + output["default_bootscript"] = request.default_bootscript + + if request.extra_volumes is not None: + output["extra_volumes"] = { k: marshal_VolumeTemplate(v, defaults) for k, v in request.extra_volumes.items() } - if request.extra_volumes is not None - else None, - "name": request.name, - "public": request.public, - "root_volume": request.root_volume, - "tags": request.tags, - } + + if request.name is not None: + output["name"] = request.name + + if request.public is not None: + output["public"] = request.public + + if request.root_volume is not None: + output["root_volume"] = request.root_volume + + if request.tags is not None: + output["tags"] = request.tags + + return output def marshal_CreateIpRequest( request: CreateIpRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - **resolve_one_of( + output: Dict[str, Any] = {} + output.update( + resolve_one_of( [ OneOfPossibility( "project", @@ -2409,18 +2655,27 @@ def marshal_CreateIpRequest( ), ] ), - "server": request.server, - "tags": request.tags, - "type": IpType(request.type_), - } + ) + + if request.server is not None: + output["server"] = request.server + + if request.tags is not None: + output["tags"] = request.tags + + if request.type_ is not None: + output["type"] = IpType(request.type_) + + return output def marshal_CreatePlacementGroupRequest( request: CreatePlacementGroupRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - **resolve_one_of( + output: Dict[str, Any] = {} + output.update( + resolve_one_of( [ OneOfPossibility( "project", @@ -2438,30 +2693,48 @@ def marshal_CreatePlacementGroupRequest( ), ] ), - "name": request.name, - "policy_mode": PlacementGroupPolicyMode(request.policy_mode), - "policy_type": PlacementGroupPolicyType(request.policy_type), - "tags": request.tags, - } + ) + + if request.name is not None: + output["name"] = request.name + + if request.policy_mode is not None: + output["policy_mode"] = PlacementGroupPolicyMode(request.policy_mode) + + if request.policy_type is not None: + output["policy_type"] = PlacementGroupPolicyType(request.policy_type) + + if request.tags is not None: + output["tags"] = request.tags + + return output def marshal_CreatePrivateNICRequest( request: CreatePrivateNICRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "ip_ids": request.ip_ids, - "private_network_id": request.private_network_id, - "tags": request.tags, - } + output: Dict[str, Any] = {} + + if request.ip_ids is not None: + output["ip_ids"] = request.ip_ids + + if request.private_network_id is not None: + output["private_network_id"] = request.private_network_id + + if request.tags is not None: + output["tags"] = request.tags + + return output def marshal_CreateSecurityGroupRequest( request: CreateSecurityGroupRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - **resolve_one_of( + output: Dict[str, Any] = {} + output.update( + resolve_one_of( [ OneOfPossibility( "organization_default", @@ -2477,7 +2750,9 @@ def marshal_CreateSecurityGroupRequest( ), ] ), - **resolve_one_of( + ) + output.update( + resolve_one_of( [ OneOfPossibility( "project", @@ -2495,44 +2770,76 @@ def marshal_CreateSecurityGroupRequest( ), ] ), - "description": request.description, - "enable_default_security": request.enable_default_security, - "inbound_default_policy": SecurityGroupPolicy(request.inbound_default_policy), - "name": request.name, - "outbound_default_policy": SecurityGroupPolicy(request.outbound_default_policy), - "stateful": request.stateful, - "tags": request.tags, - } + ) + + if request.description is not None: + output["description"] = request.description + + if request.enable_default_security is not None: + output["enable_default_security"] = request.enable_default_security + + if request.inbound_default_policy is not None: + output["inbound_default_policy"] = SecurityGroupPolicy( + request.inbound_default_policy + ) + + if request.name is not None: + output["name"] = request.name + + if request.outbound_default_policy is not None: + output["outbound_default_policy"] = SecurityGroupPolicy( + request.outbound_default_policy + ) + + if request.stateful is not None: + output["stateful"] = request.stateful + + if request.tags is not None: + output["tags"] = request.tags + + return output def marshal_CreateSecurityGroupRuleRequest( request: CreateSecurityGroupRuleRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "action": SecurityGroupRuleAction(request.action) - if request.action is not None - else None, - "dest_port_from": request.dest_port_from, - "dest_port_to": request.dest_port_to, - "direction": SecurityGroupRuleDirection(request.direction) - if request.direction is not None - else None, - "editable": request.editable, - "ip_range": request.ip_range, - "position": request.position, - "protocol": SecurityGroupRuleProtocol(request.protocol) - if request.protocol is not None - else None, - } + output: Dict[str, Any] = {} + + if request.action is not None: + output["action"] = SecurityGroupRuleAction(request.action) + + if request.dest_port_from is not None: + output["dest_port_from"] = request.dest_port_from + + if request.dest_port_to is not None: + output["dest_port_to"] = request.dest_port_to + + if request.direction is not None: + output["direction"] = SecurityGroupRuleDirection(request.direction) + + if request.editable is not None: + output["editable"] = request.editable + + if request.ip_range is not None: + output["ip_range"] = request.ip_range + + if request.position is not None: + output["position"] = request.position + + if request.protocol is not None: + output["protocol"] = SecurityGroupRuleProtocol(request.protocol) + + return output def marshal_CreateSnapshotRequest( request: CreateSnapshotRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - **resolve_one_of( + output: Dict[str, Any] = {} + output.update( + resolve_one_of( [ OneOfPossibility( "project", @@ -2550,22 +2857,39 @@ def marshal_CreateSnapshotRequest( ), ] ), - "bucket": request.bucket, - "key": request.key, - "name": request.name, - "size": request.size, - "tags": request.tags, - "volume_id": request.volume_id, - "volume_type": SnapshotVolumeType(request.volume_type), - } + ) + + if request.bucket is not None: + output["bucket"] = request.bucket + + if request.key is not None: + output["key"] = request.key + + if request.name is not None: + output["name"] = request.name + + if request.size is not None: + output["size"] = request.size + + if request.tags is not None: + output["tags"] = request.tags + + if request.volume_id is not None: + output["volume_id"] = request.volume_id + + if request.volume_type is not None: + output["volume_type"] = SnapshotVolumeType(request.volume_type) + + return output def marshal_CreateVolumeRequest( request: CreateVolumeRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - **resolve_one_of( + output: Dict[str, Any] = {} + output.update( + resolve_one_of( [ OneOfPossibility( "project", @@ -2583,7 +2907,9 @@ def marshal_CreateVolumeRequest( ), ] ), - **resolve_one_of( + ) + output.update( + resolve_one_of( [ OneOfPossibility( "size", request.size if request.size is not None else None @@ -2600,137 +2926,202 @@ def marshal_CreateVolumeRequest( ), ] ), - "name": request.name, - "tags": request.tags, - "volume_type": VolumeVolumeType(request.volume_type), - } + ) + + if request.name is not None: + output["name"] = request.name + + if request.tags is not None: + output["tags"] = request.tags + + if request.volume_type is not None: + output["volume_type"] = VolumeVolumeType(request.volume_type) + + return output def marshal_ExportSnapshotRequest( request: ExportSnapshotRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "bucket": request.bucket, - "key": request.key, - } + output: Dict[str, Any] = {} + + if request.bucket is not None: + output["bucket"] = request.bucket + + if request.key is not None: + output["key"] = request.key + + return output def marshal_ServerActionRequest( request: ServerActionRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "action": ServerAction(request.action), - "name": request.name, - "volumes": { + output: Dict[str, Any] = {} + + if request.action is not None: + output["action"] = ServerAction(request.action) + + if request.name is not None: + output["name"] = request.name + + if request.volumes is not None: + output["volumes"] = { k: marshal_ServerActionRequestVolumeBackupTemplate(v, defaults) for k, v in request.volumes.items() } - if request.volumes is not None - else None, - } + + return output def marshal_SetPlacementGroupRequest( request: SetPlacementGroupRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "name": request.name, - "organization": request.organization or defaults.default_organization_id, - "policy_mode": PlacementGroupPolicyMode(request.policy_mode), - "policy_type": PlacementGroupPolicyType(request.policy_type), - "project": request.project or defaults.default_project_id, - "tags": request.tags, - } + output: Dict[str, Any] = {} + + if request.name is not None: + output["name"] = request.name + + if request.organization is not None: + output["organization"] = ( + request.organization or defaults.default_organization_id + ) + + if request.policy_mode is not None: + output["policy_mode"] = PlacementGroupPolicyMode(request.policy_mode) + + if request.policy_type is not None: + output["policy_type"] = PlacementGroupPolicyType(request.policy_type) + + if request.project is not None: + output["project"] = request.project or defaults.default_project_id + + if request.tags is not None: + output["tags"] = request.tags + + return output def marshal_SetPlacementGroupServersRequest( request: SetPlacementGroupServersRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "servers": request.servers, - } + output: Dict[str, Any] = {} + + if request.servers is not None: + output["servers"] = request.servers + + return output def marshal_SetSecurityGroupRulesRequest( request: SetSecurityGroupRulesRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "rules": [ + output: Dict[str, Any] = {} + + if request.rules is not None: + output["rules"] = [ marshal_SetSecurityGroupRulesRequestRule(v, defaults) for v in request.rules ] - if request.rules is not None - else None, - } + + return output def marshal_UpdateIpRequest( request: UpdateIpRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "reverse": request.reverse, - "server": request.server, - "tags": request.tags, - "type": IpType(request.type_), - } + output: Dict[str, Any] = {} + + if request.reverse is not None: + output["reverse"] = request.reverse + + if request.server is not None: + output["server"] = request.server + + if request.tags is not None: + output["tags"] = request.tags + + if request.type_ is not None: + output["type"] = IpType(request.type_) + + return output def marshal_UpdatePlacementGroupRequest( request: UpdatePlacementGroupRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "name": request.name, - "policy_mode": PlacementGroupPolicyMode(request.policy_mode) - if request.policy_mode is not None - else None, - "policy_type": PlacementGroupPolicyType(request.policy_type) - if request.policy_type is not None - else None, - "tags": request.tags, - } + output: Dict[str, Any] = {} + + if request.name is not None: + output["name"] = request.name + + if request.policy_mode is not None: + output["policy_mode"] = PlacementGroupPolicyMode(request.policy_mode) + + if request.policy_type is not None: + output["policy_type"] = PlacementGroupPolicyType(request.policy_type) + + if request.tags is not None: + output["tags"] = request.tags + + return output def marshal_UpdatePlacementGroupServersRequest( request: UpdatePlacementGroupServersRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "servers": request.servers, - } + output: Dict[str, Any] = {} + + if request.servers is not None: + output["servers"] = request.servers + + return output def marshal_UpdatePrivateNICRequest( request: UpdatePrivateNICRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "tags": request.tags, - } + output: Dict[str, Any] = {} + + if request.tags is not None: + output["tags"] = request.tags + + return output def marshal_UpdateVolumeRequest( request: UpdateVolumeRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "name": request.name, - "size": request.size, - "tags": request.tags, - } + output: Dict[str, Any] = {} + + if request.name is not None: + output["name"] = request.name + + if request.size is not None: + output["size"] = request.size + + if request.tags is not None: + output["tags"] = request.tags + + return output def marshal__CreateServerRequest( request: _CreateServerRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - **resolve_one_of( + output: Dict[str, Any] = {} + output.update( + resolve_one_of( [ OneOfPossibility( "project", @@ -2748,216 +3139,416 @@ def marshal__CreateServerRequest( ), ] ), - "boot_type": BootType(request.boot_type) - if request.boot_type is not None - else None, - "bootscript": request.bootscript, - "commercial_type": request.commercial_type, - "dynamic_ip_required": request.dynamic_ip_required, - "enable_ipv6": request.enable_ipv6, - "image": request.image, - "name": request.name, - "placement_group": request.placement_group, - "public_ip": request.public_ip, - "public_ips": request.public_ips, - "routed_ip_enabled": request.routed_ip_enabled, - "security_group": request.security_group, - "tags": request.tags, - "volumes": { + ) + + if request.boot_type is not None: + output["boot_type"] = BootType(request.boot_type) + + if request.bootscript is not None: + output["bootscript"] = request.bootscript + + if request.commercial_type is not None: + output["commercial_type"] = request.commercial_type + + if request.dynamic_ip_required is not None: + output["dynamic_ip_required"] = request.dynamic_ip_required + + if request.enable_ipv6 is not None: + output["enable_ipv6"] = request.enable_ipv6 + + if request.image is not None: + output["image"] = request.image + + if request.name is not None: + output["name"] = request.name + + if request.placement_group is not None: + output["placement_group"] = request.placement_group + + if request.public_ip is not None: + output["public_ip"] = request.public_ip + + if request.public_ips is not None: + output["public_ips"] = request.public_ips + + if request.routed_ip_enabled is not None: + output["routed_ip_enabled"] = request.routed_ip_enabled + + if request.security_group is not None: + output["security_group"] = request.security_group + + if request.tags is not None: + output["tags"] = request.tags + + if request.volumes is not None: + output["volumes"] = { k: marshal_VolumeServerTemplate(v, defaults) for k, v in request.volumes.items() } - if request.volumes is not None - else None, - } + + return output def marshal__SetImageRequest( request: _SetImageRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "arch": Arch(request.arch), - "creation_date": request.creation_date, - "default_bootscript": marshal_Bootscript(request.default_bootscript, defaults) - if request.default_bootscript is not None - else None, - "extra_volumes": { + output: Dict[str, Any] = {} + + if request.arch is not None: + output["arch"] = Arch(request.arch) + + if request.creation_date is not None: + output["creation_date"] = request.creation_date + + if request.default_bootscript is not None: + output["default_bootscript"] = marshal_Bootscript( + request.default_bootscript, defaults + ) + + if request.extra_volumes is not None: + output["extra_volumes"] = { k: marshal_Volume(v, defaults) for k, v in request.extra_volumes.items() } - if request.extra_volumes is not None - else None, - "from_server": request.from_server, - "modification_date": request.modification_date, - "name": request.name, - "organization": request.organization or defaults.default_organization_id, - "project": request.project or defaults.default_project_id, - "public": request.public, - "root_volume": marshal_VolumeSummary(request.root_volume, defaults) - if request.root_volume is not None - else None, - "state": ImageState(request.state), - "tags": request.tags, - } + + if request.from_server is not None: + output["from_server"] = request.from_server + + if request.modification_date is not None: + output["modification_date"] = request.modification_date + + if request.name is not None: + output["name"] = request.name + + if request.organization is not None: + output["organization"] = ( + request.organization or defaults.default_organization_id + ) + + if request.project is not None: + output["project"] = request.project or defaults.default_project_id + + if request.public is not None: + output["public"] = request.public + + if request.root_volume is not None: + output["root_volume"] = marshal_VolumeSummary(request.root_volume, defaults) + + if request.state is not None: + output["state"] = ImageState(request.state) + + if request.tags is not None: + output["tags"] = request.tags + + return output def marshal__SetSecurityGroupRequest( request: _SetSecurityGroupRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "creation_date": request.creation_date, - "description": request.description, - "enable_default_security": request.enable_default_security, - "inbound_default_policy": SecurityGroupPolicy(request.inbound_default_policy), - "modification_date": request.modification_date, - "name": request.name, - "organization": request.organization or defaults.default_organization_id, - "organization_default": request.organization_default, - "outbound_default_policy": SecurityGroupPolicy(request.outbound_default_policy), - "project": request.project or defaults.default_project_id, - "project_default": request.project_default, - "servers": [marshal_ServerSummary(v, defaults) for v in request.servers] - if request.servers is not None - else None, - "stateful": request.stateful, - "tags": request.tags, - } + output: Dict[str, Any] = {} + + if request.creation_date is not None: + output["creation_date"] = request.creation_date + + if request.description is not None: + output["description"] = request.description + + if request.enable_default_security is not None: + output["enable_default_security"] = request.enable_default_security + + if request.inbound_default_policy is not None: + output["inbound_default_policy"] = SecurityGroupPolicy( + request.inbound_default_policy + ) + + if request.modification_date is not None: + output["modification_date"] = request.modification_date + + if request.name is not None: + output["name"] = request.name + + if request.organization is not None: + output["organization"] = ( + request.organization or defaults.default_organization_id + ) + + if request.organization_default is not None: + output["organization_default"] = request.organization_default + + if request.outbound_default_policy is not None: + output["outbound_default_policy"] = SecurityGroupPolicy( + request.outbound_default_policy + ) + + if request.project is not None: + output["project"] = request.project or defaults.default_project_id + + if request.project_default is not None: + output["project_default"] = request.project_default + + if request.servers is not None: + output["servers"] = [ + marshal_ServerSummary(v, defaults) for v in request.servers + ] + + if request.stateful is not None: + output["stateful"] = request.stateful + + if request.tags is not None: + output["tags"] = request.tags + + return output def marshal__SetSecurityGroupRuleRequest( request: _SetSecurityGroupRuleRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "action": SecurityGroupRuleAction(request.action), - "dest_port_from": request.dest_port_from, - "dest_port_to": request.dest_port_to, - "direction": SecurityGroupRuleDirection(request.direction), - "editable": request.editable, - "id": request.id, - "ip_range": request.ip_range, - "position": request.position, - "protocol": SecurityGroupRuleProtocol(request.protocol), - } + output: Dict[str, Any] = {} + + if request.action is not None: + output["action"] = SecurityGroupRuleAction(request.action) + + if request.dest_port_from is not None: + output["dest_port_from"] = request.dest_port_from + + if request.dest_port_to is not None: + output["dest_port_to"] = request.dest_port_to + + if request.direction is not None: + output["direction"] = SecurityGroupRuleDirection(request.direction) + + if request.editable is not None: + output["editable"] = request.editable + + if request.id is not None: + output["id"] = request.id + + if request.ip_range is not None: + output["ip_range"] = request.ip_range + + if request.position is not None: + output["position"] = request.position + + if request.protocol is not None: + output["protocol"] = SecurityGroupRuleProtocol(request.protocol) + + return output def marshal__SetServerRequest( request: _SetServerRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "allowed_actions": [ServerAction(v) for v in request.allowed_actions] - if request.allowed_actions is not None - else None, - "arch": Arch(request.arch), - "boot_type": BootType(request.boot_type), - "bootscript": marshal_Bootscript(request.bootscript, defaults) - if request.bootscript is not None - else None, - "commercial_type": request.commercial_type, - "creation_date": request.creation_date, - "dynamic_ip_required": request.dynamic_ip_required, - "enable_ipv6": request.enable_ipv6, - "hostname": request.hostname, - "image": marshal_Image(request.image, defaults) - if request.image is not None - else None, - "ipv6": marshal_ServerIpv6(request.ipv6, defaults) - if request.ipv6 is not None - else None, - "location": marshal_ServerLocation(request.location, defaults) - if request.location is not None - else None, - "maintenances": [ + output: Dict[str, Any] = {} + + if request.allowed_actions is not None: + output["allowed_actions"] = [ServerAction(v) for v in request.allowed_actions] + + if request.arch is not None: + output["arch"] = Arch(request.arch) + + if request.boot_type is not None: + output["boot_type"] = BootType(request.boot_type) + + if request.bootscript is not None: + output["bootscript"] = marshal_Bootscript(request.bootscript, defaults) + + if request.commercial_type is not None: + output["commercial_type"] = request.commercial_type + + if request.creation_date is not None: + output["creation_date"] = request.creation_date + + if request.dynamic_ip_required is not None: + output["dynamic_ip_required"] = request.dynamic_ip_required + + if request.enable_ipv6 is not None: + output["enable_ipv6"] = request.enable_ipv6 + + if request.hostname is not None: + output["hostname"] = request.hostname + + if request.image is not None: + output["image"] = marshal_Image(request.image, defaults) + + if request.ipv6 is not None: + output["ipv6"] = marshal_ServerIpv6(request.ipv6, defaults) + + if request.location is not None: + output["location"] = marshal_ServerLocation(request.location, defaults) + + if request.maintenances is not None: + output["maintenances"] = [ marshal_ServerMaintenance(v, defaults) for v in request.maintenances ] - if request.maintenances is not None - else None, - "modification_date": request.modification_date, - "name": request.name, - "organization": request.organization or defaults.default_organization_id, - "placement_group": marshal_PlacementGroup(request.placement_group, defaults) - if request.placement_group is not None - else None, - "private_ip": request.private_ip, - "private_nics": [marshal_PrivateNIC(v, defaults) for v in request.private_nics] - if request.private_nics is not None - else None, - "project": request.project or defaults.default_project_id, - "protected": request.protected, - "public_ip": marshal_ServerIp(request.public_ip, defaults) - if request.public_ip is not None - else None, - "public_ips": [marshal_ServerIp(v, defaults) for v in request.public_ips] - if request.public_ips is not None - else None, - "routed_ip_enabled": request.routed_ip_enabled, - "security_group": marshal_SecurityGroupSummary(request.security_group, defaults) - if request.security_group is not None - else None, - "state": ServerState(request.state), - "state_detail": request.state_detail, - "tags": request.tags, - "volumes": {k: marshal_Volume(v, defaults) for k, v in request.volumes.items()} - if request.volumes is not None - else None, - } + + if request.modification_date is not None: + output["modification_date"] = request.modification_date + + if request.name is not None: + output["name"] = request.name + + if request.organization is not None: + output["organization"] = ( + request.organization or defaults.default_organization_id + ) + + if request.placement_group is not None: + output["placement_group"] = marshal_PlacementGroup( + request.placement_group, defaults + ) + + if request.private_ip is not None: + output["private_ip"] = request.private_ip + + if request.private_nics is not None: + output["private_nics"] = [ + marshal_PrivateNIC(v, defaults) for v in request.private_nics + ] + + if request.project is not None: + output["project"] = request.project or defaults.default_project_id + + if request.protected is not None: + output["protected"] = request.protected + + if request.public_ip is not None: + output["public_ip"] = marshal_ServerIp(request.public_ip, defaults) + + if request.public_ips is not None: + output["public_ips"] = [ + marshal_ServerIp(v, defaults) for v in request.public_ips + ] + + if request.routed_ip_enabled is not None: + output["routed_ip_enabled"] = request.routed_ip_enabled + + if request.security_group is not None: + output["security_group"] = marshal_SecurityGroupSummary( + request.security_group, defaults + ) + + if request.state is not None: + output["state"] = ServerState(request.state) + + if request.state_detail is not None: + output["state_detail"] = request.state_detail + + if request.tags is not None: + output["tags"] = request.tags + + if request.volumes is not None: + output["volumes"] = { + k: marshal_Volume(v, defaults) for k, v in request.volumes.items() + } + + return output def marshal__SetSnapshotRequest( request: _SetSnapshotRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "base_volume": marshal_SnapshotBaseVolume(request.base_volume, defaults) - if request.base_volume is not None - else None, - "creation_date": request.creation_date, - "id": request.id, - "modification_date": request.modification_date, - "name": request.name, - "organization": request.organization or defaults.default_organization_id, - "project": request.project or defaults.default_project_id, - "size": request.size, - "state": SnapshotState(request.state), - "tags": request.tags, - "volume_type": VolumeVolumeType(request.volume_type), - } + output: Dict[str, Any] = {} + + if request.base_volume is not None: + output["base_volume"] = marshal_SnapshotBaseVolume( + request.base_volume, defaults + ) + + if request.creation_date is not None: + output["creation_date"] = request.creation_date + + if request.id is not None: + output["id"] = request.id + + if request.modification_date is not None: + output["modification_date"] = request.modification_date + + if request.name is not None: + output["name"] = request.name + + if request.organization is not None: + output["organization"] = ( + request.organization or defaults.default_organization_id + ) + + if request.project is not None: + output["project"] = request.project or defaults.default_project_id + + if request.size is not None: + output["size"] = request.size + + if request.state is not None: + output["state"] = SnapshotState(request.state) + + if request.tags is not None: + output["tags"] = request.tags + + if request.volume_type is not None: + output["volume_type"] = VolumeVolumeType(request.volume_type) + + return output def marshal__UpdateServerRequest( request: _UpdateServerRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "boot_type": BootType(request.boot_type) - if request.boot_type is not None - else None, - "bootscript": request.bootscript, - "commercial_type": request.commercial_type, - "dynamic_ip_required": request.dynamic_ip_required, - "enable_ipv6": request.enable_ipv6, - "name": request.name, - "placement_group": request.placement_group, - "private_nics": [marshal_PrivateNIC(v, defaults) for v in request.private_nics] - if request.private_nics is not None - else None, - "protected": request.protected, - "public_ips": [marshal_ServerIp(v, defaults) for v in request.public_ips] - if request.public_ips is not None - else None, - "routed_ip_enabled": request.routed_ip_enabled, - "security_group": marshal_SecurityGroupTemplate( + output: Dict[str, Any] = {} + + if request.boot_type is not None: + output["boot_type"] = BootType(request.boot_type) + + if request.bootscript is not None: + output["bootscript"] = request.bootscript + + if request.commercial_type is not None: + output["commercial_type"] = request.commercial_type + + if request.dynamic_ip_required is not None: + output["dynamic_ip_required"] = request.dynamic_ip_required + + if request.enable_ipv6 is not None: + output["enable_ipv6"] = request.enable_ipv6 + + if request.name is not None: + output["name"] = request.name + + if request.placement_group is not None: + output["placement_group"] = request.placement_group + + if request.private_nics is not None: + output["private_nics"] = [ + marshal_PrivateNIC(v, defaults) for v in request.private_nics + ] + + if request.protected is not None: + output["protected"] = request.protected + + if request.public_ips is not None: + output["public_ips"] = [ + marshal_ServerIp(v, defaults) for v in request.public_ips + ] + + if request.routed_ip_enabled is not None: + output["routed_ip_enabled"] = request.routed_ip_enabled + + if request.security_group is not None: + output["security_group"] = marshal_SecurityGroupTemplate( request.security_group, defaults ) - if request.security_group is not None - else None, - "tags": request.tags, - "volumes": { + + if request.tags is not None: + output["tags"] = request.tags + + if request.volumes is not None: + output["volumes"] = { k: marshal_VolumeServerTemplate(v, defaults) for k, v in request.volumes.items() } - if request.volumes is not None - else None, - } + + return output diff --git a/scaleway/scaleway/iot/v1/marshalling.py b/scaleway/scaleway/iot/v1/marshalling.py index 354cdab9b..58646178e 100644 --- a/scaleway/scaleway/iot/v1/marshalling.py +++ b/scaleway/scaleway/iot/v1/marshalling.py @@ -706,135 +706,220 @@ def marshal_DeviceMessageFiltersRule( request: DeviceMessageFiltersRule, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "policy": DeviceMessageFiltersRulePolicy(request.policy), - "topics": request.topics, - } + output: Dict[str, Any] = {} + + if request.policy is not None: + output["policy"] = DeviceMessageFiltersRulePolicy(request.policy) + + if request.topics is not None: + output["topics"] = request.topics + + return output def marshal_CreateRouteRequestDatabaseConfig( request: CreateRouteRequestDatabaseConfig, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "dbname": request.dbname, - "engine": RouteDatabaseConfigEngine(request.engine), - "host": request.host, - "password": request.password, - "port": request.port, - "query": request.query, - "username": request.username, - } + output: Dict[str, Any] = {} + + if request.dbname is not None: + output["dbname"] = request.dbname + + if request.engine is not None: + output["engine"] = RouteDatabaseConfigEngine(request.engine) + + if request.host is not None: + output["host"] = request.host + + if request.password is not None: + output["password"] = request.password + + if request.port is not None: + output["port"] = request.port + + if request.query is not None: + output["query"] = request.query + + if request.username is not None: + output["username"] = request.username + + return output def marshal_CreateRouteRequestRestConfig( request: CreateRouteRequestRestConfig, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "headers": request.headers, - "uri": request.uri, - "verb": RouteRestConfigHttpVerb(request.verb), - } + output: Dict[str, Any] = {} + + if request.headers is not None: + output["headers"] = request.headers + + if request.uri is not None: + output["uri"] = request.uri + + if request.verb is not None: + output["verb"] = RouteRestConfigHttpVerb(request.verb) + + return output def marshal_CreateRouteRequestS3Config( request: CreateRouteRequestS3Config, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "bucket_name": request.bucket_name, - "bucket_region": request.bucket_region, - "object_prefix": request.object_prefix, - "strategy": RouteS3ConfigS3Strategy(request.strategy), - } + output: Dict[str, Any] = {} + + if request.bucket_name is not None: + output["bucket_name"] = request.bucket_name + + if request.bucket_region is not None: + output["bucket_region"] = request.bucket_region + + if request.object_prefix is not None: + output["object_prefix"] = request.object_prefix + + if request.strategy is not None: + output["strategy"] = RouteS3ConfigS3Strategy(request.strategy) + + return output def marshal_DeviceMessageFilters( request: DeviceMessageFilters, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "publish": marshal_DeviceMessageFiltersRule(request.publish, defaults) - if request.publish is not None - else None, - "subscribe": marshal_DeviceMessageFiltersRule(request.subscribe, defaults) - if request.subscribe is not None - else None, - } + output: Dict[str, Any] = {} + + if request.publish is not None: + output["publish"] = marshal_DeviceMessageFiltersRule(request.publish, defaults) + + if request.subscribe is not None: + output["subscribe"] = marshal_DeviceMessageFiltersRule( + request.subscribe, defaults + ) + + return output def marshal_HubTwinsGraphiteConfig( request: HubTwinsGraphiteConfig, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "push_uri": request.push_uri, - } + output: Dict[str, Any] = {} + + if request.push_uri is not None: + output["push_uri"] = request.push_uri + + return output def marshal_UpdateRouteRequestDatabaseConfig( request: UpdateRouteRequestDatabaseConfig, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "dbname": request.dbname, - "engine": RouteDatabaseConfigEngine(request.engine), - "host": request.host, - "password": request.password, - "port": request.port, - "query": request.query, - "username": request.username, - } + output: Dict[str, Any] = {} + + if request.dbname is not None: + output["dbname"] = request.dbname + + if request.engine is not None: + output["engine"] = RouteDatabaseConfigEngine(request.engine) + + if request.host is not None: + output["host"] = request.host + + if request.password is not None: + output["password"] = request.password + + if request.port is not None: + output["port"] = request.port + + if request.query is not None: + output["query"] = request.query + + if request.username is not None: + output["username"] = request.username + + return output def marshal_UpdateRouteRequestRestConfig( request: UpdateRouteRequestRestConfig, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "headers": request.headers, - "uri": request.uri, - "verb": RouteRestConfigHttpVerb(request.verb), - } + output: Dict[str, Any] = {} + + if request.headers is not None: + output["headers"] = request.headers + + if request.uri is not None: + output["uri"] = request.uri + + if request.verb is not None: + output["verb"] = RouteRestConfigHttpVerb(request.verb) + + return output def marshal_UpdateRouteRequestS3Config( request: UpdateRouteRequestS3Config, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "bucket_name": request.bucket_name, - "bucket_region": request.bucket_region, - "object_prefix": request.object_prefix, - "strategy": RouteS3ConfigS3Strategy(request.strategy), - } + output: Dict[str, Any] = {} + + if request.bucket_name is not None: + output["bucket_name"] = request.bucket_name + + if request.bucket_region is not None: + output["bucket_region"] = request.bucket_region + + if request.object_prefix is not None: + output["object_prefix"] = request.object_prefix + + if request.strategy is not None: + output["strategy"] = RouteS3ConfigS3Strategy(request.strategy) + + return output def marshal_CreateDeviceRequest( request: CreateDeviceRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "allow_insecure": request.allow_insecure, - "allow_multiple_connections": request.allow_multiple_connections, - "description": request.description, - "hub_id": request.hub_id, - "message_filters": marshal_DeviceMessageFilters( + output: Dict[str, Any] = {} + + if request.allow_insecure is not None: + output["allow_insecure"] = request.allow_insecure + + if request.allow_multiple_connections is not None: + output["allow_multiple_connections"] = request.allow_multiple_connections + + if request.description is not None: + output["description"] = request.description + + if request.hub_id is not None: + output["hub_id"] = request.hub_id + + if request.message_filters is not None: + output["message_filters"] = marshal_DeviceMessageFilters( request.message_filters, defaults ) - if request.message_filters is not None - else None, - "name": request.name, - } + + if request.name is not None: + output["name"] = request.name + + return output def marshal_CreateHubRequest( request: CreateHubRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - **resolve_one_of( + output: Dict[str, Any] = {} + output.update( + resolve_one_of( [ OneOfPossibility( "twins_graphite_config", @@ -846,36 +931,54 @@ def marshal_CreateHubRequest( ), ] ), - "disable_events": request.disable_events, - "events_topic_prefix": request.events_topic_prefix, - "name": request.name, - "product_plan": HubProductPlan(request.product_plan) - if request.product_plan is not None - else None, - "project_id": request.project_id or defaults.default_project_id, - } + ) + + if request.disable_events is not None: + output["disable_events"] = request.disable_events + + if request.events_topic_prefix is not None: + output["events_topic_prefix"] = request.events_topic_prefix + + if request.name is not None: + output["name"] = request.name + + if request.product_plan is not None: + output["product_plan"] = HubProductPlan(request.product_plan) + + if request.project_id is not None: + output["project_id"] = request.project_id or defaults.default_project_id + + return output def marshal_CreateNetworkRequest( request: CreateNetworkRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "hub_id": request.hub_id, - "name": request.name, - "topic_prefix": request.topic_prefix, - "type": NetworkNetworkType(request.type_) - if request.type_ is not None - else None, - } + output: Dict[str, Any] = {} + + if request.hub_id is not None: + output["hub_id"] = request.hub_id + + if request.name is not None: + output["name"] = request.name + + if request.topic_prefix is not None: + output["topic_prefix"] = request.topic_prefix + + if request.type_ is not None: + output["type"] = NetworkNetworkType(request.type_) + + return output def marshal_CreateRouteRequest( request: CreateRouteRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - **resolve_one_of( + output: Dict[str, Any] = {} + output.update( + resolve_one_of( [ OneOfPossibility( "s3_config", @@ -899,74 +1002,110 @@ def marshal_CreateRouteRequest( ), ] ), - "hub_id": request.hub_id, - "name": request.name, - "topic": request.topic, - } + ) + + if request.hub_id is not None: + output["hub_id"] = request.hub_id + + if request.name is not None: + output["name"] = request.name + + if request.topic is not None: + output["topic"] = request.topic + + return output def marshal_PatchTwinDocumentRequest( request: PatchTwinDocumentRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "data": request.data, - "version": request.version, - } + output: Dict[str, Any] = {} + + if request.data is not None: + output["data"] = request.data + + if request.version is not None: + output["version"] = request.version + + return output def marshal_PutTwinDocumentRequest( request: PutTwinDocumentRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "data": request.data, - "version": request.version, - } + output: Dict[str, Any] = {} + + if request.data is not None: + output["data"] = request.data + + if request.version is not None: + output["version"] = request.version + + return output def marshal_SetDeviceCertificateRequest( request: SetDeviceCertificateRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "certificate_pem": request.certificate_pem, - } + output: Dict[str, Any] = {} + + if request.certificate_pem is not None: + output["certificate_pem"] = request.certificate_pem + + return output def marshal_SetHubCARequest( request: SetHubCARequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "ca_cert_pem": request.ca_cert_pem, - "challenge_cert_pem": request.challenge_cert_pem, - } + output: Dict[str, Any] = {} + + if request.ca_cert_pem is not None: + output["ca_cert_pem"] = request.ca_cert_pem + + if request.challenge_cert_pem is not None: + output["challenge_cert_pem"] = request.challenge_cert_pem + + return output def marshal_UpdateDeviceRequest( request: UpdateDeviceRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "allow_insecure": request.allow_insecure, - "allow_multiple_connections": request.allow_multiple_connections, - "description": request.description, - "hub_id": request.hub_id, - "message_filters": marshal_DeviceMessageFilters( + output: Dict[str, Any] = {} + + if request.allow_insecure is not None: + output["allow_insecure"] = request.allow_insecure + + if request.allow_multiple_connections is not None: + output["allow_multiple_connections"] = request.allow_multiple_connections + + if request.description is not None: + output["description"] = request.description + + if request.hub_id is not None: + output["hub_id"] = request.hub_id + + if request.message_filters is not None: + output["message_filters"] = marshal_DeviceMessageFilters( request.message_filters, defaults ) - if request.message_filters is not None - else None, - } + + return output def marshal_UpdateHubRequest( request: UpdateHubRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - **resolve_one_of( + output: Dict[str, Any] = {} + output.update( + resolve_one_of( [ OneOfPossibility( "twins_graphite_config", @@ -978,20 +1117,35 @@ def marshal_UpdateHubRequest( ), ] ), - "disable_events": request.disable_events, - "enable_device_auto_provisioning": request.enable_device_auto_provisioning, - "events_topic_prefix": request.events_topic_prefix, - "name": request.name, - "product_plan": HubProductPlan(request.product_plan), - } + ) + + if request.disable_events is not None: + output["disable_events"] = request.disable_events + + if request.enable_device_auto_provisioning is not None: + output[ + "enable_device_auto_provisioning" + ] = request.enable_device_auto_provisioning + + if request.events_topic_prefix is not None: + output["events_topic_prefix"] = request.events_topic_prefix + + if request.name is not None: + output["name"] = request.name + + if request.product_plan is not None: + output["product_plan"] = HubProductPlan(request.product_plan) + + return output def marshal_UpdateRouteRequest( request: UpdateRouteRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - **resolve_one_of( + output: Dict[str, Any] = {} + output.update( + resolve_one_of( [ OneOfPossibility( "s3_config", @@ -1015,6 +1169,12 @@ def marshal_UpdateRouteRequest( ), ] ), - "name": request.name, - "topic": request.topic, - } + ) + + if request.name is not None: + output["name"] = request.name + + if request.topic is not None: + output["topic"] = request.topic + + return output diff --git a/scaleway/scaleway/k8s/v1/marshalling.py b/scaleway/scaleway/k8s/v1/marshalling.py index de00c7485..8d535165f 100644 --- a/scaleway/scaleway/k8s/v1/marshalling.py +++ b/scaleway/scaleway/k8s/v1/marshalling.py @@ -645,169 +645,305 @@ def marshal_CreateClusterRequestPoolConfigUpgradePolicy( request: CreateClusterRequestPoolConfigUpgradePolicy, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "max_surge": request.max_surge, - "max_unavailable": request.max_unavailable, - } + output: Dict[str, Any] = {} + + if request.max_surge is not None: + output["max_surge"] = request.max_surge + + if request.max_unavailable is not None: + output["max_unavailable"] = request.max_unavailable + + return output def marshal_MaintenanceWindow( request: MaintenanceWindow, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "day": MaintenanceWindowDayOfTheWeek(request.day), - "start_hour": request.start_hour, - } + output: Dict[str, Any] = {} + + if request.day is not None: + output["day"] = MaintenanceWindowDayOfTheWeek(request.day) + + if request.start_hour is not None: + output["start_hour"] = request.start_hour + + return output def marshal_CreateClusterRequestAutoUpgrade( request: CreateClusterRequestAutoUpgrade, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "enable": request.enable, - "maintenance_window": marshal_MaintenanceWindow( + output: Dict[str, Any] = {} + + if request.enable is not None: + output["enable"] = request.enable + + if request.maintenance_window is not None: + output["maintenance_window"] = marshal_MaintenanceWindow( request.maintenance_window, defaults ) - if request.maintenance_window is not None - else None, - } + + return output def marshal_CreateClusterRequestAutoscalerConfig( request: CreateClusterRequestAutoscalerConfig, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "balance_similar_node_groups": request.balance_similar_node_groups, - "estimator": AutoscalerEstimator(request.estimator), - "expander": AutoscalerExpander(request.expander), - "expendable_pods_priority_cutoff": request.expendable_pods_priority_cutoff, - "ignore_daemonsets_utilization": request.ignore_daemonsets_utilization, - "max_graceful_termination_sec": request.max_graceful_termination_sec, - "scale_down_delay_after_add": request.scale_down_delay_after_add, - "scale_down_disabled": request.scale_down_disabled, - "scale_down_unneeded_time": request.scale_down_unneeded_time, - "scale_down_utilization_threshold": request.scale_down_utilization_threshold, - } + output: Dict[str, Any] = {} + + if request.balance_similar_node_groups is not None: + output["balance_similar_node_groups"] = request.balance_similar_node_groups + + if request.estimator is not None: + output["estimator"] = AutoscalerEstimator(request.estimator) + + if request.expander is not None: + output["expander"] = AutoscalerExpander(request.expander) + + if request.expendable_pods_priority_cutoff is not None: + output[ + "expendable_pods_priority_cutoff" + ] = request.expendable_pods_priority_cutoff + + if request.ignore_daemonsets_utilization is not None: + output["ignore_daemonsets_utilization"] = request.ignore_daemonsets_utilization + + if request.max_graceful_termination_sec is not None: + output["max_graceful_termination_sec"] = request.max_graceful_termination_sec + + if request.scale_down_delay_after_add is not None: + output["scale_down_delay_after_add"] = request.scale_down_delay_after_add + + if request.scale_down_disabled is not None: + output["scale_down_disabled"] = request.scale_down_disabled + + if request.scale_down_unneeded_time is not None: + output["scale_down_unneeded_time"] = request.scale_down_unneeded_time + + if request.scale_down_utilization_threshold is not None: + output[ + "scale_down_utilization_threshold" + ] = request.scale_down_utilization_threshold + + return output def marshal_CreateClusterRequestOpenIDConnectConfig( request: CreateClusterRequestOpenIDConnectConfig, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "client_id": request.client_id, - "groups_claim": request.groups_claim, - "groups_prefix": request.groups_prefix, - "issuer_url": request.issuer_url, - "required_claim": request.required_claim, - "username_claim": request.username_claim, - "username_prefix": request.username_prefix, - } + output: Dict[str, Any] = {} + + if request.client_id is not None: + output["client_id"] = request.client_id + + if request.groups_claim is not None: + output["groups_claim"] = request.groups_claim + + if request.groups_prefix is not None: + output["groups_prefix"] = request.groups_prefix + + if request.issuer_url is not None: + output["issuer_url"] = request.issuer_url + + if request.required_claim is not None: + output["required_claim"] = request.required_claim + + if request.username_claim is not None: + output["username_claim"] = request.username_claim + + if request.username_prefix is not None: + output["username_prefix"] = request.username_prefix + + return output def marshal_CreateClusterRequestPoolConfig( request: CreateClusterRequestPoolConfig, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "autohealing": request.autohealing, - "autoscaling": request.autoscaling, - "container_runtime": Runtime(request.container_runtime), - "kubelet_args": request.kubelet_args, - "max_size": request.max_size, - "min_size": request.min_size, - "name": request.name, - "node_type": request.node_type, - "placement_group_id": request.placement_group_id, - "root_volume_size": request.root_volume_size, - "root_volume_type": PoolVolumeType(request.root_volume_type), - "size": request.size, - "tags": request.tags, - "upgrade_policy": marshal_CreateClusterRequestPoolConfigUpgradePolicy( + output: Dict[str, Any] = {} + + if request.autohealing is not None: + output["autohealing"] = request.autohealing + + if request.autoscaling is not None: + output["autoscaling"] = request.autoscaling + + if request.container_runtime is not None: + output["container_runtime"] = Runtime(request.container_runtime) + + if request.kubelet_args is not None: + output["kubelet_args"] = request.kubelet_args + + if request.max_size is not None: + output["max_size"] = request.max_size + + if request.min_size is not None: + output["min_size"] = request.min_size + + if request.name is not None: + output["name"] = request.name + + if request.node_type is not None: + output["node_type"] = request.node_type + + if request.placement_group_id is not None: + output["placement_group_id"] = request.placement_group_id + + if request.root_volume_size is not None: + output["root_volume_size"] = request.root_volume_size + + if request.root_volume_type is not None: + output["root_volume_type"] = PoolVolumeType(request.root_volume_type) + + if request.size is not None: + output["size"] = request.size + + if request.tags is not None: + output["tags"] = request.tags + + if request.upgrade_policy is not None: + output["upgrade_policy"] = marshal_CreateClusterRequestPoolConfigUpgradePolicy( request.upgrade_policy, defaults ) - if request.upgrade_policy is not None - else None, - "zone": request.zone, - } + + if request.zone is not None: + output["zone"] = request.zone + + return output def marshal_CreatePoolRequestUpgradePolicy( request: CreatePoolRequestUpgradePolicy, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "max_surge": request.max_surge, - "max_unavailable": request.max_unavailable, - } + output: Dict[str, Any] = {} + + if request.max_surge is not None: + output["max_surge"] = request.max_surge + + if request.max_unavailable is not None: + output["max_unavailable"] = request.max_unavailable + + return output def marshal_UpdateClusterRequestAutoUpgrade( request: UpdateClusterRequestAutoUpgrade, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "enable": request.enable, - "maintenance_window": marshal_MaintenanceWindow( + output: Dict[str, Any] = {} + + if request.enable is not None: + output["enable"] = request.enable + + if request.maintenance_window is not None: + output["maintenance_window"] = marshal_MaintenanceWindow( request.maintenance_window, defaults ) - if request.maintenance_window is not None - else None, - } + + return output def marshal_UpdateClusterRequestAutoscalerConfig( request: UpdateClusterRequestAutoscalerConfig, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "balance_similar_node_groups": request.balance_similar_node_groups, - "estimator": AutoscalerEstimator(request.estimator), - "expander": AutoscalerExpander(request.expander), - "expendable_pods_priority_cutoff": request.expendable_pods_priority_cutoff, - "ignore_daemonsets_utilization": request.ignore_daemonsets_utilization, - "max_graceful_termination_sec": request.max_graceful_termination_sec, - "scale_down_delay_after_add": request.scale_down_delay_after_add, - "scale_down_disabled": request.scale_down_disabled, - "scale_down_unneeded_time": request.scale_down_unneeded_time, - "scale_down_utilization_threshold": request.scale_down_utilization_threshold, - } + output: Dict[str, Any] = {} + + if request.balance_similar_node_groups is not None: + output["balance_similar_node_groups"] = request.balance_similar_node_groups + + if request.estimator is not None: + output["estimator"] = AutoscalerEstimator(request.estimator) + + if request.expander is not None: + output["expander"] = AutoscalerExpander(request.expander) + + if request.expendable_pods_priority_cutoff is not None: + output[ + "expendable_pods_priority_cutoff" + ] = request.expendable_pods_priority_cutoff + + if request.ignore_daemonsets_utilization is not None: + output["ignore_daemonsets_utilization"] = request.ignore_daemonsets_utilization + + if request.max_graceful_termination_sec is not None: + output["max_graceful_termination_sec"] = request.max_graceful_termination_sec + + if request.scale_down_delay_after_add is not None: + output["scale_down_delay_after_add"] = request.scale_down_delay_after_add + + if request.scale_down_disabled is not None: + output["scale_down_disabled"] = request.scale_down_disabled + + if request.scale_down_unneeded_time is not None: + output["scale_down_unneeded_time"] = request.scale_down_unneeded_time + + if request.scale_down_utilization_threshold is not None: + output[ + "scale_down_utilization_threshold" + ] = request.scale_down_utilization_threshold + + return output def marshal_UpdateClusterRequestOpenIDConnectConfig( request: UpdateClusterRequestOpenIDConnectConfig, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "client_id": request.client_id, - "groups_claim": request.groups_claim, - "groups_prefix": request.groups_prefix, - "issuer_url": request.issuer_url, - "required_claim": request.required_claim, - "username_claim": request.username_claim, - "username_prefix": request.username_prefix, - } + output: Dict[str, Any] = {} + + if request.client_id is not None: + output["client_id"] = request.client_id + + if request.groups_claim is not None: + output["groups_claim"] = request.groups_claim + + if request.groups_prefix is not None: + output["groups_prefix"] = request.groups_prefix + + if request.issuer_url is not None: + output["issuer_url"] = request.issuer_url + + if request.required_claim is not None: + output["required_claim"] = request.required_claim + + if request.username_claim is not None: + output["username_claim"] = request.username_claim + + if request.username_prefix is not None: + output["username_prefix"] = request.username_prefix + + return output def marshal_UpdatePoolRequestUpgradePolicy( request: UpdatePoolRequestUpgradePolicy, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "max_surge": request.max_surge, - "max_unavailable": request.max_unavailable, - } + output: Dict[str, Any] = {} + + if request.max_surge is not None: + output["max_surge"] = request.max_surge + + if request.max_unavailable is not None: + output["max_unavailable"] = request.max_unavailable + + return output def marshal_CreateClusterRequest( request: CreateClusterRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - **resolve_one_of( + output: Dict[str, Any] = {} + output.update( + resolve_one_of( [ OneOfPossibility( "project_id", @@ -825,151 +961,256 @@ def marshal_CreateClusterRequest( ), ] ), - "admission_plugins": request.admission_plugins, - "apiserver_cert_sans": request.apiserver_cert_sans, - "auto_upgrade": marshal_CreateClusterRequestAutoUpgrade( + ) + + if request.admission_plugins is not None: + output["admission_plugins"] = request.admission_plugins + + if request.apiserver_cert_sans is not None: + output["apiserver_cert_sans"] = request.apiserver_cert_sans + + if request.auto_upgrade is not None: + output["auto_upgrade"] = marshal_CreateClusterRequestAutoUpgrade( request.auto_upgrade, defaults ) - if request.auto_upgrade is not None - else None, - "autoscaler_config": marshal_CreateClusterRequestAutoscalerConfig( + + if request.autoscaler_config is not None: + output["autoscaler_config"] = marshal_CreateClusterRequestAutoscalerConfig( request.autoscaler_config, defaults ) - if request.autoscaler_config is not None - else None, - "cni": CNI(request.cni) if request.cni is not None else None, - "description": request.description, - "enable_dashboard": request.enable_dashboard, - "feature_gates": request.feature_gates, - "ingress": Ingress(request.ingress) if request.ingress is not None else None, - "name": request.name, - "open_id_connect_config": marshal_CreateClusterRequestOpenIDConnectConfig( + + if request.cni is not None: + output["cni"] = CNI(request.cni) + + if request.description is not None: + output["description"] = request.description + + if request.enable_dashboard is not None: + output["enable_dashboard"] = request.enable_dashboard + + if request.feature_gates is not None: + output["feature_gates"] = request.feature_gates + + if request.ingress is not None: + output["ingress"] = Ingress(request.ingress) + + if request.name is not None: + output["name"] = request.name + + if request.open_id_connect_config is not None: + output[ + "open_id_connect_config" + ] = marshal_CreateClusterRequestOpenIDConnectConfig( request.open_id_connect_config, defaults ) - if request.open_id_connect_config is not None - else None, - "pools": [ + + if request.pools is not None: + output["pools"] = [ marshal_CreateClusterRequestPoolConfig(v, defaults) for v in request.pools ] - if request.pools is not None - else None, - "private_network_id": request.private_network_id, - "tags": request.tags, - "type": request.type_, - "version": request.version, - } + + if request.private_network_id is not None: + output["private_network_id"] = request.private_network_id + + if request.tags is not None: + output["tags"] = request.tags + + if request.type_ is not None: + output["type"] = request.type_ + + if request.version is not None: + output["version"] = request.version + + return output def marshal_CreatePoolRequest( request: CreatePoolRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "autohealing": request.autohealing, - "autoscaling": request.autoscaling, - "container_runtime": Runtime(request.container_runtime), - "kubelet_args": request.kubelet_args, - "max_size": request.max_size, - "min_size": request.min_size, - "name": request.name, - "node_type": request.node_type, - "placement_group_id": request.placement_group_id, - "root_volume_size": request.root_volume_size, - "root_volume_type": PoolVolumeType(request.root_volume_type), - "size": request.size, - "tags": request.tags, - "upgrade_policy": marshal_CreatePoolRequestUpgradePolicy( + output: Dict[str, Any] = {} + + if request.autohealing is not None: + output["autohealing"] = request.autohealing + + if request.autoscaling is not None: + output["autoscaling"] = request.autoscaling + + if request.container_runtime is not None: + output["container_runtime"] = Runtime(request.container_runtime) + + if request.kubelet_args is not None: + output["kubelet_args"] = request.kubelet_args + + if request.max_size is not None: + output["max_size"] = request.max_size + + if request.min_size is not None: + output["min_size"] = request.min_size + + if request.name is not None: + output["name"] = request.name + + if request.node_type is not None: + output["node_type"] = request.node_type + + if request.placement_group_id is not None: + output["placement_group_id"] = request.placement_group_id + + if request.root_volume_size is not None: + output["root_volume_size"] = request.root_volume_size + + if request.root_volume_type is not None: + output["root_volume_type"] = PoolVolumeType(request.root_volume_type) + + if request.size is not None: + output["size"] = request.size + + if request.tags is not None: + output["tags"] = request.tags + + if request.upgrade_policy is not None: + output["upgrade_policy"] = marshal_CreatePoolRequestUpgradePolicy( request.upgrade_policy, defaults ) - if request.upgrade_policy is not None - else None, - "zone": request.zone or defaults.default_zone, - } + + if request.zone is not None: + output["zone"] = request.zone or defaults.default_zone + + return output def marshal_MigrateToPrivateNetworkClusterRequest( request: MigrateToPrivateNetworkClusterRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "private_network_id": request.private_network_id, - } + output: Dict[str, Any] = {} + + if request.private_network_id is not None: + output["private_network_id"] = request.private_network_id + + return output def marshal_SetClusterTypeRequest( request: SetClusterTypeRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "type": request.type_, - } + output: Dict[str, Any] = {} + + if request.type_ is not None: + output["type"] = request.type_ + + return output def marshal_UpdateClusterRequest( request: UpdateClusterRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "admission_plugins": request.admission_plugins, - "apiserver_cert_sans": request.apiserver_cert_sans, - "auto_upgrade": marshal_UpdateClusterRequestAutoUpgrade( + output: Dict[str, Any] = {} + + if request.admission_plugins is not None: + output["admission_plugins"] = request.admission_plugins + + if request.apiserver_cert_sans is not None: + output["apiserver_cert_sans"] = request.apiserver_cert_sans + + if request.auto_upgrade is not None: + output["auto_upgrade"] = marshal_UpdateClusterRequestAutoUpgrade( request.auto_upgrade, defaults ) - if request.auto_upgrade is not None - else None, - "autoscaler_config": marshal_UpdateClusterRequestAutoscalerConfig( + + if request.autoscaler_config is not None: + output["autoscaler_config"] = marshal_UpdateClusterRequestAutoscalerConfig( request.autoscaler_config, defaults ) - if request.autoscaler_config is not None - else None, - "description": request.description, - "enable_dashboard": request.enable_dashboard, - "feature_gates": request.feature_gates, - "ingress": Ingress(request.ingress) if request.ingress is not None else None, - "name": request.name, - "open_id_connect_config": marshal_UpdateClusterRequestOpenIDConnectConfig( + + if request.description is not None: + output["description"] = request.description + + if request.enable_dashboard is not None: + output["enable_dashboard"] = request.enable_dashboard + + if request.feature_gates is not None: + output["feature_gates"] = request.feature_gates + + if request.ingress is not None: + output["ingress"] = Ingress(request.ingress) + + if request.name is not None: + output["name"] = request.name + + if request.open_id_connect_config is not None: + output[ + "open_id_connect_config" + ] = marshal_UpdateClusterRequestOpenIDConnectConfig( request.open_id_connect_config, defaults ) - if request.open_id_connect_config is not None - else None, - "tags": request.tags, - } + + if request.tags is not None: + output["tags"] = request.tags + + return output def marshal_UpdatePoolRequest( request: UpdatePoolRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "autohealing": request.autohealing, - "autoscaling": request.autoscaling, - "kubelet_args": request.kubelet_args, - "max_size": request.max_size, - "min_size": request.min_size, - "size": request.size, - "tags": request.tags, - "upgrade_policy": marshal_UpdatePoolRequestUpgradePolicy( + output: Dict[str, Any] = {} + + if request.autohealing is not None: + output["autohealing"] = request.autohealing + + if request.autoscaling is not None: + output["autoscaling"] = request.autoscaling + + if request.kubelet_args is not None: + output["kubelet_args"] = request.kubelet_args + + if request.max_size is not None: + output["max_size"] = request.max_size + + if request.min_size is not None: + output["min_size"] = request.min_size + + if request.size is not None: + output["size"] = request.size + + if request.tags is not None: + output["tags"] = request.tags + + if request.upgrade_policy is not None: + output["upgrade_policy"] = marshal_UpdatePoolRequestUpgradePolicy( request.upgrade_policy, defaults ) - if request.upgrade_policy is not None - else None, - } + + return output def marshal_UpgradeClusterRequest( request: UpgradeClusterRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "upgrade_pools": request.upgrade_pools, - "version": request.version, - } + output: Dict[str, Any] = {} + + if request.upgrade_pools is not None: + output["upgrade_pools"] = request.upgrade_pools + + if request.version is not None: + output["version"] = request.version + + return output def marshal_UpgradePoolRequest( request: UpgradePoolRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "version": request.version, - } + output: Dict[str, Any] = {} + + if request.version is not None: + output["version"] = request.version + + return output diff --git a/scaleway/scaleway/lb/v1/marshalling.py b/scaleway/scaleway/lb/v1/marshalling.py index 4802ce64e..b94855922 100644 --- a/scaleway/scaleway/lb/v1/marshalling.py +++ b/scaleway/scaleway/lb/v1/marshalling.py @@ -1185,142 +1185,213 @@ def marshal_AclActionRedirect( request: AclActionRedirect, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "code": request.code, - "target": request.target, - "type": AclActionRedirectRedirectType(request.type_), - } + output: Dict[str, Any] = {} + + if request.code is not None: + output["code"] = request.code + + if request.target is not None: + output["target"] = request.target + + if request.type_ is not None: + output["type"] = AclActionRedirectRedirectType(request.type_) + + return output def marshal_AclAction( request: AclAction, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "redirect": marshal_AclActionRedirect(request.redirect, defaults) - if request.redirect is not None - else None, - "type": AclActionType(request.type_), - } + output: Dict[str, Any] = {} + + if request.redirect is not None: + output["redirect"] = marshal_AclActionRedirect(request.redirect, defaults) + + if request.type_ is not None: + output["type"] = AclActionType(request.type_) + + return output def marshal_AclMatch( request: AclMatch, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "http_filter": AclHttpFilter(request.http_filter), - "http_filter_option": request.http_filter_option, - "http_filter_value": request.http_filter_value, - "invert": request.invert, - "ip_subnet": request.ip_subnet, - } + output: Dict[str, Any] = {} + + if request.http_filter is not None: + output["http_filter"] = AclHttpFilter(request.http_filter) + + if request.http_filter_option is not None: + output["http_filter_option"] = request.http_filter_option + + if request.http_filter_value is not None: + output["http_filter_value"] = request.http_filter_value + + if request.invert is not None: + output["invert"] = request.invert + + if request.ip_subnet is not None: + output["ip_subnet"] = request.ip_subnet + + return output def marshal_HealthCheckHttpConfig( request: HealthCheckHttpConfig, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "code": request.code, - "host_header": request.host_header, - "method": request.method, - "uri": request.uri, - } + output: Dict[str, Any] = {} + + if request.code is not None: + output["code"] = request.code + + if request.host_header is not None: + output["host_header"] = request.host_header + + if request.method is not None: + output["method"] = request.method + + if request.uri is not None: + output["uri"] = request.uri + + return output def marshal_HealthCheckHttpsConfig( request: HealthCheckHttpsConfig, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "code": request.code, - "host_header": request.host_header, - "method": request.method, - "sni": request.sni, - "uri": request.uri, - } + output: Dict[str, Any] = {} + + if request.code is not None: + output["code"] = request.code + + if request.host_header is not None: + output["host_header"] = request.host_header + + if request.method is not None: + output["method"] = request.method + + if request.sni is not None: + output["sni"] = request.sni + + if request.uri is not None: + output["uri"] = request.uri + + return output def marshal_HealthCheckLdapConfig( request: HealthCheckLdapConfig, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return {} + output: Dict[str, Any] = {} + + return output def marshal_HealthCheckMysqlConfig( request: HealthCheckMysqlConfig, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "user": request.user, - } + output: Dict[str, Any] = {} + + if request.user is not None: + output["user"] = request.user + + return output def marshal_HealthCheckPgsqlConfig( request: HealthCheckPgsqlConfig, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "user": request.user, - } + output: Dict[str, Any] = {} + + if request.user is not None: + output["user"] = request.user + + return output def marshal_HealthCheckRedisConfig( request: HealthCheckRedisConfig, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return {} + output: Dict[str, Any] = {} + + return output def marshal_HealthCheckTcpConfig( request: HealthCheckTcpConfig, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return {} + output: Dict[str, Any] = {} + + return output def marshal_AclSpec( request: AclSpec, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "action": marshal_AclAction(request.action, defaults), - "description": request.description, - "index": request.index, - "match": marshal_AclMatch(request.match, defaults) - if request.match is not None - else None, - "name": request.name, - } + output: Dict[str, Any] = {} + + if request.action is not None: + output["action"] = marshal_AclAction(request.action, defaults) + + if request.description is not None: + output["description"] = request.description + + if request.index is not None: + output["index"] = request.index + + if request.match is not None: + output["match"] = marshal_AclMatch(request.match, defaults) + + if request.name is not None: + output["name"] = request.name + + return output def marshal_CreateCertificateRequestCustomCertificate( request: CreateCertificateRequestCustomCertificate, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "certificate_chain": request.certificate_chain, - } + output: Dict[str, Any] = {} + + if request.certificate_chain is not None: + output["certificate_chain"] = request.certificate_chain + + return output def marshal_CreateCertificateRequestLetsencryptConfig( request: CreateCertificateRequestLetsencryptConfig, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "common_name": request.common_name, - "subject_alternative_name": request.subject_alternative_name, - } + output: Dict[str, Any] = {} + + if request.common_name is not None: + output["common_name"] = request.common_name + + if request.subject_alternative_name is not None: + output["subject_alternative_name"] = request.subject_alternative_name + + return output def marshal_HealthCheck( request: HealthCheck, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - **resolve_one_of( + output: Dict[str, Any] = {} + output.update( + resolve_one_of( [ OneOfPossibility( "tcp_config", @@ -1366,46 +1437,69 @@ def marshal_HealthCheck( ), ] ), - "check_delay": request.check_delay, - "check_max_retries": request.check_max_retries, - "check_send_proxy": request.check_send_proxy, - "check_timeout": request.check_timeout, - "port": request.port, - "transient_check_delay": request.transient_check_delay, - } + ) + + if request.check_delay is not None: + output["check_delay"] = request.check_delay + + if request.check_max_retries is not None: + output["check_max_retries"] = request.check_max_retries + + if request.check_send_proxy is not None: + output["check_send_proxy"] = request.check_send_proxy + + if request.check_timeout is not None: + output["check_timeout"] = request.check_timeout + + if request.port is not None: + output["port"] = request.port + + if request.transient_check_delay is not None: + output["transient_check_delay"] = request.transient_check_delay + + return output def marshal_PrivateNetworkDHCPConfig( request: PrivateNetworkDHCPConfig, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "ip_id": request.ip_id, - } + output: Dict[str, Any] = {} + + if request.ip_id is not None: + output["ip_id"] = request.ip_id + + return output def marshal_PrivateNetworkIpamConfig( request: PrivateNetworkIpamConfig, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return {} + output: Dict[str, Any] = {} + + return output def marshal_PrivateNetworkStaticConfig( request: PrivateNetworkStaticConfig, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "ip_address": request.ip_address, - } + output: Dict[str, Any] = {} + + if request.ip_address is not None: + output["ip_address"] = request.ip_address + + return output def marshal_RouteMatch( request: RouteMatch, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - **resolve_one_of( + output: Dict[str, Any] = {} + output.update( + resolve_one_of( [ OneOfPossibility( "sni", request.sni if request.sni is not None else None @@ -1416,42 +1510,54 @@ def marshal_RouteMatch( ), ] ), - } + ) + + return output def marshal_SubscriberEmailConfig( request: SubscriberEmailConfig, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "email": request.email, - } + output: Dict[str, Any] = {} + + if request.email is not None: + output["email"] = request.email + + return output def marshal_SubscriberWebhookConfig( request: SubscriberWebhookConfig, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "uri": request.uri, - } + output: Dict[str, Any] = {} + + if request.uri is not None: + output["uri"] = request.uri + + return output def marshal_AddBackendServersRequest( request: AddBackendServersRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "server_ip": request.server_ip, - } + output: Dict[str, Any] = {} + + if request.server_ip is not None: + output["server_ip"] = request.server_ip + + return output def marshal_AttachPrivateNetworkRequest( request: AttachPrivateNetworkRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - **resolve_one_of( + output: Dict[str, Any] = {} + output.update( + resolve_one_of( [ OneOfPossibility( "static_config", @@ -1473,65 +1579,118 @@ def marshal_AttachPrivateNetworkRequest( ), ] ), - } + ) + + return output def marshal_CreateAclRequest( request: CreateAclRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "action": marshal_AclAction(request.action, defaults), - "description": request.description, - "index": request.index, - "match": marshal_AclMatch(request.match, defaults) - if request.match is not None - else None, - "name": request.name, - } + output: Dict[str, Any] = {} + + if request.action is not None: + output["action"] = marshal_AclAction(request.action, defaults) + + if request.description is not None: + output["description"] = request.description + + if request.index is not None: + output["index"] = request.index + + if request.match is not None: + output["match"] = marshal_AclMatch(request.match, defaults) + + if request.name is not None: + output["name"] = request.name + + return output def marshal_CreateBackendRequest( request: CreateBackendRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "failover_host": request.failover_host, - "forward_port": request.forward_port, - "forward_port_algorithm": ForwardPortAlgorithm(request.forward_port_algorithm) - if request.forward_port_algorithm is not None - else None, - "forward_protocol": Protocol(request.forward_protocol) - if request.forward_protocol is not None - else None, - "health_check": marshal_HealthCheck(request.health_check, defaults), - "ignore_ssl_server_verify": request.ignore_ssl_server_verify, - "max_connections": request.max_connections, - "max_retries": request.max_retries, - "name": request.name, - "on_marked_down_action": OnMarkedDownAction(request.on_marked_down_action), - "proxy_protocol": ProxyProtocol(request.proxy_protocol), - "redispatch_attempt_count": request.redispatch_attempt_count, - "send_proxy_v2": request.send_proxy_v2, - "server_ip": request.server_ip, - "ssl_bridging": request.ssl_bridging, - "sticky_sessions": StickySessionsType(request.sticky_sessions) - if request.sticky_sessions is not None - else None, - "sticky_sessions_cookie_name": request.sticky_sessions_cookie_name, - "timeout_connect": request.timeout_connect, - "timeout_queue": request.timeout_queue, - "timeout_server": request.timeout_server, - "timeout_tunnel": request.timeout_tunnel, - } + output: Dict[str, Any] = {} + + if request.failover_host is not None: + output["failover_host"] = request.failover_host + + if request.forward_port is not None: + output["forward_port"] = request.forward_port + + if request.forward_port_algorithm is not None: + output["forward_port_algorithm"] = ForwardPortAlgorithm( + request.forward_port_algorithm + ) + + if request.forward_protocol is not None: + output["forward_protocol"] = Protocol(request.forward_protocol) + + if request.health_check is not None: + output["health_check"] = marshal_HealthCheck(request.health_check, defaults) + + if request.ignore_ssl_server_verify is not None: + output["ignore_ssl_server_verify"] = request.ignore_ssl_server_verify + + if request.max_connections is not None: + output["max_connections"] = request.max_connections + + if request.max_retries is not None: + output["max_retries"] = request.max_retries + + if request.name is not None: + output["name"] = request.name + + if request.on_marked_down_action is not None: + output["on_marked_down_action"] = OnMarkedDownAction( + request.on_marked_down_action + ) + + if request.proxy_protocol is not None: + output["proxy_protocol"] = ProxyProtocol(request.proxy_protocol) + + if request.redispatch_attempt_count is not None: + output["redispatch_attempt_count"] = request.redispatch_attempt_count + + if request.send_proxy_v2 is not None: + output["send_proxy_v2"] = request.send_proxy_v2 + + if request.server_ip is not None: + output["server_ip"] = request.server_ip + + if request.ssl_bridging is not None: + output["ssl_bridging"] = request.ssl_bridging + + if request.sticky_sessions is not None: + output["sticky_sessions"] = StickySessionsType(request.sticky_sessions) + + if request.sticky_sessions_cookie_name is not None: + output["sticky_sessions_cookie_name"] = request.sticky_sessions_cookie_name + + if request.timeout_connect is not None: + output["timeout_connect"] = request.timeout_connect + + if request.timeout_queue is not None: + output["timeout_queue"] = request.timeout_queue + + if request.timeout_server is not None: + output["timeout_server"] = request.timeout_server + + if request.timeout_tunnel is not None: + output["timeout_tunnel"] = request.timeout_tunnel + + return output def marshal_CreateCertificateRequest( request: CreateCertificateRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - **resolve_one_of( + output: Dict[str, Any] = {} + output.update( + resolve_one_of( [ OneOfPossibility( "letsencrypt", @@ -1551,31 +1710,51 @@ def marshal_CreateCertificateRequest( ), ] ), - "name": request.name, - } + ) + + if request.name is not None: + output["name"] = request.name + + return output def marshal_CreateFrontendRequest( request: CreateFrontendRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "backend_id": request.backend_id, - "certificate_id": request.certificate_id, - "certificate_ids": request.certificate_ids, - "enable_http3": request.enable_http3, - "inbound_port": request.inbound_port, - "name": request.name, - "timeout_client": request.timeout_client, - } + output: Dict[str, Any] = {} + + if request.backend_id is not None: + output["backend_id"] = request.backend_id + + if request.certificate_id is not None: + output["certificate_id"] = request.certificate_id + + if request.certificate_ids is not None: + output["certificate_ids"] = request.certificate_ids + + if request.enable_http3 is not None: + output["enable_http3"] = request.enable_http3 + + if request.inbound_port is not None: + output["inbound_port"] = request.inbound_port + + if request.name is not None: + output["name"] = request.name + + if request.timeout_client is not None: + output["timeout_client"] = request.timeout_client + + return output def marshal_CreateIpRequest( request: CreateIpRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - **resolve_one_of( + output: Dict[str, Any] = {} + output.update( + resolve_one_of( [ OneOfPossibility( "project_id", @@ -1593,16 +1772,21 @@ def marshal_CreateIpRequest( ), ] ), - "reverse": request.reverse, - } + ) + + if request.reverse is not None: + output["reverse"] = request.reverse + + return output def marshal_CreateLbRequest( request: CreateLbRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - **resolve_one_of( + output: Dict[str, Any] = {} + output.update( + resolve_one_of( [ OneOfPossibility( "project_id", @@ -1620,37 +1804,59 @@ def marshal_CreateLbRequest( ), ] ), - "assign_flexible_ip": request.assign_flexible_ip, - "description": request.description, - "ip_id": request.ip_id, - "name": request.name, - "ssl_compatibility_level": SSLCompatibilityLevel( + ) + + if request.assign_flexible_ip is not None: + output["assign_flexible_ip"] = request.assign_flexible_ip + + if request.description is not None: + output["description"] = request.description + + if request.ip_id is not None: + output["ip_id"] = request.ip_id + + if request.name is not None: + output["name"] = request.name + + if request.ssl_compatibility_level is not None: + output["ssl_compatibility_level"] = SSLCompatibilityLevel( request.ssl_compatibility_level - ), - "tags": request.tags, - "type": request.type_, - } + ) + + if request.tags is not None: + output["tags"] = request.tags + + if request.type_ is not None: + output["type"] = request.type_ + + return output def marshal_CreateRouteRequest( request: CreateRouteRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "backend_id": request.backend_id, - "frontend_id": request.frontend_id, - "match": marshal_RouteMatch(request.match, defaults) - if request.match is not None - else None, - } + output: Dict[str, Any] = {} + + if request.backend_id is not None: + output["backend_id"] = request.backend_id + + if request.frontend_id is not None: + output["frontend_id"] = request.frontend_id + + if request.match is not None: + output["match"] = marshal_RouteMatch(request.match, defaults) + + return output def marshal_CreateSubscriberRequest( request: CreateSubscriberRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - **resolve_one_of( + output: Dict[str, Any] = {} + output.update( + resolve_one_of( [ OneOfPossibility( "project_id", @@ -1668,7 +1874,9 @@ def marshal_CreateSubscriberRequest( ), ] ), - **resolve_one_of( + ) + output.update( + resolve_one_of( [ OneOfPossibility( "email_config", @@ -1684,124 +1892,205 @@ def marshal_CreateSubscriberRequest( ), ] ), - "name": request.name, - } + ) + + if request.name is not None: + output["name"] = request.name + + return output def marshal_MigrateLbRequest( request: MigrateLbRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "type": request.type_, - } + output: Dict[str, Any] = {} + + if request.type_ is not None: + output["type"] = request.type_ + + return output def marshal_RemoveBackendServersRequest( request: RemoveBackendServersRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "server_ip": request.server_ip, - } + output: Dict[str, Any] = {} + + if request.server_ip is not None: + output["server_ip"] = request.server_ip + + return output def marshal_SetBackendServersRequest( request: SetBackendServersRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "server_ip": request.server_ip, - } + output: Dict[str, Any] = {} + + if request.server_ip is not None: + output["server_ip"] = request.server_ip + + return output def marshal_SubscribeToLbRequest( request: SubscribeToLbRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "subscriber_id": request.subscriber_id, - } + output: Dict[str, Any] = {} + + if request.subscriber_id is not None: + output["subscriber_id"] = request.subscriber_id + + return output def marshal_UpdateAclRequest( request: UpdateAclRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "action": marshal_AclAction(request.action, defaults), - "description": request.description, - "index": request.index, - "match": marshal_AclMatch(request.match, defaults) - if request.match is not None - else None, - "name": request.name, - } + output: Dict[str, Any] = {} + + if request.action is not None: + output["action"] = marshal_AclAction(request.action, defaults) + + if request.description is not None: + output["description"] = request.description + + if request.index is not None: + output["index"] = request.index + + if request.match is not None: + output["match"] = marshal_AclMatch(request.match, defaults) + + if request.name is not None: + output["name"] = request.name + + return output def marshal_UpdateBackendRequest( request: UpdateBackendRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "failover_host": request.failover_host, - "forward_port": request.forward_port, - "forward_port_algorithm": ForwardPortAlgorithm(request.forward_port_algorithm) - if request.forward_port_algorithm is not None - else None, - "forward_protocol": Protocol(request.forward_protocol) - if request.forward_protocol is not None - else None, - "ignore_ssl_server_verify": request.ignore_ssl_server_verify, - "max_connections": request.max_connections, - "max_retries": request.max_retries, - "name": request.name, - "on_marked_down_action": OnMarkedDownAction(request.on_marked_down_action), - "proxy_protocol": ProxyProtocol(request.proxy_protocol), - "redispatch_attempt_count": request.redispatch_attempt_count, - "send_proxy_v2": request.send_proxy_v2, - "ssl_bridging": request.ssl_bridging, - "sticky_sessions": StickySessionsType(request.sticky_sessions) - if request.sticky_sessions is not None - else None, - "sticky_sessions_cookie_name": request.sticky_sessions_cookie_name, - "timeout_connect": request.timeout_connect, - "timeout_queue": request.timeout_queue, - "timeout_server": request.timeout_server, - "timeout_tunnel": request.timeout_tunnel, - } + output: Dict[str, Any] = {} + + if request.failover_host is not None: + output["failover_host"] = request.failover_host + + if request.forward_port is not None: + output["forward_port"] = request.forward_port + + if request.forward_port_algorithm is not None: + output["forward_port_algorithm"] = ForwardPortAlgorithm( + request.forward_port_algorithm + ) + + if request.forward_protocol is not None: + output["forward_protocol"] = Protocol(request.forward_protocol) + + if request.ignore_ssl_server_verify is not None: + output["ignore_ssl_server_verify"] = request.ignore_ssl_server_verify + + if request.max_connections is not None: + output["max_connections"] = request.max_connections + + if request.max_retries is not None: + output["max_retries"] = request.max_retries + + if request.name is not None: + output["name"] = request.name + + if request.on_marked_down_action is not None: + output["on_marked_down_action"] = OnMarkedDownAction( + request.on_marked_down_action + ) + + if request.proxy_protocol is not None: + output["proxy_protocol"] = ProxyProtocol(request.proxy_protocol) + + if request.redispatch_attempt_count is not None: + output["redispatch_attempt_count"] = request.redispatch_attempt_count + + if request.send_proxy_v2 is not None: + output["send_proxy_v2"] = request.send_proxy_v2 + + if request.ssl_bridging is not None: + output["ssl_bridging"] = request.ssl_bridging + + if request.sticky_sessions is not None: + output["sticky_sessions"] = StickySessionsType(request.sticky_sessions) + + if request.sticky_sessions_cookie_name is not None: + output["sticky_sessions_cookie_name"] = request.sticky_sessions_cookie_name + + if request.timeout_connect is not None: + output["timeout_connect"] = request.timeout_connect + + if request.timeout_queue is not None: + output["timeout_queue"] = request.timeout_queue + + if request.timeout_server is not None: + output["timeout_server"] = request.timeout_server + + if request.timeout_tunnel is not None: + output["timeout_tunnel"] = request.timeout_tunnel + + return output def marshal_UpdateCertificateRequest( request: UpdateCertificateRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "name": request.name, - } + output: Dict[str, Any] = {} + + if request.name is not None: + output["name"] = request.name + + return output def marshal_UpdateFrontendRequest( request: UpdateFrontendRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "backend_id": request.backend_id, - "certificate_id": request.certificate_id, - "certificate_ids": request.certificate_ids, - "enable_http3": request.enable_http3, - "inbound_port": request.inbound_port, - "name": request.name, - "timeout_client": request.timeout_client, - } + output: Dict[str, Any] = {} + + if request.backend_id is not None: + output["backend_id"] = request.backend_id + + if request.certificate_id is not None: + output["certificate_id"] = request.certificate_id + + if request.certificate_ids is not None: + output["certificate_ids"] = request.certificate_ids + + if request.enable_http3 is not None: + output["enable_http3"] = request.enable_http3 + + if request.inbound_port is not None: + output["inbound_port"] = request.inbound_port + + if request.name is not None: + output["name"] = request.name + + if request.timeout_client is not None: + output["timeout_client"] = request.timeout_client + + return output def marshal_UpdateHealthCheckRequest( request: UpdateHealthCheckRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - **resolve_one_of( + output: Dict[str, Any] = {} + output.update( + resolve_one_of( [ OneOfPossibility( "tcp_config", @@ -1847,56 +2136,86 @@ def marshal_UpdateHealthCheckRequest( ), ] ), - "check_delay": request.check_delay, - "check_max_retries": request.check_max_retries, - "check_send_proxy": request.check_send_proxy, - "check_timeout": request.check_timeout, - "port": request.port, - "transient_check_delay": request.transient_check_delay, - } + ) + + if request.check_delay is not None: + output["check_delay"] = request.check_delay + + if request.check_max_retries is not None: + output["check_max_retries"] = request.check_max_retries + + if request.check_send_proxy is not None: + output["check_send_proxy"] = request.check_send_proxy + + if request.check_timeout is not None: + output["check_timeout"] = request.check_timeout + + if request.port is not None: + output["port"] = request.port + + if request.transient_check_delay is not None: + output["transient_check_delay"] = request.transient_check_delay + + return output def marshal_UpdateIpRequest( request: UpdateIpRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "reverse": request.reverse, - } + output: Dict[str, Any] = {} + + if request.reverse is not None: + output["reverse"] = request.reverse + + return output def marshal_UpdateLbRequest( request: UpdateLbRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "description": request.description, - "name": request.name, - "ssl_compatibility_level": SSLCompatibilityLevel( + output: Dict[str, Any] = {} + + if request.description is not None: + output["description"] = request.description + + if request.name is not None: + output["name"] = request.name + + if request.ssl_compatibility_level is not None: + output["ssl_compatibility_level"] = SSLCompatibilityLevel( request.ssl_compatibility_level - ), - "tags": request.tags, - } + ) + + if request.tags is not None: + output["tags"] = request.tags + + return output def marshal_UpdateRouteRequest( request: UpdateRouteRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "backend_id": request.backend_id, - "match": marshal_RouteMatch(request.match, defaults) - if request.match is not None - else None, - } + output: Dict[str, Any] = {} + + if request.backend_id is not None: + output["backend_id"] = request.backend_id + + if request.match is not None: + output["match"] = marshal_RouteMatch(request.match, defaults) + + return output def marshal_UpdateSubscriberRequest( request: UpdateSubscriberRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - **resolve_one_of( + output: Dict[str, Any] = {} + output.update( + resolve_one_of( [ OneOfPossibility( "email_config", @@ -1912,25 +2231,33 @@ def marshal_UpdateSubscriberRequest( ), ] ), - "name": request.name, - } + ) + + if request.name is not None: + output["name"] = request.name + + return output def marshal_ZonedApiAddBackendServersRequest( request: ZonedApiAddBackendServersRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "server_ip": request.server_ip, - } + output: Dict[str, Any] = {} + + if request.server_ip is not None: + output["server_ip"] = request.server_ip + + return output def marshal_ZonedApiAttachPrivateNetworkRequest( request: ZonedApiAttachPrivateNetworkRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - **resolve_one_of( + output: Dict[str, Any] = {} + output.update( + resolve_one_of( [ OneOfPossibility( "static_config", @@ -1952,65 +2279,118 @@ def marshal_ZonedApiAttachPrivateNetworkRequest( ), ] ), - } + ) + + return output def marshal_ZonedApiCreateAclRequest( request: ZonedApiCreateAclRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "action": marshal_AclAction(request.action, defaults), - "description": request.description, - "index": request.index, - "match": marshal_AclMatch(request.match, defaults) - if request.match is not None - else None, - "name": request.name, - } + output: Dict[str, Any] = {} + + if request.action is not None: + output["action"] = marshal_AclAction(request.action, defaults) + + if request.description is not None: + output["description"] = request.description + + if request.index is not None: + output["index"] = request.index + + if request.match is not None: + output["match"] = marshal_AclMatch(request.match, defaults) + + if request.name is not None: + output["name"] = request.name + + return output def marshal_ZonedApiCreateBackendRequest( request: ZonedApiCreateBackendRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "failover_host": request.failover_host, - "forward_port": request.forward_port, - "forward_port_algorithm": ForwardPortAlgorithm(request.forward_port_algorithm) - if request.forward_port_algorithm is not None - else None, - "forward_protocol": Protocol(request.forward_protocol) - if request.forward_protocol is not None - else None, - "health_check": marshal_HealthCheck(request.health_check, defaults), - "ignore_ssl_server_verify": request.ignore_ssl_server_verify, - "max_connections": request.max_connections, - "max_retries": request.max_retries, - "name": request.name, - "on_marked_down_action": OnMarkedDownAction(request.on_marked_down_action), - "proxy_protocol": ProxyProtocol(request.proxy_protocol), - "redispatch_attempt_count": request.redispatch_attempt_count, - "send_proxy_v2": request.send_proxy_v2, - "server_ip": request.server_ip, - "ssl_bridging": request.ssl_bridging, - "sticky_sessions": StickySessionsType(request.sticky_sessions) - if request.sticky_sessions is not None - else None, - "sticky_sessions_cookie_name": request.sticky_sessions_cookie_name, - "timeout_connect": request.timeout_connect, - "timeout_queue": request.timeout_queue, - "timeout_server": request.timeout_server, - "timeout_tunnel": request.timeout_tunnel, - } + output: Dict[str, Any] = {} + + if request.failover_host is not None: + output["failover_host"] = request.failover_host + + if request.forward_port is not None: + output["forward_port"] = request.forward_port + + if request.forward_port_algorithm is not None: + output["forward_port_algorithm"] = ForwardPortAlgorithm( + request.forward_port_algorithm + ) + + if request.forward_protocol is not None: + output["forward_protocol"] = Protocol(request.forward_protocol) + + if request.health_check is not None: + output["health_check"] = marshal_HealthCheck(request.health_check, defaults) + + if request.ignore_ssl_server_verify is not None: + output["ignore_ssl_server_verify"] = request.ignore_ssl_server_verify + + if request.max_connections is not None: + output["max_connections"] = request.max_connections + + if request.max_retries is not None: + output["max_retries"] = request.max_retries + + if request.name is not None: + output["name"] = request.name + + if request.on_marked_down_action is not None: + output["on_marked_down_action"] = OnMarkedDownAction( + request.on_marked_down_action + ) + + if request.proxy_protocol is not None: + output["proxy_protocol"] = ProxyProtocol(request.proxy_protocol) + + if request.redispatch_attempt_count is not None: + output["redispatch_attempt_count"] = request.redispatch_attempt_count + + if request.send_proxy_v2 is not None: + output["send_proxy_v2"] = request.send_proxy_v2 + + if request.server_ip is not None: + output["server_ip"] = request.server_ip + + if request.ssl_bridging is not None: + output["ssl_bridging"] = request.ssl_bridging + + if request.sticky_sessions is not None: + output["sticky_sessions"] = StickySessionsType(request.sticky_sessions) + + if request.sticky_sessions_cookie_name is not None: + output["sticky_sessions_cookie_name"] = request.sticky_sessions_cookie_name + + if request.timeout_connect is not None: + output["timeout_connect"] = request.timeout_connect + + if request.timeout_queue is not None: + output["timeout_queue"] = request.timeout_queue + + if request.timeout_server is not None: + output["timeout_server"] = request.timeout_server + + if request.timeout_tunnel is not None: + output["timeout_tunnel"] = request.timeout_tunnel + + return output def marshal_ZonedApiCreateCertificateRequest( request: ZonedApiCreateCertificateRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - **resolve_one_of( + output: Dict[str, Any] = {} + output.update( + resolve_one_of( [ OneOfPossibility( "letsencrypt", @@ -2030,31 +2410,51 @@ def marshal_ZonedApiCreateCertificateRequest( ), ] ), - "name": request.name, - } + ) + + if request.name is not None: + output["name"] = request.name + + return output def marshal_ZonedApiCreateFrontendRequest( request: ZonedApiCreateFrontendRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "backend_id": request.backend_id, - "certificate_id": request.certificate_id, - "certificate_ids": request.certificate_ids, - "enable_http3": request.enable_http3, - "inbound_port": request.inbound_port, - "name": request.name, - "timeout_client": request.timeout_client, - } + output: Dict[str, Any] = {} + + if request.backend_id is not None: + output["backend_id"] = request.backend_id + + if request.certificate_id is not None: + output["certificate_id"] = request.certificate_id + + if request.certificate_ids is not None: + output["certificate_ids"] = request.certificate_ids + + if request.enable_http3 is not None: + output["enable_http3"] = request.enable_http3 + + if request.inbound_port is not None: + output["inbound_port"] = request.inbound_port + + if request.name is not None: + output["name"] = request.name + + if request.timeout_client is not None: + output["timeout_client"] = request.timeout_client + + return output def marshal_ZonedApiCreateIpRequest( request: ZonedApiCreateIpRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - **resolve_one_of( + output: Dict[str, Any] = {} + output.update( + resolve_one_of( [ OneOfPossibility( "project_id", @@ -2072,16 +2472,21 @@ def marshal_ZonedApiCreateIpRequest( ), ] ), - "reverse": request.reverse, - } + ) + + if request.reverse is not None: + output["reverse"] = request.reverse + + return output def marshal_ZonedApiCreateLbRequest( request: ZonedApiCreateLbRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - **resolve_one_of( + output: Dict[str, Any] = {} + output.update( + resolve_one_of( [ OneOfPossibility( "project_id", @@ -2099,37 +2504,59 @@ def marshal_ZonedApiCreateLbRequest( ), ] ), - "assign_flexible_ip": request.assign_flexible_ip, - "description": request.description, - "ip_id": request.ip_id, - "name": request.name, - "ssl_compatibility_level": SSLCompatibilityLevel( + ) + + if request.assign_flexible_ip is not None: + output["assign_flexible_ip"] = request.assign_flexible_ip + + if request.description is not None: + output["description"] = request.description + + if request.ip_id is not None: + output["ip_id"] = request.ip_id + + if request.name is not None: + output["name"] = request.name + + if request.ssl_compatibility_level is not None: + output["ssl_compatibility_level"] = SSLCompatibilityLevel( request.ssl_compatibility_level - ), - "tags": request.tags, - "type": request.type_, - } + ) + + if request.tags is not None: + output["tags"] = request.tags + + if request.type_ is not None: + output["type"] = request.type_ + + return output def marshal_ZonedApiCreateRouteRequest( request: ZonedApiCreateRouteRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "backend_id": request.backend_id, - "frontend_id": request.frontend_id, - "match": marshal_RouteMatch(request.match, defaults) - if request.match is not None - else None, - } + output: Dict[str, Any] = {} + + if request.backend_id is not None: + output["backend_id"] = request.backend_id + + if request.frontend_id is not None: + output["frontend_id"] = request.frontend_id + + if request.match is not None: + output["match"] = marshal_RouteMatch(request.match, defaults) + + return output def marshal_ZonedApiCreateSubscriberRequest( request: ZonedApiCreateSubscriberRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - **resolve_one_of( + output: Dict[str, Any] = {} + output.update( + resolve_one_of( [ OneOfPossibility( "project_id", @@ -2147,7 +2574,9 @@ def marshal_ZonedApiCreateSubscriberRequest( ), ] ), - **resolve_one_of( + ) + output.update( + resolve_one_of( [ OneOfPossibility( "email_config", @@ -2163,133 +2592,217 @@ def marshal_ZonedApiCreateSubscriberRequest( ), ] ), - "name": request.name, - } + ) + + if request.name is not None: + output["name"] = request.name + + return output def marshal_ZonedApiMigrateLbRequest( request: ZonedApiMigrateLbRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "type": request.type_, - } + output: Dict[str, Any] = {} + + if request.type_ is not None: + output["type"] = request.type_ + + return output def marshal_ZonedApiRemoveBackendServersRequest( request: ZonedApiRemoveBackendServersRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "server_ip": request.server_ip, - } + output: Dict[str, Any] = {} + + if request.server_ip is not None: + output["server_ip"] = request.server_ip + + return output def marshal_ZonedApiSetAclsRequest( request: ZonedApiSetAclsRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "acls": [marshal_AclSpec(v, defaults) for v in request.acls], - } + output: Dict[str, Any] = {} + + if request.acls is not None: + output["acls"] = [marshal_AclSpec(v, defaults) for v in request.acls] + + return output def marshal_ZonedApiSetBackendServersRequest( request: ZonedApiSetBackendServersRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "server_ip": request.server_ip, - } + output: Dict[str, Any] = {} + + if request.server_ip is not None: + output["server_ip"] = request.server_ip + + return output def marshal_ZonedApiSubscribeToLbRequest( request: ZonedApiSubscribeToLbRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "subscriber_id": request.subscriber_id, - } + output: Dict[str, Any] = {} + + if request.subscriber_id is not None: + output["subscriber_id"] = request.subscriber_id + + return output def marshal_ZonedApiUpdateAclRequest( request: ZonedApiUpdateAclRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "action": marshal_AclAction(request.action, defaults), - "description": request.description, - "index": request.index, - "match": marshal_AclMatch(request.match, defaults) - if request.match is not None - else None, - "name": request.name, - } + output: Dict[str, Any] = {} + + if request.action is not None: + output["action"] = marshal_AclAction(request.action, defaults) + + if request.description is not None: + output["description"] = request.description + + if request.index is not None: + output["index"] = request.index + + if request.match is not None: + output["match"] = marshal_AclMatch(request.match, defaults) + + if request.name is not None: + output["name"] = request.name + + return output def marshal_ZonedApiUpdateBackendRequest( request: ZonedApiUpdateBackendRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "failover_host": request.failover_host, - "forward_port": request.forward_port, - "forward_port_algorithm": ForwardPortAlgorithm(request.forward_port_algorithm) - if request.forward_port_algorithm is not None - else None, - "forward_protocol": Protocol(request.forward_protocol) - if request.forward_protocol is not None - else None, - "ignore_ssl_server_verify": request.ignore_ssl_server_verify, - "max_connections": request.max_connections, - "max_retries": request.max_retries, - "name": request.name, - "on_marked_down_action": OnMarkedDownAction(request.on_marked_down_action), - "proxy_protocol": ProxyProtocol(request.proxy_protocol), - "redispatch_attempt_count": request.redispatch_attempt_count, - "send_proxy_v2": request.send_proxy_v2, - "ssl_bridging": request.ssl_bridging, - "sticky_sessions": StickySessionsType(request.sticky_sessions) - if request.sticky_sessions is not None - else None, - "sticky_sessions_cookie_name": request.sticky_sessions_cookie_name, - "timeout_connect": request.timeout_connect, - "timeout_queue": request.timeout_queue, - "timeout_server": request.timeout_server, - "timeout_tunnel": request.timeout_tunnel, - } + output: Dict[str, Any] = {} + + if request.failover_host is not None: + output["failover_host"] = request.failover_host + + if request.forward_port is not None: + output["forward_port"] = request.forward_port + + if request.forward_port_algorithm is not None: + output["forward_port_algorithm"] = ForwardPortAlgorithm( + request.forward_port_algorithm + ) + + if request.forward_protocol is not None: + output["forward_protocol"] = Protocol(request.forward_protocol) + + if request.ignore_ssl_server_verify is not None: + output["ignore_ssl_server_verify"] = request.ignore_ssl_server_verify + + if request.max_connections is not None: + output["max_connections"] = request.max_connections + + if request.max_retries is not None: + output["max_retries"] = request.max_retries + + if request.name is not None: + output["name"] = request.name + + if request.on_marked_down_action is not None: + output["on_marked_down_action"] = OnMarkedDownAction( + request.on_marked_down_action + ) + + if request.proxy_protocol is not None: + output["proxy_protocol"] = ProxyProtocol(request.proxy_protocol) + + if request.redispatch_attempt_count is not None: + output["redispatch_attempt_count"] = request.redispatch_attempt_count + + if request.send_proxy_v2 is not None: + output["send_proxy_v2"] = request.send_proxy_v2 + + if request.ssl_bridging is not None: + output["ssl_bridging"] = request.ssl_bridging + + if request.sticky_sessions is not None: + output["sticky_sessions"] = StickySessionsType(request.sticky_sessions) + + if request.sticky_sessions_cookie_name is not None: + output["sticky_sessions_cookie_name"] = request.sticky_sessions_cookie_name + + if request.timeout_connect is not None: + output["timeout_connect"] = request.timeout_connect + + if request.timeout_queue is not None: + output["timeout_queue"] = request.timeout_queue + + if request.timeout_server is not None: + output["timeout_server"] = request.timeout_server + + if request.timeout_tunnel is not None: + output["timeout_tunnel"] = request.timeout_tunnel + + return output def marshal_ZonedApiUpdateCertificateRequest( request: ZonedApiUpdateCertificateRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "name": request.name, - } + output: Dict[str, Any] = {} + + if request.name is not None: + output["name"] = request.name + + return output def marshal_ZonedApiUpdateFrontendRequest( request: ZonedApiUpdateFrontendRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "backend_id": request.backend_id, - "certificate_id": request.certificate_id, - "certificate_ids": request.certificate_ids, - "enable_http3": request.enable_http3, - "inbound_port": request.inbound_port, - "name": request.name, - "timeout_client": request.timeout_client, - } + output: Dict[str, Any] = {} + + if request.backend_id is not None: + output["backend_id"] = request.backend_id + + if request.certificate_id is not None: + output["certificate_id"] = request.certificate_id + + if request.certificate_ids is not None: + output["certificate_ids"] = request.certificate_ids + + if request.enable_http3 is not None: + output["enable_http3"] = request.enable_http3 + + if request.inbound_port is not None: + output["inbound_port"] = request.inbound_port + + if request.name is not None: + output["name"] = request.name + + if request.timeout_client is not None: + output["timeout_client"] = request.timeout_client + + return output def marshal_ZonedApiUpdateHealthCheckRequest( request: ZonedApiUpdateHealthCheckRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - **resolve_one_of( + output: Dict[str, Any] = {} + output.update( + resolve_one_of( [ OneOfPossibility( "tcp_config", @@ -2335,56 +2848,86 @@ def marshal_ZonedApiUpdateHealthCheckRequest( ), ] ), - "check_delay": request.check_delay, - "check_max_retries": request.check_max_retries, - "check_send_proxy": request.check_send_proxy, - "check_timeout": request.check_timeout, - "port": request.port, - "transient_check_delay": request.transient_check_delay, - } + ) + + if request.check_delay is not None: + output["check_delay"] = request.check_delay + + if request.check_max_retries is not None: + output["check_max_retries"] = request.check_max_retries + + if request.check_send_proxy is not None: + output["check_send_proxy"] = request.check_send_proxy + + if request.check_timeout is not None: + output["check_timeout"] = request.check_timeout + + if request.port is not None: + output["port"] = request.port + + if request.transient_check_delay is not None: + output["transient_check_delay"] = request.transient_check_delay + + return output def marshal_ZonedApiUpdateIpRequest( request: ZonedApiUpdateIpRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "reverse": request.reverse, - } + output: Dict[str, Any] = {} + + if request.reverse is not None: + output["reverse"] = request.reverse + + return output def marshal_ZonedApiUpdateLbRequest( request: ZonedApiUpdateLbRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "description": request.description, - "name": request.name, - "ssl_compatibility_level": SSLCompatibilityLevel( + output: Dict[str, Any] = {} + + if request.description is not None: + output["description"] = request.description + + if request.name is not None: + output["name"] = request.name + + if request.ssl_compatibility_level is not None: + output["ssl_compatibility_level"] = SSLCompatibilityLevel( request.ssl_compatibility_level - ), - "tags": request.tags, - } + ) + + if request.tags is not None: + output["tags"] = request.tags + + return output def marshal_ZonedApiUpdateRouteRequest( request: ZonedApiUpdateRouteRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "backend_id": request.backend_id, - "match": marshal_RouteMatch(request.match, defaults) - if request.match is not None - else None, - } + output: Dict[str, Any] = {} + + if request.backend_id is not None: + output["backend_id"] = request.backend_id + + if request.match is not None: + output["match"] = marshal_RouteMatch(request.match, defaults) + + return output def marshal_ZonedApiUpdateSubscriberRequest( request: ZonedApiUpdateSubscriberRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - **resolve_one_of( + output: Dict[str, Any] = {} + output.update( + resolve_one_of( [ OneOfPossibility( "email_config", @@ -2400,5 +2943,9 @@ def marshal_ZonedApiUpdateSubscriberRequest( ), ] ), - "name": request.name, - } + ) + + if request.name is not None: + output["name"] = request.name + + return output diff --git a/scaleway/scaleway/lb/v1/types.py b/scaleway/scaleway/lb/v1/types.py index 383b898e6..5cbe09454 100644 --- a/scaleway/scaleway/lb/v1/types.py +++ b/scaleway/scaleway/lb/v1/types.py @@ -1436,7 +1436,7 @@ class PrivateNetwork: @dataclass class PrivateNetworkDHCPConfig: - ip_id: str + ip_id: Optional[str] @dataclass diff --git a/scaleway/scaleway/mnq/v1alpha1/marshalling.py b/scaleway/scaleway/mnq/v1alpha1/marshalling.py index 200265c00..890b31674 100644 --- a/scaleway/scaleway/mnq/v1alpha1/marshalling.py +++ b/scaleway/scaleway/mnq/v1alpha1/marshalling.py @@ -232,56 +232,81 @@ def marshal_Permissions( request: Permissions, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "can_manage": request.can_manage, - "can_publish": request.can_publish, - "can_receive": request.can_receive, - } + output: Dict[str, Any] = {} + + if request.can_manage is not None: + output["can_manage"] = request.can_manage + + if request.can_publish is not None: + output["can_publish"] = request.can_publish + + if request.can_receive is not None: + output["can_receive"] = request.can_receive + + return output def marshal_CreateCredentialRequest( request: CreateCredentialRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "name": request.name, - "namespace_id": request.namespace_id, - "permissions": marshal_Permissions(request.permissions, defaults) - if request.permissions is not None - else None, - } + output: Dict[str, Any] = {} + + if request.name is not None: + output["name"] = request.name + + if request.namespace_id is not None: + output["namespace_id"] = request.namespace_id + + if request.permissions is not None: + output["permissions"] = marshal_Permissions(request.permissions, defaults) + + return output def marshal_CreateNamespaceRequest( request: CreateNamespaceRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "name": request.name, - "project_id": request.project_id or defaults.default_project_id, - "protocol": NamespaceProtocol(request.protocol) - if request.protocol is not None - else None, - } + output: Dict[str, Any] = {} + + if request.name is not None: + output["name"] = request.name + + if request.project_id is not None: + output["project_id"] = request.project_id or defaults.default_project_id + + if request.protocol is not None: + output["protocol"] = NamespaceProtocol(request.protocol) + + return output def marshal_UpdateCredentialRequest( request: UpdateCredentialRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "name": request.name, - "permissions": marshal_Permissions(request.permissions, defaults) - if request.permissions is not None - else None, - } + output: Dict[str, Any] = {} + + if request.name is not None: + output["name"] = request.name + + if request.permissions is not None: + output["permissions"] = marshal_Permissions(request.permissions, defaults) + + return output def marshal_UpdateNamespaceRequest( request: UpdateNamespaceRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "name": request.name, - "namespace_id": request.namespace_id, - } + output: Dict[str, Any] = {} + + if request.name is not None: + output["name"] = request.name + + if request.namespace_id is not None: + output["namespace_id"] = request.namespace_id + + return output diff --git a/scaleway/scaleway/rdb/v1/marshalling.py b/scaleway/scaleway/rdb/v1/marshalling.py index b80f96acf..0c962ad9a 100644 --- a/scaleway/scaleway/rdb/v1/marshalling.py +++ b/scaleway/scaleway/rdb/v1/marshalling.py @@ -1200,29 +1200,36 @@ def marshal_EndpointSpecPrivateNetworkIpamConfig( request: EndpointSpecPrivateNetworkIpamConfig, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return {} + output: Dict[str, Any] = {} + + return output def marshal_ReadReplicaEndpointSpecPrivateNetworkIpamConfig( request: ReadReplicaEndpointSpecPrivateNetworkIpamConfig, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return {} + output: Dict[str, Any] = {} + + return output def marshal_EndpointSpecLoadBalancer( request: EndpointSpecLoadBalancer, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return {} + output: Dict[str, Any] = {} + + return output def marshal_EndpointSpecPrivateNetwork( request: EndpointSpecPrivateNetwork, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - **resolve_one_of( + output: Dict[str, Any] = {} + output.update( + resolve_one_of( [ OneOfPossibility( "service_ip", @@ -1238,23 +1245,30 @@ def marshal_EndpointSpecPrivateNetwork( ), ] ), - "private_network_id": request.private_network_id, - } + ) + + if request.private_network_id is not None: + output["private_network_id"] = request.private_network_id + + return output def marshal_ReadReplicaEndpointSpecDirectAccess( request: ReadReplicaEndpointSpecDirectAccess, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return {} + output: Dict[str, Any] = {} + + return output def marshal_ReadReplicaEndpointSpecPrivateNetwork( request: ReadReplicaEndpointSpecPrivateNetwork, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - **resolve_one_of( + output: Dict[str, Any] = {} + output.update( + resolve_one_of( [ OneOfPossibility( "service_ip", @@ -1270,26 +1284,36 @@ def marshal_ReadReplicaEndpointSpecPrivateNetwork( ), ] ), - "private_network_id": request.private_network_id, - } + ) + + if request.private_network_id is not None: + output["private_network_id"] = request.private_network_id + + return output def marshal_ACLRuleRequest( request: ACLRuleRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "description": request.description, - "ip": request.ip, - } + output: Dict[str, Any] = {} + + if request.description is not None: + output["description"] = request.description + + if request.ip is not None: + output["ip"] = request.ip + + return output def marshal_EndpointSpec( request: EndpointSpec, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - **resolve_one_of( + output: Dict[str, Any] = {} + output.update( + resolve_one_of( [ OneOfPossibility( "load_balancer", @@ -1307,35 +1331,48 @@ def marshal_EndpointSpec( ), ] ), - } + ) + + return output def marshal_InstanceSetting( request: InstanceSetting, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "name": request.name, - "value": request.value, - } + output: Dict[str, Any] = {} + + if request.name is not None: + output["name"] = request.name + + if request.value is not None: + output["value"] = request.value + + return output def marshal_LogsPolicy( request: LogsPolicy, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "max_age_retention": request.max_age_retention, - "total_disk_retention": request.total_disk_retention, - } + output: Dict[str, Any] = {} + + if request.max_age_retention is not None: + output["max_age_retention"] = request.max_age_retention + + if request.total_disk_retention is not None: + output["total_disk_retention"] = request.total_disk_retention + + return output def marshal_ReadReplicaEndpointSpec( request: ReadReplicaEndpointSpec, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - **resolve_one_of( + output: Dict[str, Any] = {} + output.update( + resolve_one_of( [ OneOfPossibility( "direct_access", @@ -1355,86 +1392,122 @@ def marshal_ReadReplicaEndpointSpec( ), ] ), - } + ) + + return output def marshal_AddInstanceACLRulesRequest( request: AddInstanceACLRulesRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "rules": [marshal_ACLRuleRequest(v, defaults) for v in request.rules], - } + output: Dict[str, Any] = {} + + if request.rules is not None: + output["rules"] = [marshal_ACLRuleRequest(v, defaults) for v in request.rules] + + return output def marshal_AddInstanceSettingsRequest( request: AddInstanceSettingsRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "settings": [marshal_InstanceSetting(v, defaults) for v in request.settings], - } + output: Dict[str, Any] = {} + + if request.settings is not None: + output["settings"] = [ + marshal_InstanceSetting(v, defaults) for v in request.settings + ] + + return output def marshal_CloneInstanceRequest( request: CloneInstanceRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "name": request.name, - "node_type": request.node_type, - } + output: Dict[str, Any] = {} + + if request.name is not None: + output["name"] = request.name + + if request.node_type is not None: + output["node_type"] = request.node_type + + return output def marshal_CreateDatabaseBackupRequest( request: CreateDatabaseBackupRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "database_name": request.database_name, - "expires_at": request.expires_at, - "instance_id": request.instance_id, - "name": request.name, - } + output: Dict[str, Any] = {} + + if request.database_name is not None: + output["database_name"] = request.database_name + + if request.expires_at is not None: + output["expires_at"] = request.expires_at + + if request.instance_id is not None: + output["instance_id"] = request.instance_id + + if request.name is not None: + output["name"] = request.name + + return output def marshal_CreateDatabaseRequest( request: CreateDatabaseRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "name": request.name, - } + output: Dict[str, Any] = {} + + if request.name is not None: + output["name"] = request.name + + return output def marshal_CreateEndpointRequest( request: CreateEndpointRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "endpoint_spec": marshal_EndpointSpec(request.endpoint_spec, defaults) - if request.endpoint_spec is not None - else None, - } + output: Dict[str, Any] = {} + + if request.endpoint_spec is not None: + output["endpoint_spec"] = marshal_EndpointSpec(request.endpoint_spec, defaults) + + return output def marshal_CreateInstanceFromSnapshotRequest( request: CreateInstanceFromSnapshotRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "instance_name": request.instance_name, - "is_ha_cluster": request.is_ha_cluster, - "node_type": request.node_type, - } + output: Dict[str, Any] = {} + + if request.instance_name is not None: + output["instance_name"] = request.instance_name + + if request.is_ha_cluster is not None: + output["is_ha_cluster"] = request.is_ha_cluster + + if request.node_type is not None: + output["node_type"] = request.node_type + + return output def marshal_CreateInstanceRequest( request: CreateInstanceRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - **resolve_one_of( + output: Dict[str, Any] = {} + output.update( + resolve_one_of( [ OneOfPossibility( "project_id", @@ -1452,216 +1525,328 @@ def marshal_CreateInstanceRequest( ), ] ), - "backup_same_region": request.backup_same_region, - "disable_backup": request.disable_backup, - "engine": request.engine, - "init_endpoints": [ + ) + + if request.backup_same_region is not None: + output["backup_same_region"] = request.backup_same_region + + if request.disable_backup is not None: + output["disable_backup"] = request.disable_backup + + if request.engine is not None: + output["engine"] = request.engine + + if request.init_endpoints is not None: + output["init_endpoints"] = [ marshal_EndpointSpec(v, defaults) for v in request.init_endpoints ] - if request.init_endpoints is not None - else None, - "init_settings": [ + + if request.init_settings is not None: + output["init_settings"] = [ marshal_InstanceSetting(v, defaults) for v in request.init_settings ] - if request.init_settings is not None - else None, - "is_ha_cluster": request.is_ha_cluster, - "name": request.name, - "node_type": request.node_type, - "password": request.password, - "tags": request.tags, - "user_name": request.user_name, - "volume_size": request.volume_size, - "volume_type": VolumeType(request.volume_type), - } + + if request.is_ha_cluster is not None: + output["is_ha_cluster"] = request.is_ha_cluster + + if request.name is not None: + output["name"] = request.name + + if request.node_type is not None: + output["node_type"] = request.node_type + + if request.password is not None: + output["password"] = request.password + + if request.tags is not None: + output["tags"] = request.tags + + if request.user_name is not None: + output["user_name"] = request.user_name + + if request.volume_size is not None: + output["volume_size"] = request.volume_size + + if request.volume_type is not None: + output["volume_type"] = VolumeType(request.volume_type) + + return output def marshal_CreateReadReplicaEndpointRequest( request: CreateReadReplicaEndpointRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "endpoint_spec": [ + output: Dict[str, Any] = {} + + if request.endpoint_spec is not None: + output["endpoint_spec"] = [ marshal_ReadReplicaEndpointSpec(v, defaults) for v in request.endpoint_spec - ], - } + ] + + return output def marshal_CreateReadReplicaRequest( request: CreateReadReplicaRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "endpoint_spec": [ + output: Dict[str, Any] = {} + + if request.endpoint_spec is not None: + output["endpoint_spec"] = [ marshal_ReadReplicaEndpointSpec(v, defaults) for v in request.endpoint_spec ] - if request.endpoint_spec is not None - else None, - "instance_id": request.instance_id, - "same_zone": request.same_zone, - } + + if request.instance_id is not None: + output["instance_id"] = request.instance_id + + if request.same_zone is not None: + output["same_zone"] = request.same_zone + + return output def marshal_CreateSnapshotRequest( request: CreateSnapshotRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "expires_at": request.expires_at, - "name": request.name, - } + output: Dict[str, Any] = {} + + if request.expires_at is not None: + output["expires_at"] = request.expires_at + + if request.name is not None: + output["name"] = request.name + + return output def marshal_CreateUserRequest( request: CreateUserRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "is_admin": request.is_admin, - "name": request.name, - "password": request.password, - } + output: Dict[str, Any] = {} + + if request.is_admin is not None: + output["is_admin"] = request.is_admin + + if request.name is not None: + output["name"] = request.name + + if request.password is not None: + output["password"] = request.password + + return output def marshal_DeleteInstanceACLRulesRequest( request: DeleteInstanceACLRulesRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "acl_rule_ips": request.acl_rule_ips, - } + output: Dict[str, Any] = {} + + if request.acl_rule_ips is not None: + output["acl_rule_ips"] = request.acl_rule_ips + + return output def marshal_DeleteInstanceSettingsRequest( request: DeleteInstanceSettingsRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "setting_names": request.setting_names, - } + output: Dict[str, Any] = {} + + if request.setting_names is not None: + output["setting_names"] = request.setting_names + + return output def marshal_MigrateEndpointRequest( request: MigrateEndpointRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "instance_id": request.instance_id, - } + output: Dict[str, Any] = {} + + if request.instance_id is not None: + output["instance_id"] = request.instance_id + + return output def marshal_PrepareInstanceLogsRequest( request: PrepareInstanceLogsRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "end_date": request.end_date, - "start_date": request.start_date, - } + output: Dict[str, Any] = {} + + if request.end_date is not None: + output["end_date"] = request.end_date + + if request.start_date is not None: + output["start_date"] = request.start_date + + return output def marshal_PurgeInstanceLogsRequest( request: PurgeInstanceLogsRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "log_name": request.log_name, - } + output: Dict[str, Any] = {} + + if request.log_name is not None: + output["log_name"] = request.log_name + + return output def marshal_RestoreDatabaseBackupRequest( request: RestoreDatabaseBackupRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "database_name": request.database_name, - "instance_id": request.instance_id, - } + output: Dict[str, Any] = {} + + if request.database_name is not None: + output["database_name"] = request.database_name + + if request.instance_id is not None: + output["instance_id"] = request.instance_id + + return output def marshal_SetInstanceACLRulesRequest( request: SetInstanceACLRulesRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "rules": [marshal_ACLRuleRequest(v, defaults) for v in request.rules], - } + output: Dict[str, Any] = {} + + if request.rules is not None: + output["rules"] = [marshal_ACLRuleRequest(v, defaults) for v in request.rules] + + return output def marshal_SetInstanceSettingsRequest( request: SetInstanceSettingsRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "settings": [marshal_InstanceSetting(v, defaults) for v in request.settings], - } + output: Dict[str, Any] = {} + + if request.settings is not None: + output["settings"] = [ + marshal_InstanceSetting(v, defaults) for v in request.settings + ] + + return output def marshal_SetPrivilegeRequest( request: SetPrivilegeRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "database_name": request.database_name, - "permission": Permission(request.permission), - "user_name": request.user_name, - } + output: Dict[str, Any] = {} + + if request.database_name is not None: + output["database_name"] = request.database_name + + if request.permission is not None: + output["permission"] = Permission(request.permission) + + if request.user_name is not None: + output["user_name"] = request.user_name + + return output def marshal_UpdateDatabaseBackupRequest( request: UpdateDatabaseBackupRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "expires_at": request.expires_at, - "name": request.name, - } + output: Dict[str, Any] = {} + + if request.expires_at is not None: + output["expires_at"] = request.expires_at + + if request.name is not None: + output["name"] = request.name + + return output def marshal_UpdateInstanceRequest( request: UpdateInstanceRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "backup_same_region": request.backup_same_region, - "backup_schedule_frequency": request.backup_schedule_frequency, - "backup_schedule_retention": request.backup_schedule_retention, - "backup_schedule_start_hour": request.backup_schedule_start_hour, - "is_backup_schedule_disabled": request.is_backup_schedule_disabled, - "logs_policy": marshal_LogsPolicy(request.logs_policy, defaults) - if request.logs_policy is not None - else None, - "name": request.name, - "tags": request.tags, - } + output: Dict[str, Any] = {} + + if request.backup_same_region is not None: + output["backup_same_region"] = request.backup_same_region + + if request.backup_schedule_frequency is not None: + output["backup_schedule_frequency"] = request.backup_schedule_frequency + + if request.backup_schedule_retention is not None: + output["backup_schedule_retention"] = request.backup_schedule_retention + + if request.backup_schedule_start_hour is not None: + output["backup_schedule_start_hour"] = request.backup_schedule_start_hour + + if request.is_backup_schedule_disabled is not None: + output["is_backup_schedule_disabled"] = request.is_backup_schedule_disabled + + if request.logs_policy is not None: + output["logs_policy"] = marshal_LogsPolicy(request.logs_policy, defaults) + + if request.name is not None: + output["name"] = request.name + + if request.tags is not None: + output["tags"] = request.tags + + return output def marshal_UpdateSnapshotRequest( request: UpdateSnapshotRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "expires_at": request.expires_at, - "name": request.name, - } + output: Dict[str, Any] = {} + + if request.expires_at is not None: + output["expires_at"] = request.expires_at + + if request.name is not None: + output["name"] = request.name + + return output def marshal_UpdateUserRequest( request: UpdateUserRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "is_admin": request.is_admin, - "password": request.password, - } + output: Dict[str, Any] = {} + + if request.is_admin is not None: + output["is_admin"] = request.is_admin + + if request.password is not None: + output["password"] = request.password + + return output def marshal_UpgradeInstanceRequest( request: UpgradeInstanceRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - **resolve_one_of( + output: Dict[str, Any] = {} + output.update( + resolve_one_of( [ OneOfPossibility( "node_type", @@ -1689,4 +1874,6 @@ def marshal_UpgradeInstanceRequest( ), ] ), - } + ) + + return output diff --git a/scaleway/scaleway/redis/v1/marshalling.py b/scaleway/scaleway/redis/v1/marshalling.py index 97b5eedb3..28dc2c4f3 100644 --- a/scaleway/scaleway/redis/v1/marshalling.py +++ b/scaleway/scaleway/redis/v1/marshalling.py @@ -481,57 +481,77 @@ def marshal_EndpointSpecPrivateNetworkSpecIpamConfig( request: EndpointSpecPrivateNetworkSpecIpamConfig, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return {} + output: Dict[str, Any] = {} + + return output def marshal_EndpointSpecPrivateNetworkSpec( request: EndpointSpecPrivateNetworkSpec, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "id": request.id, - "ipam_config": marshal_EndpointSpecPrivateNetworkSpecIpamConfig( + output: Dict[str, Any] = {} + + if request.id is not None: + output["id"] = request.id + + if request.ipam_config is not None: + output["ipam_config"] = marshal_EndpointSpecPrivateNetworkSpecIpamConfig( request.ipam_config, defaults ) - if request.ipam_config is not None - else None, - "service_ips": request.service_ips, - } + + if request.service_ips is not None: + output["service_ips"] = request.service_ips + + return output def marshal_EndpointSpecPublicNetworkSpec( request: EndpointSpecPublicNetworkSpec, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return {} + output: Dict[str, Any] = {} + + return output def marshal_ACLRuleSpec( request: ACLRuleSpec, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "description": request.description, - "ip_cidr": request.ip_cidr, - } + output: Dict[str, Any] = {} + + if request.description is not None: + output["description"] = request.description + + if request.ip_cidr is not None: + output["ip_cidr"] = request.ip_cidr + + return output def marshal_ClusterSetting( request: ClusterSetting, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "name": request.name, - "value": request.value, - } + output: Dict[str, Any] = {} + + if request.name is not None: + output["name"] = request.name + + if request.value is not None: + output["value"] = request.value + + return output def marshal_EndpointSpec( request: EndpointSpec, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - **resolve_one_of( + output: Dict[str, Any] = {} + output.update( + resolve_one_of( [ OneOfPossibility( "private_network", @@ -551,70 +571,111 @@ def marshal_EndpointSpec( ), ] ), - } + ) + + return output def marshal_AddAclRulesRequest( request: AddAclRulesRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "acl_rules": [marshal_ACLRuleSpec(v, defaults) for v in request.acl_rules], - } + output: Dict[str, Any] = {} + + if request.acl_rules is not None: + output["acl_rules"] = [ + marshal_ACLRuleSpec(v, defaults) for v in request.acl_rules + ] + + return output def marshal_AddClusterSettingsRequest( request: AddClusterSettingsRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "settings": [marshal_ClusterSetting(v, defaults) for v in request.settings], - } + output: Dict[str, Any] = {} + + if request.settings is not None: + output["settings"] = [ + marshal_ClusterSetting(v, defaults) for v in request.settings + ] + + return output def marshal_AddEndpointsRequest( request: AddEndpointsRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "endpoints": [marshal_EndpointSpec(v, defaults) for v in request.endpoints], - } + output: Dict[str, Any] = {} + + if request.endpoints is not None: + output["endpoints"] = [ + marshal_EndpointSpec(v, defaults) for v in request.endpoints + ] + + return output def marshal_CreateClusterRequest( request: CreateClusterRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "acl_rules": [marshal_ACLRuleSpec(v, defaults) for v in request.acl_rules] - if request.acl_rules is not None - else None, - "cluster_settings": [ + output: Dict[str, Any] = {} + + if request.acl_rules is not None: + output["acl_rules"] = [ + marshal_ACLRuleSpec(v, defaults) for v in request.acl_rules + ] + + if request.cluster_settings is not None: + output["cluster_settings"] = [ marshal_ClusterSetting(v, defaults) for v in request.cluster_settings ] - if request.cluster_settings is not None - else None, - "cluster_size": request.cluster_size, - "endpoints": [marshal_EndpointSpec(v, defaults) for v in request.endpoints] - if request.endpoints is not None - else None, - "name": request.name, - "node_type": request.node_type, - "password": request.password, - "project_id": request.project_id or defaults.default_project_id, - "tags": request.tags, - "tls_enabled": request.tls_enabled, - "user_name": request.user_name, - "version": request.version, - } + + if request.cluster_size is not None: + output["cluster_size"] = request.cluster_size + + if request.endpoints is not None: + output["endpoints"] = [ + marshal_EndpointSpec(v, defaults) for v in request.endpoints + ] + + if request.name is not None: + output["name"] = request.name + + if request.node_type is not None: + output["node_type"] = request.node_type + + if request.password is not None: + output["password"] = request.password + + if request.project_id is not None: + output["project_id"] = request.project_id or defaults.default_project_id + + if request.tags is not None: + output["tags"] = request.tags + + if request.tls_enabled is not None: + output["tls_enabled"] = request.tls_enabled + + if request.user_name is not None: + output["user_name"] = request.user_name + + if request.version is not None: + output["version"] = request.version + + return output def marshal_MigrateClusterRequest( request: MigrateClusterRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - **resolve_one_of( + output: Dict[str, Any] = {} + output.update( + resolve_one_of( [ OneOfPossibility( "version", request.version if request.version is not None else None @@ -629,54 +690,81 @@ def marshal_MigrateClusterRequest( ), ] ), - } + ) + + return output def marshal_SetAclRulesRequest( request: SetAclRulesRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "acl_rules": [marshal_ACLRuleSpec(v, defaults) for v in request.acl_rules], - } + output: Dict[str, Any] = {} + + if request.acl_rules is not None: + output["acl_rules"] = [ + marshal_ACLRuleSpec(v, defaults) for v in request.acl_rules + ] + + return output def marshal_SetClusterSettingsRequest( request: SetClusterSettingsRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "settings": [marshal_ClusterSetting(v, defaults) for v in request.settings], - } + output: Dict[str, Any] = {} + + if request.settings is not None: + output["settings"] = [ + marshal_ClusterSetting(v, defaults) for v in request.settings + ] + + return output def marshal_SetEndpointsRequest( request: SetEndpointsRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "endpoints": [marshal_EndpointSpec(v, defaults) for v in request.endpoints], - } + output: Dict[str, Any] = {} + + if request.endpoints is not None: + output["endpoints"] = [ + marshal_EndpointSpec(v, defaults) for v in request.endpoints + ] + + return output def marshal_UpdateClusterRequest( request: UpdateClusterRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "name": request.name, - "password": request.password, - "tags": request.tags, - "user_name": request.user_name, - } + output: Dict[str, Any] = {} + + if request.name is not None: + output["name"] = request.name + + if request.password is not None: + output["password"] = request.password + + if request.tags is not None: + output["tags"] = request.tags + + if request.user_name is not None: + output["user_name"] = request.user_name + + return output def marshal_UpdateEndpointRequest( request: UpdateEndpointRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - **resolve_one_of( + output: Dict[str, Any] = {} + output.update( + resolve_one_of( [ OneOfPossibility( "private_network", @@ -696,4 +784,6 @@ def marshal_UpdateEndpointRequest( ), ] ), - } + ) + + return output diff --git a/scaleway/scaleway/registry/v1/marshalling.py b/scaleway/scaleway/registry/v1/marshalling.py index 083cb17f0..108158336 100644 --- a/scaleway/scaleway/registry/v1/marshalling.py +++ b/scaleway/scaleway/registry/v1/marshalling.py @@ -206,8 +206,9 @@ def marshal_CreateNamespaceRequest( request: CreateNamespaceRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - **resolve_one_of( + output: Dict[str, Any] = {} + output.update( + resolve_one_of( [ OneOfPossibility( "project_id", @@ -225,26 +226,42 @@ def marshal_CreateNamespaceRequest( ), ] ), - "description": request.description, - "is_public": request.is_public, - "name": request.name, - } + ) + + if request.description is not None: + output["description"] = request.description + + if request.is_public is not None: + output["is_public"] = request.is_public + + if request.name is not None: + output["name"] = request.name + + return output def marshal_UpdateImageRequest( request: UpdateImageRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "visibility": ImageVisibility(request.visibility), - } + output: Dict[str, Any] = {} + + if request.visibility is not None: + output["visibility"] = ImageVisibility(request.visibility) + + return output def marshal_UpdateNamespaceRequest( request: UpdateNamespaceRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "description": request.description, - "is_public": request.is_public, - } + output: Dict[str, Any] = {} + + if request.description is not None: + output["description"] = request.description + + if request.is_public is not None: + output["is_public"] = request.is_public + + return output diff --git a/scaleway/scaleway/secret/v1alpha1/marshalling.py b/scaleway/scaleway/secret/v1alpha1/marshalling.py index 947c16658..d75c64660 100644 --- a/scaleway/scaleway/secret/v1alpha1/marshalling.py +++ b/scaleway/scaleway/secret/v1alpha1/marshalling.py @@ -192,44 +192,72 @@ def marshal_PasswordGenerationParams( request: PasswordGenerationParams, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "additional_chars": request.additional_chars, - "length": request.length, - "no_digits": request.no_digits, - "no_lowercase_letters": request.no_lowercase_letters, - "no_uppercase_letters": request.no_uppercase_letters, - } + output: Dict[str, Any] = {} + + if request.additional_chars is not None: + output["additional_chars"] = request.additional_chars + + if request.length is not None: + output["length"] = request.length + + if request.no_digits is not None: + output["no_digits"] = request.no_digits + + if request.no_lowercase_letters is not None: + output["no_lowercase_letters"] = request.no_lowercase_letters + + if request.no_uppercase_letters is not None: + output["no_uppercase_letters"] = request.no_uppercase_letters + + return output def marshal_AddSecretOwnerRequest( request: AddSecretOwnerRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "product": Product(request.product), - "product_name": request.product_name, - } + output: Dict[str, Any] = {} + + if request.product is not None: + output["product"] = Product(request.product) + + if request.product_name is not None: + output["product_name"] = request.product_name + + return output def marshal_CreateSecretRequest( request: CreateSecretRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "description": request.description, - "name": request.name, - "project_id": request.project_id or defaults.default_project_id, - "tags": request.tags, - "type": SecretType(request.type_), - } + output: Dict[str, Any] = {} + + if request.description is not None: + output["description"] = request.description + + if request.name is not None: + output["name"] = request.name + + if request.project_id is not None: + output["project_id"] = request.project_id or defaults.default_project_id + + if request.tags is not None: + output["tags"] = request.tags + + if request.type_ is not None: + output["type"] = SecretType(request.type_) + + return output def marshal_CreateSecretVersionRequest( request: CreateSecretVersionRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - **resolve_one_of( + output: Dict[str, Any] = {} + output.update( + resolve_one_of( [ OneOfPossibility( "password_generation", @@ -241,43 +269,78 @@ def marshal_CreateSecretVersionRequest( ), ] ), - "data": request.data, - "data_crc32": request.data_crc32, - "description": request.description, - "disable_previous": request.disable_previous, - } + ) + + if request.data is not None: + output["data"] = request.data + + if request.data_crc32 is not None: + output["data_crc32"] = request.data_crc32 + + if request.description is not None: + output["description"] = request.description + + if request.disable_previous is not None: + output["disable_previous"] = request.disable_previous + + return output def marshal_GeneratePasswordRequest( request: GeneratePasswordRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "additional_chars": request.additional_chars, - "description": request.description, - "disable_previous": request.disable_previous, - "length": request.length, - "no_digits": request.no_digits, - "no_lowercase_letters": request.no_lowercase_letters, - "no_uppercase_letters": request.no_uppercase_letters, - } + output: Dict[str, Any] = {} + + if request.additional_chars is not None: + output["additional_chars"] = request.additional_chars + + if request.description is not None: + output["description"] = request.description + + if request.disable_previous is not None: + output["disable_previous"] = request.disable_previous + + if request.length is not None: + output["length"] = request.length + + if request.no_digits is not None: + output["no_digits"] = request.no_digits + + if request.no_lowercase_letters is not None: + output["no_lowercase_letters"] = request.no_lowercase_letters + + if request.no_uppercase_letters is not None: + output["no_uppercase_letters"] = request.no_uppercase_letters + + return output def marshal_UpdateSecretRequest( request: UpdateSecretRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "description": request.description, - "name": request.name, - "tags": request.tags, - } + output: Dict[str, Any] = {} + + if request.description is not None: + output["description"] = request.description + + if request.name is not None: + output["name"] = request.name + + if request.tags is not None: + output["tags"] = request.tags + + return output def marshal_UpdateSecretVersionRequest( request: UpdateSecretVersionRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "description": request.description, - } + output: Dict[str, Any] = {} + + if request.description is not None: + output["description"] = request.description + + return output diff --git a/scaleway/scaleway/tem/v1alpha1/marshalling.py b/scaleway/scaleway/tem/v1alpha1/marshalling.py index 35ee36ec9..ba3bb91c8 100644 --- a/scaleway/scaleway/tem/v1alpha1/marshalling.py +++ b/scaleway/scaleway/tem/v1alpha1/marshalling.py @@ -333,60 +333,96 @@ def marshal_CreateEmailRequestAddress( request: CreateEmailRequestAddress, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "email": request.email, - "name": request.name, - } + output: Dict[str, Any] = {} + + if request.email is not None: + output["email"] = request.email + + if request.name is not None: + output["name"] = request.name + + return output def marshal_CreateEmailRequestAttachment( request: CreateEmailRequestAttachment, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "content": request.content, - "name": request.name, - "type": request.type_, - } + output: Dict[str, Any] = {} + + if request.content is not None: + output["content"] = request.content + + if request.name is not None: + output["name"] = request.name + + if request.type_ is not None: + output["type"] = request.type_ + + return output def marshal_CreateDomainRequest( request: CreateDomainRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "accept_tos": request.accept_tos, - "domain_name": request.domain_name, - "project_id": request.project_id or defaults.default_project_id, - } + output: Dict[str, Any] = {} + + if request.accept_tos is not None: + output["accept_tos"] = request.accept_tos + + if request.domain_name is not None: + output["domain_name"] = request.domain_name + + if request.project_id is not None: + output["project_id"] = request.project_id or defaults.default_project_id + + return output def marshal_CreateEmailRequest( request: CreateEmailRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "attachments": [ + output: Dict[str, Any] = {} + + if request.attachments is not None: + output["attachments"] = [ marshal_CreateEmailRequestAttachment(v, defaults) for v in request.attachments ] - if request.attachments is not None - else None, - "bcc": [marshal_CreateEmailRequestAddress(v, defaults) for v in request.bcc] - if request.bcc is not None - else None, - "cc": [marshal_CreateEmailRequestAddress(v, defaults) for v in request.cc] - if request.cc is not None - else None, - "from": marshal_CreateEmailRequestAddress(request.from_, defaults) - if request.from_ is not None - else None, - "html": request.html, - "project_id": request.project_id or defaults.default_project_id, - "send_before": request.send_before, - "subject": request.subject, - "text": request.text, - "to": [marshal_CreateEmailRequestAddress(v, defaults) for v in request.to] - if request.to is not None - else None, - } + + if request.bcc is not None: + output["bcc"] = [ + marshal_CreateEmailRequestAddress(v, defaults) for v in request.bcc + ] + + if request.cc is not None: + output["cc"] = [ + marshal_CreateEmailRequestAddress(v, defaults) for v in request.cc + ] + + if request.from_ is not None: + output["from"] = marshal_CreateEmailRequestAddress(request.from_, defaults) + + if request.html is not None: + output["html"] = request.html + + if request.project_id is not None: + output["project_id"] = request.project_id or defaults.default_project_id + + if request.send_before is not None: + output["send_before"] = request.send_before + + if request.subject is not None: + output["subject"] = request.subject + + if request.text is not None: + output["text"] = request.text + + if request.to is not None: + output["to"] = [ + marshal_CreateEmailRequestAddress(v, defaults) for v in request.to + ] + + return output diff --git a/scaleway/scaleway/tem/v1alpha1/types.py b/scaleway/scaleway/tem/v1alpha1/types.py index c9425b2d2..79aad952b 100644 --- a/scaleway/scaleway/tem/v1alpha1/types.py +++ b/scaleway/scaleway/tem/v1alpha1/types.py @@ -40,6 +40,7 @@ class EmailFlag(str, Enum): SOFT_BOUNCE = "soft_bounce" HARD_BOUNCE = "hard_bounce" SPAM = "spam" + MAILBOX_FULL = "mailbox_full" def __str__(self) -> str: return str(self.value) diff --git a/scaleway/scaleway/test/v1/marshalling.py b/scaleway/scaleway/test/v1/marshalling.py index 7ac7390af..fefd080de 100644 --- a/scaleway/scaleway/test/v1/marshalling.py +++ b/scaleway/scaleway/test/v1/marshalling.py @@ -114,8 +114,9 @@ def marshal_CreateHumanRequest( request: CreateHumanRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - **resolve_one_of( + output: Dict[str, Any] = {} + output.update( + resolve_one_of( [ OneOfPossibility( "project_id", @@ -133,39 +134,81 @@ def marshal_CreateHumanRequest( ), ] ), - "altitude_in_meter": request.altitude_in_meter, - "altitude_in_millimeter": request.altitude_in_millimeter, - "eyes_color": EyeColors(request.eyes_color), - "fingers_count": request.fingers_count, - "hair_count": request.hair_count, - "height": request.height, - "is_happy": request.is_happy, - "name": request.name, - "shoe_size": request.shoe_size, - } + ) + + if request.altitude_in_meter is not None: + output["altitude_in_meter"] = request.altitude_in_meter + + if request.altitude_in_millimeter is not None: + output["altitude_in_millimeter"] = request.altitude_in_millimeter + + if request.eyes_color is not None: + output["eyes_color"] = EyeColors(request.eyes_color) + + if request.fingers_count is not None: + output["fingers_count"] = request.fingers_count + + if request.hair_count is not None: + output["hair_count"] = request.hair_count + + if request.height is not None: + output["height"] = request.height + + if request.is_happy is not None: + output["is_happy"] = request.is_happy + + if request.name is not None: + output["name"] = request.name + + if request.shoe_size is not None: + output["shoe_size"] = request.shoe_size + + return output def marshal_RegisterRequest( request: RegisterRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "username": request.username, - } + output: Dict[str, Any] = {} + + if request.username is not None: + output["username"] = request.username + + return output def marshal_UpdateHumanRequest( request: UpdateHumanRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "altitude_in_meter": request.altitude_in_meter, - "altitude_in_millimeter": request.altitude_in_millimeter, - "eyes_color": EyeColors(request.eyes_color), - "fingers_count": request.fingers_count, - "hair_count": request.hair_count, - "height": request.height, - "is_happy": request.is_happy, - "name": request.name, - "shoe_size": request.shoe_size, - } + output: Dict[str, Any] = {} + + if request.altitude_in_meter is not None: + output["altitude_in_meter"] = request.altitude_in_meter + + if request.altitude_in_millimeter is not None: + output["altitude_in_millimeter"] = request.altitude_in_millimeter + + if request.eyes_color is not None: + output["eyes_color"] = EyeColors(request.eyes_color) + + if request.fingers_count is not None: + output["fingers_count"] = request.fingers_count + + if request.hair_count is not None: + output["hair_count"] = request.hair_count + + if request.height is not None: + output["height"] = request.height + + if request.is_happy is not None: + output["is_happy"] = request.is_happy + + if request.name is not None: + output["name"] = request.name + + if request.shoe_size is not None: + output["shoe_size"] = request.shoe_size + + return output diff --git a/scaleway/scaleway/vpc/v1/marshalling.py b/scaleway/scaleway/vpc/v1/marshalling.py index b3119e4c4..5571bac9d 100644 --- a/scaleway/scaleway/vpc/v1/marshalling.py +++ b/scaleway/scaleway/vpc/v1/marshalling.py @@ -74,20 +74,36 @@ def marshal_CreatePrivateNetworkRequest( request: CreatePrivateNetworkRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "name": request.name, - "project_id": request.project_id or defaults.default_project_id, - "subnets": request.subnets, - "tags": request.tags, - } + output: Dict[str, Any] = {} + + if request.name is not None: + output["name"] = request.name + + if request.project_id is not None: + output["project_id"] = request.project_id or defaults.default_project_id + + if request.subnets is not None: + output["subnets"] = request.subnets + + if request.tags is not None: + output["tags"] = request.tags + + return output def marshal_UpdatePrivateNetworkRequest( request: UpdatePrivateNetworkRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "name": request.name, - "subnets": request.subnets, - "tags": request.tags, - } + output: Dict[str, Any] = {} + + if request.name is not None: + output["name"] = request.name + + if request.subnets is not None: + output["subnets"] = request.subnets + + if request.tags is not None: + output["tags"] = request.tags + + return output diff --git a/scaleway/scaleway/vpc/v2/marshalling.py b/scaleway/scaleway/vpc/v2/marshalling.py index 56877b30e..c7b839a6e 100644 --- a/scaleway/scaleway/vpc/v2/marshalling.py +++ b/scaleway/scaleway/vpc/v2/marshalling.py @@ -221,50 +221,75 @@ def marshal_AddSubnetsRequest( request: AddSubnetsRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "subnets": request.subnets, - } + output: Dict[str, Any] = {} + + if request.subnets is not None: + output["subnets"] = request.subnets + + return output def marshal_CreatePrivateNetworkRequest( request: CreatePrivateNetworkRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "name": request.name, - "project_id": request.project_id or defaults.default_project_id, - "subnets": request.subnets, - "tags": request.tags, - "vpc_id": request.vpc_id, - } + output: Dict[str, Any] = {} + + if request.name is not None: + output["name"] = request.name + + if request.project_id is not None: + output["project_id"] = request.project_id or defaults.default_project_id + + if request.subnets is not None: + output["subnets"] = request.subnets + + if request.tags is not None: + output["tags"] = request.tags + + if request.vpc_id is not None: + output["vpc_id"] = request.vpc_id + + return output def marshal_CreateVPCRequest( request: CreateVPCRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "name": request.name, - "project_id": request.project_id or defaults.default_project_id, - "tags": request.tags, - } + output: Dict[str, Any] = {} + + if request.name is not None: + output["name"] = request.name + + if request.project_id is not None: + output["project_id"] = request.project_id or defaults.default_project_id + + if request.tags is not None: + output["tags"] = request.tags + + return output def marshal_DeleteSubnetsRequest( request: DeleteSubnetsRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "subnets": request.subnets, - } + output: Dict[str, Any] = {} + + if request.subnets is not None: + output["subnets"] = request.subnets + + return output def marshal_MigrateZonalPrivateNetworksRequest( request: MigrateZonalPrivateNetworksRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - **resolve_one_of( + output: Dict[str, Any] = {} + output.update( + resolve_one_of( [ OneOfPossibility( "project_id", @@ -282,34 +307,51 @@ def marshal_MigrateZonalPrivateNetworksRequest( ), ] ), - "private_network_ids": request.private_network_ids, - } + ) + + if request.private_network_ids is not None: + output["private_network_ids"] = request.private_network_ids + + return output def marshal_SetSubnetsRequest( request: SetSubnetsRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "subnets": request.subnets, - } + output: Dict[str, Any] = {} + + if request.subnets is not None: + output["subnets"] = request.subnets + + return output def marshal_UpdatePrivateNetworkRequest( request: UpdatePrivateNetworkRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "name": request.name, - "tags": request.tags, - } + output: Dict[str, Any] = {} + + if request.name is not None: + output["name"] = request.name + + if request.tags is not None: + output["tags"] = request.tags + + return output def marshal_UpdateVPCRequest( request: UpdateVPCRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "name": request.name, - "tags": request.tags, - } + output: Dict[str, Any] = {} + + if request.name is not None: + output["name"] = request.name + + if request.tags is not None: + output["tags"] = request.tags + + return output diff --git a/scaleway/scaleway/vpcgw/v1/marshalling.py b/scaleway/scaleway/vpcgw/v1/marshalling.py index 20bb86a72..e72eebb44 100644 --- a/scaleway/scaleway/vpcgw/v1/marshalling.py +++ b/scaleway/scaleway/vpcgw/v1/marshalling.py @@ -527,63 +527,114 @@ def marshal_CreateDHCPRequest( request: CreateDHCPRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "address": request.address, - "dns_local_name": request.dns_local_name, - "dns_search": request.dns_search, - "dns_servers_override": request.dns_servers_override, - "enable_dynamic": request.enable_dynamic, - "pool_high": request.pool_high, - "pool_low": request.pool_low, - "project_id": request.project_id or defaults.default_project_id, - "push_default_route": request.push_default_route, - "push_dns_server": request.push_dns_server, - "rebind_timer": request.rebind_timer, - "renew_timer": request.renew_timer, - "subnet": request.subnet, - "valid_lifetime": request.valid_lifetime, - } + output: Dict[str, Any] = {} + + if request.address is not None: + output["address"] = request.address + + if request.dns_local_name is not None: + output["dns_local_name"] = request.dns_local_name + + if request.dns_search is not None: + output["dns_search"] = request.dns_search + + if request.dns_servers_override is not None: + output["dns_servers_override"] = request.dns_servers_override + + if request.enable_dynamic is not None: + output["enable_dynamic"] = request.enable_dynamic + + if request.pool_high is not None: + output["pool_high"] = request.pool_high + + if request.pool_low is not None: + output["pool_low"] = request.pool_low + + if request.project_id is not None: + output["project_id"] = request.project_id or defaults.default_project_id + + if request.push_default_route is not None: + output["push_default_route"] = request.push_default_route + + if request.push_dns_server is not None: + output["push_dns_server"] = request.push_dns_server + + if request.rebind_timer is not None: + output["rebind_timer"] = request.rebind_timer + + if request.renew_timer is not None: + output["renew_timer"] = request.renew_timer + + if request.subnet is not None: + output["subnet"] = request.subnet + + if request.valid_lifetime is not None: + output["valid_lifetime"] = request.valid_lifetime + + return output def marshal_SetDHCPEntriesRequestEntry( request: SetDHCPEntriesRequestEntry, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "ip_address": request.ip_address, - "mac_address": request.mac_address, - } + output: Dict[str, Any] = {} + + if request.ip_address is not None: + output["ip_address"] = request.ip_address + + if request.mac_address is not None: + output["mac_address"] = request.mac_address + + return output def marshal_SetPATRulesRequestRule( request: SetPATRulesRequestRule, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "private_ip": request.private_ip, - "private_port": request.private_port, - "protocol": PATRuleProtocol(request.protocol), - "public_port": request.public_port, - } + output: Dict[str, Any] = {} + + if request.private_ip is not None: + output["private_ip"] = request.private_ip + + if request.private_port is not None: + output["private_port"] = request.private_port + + if request.protocol is not None: + output["protocol"] = PATRuleProtocol(request.protocol) + + if request.public_port is not None: + output["public_port"] = request.public_port + + return output def marshal_CreateDHCPEntryRequest( request: CreateDHCPEntryRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "gateway_network_id": request.gateway_network_id, - "ip_address": request.ip_address, - "mac_address": request.mac_address, - } + output: Dict[str, Any] = {} + + if request.gateway_network_id is not None: + output["gateway_network_id"] = request.gateway_network_id + + if request.ip_address is not None: + output["ip_address"] = request.ip_address + + if request.mac_address is not None: + output["mac_address"] = request.mac_address + + return output def marshal_CreateGatewayNetworkRequest( request: CreateGatewayNetworkRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - **resolve_one_of( + output: Dict[str, Any] = {} + output.update( + resolve_one_of( [ OneOfPossibility( "dhcp_id", request.dhcp_id if request.dhcp_id is not None else None @@ -599,116 +650,200 @@ def marshal_CreateGatewayNetworkRequest( ), ] ), - "enable_dhcp": request.enable_dhcp, - "enable_masquerade": request.enable_masquerade, - "gateway_id": request.gateway_id, - "private_network_id": request.private_network_id, - } + ) + + if request.enable_dhcp is not None: + output["enable_dhcp"] = request.enable_dhcp + + if request.enable_masquerade is not None: + output["enable_masquerade"] = request.enable_masquerade + + if request.gateway_id is not None: + output["gateway_id"] = request.gateway_id + + if request.private_network_id is not None: + output["private_network_id"] = request.private_network_id + + return output def marshal_CreateGatewayRequest( request: CreateGatewayRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "bastion_port": request.bastion_port, - "enable_bastion": request.enable_bastion, - "enable_smtp": request.enable_smtp, - "ip_id": request.ip_id, - "name": request.name, - "project_id": request.project_id or defaults.default_project_id, - "tags": request.tags, - "type": request.type_, - "upstream_dns_servers": request.upstream_dns_servers, - } + output: Dict[str, Any] = {} + + if request.bastion_port is not None: + output["bastion_port"] = request.bastion_port + + if request.enable_bastion is not None: + output["enable_bastion"] = request.enable_bastion + + if request.enable_smtp is not None: + output["enable_smtp"] = request.enable_smtp + + if request.ip_id is not None: + output["ip_id"] = request.ip_id + + if request.name is not None: + output["name"] = request.name + + if request.project_id is not None: + output["project_id"] = request.project_id or defaults.default_project_id + + if request.tags is not None: + output["tags"] = request.tags + + if request.type_ is not None: + output["type"] = request.type_ + + if request.upstream_dns_servers is not None: + output["upstream_dns_servers"] = request.upstream_dns_servers + + return output def marshal_CreateIPRequest( request: CreateIPRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "project_id": request.project_id or defaults.default_project_id, - "tags": request.tags, - } + output: Dict[str, Any] = {} + + if request.project_id is not None: + output["project_id"] = request.project_id or defaults.default_project_id + + if request.tags is not None: + output["tags"] = request.tags + + return output def marshal_CreatePATRuleRequest( request: CreatePATRuleRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "gateway_id": request.gateway_id, - "private_ip": request.private_ip, - "private_port": request.private_port, - "protocol": PATRuleProtocol(request.protocol), - "public_port": request.public_port, - } + output: Dict[str, Any] = {} + + if request.gateway_id is not None: + output["gateway_id"] = request.gateway_id + + if request.private_ip is not None: + output["private_ip"] = request.private_ip + + if request.private_port is not None: + output["private_port"] = request.private_port + + if request.protocol is not None: + output["protocol"] = PATRuleProtocol(request.protocol) + + if request.public_port is not None: + output["public_port"] = request.public_port + + return output def marshal_SetDHCPEntriesRequest( request: SetDHCPEntriesRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "dhcp_entries": [ + output: Dict[str, Any] = {} + + if request.dhcp_entries is not None: + output["dhcp_entries"] = [ marshal_SetDHCPEntriesRequestEntry(v, defaults) for v in request.dhcp_entries ] - if request.dhcp_entries is not None - else None, - "gateway_network_id": request.gateway_network_id, - } + + if request.gateway_network_id is not None: + output["gateway_network_id"] = request.gateway_network_id + + return output def marshal_SetPATRulesRequest( request: SetPATRulesRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "gateway_id": request.gateway_id, - "pat_rules": [ + output: Dict[str, Any] = {} + + if request.gateway_id is not None: + output["gateway_id"] = request.gateway_id + + if request.pat_rules is not None: + output["pat_rules"] = [ marshal_SetPATRulesRequestRule(v, defaults) for v in request.pat_rules - ], - } + ] + + return output def marshal_UpdateDHCPEntryRequest( request: UpdateDHCPEntryRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "ip_address": request.ip_address, - } + output: Dict[str, Any] = {} + + if request.ip_address is not None: + output["ip_address"] = request.ip_address + + return output def marshal_UpdateDHCPRequest( request: UpdateDHCPRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "address": request.address, - "dns_local_name": request.dns_local_name, - "dns_search": request.dns_search, - "dns_servers_override": request.dns_servers_override, - "enable_dynamic": request.enable_dynamic, - "pool_high": request.pool_high, - "pool_low": request.pool_low, - "push_default_route": request.push_default_route, - "push_dns_server": request.push_dns_server, - "rebind_timer": request.rebind_timer, - "renew_timer": request.renew_timer, - "subnet": request.subnet, - "valid_lifetime": request.valid_lifetime, - } + output: Dict[str, Any] = {} + + if request.address is not None: + output["address"] = request.address + + if request.dns_local_name is not None: + output["dns_local_name"] = request.dns_local_name + + if request.dns_search is not None: + output["dns_search"] = request.dns_search + + if request.dns_servers_override is not None: + output["dns_servers_override"] = request.dns_servers_override + + if request.enable_dynamic is not None: + output["enable_dynamic"] = request.enable_dynamic + + if request.pool_high is not None: + output["pool_high"] = request.pool_high + + if request.pool_low is not None: + output["pool_low"] = request.pool_low + + if request.push_default_route is not None: + output["push_default_route"] = request.push_default_route + + if request.push_dns_server is not None: + output["push_dns_server"] = request.push_dns_server + + if request.rebind_timer is not None: + output["rebind_timer"] = request.rebind_timer + + if request.renew_timer is not None: + output["renew_timer"] = request.renew_timer + + if request.subnet is not None: + output["subnet"] = request.subnet + + if request.valid_lifetime is not None: + output["valid_lifetime"] = request.valid_lifetime + + return output def marshal_UpdateGatewayNetworkRequest( request: UpdateGatewayNetworkRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - **resolve_one_of( + output: Dict[str, Any] = {} + output.update( + resolve_one_of( [ OneOfPossibility( "dhcp_id", request.dhcp_id if request.dhcp_id is not None else None @@ -718,43 +853,78 @@ def marshal_UpdateGatewayNetworkRequest( ), ] ), - "enable_dhcp": request.enable_dhcp, - "enable_masquerade": request.enable_masquerade, - } + ) + + if request.enable_dhcp is not None: + output["enable_dhcp"] = request.enable_dhcp + + if request.enable_masquerade is not None: + output["enable_masquerade"] = request.enable_masquerade + + return output def marshal_UpdateGatewayRequest( request: UpdateGatewayRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "bastion_port": request.bastion_port, - "enable_bastion": request.enable_bastion, - "enable_smtp": request.enable_smtp, - "name": request.name, - "tags": request.tags, - "upstream_dns_servers": request.upstream_dns_servers, - } + output: Dict[str, Any] = {} + + if request.bastion_port is not None: + output["bastion_port"] = request.bastion_port + + if request.enable_bastion is not None: + output["enable_bastion"] = request.enable_bastion + + if request.enable_smtp is not None: + output["enable_smtp"] = request.enable_smtp + + if request.name is not None: + output["name"] = request.name + + if request.tags is not None: + output["tags"] = request.tags + + if request.upstream_dns_servers is not None: + output["upstream_dns_servers"] = request.upstream_dns_servers + + return output def marshal_UpdateIPRequest( request: UpdateIPRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "gateway_id": request.gateway_id, - "reverse": request.reverse, - "tags": request.tags, - } + output: Dict[str, Any] = {} + + if request.gateway_id is not None: + output["gateway_id"] = request.gateway_id + + if request.reverse is not None: + output["reverse"] = request.reverse + + if request.tags is not None: + output["tags"] = request.tags + + return output def marshal_UpdatePATRuleRequest( request: UpdatePATRuleRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "private_ip": request.private_ip, - "private_port": request.private_port, - "protocol": PATRuleProtocol(request.protocol), - "public_port": request.public_port, - } + output: Dict[str, Any] = {} + + if request.private_ip is not None: + output["private_ip"] = request.private_ip + + if request.private_port is not None: + output["private_port"] = request.private_port + + if request.protocol is not None: + output["protocol"] = PATRuleProtocol(request.protocol) + + if request.public_port is not None: + output["public_port"] = request.public_port + + return output diff --git a/scaleway/scaleway/webhosting/v1alpha1/marshalling.py b/scaleway/scaleway/webhosting/v1alpha1/marshalling.py index 032135fc7..04c6d11e0 100644 --- a/scaleway/scaleway/webhosting/v1alpha1/marshalling.py +++ b/scaleway/scaleway/webhosting/v1alpha1/marshalling.py @@ -307,23 +307,45 @@ def marshal_CreateHostingRequest( request: CreateHostingRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "domain": request.domain, - "email": request.email, - "offer_id": request.offer_id, - "option_ids": request.option_ids, - "project_id": request.project_id or defaults.default_project_id, - "tags": request.tags, - } + output: Dict[str, Any] = {} + + if request.domain is not None: + output["domain"] = request.domain + + if request.email is not None: + output["email"] = request.email + + if request.offer_id is not None: + output["offer_id"] = request.offer_id + + if request.option_ids is not None: + output["option_ids"] = request.option_ids + + if request.project_id is not None: + output["project_id"] = request.project_id or defaults.default_project_id + + if request.tags is not None: + output["tags"] = request.tags + + return output def marshal_UpdateHostingRequest( request: UpdateHostingRequest, defaults: ProfileDefaults, ) -> Dict[str, Any]: - return { - "email": request.email, - "offer_id": request.offer_id, - "option_ids": request.option_ids, - "tags": request.tags, - } + output: Dict[str, Any] = {} + + if request.email is not None: + output["email"] = request.email + + if request.offer_id is not None: + output["offer_id"] = request.offer_id + + if request.option_ids is not None: + output["option_ids"] = request.option_ids + + if request.tags is not None: + output["tags"] = request.tags + + return output