diff --git a/README.md b/README.md index 9fccc0401d6..dfe3425798e 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ # Generating with Autorest for Python v5.0.0 -See [here](https://github.com/Azure/autorest.python/wiki/Generating-with-autorest-for-python-v5.0.0) +See [here](https://github.com/Azure/autorest.python/wiki/Generating-with-autorest-for-python-v5.0.0) for Python-specific docs, and [here] for general docs # Contributing @@ -131,3 +131,7 @@ scope-black/emitter: output-artifact: python-files ``` + + +[python_docs]: https://github.com/Azure/autorest.python/tree/autorestv3/docs/readme.md +[main_docs]: https://github.com/Azure/autorest/tree/master/docs \ No newline at end of file diff --git a/docs/client/initializing.md b/docs/client/initializing.md index c11395375df..e357b1c7a09 100644 --- a/docs/client/initializing.md +++ b/docs/client/initializing.md @@ -85,7 +85,7 @@ client = PetsClient(credential=DefaultAzureCredential(), api_version="v1") ``` -[multiapi_generation]: ../generate/multiapi.md +[multiapi_generation]: https://github.com/Azure/autorest.python/blob/autorestv3/docs/generate/multiapi.md [azure_core_library]: https://pypi.org/project/azure-core/ [msrest_library]: https://pypi.org/project/msrest/ [azure_mgmt_core_library]: https://pypi.org/project/azure-mgmt-core/ diff --git a/docs/client/models.md b/docs/client/models.md index 31af143eeb5..4e5bc8b5df2 100644 --- a/docs/client/models.md +++ b/docs/client/models.md @@ -36,4 +36,4 @@ v3_models = client.models(api_version='3.0.0') ``` -[models_ex]: ../samples/specification/multiapi/generated/azure/multiapi/sample/_multiapi_service_client.py#L91 +[models_ex]: https://github.com/Azure/autorest.python/blob/autorestv3/docs/samples/specification/multiapi/generated/azure/multiapi/sample/_multiapi_service_client.py#L91 diff --git a/docs/client/operations.md b/docs/client/operations.md index 00436da620a..b833dfea5eb 100644 --- a/docs/client/operations.md +++ b/docs/client/operations.md @@ -146,12 +146,12 @@ a pager that pages through the final lists of data. [operation_group_example]: https://github.com/Azure/azure-rest-api-specs/blob/master/specification/batch/data-plane/Microsoft.Batch/stable/2020-09-01.12.0/BatchService.json#L64 [mixin_example]: https://github.com/Azure/autorest/blob/master/docs/openapi/examples/pets.json#L20 [pets_swagger]: https://github.com/Azure/autorest/blob/master/docs/openapi/examples/pets.json -[initializing]: ./initializing.md +[initializing]: https://github.com/Azure/autorest.python/blob/autorestv3/docs/client/initializing.md [lro_poller]: https://docs.microsoft.com/python/api/azure-core/azure.core.polling.lropoller?view=azure-python -[custom_poller]: ../generate/directives.md#generate-with-a-custom-poller -[example_swagger]: ../samples/specification/directives/pollingPaging.json +[custom_poller]: https://github.com/Azure/autorest.python/blob/autorestv3/docs/generate/directives.md#generate-with-a-custom-poller +[example_swagger]: https://github.com/Azure/autorest/blob/master/docs/openapi/examples/pollingPaging.json [poller_guidelines]: https://azure.github.io/azure-sdk/python_design.html#service-operations [async_lro_poller]: https://docs.microsoft.com/python/api/azure-core/azure.core.polling.asynclropoller?view=azure-python [item_paged]: https://docs.microsoft.com/python/api/azure-core/azure.core.paging.itempaged?view=azure-python -[custom_pager]: ../generate/directives.md#generate-with-a-custom-pager +[custom_pager]: https://github.com/Azure/autorest.python/blob/autorestv3/docs/generate/directives.md#generate-with-a-custom-pager [async_item_paged]: https://docs.microsoft.com/python/api/azure-core/azure.core.async_paging.asyncitempaged?view=azure-python \ No newline at end of file diff --git a/docs/client/readme.md b/docs/client/readme.md index f1ea82ba0f2..9e65722ed7f 100644 --- a/docs/client/readme.md +++ b/docs/client/readme.md @@ -10,8 +10,8 @@ After [generating][generate] your client, this section tells you how to actually [generate]: https://github.com/Azure/autorest/tree/master/docs/generate/readme.md -[initializing]: ./initializing.md -[operations]: ./operations.md -[models]: ./models.md -[troubleshooting]: ./troubleshooting.md -[tracing]: ./tracing.md \ No newline at end of file +[initializing]: https://github.com/Azure/autorest.python/blob/autorestv3/docs/client/initializing.md +[operations]: https://github.com/Azure/autorest.python/blob/autorestv3/docs/client/operations.md +[models]: https://github.com/Azure/autorest.python/blob/autorestv3/docs/client/models.md +[troubleshooting]: https://github.com/Azure/autorest.python/blob/autorestv3/docs/client/troubleshooting.md +[tracing]: https://github.com/Azure/autorest.python/blob/autorestv3/docs/client/tracing.md \ No newline at end of file diff --git a/docs/developer/readme.md b/docs/developer/readme.md index e69de29bb2d..c8868ec51dc 100644 --- a/docs/developer/readme.md +++ b/docs/developer/readme.md @@ -0,0 +1,6 @@ +# Developing and Contributing to Python AutoRest + +Docs will be added. See the [main docs][main_docs] for some information. + + +[main_docs]: https://github.com/Azure/autorest/blob/master/docs/developer/readme.md \ No newline at end of file diff --git a/docs/faq.md b/docs/faq.md index fd848ed4e0f..8478dad80f5 100644 --- a/docs/faq.md +++ b/docs/faq.md @@ -15,5 +15,5 @@ -[min_dependencies]: ./client/initializing.md#minimum-dependencies-of-your-client +[min_dependencies]: https://github.com/Azure/autorest.python/blob/autorestv3/docs/client/initializing.md#minimum-dependencies-of-your-client [autorest_npm]: https://www.npmjs.com/package/@autorest/python \ No newline at end of file diff --git a/docs/generate/directives.md b/docs/generate/directives.md index bfe37dd3eb0..5e02c1a6f12 100644 --- a/docs/generate/directives.md +++ b/docs/generate/directives.md @@ -14,7 +14,7 @@ directive: ```` Additionally, they all require you to specify which operation you would like to modify. You refer to operation using it's path in the swagger, and the HTTP verb it's listed under. -So, if you were modifying the `put` operation under the path `/directives/polling`, your `where` part of the directive would look like `where: '$.paths["/directives/polling"].put'` +So, if you were modifying the `put` operation under the path `/basic/polling`, your `where` part of the directive would look like `where: '$.paths["/basic/polling"].put'` Where they differ is in the conditions your custom objects need to fulfill, how you mark the directive, and how they change the generated code. @@ -24,7 +24,7 @@ The following scenarios all use the [pollingPaging.json][polling_paging_swagger] * [Generate with a Custom Poller](#generate-with-a-custom-poller "Generate with a Custom Poller") * [Generate with a Custom Default Polling Method](#generate-with-a-custom-default-polling-method "Generate with a Custom Default Polling Method") * [Generate with a Custom Pager](#generate-with-a-custom-pager "Generate with a Custom Pager") -* [Generate with a Custom Paging Method](#generate-with-a-custom-paging-method "Generate with a Custom Paging Method") +* [Generate with a Custom Default Paging Method](#generate-with-a-custom-default-paging-method "Generate with a Custom Default Paging Method") ## Generate with a Custom Poller @@ -36,14 +36,14 @@ By default, a long running operation will generate with poller [`LROPoller`][lro 2. The initialization parameters must be the same as [`LROPoller`][lro_poller_docs]'s 3. If you want continuation token support on your poller, you need to implement class method `from_continuation_token` with the same method signature as [`LROPoller`][lro_poller_docs]'s -We will be modifying the long running operation in the [example swagger][polling_paging_swagger], so the `where` in our directive will be `where: '$.paths["/directives/polling"].put'` +We will be modifying the long running operation in the [example swagger][polling_paging_swagger], so the `where` in our directive will be `where: '$.paths["/basic/polling"].put'` We use `$["x-python-custom-poller-sync"]` and `$["x-python-custom-poller-async"]` to specify our sync and async custom pollers. You have to use the full import path of the custom poller you're specifying, i.e. `my.library.CustomPoller`. Putting this altogether, we get the following directive, which we will insert in our config file. ```yaml directive: from: swagger-document - where: '$.paths["/directives/polling"].put' + where: '$.paths["/basic/polling"].put' transform: > $["x-python-custom-poller-sync"] = "my.library.CustomPoller"; $["x-python-custom-poller-async"] = "my.library.aio.AsyncCustomPoller" @@ -73,7 +73,7 @@ We use `$["x-python-custom-default-polling-method-sync"]` and `$["x-python-custo ```yaml directive: from: swagger-document - where: '$.paths["/directives/polling"].put' + where: '$.paths["/basic/polling"].put' transform: > $["x-python-custom-default-polling-method-sync"] = "my.library.CustomDefaultPollingMethod"; $["x-python-custom-default-polling-method-async"] = "my.library.aio.AsyncCustomDefaultPollingMethod" @@ -95,14 +95,14 @@ By default, a paging operation will generate with pager [`ItemPaged`][item_paged 1. Your custom pager must have the same initialization parameters as [`ItemPaged`][item_paged_docs] -We will be modifying the paging operation in the [example swagger][polling_paging_swagger], so the `where` in our directive will be `where: '$.paths["/directives/paging"].get'` +We will be modifying the paging operation in the [example swagger][polling_paging_swagger], so the `where` in our directive will be `where: '$.paths["/basic/paging"].get'` We use `$["x-python-custom-pager-sync"]` and `$["x-python-custom-pager-async"]` to specify our sync and async custom pagers. You have to use the full import path of the custom pager you're specifying, i.e. `my.library.CustomPager`. Putting this altogether, we get the following directive, which we will insert in our config file. ```yaml directive: from: swagger-document - where: '$.paths["/directives/paging"].get' + where: '$.paths["/basic/paging"].get' transform: > $["x-python-custom-pager-sync"] = "my.library.CustomPager"; $["x-python-custom-pager-async"] = "my.library.aio.AsyncCustomPager" @@ -131,7 +131,7 @@ We use `$["x-python-custom-default-paging-method]` to specify our default pagin ```yaml directive: from: swagger-document - where: '$.paths["/directives/paging"].get' + where: '$.paths["/basic/paging"].get' transform: > $["x-python-custom-default-paging-method"] = "my.library.CustomDefaultPagingMethod"; ``` @@ -145,14 +145,14 @@ Here is the before and after of the generated code. # -For a full multiapi config example, see our [sample][sample_directives] +For a full directives config example, see our [sample][sample_directives] [main_docs]: https://github.com/Azure/autorest/tree/master/docs/generate/directives.md [lro_poller_docs]: https://docs.microsoft.com/python/api/azure-core/azure.core.polling.lropoller?view=azure-python [azure_core_pypi]: https://pypi.org/project/azure-core/ [async_lro_poller_docs]: https://docs.microsoft.com/python/api/azure-core/azure.core.polling.asynclropoller?view=azure-python -[polling_paging_swagger]: ../samples/specification/directives/pollingPaging.json +[polling_paging_swagger]: https://github.com/Azure/autorest/blob/master/docs/openapi/examples/pollingPaging.json [lro_base_polling_docs]: https://docs.microsoft.com/python/api/azure-core/azure.core.polling.base_polling.lrobasepolling?view=azure-python [async_lro_base_polling_docs]: https://docs.microsoft.com/python/api/azure-core/azure.core.polling.async_base_polling.asynclrobasepolling?view=azure-python @@ -163,4 +163,4 @@ For a full multiapi config example, see our [sample][sample_directives] [item_paged_docs]: https://docs.microsoft.com/python/api/azure-core/azure.core.paging.itempaged?view=azure-python [async_item_paged_docs]: https://docs.microsoft.com/python/api/azure-core/azure.core.async_paging.asyncitempaged?view=azure-python -[sample_directives]: ../samples/specification/directives/readme.md +[sample_directives]: https://github.com/Azure/autorest.python/blob/autorestv3/docs/samples/specification/directives/readme.md diff --git a/docs/generate/readme.md b/docs/generate/readme.md index 45b529d5c87..b495a0a2c89 100644 --- a/docs/generate/readme.md +++ b/docs/generate/readme.md @@ -7,5 +7,5 @@ Most of the information you'll need to generate a Python client can be found in [general]: https://github.com/Azure/autorest/tree/master/docs/generate/readme.md -[multiapi]: ./multiapi.md -[directives]: ./directives.md \ No newline at end of file +[multiapi]: https://github.com/Azure/autorest.python/blob/autorestv3/docs/generate/multiapi.md +[directives]: https://github.com/Azure/autorest.python/blob/autorestv3/docs/generate/directives.md \ No newline at end of file diff --git a/docs/migrate/readme.md b/docs/migrate/readme.md index 548f20d284b..626f57725eb 100644 --- a/docs/migrate/readme.md +++ b/docs/migrate/readme.md @@ -40,4 +40,4 @@ code for this, and you can see our [tracing docs][tracing_docs] for more informa [mypy]: https://mypy.readthedocs.io/en/stable/introduction.html [open_census]: https://opencensus.io/ [open_telemetry]: https://opentelemetry.io/ -[tracing_docs]: ../client/tracing.md \ No newline at end of file +[tracing_docs]: https://github.com/Azure/autorest.python/blob/autorestv3/docs/client/tracing.md \ No newline at end of file diff --git a/docs/readme.md b/docs/readme.md index 63ab5ad9a2e..2138bb4cfa9 100644 --- a/docs/readme.md +++ b/docs/readme.md @@ -23,15 +23,15 @@ These documents are Python-specific, see [our main docs][main_docs] for more gen 7. [Troubleshooting][troubleshooting] -[main_docs]: https://github.com/Azure/autorest/tree/master/docs +[main_docs]: https://github.com/Azure/autorest/tree/master/docs/readme.md [main_generate]: https://github.com/Azure/autorest/tree/master/docs/generate/readme.md -[python_generate]: ./generate/readme.md -[python_client]: ./client/readme.md -[main_client]: https://github.com/Azure/autorest/tree/master/docs/generate/client.md +[python_generate]: https://github.com/Azure/autorest.python/blob/autorestv3/docs/generate/readme.md +[python_client]: https://github.com/Azure/autorest.python/blob/autorestv3/docs/client/readme.md +[main_client]: https://github.com/Azure/autorest/tree/master/docs/client/readme.md [main_migrate]: https://github.com/Azure/autorest/tree/master/docs/migrate/readme.md -[python_migrate]: ./migrate/readme.md -[python_dev]: ./developer/readme.md -[main_dev]: https://github.com/Azure/autorest/tree/master/docs/dev/readme.md -[sample]: ./samples/readme.md -[faq]: ./faq.md -[troubleshooting]: ./troubleshooting.md +[python_migrate]: https://github.com/Azure/autorest.python/blob/autorestv3/docs/migrate/readme.md +[python_dev]: https://github.com/Azure/autorest.python/blob/autorestv3/docs/developer/readme.md +[main_dev]: https://github.com/Azure/autorest/tree/master/docs/developer/readme.md +[sample]: https://github.com/Azure/autorest.python/blob/autorestv3/docs/samples/readme.md +[faq]: https://github.com/Azure/autorest.python/blob/autorestv3/docs/faq.md +[troubleshooting]: https://github.com/Azure/autorest.python/blob/autorestv3/docs/troubleshooting.md diff --git a/docs/samples/readme.md b/docs/samples/readme.md index d005f741ccb..a1554cfd2af 100644 --- a/docs/samples/readme.md +++ b/docs/samples/readme.md @@ -11,13 +11,13 @@ Here are our samples for common generation scenarios |Generating with [`AzureKeyCredential`][azure_key_credential] | [readme.md][azure_key_credential_readme] | [generated][azure_key_credential_generated] -[basic_readme]: ./specification/basic/readme.md -[basic_generated]: ./specification/basic/generated +[basic_readme]: https://github.com/Azure/autorest.python/blob/autorestv3/docs/samples/specification/basic/readme.md +[basic_generated]: https://github.com/Azure/autorest.python/tree/autorestv3/docs/samples/specification/basic/generated [mgmt]: https://docs.microsoft.com/azure/azure-resource-manager/management/control-plane-and-data-plane#control-plane -[mgmt_readme]: ./specification/management/readme.md -[mgmt_generated]: ./specification/management/generated -[multiapi_readme]: ./specification/multiapi/readme.md -[multiapi_generated]: ./specification/multiapi/generated +[mgmt_readme]: https://github.com/Azure/autorest.python/blob/autorestv3/docs/samples/specification/management/readme.md +[mgmt_generated]: https://github.com/Azure/autorest.python/tree/autorestv3/docs/samples/specification/management/generated +[multiapi_readme]: https://github.com/Azure/autorest.python/blob/autorestv3/docs/samples/specification/multiapi/readme.md +[multiapi_generated]: https://github.com/Azure/autorest.python/tree/autorestv3/docs/samples/specification/multiapi/generated [azure_key_credential]: https://docs.microsoft.com/python/api/azure-core/azure.core.credentials.azurekeycredential?view=azure-python -[azure_key_credential_readme]: ./specification/azure_key_credential/readme.md -[azure_key_credential_generated]: ./specification/azure_key_credential/generated \ No newline at end of file +[azure_key_credential_readme]: https://github.com/Azure/autorest.python/blob/autorestv3/docs/samples/specification/azure_key_credential/readme.md +[azure_key_credential_generated]: https://github.com/Azure/autorest.python/tree/autorestv3/docs/samples/specification/azure_key_credential/generated \ No newline at end of file diff --git a/docs/samples/specification/directives/generated/azure/directives/sample/aio/operations/_polling_paging_example_operations.py b/docs/samples/specification/directives/generated/azure/directives/sample/aio/operations/_polling_paging_example_operations.py index 236c642a59e..76f58041030 100644 --- a/docs/samples/specification/directives/generated/azure/directives/sample/aio/operations/_polling_paging_example_operations.py +++ b/docs/samples/specification/directives/generated/azure/directives/sample/aio/operations/_polling_paging_example_operations.py @@ -70,7 +70,7 @@ async def _basic_polling_initial( return cls(pipeline_response, deserialized, {}) return deserialized - _basic_polling_initial.metadata = {'url': '/directives/polling'} # type: ignore + _basic_polling_initial.metadata = {'url': '/basic/polling'} # type: ignore async def begin_basic_polling( self, @@ -127,7 +127,7 @@ def get_long_running_output(pipeline_response): ) else: return AsyncCustomPoller(self._client, raw_result, get_long_running_output, polling_method) - begin_basic_polling.metadata = {'url': '/directives/polling'} # type: ignore + begin_basic_polling.metadata = {'url': '/basic/polling'} # type: ignore def basic_paging( self, @@ -187,4 +187,4 @@ async def get_next(next_link=None): return AsyncCustomPager( get_next, extract_data ) - basic_paging.metadata = {'url': '/directives/paging'} # type: ignore + basic_paging.metadata = {'url': '/basic/paging'} # type: ignore diff --git a/docs/samples/specification/directives/generated/azure/directives/sample/operations/_polling_paging_example_operations.py b/docs/samples/specification/directives/generated/azure/directives/sample/operations/_polling_paging_example_operations.py index e88542a917c..a128968390f 100644 --- a/docs/samples/specification/directives/generated/azure/directives/sample/operations/_polling_paging_example_operations.py +++ b/docs/samples/specification/directives/generated/azure/directives/sample/operations/_polling_paging_example_operations.py @@ -74,7 +74,7 @@ def _basic_polling_initial( return cls(pipeline_response, deserialized, {}) return deserialized - _basic_polling_initial.metadata = {'url': '/directives/polling'} # type: ignore + _basic_polling_initial.metadata = {'url': '/basic/polling'} # type: ignore def begin_basic_polling( self, @@ -132,7 +132,7 @@ def get_long_running_output(pipeline_response): ) else: return CustomPoller(self._client, raw_result, get_long_running_output, polling_method) - begin_basic_polling.metadata = {'url': '/directives/polling'} # type: ignore + begin_basic_polling.metadata = {'url': '/basic/polling'} # type: ignore def basic_paging( self, @@ -193,4 +193,4 @@ def get_next(next_link=None): return CustomPager( get_next, extract_data ) - basic_paging.metadata = {'url': '/directives/paging'} # type: ignore + basic_paging.metadata = {'url': '/basic/paging'} # type: ignore diff --git a/docs/samples/specification/directives/pollingPaging.json b/docs/samples/specification/directives/pollingPaging.json deleted file mode 100644 index 6cebec831ff..00000000000 --- a/docs/samples/specification/directives/pollingPaging.json +++ /dev/null @@ -1,116 +0,0 @@ -{ - "swagger": "2.0", - "info": { - "title": "Polling Paging Example", - "description": "Show polling and paging generation", - "version": "1.0.0" - }, - "host": "localhost:3000", - "schemes": [ - "http" - ], - "produces": [ - "application/json" - ], - "consumes": [ - "application/json" - ], - "paths": { - "/directives/polling": { - "put": { - "x-ms-long-running-operation": true, - "operationId": "basicPolling", - "description": "A simple polling operation.", - "parameters": [ - { - "name": "product", - "description": "Product to put", - "in": "body", - "schema": { - "$ref": "#/definitions/Product" - } - } - ], - "responses": { - "200": { - "description": "Initial response", - "schema": { - "$ref": "#/definitions/Product" - } - }, - "204": { - "description": "Final response" - }, - "default": { - "description": "Unexpected error", - "schema": { - "$ref": "#/definitions/Error" - } - } - } - } - }, - "/directives/paging": { - "get": { - "x-ms-pageable": { "nextLinkName": "nextLink" }, - "operationId": "basicPaging", - "description": "A simple paging operation.", - "responses": { - "200": { - "description": "Your paged items.", - "schema": { - "$ref": "#/definitions/ProductResult" - } - }, - "default": { - "description": "Unexpected error" - } - } - } - } - }, - "definitions": { - "Error": { - "type": "object", - "properties": { - "status": { - "type": "integer", - "format": "int32" - }, - "message": { - "type": "string" - } - } - }, - "ProductResult": { - "type": "object", - "properties": { - "value": { - "type": "array", - "items": { - "$ref": "#/definitions/Product" - } - }, - "nextLink": { - "type": "string" - } - } - }, - "Product": { - "type": "object", - "properties": { - "properties": { - "type": "object", - "properties": { - "id": { - "type": "integer" - }, - "name": { - "type": "string" - } - } - } - } - } - } - } diff --git a/docs/samples/specification/directives/readme.md b/docs/samples/specification/directives/readme.md index bdcc118b2e0..4b4531bf29d 100644 --- a/docs/samples/specification/directives/readme.md +++ b/docs/samples/specification/directives/readme.md @@ -3,7 +3,7 @@ ### Settings ``` yaml -input-file: pollingPaging.json +input-file: https://raw.githubusercontent.com/Azure/autorest/master/docs/openapi/examples/pollingPaging.json namespace: azure.directives.sample package-name: azure-directives-sample license-header: MICROSOFT_MIT_NO_VERSION @@ -17,7 +17,7 @@ clear-output-folder: true ```yaml directive: from: swagger-document - where: '$.paths["/directives/polling"].put' + where: '$.paths["/basic/polling"].put' transform: > $["x-python-custom-poller-sync"] = "my.library.CustomPoller"; $["x-python-custom-poller-async"] = "my.library.aio.AsyncCustomPoller" @@ -28,7 +28,7 @@ directive: ```yaml directive: from: swagger-document - where: '$.paths["/directives/polling"].put' + where: '$.paths["/basic/polling"].put' transform: > $["x-python-custom-default-polling-method-sync"] = "my.library.CustomDefaultPollingMethod"; $["x-python-custom-default-polling-method-async"] = "my.library.aio.AsyncCustomDefaultPollingMethod" @@ -40,7 +40,7 @@ directive: ```yaml directive: from: swagger-document - where: '$.paths["/directives/paging"].get' + where: '$.paths["/basic/paging"].get' transform: > $["x-python-custom-pager-sync"] = "my.library.CustomPager"; $["x-python-custom-pager-async"] = "my.library.aio.AsyncCustomPager" @@ -51,7 +51,7 @@ directive: ```yaml directive: from: swagger-document - where: '$.paths["/directives/paging"].get' + where: '$.paths["/basic/paging"].get' transform: > $["x-python-custom-default-paging-method"] = "my.library.CustomDefaultPagingMethod"; ``` diff --git a/docs/troubleshooting.md b/docs/troubleshooting.md index ac35a4eaf11..5b7e3a0f02a 100644 --- a/docs/troubleshooting.md +++ b/docs/troubleshooting.md @@ -45,8 +45,8 @@ Once debugging our code, you need to add this to the VSCode launch configuration Once this has been successfully added, all that's needed is to add flag `--python.debugger` on our command line. You should now be able to step through the Python generator's code base. -[main_docs]: https://github.com/Azure/autorest/tree/master/docs/generate/troubleshooting.md +[main_docs]: https://github.com/Azure/autorest/tree/master/docs/troubleshooting.md [autorest_issues]: https://github.com/Azure/autorest/issues [autorest_python_issues]: https://github.com/Azure/autorest.python/issues -[main_debugging]: https://github.com/Azure/autorest/tree/master/docs/generate/troubleshooting.md#debugging +[main_debugging]: https://github.com/Azure/autorest/tree/master/docs/troubleshooting.md#debugging [autorest_python_repo]: https://github.com/Azure/autorest.python/tree/autorestv3 \ No newline at end of file