Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[BUG] Billing Role Assignment deserialization fails when createdByPrincipalTenantId is empty #47341

Open
noah-prosperops opened this issue Nov 26, 2024 · 1 comment
Assignees
Labels
Billing customer-reported Issues that are reported by GitHub users external to the Azure organization. Mgmt This issue is related to a management-plane library. needs-team-attention Workflow: This issue needs attention from Azure service team or SDK team question The issue doesn't require a change to the product in order to be resolved. Most issues start as that

Comments

@noah-prosperops
Copy link

Library name and version

Azure.ResourceManager.Billing 1.2.0

Describe the bug

When calling GetBillingProfileRoleAssignments().GetAllAsync() to list role assignments for a billing profile, we are observing in some environments an exception during this operation:

System.FormatException
One of the identified items was in an invalid format.

This occurs on this line in the SDK's deserialization of the createdByPrincipalTenantId property. It expects a GUID, but the value returned by API is actually an empty string in the failure scenario.

Expected behavior

The operation should always succeed for normal requests to the Azure API. In the case of an empty string for createdByPrincipalTenantId, the operation should complete and the result should reflect the actual value (we don't have an opinion on whether this would be empty GUID, null, or otherwise).

Actual behavior

System.FormatException is thrown with message One of the identified items was in an invalid format.

Reproduction Steps

Query an environment where role assignments exist with empty createdByPrincipalTenantId value. Perform SDK GetAllAsync() and observe the thrown exception.

Environment

.NET 8

@github-actions github-actions bot added customer-reported Issues that are reported by GitHub users external to the Azure organization. needs-triage Workflow: This is a new issue that needs to be triaged to the appropriate team. question The issue doesn't require a change to the product in order to be resolved. Most issues start as that labels Nov 26, 2024
@jsquire jsquire added Billing Mgmt This issue is related to a management-plane library. needs-team-attention Workflow: This issue needs attention from Azure service team or SDK team and removed needs-triage Workflow: This is a new issue that needs to be triaged to the appropriate team. labels Nov 26, 2024
@jsquire
Copy link
Member

jsquire commented Nov 26, 2024

Thank you for your feedback. Tagging and routing to the team member best able to assist.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Billing customer-reported Issues that are reported by GitHub users external to the Azure organization. Mgmt This issue is related to a management-plane library. needs-team-attention Workflow: This issue needs attention from Azure service team or SDK team question The issue doesn't require a change to the product in order to be resolved. Most issues start as that
Projects
None yet
Development

No branches or pull requests

3 participants