diff --git a/.chronus/changes/auto-iscai-msft-python-sphinxRaisesDoc-2025-0-21-15-26-8.md b/.chronus/changes/auto-iscai-msft-python-sphinxRaisesDoc-2025-0-21-15-26-8.md new file mode 100644 index 00000000000..c425646d1e2 --- /dev/null +++ b/.chronus/changes/auto-iscai-msft-python-sphinxRaisesDoc-2025-0-21-15-26-8.md @@ -0,0 +1,8 @@ +--- +changeKind: fix +packages: + - "@autorest/python" + - "@azure-tools/typespec-python" +--- + +Order keyword-only args overload first in generated operations \ No newline at end of file diff --git a/packages/autorest.python/package.json b/packages/autorest.python/package.json index 122348550eb..2f27c864bea 100644 --- a/packages/autorest.python/package.json +++ b/packages/autorest.python/package.json @@ -29,7 +29,7 @@ }, "homepage": "https://github.com/Azure/autorest.python/blob/main/README.md", "dependencies": { - "@typespec/http-client-python": "~0.6.5", + "@typespec/http-client-python": "~0.6.6", "@autorest/system-requirements": "~1.0.2", "fs-extra": "~11.2.0", "tsx": "~4.19.1" diff --git a/packages/autorest.python/samples/specification/multiapi/generated/azure/multiapi/sample/_multiapi_service_client.py b/packages/autorest.python/samples/specification/multiapi/generated/azure/multiapi/sample/_multiapi_service_client.py index e7e42d69c31..cc268ec01a7 100644 --- a/packages/autorest.python/samples/specification/multiapi/generated/azure/multiapi/sample/_multiapi_service_client.py +++ b/packages/autorest.python/samples/specification/multiapi/generated/azure/multiapi/sample/_multiapi_service_client.py @@ -29,7 +29,7 @@ class _SDKClient(object): def __init__(self, *args, **kwargs): - """This is a fake class to support current implemetation of MultiApiClientMixin." + """This is a fake class to support current implementation of MultiApiClientMixin." Will be removed in final version of multiapi azure-core based client """ pass diff --git a/packages/autorest.python/samples/specification/multiapi/generated/azure/multiapi/sample/aio/_multiapi_service_client.py b/packages/autorest.python/samples/specification/multiapi/generated/azure/multiapi/sample/aio/_multiapi_service_client.py index 635b77c2b88..b451fdf5b63 100644 --- a/packages/autorest.python/samples/specification/multiapi/generated/azure/multiapi/sample/aio/_multiapi_service_client.py +++ b/packages/autorest.python/samples/specification/multiapi/generated/azure/multiapi/sample/aio/_multiapi_service_client.py @@ -29,7 +29,7 @@ class _SDKClient(object): def __init__(self, *args, **kwargs): - """This is a fake class to support current implemetation of MultiApiClientMixin." + """This is a fake class to support current implementation of MultiApiClientMixin." Will be removed in final version of multiapi azure-core based client """ pass diff --git a/packages/typespec-python/package.json b/packages/typespec-python/package.json index ea0a71cea89..00f88e50134 100644 --- a/packages/typespec-python/package.json +++ b/packages/typespec-python/package.json @@ -60,7 +60,7 @@ "js-yaml": "~4.1.0", "semver": "~7.6.2", "tsx": "~4.19.1", - "@typespec/http-client-python": "~0.6.5", + "@typespec/http-client-python": "~0.6.6", "fs-extra": "~11.2.0" }, "devDependencies": { diff --git a/packages/typespec-python/test/azure/generated/parameters-basic/parameters/basic/aio/operations/_operations.py b/packages/typespec-python/test/azure/generated/parameters-basic/parameters/basic/aio/operations/_operations.py index 68d56cc13f5..fc7afacdbe6 100644 --- a/packages/typespec-python/test/azure/generated/parameters-basic/parameters/basic/aio/operations/_operations.py +++ b/packages/typespec-python/test/azure/generated/parameters-basic/parameters/basic/aio/operations/_operations.py @@ -174,11 +174,11 @@ def __init__(self, *args, **kwargs) -> None: self._deserialize: Deserializer = input_args.pop(0) if input_args else kwargs.pop("deserializer") @overload - async def simple(self, body: JSON, *, content_type: str = "application/json", **kwargs: Any) -> None: + async def simple(self, *, name: str, content_type: str = "application/json", **kwargs: Any) -> None: """simple. - :param body: Required. - :type body: JSON + :keyword name: Required. + :paramtype name: str :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. Default value is "application/json". :paramtype content_type: str @@ -188,11 +188,11 @@ async def simple(self, body: JSON, *, content_type: str = "application/json", ** """ @overload - async def simple(self, *, name: str, content_type: str = "application/json", **kwargs: Any) -> None: + async def simple(self, body: JSON, *, content_type: str = "application/json", **kwargs: Any) -> None: """simple. - :keyword name: Required. - :paramtype name: str + :param body: Required. + :type body: JSON :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. Default value is "application/json". :paramtype content_type: str diff --git a/packages/typespec-python/test/azure/generated/parameters-basic/parameters/basic/operations/_operations.py b/packages/typespec-python/test/azure/generated/parameters-basic/parameters/basic/operations/_operations.py index e94d9321849..ee879c1bebb 100644 --- a/packages/typespec-python/test/azure/generated/parameters-basic/parameters/basic/operations/_operations.py +++ b/packages/typespec-python/test/azure/generated/parameters-basic/parameters/basic/operations/_operations.py @@ -206,11 +206,11 @@ def __init__(self, *args, **kwargs): self._deserialize: Deserializer = input_args.pop(0) if input_args else kwargs.pop("deserializer") @overload - def simple(self, body: JSON, *, content_type: str = "application/json", **kwargs: Any) -> None: + def simple(self, *, name: str, content_type: str = "application/json", **kwargs: Any) -> None: """simple. - :param body: Required. - :type body: JSON + :keyword name: Required. + :paramtype name: str :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. Default value is "application/json". :paramtype content_type: str @@ -220,11 +220,11 @@ def simple(self, body: JSON, *, content_type: str = "application/json", **kwargs """ @overload - def simple(self, *, name: str, content_type: str = "application/json", **kwargs: Any) -> None: + def simple(self, body: JSON, *, content_type: str = "application/json", **kwargs: Any) -> None: """simple. - :keyword name: Required. - :paramtype name: str + :param body: Required. + :type body: JSON :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. Default value is "application/json". :paramtype content_type: str diff --git a/packages/typespec-python/test/azure/generated/parameters-body-optionality/parameters/bodyoptionality/aio/operations/_operations.py b/packages/typespec-python/test/azure/generated/parameters-body-optionality/parameters/bodyoptionality/aio/operations/_operations.py index 4c81b5e4d61..b366e0316d2 100644 --- a/packages/typespec-python/test/azure/generated/parameters-body-optionality/parameters/bodyoptionality/aio/operations/_operations.py +++ b/packages/typespec-python/test/azure/generated/parameters-body-optionality/parameters/bodyoptionality/aio/operations/_operations.py @@ -379,11 +379,11 @@ async def required_explicit(self, body: Union[_models.BodyModel, JSON, IO[bytes] return cls(pipeline_response, None, {}) # type: ignore @overload - async def required_implicit(self, body: JSON, *, content_type: str = "application/json", **kwargs: Any) -> None: + async def required_implicit(self, *, name: str, content_type: str = "application/json", **kwargs: Any) -> None: """required_implicit. - :param body: Required. - :type body: JSON + :keyword name: Required. + :paramtype name: str :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. Default value is "application/json". :paramtype content_type: str @@ -393,11 +393,11 @@ async def required_implicit(self, body: JSON, *, content_type: str = "applicatio """ @overload - async def required_implicit(self, *, name: str, content_type: str = "application/json", **kwargs: Any) -> None: + async def required_implicit(self, body: JSON, *, content_type: str = "application/json", **kwargs: Any) -> None: """required_implicit. - :keyword name: Required. - :paramtype name: str + :param body: Required. + :type body: JSON :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. Default value is "application/json". :paramtype content_type: str diff --git a/packages/typespec-python/test/azure/generated/parameters-body-optionality/parameters/bodyoptionality/operations/_operations.py b/packages/typespec-python/test/azure/generated/parameters-body-optionality/parameters/bodyoptionality/operations/_operations.py index 8165372b380..b303047b25e 100644 --- a/packages/typespec-python/test/azure/generated/parameters-body-optionality/parameters/bodyoptionality/operations/_operations.py +++ b/packages/typespec-python/test/azure/generated/parameters-body-optionality/parameters/bodyoptionality/operations/_operations.py @@ -432,11 +432,11 @@ def required_explicit( # pylint: disable=inconsistent-return-statements return cls(pipeline_response, None, {}) # type: ignore @overload - def required_implicit(self, body: JSON, *, content_type: str = "application/json", **kwargs: Any) -> None: + def required_implicit(self, *, name: str, content_type: str = "application/json", **kwargs: Any) -> None: """required_implicit. - :param body: Required. - :type body: JSON + :keyword name: Required. + :paramtype name: str :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. Default value is "application/json". :paramtype content_type: str @@ -446,11 +446,11 @@ def required_implicit(self, body: JSON, *, content_type: str = "application/json """ @overload - def required_implicit(self, *, name: str, content_type: str = "application/json", **kwargs: Any) -> None: + def required_implicit(self, body: JSON, *, content_type: str = "application/json", **kwargs: Any) -> None: """required_implicit. - :keyword name: Required. - :paramtype name: str + :param body: Required. + :type body: JSON :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. Default value is "application/json". :paramtype content_type: str diff --git a/packages/typespec-python/test/azure/generated/parameters-spread/parameters/spread/aio/operations/_operations.py b/packages/typespec-python/test/azure/generated/parameters-spread/parameters/spread/aio/operations/_operations.py index c1bbb6e8df8..8735d72abf0 100644 --- a/packages/typespec-python/test/azure/generated/parameters-spread/parameters/spread/aio/operations/_operations.py +++ b/packages/typespec-python/test/azure/generated/parameters-spread/parameters/spread/aio/operations/_operations.py @@ -70,13 +70,11 @@ def __init__(self, *args, **kwargs) -> None: self._deserialize: Deserializer = input_args.pop(0) if input_args else kwargs.pop("deserializer") @overload - async def spread_as_request_body( - self, body: JSON, *, content_type: str = "application/json", **kwargs: Any - ) -> None: + async def spread_as_request_body(self, *, name: str, content_type: str = "application/json", **kwargs: Any) -> None: """spread_as_request_body. - :param body: Required. - :type body: JSON + :keyword name: Required. + :paramtype name: str :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. Default value is "application/json". :paramtype content_type: str @@ -86,11 +84,13 @@ async def spread_as_request_body( """ @overload - async def spread_as_request_body(self, *, name: str, content_type: str = "application/json", **kwargs: Any) -> None: + async def spread_as_request_body( + self, body: JSON, *, content_type: str = "application/json", **kwargs: Any + ) -> None: """spread_as_request_body. - :keyword name: Required. - :paramtype name: str + :param body: Required. + :type body: JSON :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. Default value is "application/json". :paramtype content_type: str @@ -468,16 +468,16 @@ async def spread_composite_request( @overload async def spread_composite_request_mix( - self, name: str, body: JSON, *, test_header: str, content_type: str = "application/json", **kwargs: Any + self, name: str, *, test_header: str, prop: str, content_type: str = "application/json", **kwargs: Any ) -> None: """spread_composite_request_mix. :param name: Required. :type name: str - :param body: Required. - :type body: JSON :keyword test_header: Required. :paramtype test_header: str + :keyword prop: Required. + :paramtype prop: str :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. Default value is "application/json". :paramtype content_type: str @@ -488,16 +488,16 @@ async def spread_composite_request_mix( @overload async def spread_composite_request_mix( - self, name: str, *, test_header: str, prop: str, content_type: str = "application/json", **kwargs: Any + self, name: str, body: JSON, *, test_header: str, content_type: str = "application/json", **kwargs: Any ) -> None: """spread_composite_request_mix. :param name: Required. :type name: str + :param body: Required. + :type body: JSON :keyword test_header: Required. :paramtype test_header: str - :keyword prop: Required. - :paramtype prop: str :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. Default value is "application/json". :paramtype content_type: str @@ -616,13 +616,11 @@ def __init__(self, *args, **kwargs) -> None: self._deserialize: Deserializer = input_args.pop(0) if input_args else kwargs.pop("deserializer") @overload - async def spread_as_request_body( - self, body: JSON, *, content_type: str = "application/json", **kwargs: Any - ) -> None: + async def spread_as_request_body(self, *, name: str, content_type: str = "application/json", **kwargs: Any) -> None: """spread_as_request_body. - :param body: Required. - :type body: JSON + :keyword name: Required. + :paramtype name: str :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. Default value is "application/json". :paramtype content_type: str @@ -632,11 +630,13 @@ async def spread_as_request_body( """ @overload - async def spread_as_request_body(self, *, name: str, content_type: str = "application/json", **kwargs: Any) -> None: + async def spread_as_request_body( + self, body: JSON, *, content_type: str = "application/json", **kwargs: Any + ) -> None: """spread_as_request_body. - :keyword name: Required. - :paramtype name: str + :param body: Required. + :type body: JSON :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. Default value is "application/json". :paramtype content_type: str @@ -728,16 +728,16 @@ async def spread_as_request_body( @overload async def spread_parameter_with_inner_model( - self, id: str, body: JSON, *, x_ms_test_header: str, content_type: str = "application/json", **kwargs: Any + self, id: str, *, x_ms_test_header: str, name: str, content_type: str = "application/json", **kwargs: Any ) -> None: """spread_parameter_with_inner_model. :param id: Required. :type id: str - :param body: Required. - :type body: JSON :keyword x_ms_test_header: Required. :paramtype x_ms_test_header: str + :keyword name: Required. + :paramtype name: str :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. Default value is "application/json". :paramtype content_type: str @@ -748,16 +748,16 @@ async def spread_parameter_with_inner_model( @overload async def spread_parameter_with_inner_model( - self, id: str, *, x_ms_test_header: str, name: str, content_type: str = "application/json", **kwargs: Any + self, id: str, body: JSON, *, x_ms_test_header: str, content_type: str = "application/json", **kwargs: Any ) -> None: """spread_parameter_with_inner_model. :param id: Required. :type id: str + :param body: Required. + :type body: JSON :keyword x_ms_test_header: Required. :paramtype x_ms_test_header: str - :keyword name: Required. - :paramtype name: str :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. Default value is "application/json". :paramtype content_type: str @@ -865,16 +865,16 @@ async def spread_parameter_with_inner_model( @overload async def spread_as_request_parameter( - self, id: str, body: JSON, *, x_ms_test_header: str, content_type: str = "application/json", **kwargs: Any + self, id: str, *, x_ms_test_header: str, name: str, content_type: str = "application/json", **kwargs: Any ) -> None: """spread_as_request_parameter. :param id: Required. :type id: str - :param body: Required. - :type body: JSON :keyword x_ms_test_header: Required. :paramtype x_ms_test_header: str + :keyword name: Required. + :paramtype name: str :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. Default value is "application/json". :paramtype content_type: str @@ -885,16 +885,16 @@ async def spread_as_request_parameter( @overload async def spread_as_request_parameter( - self, id: str, *, x_ms_test_header: str, name: str, content_type: str = "application/json", **kwargs: Any + self, id: str, body: JSON, *, x_ms_test_header: str, content_type: str = "application/json", **kwargs: Any ) -> None: """spread_as_request_parameter. :param id: Required. :type id: str + :param body: Required. + :type body: JSON :keyword x_ms_test_header: Required. :paramtype x_ms_test_header: str - :keyword name: Required. - :paramtype name: str :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. Default value is "application/json". :paramtype content_type: str @@ -1000,26 +1000,6 @@ async def spread_as_request_parameter( if cls: return cls(pipeline_response, None, {}) # type: ignore - @overload - async def spread_with_multiple_parameters( - self, id: str, body: JSON, *, x_ms_test_header: str, content_type: str = "application/json", **kwargs: Any - ) -> None: - """spread_with_multiple_parameters. - - :param id: Required. - :type id: str - :param body: Required. - :type body: JSON - :keyword x_ms_test_header: Required. - :paramtype x_ms_test_header: str - :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. - Default value is "application/json". - :paramtype content_type: str - :return: None - :rtype: None - :raises ~azure.core.exceptions.HttpResponseError: - """ - @overload async def spread_with_multiple_parameters( self, @@ -1055,6 +1035,26 @@ async def spread_with_multiple_parameters( :raises ~azure.core.exceptions.HttpResponseError: """ + @overload + async def spread_with_multiple_parameters( + self, id: str, body: JSON, *, x_ms_test_header: str, content_type: str = "application/json", **kwargs: Any + ) -> None: + """spread_with_multiple_parameters. + + :param id: Required. + :type id: str + :param body: Required. + :type body: JSON + :keyword x_ms_test_header: Required. + :paramtype x_ms_test_header: str + :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. + Default value is "application/json". + :paramtype content_type: str + :return: None + :rtype: None + :raises ~azure.core.exceptions.HttpResponseError: + """ + @overload async def spread_with_multiple_parameters( self, id: str, body: IO[bytes], *, x_ms_test_header: str, content_type: str = "application/json", **kwargs: Any @@ -1170,16 +1170,25 @@ async def spread_with_multiple_parameters( @overload async def spread_parameter_with_inner_alias( - self, id: str, body: JSON, *, x_ms_test_header: str, content_type: str = "application/json", **kwargs: Any + self, + id: str, + *, + x_ms_test_header: str, + name: str, + age: int, + content_type: str = "application/json", + **kwargs: Any ) -> None: """spread an alias with contains another alias property as body. :param id: Required. :type id: str - :param body: Required. - :type body: JSON :keyword x_ms_test_header: Required. :paramtype x_ms_test_header: str + :keyword name: name of the Thing. Required. + :paramtype name: str + :keyword age: age of the Thing. Required. + :paramtype age: int :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. Default value is "application/json". :paramtype content_type: str @@ -1190,25 +1199,16 @@ async def spread_parameter_with_inner_alias( @overload async def spread_parameter_with_inner_alias( - self, - id: str, - *, - x_ms_test_header: str, - name: str, - age: int, - content_type: str = "application/json", - **kwargs: Any + self, id: str, body: JSON, *, x_ms_test_header: str, content_type: str = "application/json", **kwargs: Any ) -> None: """spread an alias with contains another alias property as body. :param id: Required. :type id: str + :param body: Required. + :type body: JSON :keyword x_ms_test_header: Required. :paramtype x_ms_test_header: str - :keyword name: name of the Thing. Required. - :paramtype name: str - :keyword age: age of the Thing. Required. - :paramtype age: int :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. Default value is "application/json". :paramtype content_type: str diff --git a/packages/typespec-python/test/azure/generated/parameters-spread/parameters/spread/operations/_operations.py b/packages/typespec-python/test/azure/generated/parameters-spread/parameters/spread/operations/_operations.py index b63a2c0712f..87b43ee0b46 100644 --- a/packages/typespec-python/test/azure/generated/parameters-spread/parameters/spread/operations/_operations.py +++ b/packages/typespec-python/test/azure/generated/parameters-spread/parameters/spread/operations/_operations.py @@ -256,11 +256,11 @@ def __init__(self, *args, **kwargs): self._deserialize: Deserializer = input_args.pop(0) if input_args else kwargs.pop("deserializer") @overload - def spread_as_request_body(self, body: JSON, *, content_type: str = "application/json", **kwargs: Any) -> None: + def spread_as_request_body(self, *, name: str, content_type: str = "application/json", **kwargs: Any) -> None: """spread_as_request_body. - :param body: Required. - :type body: JSON + :keyword name: Required. + :paramtype name: str :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. Default value is "application/json". :paramtype content_type: str @@ -270,11 +270,11 @@ def spread_as_request_body(self, body: JSON, *, content_type: str = "application """ @overload - def spread_as_request_body(self, *, name: str, content_type: str = "application/json", **kwargs: Any) -> None: + def spread_as_request_body(self, body: JSON, *, content_type: str = "application/json", **kwargs: Any) -> None: """spread_as_request_body. - :keyword name: Required. - :paramtype name: str + :param body: Required. + :type body: JSON :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. Default value is "application/json". :paramtype content_type: str @@ -652,16 +652,16 @@ def spread_composite_request( # pylint: disable=inconsistent-return-statements @overload def spread_composite_request_mix( - self, name: str, body: JSON, *, test_header: str, content_type: str = "application/json", **kwargs: Any + self, name: str, *, test_header: str, prop: str, content_type: str = "application/json", **kwargs: Any ) -> None: """spread_composite_request_mix. :param name: Required. :type name: str - :param body: Required. - :type body: JSON :keyword test_header: Required. :paramtype test_header: str + :keyword prop: Required. + :paramtype prop: str :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. Default value is "application/json". :paramtype content_type: str @@ -672,16 +672,16 @@ def spread_composite_request_mix( @overload def spread_composite_request_mix( - self, name: str, *, test_header: str, prop: str, content_type: str = "application/json", **kwargs: Any + self, name: str, body: JSON, *, test_header: str, content_type: str = "application/json", **kwargs: Any ) -> None: """spread_composite_request_mix. :param name: Required. :type name: str + :param body: Required. + :type body: JSON :keyword test_header: Required. :paramtype test_header: str - :keyword prop: Required. - :paramtype prop: str :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. Default value is "application/json". :paramtype content_type: str @@ -800,11 +800,11 @@ def __init__(self, *args, **kwargs): self._deserialize: Deserializer = input_args.pop(0) if input_args else kwargs.pop("deserializer") @overload - def spread_as_request_body(self, body: JSON, *, content_type: str = "application/json", **kwargs: Any) -> None: + def spread_as_request_body(self, *, name: str, content_type: str = "application/json", **kwargs: Any) -> None: """spread_as_request_body. - :param body: Required. - :type body: JSON + :keyword name: Required. + :paramtype name: str :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. Default value is "application/json". :paramtype content_type: str @@ -814,11 +814,11 @@ def spread_as_request_body(self, body: JSON, *, content_type: str = "application """ @overload - def spread_as_request_body(self, *, name: str, content_type: str = "application/json", **kwargs: Any) -> None: + def spread_as_request_body(self, body: JSON, *, content_type: str = "application/json", **kwargs: Any) -> None: """spread_as_request_body. - :keyword name: Required. - :paramtype name: str + :param body: Required. + :type body: JSON :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. Default value is "application/json". :paramtype content_type: str @@ -908,16 +908,16 @@ def spread_as_request_body( # pylint: disable=inconsistent-return-statements @overload def spread_parameter_with_inner_model( - self, id: str, body: JSON, *, x_ms_test_header: str, content_type: str = "application/json", **kwargs: Any + self, id: str, *, x_ms_test_header: str, name: str, content_type: str = "application/json", **kwargs: Any ) -> None: """spread_parameter_with_inner_model. :param id: Required. :type id: str - :param body: Required. - :type body: JSON :keyword x_ms_test_header: Required. :paramtype x_ms_test_header: str + :keyword name: Required. + :paramtype name: str :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. Default value is "application/json". :paramtype content_type: str @@ -928,16 +928,16 @@ def spread_parameter_with_inner_model( @overload def spread_parameter_with_inner_model( - self, id: str, *, x_ms_test_header: str, name: str, content_type: str = "application/json", **kwargs: Any + self, id: str, body: JSON, *, x_ms_test_header: str, content_type: str = "application/json", **kwargs: Any ) -> None: """spread_parameter_with_inner_model. :param id: Required. :type id: str + :param body: Required. + :type body: JSON :keyword x_ms_test_header: Required. :paramtype x_ms_test_header: str - :keyword name: Required. - :paramtype name: str :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. Default value is "application/json". :paramtype content_type: str @@ -1045,16 +1045,16 @@ def spread_parameter_with_inner_model( # pylint: disable=inconsistent-return-st @overload def spread_as_request_parameter( - self, id: str, body: JSON, *, x_ms_test_header: str, content_type: str = "application/json", **kwargs: Any + self, id: str, *, x_ms_test_header: str, name: str, content_type: str = "application/json", **kwargs: Any ) -> None: """spread_as_request_parameter. :param id: Required. :type id: str - :param body: Required. - :type body: JSON :keyword x_ms_test_header: Required. :paramtype x_ms_test_header: str + :keyword name: Required. + :paramtype name: str :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. Default value is "application/json". :paramtype content_type: str @@ -1065,16 +1065,16 @@ def spread_as_request_parameter( @overload def spread_as_request_parameter( - self, id: str, *, x_ms_test_header: str, name: str, content_type: str = "application/json", **kwargs: Any + self, id: str, body: JSON, *, x_ms_test_header: str, content_type: str = "application/json", **kwargs: Any ) -> None: """spread_as_request_parameter. :param id: Required. :type id: str + :param body: Required. + :type body: JSON :keyword x_ms_test_header: Required. :paramtype x_ms_test_header: str - :keyword name: Required. - :paramtype name: str :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. Default value is "application/json". :paramtype content_type: str @@ -1180,26 +1180,6 @@ def spread_as_request_parameter( # pylint: disable=inconsistent-return-statemen if cls: return cls(pipeline_response, None, {}) # type: ignore - @overload - def spread_with_multiple_parameters( - self, id: str, body: JSON, *, x_ms_test_header: str, content_type: str = "application/json", **kwargs: Any - ) -> None: - """spread_with_multiple_parameters. - - :param id: Required. - :type id: str - :param body: Required. - :type body: JSON - :keyword x_ms_test_header: Required. - :paramtype x_ms_test_header: str - :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. - Default value is "application/json". - :paramtype content_type: str - :return: None - :rtype: None - :raises ~azure.core.exceptions.HttpResponseError: - """ - @overload def spread_with_multiple_parameters( self, @@ -1235,6 +1215,26 @@ def spread_with_multiple_parameters( :raises ~azure.core.exceptions.HttpResponseError: """ + @overload + def spread_with_multiple_parameters( + self, id: str, body: JSON, *, x_ms_test_header: str, content_type: str = "application/json", **kwargs: Any + ) -> None: + """spread_with_multiple_parameters. + + :param id: Required. + :type id: str + :param body: Required. + :type body: JSON + :keyword x_ms_test_header: Required. + :paramtype x_ms_test_header: str + :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. + Default value is "application/json". + :paramtype content_type: str + :return: None + :rtype: None + :raises ~azure.core.exceptions.HttpResponseError: + """ + @overload def spread_with_multiple_parameters( self, id: str, body: IO[bytes], *, x_ms_test_header: str, content_type: str = "application/json", **kwargs: Any @@ -1350,16 +1350,25 @@ def spread_with_multiple_parameters( # pylint: disable=inconsistent-return-stat @overload def spread_parameter_with_inner_alias( - self, id: str, body: JSON, *, x_ms_test_header: str, content_type: str = "application/json", **kwargs: Any + self, + id: str, + *, + x_ms_test_header: str, + name: str, + age: int, + content_type: str = "application/json", + **kwargs: Any, ) -> None: """spread an alias with contains another alias property as body. :param id: Required. :type id: str - :param body: Required. - :type body: JSON :keyword x_ms_test_header: Required. :paramtype x_ms_test_header: str + :keyword name: name of the Thing. Required. + :paramtype name: str + :keyword age: age of the Thing. Required. + :paramtype age: int :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. Default value is "application/json". :paramtype content_type: str @@ -1370,25 +1379,16 @@ def spread_parameter_with_inner_alias( @overload def spread_parameter_with_inner_alias( - self, - id: str, - *, - x_ms_test_header: str, - name: str, - age: int, - content_type: str = "application/json", - **kwargs: Any, + self, id: str, body: JSON, *, x_ms_test_header: str, content_type: str = "application/json", **kwargs: Any ) -> None: """spread an alias with contains another alias property as body. :param id: Required. :type id: str + :param body: Required. + :type body: JSON :keyword x_ms_test_header: Required. :paramtype x_ms_test_header: str - :keyword name: name of the Thing. Required. - :paramtype name: str - :keyword age: age of the Thing. Required. - :paramtype age: int :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. Default value is "application/json". :paramtype content_type: str diff --git a/packages/typespec-python/test/azure/generated/payload-multipart/payload/multipart/aio/operations/_operations.py b/packages/typespec-python/test/azure/generated/payload-multipart/payload/multipart/aio/operations/_operations.py index 56536b61ee6..b0dfe05e146 100644 --- a/packages/typespec-python/test/azure/generated/payload-multipart/payload/multipart/aio/operations/_operations.py +++ b/packages/typespec-python/test/azure/generated/payload-multipart/payload/multipart/aio/operations/_operations.py @@ -523,22 +523,22 @@ async def check_file_name_and_content_type( return cls(pipeline_response, None, {}) # type: ignore @overload - async def anonymous_model(self, body: JSON, **kwargs: Any) -> None: + async def anonymous_model(self, *, profile_image: FileType, **kwargs: Any) -> None: """Test content-type: multipart/form-data. - :param body: Required. - :type body: JSON + :keyword profile_image: Required. + :paramtype profile_image: ~payload.multipart._vendor.FileType :return: None :rtype: None :raises ~azure.core.exceptions.HttpResponseError: """ @overload - async def anonymous_model(self, *, profile_image: FileType, **kwargs: Any) -> None: + async def anonymous_model(self, body: JSON, **kwargs: Any) -> None: """Test content-type: multipart/form-data. - :keyword profile_image: Required. - :paramtype profile_image: ~payload.multipart._vendor.FileType + :param body: Required. + :type body: JSON :return: None :rtype: None :raises ~azure.core.exceptions.HttpResponseError: diff --git a/packages/typespec-python/test/azure/generated/payload-multipart/payload/multipart/operations/_operations.py b/packages/typespec-python/test/azure/generated/payload-multipart/payload/multipart/operations/_operations.py index e44aaaa2aec..138e8d8a73b 100644 --- a/packages/typespec-python/test/azure/generated/payload-multipart/payload/multipart/operations/_operations.py +++ b/packages/typespec-python/test/azure/generated/payload-multipart/payload/multipart/operations/_operations.py @@ -641,22 +641,22 @@ def check_file_name_and_content_type( # pylint: disable=inconsistent-return-sta return cls(pipeline_response, None, {}) # type: ignore @overload - def anonymous_model(self, body: JSON, **kwargs: Any) -> None: + def anonymous_model(self, *, profile_image: FileType, **kwargs: Any) -> None: """Test content-type: multipart/form-data. - :param body: Required. - :type body: JSON + :keyword profile_image: Required. + :paramtype profile_image: ~payload.multipart._vendor.FileType :return: None :rtype: None :raises ~azure.core.exceptions.HttpResponseError: """ @overload - def anonymous_model(self, *, profile_image: FileType, **kwargs: Any) -> None: + def anonymous_model(self, body: JSON, **kwargs: Any) -> None: """Test content-type: multipart/form-data. - :keyword profile_image: Required. - :paramtype profile_image: ~payload.multipart._vendor.FileType + :param body: Required. + :type body: JSON :return: None :rtype: None :raises ~azure.core.exceptions.HttpResponseError: diff --git a/packages/typespec-python/test/azure/generated/typetest-union/typetest/union/aio/operations/_operations.py b/packages/typespec-python/test/azure/generated/typetest-union/typetest/union/aio/operations/_operations.py index e6946e2da17..974dc9d1b10 100644 --- a/packages/typespec-python/test/azure/generated/typetest-union/typetest/union/aio/operations/_operations.py +++ b/packages/typespec-python/test/azure/generated/typetest-union/typetest/union/aio/operations/_operations.py @@ -138,11 +138,14 @@ async def get(self, **kwargs: Any) -> _models.GetResponse9: return deserialized # type: ignore @overload - async def send(self, body: JSON, *, content_type: str = "application/json", **kwargs: Any) -> None: + async def send( + self, *, prop: Literal["a", "b", "c"], content_type: str = "application/json", **kwargs: Any + ) -> None: """send. - :param body: Required. - :type body: JSON + :keyword prop: Is one of the following types: Literal["a"], Literal["b"], Literal["c"] + Required. + :paramtype prop: str or str or str :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. Default value is "application/json". :paramtype content_type: str @@ -152,14 +155,11 @@ async def send(self, body: JSON, *, content_type: str = "application/json", **kw """ @overload - async def send( - self, *, prop: Literal["a", "b", "c"], content_type: str = "application/json", **kwargs: Any - ) -> None: + async def send(self, body: JSON, *, content_type: str = "application/json", **kwargs: Any) -> None: """send. - :keyword prop: Is one of the following types: Literal["a"], Literal["b"], Literal["c"] - Required. - :paramtype prop: str or str or str + :param body: Required. + :type body: JSON :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. Default value is "application/json". :paramtype content_type: str @@ -323,11 +323,13 @@ async def get(self, **kwargs: Any) -> _models.GetResponse8: return deserialized # type: ignore @overload - async def send(self, body: JSON, *, content_type: str = "application/json", **kwargs: Any) -> None: + async def send( + self, *, prop: Union[Literal["b"], Literal["c"], str], content_type: str = "application/json", **kwargs: Any + ) -> None: """send. - :param body: Required. - :type body: JSON + :keyword prop: Is one of the following types: Literal["b"], Literal["c"], str Required. + :paramtype prop: str or str or str :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. Default value is "application/json". :paramtype content_type: str @@ -337,13 +339,11 @@ async def send(self, body: JSON, *, content_type: str = "application/json", **kw """ @overload - async def send( - self, *, prop: Union[Literal["b"], Literal["c"], str], content_type: str = "application/json", **kwargs: Any - ) -> None: + async def send(self, body: JSON, *, content_type: str = "application/json", **kwargs: Any) -> None: """send. - :keyword prop: Is one of the following types: Literal["b"], Literal["c"], str Required. - :paramtype prop: str or str or str + :param body: Required. + :type body: JSON :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. Default value is "application/json". :paramtype content_type: str @@ -510,11 +510,17 @@ async def get(self, **kwargs: Any) -> _models.GetResponse7: return deserialized # type: ignore @overload - async def send(self, body: JSON, *, content_type: str = "application/json", **kwargs: Any) -> None: + async def send( + self, + *, + prop: Union[str, _models.StringExtensibleNamedUnion], + content_type: str = "application/json", + **kwargs: Any + ) -> None: """send. - :param body: Required. - :type body: JSON + :keyword prop: Known values are: "b" and "c". Required. + :paramtype prop: str or ~typetest.union.models.StringExtensibleNamedUnion :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. Default value is "application/json". :paramtype content_type: str @@ -524,17 +530,11 @@ async def send(self, body: JSON, *, content_type: str = "application/json", **kw """ @overload - async def send( - self, - *, - prop: Union[str, _models.StringExtensibleNamedUnion], - content_type: str = "application/json", - **kwargs: Any - ) -> None: + async def send(self, body: JSON, *, content_type: str = "application/json", **kwargs: Any) -> None: """send. - :keyword prop: Known values are: "b" and "c". Required. - :paramtype prop: str or ~typetest.union.models.StringExtensibleNamedUnion + :param body: Required. + :type body: JSON :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. Default value is "application/json". :paramtype content_type: str @@ -701,11 +701,11 @@ async def get(self, **kwargs: Any) -> _models.GetResponse6: return deserialized # type: ignore @overload - async def send(self, body: JSON, *, content_type: str = "application/json", **kwargs: Any) -> None: + async def send(self, *, prop: Literal[1, 2, 3], content_type: str = "application/json", **kwargs: Any) -> None: """send. - :param body: Required. - :type body: JSON + :keyword prop: Is one of the following types: Literal[1], Literal[2], Literal[3] Required. + :paramtype prop: int or int or int :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. Default value is "application/json". :paramtype content_type: str @@ -715,11 +715,11 @@ async def send(self, body: JSON, *, content_type: str = "application/json", **kw """ @overload - async def send(self, *, prop: Literal[1, 2, 3], content_type: str = "application/json", **kwargs: Any) -> None: + async def send(self, body: JSON, *, content_type: str = "application/json", **kwargs: Any) -> None: """send. - :keyword prop: Is one of the following types: Literal[1], Literal[2], Literal[3] Required. - :paramtype prop: int or int or int + :param body: Required. + :type body: JSON :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. Default value is "application/json". :paramtype content_type: str @@ -882,11 +882,11 @@ async def get(self, **kwargs: Any) -> _models.GetResponse5: return deserialized # type: ignore @overload - async def send(self, body: JSON, *, content_type: str = "application/json", **kwargs: Any) -> None: + async def send(self, *, prop: float, content_type: str = "application/json", **kwargs: Any) -> None: """send. - :param body: Required. - :type body: JSON + :keyword prop: Is one of the following types: float Required. + :paramtype prop: float or float or float :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. Default value is "application/json". :paramtype content_type: str @@ -896,11 +896,11 @@ async def send(self, body: JSON, *, content_type: str = "application/json", **kw """ @overload - async def send(self, *, prop: float, content_type: str = "application/json", **kwargs: Any) -> None: + async def send(self, body: JSON, *, content_type: str = "application/json", **kwargs: Any) -> None: """send. - :keyword prop: Is one of the following types: float Required. - :paramtype prop: float or float or float + :param body: Required. + :type body: JSON :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. Default value is "application/json". :paramtype content_type: str @@ -1061,11 +1061,13 @@ async def get(self, **kwargs: Any) -> _models.GetResponse4: return deserialized # type: ignore @overload - async def send(self, body: JSON, *, content_type: str = "application/json", **kwargs: Any) -> None: + async def send( + self, *, prop: Union[_models.Cat, _models.Dog], content_type: str = "application/json", **kwargs: Any + ) -> None: """send. - :param body: Required. - :type body: JSON + :keyword prop: Is either a Cat type or a Dog type. Required. + :paramtype prop: ~typetest.union.models.Cat or ~typetest.union.models.Dog :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. Default value is "application/json". :paramtype content_type: str @@ -1075,13 +1077,11 @@ async def send(self, body: JSON, *, content_type: str = "application/json", **kw """ @overload - async def send( - self, *, prop: Union[_models.Cat, _models.Dog], content_type: str = "application/json", **kwargs: Any - ) -> None: + async def send(self, body: JSON, *, content_type: str = "application/json", **kwargs: Any) -> None: """send. - :keyword prop: Is either a Cat type or a Dog type. Required. - :paramtype prop: ~typetest.union.models.Cat or ~typetest.union.models.Dog + :param body: Required. + :type body: JSON :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. Default value is "application/json". :paramtype content_type: str @@ -1244,11 +1244,13 @@ async def get(self, **kwargs: Any) -> _models.GetResponse3: return deserialized # type: ignore @overload - async def send(self, body: JSON, *, content_type: str = "application/json", **kwargs: Any) -> None: + async def send( + self, *, prop: _models.EnumsOnlyCases, content_type: str = "application/json", **kwargs: Any + ) -> None: """send. - :param body: Required. - :type body: JSON + :keyword prop: Required. + :paramtype prop: ~typetest.union.models.EnumsOnlyCases :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. Default value is "application/json". :paramtype content_type: str @@ -1258,13 +1260,11 @@ async def send(self, body: JSON, *, content_type: str = "application/json", **kw """ @overload - async def send( - self, *, prop: _models.EnumsOnlyCases, content_type: str = "application/json", **kwargs: Any - ) -> None: + async def send(self, body: JSON, *, content_type: str = "application/json", **kwargs: Any) -> None: """send. - :keyword prop: Required. - :paramtype prop: ~typetest.union.models.EnumsOnlyCases + :param body: Required. + :type body: JSON :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. Default value is "application/json". :paramtype content_type: str @@ -1427,11 +1427,13 @@ async def get(self, **kwargs: Any) -> _models.GetResponse2: return deserialized # type: ignore @overload - async def send(self, body: JSON, *, content_type: str = "application/json", **kwargs: Any) -> None: + async def send( + self, *, prop: _models.StringAndArrayCases, content_type: str = "application/json", **kwargs: Any + ) -> None: """send. - :param body: Required. - :type body: JSON + :keyword prop: Required. + :paramtype prop: ~typetest.union.models.StringAndArrayCases :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. Default value is "application/json". :paramtype content_type: str @@ -1441,13 +1443,11 @@ async def send(self, body: JSON, *, content_type: str = "application/json", **kw """ @overload - async def send( - self, *, prop: _models.StringAndArrayCases, content_type: str = "application/json", **kwargs: Any - ) -> None: + async def send(self, body: JSON, *, content_type: str = "application/json", **kwargs: Any) -> None: """send. - :keyword prop: Required. - :paramtype prop: ~typetest.union.models.StringAndArrayCases + :param body: Required. + :type body: JSON :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. Default value is "application/json". :paramtype content_type: str @@ -1610,11 +1610,13 @@ async def get(self, **kwargs: Any) -> _models.GetResponse1: return deserialized # type: ignore @overload - async def send(self, body: JSON, *, content_type: str = "application/json", **kwargs: Any) -> None: + async def send( + self, *, prop: _models.MixedLiteralsCases, content_type: str = "application/json", **kwargs: Any + ) -> None: """send. - :param body: Required. - :type body: JSON + :keyword prop: Required. + :paramtype prop: ~typetest.union.models.MixedLiteralsCases :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. Default value is "application/json". :paramtype content_type: str @@ -1624,13 +1626,11 @@ async def send(self, body: JSON, *, content_type: str = "application/json", **kw """ @overload - async def send( - self, *, prop: _models.MixedLiteralsCases, content_type: str = "application/json", **kwargs: Any - ) -> None: + async def send(self, body: JSON, *, content_type: str = "application/json", **kwargs: Any) -> None: """send. - :keyword prop: Required. - :paramtype prop: ~typetest.union.models.MixedLiteralsCases + :param body: Required. + :type body: JSON :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. Default value is "application/json". :paramtype content_type: str @@ -1793,11 +1793,13 @@ async def get(self, **kwargs: Any) -> _models.GetResponse: return deserialized # type: ignore @overload - async def send(self, body: JSON, *, content_type: str = "application/json", **kwargs: Any) -> None: + async def send( + self, *, prop: _models.MixedTypesCases, content_type: str = "application/json", **kwargs: Any + ) -> None: """send. - :param body: Required. - :type body: JSON + :keyword prop: Required. + :paramtype prop: ~typetest.union.models.MixedTypesCases :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. Default value is "application/json". :paramtype content_type: str @@ -1807,13 +1809,11 @@ async def send(self, body: JSON, *, content_type: str = "application/json", **kw """ @overload - async def send( - self, *, prop: _models.MixedTypesCases, content_type: str = "application/json", **kwargs: Any - ) -> None: + async def send(self, body: JSON, *, content_type: str = "application/json", **kwargs: Any) -> None: """send. - :keyword prop: Required. - :paramtype prop: ~typetest.union.models.MixedTypesCases + :param body: Required. + :type body: JSON :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. Default value is "application/json". :paramtype content_type: str diff --git a/packages/typespec-python/test/azure/generated/typetest-union/typetest/union/operations/_operations.py b/packages/typespec-python/test/azure/generated/typetest-union/typetest/union/operations/_operations.py index bd75d7365c5..34efe0563d6 100644 --- a/packages/typespec-python/test/azure/generated/typetest-union/typetest/union/operations/_operations.py +++ b/packages/typespec-python/test/azure/generated/typetest-union/typetest/union/operations/_operations.py @@ -399,11 +399,12 @@ def get(self, **kwargs: Any) -> _models.GetResponse9: return deserialized # type: ignore @overload - def send(self, body: JSON, *, content_type: str = "application/json", **kwargs: Any) -> None: + def send(self, *, prop: Literal["a", "b", "c"], content_type: str = "application/json", **kwargs: Any) -> None: """send. - :param body: Required. - :type body: JSON + :keyword prop: Is one of the following types: Literal["a"], Literal["b"], Literal["c"] + Required. + :paramtype prop: str or str or str :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. Default value is "application/json". :paramtype content_type: str @@ -413,12 +414,11 @@ def send(self, body: JSON, *, content_type: str = "application/json", **kwargs: """ @overload - def send(self, *, prop: Literal["a", "b", "c"], content_type: str = "application/json", **kwargs: Any) -> None: + def send(self, body: JSON, *, content_type: str = "application/json", **kwargs: Any) -> None: """send. - :keyword prop: Is one of the following types: Literal["a"], Literal["b"], Literal["c"] - Required. - :paramtype prop: str or str or str + :param body: Required. + :type body: JSON :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. Default value is "application/json". :paramtype content_type: str @@ -582,11 +582,13 @@ def get(self, **kwargs: Any) -> _models.GetResponse8: return deserialized # type: ignore @overload - def send(self, body: JSON, *, content_type: str = "application/json", **kwargs: Any) -> None: + def send( + self, *, prop: Union[Literal["b"], Literal["c"], str], content_type: str = "application/json", **kwargs: Any + ) -> None: """send. - :param body: Required. - :type body: JSON + :keyword prop: Is one of the following types: Literal["b"], Literal["c"], str Required. + :paramtype prop: str or str or str :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. Default value is "application/json". :paramtype content_type: str @@ -596,13 +598,11 @@ def send(self, body: JSON, *, content_type: str = "application/json", **kwargs: """ @overload - def send( - self, *, prop: Union[Literal["b"], Literal["c"], str], content_type: str = "application/json", **kwargs: Any - ) -> None: + def send(self, body: JSON, *, content_type: str = "application/json", **kwargs: Any) -> None: """send. - :keyword prop: Is one of the following types: Literal["b"], Literal["c"], str Required. - :paramtype prop: str or str or str + :param body: Required. + :type body: JSON :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. Default value is "application/json". :paramtype content_type: str @@ -769,11 +769,17 @@ def get(self, **kwargs: Any) -> _models.GetResponse7: return deserialized # type: ignore @overload - def send(self, body: JSON, *, content_type: str = "application/json", **kwargs: Any) -> None: + def send( + self, + *, + prop: Union[str, _models.StringExtensibleNamedUnion], + content_type: str = "application/json", + **kwargs: Any + ) -> None: """send. - :param body: Required. - :type body: JSON + :keyword prop: Known values are: "b" and "c". Required. + :paramtype prop: str or ~typetest.union.models.StringExtensibleNamedUnion :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. Default value is "application/json". :paramtype content_type: str @@ -783,17 +789,11 @@ def send(self, body: JSON, *, content_type: str = "application/json", **kwargs: """ @overload - def send( - self, - *, - prop: Union[str, _models.StringExtensibleNamedUnion], - content_type: str = "application/json", - **kwargs: Any - ) -> None: + def send(self, body: JSON, *, content_type: str = "application/json", **kwargs: Any) -> None: """send. - :keyword prop: Known values are: "b" and "c". Required. - :paramtype prop: str or ~typetest.union.models.StringExtensibleNamedUnion + :param body: Required. + :type body: JSON :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. Default value is "application/json". :paramtype content_type: str @@ -960,11 +960,11 @@ def get(self, **kwargs: Any) -> _models.GetResponse6: return deserialized # type: ignore @overload - def send(self, body: JSON, *, content_type: str = "application/json", **kwargs: Any) -> None: + def send(self, *, prop: Literal[1, 2, 3], content_type: str = "application/json", **kwargs: Any) -> None: """send. - :param body: Required. - :type body: JSON + :keyword prop: Is one of the following types: Literal[1], Literal[2], Literal[3] Required. + :paramtype prop: int or int or int :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. Default value is "application/json". :paramtype content_type: str @@ -974,11 +974,11 @@ def send(self, body: JSON, *, content_type: str = "application/json", **kwargs: """ @overload - def send(self, *, prop: Literal[1, 2, 3], content_type: str = "application/json", **kwargs: Any) -> None: + def send(self, body: JSON, *, content_type: str = "application/json", **kwargs: Any) -> None: """send. - :keyword prop: Is one of the following types: Literal[1], Literal[2], Literal[3] Required. - :paramtype prop: int or int or int + :param body: Required. + :type body: JSON :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. Default value is "application/json". :paramtype content_type: str @@ -1141,11 +1141,11 @@ def get(self, **kwargs: Any) -> _models.GetResponse5: return deserialized # type: ignore @overload - def send(self, body: JSON, *, content_type: str = "application/json", **kwargs: Any) -> None: + def send(self, *, prop: float, content_type: str = "application/json", **kwargs: Any) -> None: """send. - :param body: Required. - :type body: JSON + :keyword prop: Is one of the following types: float Required. + :paramtype prop: float or float or float :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. Default value is "application/json". :paramtype content_type: str @@ -1155,11 +1155,11 @@ def send(self, body: JSON, *, content_type: str = "application/json", **kwargs: """ @overload - def send(self, *, prop: float, content_type: str = "application/json", **kwargs: Any) -> None: + def send(self, body: JSON, *, content_type: str = "application/json", **kwargs: Any) -> None: """send. - :keyword prop: Is one of the following types: float Required. - :paramtype prop: float or float or float + :param body: Required. + :type body: JSON :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. Default value is "application/json". :paramtype content_type: str @@ -1322,11 +1322,13 @@ def get(self, **kwargs: Any) -> _models.GetResponse4: return deserialized # type: ignore @overload - def send(self, body: JSON, *, content_type: str = "application/json", **kwargs: Any) -> None: + def send( + self, *, prop: Union[_models.Cat, _models.Dog], content_type: str = "application/json", **kwargs: Any + ) -> None: """send. - :param body: Required. - :type body: JSON + :keyword prop: Is either a Cat type or a Dog type. Required. + :paramtype prop: ~typetest.union.models.Cat or ~typetest.union.models.Dog :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. Default value is "application/json". :paramtype content_type: str @@ -1336,13 +1338,11 @@ def send(self, body: JSON, *, content_type: str = "application/json", **kwargs: """ @overload - def send( - self, *, prop: Union[_models.Cat, _models.Dog], content_type: str = "application/json", **kwargs: Any - ) -> None: + def send(self, body: JSON, *, content_type: str = "application/json", **kwargs: Any) -> None: """send. - :keyword prop: Is either a Cat type or a Dog type. Required. - :paramtype prop: ~typetest.union.models.Cat or ~typetest.union.models.Dog + :param body: Required. + :type body: JSON :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. Default value is "application/json". :paramtype content_type: str @@ -1505,11 +1505,11 @@ def get(self, **kwargs: Any) -> _models.GetResponse3: return deserialized # type: ignore @overload - def send(self, body: JSON, *, content_type: str = "application/json", **kwargs: Any) -> None: + def send(self, *, prop: _models.EnumsOnlyCases, content_type: str = "application/json", **kwargs: Any) -> None: """send. - :param body: Required. - :type body: JSON + :keyword prop: Required. + :paramtype prop: ~typetest.union.models.EnumsOnlyCases :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. Default value is "application/json". :paramtype content_type: str @@ -1519,11 +1519,11 @@ def send(self, body: JSON, *, content_type: str = "application/json", **kwargs: """ @overload - def send(self, *, prop: _models.EnumsOnlyCases, content_type: str = "application/json", **kwargs: Any) -> None: + def send(self, body: JSON, *, content_type: str = "application/json", **kwargs: Any) -> None: """send. - :keyword prop: Required. - :paramtype prop: ~typetest.union.models.EnumsOnlyCases + :param body: Required. + :type body: JSON :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. Default value is "application/json". :paramtype content_type: str @@ -1686,11 +1686,11 @@ def get(self, **kwargs: Any) -> _models.GetResponse2: return deserialized # type: ignore @overload - def send(self, body: JSON, *, content_type: str = "application/json", **kwargs: Any) -> None: + def send(self, *, prop: _models.StringAndArrayCases, content_type: str = "application/json", **kwargs: Any) -> None: """send. - :param body: Required. - :type body: JSON + :keyword prop: Required. + :paramtype prop: ~typetest.union.models.StringAndArrayCases :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. Default value is "application/json". :paramtype content_type: str @@ -1700,11 +1700,11 @@ def send(self, body: JSON, *, content_type: str = "application/json", **kwargs: """ @overload - def send(self, *, prop: _models.StringAndArrayCases, content_type: str = "application/json", **kwargs: Any) -> None: + def send(self, body: JSON, *, content_type: str = "application/json", **kwargs: Any) -> None: """send. - :keyword prop: Required. - :paramtype prop: ~typetest.union.models.StringAndArrayCases + :param body: Required. + :type body: JSON :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. Default value is "application/json". :paramtype content_type: str @@ -1867,11 +1867,11 @@ def get(self, **kwargs: Any) -> _models.GetResponse1: return deserialized # type: ignore @overload - def send(self, body: JSON, *, content_type: str = "application/json", **kwargs: Any) -> None: + def send(self, *, prop: _models.MixedLiteralsCases, content_type: str = "application/json", **kwargs: Any) -> None: """send. - :param body: Required. - :type body: JSON + :keyword prop: Required. + :paramtype prop: ~typetest.union.models.MixedLiteralsCases :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. Default value is "application/json". :paramtype content_type: str @@ -1881,11 +1881,11 @@ def send(self, body: JSON, *, content_type: str = "application/json", **kwargs: """ @overload - def send(self, *, prop: _models.MixedLiteralsCases, content_type: str = "application/json", **kwargs: Any) -> None: + def send(self, body: JSON, *, content_type: str = "application/json", **kwargs: Any) -> None: """send. - :keyword prop: Required. - :paramtype prop: ~typetest.union.models.MixedLiteralsCases + :param body: Required. + :type body: JSON :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. Default value is "application/json". :paramtype content_type: str @@ -2048,11 +2048,11 @@ def get(self, **kwargs: Any) -> _models.GetResponse: return deserialized # type: ignore @overload - def send(self, body: JSON, *, content_type: str = "application/json", **kwargs: Any) -> None: + def send(self, *, prop: _models.MixedTypesCases, content_type: str = "application/json", **kwargs: Any) -> None: """send. - :param body: Required. - :type body: JSON + :keyword prop: Required. + :paramtype prop: ~typetest.union.models.MixedTypesCases :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. Default value is "application/json". :paramtype content_type: str @@ -2062,11 +2062,11 @@ def send(self, body: JSON, *, content_type: str = "application/json", **kwargs: """ @overload - def send(self, *, prop: _models.MixedTypesCases, content_type: str = "application/json", **kwargs: Any) -> None: + def send(self, body: JSON, *, content_type: str = "application/json", **kwargs: Any) -> None: """send. - :keyword prop: Required. - :paramtype prop: ~typetest.union.models.MixedTypesCases + :param body: Required. + :type body: JSON :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. Default value is "application/json". :paramtype content_type: str diff --git a/packages/typespec-python/test/unbranded/generated/parameters-basic/parameters/basic/implicitbody/aio/operations/_operations.py b/packages/typespec-python/test/unbranded/generated/parameters-basic/parameters/basic/implicitbody/aio/operations/_operations.py index 89f048c19a7..24b1cb7bfa1 100644 --- a/packages/typespec-python/test/unbranded/generated/parameters-basic/parameters/basic/implicitbody/aio/operations/_operations.py +++ b/packages/typespec-python/test/unbranded/generated/parameters-basic/parameters/basic/implicitbody/aio/operations/_operations.py @@ -56,11 +56,11 @@ def __init__(self, *args, **kwargs) -> None: self._deserialize: Deserializer = input_args.pop(0) if input_args else kwargs.pop("deserializer") @overload - async def simple(self, body: JSON, *, content_type: str = "application/json", **kwargs: Any) -> None: + async def simple(self, *, name: str, content_type: str = "application/json", **kwargs: Any) -> None: """simple. - :param body: Required. - :type body: JSON + :keyword name: Required. + :paramtype name: str :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. Default value is "application/json". :paramtype content_type: str @@ -70,11 +70,11 @@ async def simple(self, body: JSON, *, content_type: str = "application/json", ** """ @overload - async def simple(self, *, name: str, content_type: str = "application/json", **kwargs: Any) -> None: + async def simple(self, body: JSON, *, content_type: str = "application/json", **kwargs: Any) -> None: """simple. - :keyword name: Required. - :paramtype name: str + :param body: Required. + :type body: JSON :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. Default value is "application/json". :paramtype content_type: str diff --git a/packages/typespec-python/test/unbranded/generated/parameters-basic/parameters/basic/implicitbody/operations/_operations.py b/packages/typespec-python/test/unbranded/generated/parameters-basic/parameters/basic/implicitbody/operations/_operations.py index 26964a499b3..aa92fdad94f 100644 --- a/packages/typespec-python/test/unbranded/generated/parameters-basic/parameters/basic/implicitbody/operations/_operations.py +++ b/packages/typespec-python/test/unbranded/generated/parameters-basic/parameters/basic/implicitbody/operations/_operations.py @@ -72,11 +72,11 @@ def __init__(self, *args, **kwargs): self._deserialize: Deserializer = input_args.pop(0) if input_args else kwargs.pop("deserializer") @overload - def simple(self, body: JSON, *, content_type: str = "application/json", **kwargs: Any) -> None: + def simple(self, *, name: str, content_type: str = "application/json", **kwargs: Any) -> None: """simple. - :param body: Required. - :type body: JSON + :keyword name: Required. + :paramtype name: str :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. Default value is "application/json". :paramtype content_type: str @@ -86,11 +86,11 @@ def simple(self, body: JSON, *, content_type: str = "application/json", **kwargs """ @overload - def simple(self, *, name: str, content_type: str = "application/json", **kwargs: Any) -> None: + def simple(self, body: JSON, *, content_type: str = "application/json", **kwargs: Any) -> None: """simple. - :keyword name: Required. - :paramtype name: str + :param body: Required. + :type body: JSON :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. Default value is "application/json". :paramtype content_type: str diff --git a/packages/typespec-python/test/unbranded/generated/parameters-body-optionality/parameters/bodyoptionality/_operations/_operations.py b/packages/typespec-python/test/unbranded/generated/parameters-body-optionality/parameters/bodyoptionality/_operations/_operations.py index 738ce6830b1..f70f6f14c8d 100644 --- a/packages/typespec-python/test/unbranded/generated/parameters-body-optionality/parameters/bodyoptionality/_operations/_operations.py +++ b/packages/typespec-python/test/unbranded/generated/parameters-body-optionality/parameters/bodyoptionality/_operations/_operations.py @@ -170,11 +170,11 @@ def required_explicit( # pylint: disable=inconsistent-return-statements return cls(pipeline_response, None, {}) # type: ignore @overload - def required_implicit(self, body: JSON, *, content_type: str = "application/json", **kwargs: Any) -> None: + def required_implicit(self, *, name: str, content_type: str = "application/json", **kwargs: Any) -> None: """required_implicit. - :param body: Required. - :type body: JSON + :keyword name: Required. + :paramtype name: str :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. Default value is "application/json". :paramtype content_type: str @@ -184,11 +184,11 @@ def required_implicit(self, body: JSON, *, content_type: str = "application/json """ @overload - def required_implicit(self, *, name: str, content_type: str = "application/json", **kwargs: Any) -> None: + def required_implicit(self, body: JSON, *, content_type: str = "application/json", **kwargs: Any) -> None: """required_implicit. - :keyword name: Required. - :paramtype name: str + :param body: Required. + :type body: JSON :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. Default value is "application/json". :paramtype content_type: str diff --git a/packages/typespec-python/test/unbranded/generated/parameters-body-optionality/parameters/bodyoptionality/aio/_operations/_operations.py b/packages/typespec-python/test/unbranded/generated/parameters-body-optionality/parameters/bodyoptionality/aio/_operations/_operations.py index 364f0dc7a16..3596af95acb 100644 --- a/packages/typespec-python/test/unbranded/generated/parameters-body-optionality/parameters/bodyoptionality/aio/_operations/_operations.py +++ b/packages/typespec-python/test/unbranded/generated/parameters-body-optionality/parameters/bodyoptionality/aio/_operations/_operations.py @@ -144,11 +144,11 @@ async def required_explicit(self, body: Union[_models2.BodyModel, JSON, IO[bytes return cls(pipeline_response, None, {}) # type: ignore @overload - async def required_implicit(self, body: JSON, *, content_type: str = "application/json", **kwargs: Any) -> None: + async def required_implicit(self, *, name: str, content_type: str = "application/json", **kwargs: Any) -> None: """required_implicit. - :param body: Required. - :type body: JSON + :keyword name: Required. + :paramtype name: str :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. Default value is "application/json". :paramtype content_type: str @@ -158,11 +158,11 @@ async def required_implicit(self, body: JSON, *, content_type: str = "applicatio """ @overload - async def required_implicit(self, *, name: str, content_type: str = "application/json", **kwargs: Any) -> None: + async def required_implicit(self, body: JSON, *, content_type: str = "application/json", **kwargs: Any) -> None: """required_implicit. - :keyword name: Required. - :paramtype name: str + :param body: Required. + :type body: JSON :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. Default value is "application/json". :paramtype content_type: str diff --git a/packages/typespec-python/test/unbranded/generated/parameters-spread/parameters/spread/alias/aio/operations/_operations.py b/packages/typespec-python/test/unbranded/generated/parameters-spread/parameters/spread/alias/aio/operations/_operations.py index b177962d587..c50133aa4d7 100644 --- a/packages/typespec-python/test/unbranded/generated/parameters-spread/parameters/spread/alias/aio/operations/_operations.py +++ b/packages/typespec-python/test/unbranded/generated/parameters-spread/parameters/spread/alias/aio/operations/_operations.py @@ -62,13 +62,11 @@ def __init__(self, *args, **kwargs) -> None: self._deserialize: Deserializer = input_args.pop(0) if input_args else kwargs.pop("deserializer") @overload - async def spread_as_request_body( - self, body: JSON, *, content_type: str = "application/json", **kwargs: Any - ) -> None: + async def spread_as_request_body(self, *, name: str, content_type: str = "application/json", **kwargs: Any) -> None: """spread_as_request_body. - :param body: Required. - :type body: JSON + :keyword name: Required. + :paramtype name: str :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. Default value is "application/json". :paramtype content_type: str @@ -78,11 +76,13 @@ async def spread_as_request_body( """ @overload - async def spread_as_request_body(self, *, name: str, content_type: str = "application/json", **kwargs: Any) -> None: + async def spread_as_request_body( + self, body: JSON, *, content_type: str = "application/json", **kwargs: Any + ) -> None: """spread_as_request_body. - :keyword name: Required. - :paramtype name: str + :param body: Required. + :type body: JSON :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. Default value is "application/json". :paramtype content_type: str @@ -171,16 +171,16 @@ async def spread_as_request_body( @overload async def spread_parameter_with_inner_model( - self, id: str, body: JSON, *, x_ms_test_header: str, content_type: str = "application/json", **kwargs: Any + self, id: str, *, x_ms_test_header: str, name: str, content_type: str = "application/json", **kwargs: Any ) -> None: """spread_parameter_with_inner_model. :param id: Required. :type id: str - :param body: Required. - :type body: JSON :keyword x_ms_test_header: Required. :paramtype x_ms_test_header: str + :keyword name: Required. + :paramtype name: str :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. Default value is "application/json". :paramtype content_type: str @@ -191,16 +191,16 @@ async def spread_parameter_with_inner_model( @overload async def spread_parameter_with_inner_model( - self, id: str, *, x_ms_test_header: str, name: str, content_type: str = "application/json", **kwargs: Any + self, id: str, body: JSON, *, x_ms_test_header: str, content_type: str = "application/json", **kwargs: Any ) -> None: """spread_parameter_with_inner_model. :param id: Required. :type id: str + :param body: Required. + :type body: JSON :keyword x_ms_test_header: Required. :paramtype x_ms_test_header: str - :keyword name: Required. - :paramtype name: str :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. Default value is "application/json". :paramtype content_type: str @@ -305,16 +305,16 @@ async def spread_parameter_with_inner_model( @overload async def spread_as_request_parameter( - self, id: str, body: JSON, *, x_ms_test_header: str, content_type: str = "application/json", **kwargs: Any + self, id: str, *, x_ms_test_header: str, name: str, content_type: str = "application/json", **kwargs: Any ) -> None: """spread_as_request_parameter. :param id: Required. :type id: str - :param body: Required. - :type body: JSON :keyword x_ms_test_header: Required. :paramtype x_ms_test_header: str + :keyword name: Required. + :paramtype name: str :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. Default value is "application/json". :paramtype content_type: str @@ -325,16 +325,16 @@ async def spread_as_request_parameter( @overload async def spread_as_request_parameter( - self, id: str, *, x_ms_test_header: str, name: str, content_type: str = "application/json", **kwargs: Any + self, id: str, body: JSON, *, x_ms_test_header: str, content_type: str = "application/json", **kwargs: Any ) -> None: """spread_as_request_parameter. :param id: Required. :type id: str + :param body: Required. + :type body: JSON :keyword x_ms_test_header: Required. :paramtype x_ms_test_header: str - :keyword name: Required. - :paramtype name: str :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. Default value is "application/json". :paramtype content_type: str @@ -437,26 +437,6 @@ async def spread_as_request_parameter( if cls: return cls(pipeline_response, None, {}) # type: ignore - @overload - async def spread_with_multiple_parameters( - self, id: str, body: JSON, *, x_ms_test_header: str, content_type: str = "application/json", **kwargs: Any - ) -> None: - """spread_with_multiple_parameters. - - :param id: Required. - :type id: str - :param body: Required. - :type body: JSON - :keyword x_ms_test_header: Required. - :paramtype x_ms_test_header: str - :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. - Default value is "application/json". - :paramtype content_type: str - :return: None - :rtype: None - :raises ~corehttp.exceptions.HttpResponseError: - """ - @overload async def spread_with_multiple_parameters( self, @@ -492,6 +472,26 @@ async def spread_with_multiple_parameters( :raises ~corehttp.exceptions.HttpResponseError: """ + @overload + async def spread_with_multiple_parameters( + self, id: str, body: JSON, *, x_ms_test_header: str, content_type: str = "application/json", **kwargs: Any + ) -> None: + """spread_with_multiple_parameters. + + :param id: Required. + :type id: str + :param body: Required. + :type body: JSON + :keyword x_ms_test_header: Required. + :paramtype x_ms_test_header: str + :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. + Default value is "application/json". + :paramtype content_type: str + :return: None + :rtype: None + :raises ~corehttp.exceptions.HttpResponseError: + """ + @overload async def spread_with_multiple_parameters( self, id: str, body: IO[bytes], *, x_ms_test_header: str, content_type: str = "application/json", **kwargs: Any @@ -604,16 +604,25 @@ async def spread_with_multiple_parameters( @overload async def spread_parameter_with_inner_alias( - self, id: str, body: JSON, *, x_ms_test_header: str, content_type: str = "application/json", **kwargs: Any + self, + id: str, + *, + x_ms_test_header: str, + name: str, + age: int, + content_type: str = "application/json", + **kwargs: Any ) -> None: """spread an alias with contains another alias property as body. :param id: Required. :type id: str - :param body: Required. - :type body: JSON :keyword x_ms_test_header: Required. :paramtype x_ms_test_header: str + :keyword name: name of the Thing. Required. + :paramtype name: str + :keyword age: age of the Thing. Required. + :paramtype age: int :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. Default value is "application/json". :paramtype content_type: str @@ -624,25 +633,16 @@ async def spread_parameter_with_inner_alias( @overload async def spread_parameter_with_inner_alias( - self, - id: str, - *, - x_ms_test_header: str, - name: str, - age: int, - content_type: str = "application/json", - **kwargs: Any + self, id: str, body: JSON, *, x_ms_test_header: str, content_type: str = "application/json", **kwargs: Any ) -> None: """spread an alias with contains another alias property as body. :param id: Required. :type id: str + :param body: Required. + :type body: JSON :keyword x_ms_test_header: Required. :paramtype x_ms_test_header: str - :keyword name: name of the Thing. Required. - :paramtype name: str - :keyword age: age of the Thing. Required. - :paramtype age: int :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. Default value is "application/json". :paramtype content_type: str diff --git a/packages/typespec-python/test/unbranded/generated/parameters-spread/parameters/spread/alias/operations/_operations.py b/packages/typespec-python/test/unbranded/generated/parameters-spread/parameters/spread/alias/operations/_operations.py index ab500499cc1..96b10e873ba 100644 --- a/packages/typespec-python/test/unbranded/generated/parameters-spread/parameters/spread/alias/operations/_operations.py +++ b/packages/typespec-python/test/unbranded/generated/parameters-spread/parameters/spread/alias/operations/_operations.py @@ -160,11 +160,11 @@ def __init__(self, *args, **kwargs): self._deserialize: Deserializer = input_args.pop(0) if input_args else kwargs.pop("deserializer") @overload - def spread_as_request_body(self, body: JSON, *, content_type: str = "application/json", **kwargs: Any) -> None: + def spread_as_request_body(self, *, name: str, content_type: str = "application/json", **kwargs: Any) -> None: """spread_as_request_body. - :param body: Required. - :type body: JSON + :keyword name: Required. + :paramtype name: str :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. Default value is "application/json". :paramtype content_type: str @@ -174,11 +174,11 @@ def spread_as_request_body(self, body: JSON, *, content_type: str = "application """ @overload - def spread_as_request_body(self, *, name: str, content_type: str = "application/json", **kwargs: Any) -> None: + def spread_as_request_body(self, body: JSON, *, content_type: str = "application/json", **kwargs: Any) -> None: """spread_as_request_body. - :keyword name: Required. - :paramtype name: str + :param body: Required. + :type body: JSON :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. Default value is "application/json". :paramtype content_type: str @@ -265,16 +265,16 @@ def spread_as_request_body( # pylint: disable=inconsistent-return-statements @overload def spread_parameter_with_inner_model( - self, id: str, body: JSON, *, x_ms_test_header: str, content_type: str = "application/json", **kwargs: Any + self, id: str, *, x_ms_test_header: str, name: str, content_type: str = "application/json", **kwargs: Any ) -> None: """spread_parameter_with_inner_model. :param id: Required. :type id: str - :param body: Required. - :type body: JSON :keyword x_ms_test_header: Required. :paramtype x_ms_test_header: str + :keyword name: Required. + :paramtype name: str :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. Default value is "application/json". :paramtype content_type: str @@ -285,16 +285,16 @@ def spread_parameter_with_inner_model( @overload def spread_parameter_with_inner_model( - self, id: str, *, x_ms_test_header: str, name: str, content_type: str = "application/json", **kwargs: Any + self, id: str, body: JSON, *, x_ms_test_header: str, content_type: str = "application/json", **kwargs: Any ) -> None: """spread_parameter_with_inner_model. :param id: Required. :type id: str + :param body: Required. + :type body: JSON :keyword x_ms_test_header: Required. :paramtype x_ms_test_header: str - :keyword name: Required. - :paramtype name: str :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. Default value is "application/json". :paramtype content_type: str @@ -399,16 +399,16 @@ def spread_parameter_with_inner_model( # pylint: disable=inconsistent-return-st @overload def spread_as_request_parameter( - self, id: str, body: JSON, *, x_ms_test_header: str, content_type: str = "application/json", **kwargs: Any + self, id: str, *, x_ms_test_header: str, name: str, content_type: str = "application/json", **kwargs: Any ) -> None: """spread_as_request_parameter. :param id: Required. :type id: str - :param body: Required. - :type body: JSON :keyword x_ms_test_header: Required. :paramtype x_ms_test_header: str + :keyword name: Required. + :paramtype name: str :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. Default value is "application/json". :paramtype content_type: str @@ -419,16 +419,16 @@ def spread_as_request_parameter( @overload def spread_as_request_parameter( - self, id: str, *, x_ms_test_header: str, name: str, content_type: str = "application/json", **kwargs: Any + self, id: str, body: JSON, *, x_ms_test_header: str, content_type: str = "application/json", **kwargs: Any ) -> None: """spread_as_request_parameter. :param id: Required. :type id: str + :param body: Required. + :type body: JSON :keyword x_ms_test_header: Required. :paramtype x_ms_test_header: str - :keyword name: Required. - :paramtype name: str :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. Default value is "application/json". :paramtype content_type: str @@ -531,26 +531,6 @@ def spread_as_request_parameter( # pylint: disable=inconsistent-return-statemen if cls: return cls(pipeline_response, None, {}) # type: ignore - @overload - def spread_with_multiple_parameters( - self, id: str, body: JSON, *, x_ms_test_header: str, content_type: str = "application/json", **kwargs: Any - ) -> None: - """spread_with_multiple_parameters. - - :param id: Required. - :type id: str - :param body: Required. - :type body: JSON - :keyword x_ms_test_header: Required. - :paramtype x_ms_test_header: str - :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. - Default value is "application/json". - :paramtype content_type: str - :return: None - :rtype: None - :raises ~corehttp.exceptions.HttpResponseError: - """ - @overload def spread_with_multiple_parameters( self, @@ -586,6 +566,26 @@ def spread_with_multiple_parameters( :raises ~corehttp.exceptions.HttpResponseError: """ + @overload + def spread_with_multiple_parameters( + self, id: str, body: JSON, *, x_ms_test_header: str, content_type: str = "application/json", **kwargs: Any + ) -> None: + """spread_with_multiple_parameters. + + :param id: Required. + :type id: str + :param body: Required. + :type body: JSON + :keyword x_ms_test_header: Required. + :paramtype x_ms_test_header: str + :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. + Default value is "application/json". + :paramtype content_type: str + :return: None + :rtype: None + :raises ~corehttp.exceptions.HttpResponseError: + """ + @overload def spread_with_multiple_parameters( self, id: str, body: IO[bytes], *, x_ms_test_header: str, content_type: str = "application/json", **kwargs: Any @@ -698,16 +698,25 @@ def spread_with_multiple_parameters( # pylint: disable=inconsistent-return-stat @overload def spread_parameter_with_inner_alias( - self, id: str, body: JSON, *, x_ms_test_header: str, content_type: str = "application/json", **kwargs: Any + self, + id: str, + *, + x_ms_test_header: str, + name: str, + age: int, + content_type: str = "application/json", + **kwargs: Any ) -> None: """spread an alias with contains another alias property as body. :param id: Required. :type id: str - :param body: Required. - :type body: JSON :keyword x_ms_test_header: Required. :paramtype x_ms_test_header: str + :keyword name: name of the Thing. Required. + :paramtype name: str + :keyword age: age of the Thing. Required. + :paramtype age: int :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. Default value is "application/json". :paramtype content_type: str @@ -718,25 +727,16 @@ def spread_parameter_with_inner_alias( @overload def spread_parameter_with_inner_alias( - self, - id: str, - *, - x_ms_test_header: str, - name: str, - age: int, - content_type: str = "application/json", - **kwargs: Any + self, id: str, body: JSON, *, x_ms_test_header: str, content_type: str = "application/json", **kwargs: Any ) -> None: """spread an alias with contains another alias property as body. :param id: Required. :type id: str + :param body: Required. + :type body: JSON :keyword x_ms_test_header: Required. :paramtype x_ms_test_header: str - :keyword name: name of the Thing. Required. - :paramtype name: str - :keyword age: age of the Thing. Required. - :paramtype age: int :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. Default value is "application/json". :paramtype content_type: str diff --git a/packages/typespec-python/test/unbranded/generated/parameters-spread/parameters/spread/model/aio/operations/_operations.py b/packages/typespec-python/test/unbranded/generated/parameters-spread/parameters/spread/model/aio/operations/_operations.py index 6e4e4973e6e..02f72182c7d 100644 --- a/packages/typespec-python/test/unbranded/generated/parameters-spread/parameters/spread/model/aio/operations/_operations.py +++ b/packages/typespec-python/test/unbranded/generated/parameters-spread/parameters/spread/model/aio/operations/_operations.py @@ -63,13 +63,11 @@ def __init__(self, *args, **kwargs) -> None: self._deserialize: Deserializer = input_args.pop(0) if input_args else kwargs.pop("deserializer") @overload - async def spread_as_request_body( - self, body: JSON, *, content_type: str = "application/json", **kwargs: Any - ) -> None: + async def spread_as_request_body(self, *, name: str, content_type: str = "application/json", **kwargs: Any) -> None: """spread_as_request_body. - :param body: Required. - :type body: JSON + :keyword name: Required. + :paramtype name: str :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. Default value is "application/json". :paramtype content_type: str @@ -79,11 +77,13 @@ async def spread_as_request_body( """ @overload - async def spread_as_request_body(self, *, name: str, content_type: str = "application/json", **kwargs: Any) -> None: + async def spread_as_request_body( + self, body: JSON, *, content_type: str = "application/json", **kwargs: Any + ) -> None: """spread_as_request_body. - :keyword name: Required. - :paramtype name: str + :param body: Required. + :type body: JSON :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. Default value is "application/json". :paramtype content_type: str @@ -449,16 +449,16 @@ async def spread_composite_request( @overload async def spread_composite_request_mix( - self, name: str, body: JSON, *, test_header: str, content_type: str = "application/json", **kwargs: Any + self, name: str, *, test_header: str, prop: str, content_type: str = "application/json", **kwargs: Any ) -> None: """spread_composite_request_mix. :param name: Required. :type name: str - :param body: Required. - :type body: JSON :keyword test_header: Required. :paramtype test_header: str + :keyword prop: Required. + :paramtype prop: str :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. Default value is "application/json". :paramtype content_type: str @@ -469,16 +469,16 @@ async def spread_composite_request_mix( @overload async def spread_composite_request_mix( - self, name: str, *, test_header: str, prop: str, content_type: str = "application/json", **kwargs: Any + self, name: str, body: JSON, *, test_header: str, content_type: str = "application/json", **kwargs: Any ) -> None: """spread_composite_request_mix. :param name: Required. :type name: str + :param body: Required. + :type body: JSON :keyword test_header: Required. :paramtype test_header: str - :keyword prop: Required. - :paramtype prop: str :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. Default value is "application/json". :paramtype content_type: str diff --git a/packages/typespec-python/test/unbranded/generated/parameters-spread/parameters/spread/model/operations/_operations.py b/packages/typespec-python/test/unbranded/generated/parameters-spread/parameters/spread/model/operations/_operations.py index 930f47f85ca..6d1daa2f100 100644 --- a/packages/typespec-python/test/unbranded/generated/parameters-spread/parameters/spread/model/operations/_operations.py +++ b/packages/typespec-python/test/unbranded/generated/parameters-spread/parameters/spread/model/operations/_operations.py @@ -152,11 +152,11 @@ def __init__(self, *args, **kwargs): self._deserialize: Deserializer = input_args.pop(0) if input_args else kwargs.pop("deserializer") @overload - def spread_as_request_body(self, body: JSON, *, content_type: str = "application/json", **kwargs: Any) -> None: + def spread_as_request_body(self, *, name: str, content_type: str = "application/json", **kwargs: Any) -> None: """spread_as_request_body. - :param body: Required. - :type body: JSON + :keyword name: Required. + :paramtype name: str :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. Default value is "application/json". :paramtype content_type: str @@ -166,11 +166,11 @@ def spread_as_request_body(self, body: JSON, *, content_type: str = "application """ @overload - def spread_as_request_body(self, *, name: str, content_type: str = "application/json", **kwargs: Any) -> None: + def spread_as_request_body(self, body: JSON, *, content_type: str = "application/json", **kwargs: Any) -> None: """spread_as_request_body. - :keyword name: Required. - :paramtype name: str + :param body: Required. + :type body: JSON :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. Default value is "application/json". :paramtype content_type: str @@ -536,16 +536,16 @@ def spread_composite_request( # pylint: disable=inconsistent-return-statements @overload def spread_composite_request_mix( - self, name: str, body: JSON, *, test_header: str, content_type: str = "application/json", **kwargs: Any + self, name: str, *, test_header: str, prop: str, content_type: str = "application/json", **kwargs: Any ) -> None: """spread_composite_request_mix. :param name: Required. :type name: str - :param body: Required. - :type body: JSON :keyword test_header: Required. :paramtype test_header: str + :keyword prop: Required. + :paramtype prop: str :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. Default value is "application/json". :paramtype content_type: str @@ -556,16 +556,16 @@ def spread_composite_request_mix( @overload def spread_composite_request_mix( - self, name: str, *, test_header: str, prop: str, content_type: str = "application/json", **kwargs: Any + self, name: str, body: JSON, *, test_header: str, content_type: str = "application/json", **kwargs: Any ) -> None: """spread_composite_request_mix. :param name: Required. :type name: str + :param body: Required. + :type body: JSON :keyword test_header: Required. :paramtype test_header: str - :keyword prop: Required. - :paramtype prop: str :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. Default value is "application/json". :paramtype content_type: str diff --git a/packages/typespec-python/test/unbranded/generated/payload-multipart/payload/multipart/formdata/aio/operations/_operations.py b/packages/typespec-python/test/unbranded/generated/payload-multipart/payload/multipart/formdata/aio/operations/_operations.py index 1ccb4668346..77faf19d2fc 100644 --- a/packages/typespec-python/test/unbranded/generated/payload-multipart/payload/multipart/formdata/aio/operations/_operations.py +++ b/packages/typespec-python/test/unbranded/generated/payload-multipart/payload/multipart/formdata/aio/operations/_operations.py @@ -499,22 +499,22 @@ async def check_file_name_and_content_type( return cls(pipeline_response, None, {}) # type: ignore @overload - async def anonymous_model(self, body: JSON, **kwargs: Any) -> None: + async def anonymous_model(self, *, profile_image: FileType, **kwargs: Any) -> None: """Test content-type: multipart/form-data. - :param body: Required. - :type body: JSON + :keyword profile_image: Required. + :paramtype profile_image: ~payload.multipart._vendor.FileType :return: None :rtype: None :raises ~corehttp.exceptions.HttpResponseError: """ @overload - async def anonymous_model(self, *, profile_image: FileType, **kwargs: Any) -> None: + async def anonymous_model(self, body: JSON, **kwargs: Any) -> None: """Test content-type: multipart/form-data. - :keyword profile_image: Required. - :paramtype profile_image: ~payload.multipart._vendor.FileType + :param body: Required. + :type body: JSON :return: None :rtype: None :raises ~corehttp.exceptions.HttpResponseError: diff --git a/packages/typespec-python/test/unbranded/generated/payload-multipart/payload/multipart/formdata/operations/_operations.py b/packages/typespec-python/test/unbranded/generated/payload-multipart/payload/multipart/formdata/operations/_operations.py index 915a4d56318..a4622e9107b 100644 --- a/packages/typespec-python/test/unbranded/generated/payload-multipart/payload/multipart/formdata/operations/_operations.py +++ b/packages/typespec-python/test/unbranded/generated/payload-multipart/payload/multipart/formdata/operations/_operations.py @@ -569,22 +569,22 @@ def check_file_name_and_content_type( # pylint: disable=inconsistent-return-sta return cls(pipeline_response, None, {}) # type: ignore @overload - def anonymous_model(self, body: JSON, **kwargs: Any) -> None: + def anonymous_model(self, *, profile_image: FileType, **kwargs: Any) -> None: """Test content-type: multipart/form-data. - :param body: Required. - :type body: JSON + :keyword profile_image: Required. + :paramtype profile_image: ~payload.multipart._vendor.FileType :return: None :rtype: None :raises ~corehttp.exceptions.HttpResponseError: """ @overload - def anonymous_model(self, *, profile_image: FileType, **kwargs: Any) -> None: + def anonymous_model(self, body: JSON, **kwargs: Any) -> None: """Test content-type: multipart/form-data. - :keyword profile_image: Required. - :paramtype profile_image: ~payload.multipart._vendor.FileType + :param body: Required. + :type body: JSON :return: None :rtype: None :raises ~corehttp.exceptions.HttpResponseError: diff --git a/packages/typespec-python/test/unbranded/generated/typetest-union/typetest/union/aio/operations/_operations.py b/packages/typespec-python/test/unbranded/generated/typetest-union/typetest/union/aio/operations/_operations.py index e9283472865..6e4d31c08fc 100644 --- a/packages/typespec-python/test/unbranded/generated/typetest-union/typetest/union/aio/operations/_operations.py +++ b/packages/typespec-python/test/unbranded/generated/typetest-union/typetest/union/aio/operations/_operations.py @@ -134,11 +134,14 @@ async def get(self, **kwargs: Any) -> _models.GetResponse9: return deserialized # type: ignore @overload - async def send(self, body: JSON, *, content_type: str = "application/json", **kwargs: Any) -> None: + async def send( + self, *, prop: Literal["a", "b", "c"], content_type: str = "application/json", **kwargs: Any + ) -> None: """send. - :param body: Required. - :type body: JSON + :keyword prop: Is one of the following types: Literal["a"], Literal["b"], Literal["c"] + Required. + :paramtype prop: str or str or str :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. Default value is "application/json". :paramtype content_type: str @@ -148,14 +151,11 @@ async def send(self, body: JSON, *, content_type: str = "application/json", **kw """ @overload - async def send( - self, *, prop: Literal["a", "b", "c"], content_type: str = "application/json", **kwargs: Any - ) -> None: + async def send(self, body: JSON, *, content_type: str = "application/json", **kwargs: Any) -> None: """send. - :keyword prop: Is one of the following types: Literal["a"], Literal["b"], Literal["c"] - Required. - :paramtype prop: str or str or str + :param body: Required. + :type body: JSON :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. Default value is "application/json". :paramtype content_type: str @@ -313,11 +313,13 @@ async def get(self, **kwargs: Any) -> _models.GetResponse8: return deserialized # type: ignore @overload - async def send(self, body: JSON, *, content_type: str = "application/json", **kwargs: Any) -> None: + async def send( + self, *, prop: Union[Literal["b"], Literal["c"], str], content_type: str = "application/json", **kwargs: Any + ) -> None: """send. - :param body: Required. - :type body: JSON + :keyword prop: Is one of the following types: Literal["b"], Literal["c"], str Required. + :paramtype prop: str or str or str :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. Default value is "application/json". :paramtype content_type: str @@ -327,13 +329,11 @@ async def send(self, body: JSON, *, content_type: str = "application/json", **kw """ @overload - async def send( - self, *, prop: Union[Literal["b"], Literal["c"], str], content_type: str = "application/json", **kwargs: Any - ) -> None: + async def send(self, body: JSON, *, content_type: str = "application/json", **kwargs: Any) -> None: """send. - :keyword prop: Is one of the following types: Literal["b"], Literal["c"], str Required. - :paramtype prop: str or str or str + :param body: Required. + :type body: JSON :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. Default value is "application/json". :paramtype content_type: str @@ -494,11 +494,17 @@ async def get(self, **kwargs: Any) -> _models.GetResponse7: return deserialized # type: ignore @overload - async def send(self, body: JSON, *, content_type: str = "application/json", **kwargs: Any) -> None: + async def send( + self, + *, + prop: Union[str, _models.StringExtensibleNamedUnion], + content_type: str = "application/json", + **kwargs: Any + ) -> None: """send. - :param body: Required. - :type body: JSON + :keyword prop: Known values are: "b" and "c". Required. + :paramtype prop: str or ~typetest.union.models.StringExtensibleNamedUnion :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. Default value is "application/json". :paramtype content_type: str @@ -508,17 +514,11 @@ async def send(self, body: JSON, *, content_type: str = "application/json", **kw """ @overload - async def send( - self, - *, - prop: Union[str, _models.StringExtensibleNamedUnion], - content_type: str = "application/json", - **kwargs: Any - ) -> None: + async def send(self, body: JSON, *, content_type: str = "application/json", **kwargs: Any) -> None: """send. - :keyword prop: Known values are: "b" and "c". Required. - :paramtype prop: str or ~typetest.union.models.StringExtensibleNamedUnion + :param body: Required. + :type body: JSON :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. Default value is "application/json". :paramtype content_type: str @@ -679,11 +679,11 @@ async def get(self, **kwargs: Any) -> _models.GetResponse6: return deserialized # type: ignore @overload - async def send(self, body: JSON, *, content_type: str = "application/json", **kwargs: Any) -> None: + async def send(self, *, prop: Literal[1, 2, 3], content_type: str = "application/json", **kwargs: Any) -> None: """send. - :param body: Required. - :type body: JSON + :keyword prop: Is one of the following types: Literal[1], Literal[2], Literal[3] Required. + :paramtype prop: int or int or int :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. Default value is "application/json". :paramtype content_type: str @@ -693,11 +693,11 @@ async def send(self, body: JSON, *, content_type: str = "application/json", **kw """ @overload - async def send(self, *, prop: Literal[1, 2, 3], content_type: str = "application/json", **kwargs: Any) -> None: + async def send(self, body: JSON, *, content_type: str = "application/json", **kwargs: Any) -> None: """send. - :keyword prop: Is one of the following types: Literal[1], Literal[2], Literal[3] Required. - :paramtype prop: int or int or int + :param body: Required. + :type body: JSON :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. Default value is "application/json". :paramtype content_type: str @@ -854,11 +854,11 @@ async def get(self, **kwargs: Any) -> _models.GetResponse5: return deserialized # type: ignore @overload - async def send(self, body: JSON, *, content_type: str = "application/json", **kwargs: Any) -> None: + async def send(self, *, prop: float, content_type: str = "application/json", **kwargs: Any) -> None: """send. - :param body: Required. - :type body: JSON + :keyword prop: Is one of the following types: float Required. + :paramtype prop: float or float or float :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. Default value is "application/json". :paramtype content_type: str @@ -868,11 +868,11 @@ async def send(self, body: JSON, *, content_type: str = "application/json", **kw """ @overload - async def send(self, *, prop: float, content_type: str = "application/json", **kwargs: Any) -> None: + async def send(self, body: JSON, *, content_type: str = "application/json", **kwargs: Any) -> None: """send. - :keyword prop: Is one of the following types: float Required. - :paramtype prop: float or float or float + :param body: Required. + :type body: JSON :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. Default value is "application/json". :paramtype content_type: str @@ -1027,11 +1027,13 @@ async def get(self, **kwargs: Any) -> _models.GetResponse4: return deserialized # type: ignore @overload - async def send(self, body: JSON, *, content_type: str = "application/json", **kwargs: Any) -> None: + async def send( + self, *, prop: Union[_models.Cat, _models.Dog], content_type: str = "application/json", **kwargs: Any + ) -> None: """send. - :param body: Required. - :type body: JSON + :keyword prop: Is either a Cat type or a Dog type. Required. + :paramtype prop: ~typetest.union.models.Cat or ~typetest.union.models.Dog :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. Default value is "application/json". :paramtype content_type: str @@ -1041,13 +1043,11 @@ async def send(self, body: JSON, *, content_type: str = "application/json", **kw """ @overload - async def send( - self, *, prop: Union[_models.Cat, _models.Dog], content_type: str = "application/json", **kwargs: Any - ) -> None: + async def send(self, body: JSON, *, content_type: str = "application/json", **kwargs: Any) -> None: """send. - :keyword prop: Is either a Cat type or a Dog type. Required. - :paramtype prop: ~typetest.union.models.Cat or ~typetest.union.models.Dog + :param body: Required. + :type body: JSON :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. Default value is "application/json". :paramtype content_type: str @@ -1204,11 +1204,13 @@ async def get(self, **kwargs: Any) -> _models.GetResponse3: return deserialized # type: ignore @overload - async def send(self, body: JSON, *, content_type: str = "application/json", **kwargs: Any) -> None: + async def send( + self, *, prop: _models.EnumsOnlyCases, content_type: str = "application/json", **kwargs: Any + ) -> None: """send. - :param body: Required. - :type body: JSON + :keyword prop: Required. + :paramtype prop: ~typetest.union.models.EnumsOnlyCases :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. Default value is "application/json". :paramtype content_type: str @@ -1218,13 +1220,11 @@ async def send(self, body: JSON, *, content_type: str = "application/json", **kw """ @overload - async def send( - self, *, prop: _models.EnumsOnlyCases, content_type: str = "application/json", **kwargs: Any - ) -> None: + async def send(self, body: JSON, *, content_type: str = "application/json", **kwargs: Any) -> None: """send. - :keyword prop: Required. - :paramtype prop: ~typetest.union.models.EnumsOnlyCases + :param body: Required. + :type body: JSON :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. Default value is "application/json". :paramtype content_type: str @@ -1381,11 +1381,13 @@ async def get(self, **kwargs: Any) -> _models.GetResponse2: return deserialized # type: ignore @overload - async def send(self, body: JSON, *, content_type: str = "application/json", **kwargs: Any) -> None: + async def send( + self, *, prop: _models.StringAndArrayCases, content_type: str = "application/json", **kwargs: Any + ) -> None: """send. - :param body: Required. - :type body: JSON + :keyword prop: Required. + :paramtype prop: ~typetest.union.models.StringAndArrayCases :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. Default value is "application/json". :paramtype content_type: str @@ -1395,13 +1397,11 @@ async def send(self, body: JSON, *, content_type: str = "application/json", **kw """ @overload - async def send( - self, *, prop: _models.StringAndArrayCases, content_type: str = "application/json", **kwargs: Any - ) -> None: + async def send(self, body: JSON, *, content_type: str = "application/json", **kwargs: Any) -> None: """send. - :keyword prop: Required. - :paramtype prop: ~typetest.union.models.StringAndArrayCases + :param body: Required. + :type body: JSON :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. Default value is "application/json". :paramtype content_type: str @@ -1558,11 +1558,13 @@ async def get(self, **kwargs: Any) -> _models.GetResponse1: return deserialized # type: ignore @overload - async def send(self, body: JSON, *, content_type: str = "application/json", **kwargs: Any) -> None: + async def send( + self, *, prop: _models.MixedLiteralsCases, content_type: str = "application/json", **kwargs: Any + ) -> None: """send. - :param body: Required. - :type body: JSON + :keyword prop: Required. + :paramtype prop: ~typetest.union.models.MixedLiteralsCases :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. Default value is "application/json". :paramtype content_type: str @@ -1572,13 +1574,11 @@ async def send(self, body: JSON, *, content_type: str = "application/json", **kw """ @overload - async def send( - self, *, prop: _models.MixedLiteralsCases, content_type: str = "application/json", **kwargs: Any - ) -> None: + async def send(self, body: JSON, *, content_type: str = "application/json", **kwargs: Any) -> None: """send. - :keyword prop: Required. - :paramtype prop: ~typetest.union.models.MixedLiteralsCases + :param body: Required. + :type body: JSON :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. Default value is "application/json". :paramtype content_type: str @@ -1735,11 +1735,13 @@ async def get(self, **kwargs: Any) -> _models.GetResponse: return deserialized # type: ignore @overload - async def send(self, body: JSON, *, content_type: str = "application/json", **kwargs: Any) -> None: + async def send( + self, *, prop: _models.MixedTypesCases, content_type: str = "application/json", **kwargs: Any + ) -> None: """send. - :param body: Required. - :type body: JSON + :keyword prop: Required. + :paramtype prop: ~typetest.union.models.MixedTypesCases :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. Default value is "application/json". :paramtype content_type: str @@ -1749,13 +1751,11 @@ async def send(self, body: JSON, *, content_type: str = "application/json", **kw """ @overload - async def send( - self, *, prop: _models.MixedTypesCases, content_type: str = "application/json", **kwargs: Any - ) -> None: + async def send(self, body: JSON, *, content_type: str = "application/json", **kwargs: Any) -> None: """send. - :keyword prop: Required. - :paramtype prop: ~typetest.union.models.MixedTypesCases + :param body: Required. + :type body: JSON :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. Default value is "application/json". :paramtype content_type: str diff --git a/packages/typespec-python/test/unbranded/generated/typetest-union/typetest/union/operations/_operations.py b/packages/typespec-python/test/unbranded/generated/typetest-union/typetest/union/operations/_operations.py index 4a005297c62..7d8f501cedc 100644 --- a/packages/typespec-python/test/unbranded/generated/typetest-union/typetest/union/operations/_operations.py +++ b/packages/typespec-python/test/unbranded/generated/typetest-union/typetest/union/operations/_operations.py @@ -395,11 +395,12 @@ def get(self, **kwargs: Any) -> _models.GetResponse9: return deserialized # type: ignore @overload - def send(self, body: JSON, *, content_type: str = "application/json", **kwargs: Any) -> None: + def send(self, *, prop: Literal["a", "b", "c"], content_type: str = "application/json", **kwargs: Any) -> None: """send. - :param body: Required. - :type body: JSON + :keyword prop: Is one of the following types: Literal["a"], Literal["b"], Literal["c"] + Required. + :paramtype prop: str or str or str :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. Default value is "application/json". :paramtype content_type: str @@ -409,12 +410,11 @@ def send(self, body: JSON, *, content_type: str = "application/json", **kwargs: """ @overload - def send(self, *, prop: Literal["a", "b", "c"], content_type: str = "application/json", **kwargs: Any) -> None: + def send(self, body: JSON, *, content_type: str = "application/json", **kwargs: Any) -> None: """send. - :keyword prop: Is one of the following types: Literal["a"], Literal["b"], Literal["c"] - Required. - :paramtype prop: str or str or str + :param body: Required. + :type body: JSON :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. Default value is "application/json". :paramtype content_type: str @@ -572,11 +572,13 @@ def get(self, **kwargs: Any) -> _models.GetResponse8: return deserialized # type: ignore @overload - def send(self, body: JSON, *, content_type: str = "application/json", **kwargs: Any) -> None: + def send( + self, *, prop: Union[Literal["b"], Literal["c"], str], content_type: str = "application/json", **kwargs: Any + ) -> None: """send. - :param body: Required. - :type body: JSON + :keyword prop: Is one of the following types: Literal["b"], Literal["c"], str Required. + :paramtype prop: str or str or str :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. Default value is "application/json". :paramtype content_type: str @@ -586,13 +588,11 @@ def send(self, body: JSON, *, content_type: str = "application/json", **kwargs: """ @overload - def send( - self, *, prop: Union[Literal["b"], Literal["c"], str], content_type: str = "application/json", **kwargs: Any - ) -> None: + def send(self, body: JSON, *, content_type: str = "application/json", **kwargs: Any) -> None: """send. - :keyword prop: Is one of the following types: Literal["b"], Literal["c"], str Required. - :paramtype prop: str or str or str + :param body: Required. + :type body: JSON :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. Default value is "application/json". :paramtype content_type: str @@ -753,11 +753,17 @@ def get(self, **kwargs: Any) -> _models.GetResponse7: return deserialized # type: ignore @overload - def send(self, body: JSON, *, content_type: str = "application/json", **kwargs: Any) -> None: + def send( + self, + *, + prop: Union[str, _models.StringExtensibleNamedUnion], + content_type: str = "application/json", + **kwargs: Any + ) -> None: """send. - :param body: Required. - :type body: JSON + :keyword prop: Known values are: "b" and "c". Required. + :paramtype prop: str or ~typetest.union.models.StringExtensibleNamedUnion :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. Default value is "application/json". :paramtype content_type: str @@ -767,17 +773,11 @@ def send(self, body: JSON, *, content_type: str = "application/json", **kwargs: """ @overload - def send( - self, - *, - prop: Union[str, _models.StringExtensibleNamedUnion], - content_type: str = "application/json", - **kwargs: Any - ) -> None: + def send(self, body: JSON, *, content_type: str = "application/json", **kwargs: Any) -> None: """send. - :keyword prop: Known values are: "b" and "c". Required. - :paramtype prop: str or ~typetest.union.models.StringExtensibleNamedUnion + :param body: Required. + :type body: JSON :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. Default value is "application/json". :paramtype content_type: str @@ -938,11 +938,11 @@ def get(self, **kwargs: Any) -> _models.GetResponse6: return deserialized # type: ignore @overload - def send(self, body: JSON, *, content_type: str = "application/json", **kwargs: Any) -> None: + def send(self, *, prop: Literal[1, 2, 3], content_type: str = "application/json", **kwargs: Any) -> None: """send. - :param body: Required. - :type body: JSON + :keyword prop: Is one of the following types: Literal[1], Literal[2], Literal[3] Required. + :paramtype prop: int or int or int :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. Default value is "application/json". :paramtype content_type: str @@ -952,11 +952,11 @@ def send(self, body: JSON, *, content_type: str = "application/json", **kwargs: """ @overload - def send(self, *, prop: Literal[1, 2, 3], content_type: str = "application/json", **kwargs: Any) -> None: + def send(self, body: JSON, *, content_type: str = "application/json", **kwargs: Any) -> None: """send. - :keyword prop: Is one of the following types: Literal[1], Literal[2], Literal[3] Required. - :paramtype prop: int or int or int + :param body: Required. + :type body: JSON :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. Default value is "application/json". :paramtype content_type: str @@ -1113,11 +1113,11 @@ def get(self, **kwargs: Any) -> _models.GetResponse5: return deserialized # type: ignore @overload - def send(self, body: JSON, *, content_type: str = "application/json", **kwargs: Any) -> None: + def send(self, *, prop: float, content_type: str = "application/json", **kwargs: Any) -> None: """send. - :param body: Required. - :type body: JSON + :keyword prop: Is one of the following types: float Required. + :paramtype prop: float or float or float :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. Default value is "application/json". :paramtype content_type: str @@ -1127,11 +1127,11 @@ def send(self, body: JSON, *, content_type: str = "application/json", **kwargs: """ @overload - def send(self, *, prop: float, content_type: str = "application/json", **kwargs: Any) -> None: + def send(self, body: JSON, *, content_type: str = "application/json", **kwargs: Any) -> None: """send. - :keyword prop: Is one of the following types: float Required. - :paramtype prop: float or float or float + :param body: Required. + :type body: JSON :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. Default value is "application/json". :paramtype content_type: str @@ -1288,11 +1288,13 @@ def get(self, **kwargs: Any) -> _models.GetResponse4: return deserialized # type: ignore @overload - def send(self, body: JSON, *, content_type: str = "application/json", **kwargs: Any) -> None: + def send( + self, *, prop: Union[_models.Cat, _models.Dog], content_type: str = "application/json", **kwargs: Any + ) -> None: """send. - :param body: Required. - :type body: JSON + :keyword prop: Is either a Cat type or a Dog type. Required. + :paramtype prop: ~typetest.union.models.Cat or ~typetest.union.models.Dog :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. Default value is "application/json". :paramtype content_type: str @@ -1302,13 +1304,11 @@ def send(self, body: JSON, *, content_type: str = "application/json", **kwargs: """ @overload - def send( - self, *, prop: Union[_models.Cat, _models.Dog], content_type: str = "application/json", **kwargs: Any - ) -> None: + def send(self, body: JSON, *, content_type: str = "application/json", **kwargs: Any) -> None: """send. - :keyword prop: Is either a Cat type or a Dog type. Required. - :paramtype prop: ~typetest.union.models.Cat or ~typetest.union.models.Dog + :param body: Required. + :type body: JSON :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. Default value is "application/json". :paramtype content_type: str @@ -1465,11 +1465,11 @@ def get(self, **kwargs: Any) -> _models.GetResponse3: return deserialized # type: ignore @overload - def send(self, body: JSON, *, content_type: str = "application/json", **kwargs: Any) -> None: + def send(self, *, prop: _models.EnumsOnlyCases, content_type: str = "application/json", **kwargs: Any) -> None: """send. - :param body: Required. - :type body: JSON + :keyword prop: Required. + :paramtype prop: ~typetest.union.models.EnumsOnlyCases :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. Default value is "application/json". :paramtype content_type: str @@ -1479,11 +1479,11 @@ def send(self, body: JSON, *, content_type: str = "application/json", **kwargs: """ @overload - def send(self, *, prop: _models.EnumsOnlyCases, content_type: str = "application/json", **kwargs: Any) -> None: + def send(self, body: JSON, *, content_type: str = "application/json", **kwargs: Any) -> None: """send. - :keyword prop: Required. - :paramtype prop: ~typetest.union.models.EnumsOnlyCases + :param body: Required. + :type body: JSON :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. Default value is "application/json". :paramtype content_type: str @@ -1640,11 +1640,11 @@ def get(self, **kwargs: Any) -> _models.GetResponse2: return deserialized # type: ignore @overload - def send(self, body: JSON, *, content_type: str = "application/json", **kwargs: Any) -> None: + def send(self, *, prop: _models.StringAndArrayCases, content_type: str = "application/json", **kwargs: Any) -> None: """send. - :param body: Required. - :type body: JSON + :keyword prop: Required. + :paramtype prop: ~typetest.union.models.StringAndArrayCases :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. Default value is "application/json". :paramtype content_type: str @@ -1654,11 +1654,11 @@ def send(self, body: JSON, *, content_type: str = "application/json", **kwargs: """ @overload - def send(self, *, prop: _models.StringAndArrayCases, content_type: str = "application/json", **kwargs: Any) -> None: + def send(self, body: JSON, *, content_type: str = "application/json", **kwargs: Any) -> None: """send. - :keyword prop: Required. - :paramtype prop: ~typetest.union.models.StringAndArrayCases + :param body: Required. + :type body: JSON :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. Default value is "application/json". :paramtype content_type: str @@ -1815,11 +1815,11 @@ def get(self, **kwargs: Any) -> _models.GetResponse1: return deserialized # type: ignore @overload - def send(self, body: JSON, *, content_type: str = "application/json", **kwargs: Any) -> None: + def send(self, *, prop: _models.MixedLiteralsCases, content_type: str = "application/json", **kwargs: Any) -> None: """send. - :param body: Required. - :type body: JSON + :keyword prop: Required. + :paramtype prop: ~typetest.union.models.MixedLiteralsCases :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. Default value is "application/json". :paramtype content_type: str @@ -1829,11 +1829,11 @@ def send(self, body: JSON, *, content_type: str = "application/json", **kwargs: """ @overload - def send(self, *, prop: _models.MixedLiteralsCases, content_type: str = "application/json", **kwargs: Any) -> None: + def send(self, body: JSON, *, content_type: str = "application/json", **kwargs: Any) -> None: """send. - :keyword prop: Required. - :paramtype prop: ~typetest.union.models.MixedLiteralsCases + :param body: Required. + :type body: JSON :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. Default value is "application/json". :paramtype content_type: str @@ -1990,11 +1990,11 @@ def get(self, **kwargs: Any) -> _models.GetResponse: return deserialized # type: ignore @overload - def send(self, body: JSON, *, content_type: str = "application/json", **kwargs: Any) -> None: + def send(self, *, prop: _models.MixedTypesCases, content_type: str = "application/json", **kwargs: Any) -> None: """send. - :param body: Required. - :type body: JSON + :keyword prop: Required. + :paramtype prop: ~typetest.union.models.MixedTypesCases :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. Default value is "application/json". :paramtype content_type: str @@ -2004,11 +2004,11 @@ def send(self, body: JSON, *, content_type: str = "application/json", **kwargs: """ @overload - def send(self, *, prop: _models.MixedTypesCases, content_type: str = "application/json", **kwargs: Any) -> None: + def send(self, body: JSON, *, content_type: str = "application/json", **kwargs: Any) -> None: """send. - :keyword prop: Required. - :paramtype prop: ~typetest.union.models.MixedTypesCases + :param body: Required. + :type body: JSON :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. Default value is "application/json". :paramtype content_type: str diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 88dc0e72922..c687b37dc69 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -57,8 +57,8 @@ importers: specifier: ~1.0.2 version: 1.0.2 '@typespec/http-client-python': - specifier: ~0.6.5 - version: 0.6.5(344dqbupcyrxgrh4b4p3wdm4hy) + specifier: ~0.6.6 + version: 0.6.6(344dqbupcyrxgrh4b4p3wdm4hy) fs-extra: specifier: ~11.2.0 version: 11.2.0 @@ -79,8 +79,8 @@ importers: packages/typespec-python: dependencies: '@typespec/http-client-python': - specifier: ~0.6.5 - version: 0.6.5(344dqbupcyrxgrh4b4p3wdm4hy) + specifier: ~0.6.6 + version: 0.6.6(344dqbupcyrxgrh4b4p3wdm4hy) fs-extra: specifier: ~11.2.0 version: 11.2.0 @@ -1387,8 +1387,8 @@ packages: engines: {node: '>=18.0.0'} hasBin: true - '@typespec/http-client-python@0.6.5': - resolution: {integrity: sha512-NACeXs7zK6X8aoGC0f2yrbYm3cmkhKcJHfTWJEAsc07CJzGZ8VWkdGDxtWAOctpFVNG5TRTFSHVEIVKn2ycR/g==} + '@typespec/http-client-python@0.6.6': + resolution: {integrity: sha512-/TjWtsZv6UkZuJO044Ss837IoT0WBkKSyzBE04n0hlqh0sZdIF7niSuF3PPMO9/Y5lu1uq84x2gIGjCg0vca3g==} engines: {node: '>=18.0.0'} peerDependencies: '@azure-tools/typespec-autorest': '>=0.50.0 <1.0.0' @@ -5436,7 +5436,7 @@ snapshots: yaml: 2.5.1 yargs: 17.7.2 - '@typespec/http-client-python@0.6.5(344dqbupcyrxgrh4b4p3wdm4hy)': + '@typespec/http-client-python@0.6.6(344dqbupcyrxgrh4b4p3wdm4hy)': dependencies: '@azure-tools/typespec-autorest': 0.50.0(wbm4mzo6ukgu4r772ee7kwkave) '@azure-tools/typespec-azure-core': 0.50.0(@typespec/compiler@0.64.0)(@typespec/http@0.64.0(@typespec/compiler@0.64.0))(@typespec/rest@0.64.0(@typespec/compiler@0.64.0)(@typespec/http@0.64.0(@typespec/compiler@0.64.0)))