azure icon indicating copy to clipboard operation
azure copied to clipboard

azure_rm_adapplication --getting issue when try to use optional_claims

Open tushar150 opened this issue 3 years ago • 1 comments

I am trying to use optional_claims as following but getting weird error. I try to use the same code without optional_claims and its working but I need to setup optional_claims as well. Please help to correctly define optional_claims

- name: Create ad application
  azure.azcollection.azure_rm_adapplication:
    tenant: "{{ tenant_id }}"
    cloud_environment: "AzureCloud"
    display_name: "{{ display_name }}"
    subscription_id: "{{ subscription_id }}"
    reply_urls: "{{ reply_urls }}"
    optional_claims:
      - name: "upn"
        essential: false
      - name: "email"
        essential: false
    required_resource_accesses:
    - resource_access:
      - id: "{{ id1 }}"
        type: Scope
      - id: "{{ id2 }}"
        type: Scope
      - id: "{{ id3 }}"
        type: Scope
      resource_app_id: "{{ resource_app_id }}"
- name: Manual step to grant app 
  ansible.builtin.debug:
     msg: Grant can be given by Admin 
 **Error:** 

1 The full traceback is: 2 Traceback (most recent call last): 3 File "/usr/local/lib/python3.8/dist-packages/msrest/serialization.py", line 1436, in _deserialize 4 found_value = key_extractor(attr, attr_desc, data) 5 File "/usr/local/lib/python3.8/dist-packages/msrest/serialization.py", line 1201, in rest_key_case_insensitive_extractor 6 return attribute_key_case_insensitive_extractor(key, None, working_data) 7 File "/usr/local/lib/python3.8/dist-packages/msrest/serialization.py", line 1226, in attribute_key_case_insensitive_extractor 8 if lower_attr == key.lower(): 9 AttributeError: 'dict' object has no attribute 'lower' 10
11 During handling of the above exception, another exception occurred: 12 13 Traceback (most recent call last): 14 File "/usr/local/lib/python3.8/dist-packages/msrest/serialization.py", line 622, in body 15 data = deserializer._deserialize(data_type, data) 16 File "/usr/local/lib/python3.8/dist-packages/msrest/serialization.py", line 1406, in _deserialize 17 self._deserialize(local_type, value) 18 File "/usr/local/lib/python3.8/dist-packages/msrest/serialization.py", line 1454, in _deserialize 19 raise_with_traceback(DeserializationError, msg, err) 20 File "/usr/local/lib/python3.8/dist-packages/msrest/exceptions.py", line 51, in raise_with_traceback 21 raise error.with_traceback(exc_traceback) 22 File "/usr/local/lib/python3.8/dist-packages/msrest/serialization.py", line 1436, in _deserialize 23 found_value = key_extractor(attr, attr_desc, data) 24 File "/usr/local/lib/python3.8/dist-packages/msrest/serialization.py", line 1201, in rest_key_case_insensitive_extractor 25 return attribute_key_case_insensitive_extractor(key, None, working_data) 26 File "/usr/local/lib/python3.8/dist-packages/msrest/serialization.py", line 1226, in attribute_key_case_insensitive_extractor 27 if lower_attr == key.lower(): 28 azure.core.exceptions.DeserializationError: ("Unable to deserialize to object: type, AttributeError: 'dict' object has no attribute 'lower'", AttributeError("'dict' object has no attribute 'lower'")) 29 30 During handling of the above exception, another exception occurred: 31 32 Traceback (most recent call last): 33 File "/root/.ansible/tmp/ansible-tmp-1664352622.2719226-2406173-214585285859986/AnsiballZ_azure_rm_adapplication.py", line 107, i n 34 _ansiballz_main() 35 File "/root/.ansible/tmp/ansible-tmp-1664352622.2719226-2406173-214585285859986/AnsiballZ_azure_rm_adapplication.py", line 99, in _ansiballz_main 36 invoke_module(zipped_mod, temp_path, ANSIBALLZ_PARAMS) 37 File "/root/.ansible/tmp/ansible-tmp-1664352622.2719226-2406173-214585285859986/AnsiballZ_azure_rm_adapplication.py", line 47, in invoke_module 38 runpy.run_module(mod_name='ansible_collections.azure.azcollection.plugins.modules.azure_rm_adapplication', init_globals=dict(_m odule_fqn='ansible_collections.azure.azcollection.plugins.modules.azure_rm_adapplication', _modlib_path=modlib_path), 39 File "/usr/lib/python3.8/runpy.py", line 207, in run_module 40 return _run_module_code(code, init_globals, run_name, mod_spec) 41 File "/usr/lib/python3.8/runpy.py", line 97, in _run_module_code 42 _run_code(code, mod_globals, init_globals, 43 File "/usr/lib/python3.8/runpy.py", line 87, in _run_code 44 exec(code, run_globals) 45 File "/tmp/ansible_azure.azcollection.azure_rm_adapplication_payload_xbu2nh_2/ansible_azure.azcollection.azure_rm_adapplication_p ayload.zip/ansible_collections/azure/azcollection/plugins/modules/azure_rm_adapplication.py", line 671, in 46 File "/tmp/ansible_azure.azcollection.azure_rm_adapplication_payload_xbu2nh_2/ansible_azure.azcollection.azure_rm_adapplication_p ayload.zip/ansible_collections/azure/azcollection/plugins/modules/azure_rm_adapplication.py", line 667, in main 47 File "/tmp/ansible_azure.azcollection.azure_rm_adapplication_payload_xbu2nh_2/ansible_azure.azcollection.azure_rm_adapplication_p ayload.zip/ansible_collections/azure/azcollection/plugins/modules/azure_rm_adapplication.py", line 446, in init 48 File "/tmp/ansible_azure.azcollection.azure_rm_adapplication_payload_xbu2nh_2/ansible_azure.azcollection.azure_rm_adapplication_p ayload.zip/ansible_collections/azure/azcollection/plugins/module_utils/azure_rm_common.py", line 469, in init 49 File "/tmp/ansible_azure.azcollection.azure_rm_adapplication_payload_xbu2nh_2/ansible_azure.azcollection.azure_rm_adapplication_p ayload.zip/ansible_collections/azure/azcollection/plugins/modules/azure_rm_adapplication.py", line 466, in exec_module 50 File "/tmp/ansible_azure.azcollection.azure_rm_adapplication_payload_xbu2nh_2/ansible_azure.azcollection.azure_rm_adapplication_p ayload.zip/ansible_collections/azure/azcollection/plugins/modules/azure_rm_adapplication.py", line 500, in create_resource 51 File "/usr/local/lib/python3.8/dist-packages/azure/graphrbac/operations/applications_operations.py", line 79, in create 52 body_content = self._serialize.body(parameters, 'ApplicationCreateParameters') 53 File "/usr/local/lib/python3.8/dist-packages/msrest/serialization.py", line 624, in body 54 raise_with_traceback(File "/usr/local/lib/python3.8/dist-packages/msrest/exceptions.py", line 51, in raise_with_traceback 55 raise error.with_traceback(exc_traceback) File "/usr/local/lib/python3.8/dist-packages/msrest/serialization.py", line 622, in body 56 data = deserializer._deserialize(data_type, data) File "/usr/local/lib/python3.8/dist-packages/msrest/serialization.py", line 1406, in _deserialize self._deserialize(local_type, value) File "/usr/local/lib/python3.8/dist-packages/msrest/serialization.py", line 1454, in _deserialize raise_with_traceback(DeserializationError, msg, err) File "/usr/local/lib/python3.8/dist-packages/msrest/exceptions.py", line 51, in raise_with_traceback raise error.with_traceback(exc_traceback) File "/usr/local/lib/python3.8/dist-packages/msrest/serialization.py", line 1436, in _deserialize found_value = key_extractor(attr, attr_desc, data) File "/usr/local/lib/python3.8/dist-packages/msrest/serialization.py", line 1201, in rest_key_case_insensitive_extractor return attribute_key_case_insensitive_extractor(key, None, working_data) File "/usr/local/lib/python3.8/dist-packages/msrest/serialization.py", line 1226, in attribute_key_case_insensitive_extractor if lower_attr == key.lower(): azure.core.exceptions.SerializationError: ('Unable to build a model: ("Unable to deserialize to object: type, AttributeError: 'dict' object has no attribute 'lower'", AttributeError("'dict' object has no attribute 'lower'")), DeserializationError: ("Unable to deserialize to object: type, AttributeError: 'dict' object has no attribute 'lower'", AttributeError("'dict' object has no attribute 'lower'"))', DeserializationError("Unable to deserialize to object: type, AttributeError: 'dict' object has no attribute 'lower'", AttributeError("'dict' object has no attribute 'lower'")))fatal: [localhost]: FAILED! => { "changed": false, "module_stderr": "Traceback (most recent call last):\n File "/usr/local/lib/python3.8/dist-packages/msrest/serialization.py" , line 1436, in deserialize\n found_value = key_extractor(attr, attr_desc, data)\n File "/usr/local/lib/python3.8/dist-packag es/msrest/serialization.py", line 1201, in rest_key_case_insensitive_extractor\n return attribute_key_case_insensitive_extracto r(key, None, working_data)\n File "/usr/local/lib/python3.8/dist-packages/msrest/serialization.py", line 1226, in attribute_key case_insensitive_extractor\n if lower_attr == key.lower():\nAttributeError: 'dict' object has no attribute 'lower'\n\nDuring han dling of the above exception, another exception occurred:\n\nTraceback (most recent call last):\n File "/usr/local/lib/python3.8/ dist-packages/msrest/serialization.py", line 622, in body\n data = deserializer._deserialize(data_type, data)\n File "/usr/lo cal/lib/python3.8/dist-packages/msrest/serialization.py", line 1406, in _deserialize\n self._deserialize(local_type, value)\n File "/usr/local/lib/python3.8/dist-packages/msrest/serialization.py", line 1454, in _deserialize\n raise_with_traceback(Deser ializationError, msg, err)\n File "/usr/local/lib/python3.8/dist-packages/msrest/exceptions.py", line 51, in raise_with_tracebac k\n raise error.with_traceback(exc_traceback)\n File "/usr/local/lib/python3.8/dist-packages/msrest/serialization.py", line 1 436, in _deserialize\n found_value = key_extractor(attr, attr_desc, data)\n File "/usr/local/lib/python3.8/dist-packages/msres t/serialization.py", line 1201, in rest_key_case_insensitive_extractor\n return attribute_key_case_insensitive_extractor(key, N one, working_data)\n File "/usr/local/lib/python3.8/dist-packages/msrest/serialization.py", line 1226, in attribute_key_case_ins ensitive_extractor\n if lower_attr == key.lower():\nazure.core.exceptions.DeserializationError: ("Unable to deserialize to obje ct: type, AttributeError: 'dict' object has no attribute 'lower'", AttributeError("'dict' object has no attribute 'lower'"))\n\n During handling of the above exception, another exception occurred:\n\nTraceback (most recent call last):\n File "/root/.ansible/ tmp/ansible-tmp-1664352622.2719226-2406173-214585285859986/AnsiballZ_azure_rm_adapplication.py", line 107, in \n _ansiballz_main()\n File "/root/.ansible/tmp/ansible-tmp-1664352622.2719226-2406173-214585285859986/AnsiballZ_azure_rm_adapplication.py", line 99, in _ansiballz_main\n invoke_module(zipped_mod, temp_path, ANSIBALLZ_PARAMS)\n File "/root/.ansible/tmp/ansible-tmp-1664352622.2719226-2406173-214585285859986/AnsiballZ_azure_rm_adapplication.py", line 47, in invoke_module\n runpy.run_module mod_name='ansible_collections.azure.azcollection.plugins.modules.azure_rm_adapplication', init_globals=dict(_module_fqn='ansible_collections.azure.azcollection.plugins.modules.azure_rm_adapplication', _modlib_path=modlib_path),\n File "/usr/lib/python3.8/runpy.py", line 207, in run_module\n return _run_module_code(code, init_globals, run_name, mod_spec)\n File "/usr/lib/python3.8/runpy.py", line 97, in _run_module_code\n _run_code(code, mod_globals, init_globals,\n File "/usr/lib/python3.8/runpy.py", line 87, in _run_code\n exec(code, run_globals)\n File "/tmp/ansible_azure.azcollection.azure_rm_adapplication_payload_xbu2nh_2/ansible_azure.azcollection.azure_rm_adapplication_payload.zip/ansible_collections/azure/azcollection/plugins/modules/azure_rm_adapplication.py", line 671, in \n File "/tmp/ansible_azure.azcollection.azure_rm_adapplication_payload_xbu2nh_2/ansible_azure.azcollection.azure_rm_adapplication_payload.zip/ansible_collections/azure/azcollection/plugins/modules/azure_rm_adapplication.py
", line 667, in main\n File "/tmp/ansible_azure.azcollection.azure_rm_adapplication_payload_xbu2nh_2/ansible_azure.azcollection.a zure_rm_adapplication_payload.zip/ansible_collections/azure/azcollection/plugins/modules/azure_rm_adapplication.py", line 446, in "module_stdout": "", "msg": "MODULE FAILURE\nSee stdout/stderr for the exact error","rc": 1

tushar150 avatar Sep 28 '22 09:09 tushar150

@tushar150 hank you for the problem you raised. After testing, I found that it was the parameter "optional_claims". I don't know whether it was caused by SDK update or just before, we will solve it as soon as possible! Thank you very much!

Fred-sun avatar Oct 09 '22 06:10 Fred-sun

Thank you for looking into this. When can we expect some updates on this.

tushar150 avatar Nov 17 '22 09:11 tushar150

@tushar150 The azure-graphrbac has been abandoned and migrated to msgraph-sdk, which you can use in the v2.1.0 release. Thank you very much!

Fred-sun avatar Jan 11 '24 13:01 Fred-sun

kindly ping!

Fred-sun avatar Jan 24 '24 10:01 Fred-sun

Hello Team,

Thank you for the answers. We will check and get back.

Thanks and Regards, Tushar

On Wed, 24 Jan 2024 at 15:43, Fred-sun @.***> wrote:

kindly ping!

— Reply to this email directly, view it on GitHub https://github.com/ansible-collections/azure/issues/989#issuecomment-1907818562, or unsubscribe https://github.com/notifications/unsubscribe-auth/AJPTU2JOJMGCTRGYHCDEGUDYQDNC5AVCNFSM6AAAAAAQXTEJSWVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTSMBXHAYTQNJWGI . You are receiving this because you were mentioned.Message ID: @.***>

tushar150 avatar Jan 24 '24 11:01 tushar150

@tushar150 I will close this issue first, if you encounter new problems, you are welcome to submit the problem! Thank you!

Fred-sun avatar Jan 25 '24 01:01 Fred-sun