This commit is contained in:
Weidong Xu 2022-05-31 22:46:41 +08:00 коммит произвёл GitHub
Родитель 1aa7500290
Коммит 539078b009
Не найден ключ, соответствующий данной подписи
Идентификатор ключа GPG: 4AEE18F83AFDEB23
2 изменённых файлов: 44 добавлений и 31 удалений

Просмотреть файл

@ -334,3 +334,6 @@ packages/libs/codemodel/.resources
**/test/scenarios/expected/**/*.yaml **/test/scenarios/expected/**/*.yaml
**/test/scenarios/expected/**/*.json **/test/scenarios/expected/**/*.json
packages/extensions/core/test/plugins/*/expected/*.json packages/extensions/core/test/plugins/*/expected/*.json
# MICROSOFT SECURITY.md
/SECURITY.md

Просмотреть файл

@ -106,7 +106,7 @@ The flags listed here are still provisional. Code generated with these flags can
| ------------------------------------------------ | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | ------------------------------------------------ | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `--version-tolerant` | Whether you want to generate with our newer generator. The goal of this generator's generated code is to be more Pythonic, and to be tolerant to non-breaking version changes on the service side. This flag is still in preview, defaults to `false`. | | `--version-tolerant` | Whether you want to generate with our newer generator. The goal of this generator's generated code is to be more Pythonic, and to be tolerant to non-breaking version changes on the service side. This flag is still in preview, defaults to `false`. |
| `--low-level-client` | Whether you want to generate an SDK with only request builders and a `send_request` method on the client. Defaults to `false`. | | `--low-level-client` | Whether you want to generate an SDK with only request builders and a `send_request` method on the client. Defaults to `false`. |
| `-models-mode=msrest\|none` | Whether you want models for your SDK or not. Currently we only generate `msrest` models if models are wanted. Defaults to `msrest` for current AutoRest generation, and `none` for `low-level-client` and `version-tolerant` generations. | | `--models-mode=msrest\|none` | Whether you want models for your SDK or not. Currently we only generate `msrest` models if models are wanted. Defaults to `msrest` for current AutoRest generation, and `none` for `low-level-client` and `version-tolerant` generations. |
| `--show-send-request` | Whether you want the `send_request` method on your client to be public or not. Defaults to `true` for `version-tolerant` and `low-level-client` generations. | | `--show-send-request` | Whether you want the `send_request` method on your client to be public or not. Defaults to `true` for `version-tolerant` and `low-level-client` generations. |
| `--builders-visibility=public\|hidden\|embedded` | How visible you want your request builders to be. With `public`, you get a public rest layer with your request builders. With `private`, you still get a separate layer with your request builders, but it is hidden. Finally, with `embedded`, you get the builders embedded in your operations files. Defaults to `public` for `low-level-client`, `embedded` for others. | | `--builders-visibility=public\|hidden\|embedded` | How visible you want your request builders to be. With `public`, you get a public rest layer with your request builders. With `private`, you still get a separate layer with your request builders, but it is hidden. Finally, with `embedded`, you get the builders embedded in your operations files. Defaults to `public` for `low-level-client`, `embedded` for others. |
| `--show-operations` | Whether to generate operations for your client and operation groups. Defaults to `true` for non-`low-level-client` generations. | | `--show-operations` | Whether to generate operations for your client and operation groups. Defaults to `true` for non-`low-level-client` generations. |
@ -122,32 +122,39 @@ The flags listed here are still provisional. Code generated with these flags can
## Java Flags ## Java Flags
| Flag | Description | | Flag | Description |
| -------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | ---------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `--azure-libraries-for-java-folder=DIRECTORY` | The path to the root directory of your [`azure-sdk-for-java`][azure_sdk_for_java] clone. Be sure to note that we include `sdk` in the folder path. | | `--java-sdks-folder=DIRECTORY` | The path to the root directory of your [`azure-sdk-for-java`][azure_sdk_for_java] clone. Be sure to note that we include `sdk` in the folder path. |
| `--fluent=LITE\|PREMIUM` | Enables Java's fluent generator, generating a set of fluent Java interfaces for a guided and convenient user experience for the client library. Currently used by Azure management libraries. `LITE` for Fluent Lite; `PREMIUM` for Fluent Premium. Default is `PREMIUM` if provided as other values. See [the java docs][fluent_docs] for all of the Fluent specific flags. | | `--fluent=LITE\|PREMIUM` | Enables Java's fluent generator, generating a set of fluent Java interfaces for a guided and convenient user experience for the client library. Currently used by Azure management libraries. `LITE` for Fluent Lite; `PREMIUM` for Fluent Premium. Default is `PREMIUM` if provided as other values. See [the java docs][fluent_docs] for all of the Fluent specific flags. |
| `--regenerate-pom` | Whether to regenerate the pom file in your project. See [here][pom] for more information on what a pom file is. Defaults to `false`. | | `--data-plane` | Enables Java's DPG, generating a minimal data-plane client. See [the java docs][java_exception] for details. |
| `--generate-client-as-impl` | Append "Impl" to the names of service clients and method groups and place them in the `implementation` sub-package. Defaults to `false`. | | `--regenerate-pom` | Whether to regenerate the pom file in your project. See [here][pom] for more information on what a pom file is. Defaults to `false`. |
| `--generate-client-interfaces` | Generates interfaces for all the "Impl"s. Forces `--generate-client-as-impl` to `true`, and generates an interface for it as well. Defaults to `false`. | | `--generate-client-as-impl` | Append "Impl" to the names of service clients and method groups and place them in the `implementation` sub-package. Defaults to `false`. |
| `--generate-sync-async-clients` | Generates sync and async convenience layer clients for all the "Impl"s. Forces `--generate-client-as-impl` to `true`. Defaults to `false`. | | `--generate-client-interfaces` | Generates interfaces for all the "Impl"s. Forces `--generate-client-as-impl` to `true`, and generates an interface for it as well. Defaults to `false`. |
| `--implementation-subpackage=NAME` | The sub-package that the Service client and Method Group client implementation classes will be put into. Defaults to `implementation`. | | `--generate-sync-async-clients` | Generates sync and async convenience layer clients for all the "Impl"s. Forces `--generate-client-as-impl` to `true`. Defaults to `false`. |
| `--models-subpackage=NAME` | The sub-package that Enums, Exceptions, and Model types will be put into. Defaults to `models`. | | `--implementation-subpackage=NAME` | The sub-package that the Service client and Method Group client implementation classes will be put into. Defaults to `implementation`. |
| `--add-context-parameter` | Indicates whether the [`com.azure.core.util.Context`][java_context] parameter should be included in generated proxy methods. Use if you want to pass arbitrary data (key-value pairs) to pipeline policies. Defaults to `false`. | | `--models-subpackage=NAME` | The sub-package that Enums, Exceptions, and Model types will be put into. Defaults to `models`. |
| `--context-client-method-parameter` | Indicates whether the [`com.azure.core.util.Context`][java_context] parameter should also be included in generated client methods. Forces `--add-context-parameter` to `true`. Defaults to `false`. | | `--add-context-parameter` | Indicates whether the [`com.azure.core.util.Context`][java_context] parameter should be included in generated proxy methods. Use if you want to pass arbitrary data (key-value pairs) to pipeline policies. Defaults to `false`. |
| `--sync-methods=all\|essential\|none` | Specifies mode for generating sync wrappers. Supported values are <br>&nbsp;&nbsp;`essential` - generates only one sync returning body or header (default) <br>&nbsp;&nbsp;`all` - generates one sync method for each async method<br>&nbsp;&nbsp;`none` - does not generate any sync methods | | `--context-client-method-parameter` | Indicates whether the [`com.azure.core.util.Context`][java_context] parameter should also be included in generated client methods. Forces `--add-context-parameter` to `true`. Defaults to `false`. |
| `--required-parameter-client-methods` | Indicates whether client method overloads with only required parameters should be generated. Defaults to `false`. | | `--sync-methods=all\|essential\|none` | Specifies mode for generating sync wrappers. Supported values are <br>&nbsp;&nbsp;`essential` - generates only one sync returning body or header (default) <br>&nbsp;&nbsp;`all` - generates one sync method for each async method<br>&nbsp;&nbsp;`none` - does not generate any sync methods |
| `--custom-types-subpackage=VALUE` | The sub-package that the custom types should be generated in. The types that custom types reference, or inherit from will also be automatically moved to this sub-package. **Recommended usage**: You can set this value to `models` and set `--models-subpackage=implementation.models`to generate models to `implementation.models` by default and pick specific models to be public through `--custom-types`. | | `--required-parameter-client-methods` | Indicates whether client method overloads with only required parameters should be generated. Defaults to `false`. |
| `--custom-types=VALUE(S)` | Specifies a list of files to put in the package specified in `--custom-types-subpackage`. You can pass multiple values in using CSV format. | | `--custom-types-subpackage=NAME` | The sub-package that the custom types should be generated in. The types that custom types reference, or inherit from will also be automatically moved to this sub-package. **Recommended usage**: You can set this value to `models` and set `--models-subpackage=implementation.models`to generate models to `implementation.models` by default and pick specific models to be public through `--custom-types`. |
| `--client-type-prefix=PREFIX` | The prefix that will be added to each generated client type. | | `--custom-types=NAME(S)` | Specifies a list of files to put in the package specified in `--custom-types-subpackage`. You can pass multiple values in using CSV format. |
| `--model-override-setter-from-superclass` | Indicates whether to override the superclass setter method in model. Defaults to `false`. | | `--client-type-prefix=PREFIX` | The prefix that will be added to each generated client type. |
| `--non-null-annotations` | Whether or not to add the `@NotNull` annotation to required parameters in client methods. Defaults to `false`. | | `--model-override-setter-from-superclass` | Indicates whether to override the superclass setter method in model. Defaults to `false`. **Recommended usage**: Set to `true`. |
| `--client-logger` | Whether the client should log by default. Defaults to `false`. | | `--non-null-annotations` | Whether or not to add the `@NotNull` annotation to required parameters in client methods. Defaults to `false`. |
| `--required-fields-as-ctor-args` | Whether an object's required fields should be specified as arguments to its constructor. Defaults to `false`. | | `--client-logger` | Whether the client should log by default. Defaults to `false`. |
| `--service-interface-as-public` | Whether the service's interface should be set as public. Defaults to `false`. | | `--required-fields-as-ctor-args` | Whether an object's required fields should be specified as arguments to its constructor. Defaults to `false`. |
| `--artifact-id` | The name of your project jar without its version. See [here][artifact_id] for more information about an artifact id. | | `--service-interface-as-public` | Whether the service's interface should be set as public. Defaults to `false`. |
| `--credential-types=TokenCredential\|AzureKeyCredential\|None` | The type of credential if `--add-credential` is specified. Defaults to `None`. | | `--artifact-id=NAME` | The name of your project jar without its version. See [here][artifact_id] for more information about an artifact id. |
| `--customization-jar-path=FILEPATH` | Pass in the path to your .jar file that contains customizations to the output files. This will allow AutoRest to dynamically load the class you provide in `--customization-class`. | | `--polling` | The configuration on the generation of long running operations. See [the java docs][java_polling] for details. |
| `--customization-class=NAME` | Use in conjunction with `--customization-jar-path`. That flag tells AutoRest where to look for your custom class, while `--customization-class` tells AutoRest the name of your custom class. | | `--default-http-exception-type=NAME` | The fully-qualified class name that should be used as the default HTTP exception type. The class must extend from `HttpResponseException`. |
| `--use-default-http-status-code-to-exception-type-mapping` | Indicates whether a default HTTP status code to exception mapping should be used if one isn't provided. Defaults to `false`. **Recommended usage**: Set to `true`. |
| `--http-status-code-to-exception-type-mapping` | The HTTP status code to exception mapping that should be used. All exception types must be fully-qualified and extend from `HttpResponseException`. See [the java docs][java_exception] for details. |
| `--custom-strongly-typed-header-deserialization` | Indicates whether strongly-typed HTTP header objects will use custom desrialization instead of Jackson Databind's convertValue method, providing substantial performance benefits. Defaults to `false`. **Recommended usage**: Set to `true`. |
| `--generic-response-type` | Indicates that generic response types are used instead of named response types that extend the generic type. Defaults to `false`. |
| `--customization-jar-path=FILEPATH` | Pass in the path to your .jar file that contains customizations to the output files. This will allow AutoRest to dynamically load the class you provide in `--customization-class`. |
| `--customization-class=NAME` | Use in conjunction with `--customization-jar-path`. That flag tells AutoRest where to look for your custom class, while `--customization-class` tells AutoRest the name of your custom class. |
| `--skip-formatting` | Indicates whether to skip formatting Java file. Defaults to `false`. **Recommended usage**: Set to `true` for diagnosis, when AutoRest fails due to syntax error in generated Java code. |
## TypeScript Flags ## TypeScript Flags
@ -190,8 +197,8 @@ The flags listed here are still provisional. Code generated with these flags can
<!-- LINKS --> <!-- LINKS -->
[tracing_quickstart]: https://github.com/Azure/azure-sdk-for-python/blob/master/sdk/core/azure-core-tracing-opentelemetry/README.md [tracing_quickstart]: https://github.com/Azure/azure-sdk-for-python/blob/main/sdk/core/azure-core-tracing-opentelemetry/README.md
[azure_sdk_for_python]: https://github.com/Azure/azure-sdk-for-python/tree/master/sdk [azure_sdk_for_python]: https://github.com/Azure/azure-sdk-for-python/tree/main/sdk
[mgmt_plane_section]: https://github.com/Azure/autorest/blob/main/docs/generate/readme.md#generating-management-plane-code [mgmt_plane_section]: https://github.com/Azure/autorest/blob/main/docs/generate/readme.md#generating-management-plane-code
[setup_py]: https://packaging.python.org/tutorials/packaging-projects/#creating-setup-py [setup_py]: https://packaging.python.org/tutorials/packaging-projects/#creating-setup-py
[multiapi_section]: https://github.com/Azure/autorest/blob/main/docs/generate/readme.md#generating-multi-api-code [multiapi_section]: https://github.com/Azure/autorest/blob/main/docs/generate/readme.md#generating-multi-api-code
@ -201,11 +208,14 @@ The flags listed here are still provisional. Code generated with these flags can
[shared_generator_assets]: https://github.com/Azure/autorest.csharp/tree/feature/v3/src/assets/Generator.Shared [shared_generator_assets]: https://github.com/Azure/autorest.csharp/tree/feature/v3/src/assets/Generator.Shared
[shared_azure_core_assets]: https://github.com/Azure/autorest.csharp/tree/feature/v3/src/assets/Azure.Core.Shared [shared_azure_core_assets]: https://github.com/Azure/autorest.csharp/tree/feature/v3/src/assets/Azure.Core.Shared
[autorest_csharp]: https://github.com/Azure/autorest.csharp [autorest_csharp]: https://github.com/Azure/autorest.csharp
[azure_sdk_for_java]: https://github.com/Azure/azure-sdk-for-java/tree/master/sdk [azure_sdk_for_java]: https://github.com/Azure/azure-sdk-for-java/tree/main/sdk
[pom]: https://maven.apache.org/guides/introduction/introduction-to-the-pom.html#what-is-a-pom [pom]: https://maven.apache.org/guides/introduction/introduction-to-the-pom.html#what-is-a-pom
[java_context]: https://azuresdkdocs.blob.core.windows.net/$web/java/azure-core/1.0.0/index.html?com/azure/core/util/Context.html [java_context]: https://azuresdkdocs.blob.core.windows.net/$web/java/azure-core/latest/com/azure/core/util/Context.html
[artifact_id]: https://maven.apache.org/guides/mini/guide-naming-conventions.html [artifact_id]: https://maven.apache.org/guides/mini/guide-naming-conventions.html
[fluent_docs]: https://github.com/Azure/autorest.java#additional-settings-for-fluent [fluent_docs]: https://github.com/Azure/autorest.java#additional-settings-for-fluent
[java_polling]: https://github.com/Azure/autorest.java#polling-configuration
[java_exception]: https://github.com/Azure/autorest.java#http-status-code-to-exception-type-handling
[java_dpg]: https://github.com/Azure/autorest.java#settings-for-minimal-data-plane-clients
[armcore_connection]: https://github.com/Azure/azure-sdk-for-go/blob/main/sdk/azcore/arm/connection.go [armcore_connection]: https://github.com/Azure/azure-sdk-for-go/blob/main/sdk/azcore/arm/connection.go
[debugging]: https://github.com/Azure/autorest/blob/main/docs/troubleshooting.md#debugging [debugging]: https://github.com/Azure/autorest/blob/main/docs/troubleshooting.md#debugging
[black]: https://pypi.org/project/black/ [black]: https://pypi.org/project/black/