azure
azure copied to clipboard
azure_rm_adapplication does not properly manipulate optional_claims
SUMMARY
azure_rm_adapplication does not properly ingest arguments for the optional_claims section of an application.
There are three different types of tokens that may have optional claims set. The module does not allow specifying which token the claims are for.
Currently it is impossible to set any optional_claims
using this module. The current arg format results in a crash.
ISSUE TYPE
- Bug Report
COMPONENT NAME
azure_rm_adapplication
ANSIBLE VERSION
ansible [core 2.11.12]
config file = /etc/ansible/ansible.cfg
configured module search path = ['/home/kmcdonough/.ansible/plugins/modules', '/usr/share/ansible/plugins/modules']
ansible python module location = <redacted>
ansible collection location = /home/kmcdonough/.ansible/collections:/usr/share/ansible/collections
executable location = <redacted>
python version = 3.8.10 (default, Nov 22 2023, 10:22:35) [GCC 9.4.0]
jinja version = 3.1.2
libyaml = True
COLLECTION VERSION
2.1.1
CONFIGURATION
n/a
OS / ENVIRONMENT
$ cat /etc/os-release
NAME="Ubuntu"
VERSION="20.04.6 LTS (Focal Fossa)"
STEPS TO REPRODUCE
- name: create application
azure.azcollection.azure_rm_adapplication:
available_to_other_tenants: false
display_name: "test"
optional_claims:
- name: aud
essential: true
register: application_response
EXPECTED RESULTS
The application should be created with the optional claims set for at least one token type
ACTUAL RESULTS
The full traceback is:
File "/tmp/ansible_azure.azcollection.azure_rm_adapplication_payload_ad_f0j70/ansible_azure.azcollection.azure_rm_adapplication_payload.zip/ansible_collections/azure/azcollection/plugins/modules/azure_rm_adapplication.py", line 528, in create_resource
File "/usr/lib/python3.8/asyncio/base_events.py", line 616, in run_until_complete
return future.result()
File "/tmp/ansible_azure.azcollection.azure_rm_adapplication_payload_ad_f0j70/ansible_azure.azcollection.azure_rm_adapplication_payload.zip/ansible_collections/azure/azcollection/plugins/modules/azure_rm_adapplication.py", line 708, in create_application
File "/home/kent/cdrive/Documents/project1/ansible/venv/lib/python3.8/site-packages/msgraph/generated/applications/applications_request_builder.py", line 82, in post
request_info = self.to_post_request_information(
File "/home/kent/cdrive/Documents/project1/ansible/venv/lib/python3.8/site-packages/msgraph/generated/applications/applications_request_builder.py", line 131, in to_post_request_information
request_info.set_content_from_parsable(self.request_adapter, "application/json", body)
File "/home/kent/cdrive/Documents/project1/ansible/venv/lib/python3.8/site-packages/kiota_abstractions/request_information.py", line 143, in set_content_from_parsable
writer.write_object_value(None, values)
File "/home/kent/cdrive/Documents/project1/ansible/venv/lib/python3.8/site-packages/kiota_serialization_json/json_serialization_writer.py", line 284, in write_object_value
self._serialize_value(temp_writer, value)
File "/home/kent/cdrive/Documents/project1/ansible/venv/lib/python3.8/site-packages/kiota_serialization_json/json_serialization_writer.py", line 462, in _serialize_value
value.serialize(temp_writer)
File "/home/kent/cdrive/Documents/project1/ansible/venv/lib/python3.8/site-packages/msgraph/generated/models/application.py", line 282, in serialize
writer.write_object_value("optionalClaims", self.optional_claims)
File "/home/kent/cdrive/Documents/project1/ansible/venv/lib/python3.8/site-packages/kiota_serialization_json/json_serialization_writer.py", line 284, in write_object_value
self._serialize_value(temp_writer, value)
File "/home/kent/cdrive/Documents/project1/ansible/venv/lib/python3.8/site-packages/kiota_serialization_json/json_serialization_writer.py", line 462, in _serialize_value
value.serialize(temp_writer)
fatal: [test-host]: FAILED! => {
"changed": false,
"invocation": {
"module_args": {
"ad_user": null,
"adfs_authority_url": null,
"allow_guests_sign_in": null,
"api_profile": "latest",
"app_id": null,
"app_roles": null,
"auth_source": "auto",
"available_to_other_tenants": false,
"cert_validation_mode": null,
"client_id": null,
"cloud_environment": "AzureCloud",
"credential_description": null,
"display_name": "strawman_idb_rw",
"end_date": null,
"homepage": null,
"identifier_uris": null,
"key_type": "Password",
"key_usage": "Verify",
"key_value": null,
"log_mode": null,
"log_path": null,
"native_app": null,
"oauth2_allow_implicit_flow": null,
"optional_claims": [
{
"additional_properties": null,
"essential": true,
"name": "aud",
"source": null
}
],
"password": null,
"profile": null,
"reply_urls": null,
"required_resource_accesses": null,
"secret": null,
"sign_in_audience": null,
"start_date": null,
"state": "present",
"subscription_id": null,
"tenant": null,
"thumbprint": null,
"x509_certificate_path": null
}
},
"msg": "Error creating application, display_name: strawman_idb_rw - 'list' object has no attribute 'serialize'"
}