Skip to content
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
12 changes: 10 additions & 2 deletions autorest/code_generator.py
Original file line number Diff line number Diff line change
Expand Up @@ -273,7 +273,15 @@ def process(self) -> bool:
# convert the names to python names
NameConverter.convert_yaml_names(yaml_code_model)

options = {'azure_arm': azure_arm, 'credential': azure_arm or self._autorestapi.get_boolean_value("add-credentials") or self._autorestapi.get_boolean_value('add-credential')}
credential_scopes = self._autorestapi.get_value('credential-scopes')
if not credential_scopes and azure_arm:
credential_scopes = "https://management.azure.com/.default"

options = {
'azure_arm': azure_arm,
'credential': azure_arm or self._autorestapi.get_boolean_value("add-credentials") or self._autorestapi.get_boolean_value('add-credential'),
"credential_scopes": credential_scopes.split(",") if credential_scopes else None
}

# save a new copy for debug
#self._autorestapi.write_file("code-model-v4-no-tags-python.yaml", yaml.safe_dump(yaml_code_model))
Expand Down Expand Up @@ -312,4 +320,4 @@ def main(yaml_model_file):
raise SystemExit("Process didn't finish gracefully")

if __name__ == "__main__":
main(sys.argv[1])
main(sys.argv[1])
6 changes: 5 additions & 1 deletion autorest/templates/config.py.jinja2
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
{% set version_import = ".._version" if async_mode else "._version" %}
{% set async_prefix = "Async" if async_mode else "" %}
{% set method_signature = code_model.global_parameters|join(', ', attribute='serialized_name') ~ (", " if code_model.global_parameters else "") %}
{% set credential_scopes = "*self.credential_scopes, " if code_model.options['credential_scopes'] else "" %}
{# actual template starts here #}
# coding=utf-8
# --------------------------------------------------------------------------
Expand Down Expand Up @@ -42,6 +43,9 @@ class {{ code_model.class_name }}Configuration(Configuration):
{% for parameter in code_model.global_parameters %}
self.{{ parameter.serialized_name }} = {{ parameter.serialized_name }}
{% endfor %}
{% if code_model.options['credential_scopes'] %}
self.credential_scopes = {{ code_model.options['credential_scopes'] }}
{% endif %}
self._configure(**kwargs)

self.user_agent_policy.add_user_agent('azsdk-python-{{ code_model.class_name|lower }}/{}'.format(VERSION))
Expand All @@ -60,5 +64,5 @@ class {{ code_model.class_name }}Configuration(Configuration):
self.authentication_policy = kwargs.get('authentication_policy')
{% if code_model.options['credential'] %}
if self.credential and not self.authentication_policy:
self.authentication_policy = policies.{{ async_prefix }}BearerTokenCredentialPolicy(self.credential, **kwargs)
self.authentication_policy = policies.{{ async_prefix }}BearerTokenCredentialPolicy(self.credential, {{ credential_scopes }}**kwargs)
{% endif %}