Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Remove unnecessary doc for model which is only used for output #2629

Merged
merged 2 commits into from
Jun 11, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 8 additions & 0 deletions .chronus/changes/add-usage-2024-5-11-16-39-4.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
---
changeKind: internal
packages:
- "@autorest/python"
- "@azure-tools/typespec-python"
---

Remove unnecessary doc for model which is only used for output
15 changes: 15 additions & 0 deletions packages/autorest.python/autorest/codegen/models/model_type.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@
# Licensed under the MIT License. See License.txt in the project root for
# license information.
# --------------------------------------------------------------------------
from enum import Enum
from collections import OrderedDict
from typing import Any, Dict, List, Optional, TYPE_CHECKING, cast
import sys
Expand All @@ -24,6 +25,15 @@
from .code_model import CodeModel


class UsageFlags(Enum):
Default = 0
Input = 2
Output = 4
ApiVersionEnum = 8
JsonMergePatch = 16
MultipartFormData = 32


def _get_properties(type: "ModelType", properties: List[Property]) -> List[Property]:
for parent in type.parents:
# here we're adding the properties from our parents
Expand Down Expand Up @@ -72,6 +82,11 @@ def __init__(
self.snake_case_name: str = self.yaml_data["snakeCaseName"]
self.page_result_model: bool = self.yaml_data.get("pageResultModel", False)
self.cross_language_definition_id: Optional[str] = self.yaml_data.get("crossLanguageDefinitionId")
self.usage: int = self.yaml_data.get("usage", 0)

@property
def is_usage_output(self) -> bool:
return self.usage == UsageFlags.Output.value

@property
def flattened_property(self) -> Optional[Property]:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,8 +14,10 @@
{% endif %}
{% if (model.properties | selectattr('optional', "equalto", false) | first) is defined %}

{% if not model.is_usage_output %}
All required parameters must be populated in order to send to server.
{% endif %}
{% endif %}

{% if model.properties != None %}
{% for p in model.properties %}
Expand Down
1 change: 1 addition & 0 deletions packages/typespec-python/src/types.ts
Original file line number Diff line number Diff line change
Expand Up @@ -219,6 +219,7 @@ function emitModel<TServiceOperation extends SdkServiceOperation>(
base: type.isGeneratedName && fromBody ? "json" : "dpg",
internal: type.access === "internal",
crossLanguageDefinitionId: type.crossLanguageDefinitionId,
usage: type.usage,
};

typesMap.set(type, newValue);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,6 @@
class InvalidAuth(_model_base.Model):
"""InvalidAuth.

All required parameters must be populated in order to send to server.

:ivar error: Required.
:vartype error: str
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,6 @@
class InvalidAuth(_model_base.Model):
"""InvalidAuth.

All required parameters must be populated in order to send to server.

:ivar error: Required.
:vartype error: str
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,6 @@
class InvalidAuth(_model_base.Model):
"""InvalidAuth.

All required parameters must be populated in order to send to server.

:ivar error: Required.
:vartype error: str
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,6 @@ class AbstractModel(_model_base.Model):
You probably want to use the sub-classes and not this class directly. Known sub-classes are:
RealModel

All required parameters must be populated in order to send to server.

:ivar kind: Required. Default value is None.
:vartype kind: str
Expand All @@ -41,7 +40,6 @@ class AbstractModel(_model_base.Model):
class BaseModel(_model_base.Model):
"""Used in internal operations, should be generated but not exported.

All required parameters must be populated in order to send to server.

:ivar name: Required.
:vartype name: str
Expand All @@ -54,7 +52,6 @@ class BaseModel(_model_base.Model):
class InnerModel(_model_base.Model):
"""Used in internal operations, should be generated but not exported.

All required parameters must be populated in order to send to server.

:ivar name: Required.
:vartype name: str
Expand All @@ -67,7 +64,6 @@ class InnerModel(_model_base.Model):
class InternalDecoratorModelInInternal(_model_base.Model):
"""Used in an internal operation, should be generated but not exported.

All required parameters must be populated in order to send to server.

:ivar name: Required.
:vartype name: str
Expand All @@ -80,7 +76,6 @@ class InternalDecoratorModelInInternal(_model_base.Model):
class NoDecoratorModelInInternal(_model_base.Model):
"""Used in an internal operation, should be generated but not exported.

All required parameters must be populated in order to send to server.

:ivar name: Required.
:vartype name: str
Expand All @@ -93,7 +88,6 @@ class NoDecoratorModelInInternal(_model_base.Model):
class NoDecoratorModelInPublic(_model_base.Model):
"""Used in a public operation, should be generated and exported.

All required parameters must be populated in order to send to server.

:ivar name: Required.
:vartype name: str
Expand Down Expand Up @@ -123,7 +117,6 @@ def __init__(self, *args: Any, **kwargs: Any) -> None: # pylint: disable=useles
class OuterModel(BaseModel):
"""Used in internal operations, should be generated but not exported.

All required parameters must be populated in order to send to server.

:ivar name: Required.
:vartype name: str
Expand All @@ -138,7 +131,6 @@ class OuterModel(BaseModel):
class PublicDecoratorModelInInternal(_model_base.Model):
"""Used in an internal operation but with public decorator, should be generated and exported.

All required parameters must be populated in order to send to server.

:ivar name: Required.
:vartype name: str
Expand Down Expand Up @@ -168,7 +160,6 @@ def __init__(self, *args: Any, **kwargs: Any) -> None: # pylint: disable=useles
class PublicDecoratorModelInPublic(_model_base.Model):
"""Used in a public operation, should be generated and exported.

All required parameters must be populated in order to send to server.

:ivar name: Required.
:vartype name: str
Expand Down Expand Up @@ -198,7 +189,6 @@ def __init__(self, *args: Any, **kwargs: Any) -> None: # pylint: disable=useles
class RealModel(AbstractModel, discriminator="real"):
"""Used in internal operations, should be generated but not exported.

All required parameters must be populated in order to send to server.

:ivar name: Required.
:vartype name: str
Expand All @@ -213,7 +203,6 @@ class RealModel(AbstractModel, discriminator="real"):
class SharedModel(_model_base.Model):
"""Used by both public and internal operation. It should be generated and exported.

All required parameters must be populated in order to send to server.

:ivar name: Required.
:vartype name: str
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,6 @@ class FirstItem(_model_base.Model):

Readonly variables are only populated by the server, and will be ignored when sending a request.

All required parameters must be populated in order to send to server.

:ivar id: The id of the item. Required.
:vartype id: int
Expand Down Expand Up @@ -67,7 +66,6 @@ class SecondItem(_model_base.Model):

Readonly variables are only populated by the server, and will be ignored when sending a request.

All required parameters must be populated in order to send to server.

:ivar name: The name of the item. Required.
:vartype name: str
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,6 @@
class ExportedUser(_model_base.Model):
"""The exported user data.

All required parameters must be populated in order to send to server.

:ivar name: The name of user. Required.
:vartype name: str
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,6 @@ class User(_model_base.Model):

Readonly variables are only populated by the server, and will be ignored when sending a request.

All required parameters must be populated in order to send to server.

:ivar id: The user's id. Required.
:vartype id: int
Expand Down Expand Up @@ -82,7 +81,6 @@ def __init__(self, *args: Any, **kwargs: Any) -> None: # pylint: disable=useles
class UserActionResponse(_model_base.Model):
"""User action response.

All required parameters must be populated in order to send to server.

:ivar user_action_result: User action result. Required.
:vartype user_action_result: str
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -344,7 +344,6 @@ def __init__(self, *args: Any, **kwargs: Any) -> None: # pylint: disable=useles
class CountElementsResponse(_model_base.Model):
"""Response of the count for elements.

All required parameters must be populated in order to send to server.

:ivar value: Number of children resources in parent resource. Required.
:vartype value: int
Expand Down Expand Up @@ -374,7 +373,6 @@ def __init__(self, *args: Any, **kwargs: Any) -> None: # pylint: disable=useles
class CountDevicesResponse(CountElementsResponse):
"""Response to the action call for count devices in a catalog.

All required parameters must be populated in order to send to server.

:ivar value: Number of children resources in parent resource. Required.
:vartype value: int
Expand Down Expand Up @@ -735,7 +733,6 @@ def __init__(self, *args: Any, **kwargs: Any) -> None: # pylint: disable=useles
class DeviceInsight(_model_base.Model):
"""Device insight report.

All required parameters must be populated in order to send to server.

:ivar device_id: Device ID. Required.
:vartype device_id: str
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,6 @@
class Error(_model_base.Model):
"""The error object.

All required parameters must be populated in order to send to server.

:ivar code: One of a server-defined set of error codes. Required.
:vartype code: str
Expand Down Expand Up @@ -103,7 +102,6 @@ class GenerationResponse(_model_base.Model):

Readonly variables are only populated by the server, and will be ignored when sending a request.

All required parameters must be populated in order to send to server.

:ivar id: The unique ID of the operation. Required.
:vartype id: str
Expand Down Expand Up @@ -149,7 +147,6 @@ def __init__(self, *args: Any, **kwargs: Any) -> None: # pylint: disable=useles
class GenerationResult(_model_base.Model):
"""Result of the generation.

All required parameters must be populated in order to send to server.

:ivar data: The data. Required.
:vartype data: str
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,6 @@
class PngImageAsJson(_model_base.Model):
"""PngImageAsJson.

All required parameters must be populated in order to send to server.

:ivar content: Required.
:vartype content: bytes
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,6 @@
class User(_model_base.Model):
"""User model.

All required parameters must be populated in order to send to server.

:ivar name: User name. Required.
:vartype name: str
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -63,7 +63,6 @@ class Dinosaur(_model_base.Model):
You probably want to use the sub-classes and not this class directly. Known sub-classes are:
TRex

All required parameters must be populated in order to send to server.

:ivar kind: Required. Default value is None.
:vartype kind: str
Expand Down Expand Up @@ -240,7 +239,6 @@ def __init__(self, *args: Any, **kwargs: Any) -> None: # pylint: disable=useles
class TRex(Dinosaur, discriminator="t-rex"):
"""The second level legacy model in polymorphic single level inheritance.

All required parameters must be populated in order to send to server.

:ivar size: Required.
:vartype size: int
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -76,7 +76,6 @@ def __init__(self, *args: Any, **kwargs: Any) -> None: # pylint: disable=useles
class OutputRecord(_model_base.Model):
"""Record used in operation return type.

All required parameters must be populated in order to send to server.

:ivar required_prop: Required.
:vartype required_prop: str
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -126,7 +126,6 @@ def __init__(self, *args: Any, **kwargs: Any) -> None: # pylint: disable=useles
class GetResponse(_model_base.Model):
"""GetResponse.

All required parameters must be populated in order to send to server.

:ivar prop: Required.
:vartype prop: ~typetest.union.models.MixedTypesCases
Expand Down Expand Up @@ -156,7 +155,6 @@ def __init__(self, *args: Any, **kwargs: Any) -> None: # pylint: disable=useles
class GetResponse1(_model_base.Model):
"""GetResponse1.

All required parameters must be populated in order to send to server.

:ivar prop: Required.
:vartype prop: ~typetest.union.models.MixedLiteralsCases
Expand Down Expand Up @@ -186,7 +184,6 @@ def __init__(self, *args: Any, **kwargs: Any) -> None: # pylint: disable=useles
class GetResponse2(_model_base.Model):
"""GetResponse2.

All required parameters must be populated in order to send to server.

:ivar prop: Required.
:vartype prop: ~typetest.union.models.StringAndArrayCases
Expand Down Expand Up @@ -216,7 +213,6 @@ def __init__(self, *args: Any, **kwargs: Any) -> None: # pylint: disable=useles
class GetResponse3(_model_base.Model):
"""GetResponse3.

All required parameters must be populated in order to send to server.

:ivar prop: Required.
:vartype prop: ~typetest.union.models.EnumsOnlyCases
Expand Down Expand Up @@ -246,7 +242,6 @@ def __init__(self, *args: Any, **kwargs: Any) -> None: # pylint: disable=useles
class GetResponse4(_model_base.Model):
"""GetResponse4.

All required parameters must be populated in order to send to server.

:ivar prop: Required. Is either a Cat type or a Dog type.
:vartype prop: ~typetest.union.models.Cat or ~typetest.union.models.Dog
Expand Down Expand Up @@ -276,7 +271,6 @@ def __init__(self, *args: Any, **kwargs: Any) -> None: # pylint: disable=useles
class GetResponse5(_model_base.Model):
"""GetResponse5.

All required parameters must be populated in order to send to server.

:ivar prop: Required. Is one of the following types: float, float, float
:vartype prop: float or float or float
Expand Down Expand Up @@ -306,7 +300,6 @@ def __init__(self, *args: Any, **kwargs: Any) -> None: # pylint: disable=useles
class GetResponse6(_model_base.Model):
"""GetResponse6.

All required parameters must be populated in order to send to server.

:ivar prop: Required. Is one of the following types: Literal[1], Literal[2], Literal[3]
:vartype prop: int or int or int
Expand Down Expand Up @@ -336,7 +329,6 @@ def __init__(self, *args: Any, **kwargs: Any) -> None: # pylint: disable=useles
class GetResponse7(_model_base.Model):
"""GetResponse7.

All required parameters must be populated in order to send to server.

:ivar prop: Required. Known values are: "b" and "c".
:vartype prop: str or ~typetest.union.models.StringExtensibleNamedUnion
Expand Down Expand Up @@ -366,7 +358,6 @@ def __init__(self, *args: Any, **kwargs: Any) -> None: # pylint: disable=useles
class GetResponse8(_model_base.Model):
"""GetResponse8.

All required parameters must be populated in order to send to server.

:ivar prop: Required. Is one of the following types: Literal["b"], Literal["c"], str
:vartype prop: str or str or str
Expand Down Expand Up @@ -396,7 +387,6 @@ def __init__(self, *args: Any, **kwargs: Any) -> None: # pylint: disable=useles
class GetResponse9(_model_base.Model):
"""GetResponse9.

All required parameters must be populated in order to send to server.

:ivar prop: Required. Is one of the following types: Literal["a"], Literal["b"], Literal["c"]
:vartype prop: str or str or str
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,6 @@
class InvalidAuth(_model_base.Model):
"""InvalidAuth.

All required parameters must be populated in order to send to server.

:ivar error: Required.
:vartype error: str
Expand Down
Loading
Loading