@typespec/http-client-python 0.4.4 → 0.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/emitter/emitter.d.ts.map +1 -1
- package/dist/emitter/emitter.js +85 -24
- package/dist/emitter/emitter.js.map +1 -1
- package/dist/emitter/lib.d.ts +1 -0
- package/dist/emitter/lib.d.ts.map +1 -1
- package/dist/emitter/lib.js +1 -0
- package/dist/emitter/lib.js.map +1 -1
- package/dist/emitter/run-python3.d.ts +2 -0
- package/dist/emitter/run-python3.d.ts.map +1 -0
- package/dist/emitter/run-python3.js +19 -0
- package/dist/emitter/run-python3.js.map +1 -0
- package/dist/emitter/system-requirements.d.ts +17 -0
- package/dist/emitter/system-requirements.d.ts.map +1 -0
- package/dist/emitter/system-requirements.js +167 -0
- package/dist/emitter/system-requirements.js.map +1 -0
- package/emitter/src/emitter.ts +88 -23
- package/emitter/src/lib.ts +2 -0
- package/emitter/src/run-python3.ts +20 -0
- package/emitter/src/system-requirements.ts +261 -0
- package/emitter/temp/tsconfig.tsbuildinfo +1 -1
- package/eng/scripts/ci/regenerate.ts +16 -4
- package/eng/scripts/setup/__pycache__/venvtools.cpython-38.pyc +0 -0
- package/eng/scripts/setup/build.ts +16 -0
- package/eng/scripts/setup/build_pygen_wheel.py +40 -0
- package/eng/scripts/setup/install.py +9 -3
- package/eng/scripts/setup/install.ts +32 -0
- package/eng/scripts/setup/prepare.py +3 -1
- package/eng/scripts/setup/prepare.ts +11 -0
- package/eng/scripts/setup/run-python3.ts +1 -6
- package/generator/build/lib/pygen/__init__.py +107 -0
- package/generator/build/lib/pygen/_version.py +7 -0
- package/generator/build/lib/pygen/black.py +71 -0
- package/generator/build/lib/pygen/codegen/__init__.py +357 -0
- package/generator/build/lib/pygen/codegen/_utils.py +17 -0
- package/generator/build/lib/pygen/codegen/models/__init__.py +204 -0
- package/generator/build/lib/pygen/codegen/models/base.py +186 -0
- package/generator/build/lib/pygen/codegen/models/base_builder.py +118 -0
- package/generator/build/lib/pygen/codegen/models/client.py +435 -0
- package/generator/build/lib/pygen/codegen/models/code_model.py +237 -0
- package/generator/build/lib/pygen/codegen/models/combined_type.py +149 -0
- package/generator/build/lib/pygen/codegen/models/constant_type.py +129 -0
- package/generator/build/lib/pygen/codegen/models/credential_types.py +214 -0
- package/generator/build/lib/pygen/codegen/models/dictionary_type.py +127 -0
- package/generator/build/lib/pygen/codegen/models/enum_type.py +238 -0
- package/generator/build/lib/pygen/codegen/models/imports.py +291 -0
- package/generator/build/lib/pygen/codegen/models/list_type.py +143 -0
- package/generator/build/lib/pygen/codegen/models/lro_operation.py +142 -0
- package/generator/build/lib/pygen/codegen/models/lro_paging_operation.py +32 -0
- package/generator/build/lib/pygen/codegen/models/model_type.py +357 -0
- package/generator/build/lib/pygen/codegen/models/operation.py +509 -0
- package/generator/build/lib/pygen/codegen/models/operation_group.py +184 -0
- package/generator/build/lib/pygen/codegen/models/paging_operation.py +155 -0
- package/generator/build/lib/pygen/codegen/models/parameter.py +412 -0
- package/generator/build/lib/pygen/codegen/models/parameter_list.py +387 -0
- package/generator/build/lib/pygen/codegen/models/primitive_types.py +659 -0
- package/generator/build/lib/pygen/codegen/models/property.py +170 -0
- package/generator/build/lib/pygen/codegen/models/request_builder.py +189 -0
- package/generator/build/lib/pygen/codegen/models/request_builder_parameter.py +115 -0
- package/generator/build/lib/pygen/codegen/models/response.py +348 -0
- package/generator/build/lib/pygen/codegen/models/utils.py +21 -0
- package/generator/build/lib/pygen/codegen/serializers/__init__.py +574 -0
- package/generator/build/lib/pygen/codegen/serializers/base_serializer.py +21 -0
- package/generator/build/lib/pygen/codegen/serializers/builder_serializer.py +1533 -0
- package/generator/build/lib/pygen/codegen/serializers/client_serializer.py +294 -0
- package/generator/build/lib/pygen/codegen/serializers/enum_serializer.py +15 -0
- package/generator/build/lib/pygen/codegen/serializers/general_serializer.py +213 -0
- package/generator/build/lib/pygen/codegen/serializers/import_serializer.py +126 -0
- package/generator/build/lib/pygen/codegen/serializers/metadata_serializer.py +198 -0
- package/generator/build/lib/pygen/codegen/serializers/model_init_serializer.py +33 -0
- package/generator/build/lib/pygen/codegen/serializers/model_serializer.py +335 -0
- package/generator/build/lib/pygen/codegen/serializers/operation_groups_serializer.py +89 -0
- package/generator/build/lib/pygen/codegen/serializers/operations_init_serializer.py +44 -0
- package/generator/build/lib/pygen/codegen/serializers/parameter_serializer.py +221 -0
- package/generator/build/lib/pygen/codegen/serializers/patch_serializer.py +19 -0
- package/generator/build/lib/pygen/codegen/serializers/request_builders_serializer.py +52 -0
- package/generator/build/lib/pygen/codegen/serializers/sample_serializer.py +168 -0
- package/generator/build/lib/pygen/codegen/serializers/test_serializer.py +292 -0
- package/generator/build/lib/pygen/codegen/serializers/types_serializer.py +31 -0
- package/generator/build/lib/pygen/codegen/serializers/utils.py +68 -0
- package/generator/build/lib/pygen/codegen/templates/client.py.jinja2 +37 -0
- package/generator/build/lib/pygen/codegen/templates/client_container.py.jinja2 +12 -0
- package/generator/build/lib/pygen/codegen/templates/config.py.jinja2 +73 -0
- package/generator/build/lib/pygen/codegen/templates/config_container.py.jinja2 +16 -0
- package/generator/build/lib/pygen/codegen/templates/conftest.py.jinja2 +28 -0
- package/generator/build/lib/pygen/codegen/templates/enum.py.jinja2 +13 -0
- package/generator/build/lib/pygen/codegen/templates/enum_container.py.jinja2 +10 -0
- package/generator/build/lib/pygen/codegen/templates/init.py.jinja2 +24 -0
- package/generator/build/lib/pygen/codegen/templates/keywords.jinja2 +27 -0
- package/generator/build/lib/pygen/codegen/templates/lro_operation.py.jinja2 +16 -0
- package/generator/build/lib/pygen/codegen/templates/lro_paging_operation.py.jinja2 +18 -0
- package/generator/build/lib/pygen/codegen/templates/macros.jinja2 +12 -0
- package/generator/build/lib/pygen/codegen/templates/metadata.json.jinja2 +167 -0
- package/generator/build/lib/pygen/codegen/templates/model_base.py.jinja2 +1174 -0
- package/generator/build/lib/pygen/codegen/templates/model_container.py.jinja2 +15 -0
- package/generator/build/lib/pygen/codegen/templates/model_dpg.py.jinja2 +97 -0
- package/generator/build/lib/pygen/codegen/templates/model_init.py.jinja2 +33 -0
- package/generator/build/lib/pygen/codegen/templates/model_msrest.py.jinja2 +92 -0
- package/generator/build/lib/pygen/codegen/templates/operation.py.jinja2 +21 -0
- package/generator/build/lib/pygen/codegen/templates/operation_group.py.jinja2 +75 -0
- package/generator/build/lib/pygen/codegen/templates/operation_groups_container.py.jinja2 +19 -0
- package/generator/build/lib/pygen/codegen/templates/operation_tools.jinja2 +81 -0
- package/generator/build/lib/pygen/codegen/templates/operations_folder_init.py.jinja2 +17 -0
- package/generator/build/lib/pygen/codegen/templates/packaging_templates/CHANGELOG.md.jinja2 +6 -0
- package/generator/build/lib/pygen/codegen/templates/packaging_templates/LICENSE.jinja2 +21 -0
- package/generator/build/lib/pygen/codegen/templates/packaging_templates/MANIFEST.in.jinja2 +8 -0
- package/generator/build/lib/pygen/codegen/templates/packaging_templates/README.md.jinja2 +107 -0
- package/generator/build/lib/pygen/codegen/templates/packaging_templates/dev_requirements.txt.jinja2 +9 -0
- package/generator/build/lib/pygen/codegen/templates/packaging_templates/setup.py.jinja2 +108 -0
- package/generator/build/lib/pygen/codegen/templates/paging_operation.py.jinja2 +21 -0
- package/generator/build/lib/pygen/codegen/templates/patch.py.jinja2 +19 -0
- package/generator/build/lib/pygen/codegen/templates/pkgutil_init.py.jinja2 +1 -0
- package/generator/build/lib/pygen/codegen/templates/request_builder.py.jinja2 +28 -0
- package/generator/build/lib/pygen/codegen/templates/request_builders.py.jinja2 +10 -0
- package/generator/build/lib/pygen/codegen/templates/rest_init.py.jinja2 +12 -0
- package/generator/build/lib/pygen/codegen/templates/sample.py.jinja2 +44 -0
- package/generator/build/lib/pygen/codegen/templates/serialization.py.jinja2 +2117 -0
- package/generator/build/lib/pygen/codegen/templates/test.py.jinja2 +50 -0
- package/generator/build/lib/pygen/codegen/templates/testpreparer.py.jinja2 +26 -0
- package/generator/build/lib/pygen/codegen/templates/types.py.jinja2 +7 -0
- package/generator/build/lib/pygen/codegen/templates/validation.py.jinja2 +38 -0
- package/generator/build/lib/pygen/codegen/templates/vendor.py.jinja2 +96 -0
- package/generator/build/lib/pygen/codegen/templates/version.py.jinja2 +4 -0
- package/generator/build/lib/pygen/m2r.py +65 -0
- package/generator/build/lib/pygen/preprocess/__init__.py +515 -0
- package/generator/build/lib/pygen/preprocess/helpers.py +27 -0
- package/generator/build/lib/pygen/preprocess/python_mappings.py +226 -0
- package/generator/build/lib/pygen/utils.py +163 -0
- package/generator/component-detection-pip-report.json +134 -0
- package/generator/dev_requirements.txt +0 -1
- package/generator/dist/pygen-0.1.0-py3-none-any.whl +0 -0
- package/generator/pygen.egg-info/PKG-INFO +7 -4
- package/generator/pygen.egg-info/requires.txt +7 -4
- package/generator/requirements.txt +5 -10
- package/generator/setup.py +7 -4
- package/generator/test/azure/requirements.txt +1 -1
- package/generator/test/unbranded/requirements.txt +1 -1
- package/package.json +6 -5
|
@@ -0,0 +1,108 @@
|
|
|
1
|
+
# coding=utf-8
|
|
2
|
+
{{ license_header }}
|
|
3
|
+
# coding: utf-8
|
|
4
|
+
{% if package_mode %}
|
|
5
|
+
import os
|
|
6
|
+
import re
|
|
7
|
+
{% endif -%}
|
|
8
|
+
from setuptools import setup, find_packages
|
|
9
|
+
|
|
10
|
+
{% set package_name = package_name or code_model.clients[0].name %}
|
|
11
|
+
|
|
12
|
+
PACKAGE_NAME = "{{ package_name|lower }}"
|
|
13
|
+
{% if package_mode -%}
|
|
14
|
+
PACKAGE_PPRINT_NAME = "{{ package_pprint_name }}"
|
|
15
|
+
|
|
16
|
+
# a-b-c => a/b/c
|
|
17
|
+
package_folder_path = PACKAGE_NAME.replace("-", "/")
|
|
18
|
+
|
|
19
|
+
# Version extraction inspired from 'requests'
|
|
20
|
+
with open(os.path.join(package_folder_path, "_version.py"), "r") as fd:
|
|
21
|
+
version = re.search(
|
|
22
|
+
r'^VERSION\s*=\s*[\'"]([^\'"]*)[\'"]', fd.read(), re.MULTILINE
|
|
23
|
+
).group(1)
|
|
24
|
+
|
|
25
|
+
if not version:
|
|
26
|
+
raise RuntimeError("Cannot find version information")
|
|
27
|
+
{% set description = "\"" + code_model.options["company_name"] + " {} Client Library for Python\".format(PACKAGE_PPRINT_NAME)" %}
|
|
28
|
+
{% set author_email = "azpysdkhelp@microsoft.com" %}
|
|
29
|
+
{% set url = "https://github.com/Azure/azure-sdk-for-python/tree/main/sdk" %}
|
|
30
|
+
{% else %}
|
|
31
|
+
version = "{{ package_version }}"
|
|
32
|
+
{% set description = "\"%s\""|format(package_name) %}
|
|
33
|
+
{% set long_description = code_model.description %}
|
|
34
|
+
{% set author_email = "" %}
|
|
35
|
+
{% set url = "" %}
|
|
36
|
+
{% endif -%}
|
|
37
|
+
|
|
38
|
+
setup(
|
|
39
|
+
name=PACKAGE_NAME,
|
|
40
|
+
version=version,
|
|
41
|
+
description={{ description }},
|
|
42
|
+
{% if package_mode %}
|
|
43
|
+
long_description=open("README.md", "r").read(),
|
|
44
|
+
long_description_content_type="text/markdown",
|
|
45
|
+
license="MIT License",
|
|
46
|
+
author="{{ code_model.options["company_name"] }} Corporation",
|
|
47
|
+
{% endif %}
|
|
48
|
+
{% if code_model.is_azure_flavor %}
|
|
49
|
+
author_email="{{ author_email }}",
|
|
50
|
+
url="{{ url }}",
|
|
51
|
+
keywords="azure, azure sdk",
|
|
52
|
+
{% endif %}
|
|
53
|
+
{% if package_mode %}
|
|
54
|
+
classifiers=[
|
|
55
|
+
"Development Status :: {{ dev_status }}",
|
|
56
|
+
"Programming Language :: Python",
|
|
57
|
+
"Programming Language :: Python :: 3 :: Only",
|
|
58
|
+
"Programming Language :: Python :: 3",
|
|
59
|
+
"Programming Language :: Python :: 3.8",
|
|
60
|
+
"Programming Language :: Python :: 3.9",
|
|
61
|
+
"Programming Language :: Python :: 3.10",
|
|
62
|
+
"Programming Language :: Python :: 3.11",
|
|
63
|
+
"Programming Language :: Python :: 3.12",
|
|
64
|
+
"License :: OSI Approved :: MIT License",
|
|
65
|
+
],
|
|
66
|
+
zip_safe=False,
|
|
67
|
+
packages=find_packages(
|
|
68
|
+
exclude=[
|
|
69
|
+
"tests",
|
|
70
|
+
{% if pkgutil_names %}
|
|
71
|
+
# Exclude packages that will be covered by PEP420 or nspkg
|
|
72
|
+
{% endif %}
|
|
73
|
+
{%- for pkgutil_name in pkgutil_names %}
|
|
74
|
+
"{{ pkgutil_name }}",
|
|
75
|
+
{%- endfor %}
|
|
76
|
+
]
|
|
77
|
+
),
|
|
78
|
+
include_package_data=True,
|
|
79
|
+
package_data={
|
|
80
|
+
'{{ code_model.namespace }}': ['py.typed'],
|
|
81
|
+
},
|
|
82
|
+
{% else %}
|
|
83
|
+
packages=find_packages(),
|
|
84
|
+
include_package_data=True,
|
|
85
|
+
{% endif %}
|
|
86
|
+
install_requires=[
|
|
87
|
+
{% if code_model.is_legacy %}
|
|
88
|
+
"msrest>=0.7.1",
|
|
89
|
+
{% else %}
|
|
90
|
+
"isodate>=0.6.1",
|
|
91
|
+
{% endif %}
|
|
92
|
+
{% if azure_arm %}
|
|
93
|
+
"azure-mgmt-core>=1.3.2",
|
|
94
|
+
{% elif code_model.is_azure_flavor %}
|
|
95
|
+
"azure-core>=1.30.0",
|
|
96
|
+
{% else %}
|
|
97
|
+
"corehttp[requests]",
|
|
98
|
+
{% endif %}
|
|
99
|
+
"typing-extensions>=4.6.0",
|
|
100
|
+
],
|
|
101
|
+
{% if package_mode %}
|
|
102
|
+
python_requires=">=3.8",
|
|
103
|
+
{% else %}
|
|
104
|
+
long_description="""\
|
|
105
|
+
{{ code_model.description }}
|
|
106
|
+
"""
|
|
107
|
+
{% endif %}
|
|
108
|
+
)
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
{% import 'operation_tools.jinja2' as op_tools with context %}
|
|
2
|
+
{# actual template starts here #}
|
|
3
|
+
{% if operation.overloads and operation.include_documentation %}
|
|
4
|
+
{{ op_tools.generate_overloads(operation_serializer, operation) }}
|
|
5
|
+
{% endif %}
|
|
6
|
+
{{ operation_serializer.method_signature_and_response_type_annotation(operation) }}
|
|
7
|
+
{% if operation.include_documentation %}
|
|
8
|
+
{{ op_tools.description(operation, operation_serializer) | indent }}{% endif %}
|
|
9
|
+
{% if not operation.abstract %}
|
|
10
|
+
{% if operation.deprecated %}
|
|
11
|
+
warnings.warn('Method {{operation.name}} is deprecated', DeprecationWarning)
|
|
12
|
+
{% endif %}
|
|
13
|
+
{% if operation_serializer.pop_kwargs_from_signature(operation) %}
|
|
14
|
+
{{ op_tools.serialize(operation_serializer.pop_kwargs_from_signature(operation)) | indent }}
|
|
15
|
+
{% endif %}
|
|
16
|
+
{{ op_tools.serialize(operation_serializer.set_up_params_for_pager(operation)) | indent }}
|
|
17
|
+
|
|
18
|
+
return {{ operation.get_pager(async_mode) }}(
|
|
19
|
+
get_next, extract_data
|
|
20
|
+
)
|
|
21
|
+
{% endif %}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
# ------------------------------------
|
|
2
|
+
# Copyright (c) {{ code_model.options["company_name"] }} Corporation.
|
|
3
|
+
# Licensed under the MIT License.
|
|
4
|
+
# ------------------------------------
|
|
5
|
+
"""Customize generated code here.
|
|
6
|
+
|
|
7
|
+
Follow our quickstart for examples: https://aka.ms/azsdk/python/dpcodegen/python/customize
|
|
8
|
+
"""
|
|
9
|
+
{{ imports }}
|
|
10
|
+
|
|
11
|
+
__all__: List[str] = [] # Add all objects you want publicly available to users at this package level
|
|
12
|
+
|
|
13
|
+
def patch_sdk():
|
|
14
|
+
"""Do not remove from this file.
|
|
15
|
+
|
|
16
|
+
`patch_sdk` is a last resort escape hatch that allows you to do customizations
|
|
17
|
+
you can't accomplish using the techniques described in
|
|
18
|
+
https://aka.ms/azsdk/python/dpcodegen/python/customize
|
|
19
|
+
"""
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
__path__ = __import__('pkgutil').extend_path(__path__, __name__) # type: ignore
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
{% import 'keywords.jinja2' as keywords with context %}
|
|
2
|
+
{% import 'operation_tools.jinja2' as op_tools with context %}
|
|
3
|
+
{{ request_builder_serializer.method_signature_and_response_type_annotation(request_builder) }}
|
|
4
|
+
{% if code_model.options["builders_visibility"] == "public" %}
|
|
5
|
+
{{ op_tools.description(request_builder, request_builder_serializer) | indent }}
|
|
6
|
+
{% endif %}
|
|
7
|
+
{% if not request_builder.is_overload %}
|
|
8
|
+
{% if request_builder_serializer.pop_kwargs_from_signature(request_builder) %}
|
|
9
|
+
{{ op_tools.serialize(request_builder_serializer.pop_kwargs_from_signature(request_builder)) | indent }}
|
|
10
|
+
{%- endif -%}
|
|
11
|
+
{% if request_builder_serializer.declare_non_inputtable_headers_queries(request_builder) %}
|
|
12
|
+
{{ op_tools.serialize(request_builder_serializer.declare_non_inputtable_headers_queries(request_builder)) | indent }}
|
|
13
|
+
{% endif %}
|
|
14
|
+
# Construct URL
|
|
15
|
+
{{ request_builder_serializer.construct_url(request_builder) }}
|
|
16
|
+
{% if request_builder.parameters.path %}
|
|
17
|
+
{{ op_tools.serialize(request_builder_serializer.serialize_path(request_builder)) | indent }}
|
|
18
|
+
_url: str = _url.format(**path_format_arguments) # type: ignore
|
|
19
|
+
{% endif %}
|
|
20
|
+
|
|
21
|
+
{% if request_builder.parameters.query %}
|
|
22
|
+
{{ op_tools.serialize(request_builder_serializer.serialize_query(request_builder)) | indent }}
|
|
23
|
+
{% endif %}
|
|
24
|
+
{% if request_builder.parameters.headers %}
|
|
25
|
+
{{ op_tools.serialize(request_builder_serializer.serialize_headers(request_builder)) | indent }}
|
|
26
|
+
{% endif %}
|
|
27
|
+
{{ op_tools.serialize(request_builder_serializer.create_http_request(request_builder)) | indent }}
|
|
28
|
+
{% endif %}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
{% import 'operation_tools.jinja2' as op_tools %}
|
|
2
|
+
# coding=utf-8
|
|
3
|
+
{{ code_model.options['license_header'] }}
|
|
4
|
+
{{ imports }}
|
|
5
|
+
|
|
6
|
+
{{ op_tools.declare_serializer(code_model) }}
|
|
7
|
+
{% for request_builder in request_builders %}
|
|
8
|
+
|
|
9
|
+
{% include "request_builder.py.jinja2" %}
|
|
10
|
+
{% endfor %}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
# coding=utf-8
|
|
2
|
+
{{ code_model.options['license_header'] }}
|
|
3
|
+
|
|
4
|
+
{% for request_builder in request_builders %}
|
|
5
|
+
from ._request_builders import {{ request_builder.name }}
|
|
6
|
+
{% endfor %}
|
|
7
|
+
|
|
8
|
+
__all__ = [
|
|
9
|
+
{% for request_builder in request_builders %}
|
|
10
|
+
'{{ request_builder.name }}',
|
|
11
|
+
{% endfor %}
|
|
12
|
+
]
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
# coding=utf-8
|
|
2
|
+
{% set aad_token = "DefaultAzureCredential" %}
|
|
3
|
+
{% set azure_key = "AzureKeyCredential" %}
|
|
4
|
+
{{ code_model.options['license_header'] }}
|
|
5
|
+
|
|
6
|
+
{{ imports }}
|
|
7
|
+
"""
|
|
8
|
+
# PREREQUISITES
|
|
9
|
+
{% if "credential" in client_params and aad_token in client_params["credential"] %}
|
|
10
|
+
pip install azure-identity
|
|
11
|
+
{% endif %}
|
|
12
|
+
pip install {{ (code_model.options["package_name"] or code_model.clients[0].name)|lower }}
|
|
13
|
+
# USAGE
|
|
14
|
+
python {{ file_name }}
|
|
15
|
+
{% if "credential" in client_params and aad_token in client_params["credential"] %}
|
|
16
|
+
|
|
17
|
+
Before run the sample, please set the values of the client ID, tenant ID and client secret
|
|
18
|
+
of the AAD application as environment variables: AZURE_CLIENT_ID, AZURE_TENANT_ID,
|
|
19
|
+
AZURE_CLIENT_SECRET. For more info about how to get the value, please see:
|
|
20
|
+
https://docs.microsoft.com/azure/active-directory/develop/howto-create-service-principal-portal
|
|
21
|
+
{% elif "credential" in client_params and azure_key in client_params["credential"] %}
|
|
22
|
+
|
|
23
|
+
Before run the sample, please set environment variables AZURE_KEY with real value
|
|
24
|
+
which can access your service
|
|
25
|
+
{% endif %}
|
|
26
|
+
"""
|
|
27
|
+
def main():
|
|
28
|
+
client = {{ code_model.clients[0].name }}(
|
|
29
|
+
{% for key,value in client_params.items() %}
|
|
30
|
+
{{ key }}={{ value }},
|
|
31
|
+
{% endfor %}
|
|
32
|
+
)
|
|
33
|
+
|
|
34
|
+
{{ return_var }}client{{ operation_group_name }}{{ operation_name }}(
|
|
35
|
+
{% for key, value in operation_params.items() %}
|
|
36
|
+
{{ key }}={{ value|indent(8) }},
|
|
37
|
+
{% endfor %}
|
|
38
|
+
){{ operation_result }}
|
|
39
|
+
|
|
40
|
+
{% if origin_file %}
|
|
41
|
+
# x-ms-original-file: {{ origin_file }}
|
|
42
|
+
{% endif %}
|
|
43
|
+
if __name__ == "__main__":
|
|
44
|
+
main()
|