From 5b38ffa3c25bd79beef3cc997b0b5bb96c9d172b Mon Sep 17 00:00:00 2001 From: iscai-msft Date: Fri, 31 Jul 2020 17:41:17 -0400 Subject: [PATCH 1/7] add credential-param-name for regular --- autorest/codegen/__init__.py | 94 +++++++++++++------ autorest/codegen/templates/config.py.jinja2 | 4 +- tasks.py | 5 +- .../_configuration.py | 2 +- .../aio/_configuration_async.py | 2 +- .../multiapicredentialdefaultpolicy/README.md | 1 + 6 files changed, 73 insertions(+), 35 deletions(-) diff --git a/autorest/codegen/__init__.py b/autorest/codegen/__init__.py index 782d782ff4e..bf5c0ec6232 100644 --- a/autorest/codegen/__init__.py +++ b/autorest/codegen/__init__.py @@ -122,15 +122,7 @@ def _create_code_model(self, yaml_data: Dict[str, Any], options: Dict[str, Union return code_model - def _build_code_model_options(self) -> Dict[str, Any]: - """Build en options dict from the user input while running autorest. - """ - azure_arm = self._autorestapi.get_boolean_value("azure-arm", False) - credential = ( - self._autorestapi.get_boolean_value("add-credentials", False) or - self._autorestapi.get_boolean_value("add-credential", False) - ) - + def _get_credential_scopes(self): credential_scopes_temp = self._autorestapi.get_value("credential-scopes") credential_scopes = credential_scopes_temp.split(",") if credential_scopes_temp else None if credential_scopes and not credential: @@ -142,6 +134,51 @@ def _build_code_model_options(self) -> Dict[str, Any]: "--credential-scopes takes a list of scopes in comma separated format. " "For example: --credential-scopes=https://cognitiveservices.azure.com/.default" ) + return credential_scopes + + def _get_credential_param(self, azure_arm, credential, credential_default_policy_type): + credential_scopes = self._get_credential_scopes() + credential_param_name = self._autorestapi.get_value('credential-param-name') + + if credential_default_policy_type == "BearerTokenCredentialPolicy": + if not credential_scopes: + if azure_arm: + credential_scopes = ["https://management.azure.com/.default"] + elif credential: + # If add-credential is specified, we still want to add a credential_scopes variable. + # Will make it an empty list so we can differentiate between this case and None + _LOGGER.warning( + "You have used the --add-credential flag but not the --credential-scopes flag " + "while generating non-management plane code. " + "This is not recommend because it forces the customer to pass credential scopes " + "through kwargs if they want to authenticate." + ) + credential_scopes = [] + if credential_param_name: + _LOGGER.warning( + "You have --credential-param-name passed in and not AzureKeyCredentialPolicy " + "as your default credential authentication policy. Since credential param name is tied " + "to AzureKeyCredentialPolicy, we will ignore your credential param name" + ) + credential_param_name = "" + else: + # currently the only other credential policy is AzureKeyCredentialPolicy + if credential_scopes: + _LOGGER.warning( + "You have --credential-default-policy-type as AzureKeyCredentialPolicy and a value for " + "--credential-scopes. Since credential scopes are tied to the BearerTokenCredentialPolicy, " + "we will ignore your credential scopes." + ) + credential_scopes = [] + if not credential_param_name: + _LOGGER.warning( + "You are using AzureKeyCredentialPolicy without passing in --credential-param-name." + "This is not recommended, since users will need to pass in the kwarg 'name' with the name " + "of the authentication header" + ) + return credential_scopes, credential_param_name + + def _handle_default_authentication_policy(self, azure_arm, credential): passed_in_credential_default_policy_type = ( self._autorestapi.get_value("credential-default-policy-type") or "BearerTokenCredentialPolicy" @@ -159,27 +196,23 @@ def _build_code_model_options(self) -> Dict[str, Any]: "BearerTokenCredentialPolicy or AzureKeyCredentialPolicy" ) - if credential_scopes and credential_default_policy_type != "BearerTokenCredentialPolicy": - _LOGGER.warning( - "You have --credential-default-policy-type not set as BearerTokenCredentialPolicy and a value for " - "--credential-scopes. Since credential scopes are tied to the BearerTokenCredentialPolicy, " - "we will ignore your credential scopes." - ) - credential_scopes = [] - - elif not credential_scopes and credential_default_policy_type == "BearerTokenCredentialPolicy": - if azure_arm: - credential_scopes = ["https://management.azure.com/.default"] - elif credential: - # If add-credential is specified, we still want to add a credential_scopes variable. - # Will make it an empty list so we can differentiate between this case and None - _LOGGER.warning( - "You have used the --add-credential flag but not the --credential-scopes flag " - "while generating non-management plane code. " - "This is not recommend because it forces the customer to pass credential scopes " - "through kwargs if they want to authenticate." - ) - credential_scopes = [] + credential_scopes, credential_param_name = self._get_credential_param(azure_arm, credential, credential_default_policy_type) + + return credential_default_policy_type, credential_scopes, credential_param_name + + + def _build_code_model_options(self) -> Dict[str, Any]: + """Build en options dict from the user input while running autorest. + """ + azure_arm = self._autorestapi.get_boolean_value("azure-arm", False) + credential = ( + self._autorestapi.get_boolean_value("add-credentials", False) or + self._autorestapi.get_boolean_value("add-credential", False) + ) + + credential_default_policy_type, credential_scopes, credential_param_name = self._handle_default_authentication_policy( + azure_arm, credential + ) license_header = self._autorestapi.get_value("header-text") @@ -194,6 +227,7 @@ def _build_code_model_options(self) -> Dict[str, Any]: "azure_arm": azure_arm, "credential": credential, "credential_scopes": credential_scopes, + "credential_param_name": credential_param_name, "head_as_boolean": self._autorestapi.get_boolean_value("head-as-boolean", False), "license_header": license_header, "keep_version_file": self._autorestapi.get_boolean_value("keep-version-file", False), diff --git a/autorest/codegen/templates/config.py.jinja2 b/autorest/codegen/templates/config.py.jinja2 index b441f2784fe..3d446218a98 100644 --- a/autorest/codegen/templates/config.py.jinja2 +++ b/autorest/codegen/templates/config.py.jinja2 @@ -88,6 +88,6 @@ class {{ code_model.class_name }}Configuration(Configuration): {% endif %} if self.credential and not self.authentication_policy: {% set credential_default_policy_type = ("Async" if (async_mode and code_model.options['credential_default_policy_type_has_async_version']) else "") + code_model.options['credential_default_policy_type'] %} - {% set bearer_token_specific_params = "*self.credential_scopes, " %} - self.authentication_policy = policies.{{ credential_default_policy_type }}(self.credential, {{ bearer_token_specific_params if "BearerTokenCredentialPolicy" in credential_default_policy_type }}**kwargs) + {% set credential_param_type = ("'" + code_model.options['credential_param_name'] + "', ") if code_model.options['credential_param_name'] else ("*self.credential_scopes, " if "BearerTokenCredentialPolicy" in credential_default_policy_type else "") %} + self.authentication_policy = policies.{{ credential_default_policy_type }}(self.credential, {{ credential_param_type if credential_param_type }}**kwargs) {% endif %} diff --git a/tasks.py b/tasks.py index 181ef9eb57b..2f302da1c66 100644 --- a/tasks.py +++ b/tasks.py @@ -149,6 +149,8 @@ def regen_expected(c, opts, debug): args.append(f"--override-info.description={opts['override-info.description']}") if opts.get('credential-default-policy-type'): args.append(f"--credential-default-policy-type={opts['credential-default-policy-type']}") + if opts.get('credential-param-name'): + args.append(f"--credential-param-name={opts['credential-param-name']}") if opts.get('package-name'): args.append(f"--package-name={opts['package-name']}") if opts.get('override-client-name'): @@ -262,7 +264,8 @@ def regenerate_credential_default_policy(c, debug=False): 'azure_arm': True, 'flattening_threshold': '1', 'ns_prefix': True, - 'credential-default-policy-type': 'AzureKeyCredentialPolicy' + 'credential-default-policy-type': 'AzureKeyCredentialPolicy', + 'credential-param-name': 'Authorization' } regen_expected(c, opts, debug) diff --git a/test/azure/Expected/AcceptanceTests/HeadWithAzureKeyCredentialPolicy/headwithazurekeycredentialpolicy/_configuration.py b/test/azure/Expected/AcceptanceTests/HeadWithAzureKeyCredentialPolicy/headwithazurekeycredentialpolicy/_configuration.py index 17b6ebc3e4c..5446639005a 100644 --- a/test/azure/Expected/AcceptanceTests/HeadWithAzureKeyCredentialPolicy/headwithazurekeycredentialpolicy/_configuration.py +++ b/test/azure/Expected/AcceptanceTests/HeadWithAzureKeyCredentialPolicy/headwithazurekeycredentialpolicy/_configuration.py @@ -60,4 +60,4 @@ def _configure( self.redirect_policy = kwargs.get('redirect_policy') or policies.RedirectPolicy(**kwargs) self.authentication_policy = kwargs.get('authentication_policy') if self.credential and not self.authentication_policy: - self.authentication_policy = policies.AzureKeyCredentialPolicy(self.credential, **kwargs) + self.authentication_policy = policies.AzureKeyCredentialPolicy(self.credential, 'Authorization', **kwargs) diff --git a/test/azure/Expected/AcceptanceTests/HeadWithAzureKeyCredentialPolicy/headwithazurekeycredentialpolicy/aio/_configuration_async.py b/test/azure/Expected/AcceptanceTests/HeadWithAzureKeyCredentialPolicy/headwithazurekeycredentialpolicy/aio/_configuration_async.py index 4f2540de428..f48c1bf1935 100644 --- a/test/azure/Expected/AcceptanceTests/HeadWithAzureKeyCredentialPolicy/headwithazurekeycredentialpolicy/aio/_configuration_async.py +++ b/test/azure/Expected/AcceptanceTests/HeadWithAzureKeyCredentialPolicy/headwithazurekeycredentialpolicy/aio/_configuration_async.py @@ -56,4 +56,4 @@ def _configure( self.redirect_policy = kwargs.get('redirect_policy') or policies.AsyncRedirectPolicy(**kwargs) self.authentication_policy = kwargs.get('authentication_policy') if self.credential and not self.authentication_policy: - self.authentication_policy = policies.AzureKeyCredentialPolicy(self.credential, **kwargs) + self.authentication_policy = policies.AzureKeyCredentialPolicy(self.credential, 'Authorization', **kwargs) diff --git a/test/multiapi/specification/multiapicredentialdefaultpolicy/README.md b/test/multiapi/specification/multiapicredentialdefaultpolicy/README.md index a3d66e06264..38837796209 100644 --- a/test/multiapi/specification/multiapicredentialdefaultpolicy/README.md +++ b/test/multiapi/specification/multiapicredentialdefaultpolicy/README.md @@ -30,6 +30,7 @@ license-header: MICROSOFT_MIT_NO_VERSION azure-arm: true add-credentials: true credential-default-policy-type: AzureKeyCredentialPolicy +credential-param-name: Authorization ``` ``` yaml $(multiapi) From 6b44c8a0d0a3f96f63087ece080f91b7db66cb99 Mon Sep 17 00:00:00 2001 From: iscai-msft Date: Fri, 31 Jul 2020 18:26:28 -0400 Subject: [PATCH 2/7] add for multiapi --- autorest/codegen/templates/metadata.json.jinja2 | 3 ++- autorest/multiapi/templates/multiapi_config.py.jinja2 | 4 ++-- .../asynctests/test_multiapi_credential_default_policy.py | 6 +++--- .../test_multiapi_credential_default_policy.py | 6 +++--- .../AcceptanceTests/Multiapi/multiapi/v1/_metadata.json | 3 ++- .../AcceptanceTests/Multiapi/multiapi/v2/_metadata.json | 3 ++- .../AcceptanceTests/Multiapi/multiapi/v3/_metadata.json | 3 ++- .../multiapicredentialdefaultpolicy/_configuration.py | 2 +- .../aio/_configuration_async.py | 2 +- .../multiapicredentialdefaultpolicy/v1/_configuration.py | 2 +- .../multiapicredentialdefaultpolicy/v1/_metadata.json | 3 ++- .../v1/aio/_configuration_async.py | 2 +- .../multiapicredentialdefaultpolicy/v2/_configuration.py | 2 +- .../multiapicredentialdefaultpolicy/v2/_metadata.json | 3 ++- .../v2/aio/_configuration_async.py | 2 +- .../multiapicredentialdefaultpolicy/v3/_configuration.py | 2 +- .../multiapicredentialdefaultpolicy/v3/_metadata.json | 3 ++- .../v3/aio/_configuration_async.py | 2 +- .../multiapicustombaseurl/v1/_metadata.json | 3 ++- .../multiapicustombaseurl/v2/_metadata.json | 3 ++- .../MultiapiDataPlane/multiapidataplane/v1/_metadata.json | 3 ++- .../MultiapiDataPlane/multiapidataplane/v2/_metadata.json | 3 ++- .../MultiapiDataPlane/multiapidataplane/v3/_metadata.json | 3 ++- .../MultiapiNoAsync/multiapinoasync/v1/_metadata.json | 3 ++- .../MultiapiNoAsync/multiapinoasync/v2/_metadata.json | 3 ++- .../MultiapiNoAsync/multiapinoasync/v3/_metadata.json | 3 ++- .../multiapiwithsubmodule/submodule/v1/_metadata.json | 3 ++- .../multiapiwithsubmodule/submodule/v2/_metadata.json | 3 ++- .../multiapiwithsubmodule/submodule/v3/_metadata.json | 3 ++- 29 files changed, 52 insertions(+), 34 deletions(-) diff --git a/autorest/codegen/templates/metadata.json.jinja2 b/autorest/codegen/templates/metadata.json.jinja2 index 89e8fefe0f3..1847c3b05a4 100644 --- a/autorest/codegen/templates/metadata.json.jinja2 +++ b/autorest/codegen/templates/metadata.json.jinja2 @@ -46,7 +46,8 @@ "credential": {{ code_model.options['credential'] | tojson }}, "credential_scopes": {{ code_model.options['credential_scopes'] | tojson }}, "credential_default_policy_type": {{ code_model.options['credential_default_policy_type'] | tojson }}, - "credential_default_policy_type_has_async_version": {{ code_model.options['credential_default_policy_type_has_async_version'] | tojson }} + "credential_default_policy_type_has_async_version": {{ code_model.options['credential_default_policy_type_has_async_version'] | tojson }}, + "credential_param_name": {{ code_model.options['credential_param_name'] | tojson }} }, "operation_groups": { {% for operation_group in code_model.operation_groups %} diff --git a/autorest/multiapi/templates/multiapi_config.py.jinja2 b/autorest/multiapi/templates/multiapi_config.py.jinja2 index c437fb076ba..ae267c78b38 100644 --- a/autorest/multiapi/templates/multiapi_config.py.jinja2 +++ b/autorest/multiapi/templates/multiapi_config.py.jinja2 @@ -103,6 +103,6 @@ class {{ client_name }}Configuration(Configuration): {% endif %} if self.credential and not self.authentication_policy: {% set credential_default_policy_type = ("Async" if (async_mode and config['credential_default_policy_type_has_async_version']) else "") + config['credential_default_policy_type'] %} - {% set bearer_token_specific_params = "*self.credential_scopes, " %} - self.authentication_policy = policies.{{ credential_default_policy_type }}(self.credential, {{ bearer_token_specific_params if "BearerTokenCredentialPolicy" in credential_default_policy_type }}**kwargs) + {% set credential_param_type = ("'" + config['credential_param_name'] + "', ") if config['credential_param_name'] else ("*self.credential_scopes, " if "BearerTokenCredentialPolicy" in credential_default_policy_type else "") %} + self.authentication_policy = policies.{{ credential_default_policy_type }}(self.credential, {{ credential_param_type if credential_param_type }}**kwargs) {% endif %} diff --git a/test/multiapi/AcceptanceTests/asynctests/test_multiapi_credential_default_policy.py b/test/multiapi/AcceptanceTests/asynctests/test_multiapi_credential_default_policy.py index 2857de8f3c3..be1ebacd29f 100644 --- a/test/multiapi/AcceptanceTests/asynctests/test_multiapi_credential_default_policy.py +++ b/test/multiapi/AcceptanceTests/asynctests/test_multiapi_credential_default_policy.py @@ -33,11 +33,11 @@ async def default_client(credential, authentication_policy): from multiapicredentialdefaultpolicy.aio import MultiapiServiceClient async with MultiapiServiceClient( base_url="http://localhost:3000", - credential="12345", - name="azure_key_credential_policy" + credential="12345" ) as default_client: await yield_(default_client) def test_multiapi_credential_default_policy_type(default_client): # making sure that the authentication policy is AzureKeyCredentialPolicy - assert isinstance(default_client._config.authentication_policy, AzureKeyCredentialPolicy) \ No newline at end of file + assert isinstance(default_client._config.authentication_policy, AzureKeyCredentialPolicy) + assert default_client._config.authentication_policy._name == "Authorization" \ No newline at end of file diff --git a/test/multiapi/AcceptanceTests/test_multiapi_credential_default_policy.py b/test/multiapi/AcceptanceTests/test_multiapi_credential_default_policy.py index 0812e088263..a6a7304b9c6 100644 --- a/test/multiapi/AcceptanceTests/test_multiapi_credential_default_policy.py +++ b/test/multiapi/AcceptanceTests/test_multiapi_credential_default_policy.py @@ -31,11 +31,11 @@ def default_client(authentication_policy): from multiapicredentialdefaultpolicy import MultiapiServiceClient with MultiapiServiceClient( base_url="http://localhost:3000", - credential="12345", - name="azure_key_credential_policy" + credential="12345" ) as default_client: yield default_client def test_multiapi_credential_default_policy_type(default_client): # making sure that the authentication policy is AzureKeyCredentialPolicy - assert isinstance(default_client._config.authentication_policy, AzureKeyCredentialPolicy) \ No newline at end of file + assert isinstance(default_client._config.authentication_policy, AzureKeyCredentialPolicy) + assert default_client._config.authentication_policy._name == "Authorization" \ No newline at end of file diff --git a/test/multiapi/Expected/AcceptanceTests/Multiapi/multiapi/v1/_metadata.json b/test/multiapi/Expected/AcceptanceTests/Multiapi/multiapi/v1/_metadata.json index e2e5d941054..0b97d070682 100644 --- a/test/multiapi/Expected/AcceptanceTests/Multiapi/multiapi/v1/_metadata.json +++ b/test/multiapi/Expected/AcceptanceTests/Multiapi/multiapi/v1/_metadata.json @@ -34,7 +34,8 @@ "credential": true, "credential_scopes": ["https://management.azure.com/.default"], "credential_default_policy_type": "BearerTokenCredentialPolicy", - "credential_default_policy_type_has_async_version": true + "credential_default_policy_type_has_async_version": true, + "credential_param_name": null }, "operation_groups": { "operation_group_one": "OperationGroupOneOperations" diff --git a/test/multiapi/Expected/AcceptanceTests/Multiapi/multiapi/v2/_metadata.json b/test/multiapi/Expected/AcceptanceTests/Multiapi/multiapi/v2/_metadata.json index f18aa8c5ba8..aee1e6903ba 100644 --- a/test/multiapi/Expected/AcceptanceTests/Multiapi/multiapi/v2/_metadata.json +++ b/test/multiapi/Expected/AcceptanceTests/Multiapi/multiapi/v2/_metadata.json @@ -34,7 +34,8 @@ "credential": true, "credential_scopes": ["https://management.azure.com/.default"], "credential_default_policy_type": "BearerTokenCredentialPolicy", - "credential_default_policy_type_has_async_version": true + "credential_default_policy_type_has_async_version": true, + "credential_param_name": null }, "operation_groups": { "operation_group_one": "OperationGroupOneOperations", diff --git a/test/multiapi/Expected/AcceptanceTests/Multiapi/multiapi/v3/_metadata.json b/test/multiapi/Expected/AcceptanceTests/Multiapi/multiapi/v3/_metadata.json index ede3c9471e5..3db4302e713 100644 --- a/test/multiapi/Expected/AcceptanceTests/Multiapi/multiapi/v3/_metadata.json +++ b/test/multiapi/Expected/AcceptanceTests/Multiapi/multiapi/v3/_metadata.json @@ -34,7 +34,8 @@ "credential": true, "credential_scopes": ["https://management.azure.com/.default"], "credential_default_policy_type": "BearerTokenCredentialPolicy", - "credential_default_policy_type_has_async_version": true + "credential_default_policy_type_has_async_version": true, + "credential_param_name": null }, "operation_groups": { "operation_group_one": "OperationGroupOneOperations", diff --git a/test/multiapi/Expected/AcceptanceTests/MultiapiCredentialDefaultPolicy/multiapicredentialdefaultpolicy/_configuration.py b/test/multiapi/Expected/AcceptanceTests/MultiapiCredentialDefaultPolicy/multiapicredentialdefaultpolicy/_configuration.py index c48d96248a0..2fb035348ed 100644 --- a/test/multiapi/Expected/AcceptanceTests/MultiapiCredentialDefaultPolicy/multiapicredentialdefaultpolicy/_configuration.py +++ b/test/multiapi/Expected/AcceptanceTests/MultiapiCredentialDefaultPolicy/multiapicredentialdefaultpolicy/_configuration.py @@ -56,4 +56,4 @@ def _configure( self.redirect_policy = kwargs.get('redirect_policy') or policies.RedirectPolicy(**kwargs) self.authentication_policy = kwargs.get('authentication_policy') if self.credential and not self.authentication_policy: - self.authentication_policy = policies.AzureKeyCredentialPolicy(self.credential, **kwargs) + self.authentication_policy = policies.AzureKeyCredentialPolicy(self.credential, 'Authorization', **kwargs) diff --git a/test/multiapi/Expected/AcceptanceTests/MultiapiCredentialDefaultPolicy/multiapicredentialdefaultpolicy/aio/_configuration_async.py b/test/multiapi/Expected/AcceptanceTests/MultiapiCredentialDefaultPolicy/multiapicredentialdefaultpolicy/aio/_configuration_async.py index fd448263f31..929b2ea80c7 100644 --- a/test/multiapi/Expected/AcceptanceTests/MultiapiCredentialDefaultPolicy/multiapicredentialdefaultpolicy/aio/_configuration_async.py +++ b/test/multiapi/Expected/AcceptanceTests/MultiapiCredentialDefaultPolicy/multiapicredentialdefaultpolicy/aio/_configuration_async.py @@ -54,4 +54,4 @@ def _configure( self.redirect_policy = kwargs.get('redirect_policy') or policies.AsyncRedirectPolicy(**kwargs) self.authentication_policy = kwargs.get('authentication_policy') if self.credential and not self.authentication_policy: - self.authentication_policy = policies.AzureKeyCredentialPolicy(self.credential, **kwargs) + self.authentication_policy = policies.AzureKeyCredentialPolicy(self.credential, 'Authorization', **kwargs) diff --git a/test/multiapi/Expected/AcceptanceTests/MultiapiCredentialDefaultPolicy/multiapicredentialdefaultpolicy/v1/_configuration.py b/test/multiapi/Expected/AcceptanceTests/MultiapiCredentialDefaultPolicy/multiapicredentialdefaultpolicy/v1/_configuration.py index 1006c793fa4..8cb8eea8512 100644 --- a/test/multiapi/Expected/AcceptanceTests/MultiapiCredentialDefaultPolicy/multiapicredentialdefaultpolicy/v1/_configuration.py +++ b/test/multiapi/Expected/AcceptanceTests/MultiapiCredentialDefaultPolicy/multiapicredentialdefaultpolicy/v1/_configuration.py @@ -60,4 +60,4 @@ def _configure( self.redirect_policy = kwargs.get('redirect_policy') or policies.RedirectPolicy(**kwargs) self.authentication_policy = kwargs.get('authentication_policy') if self.credential and not self.authentication_policy: - self.authentication_policy = policies.AzureKeyCredentialPolicy(self.credential, **kwargs) + self.authentication_policy = policies.AzureKeyCredentialPolicy(self.credential, 'Authorization', **kwargs) diff --git a/test/multiapi/Expected/AcceptanceTests/MultiapiCredentialDefaultPolicy/multiapicredentialdefaultpolicy/v1/_metadata.json b/test/multiapi/Expected/AcceptanceTests/MultiapiCredentialDefaultPolicy/multiapicredentialdefaultpolicy/v1/_metadata.json index 80bcbf991d5..3055f00236f 100644 --- a/test/multiapi/Expected/AcceptanceTests/MultiapiCredentialDefaultPolicy/multiapicredentialdefaultpolicy/v1/_metadata.json +++ b/test/multiapi/Expected/AcceptanceTests/MultiapiCredentialDefaultPolicy/multiapicredentialdefaultpolicy/v1/_metadata.json @@ -34,7 +34,8 @@ "credential": true, "credential_scopes": null, "credential_default_policy_type": "AzureKeyCredentialPolicy", - "credential_default_policy_type_has_async_version": false + "credential_default_policy_type_has_async_version": false, + "credential_param_name": "Authorization" }, "operation_groups": { "operation_group_one": "OperationGroupOneOperations" diff --git a/test/multiapi/Expected/AcceptanceTests/MultiapiCredentialDefaultPolicy/multiapicredentialdefaultpolicy/v1/aio/_configuration_async.py b/test/multiapi/Expected/AcceptanceTests/MultiapiCredentialDefaultPolicy/multiapicredentialdefaultpolicy/v1/aio/_configuration_async.py index c4f133065ef..d5b7f79478b 100644 --- a/test/multiapi/Expected/AcceptanceTests/MultiapiCredentialDefaultPolicy/multiapicredentialdefaultpolicy/v1/aio/_configuration_async.py +++ b/test/multiapi/Expected/AcceptanceTests/MultiapiCredentialDefaultPolicy/multiapicredentialdefaultpolicy/v1/aio/_configuration_async.py @@ -56,4 +56,4 @@ def _configure( self.redirect_policy = kwargs.get('redirect_policy') or policies.AsyncRedirectPolicy(**kwargs) self.authentication_policy = kwargs.get('authentication_policy') if self.credential and not self.authentication_policy: - self.authentication_policy = policies.AzureKeyCredentialPolicy(self.credential, **kwargs) + self.authentication_policy = policies.AzureKeyCredentialPolicy(self.credential, 'Authorization', **kwargs) diff --git a/test/multiapi/Expected/AcceptanceTests/MultiapiCredentialDefaultPolicy/multiapicredentialdefaultpolicy/v2/_configuration.py b/test/multiapi/Expected/AcceptanceTests/MultiapiCredentialDefaultPolicy/multiapicredentialdefaultpolicy/v2/_configuration.py index a5b01c04f1c..729e4e0e546 100644 --- a/test/multiapi/Expected/AcceptanceTests/MultiapiCredentialDefaultPolicy/multiapicredentialdefaultpolicy/v2/_configuration.py +++ b/test/multiapi/Expected/AcceptanceTests/MultiapiCredentialDefaultPolicy/multiapicredentialdefaultpolicy/v2/_configuration.py @@ -60,4 +60,4 @@ def _configure( self.redirect_policy = kwargs.get('redirect_policy') or policies.RedirectPolicy(**kwargs) self.authentication_policy = kwargs.get('authentication_policy') if self.credential and not self.authentication_policy: - self.authentication_policy = policies.AzureKeyCredentialPolicy(self.credential, **kwargs) + self.authentication_policy = policies.AzureKeyCredentialPolicy(self.credential, 'Authorization', **kwargs) diff --git a/test/multiapi/Expected/AcceptanceTests/MultiapiCredentialDefaultPolicy/multiapicredentialdefaultpolicy/v2/_metadata.json b/test/multiapi/Expected/AcceptanceTests/MultiapiCredentialDefaultPolicy/multiapicredentialdefaultpolicy/v2/_metadata.json index 47ab196edf6..053ffdaca6a 100644 --- a/test/multiapi/Expected/AcceptanceTests/MultiapiCredentialDefaultPolicy/multiapicredentialdefaultpolicy/v2/_metadata.json +++ b/test/multiapi/Expected/AcceptanceTests/MultiapiCredentialDefaultPolicy/multiapicredentialdefaultpolicy/v2/_metadata.json @@ -34,7 +34,8 @@ "credential": true, "credential_scopes": null, "credential_default_policy_type": "AzureKeyCredentialPolicy", - "credential_default_policy_type_has_async_version": false + "credential_default_policy_type_has_async_version": false, + "credential_param_name": "Authorization" }, "operation_groups": { "operation_group_one": "OperationGroupOneOperations", diff --git a/test/multiapi/Expected/AcceptanceTests/MultiapiCredentialDefaultPolicy/multiapicredentialdefaultpolicy/v2/aio/_configuration_async.py b/test/multiapi/Expected/AcceptanceTests/MultiapiCredentialDefaultPolicy/multiapicredentialdefaultpolicy/v2/aio/_configuration_async.py index fe18aca49e7..780b986a3ea 100644 --- a/test/multiapi/Expected/AcceptanceTests/MultiapiCredentialDefaultPolicy/multiapicredentialdefaultpolicy/v2/aio/_configuration_async.py +++ b/test/multiapi/Expected/AcceptanceTests/MultiapiCredentialDefaultPolicy/multiapicredentialdefaultpolicy/v2/aio/_configuration_async.py @@ -56,4 +56,4 @@ def _configure( self.redirect_policy = kwargs.get('redirect_policy') or policies.AsyncRedirectPolicy(**kwargs) self.authentication_policy = kwargs.get('authentication_policy') if self.credential and not self.authentication_policy: - self.authentication_policy = policies.AzureKeyCredentialPolicy(self.credential, **kwargs) + self.authentication_policy = policies.AzureKeyCredentialPolicy(self.credential, 'Authorization', **kwargs) diff --git a/test/multiapi/Expected/AcceptanceTests/MultiapiCredentialDefaultPolicy/multiapicredentialdefaultpolicy/v3/_configuration.py b/test/multiapi/Expected/AcceptanceTests/MultiapiCredentialDefaultPolicy/multiapicredentialdefaultpolicy/v3/_configuration.py index b57e5133542..b8f2b9559e0 100644 --- a/test/multiapi/Expected/AcceptanceTests/MultiapiCredentialDefaultPolicy/multiapicredentialdefaultpolicy/v3/_configuration.py +++ b/test/multiapi/Expected/AcceptanceTests/MultiapiCredentialDefaultPolicy/multiapicredentialdefaultpolicy/v3/_configuration.py @@ -60,4 +60,4 @@ def _configure( self.redirect_policy = kwargs.get('redirect_policy') or policies.RedirectPolicy(**kwargs) self.authentication_policy = kwargs.get('authentication_policy') if self.credential and not self.authentication_policy: - self.authentication_policy = policies.AzureKeyCredentialPolicy(self.credential, **kwargs) + self.authentication_policy = policies.AzureKeyCredentialPolicy(self.credential, 'Authorization', **kwargs) diff --git a/test/multiapi/Expected/AcceptanceTests/MultiapiCredentialDefaultPolicy/multiapicredentialdefaultpolicy/v3/_metadata.json b/test/multiapi/Expected/AcceptanceTests/MultiapiCredentialDefaultPolicy/multiapicredentialdefaultpolicy/v3/_metadata.json index b28bb0f8c3c..ca78a6db786 100644 --- a/test/multiapi/Expected/AcceptanceTests/MultiapiCredentialDefaultPolicy/multiapicredentialdefaultpolicy/v3/_metadata.json +++ b/test/multiapi/Expected/AcceptanceTests/MultiapiCredentialDefaultPolicy/multiapicredentialdefaultpolicy/v3/_metadata.json @@ -34,7 +34,8 @@ "credential": true, "credential_scopes": null, "credential_default_policy_type": "AzureKeyCredentialPolicy", - "credential_default_policy_type_has_async_version": false + "credential_default_policy_type_has_async_version": false, + "credential_param_name": "Authorization" }, "operation_groups": { "operation_group_one": "OperationGroupOneOperations", diff --git a/test/multiapi/Expected/AcceptanceTests/MultiapiCredentialDefaultPolicy/multiapicredentialdefaultpolicy/v3/aio/_configuration_async.py b/test/multiapi/Expected/AcceptanceTests/MultiapiCredentialDefaultPolicy/multiapicredentialdefaultpolicy/v3/aio/_configuration_async.py index 36731533a97..bc900e1600f 100644 --- a/test/multiapi/Expected/AcceptanceTests/MultiapiCredentialDefaultPolicy/multiapicredentialdefaultpolicy/v3/aio/_configuration_async.py +++ b/test/multiapi/Expected/AcceptanceTests/MultiapiCredentialDefaultPolicy/multiapicredentialdefaultpolicy/v3/aio/_configuration_async.py @@ -56,4 +56,4 @@ def _configure( self.redirect_policy = kwargs.get('redirect_policy') or policies.AsyncRedirectPolicy(**kwargs) self.authentication_policy = kwargs.get('authentication_policy') if self.credential and not self.authentication_policy: - self.authentication_policy = policies.AzureKeyCredentialPolicy(self.credential, **kwargs) + self.authentication_policy = policies.AzureKeyCredentialPolicy(self.credential, 'Authorization', **kwargs) diff --git a/test/multiapi/Expected/AcceptanceTests/MultiapiCustomBaseUrl/multiapicustombaseurl/v1/_metadata.json b/test/multiapi/Expected/AcceptanceTests/MultiapiCustomBaseUrl/multiapicustombaseurl/v1/_metadata.json index 2e1dfbd2617..86e7c406c1d 100644 --- a/test/multiapi/Expected/AcceptanceTests/MultiapiCustomBaseUrl/multiapicustombaseurl/v1/_metadata.json +++ b/test/multiapi/Expected/AcceptanceTests/MultiapiCustomBaseUrl/multiapicustombaseurl/v1/_metadata.json @@ -46,7 +46,8 @@ "credential": true, "credential_scopes": [], "credential_default_policy_type": "BearerTokenCredentialPolicy", - "credential_default_policy_type_has_async_version": true + "credential_default_policy_type_has_async_version": true, + "credential_param_name": null }, "operation_groups": { }, diff --git a/test/multiapi/Expected/AcceptanceTests/MultiapiCustomBaseUrl/multiapicustombaseurl/v2/_metadata.json b/test/multiapi/Expected/AcceptanceTests/MultiapiCustomBaseUrl/multiapicustombaseurl/v2/_metadata.json index 1875d1f1511..048857f99cf 100644 --- a/test/multiapi/Expected/AcceptanceTests/MultiapiCustomBaseUrl/multiapicustombaseurl/v2/_metadata.json +++ b/test/multiapi/Expected/AcceptanceTests/MultiapiCustomBaseUrl/multiapicustombaseurl/v2/_metadata.json @@ -46,7 +46,8 @@ "credential": true, "credential_scopes": [], "credential_default_policy_type": "BearerTokenCredentialPolicy", - "credential_default_policy_type_has_async_version": true + "credential_default_policy_type_has_async_version": true, + "credential_param_name": null }, "operation_groups": { }, diff --git a/test/multiapi/Expected/AcceptanceTests/MultiapiDataPlane/multiapidataplane/v1/_metadata.json b/test/multiapi/Expected/AcceptanceTests/MultiapiDataPlane/multiapidataplane/v1/_metadata.json index a0cf7ee80e3..9b052e35bca 100644 --- a/test/multiapi/Expected/AcceptanceTests/MultiapiDataPlane/multiapidataplane/v1/_metadata.json +++ b/test/multiapi/Expected/AcceptanceTests/MultiapiDataPlane/multiapidataplane/v1/_metadata.json @@ -34,7 +34,8 @@ "credential": true, "credential_scopes": [], "credential_default_policy_type": "BearerTokenCredentialPolicy", - "credential_default_policy_type_has_async_version": true + "credential_default_policy_type_has_async_version": true, + "credential_param_name": null }, "operation_groups": { "operation_group_one": "OperationGroupOneOperations" diff --git a/test/multiapi/Expected/AcceptanceTests/MultiapiDataPlane/multiapidataplane/v2/_metadata.json b/test/multiapi/Expected/AcceptanceTests/MultiapiDataPlane/multiapidataplane/v2/_metadata.json index 80fbb968875..9df8fc54614 100644 --- a/test/multiapi/Expected/AcceptanceTests/MultiapiDataPlane/multiapidataplane/v2/_metadata.json +++ b/test/multiapi/Expected/AcceptanceTests/MultiapiDataPlane/multiapidataplane/v2/_metadata.json @@ -34,7 +34,8 @@ "credential": true, "credential_scopes": [], "credential_default_policy_type": "BearerTokenCredentialPolicy", - "credential_default_policy_type_has_async_version": true + "credential_default_policy_type_has_async_version": true, + "credential_param_name": null }, "operation_groups": { "operation_group_one": "OperationGroupOneOperations", diff --git a/test/multiapi/Expected/AcceptanceTests/MultiapiDataPlane/multiapidataplane/v3/_metadata.json b/test/multiapi/Expected/AcceptanceTests/MultiapiDataPlane/multiapidataplane/v3/_metadata.json index a216c6752cb..cb342f5f71a 100644 --- a/test/multiapi/Expected/AcceptanceTests/MultiapiDataPlane/multiapidataplane/v3/_metadata.json +++ b/test/multiapi/Expected/AcceptanceTests/MultiapiDataPlane/multiapidataplane/v3/_metadata.json @@ -34,7 +34,8 @@ "credential": true, "credential_scopes": [], "credential_default_policy_type": "BearerTokenCredentialPolicy", - "credential_default_policy_type_has_async_version": true + "credential_default_policy_type_has_async_version": true, + "credential_param_name": null }, "operation_groups": { "operation_group_one": "OperationGroupOneOperations", diff --git a/test/multiapi/Expected/AcceptanceTests/MultiapiNoAsync/multiapinoasync/v1/_metadata.json b/test/multiapi/Expected/AcceptanceTests/MultiapiNoAsync/multiapinoasync/v1/_metadata.json index 71f3da3fdf5..5dc8186fc44 100644 --- a/test/multiapi/Expected/AcceptanceTests/MultiapiNoAsync/multiapinoasync/v1/_metadata.json +++ b/test/multiapi/Expected/AcceptanceTests/MultiapiNoAsync/multiapinoasync/v1/_metadata.json @@ -34,7 +34,8 @@ "credential": true, "credential_scopes": ["https://management.azure.com/.default"], "credential_default_policy_type": "BearerTokenCredentialPolicy", - "credential_default_policy_type_has_async_version": true + "credential_default_policy_type_has_async_version": true, + "credential_param_name": null }, "operation_groups": { "operation_group_one": "OperationGroupOneOperations" diff --git a/test/multiapi/Expected/AcceptanceTests/MultiapiNoAsync/multiapinoasync/v2/_metadata.json b/test/multiapi/Expected/AcceptanceTests/MultiapiNoAsync/multiapinoasync/v2/_metadata.json index 6bb9081c9d6..cb4b510e6c9 100644 --- a/test/multiapi/Expected/AcceptanceTests/MultiapiNoAsync/multiapinoasync/v2/_metadata.json +++ b/test/multiapi/Expected/AcceptanceTests/MultiapiNoAsync/multiapinoasync/v2/_metadata.json @@ -34,7 +34,8 @@ "credential": true, "credential_scopes": ["https://management.azure.com/.default"], "credential_default_policy_type": "BearerTokenCredentialPolicy", - "credential_default_policy_type_has_async_version": true + "credential_default_policy_type_has_async_version": true, + "credential_param_name": null }, "operation_groups": { "operation_group_one": "OperationGroupOneOperations", diff --git a/test/multiapi/Expected/AcceptanceTests/MultiapiNoAsync/multiapinoasync/v3/_metadata.json b/test/multiapi/Expected/AcceptanceTests/MultiapiNoAsync/multiapinoasync/v3/_metadata.json index 7c22fcb7fe3..5d21635328d 100644 --- a/test/multiapi/Expected/AcceptanceTests/MultiapiNoAsync/multiapinoasync/v3/_metadata.json +++ b/test/multiapi/Expected/AcceptanceTests/MultiapiNoAsync/multiapinoasync/v3/_metadata.json @@ -34,7 +34,8 @@ "credential": true, "credential_scopes": ["https://management.azure.com/.default"], "credential_default_policy_type": "BearerTokenCredentialPolicy", - "credential_default_policy_type_has_async_version": true + "credential_default_policy_type_has_async_version": true, + "credential_param_name": null }, "operation_groups": { "operation_group_one": "OperationGroupOneOperations", diff --git a/test/multiapi/Expected/AcceptanceTests/MultiapiWithSubmodule/multiapiwithsubmodule/submodule/v1/_metadata.json b/test/multiapi/Expected/AcceptanceTests/MultiapiWithSubmodule/multiapiwithsubmodule/submodule/v1/_metadata.json index d0e66414009..28e81a19ebf 100644 --- a/test/multiapi/Expected/AcceptanceTests/MultiapiWithSubmodule/multiapiwithsubmodule/submodule/v1/_metadata.json +++ b/test/multiapi/Expected/AcceptanceTests/MultiapiWithSubmodule/multiapiwithsubmodule/submodule/v1/_metadata.json @@ -34,7 +34,8 @@ "credential": true, "credential_scopes": ["https://management.azure.com/.default"], "credential_default_policy_type": "BearerTokenCredentialPolicy", - "credential_default_policy_type_has_async_version": true + "credential_default_policy_type_has_async_version": true, + "credential_param_name": null }, "operation_groups": { "operation_group_one": "OperationGroupOneOperations" diff --git a/test/multiapi/Expected/AcceptanceTests/MultiapiWithSubmodule/multiapiwithsubmodule/submodule/v2/_metadata.json b/test/multiapi/Expected/AcceptanceTests/MultiapiWithSubmodule/multiapiwithsubmodule/submodule/v2/_metadata.json index ca66e54deed..e528ac206b3 100644 --- a/test/multiapi/Expected/AcceptanceTests/MultiapiWithSubmodule/multiapiwithsubmodule/submodule/v2/_metadata.json +++ b/test/multiapi/Expected/AcceptanceTests/MultiapiWithSubmodule/multiapiwithsubmodule/submodule/v2/_metadata.json @@ -34,7 +34,8 @@ "credential": true, "credential_scopes": ["https://management.azure.com/.default"], "credential_default_policy_type": "BearerTokenCredentialPolicy", - "credential_default_policy_type_has_async_version": true + "credential_default_policy_type_has_async_version": true, + "credential_param_name": null }, "operation_groups": { "operation_group_one": "OperationGroupOneOperations", diff --git a/test/multiapi/Expected/AcceptanceTests/MultiapiWithSubmodule/multiapiwithsubmodule/submodule/v3/_metadata.json b/test/multiapi/Expected/AcceptanceTests/MultiapiWithSubmodule/multiapiwithsubmodule/submodule/v3/_metadata.json index b05b7df5533..6191bcfbe88 100644 --- a/test/multiapi/Expected/AcceptanceTests/MultiapiWithSubmodule/multiapiwithsubmodule/submodule/v3/_metadata.json +++ b/test/multiapi/Expected/AcceptanceTests/MultiapiWithSubmodule/multiapiwithsubmodule/submodule/v3/_metadata.json @@ -34,7 +34,8 @@ "credential": true, "credential_scopes": ["https://management.azure.com/.default"], "credential_default_policy_type": "BearerTokenCredentialPolicy", - "credential_default_policy_type_has_async_version": true + "credential_default_policy_type_has_async_version": true, + "credential_param_name": null }, "operation_groups": { "operation_group_one": "OperationGroupOneOperations", From e3bc2caed1e16528305ed7fc07e5fc1a6e013420 Mon Sep 17 00:00:00 2001 From: iscai-msft Date: Fri, 31 Jul 2020 18:30:34 -0400 Subject: [PATCH 3/7] fix pylint --- autorest/codegen/__init__.py | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/autorest/codegen/__init__.py b/autorest/codegen/__init__.py index bf5c0ec6232..5ceb418abc9 100644 --- a/autorest/codegen/__init__.py +++ b/autorest/codegen/__init__.py @@ -122,7 +122,7 @@ def _create_code_model(self, yaml_data: Dict[str, Any], options: Dict[str, Union return code_model - def _get_credential_scopes(self): + def _get_credential_scopes(self, credential): credential_scopes_temp = self._autorestapi.get_value("credential-scopes") credential_scopes = credential_scopes_temp.split(",") if credential_scopes_temp else None if credential_scopes and not credential: @@ -137,7 +137,7 @@ def _get_credential_scopes(self): return credential_scopes def _get_credential_param(self, azure_arm, credential, credential_default_policy_type): - credential_scopes = self._get_credential_scopes() + credential_scopes = self._get_credential_scopes(credential) credential_param_name = self._autorestapi.get_value('credential-param-name') if credential_default_policy_type == "BearerTokenCredentialPolicy": @@ -196,7 +196,9 @@ def _handle_default_authentication_policy(self, azure_arm, credential): "BearerTokenCredentialPolicy or AzureKeyCredentialPolicy" ) - credential_scopes, credential_param_name = self._get_credential_param(azure_arm, credential, credential_default_policy_type) + credential_scopes, credential_param_name = self._get_credential_param( + azure_arm, credential, credential_default_policy_type + ) return credential_default_policy_type, credential_scopes, credential_param_name @@ -210,8 +212,10 @@ def _build_code_model_options(self) -> Dict[str, Any]: self._autorestapi.get_boolean_value("add-credential", False) ) - credential_default_policy_type, credential_scopes, credential_param_name = self._handle_default_authentication_policy( - azure_arm, credential + credential_default_policy_type, credential_scopes, credential_param_name = ( + self._handle_default_authentication_policy( + azure_arm, credential + ) ) From 49ac8d3bdf838f355f5749fa3d0f30ec15b78660 Mon Sep 17 00:00:00 2001 From: iscai-msft Date: Fri, 31 Jul 2020 18:33:40 -0400 Subject: [PATCH 4/7] update changelog --- ChangeLog.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/ChangeLog.md b/ChangeLog.md index b39aee89faa..97c87493dbc 100644 --- a/ChangeLog.md +++ b/ChangeLog.md @@ -7,6 +7,9 @@ Modelerfour version: 4.15.378 **New Features** - Add support for `x-ms-text` XML extension #722 +- Allow users to pass the name of the key header for `AzureKeyCredentialPolicy` during generation. To use, pass in +`AzureKeyCredentialPolicy` with the `--credential-default-policcy-type` flag, and pass in the key header name using +the `--credential-param-name` flag #736 **Bug Fixes** From d6f323a98c322a4387c6c2465b8e01670557c0f0 Mon Sep 17 00:00:00 2001 From: iscai-msft Date: Tue, 4 Aug 2020 15:11:38 -0400 Subject: [PATCH 5/7] switch some warnings to errors --- autorest/codegen/__init__.py | 26 ++++++++++++-------------- 1 file changed, 12 insertions(+), 14 deletions(-) diff --git a/autorest/codegen/__init__.py b/autorest/codegen/__init__.py index 5ceb418abc9..b066c9bcbe2 100644 --- a/autorest/codegen/__init__.py +++ b/autorest/codegen/__init__.py @@ -155,26 +155,24 @@ def _get_credential_param(self, azure_arm, credential, credential_default_policy ) credential_scopes = [] if credential_param_name: - _LOGGER.warning( - "You have --credential-param-name passed in and not AzureKeyCredentialPolicy " - "as your default credential authentication policy. Since credential param name is tied " - "to AzureKeyCredentialPolicy, we will ignore your credential param name" + raise ValueError( + "You have passed in credential param name with default credential policy type " + "BearerTokenCredentialPolicy. This is not allowed, since credential param name is tied with " + "AzureKeyCredentialPolicy. Instead, with this policy it is recommend you pass in " + "--credential-scopes." ) - credential_param_name = "" else: # currently the only other credential policy is AzureKeyCredentialPolicy if credential_scopes: - _LOGGER.warning( - "You have --credential-default-policy-type as AzureKeyCredentialPolicy and a value for " - "--credential-scopes. Since credential scopes are tied to the BearerTokenCredentialPolicy, " - "we will ignore your credential scopes." + raise ValueError( + "You have passed in credential scopes with default credential policy type " + "AzureKeyCredentialPolicy. This is not allowed, since credential scopes is tied with " + "BearerTokenCredentialPolicy. Instead, with this policy you must pass in --credential-param-name." ) - credential_scopes = [] if not credential_param_name: - _LOGGER.warning( - "You are using AzureKeyCredentialPolicy without passing in --credential-param-name." - "This is not recommended, since users will need to pass in the kwarg 'name' with the name " - "of the authentication header" + raise ValueError( + "With default credential policy type AzureKeyCredentialPolicy, you must pass in the name " + "of the authentication header with the flag --credential-param-name" ) return credential_scopes, credential_param_name From 8e7799e0b0b2e5d16358b9ce7db98f39d15a2801 Mon Sep 17 00:00:00 2001 From: iscai-msft Date: Tue, 4 Aug 2020 17:18:49 -0400 Subject: [PATCH 6/7] change name of flag from credential-param-name to credential-key-header-name --- ChangeLog.md | 4 ++-- autorest/codegen/__init__.py | 24 +++++++++---------- autorest/codegen/templates/config.py.jinja2 | 2 +- .../codegen/templates/metadata.json.jinja2 | 2 +- .../templates/multiapi_config.py.jinja2 | 2 +- tasks.py | 6 ++--- .../Multiapi/multiapi/v1/_metadata.json | 2 +- .../Multiapi/multiapi/v2/_metadata.json | 2 +- .../Multiapi/multiapi/v3/_metadata.json | 2 +- .../v1/_metadata.json | 2 +- .../v2/_metadata.json | 2 +- .../v3/_metadata.json | 2 +- .../multiapicustombaseurl/v1/_metadata.json | 2 +- .../multiapicustombaseurl/v2/_metadata.json | 2 +- .../multiapidataplane/v1/_metadata.json | 2 +- .../multiapidataplane/v2/_metadata.json | 2 +- .../multiapidataplane/v3/_metadata.json | 2 +- .../multiapinoasync/v1/_metadata.json | 2 +- .../multiapinoasync/v2/_metadata.json | 2 +- .../multiapinoasync/v3/_metadata.json | 2 +- .../submodule/v1/_metadata.json | 2 +- .../submodule/v2/_metadata.json | 2 +- .../submodule/v3/_metadata.json | 2 +- .../multiapicredentialdefaultpolicy/README.md | 2 +- 24 files changed, 38 insertions(+), 38 deletions(-) diff --git a/ChangeLog.md b/ChangeLog.md index 97c87493dbc..f53bbddb5a8 100644 --- a/ChangeLog.md +++ b/ChangeLog.md @@ -8,8 +8,8 @@ Modelerfour version: 4.15.378 - Add support for `x-ms-text` XML extension #722 - Allow users to pass the name of the key header for `AzureKeyCredentialPolicy` during generation. To use, pass in -`AzureKeyCredentialPolicy` with the `--credential-default-policcy-type` flag, and pass in the key header name using -the `--credential-param-name` flag #736 +`AzureKeyCredentialPolicy` with the `--credential-default-policy-type` flag, and pass in the key header name using +the `--credential-key-header-name` flag #736 **Bug Fixes** diff --git a/autorest/codegen/__init__.py b/autorest/codegen/__init__.py index b066c9bcbe2..dd13a40201f 100644 --- a/autorest/codegen/__init__.py +++ b/autorest/codegen/__init__.py @@ -138,7 +138,7 @@ def _get_credential_scopes(self, credential): def _get_credential_param(self, azure_arm, credential, credential_default_policy_type): credential_scopes = self._get_credential_scopes(credential) - credential_param_name = self._autorestapi.get_value('credential-param-name') + credential_key_header_name = self._autorestapi.get_value('credential-key-header-name') if credential_default_policy_type == "BearerTokenCredentialPolicy": if not credential_scopes: @@ -154,10 +154,10 @@ def _get_credential_param(self, azure_arm, credential, credential_default_policy "through kwargs if they want to authenticate." ) credential_scopes = [] - if credential_param_name: + if credential_key_header_name: raise ValueError( - "You have passed in credential param name with default credential policy type " - "BearerTokenCredentialPolicy. This is not allowed, since credential param name is tied with " + "You have passed in a credential key header name with default credential policy type " + "BearerTokenCredentialPolicy. This is not allowed, since credential key header name is tied with " "AzureKeyCredentialPolicy. Instead, with this policy it is recommend you pass in " "--credential-scopes." ) @@ -167,14 +167,14 @@ def _get_credential_param(self, azure_arm, credential, credential_default_policy raise ValueError( "You have passed in credential scopes with default credential policy type " "AzureKeyCredentialPolicy. This is not allowed, since credential scopes is tied with " - "BearerTokenCredentialPolicy. Instead, with this policy you must pass in --credential-param-name." + "BearerTokenCredentialPolicy. Instead, with this policy you must pass in --credential-key-header-name." ) - if not credential_param_name: + if not credential_key_header_name: raise ValueError( "With default credential policy type AzureKeyCredentialPolicy, you must pass in the name " - "of the authentication header with the flag --credential-param-name" + "of the key header with the flag --credential-key-header-name" ) - return credential_scopes, credential_param_name + return credential_scopes, credential_key_header_name def _handle_default_authentication_policy(self, azure_arm, credential): @@ -194,11 +194,11 @@ def _handle_default_authentication_policy(self, azure_arm, credential): "BearerTokenCredentialPolicy or AzureKeyCredentialPolicy" ) - credential_scopes, credential_param_name = self._get_credential_param( + credential_scopes, credential_key_header_name = self._get_credential_param( azure_arm, credential, credential_default_policy_type ) - return credential_default_policy_type, credential_scopes, credential_param_name + return credential_default_policy_type, credential_scopes, credential_key_header_name def _build_code_model_options(self) -> Dict[str, Any]: @@ -210,7 +210,7 @@ def _build_code_model_options(self) -> Dict[str, Any]: self._autorestapi.get_boolean_value("add-credential", False) ) - credential_default_policy_type, credential_scopes, credential_param_name = ( + credential_default_policy_type, credential_scopes, credential_key_header_name = ( self._handle_default_authentication_policy( azure_arm, credential ) @@ -229,7 +229,7 @@ def _build_code_model_options(self) -> Dict[str, Any]: "azure_arm": azure_arm, "credential": credential, "credential_scopes": credential_scopes, - "credential_param_name": credential_param_name, + "credential_key_header_name": credential_key_header_name, "head_as_boolean": self._autorestapi.get_boolean_value("head-as-boolean", False), "license_header": license_header, "keep_version_file": self._autorestapi.get_boolean_value("keep-version-file", False), diff --git a/autorest/codegen/templates/config.py.jinja2 b/autorest/codegen/templates/config.py.jinja2 index 3d446218a98..426b2ebc016 100644 --- a/autorest/codegen/templates/config.py.jinja2 +++ b/autorest/codegen/templates/config.py.jinja2 @@ -88,6 +88,6 @@ class {{ code_model.class_name }}Configuration(Configuration): {% endif %} if self.credential and not self.authentication_policy: {% set credential_default_policy_type = ("Async" if (async_mode and code_model.options['credential_default_policy_type_has_async_version']) else "") + code_model.options['credential_default_policy_type'] %} - {% set credential_param_type = ("'" + code_model.options['credential_param_name'] + "', ") if code_model.options['credential_param_name'] else ("*self.credential_scopes, " if "BearerTokenCredentialPolicy" in credential_default_policy_type else "") %} + {% set credential_param_type = ("'" + code_model.options['credential_key_header_name'] + "', ") if code_model.options['credential_key_header_name'] else ("*self.credential_scopes, " if "BearerTokenCredentialPolicy" in credential_default_policy_type else "") %} self.authentication_policy = policies.{{ credential_default_policy_type }}(self.credential, {{ credential_param_type if credential_param_type }}**kwargs) {% endif %} diff --git a/autorest/codegen/templates/metadata.json.jinja2 b/autorest/codegen/templates/metadata.json.jinja2 index 1847c3b05a4..9660a19535b 100644 --- a/autorest/codegen/templates/metadata.json.jinja2 +++ b/autorest/codegen/templates/metadata.json.jinja2 @@ -47,7 +47,7 @@ "credential_scopes": {{ code_model.options['credential_scopes'] | tojson }}, "credential_default_policy_type": {{ code_model.options['credential_default_policy_type'] | tojson }}, "credential_default_policy_type_has_async_version": {{ code_model.options['credential_default_policy_type_has_async_version'] | tojson }}, - "credential_param_name": {{ code_model.options['credential_param_name'] | tojson }} + "credential_key_header_name": {{ code_model.options['credential_key_header_name'] | tojson }} }, "operation_groups": { {% for operation_group in code_model.operation_groups %} diff --git a/autorest/multiapi/templates/multiapi_config.py.jinja2 b/autorest/multiapi/templates/multiapi_config.py.jinja2 index ae267c78b38..23f7feecd26 100644 --- a/autorest/multiapi/templates/multiapi_config.py.jinja2 +++ b/autorest/multiapi/templates/multiapi_config.py.jinja2 @@ -103,6 +103,6 @@ class {{ client_name }}Configuration(Configuration): {% endif %} if self.credential and not self.authentication_policy: {% set credential_default_policy_type = ("Async" if (async_mode and config['credential_default_policy_type_has_async_version']) else "") + config['credential_default_policy_type'] %} - {% set credential_param_type = ("'" + config['credential_param_name'] + "', ") if config['credential_param_name'] else ("*self.credential_scopes, " if "BearerTokenCredentialPolicy" in credential_default_policy_type else "") %} + {% set credential_param_type = ("'" + config['credential_key_header_name'] + "', ") if config['credential_key_header_name'] else ("*self.credential_scopes, " if "BearerTokenCredentialPolicy" in credential_default_policy_type else "") %} self.authentication_policy = policies.{{ credential_default_policy_type }}(self.credential, {{ credential_param_type if credential_param_type }}**kwargs) {% endif %} diff --git a/tasks.py b/tasks.py index 2f302da1c66..3679cd3c8c5 100644 --- a/tasks.py +++ b/tasks.py @@ -149,8 +149,8 @@ def regen_expected(c, opts, debug): args.append(f"--override-info.description={opts['override-info.description']}") if opts.get('credential-default-policy-type'): args.append(f"--credential-default-policy-type={opts['credential-default-policy-type']}") - if opts.get('credential-param-name'): - args.append(f"--credential-param-name={opts['credential-param-name']}") + if opts.get('credential-key-header-name'): + args.append(f"--credential-key-header-name={opts['credential-key-header-name']}") if opts.get('package-name'): args.append(f"--package-name={opts['package-name']}") if opts.get('override-client-name'): @@ -265,7 +265,7 @@ def regenerate_credential_default_policy(c, debug=False): 'flattening_threshold': '1', 'ns_prefix': True, 'credential-default-policy-type': 'AzureKeyCredentialPolicy', - 'credential-param-name': 'Authorization' + 'credential-key-header-name': 'Authorization' } regen_expected(c, opts, debug) diff --git a/test/multiapi/Expected/AcceptanceTests/Multiapi/multiapi/v1/_metadata.json b/test/multiapi/Expected/AcceptanceTests/Multiapi/multiapi/v1/_metadata.json index 0b97d070682..7d9c1ef0a14 100644 --- a/test/multiapi/Expected/AcceptanceTests/Multiapi/multiapi/v1/_metadata.json +++ b/test/multiapi/Expected/AcceptanceTests/Multiapi/multiapi/v1/_metadata.json @@ -35,7 +35,7 @@ "credential_scopes": ["https://management.azure.com/.default"], "credential_default_policy_type": "BearerTokenCredentialPolicy", "credential_default_policy_type_has_async_version": true, - "credential_param_name": null + "credential_key_header_name": null }, "operation_groups": { "operation_group_one": "OperationGroupOneOperations" diff --git a/test/multiapi/Expected/AcceptanceTests/Multiapi/multiapi/v2/_metadata.json b/test/multiapi/Expected/AcceptanceTests/Multiapi/multiapi/v2/_metadata.json index aee1e6903ba..2dfdf802512 100644 --- a/test/multiapi/Expected/AcceptanceTests/Multiapi/multiapi/v2/_metadata.json +++ b/test/multiapi/Expected/AcceptanceTests/Multiapi/multiapi/v2/_metadata.json @@ -35,7 +35,7 @@ "credential_scopes": ["https://management.azure.com/.default"], "credential_default_policy_type": "BearerTokenCredentialPolicy", "credential_default_policy_type_has_async_version": true, - "credential_param_name": null + "credential_key_header_name": null }, "operation_groups": { "operation_group_one": "OperationGroupOneOperations", diff --git a/test/multiapi/Expected/AcceptanceTests/Multiapi/multiapi/v3/_metadata.json b/test/multiapi/Expected/AcceptanceTests/Multiapi/multiapi/v3/_metadata.json index 3db4302e713..d53031abe3f 100644 --- a/test/multiapi/Expected/AcceptanceTests/Multiapi/multiapi/v3/_metadata.json +++ b/test/multiapi/Expected/AcceptanceTests/Multiapi/multiapi/v3/_metadata.json @@ -35,7 +35,7 @@ "credential_scopes": ["https://management.azure.com/.default"], "credential_default_policy_type": "BearerTokenCredentialPolicy", "credential_default_policy_type_has_async_version": true, - "credential_param_name": null + "credential_key_header_name": null }, "operation_groups": { "operation_group_one": "OperationGroupOneOperations", diff --git a/test/multiapi/Expected/AcceptanceTests/MultiapiCredentialDefaultPolicy/multiapicredentialdefaultpolicy/v1/_metadata.json b/test/multiapi/Expected/AcceptanceTests/MultiapiCredentialDefaultPolicy/multiapicredentialdefaultpolicy/v1/_metadata.json index 3055f00236f..6b936e25b7b 100644 --- a/test/multiapi/Expected/AcceptanceTests/MultiapiCredentialDefaultPolicy/multiapicredentialdefaultpolicy/v1/_metadata.json +++ b/test/multiapi/Expected/AcceptanceTests/MultiapiCredentialDefaultPolicy/multiapicredentialdefaultpolicy/v1/_metadata.json @@ -35,7 +35,7 @@ "credential_scopes": null, "credential_default_policy_type": "AzureKeyCredentialPolicy", "credential_default_policy_type_has_async_version": false, - "credential_param_name": "Authorization" + "credential_key_header_name": "Authorization" }, "operation_groups": { "operation_group_one": "OperationGroupOneOperations" diff --git a/test/multiapi/Expected/AcceptanceTests/MultiapiCredentialDefaultPolicy/multiapicredentialdefaultpolicy/v2/_metadata.json b/test/multiapi/Expected/AcceptanceTests/MultiapiCredentialDefaultPolicy/multiapicredentialdefaultpolicy/v2/_metadata.json index 053ffdaca6a..5d6c8f23058 100644 --- a/test/multiapi/Expected/AcceptanceTests/MultiapiCredentialDefaultPolicy/multiapicredentialdefaultpolicy/v2/_metadata.json +++ b/test/multiapi/Expected/AcceptanceTests/MultiapiCredentialDefaultPolicy/multiapicredentialdefaultpolicy/v2/_metadata.json @@ -35,7 +35,7 @@ "credential_scopes": null, "credential_default_policy_type": "AzureKeyCredentialPolicy", "credential_default_policy_type_has_async_version": false, - "credential_param_name": "Authorization" + "credential_key_header_name": "Authorization" }, "operation_groups": { "operation_group_one": "OperationGroupOneOperations", diff --git a/test/multiapi/Expected/AcceptanceTests/MultiapiCredentialDefaultPolicy/multiapicredentialdefaultpolicy/v3/_metadata.json b/test/multiapi/Expected/AcceptanceTests/MultiapiCredentialDefaultPolicy/multiapicredentialdefaultpolicy/v3/_metadata.json index ca78a6db786..5453a63c2b7 100644 --- a/test/multiapi/Expected/AcceptanceTests/MultiapiCredentialDefaultPolicy/multiapicredentialdefaultpolicy/v3/_metadata.json +++ b/test/multiapi/Expected/AcceptanceTests/MultiapiCredentialDefaultPolicy/multiapicredentialdefaultpolicy/v3/_metadata.json @@ -35,7 +35,7 @@ "credential_scopes": null, "credential_default_policy_type": "AzureKeyCredentialPolicy", "credential_default_policy_type_has_async_version": false, - "credential_param_name": "Authorization" + "credential_key_header_name": "Authorization" }, "operation_groups": { "operation_group_one": "OperationGroupOneOperations", diff --git a/test/multiapi/Expected/AcceptanceTests/MultiapiCustomBaseUrl/multiapicustombaseurl/v1/_metadata.json b/test/multiapi/Expected/AcceptanceTests/MultiapiCustomBaseUrl/multiapicustombaseurl/v1/_metadata.json index 86e7c406c1d..f02a477ef1b 100644 --- a/test/multiapi/Expected/AcceptanceTests/MultiapiCustomBaseUrl/multiapicustombaseurl/v1/_metadata.json +++ b/test/multiapi/Expected/AcceptanceTests/MultiapiCustomBaseUrl/multiapicustombaseurl/v1/_metadata.json @@ -47,7 +47,7 @@ "credential_scopes": [], "credential_default_policy_type": "BearerTokenCredentialPolicy", "credential_default_policy_type_has_async_version": true, - "credential_param_name": null + "credential_key_header_name": null }, "operation_groups": { }, diff --git a/test/multiapi/Expected/AcceptanceTests/MultiapiCustomBaseUrl/multiapicustombaseurl/v2/_metadata.json b/test/multiapi/Expected/AcceptanceTests/MultiapiCustomBaseUrl/multiapicustombaseurl/v2/_metadata.json index 048857f99cf..f116a912197 100644 --- a/test/multiapi/Expected/AcceptanceTests/MultiapiCustomBaseUrl/multiapicustombaseurl/v2/_metadata.json +++ b/test/multiapi/Expected/AcceptanceTests/MultiapiCustomBaseUrl/multiapicustombaseurl/v2/_metadata.json @@ -47,7 +47,7 @@ "credential_scopes": [], "credential_default_policy_type": "BearerTokenCredentialPolicy", "credential_default_policy_type_has_async_version": true, - "credential_param_name": null + "credential_key_header_name": null }, "operation_groups": { }, diff --git a/test/multiapi/Expected/AcceptanceTests/MultiapiDataPlane/multiapidataplane/v1/_metadata.json b/test/multiapi/Expected/AcceptanceTests/MultiapiDataPlane/multiapidataplane/v1/_metadata.json index 9b052e35bca..57523080d1b 100644 --- a/test/multiapi/Expected/AcceptanceTests/MultiapiDataPlane/multiapidataplane/v1/_metadata.json +++ b/test/multiapi/Expected/AcceptanceTests/MultiapiDataPlane/multiapidataplane/v1/_metadata.json @@ -35,7 +35,7 @@ "credential_scopes": [], "credential_default_policy_type": "BearerTokenCredentialPolicy", "credential_default_policy_type_has_async_version": true, - "credential_param_name": null + "credential_key_header_name": null }, "operation_groups": { "operation_group_one": "OperationGroupOneOperations" diff --git a/test/multiapi/Expected/AcceptanceTests/MultiapiDataPlane/multiapidataplane/v2/_metadata.json b/test/multiapi/Expected/AcceptanceTests/MultiapiDataPlane/multiapidataplane/v2/_metadata.json index 9df8fc54614..a5c509e2885 100644 --- a/test/multiapi/Expected/AcceptanceTests/MultiapiDataPlane/multiapidataplane/v2/_metadata.json +++ b/test/multiapi/Expected/AcceptanceTests/MultiapiDataPlane/multiapidataplane/v2/_metadata.json @@ -35,7 +35,7 @@ "credential_scopes": [], "credential_default_policy_type": "BearerTokenCredentialPolicy", "credential_default_policy_type_has_async_version": true, - "credential_param_name": null + "credential_key_header_name": null }, "operation_groups": { "operation_group_one": "OperationGroupOneOperations", diff --git a/test/multiapi/Expected/AcceptanceTests/MultiapiDataPlane/multiapidataplane/v3/_metadata.json b/test/multiapi/Expected/AcceptanceTests/MultiapiDataPlane/multiapidataplane/v3/_metadata.json index cb342f5f71a..4abb9e30628 100644 --- a/test/multiapi/Expected/AcceptanceTests/MultiapiDataPlane/multiapidataplane/v3/_metadata.json +++ b/test/multiapi/Expected/AcceptanceTests/MultiapiDataPlane/multiapidataplane/v3/_metadata.json @@ -35,7 +35,7 @@ "credential_scopes": [], "credential_default_policy_type": "BearerTokenCredentialPolicy", "credential_default_policy_type_has_async_version": true, - "credential_param_name": null + "credential_key_header_name": null }, "operation_groups": { "operation_group_one": "OperationGroupOneOperations", diff --git a/test/multiapi/Expected/AcceptanceTests/MultiapiNoAsync/multiapinoasync/v1/_metadata.json b/test/multiapi/Expected/AcceptanceTests/MultiapiNoAsync/multiapinoasync/v1/_metadata.json index 5dc8186fc44..dd002aa48e2 100644 --- a/test/multiapi/Expected/AcceptanceTests/MultiapiNoAsync/multiapinoasync/v1/_metadata.json +++ b/test/multiapi/Expected/AcceptanceTests/MultiapiNoAsync/multiapinoasync/v1/_metadata.json @@ -35,7 +35,7 @@ "credential_scopes": ["https://management.azure.com/.default"], "credential_default_policy_type": "BearerTokenCredentialPolicy", "credential_default_policy_type_has_async_version": true, - "credential_param_name": null + "credential_key_header_name": null }, "operation_groups": { "operation_group_one": "OperationGroupOneOperations" diff --git a/test/multiapi/Expected/AcceptanceTests/MultiapiNoAsync/multiapinoasync/v2/_metadata.json b/test/multiapi/Expected/AcceptanceTests/MultiapiNoAsync/multiapinoasync/v2/_metadata.json index cb4b510e6c9..715630b1740 100644 --- a/test/multiapi/Expected/AcceptanceTests/MultiapiNoAsync/multiapinoasync/v2/_metadata.json +++ b/test/multiapi/Expected/AcceptanceTests/MultiapiNoAsync/multiapinoasync/v2/_metadata.json @@ -35,7 +35,7 @@ "credential_scopes": ["https://management.azure.com/.default"], "credential_default_policy_type": "BearerTokenCredentialPolicy", "credential_default_policy_type_has_async_version": true, - "credential_param_name": null + "credential_key_header_name": null }, "operation_groups": { "operation_group_one": "OperationGroupOneOperations", diff --git a/test/multiapi/Expected/AcceptanceTests/MultiapiNoAsync/multiapinoasync/v3/_metadata.json b/test/multiapi/Expected/AcceptanceTests/MultiapiNoAsync/multiapinoasync/v3/_metadata.json index 5d21635328d..27c10bd378b 100644 --- a/test/multiapi/Expected/AcceptanceTests/MultiapiNoAsync/multiapinoasync/v3/_metadata.json +++ b/test/multiapi/Expected/AcceptanceTests/MultiapiNoAsync/multiapinoasync/v3/_metadata.json @@ -35,7 +35,7 @@ "credential_scopes": ["https://management.azure.com/.default"], "credential_default_policy_type": "BearerTokenCredentialPolicy", "credential_default_policy_type_has_async_version": true, - "credential_param_name": null + "credential_key_header_name": null }, "operation_groups": { "operation_group_one": "OperationGroupOneOperations", diff --git a/test/multiapi/Expected/AcceptanceTests/MultiapiWithSubmodule/multiapiwithsubmodule/submodule/v1/_metadata.json b/test/multiapi/Expected/AcceptanceTests/MultiapiWithSubmodule/multiapiwithsubmodule/submodule/v1/_metadata.json index 28e81a19ebf..fbdc385cfd7 100644 --- a/test/multiapi/Expected/AcceptanceTests/MultiapiWithSubmodule/multiapiwithsubmodule/submodule/v1/_metadata.json +++ b/test/multiapi/Expected/AcceptanceTests/MultiapiWithSubmodule/multiapiwithsubmodule/submodule/v1/_metadata.json @@ -35,7 +35,7 @@ "credential_scopes": ["https://management.azure.com/.default"], "credential_default_policy_type": "BearerTokenCredentialPolicy", "credential_default_policy_type_has_async_version": true, - "credential_param_name": null + "credential_key_header_name": null }, "operation_groups": { "operation_group_one": "OperationGroupOneOperations" diff --git a/test/multiapi/Expected/AcceptanceTests/MultiapiWithSubmodule/multiapiwithsubmodule/submodule/v2/_metadata.json b/test/multiapi/Expected/AcceptanceTests/MultiapiWithSubmodule/multiapiwithsubmodule/submodule/v2/_metadata.json index e528ac206b3..daa77e80b5a 100644 --- a/test/multiapi/Expected/AcceptanceTests/MultiapiWithSubmodule/multiapiwithsubmodule/submodule/v2/_metadata.json +++ b/test/multiapi/Expected/AcceptanceTests/MultiapiWithSubmodule/multiapiwithsubmodule/submodule/v2/_metadata.json @@ -35,7 +35,7 @@ "credential_scopes": ["https://management.azure.com/.default"], "credential_default_policy_type": "BearerTokenCredentialPolicy", "credential_default_policy_type_has_async_version": true, - "credential_param_name": null + "credential_key_header_name": null }, "operation_groups": { "operation_group_one": "OperationGroupOneOperations", diff --git a/test/multiapi/Expected/AcceptanceTests/MultiapiWithSubmodule/multiapiwithsubmodule/submodule/v3/_metadata.json b/test/multiapi/Expected/AcceptanceTests/MultiapiWithSubmodule/multiapiwithsubmodule/submodule/v3/_metadata.json index 6191bcfbe88..f2b522ee1cd 100644 --- a/test/multiapi/Expected/AcceptanceTests/MultiapiWithSubmodule/multiapiwithsubmodule/submodule/v3/_metadata.json +++ b/test/multiapi/Expected/AcceptanceTests/MultiapiWithSubmodule/multiapiwithsubmodule/submodule/v3/_metadata.json @@ -35,7 +35,7 @@ "credential_scopes": ["https://management.azure.com/.default"], "credential_default_policy_type": "BearerTokenCredentialPolicy", "credential_default_policy_type_has_async_version": true, - "credential_param_name": null + "credential_key_header_name": null }, "operation_groups": { "operation_group_one": "OperationGroupOneOperations", diff --git a/test/multiapi/specification/multiapicredentialdefaultpolicy/README.md b/test/multiapi/specification/multiapicredentialdefaultpolicy/README.md index 38837796209..70bf4287147 100644 --- a/test/multiapi/specification/multiapicredentialdefaultpolicy/README.md +++ b/test/multiapi/specification/multiapicredentialdefaultpolicy/README.md @@ -30,7 +30,7 @@ license-header: MICROSOFT_MIT_NO_VERSION azure-arm: true add-credentials: true credential-default-policy-type: AzureKeyCredentialPolicy -credential-param-name: Authorization +credential-key-header-name: Authorization ``` ``` yaml $(multiapi) From 4ff8589267ba58f5d3712c913dccce331cc792dd Mon Sep 17 00:00:00 2001 From: iscai-msft Date: Tue, 4 Aug 2020 17:19:26 -0400 Subject: [PATCH 7/7] fix pylint --- autorest/codegen/__init__.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/autorest/codegen/__init__.py b/autorest/codegen/__init__.py index dd13a40201f..3f369ca2dbd 100644 --- a/autorest/codegen/__init__.py +++ b/autorest/codegen/__init__.py @@ -167,7 +167,8 @@ def _get_credential_param(self, azure_arm, credential, credential_default_policy raise ValueError( "You have passed in credential scopes with default credential policy type " "AzureKeyCredentialPolicy. This is not allowed, since credential scopes is tied with " - "BearerTokenCredentialPolicy. Instead, with this policy you must pass in --credential-key-header-name." + "BearerTokenCredentialPolicy. Instead, with this policy you must pass in " + "--credential-key-header-name." ) if not credential_key_header_name: raise ValueError(