Below are details regarding how special character are handled in Resource Tags
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.
eg: 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, so as 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 FlexReports would first show the initial Column as is but eventually would also show the two Columns renamed as per the above logic.
eg:
- 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-9