Special characters in Resource Tags
search cancel

Special characters in Resource Tags

book

Article ID: 284477

calendar_today

Updated On:

Products

CloudHealth

Issue/Introduction

This document details how special characters present in Resource Tags are handled in within the platform.

Resolution

Case-Sensitive Column Name Handling

If there are two Columns which are identical if they are case-insensitive, then the column names are renamed in the following manner:

  • Appended at the end of every uppercase character, and this converted name is appended to the logical name with ___ separator.

E.g. resourceTags/user:client , resourceTags/user:Client and resourceTags/user:cLientare both present in the Parquet:

  • resourceTags/user:client would be converted to resourceTags/user:client___user:client,  
    Readable Name: resourceTags_user:client___user:client
  • resourceTags/user:Client would be converted to resourceTags/user:Client___user:C1lient,  
    Readable Name: resourceTags_user:Client___user:C1lient
  • resourceTags/user:cLient would be converted to resourceTags/user:cLient___user:cL1ient,  
    Readable Name: resourceTags_user:cLient___user:cL1ient

Users can leverage tag-backlinking when selecting the latest tag dimension, to apply that to all historical line-items as well.

Limitations of case-sensitive column name handling

If a Column with a different case is introduced in a subsequent CUR, then Flex Reports would first show the initial Column as is, but eventually would also show the two Columns renamed as per the above logic.

E.g.

  • resourceTags/user:client is present in the CUR for 2020-06, then FlexReports would show just resourceTags_user:client (Readable Name) in the UI/API.
  • But if in a subsequent CUR drop (Either in the same month of 2020-06 or in a subsequent month (Like 2020-07), if a new identical Tag resourceTags/user:Client is added to the CUR then they would be renamed as per the above logic. However, the original tag resourceTags_user:client would remain in FlexReports and its data would correspond to from when it was introduced until when the second identical tag was introduced.
  • Therefore, a total of three tags would be shown in the UI/API, Readable Names: resourceTags_user:client, resourceTags_user:client___user:client, resourceTags_user:Client___user:C1lient

Special Characters in Resource Tag Columns

  • . would be substituted by -1
  • would be substituted by -0
  • (Spaces or Tabs) would be substituted by -2
  • ` would be substituted by -3
  • ( would be substituted by -4
  • ) would be substituted by -5
  • ; would be substituted by -6
  • , would be substituted by -7
  • { would be substituted by -8
  • } would be substituted by -9
  • = would be substituted by -eq-
  • Leading and Trailing Whitespace Characters are removed.

eg:

  • resourceTags/user.name would be resourceTags/user-1name, Readable Name: resourceTags_user-1name
  • resourceTags/user"name” would be resourceTags/user-0name-0, Readable Name: resourceTags/user-0name-0
  • resourceTags/user:Cluster Name would be resourceTags/user:Cluster-2Name, Readable Name: resourceTags_user:Cluster-2Name
  • resourceTags/user:Cluster Name would be resourceTags/user:Cluster-2Name, Readable Name: resourceTags_user:Cluster-2Name
  • resourceTags/user:ro;e would be resourceTags/user:ro-6e, Readable Name: resourceTags_user:ro-6e
  • resourceTags/user:krishna(prod)would be resourceTags/user:krishna-4prod-5,Readable Name:resourceTags_user:krishna-4prod-5
  • resourceTags/user=elizabethwould be resourceTags/user-eq-elizabeth,Readable Name:resourceTags_user-eq-elizabeth
  • resourceTags/users,groupswould be resourceTags/users-7groups,Readable Name:resourceTags_users-7groups
  • resourceTags/user:john{prod}would be resourceTags/user:john-8prod-9,Readable Name:resourceTags_user:john-8prod-