Default Dimension Definitions

The following are the definitions for the current default dimensions. See Additional Cloud Provider Dimensions for their IDs and a brief description of each.

Metadata:
  Version: 1.0.8

Dimensions:
  Elasticity:
    Child: Service
    DefaultValue: Fixed Costs
    Hide: True
    Name: Elasticity
    Rules:
    - Conditions:
      - Equals: Storage
        Source: CZ:Defined:Category
      Name: Storage
      Type: Group
    - Conditions:
      - Equals: Snowflake
        Source: CloudProvider
      - Equals:
        - Networking
        - Content Delivery
        - Machine Learning
        - Appliation Integration
        - Analytics
        - Internet of Things
        - Cloud Management
        - Security
        Source: CZ:Defined:Category
      - Equals:
        - AWSLambda
        - AmazonEKS
        - AmazonECS
        - AmazonECR
        Source: Service
      - Equals:
        - Data Transfer
        - API Request
        - API Calls
        Source: UsageFamily
      - And:
        - Equals: AmazonEC2
        - Equals:
          - Spot Instance
          - NAT Gateway
          Source: UsageFamily
      - And:
        - Equals: AmazonRDS
        - Equals: System Operation
          Source: UsageFamily
      - And:
        - Equals: AmazonDynamoDB
        - Equals: Amazon DynamoDB PayPerRequest Throughput
          Source: UsageFamily
      - And:
        - Equals: AWSCloudTrail
        - Equals: Management Tools - AWS CloudTrail Data Events Recorded
          Source: UsageFamily
      Name: Variable Costs
      Type: Group
    Source: Service

  NetworkingCategory:         
    Name: Networking Category
    Child: CZ:Defined:NetworkingSubCategory
    Source: Service
    DefaultValue: Non-Networking Spend
    Rules:
      - Type: Group
        Name: Unsupported Cloud Provider
        Conditions:
          - Not:
            - Source: CloudProvider
              Contains: [AWS, Azure, GCP]
      - Type: Group
        Name: CloudFront    
        Conditions:
          - And:
            - Equals: AmazonCloudFront
            - Source: UsageFamily
              Equals: Data Transfer
      - Type: Group
        Name: Data Transfer
        Conditions:
          - And:
            - Source: CloudProvider
              BeginsWith: AWS
            - Source: UsageFamily
              Equals: Data Transfer
      - Type: Group
        Name: NAT Gateway
        Conditions:
          - Source: UsageFamily
            Equals: NAT Gateway
      - Type: Group
        Name: VPC Endpoint
        Conditions:
          - Source: UsageFamily
            Equals: VpcEndpoint
      - Type: Group
        Name: Direct Connect
        Conditions:
          - Equals: AWSDirectConnect
      - Type: Group
        Name: VPC Client VPN
        Conditions:
          - And:
            - Equals: AmazonVPC
            - Source: UsageType
              Contains: ClientVPN
      - Type: Group
        Name: VPC Transit Gateway
        Conditions:
          - And:
            - Equals: AmazonVPC
            - Source: UsageType
              Contains: TransitGateway
      - Type: Group
        Name: VPC
        Conditions:
          - Equals: AmazonVPC
      - Type: Group
        Name: Load Balancing
        Conditions:
          - Equals: AWSELB
      - Type: Group
        Name: DNS
        Conditions:
          - Equals: AmazonRoute53
      - Type: Group
        Name: VPC Flowlogs
        Conditions:
          - Source: CZ:Defined:ResourceType
            Equals: ["EC2: vpc-flow-log", "CloudWatch: vpc-flow-log"]
      - Type: Group
        Name: File Transfer
        Conditions:
          - Equals: AWSTransfer
      - Type: Group
        Name: Load Balancing     
        Conditions:
          - And:
            - Source: CloudProvider
              BeginsWith: GCP
            - Source: UsageFamily
              Contains: Load Balancing
      - Type: Group
        Name: Data Transfer
        Conditions:
          - And:
            - Source: CloudProvider
              BeginsWith: GCP
            - Source: UsageFamily
              BeginsWith: Network
      - Type: Group
        Name: DNS
        Conditions:
          - Equals: Cloud DNS
      - Type: Group
        Name: Networking
        Conditions:
          - Equals: Networking
      - Type: Group
        Name: Virtual Network
        Conditions:
          - Equals: virtual network
          - And:
            - Equals: microsoft.network
            - Source: UsageFamily
              Equals: Virtual Network
      - Type: Group
        Name: Load Balancing
        Conditions:
          - And:
            - Equals: microsoft.network
            - Source: UsageFamily
              Equals: Load Balancer
      - Type: Group
        Name: NAT Gateway
        Conditions:
          - And:
            - Equals: microsoft.network
            - Source: UsageFamily
              Equals: NAT Gateway
      - Type: Group
        Name: DNS
        Conditions:
          - And:
            - Equals: microsoft.network
            - Source: UsageFamily
              Equals: Azure DNS
      - Type: Group
        Name: Networking
        Conditions:
          - Equals: microsoft.network

  NetworkingSubCategory:      
    Name: Networking Sub-Category
    Source: UsageFamily
    DefaultValue: Other
    Rules:
      - Type: Group
        Name: Unsupported Cloud Provider
        Conditions:
          - Not:
            - Source: CloudProvider
              Contains: [AWS, Azure, GCP]
      - Type: Group
        Name: Non-Networking Spend
        Conditions:
          - Source: CZ:Defined:NetworkingCategory
            Equals: Non-Networking Spend
      - Type: GroupBy
        Source: TransferType
        Conditions:
          - And:
            - Source: Service
              Equals: AmazonCloudfront
            - Equals: Data Transfer
      - Type: Group
        Name: S3 Inbound
        Conditions:
          - And:
            - Source: Service
              Equals: AmazonS3
            - Equals: Data Transfer
            - Source: UsageType
              Contains: DataTransfer-In-Bytes
      - Type: Group
        Name: S3 Outbound
        Conditions:
          - And:
            - Source: Service
              Equals: AmazonS3
            - Equals: Data Transfer
            - Source: UsageType
              Contains: DataTransfer-Out-Bytes
      - Type: Group
        Name: IntraRegion - AZ to AZ
        Conditions:
          - And:
            - Equals: Data Transfer
            - Source: UsageType
              Contains: DataTransfer-Regional-Bytes
      - Type: Group
        Name: AWS Inbound
        Conditions:
          - And:
            - Equals: Data Transfer
            - Source: UsageType
              Contains: DataTransfer-In-Bytes
      - Type: Group
        Name: AWS Outbound
        Conditions:
          - And:
            - Equals: Data Transfer
            - Source: UsageType
              Contains: DataTransfer-Out-Bytes
      - Type: Group
        Name: InterRegion Inbound
        Conditions:
          - And:
            - Equals: Data Transfer
            - Source: UsageType
              Contains: AWS-In-Bytes
      - Type: Group
        Name: InterRegion Outbound
        Conditions:
          - And:
            - Equals: Data Transfer
            - Source: UsageType
              Contains: AWS-Out-Bytes
      - Type: Group
        Name: Data Transfer
        Conditions:
          - Equals: Data Transfer
      - Type: Group
        Name: NAT Gateway (Bytes)
        Conditions:
          - And:
            - Equals: NAT Gateway
            - Source: UsageType
              Contains: Bytes
      - Type: Group
        Name: NAT Gateway (Hours)
        Conditions:
          - And:
            - Equals: NAT Gateway
            - Source: UsageType
              Contains: Hours
      - Type: Group
        Name: NAT Gateway (Other)
        Conditions:
          - Equals: NAT Gateway
      - Type: Group
        Name: VPC PublicIPv4-InUseAddress
        Conditions:
          - And:
            - Source: Service
              Equals: AmazonVPC
            - Source: UsageType
              Contains: "PublicIPv4:InUseAddress"
      - Type: Group
        Name: VPC PublicIPv4-IdleAddress
        Conditions:
          - And:
            - Source: Service
              Equals: AmazonVPC
            - Source: UsageType
              Contains: "PublicIPv4:IdleAddress"
      - Type: Group
        Name: VPC Endpoint (Bytes)
        Conditions:
          - And:
            - Equals: VpcEndpoint
            - Source: UsageType
              Contains: Bytes
      - Type: Group
        Name: VPC Endpoint (Hours)
        Conditions:
          - And:
            - Equals: VpcEndpoint
            - Source: UsageType
              Contains: Hours
      - Type: Group
        Name: VPC Endpoint (Other)
        Conditions:
          - Equals: VpcEndpoint
      - Type: Group
        Name: Transit Gateway (Bytes)
        Conditions:
          - And:
            - Source: UsageType
              Contains: TransitGateway
            - Source: UsageType
              Contains: Bytes
      - Type: Group
        Name: Transit Gateway (Hours)
        Conditions:
          - And:
            - Source: UsageType
              Contains: TransitGateway
            - Source: UsageType
              Contains: Hours
      - Type: Group
        Name: Transit Gateway (Other)
        Conditions:
          - Source: UsageType
            Contains: TransitGateway
      - Type: Group
        Name: Client VPN (Bytes)
        Conditions:
          - And:
            - Source: UsageType
              Contains: ClientVPN
            - Source: UsageType
              Contains: Bytes
      - Type: Group
        Name: Client VPN (Hours)
        Conditions:
          - And:
            - Source: UsageType
              Contains: ClientVPN
            - Source: UsageType
              Contains: Hours
      - Type: Group
        Name: Client VPN (Other)
        Conditions:
          - Source: UsageType
            Contains: ClientVPN
      - Type: GroupBy
        Source: UsageFamily
        Conditions:
          - Source: Service
            Equals:
              - AmazonVPC
              - AWSDirectConnect
              - AWSELB
      - Type: Group
        Name: HTTP Load Balancing
        Conditions:
          - BeginsWith: HTTP Load Balancing
      - Type: Group
        Name: Internal Load Balancing
        Conditions:
          - BeginsWith: Network Internal Load Balancing
      - Type: Group
        Name: Network Load Balancing
        Conditions:
          - BeginsWith: Network Load Balancing
      - Type: Group
        Name: Network HTTP Load Balancing
        Conditions:
          - BeginsWith: Network HTTP Load Balancing
      - Type: Group
        Name: Networking Cloud Load Balancing
        Conditions:
          - BeginsWith: Networking Cloud Load Balancing
      - Type: Group
        Name: Cloud Armor
        Conditions:
          - BeginsWith: Networking Cloud Armor
      - Type: Group
        Name: Service Directory Resource
        Conditions:
          - BeginsWith: Networking Service Directory
      - Type: Group
        Name: Traffic Egress
        Conditions:
          - BeginsWith: Networking Traffic Egress
      - Type: Group
        Name: Traffic Ingress
        Conditions:
          - BeginsWith: Networking Traffic Ingress
      - Type: Group
        Name: Google Egress
        Conditions:
          - BeginsWith: Network Google Egress
      - Type: Group
        Name: Google Ingress
        Conditions:
          - BeginsWith: Network Google Ingress
      - Type: Group
        Name: Internal Load Balancing
        Conditions:
          - BeginsWith: Network Internal Load Balancing
      - Type: Group
        Name: Internet Region Egress
        Conditions:
          - BeginsWith: Network Internet Egress
      - Type: Group
        Name: Internet Region Ingress
        Conditions:
          - BeginsWith: Network Internet Ingress
      - Type: Group
        Name: Intra Zone Egress
        Conditions:
          - BeginsWith: Network Intra Zone Egress
      - Type: Group
        Name: Intra Zone Ingress
        Conditions:
          - BeginsWith: Network Intra Zone Ingress
      - Type: Group
        Name: Inter Zone Egress
        Conditions:
          - BeginsWith: Network Inter Zone Egress
      - Type: Group
        Name: Inter Zone Ingress
        Conditions:
          - BeginsWith: Network Inter Zone Ingress
      - Type: Group
        Name: Inter Region Egress
        Conditions:
          - BeginsWith: Network Inter Region Egress
      - Type: Group
        Name: Inter Region Ingress
        Conditions:
          - BeginsWith: Network Inter Region Ingress
      - Type: Group
        Name: HTTP Load Balancing Egress
        Conditions:
          - BeginsWith: Network HTTP Load Balancing Egress
      - Type: Group
        Name: HTTP Load Balancing Ingress
        Conditions:
          - BeginsWith: Network HTTP Load Balancing Ingress
      - Type: GroupBy
        Source: Operation
        Conditions:
          - And:
            - Source: CloudProvider
              BeginsWith: Azure
            - Not:
              - Source: CZ:Defined:NetworkingCategory
                Equals: Other

  BillingLineItem:
    Name: Billing Line Item
    Rules:
      - Type: Group
        Name: Tax
        Conditions:
          - Source: LineItemType
            Equals: Tax
      - Type: Group
        Name: Support
        Conditions:
          - And:
            - Source: CloudProvider
              BeginsWith: AWS
            - Source: Service
              Equals: [OCBPremiumSupport, AWSSupportEnterprise, AWSSupportBusiness, AWSDeveloperSupport]
      - Type: Group
        Name: EdpRefund
        Conditions:
          - And:
            - Source: CloudProvider
              BeginsWith: AWS
            - Source: LineItemType
              Equals: Refund
            - Source: Description
              Equals: Enterprise Program Discount
      - Type: Group
        Name: MAP Credit
        Conditions:
          - And:
            - Source: CloudProvider
              BeginsWith: AWS
            - Source: LineItemType
              Equals: Credit
            - Source: Description
              Contains: [_MPE, _MAP, DBA_NC]
      - Type: Group
        Name: Credit
        Conditions:
          - And:
            - Source: CloudProvider
              BeginsWith: AWS
            - Source: LineItemType
              Equals: Refund
            - Source: Description
              Transforms:
                - Type: Lower
              Contains: credit
      - Type: Group
        Name: RICoveredUsage
        Conditions:
          - And:
            - Source: CloudProvider
              BeginsWith: AWS
            - Source: LineItemType
              Equals: DiscountedUsage
      - Type: Group
        Name: RIUpfrontFee
        Conditions:
          - And:
            - Source: CloudProvider
              BeginsWith: AWS
            - Source: LineItemType
              Equals: Fee
            - Source: Description
              BeginsWith: [Sign up charge for subscription, RI Marketplace charge]
            - Not:
              - Source: Service
                Equals: APNFee
      - Type: Group
        Name: Support
        Conditions:
          - And:
            - Source: CloudProvider
              BeginsWith: GCP
            - Source: LineItemType
              Equals: Usage
            - Source: Service
              Equals: Support
      - Type: Group
        Name: Fee
        Conditions:
          - And:
            - Source: CloudProvider
              BeginsWith: GCP
            - Source: LineItemType
              Equals: Purchase
      - Type: Group
        Name: DiscountedUsage
        Conditions:
          - And:
            - Source: CloudProvider
              BeginsWith: GCP
            - Or:
              - And:
                - Source: LineItemType
                  Equals: Usage
                - Source: UsageFamily
                  BeginsWith: Commitment
              - And:
                - Source: LineItemType
                  Equals: Credit
                - Source: Description
                  Contains: COMMITTED_USAGE_DISCOUNT
      - Type: Group
        Name: Discount
        Conditions:
          - And:
            - Source: CloudProvider
              BeginsWith: GCP
            - And:
              - Source: LineItemType
                Equals: Credit
              - Not:
                - Source: Description
                  Contains: PROMOTION
      - Type: GroupBy
        Source: LineItemType

  Category:                             
    Name: Service Category
    Child: Service
    Source: CloudProvider
    DefaultValue: Other
    Rules:
      - Type: Group
        Name: Service Category Unavailable
        Conditions:
          - Not:
            - Source: CloudProvider
              Contains: [AWS, Azure, GCP, Snowflake, MongoDB, Databricks, NewRelic, Datadog, datadog]
      - Type: GroupBy
        Source: CZ:Defined:Category_AWS
        Conditions:
          - Not:
            - Source: CZ:Defined:Category_AWS
              BeginsWith: Admin
      - Type: GroupBy
        Source: CZ:Defined:Category_GCP
        Conditions:
          - Not:
            - Source: CZ:Defined:Category_GCP
              BeginsWith: Admin
      - Type: GroupBy
        Source: CZ:Defined:Category_Azure
        Conditions:
          - Not:
            - Source: CZ:Defined:Category_Azure
              BeginsWith: Admin
      - Type: Group
        Name: AI and Machine Learning
        Conditions:
          - Equals: Databricks
      - Type: Group
        Name: Databases
        Conditions:
          - Equals: [Snowflake, MongoDB Atlas, MongoDB]
      - Type: Group
        Name: Management and Governance
        Conditions:
          - Equals: [NewRelic, Datadog, datadog]

  Category_AWS:                         
    Name: Service Category - AWS
    Hide: True
    Source: Service
    Rules:
      - Type: Group
        Name: Admin - Non-AWS Spend
        Conditions:
          - Not:
            - Source: CloudProvider
              BeginsWith: AWS
      - Type: Group
        Name: Support
        Conditions:
          - Source: Service
            Equals: [OCBPremiumSupport, AWSDeveloperSupport, AWSSupportBusiness]
      - Type: Group
        Name: Networking          
        Conditions:
          - Source: UsageFamily
            Equals: [Data Transfer, NAT Gateway]
          - Equals: [AmazonCloudFront, AmazonRoute53, AmazonVPC, AWSCloudMap,
                    AWSDirectConnect, AWSGlobalAccelerator, AWSDataTransfer, AWSELB]
          - Equals: AWSCloudWAN    
      - Type: Group
        Name: Storage          
        Conditions:
          - Source: CZ:Defined:ResourceType
            Equals: ["EC2: volume", "EC2: snapshot"]
          - Equals: [AmazonEFS, AmazonFSx, AmazonS3, AmazonS3GlacierDeepArchive, AmazonGlacier,
                    AWSBackup, AWSStorageGateway, AWSElasticDisasterRecovery, AmazonECR, AmazonECRPublic]
      - Type: Group
        Name: AI and Machine Learning
        Conditions:
          - Equals: [CodeGuru, comprehend, AmazonBedrock, AmazonDevOpsGuru, AmazonForecast, AmazonKendra, AmazonLex,
                    AmazonLookoutEquipment, AmazonLookoutMetrics, AmazonLookoutVision, AmazonPersonalize,
                    AmazonPolly, AmazonQ, AmazonRekognition, AmazonSageMaker, AmazonTextract, transcribe, translate,
                    AWSDeepComposer, AWSDeepLens, AWSDeepRacer]
          - Equals: AmazonML    
          - Contains: Bedrock   
      - Type: Group
        Name: Analytics
        Conditions:
          - Equals: [AmazonAthena, AmazonCloudSearch, ElasticMapReduce, AmazonKinesis, AmazonKinesisFirehose,
                    AmazonKinesisAnalytics, AmazonMSK, AmazonES, AmazonQuickSight, AmazonRedshift, datapipeline,
                    AWSGlue, AWSLakeFormation]
      - Type: Group
        Name: Business Applications
        Conditions:
          - Equals: [AlexaWebInfoService, AmazonChime, AmazonChimeDialin, AmazonChimeFeatures, AmazonChimeVoiceConnector,
                    AmazonConnect, AmazonPinpoint, AmazonSES, AmazonWorkDocs, AmazonWorkMail]
          - Equals: [ContactCenterTelecomm, ContactLensAmazonConnect]   
          - Equals: [AmazonAppStream, AmazonWorkSpaces]   
      - Type: Group
        Name: Compute
        Conditions:
          - Equals: [AmazonEC2, AmazonECS, AmazonEKS, AmazonLightsail, AWSAppRunner, AWSLambda, VMwareCloudOnAWS]
          - Equals: ComputeSavingsPlans   
      - Type: Group
        Name: Databases
        Conditions:
          - Equals: [AmazonDocDB, AmazonDynamoDB, AmazonDAX, AmazonElastiCache, AmazonMemoryDB, AmazonNeptune,
                    AmazonRDS, AmazonRedshift, AmazonTimestream, AWSDatabaseMigrationSvc]
      - Type: Group
        Name: Developer Tools
        Conditions:
          - Equals: [AWSCloudShell, AWSCodeArtifact, CodeBuild, AWSCodeCommit, AWSCodePipeline, AWSDeviceFarm, AWSXRay]
      - Type: Group
        Name: Integration
        Conditions:
          - Equals: [AppFlow, AWSEvents, AmazonMWAA, AmazonMQ, AmazonSNS, AWSQueueService, AmazonStates]
      - Type: Group
        Name: Internet of Things
        Conditions:
          - Contains: IoT
      - Type: Group
        Name: Management and Governance
        Conditions:
          - Equals: [AmazonCloudWatch, AmazonGrafana, AmazonPrometheus, AWSCloudFormation, AWSCloudTrail, AWSConfig,
                    OpsWorks, AmazonRegistrar, AWSResilienceHub, AWSServiceCatalog, AWSSystemsManager]
          - Equals: [AWSCostExplorer]   
      - Type: Group
        Name: Media
        Conditions:
          - Contains: ElementalMedia
          - Equals: AmazonKinesisVideo
      - Type: Group
        Name: Migration
        Conditions:
          - Equals: [AWSApplicationMigrationSvc, AWSDatabaseMigrationSvc, AWSDataSync, AWSMigrationHubRefactorSpaces, AWSTransfer]
      - Type: Group
        Name: Security
        Conditions:
          - Equals: [AmazonCognito, AmazonCognitoSync, AmazonDetective, AmazonGuardDuty, AmazonInspector, AmazonInspectorV2,
                    AmazonMacie, AmazonSecurityLake, auditmanager, AWSCertificateManager, CloudHSM, AWSDirectoryService,
                    AWSFMS, awskms, AWSNetworkFirewall, AWSSecretsManager, AWSSecurityHub, AWSShield, awswaf]
      - Type: Group
        Name: Web
        Conditions:
          - Equals: [AmazonApiGateway, AmazonLocationService, AmazonPinpoint, AmazonSES, AWSAmplify, AWSAppSync, AWSDeviceFarm]
      - Type: Group
        Name: Marketplace
        Conditions:
          - Source: CloudProvider
            Equals: AWS Marketplace

  Category_GCP:                         
    Name: Service Cateogry - GCP
    Hide: True
    Source: Service
    Rules:
      - Type: Group
        Name: Admin - Non-AWS Spend
        Conditions:
          - Not:
            - Source: CloudProvider
              BeginsWith: GCP
      - Type: Group
        Name: Marketplace
        Conditions:
          - And:
            - Source: Account
              HasValue: False
            - Not:
              - Source: UsageFamily
                BeginsWith: [GCP Support, Commitment - dollar based]
      - Type: Group
        Name: Support
        Conditions:
          - And:
            - Source: Account
              HasValue: False
            - Source: Service
              Equals: Support
      - Type: Group
        Name: AI and Machine Learning
        Conditions:
          - Equals: [Vertex AI, Vertex AI Workbench, Vertex Explainable AI]
          - Equals: [AutoML, Dialogflow, Media Translation, Natural Language AI, Recommendations AI, Speech-to-Text,
                    Text-to-Speech, Translation AI, Video AI, Vision AI]
          - Equals: [AI Infrastructure, Cloud TPUs, Deep Learning VM Image, Deep Learning Containers, TensorFlow Enterprise]
          - Equals: [Contact Center AI, Document AI, Intelligent Products, Product Discovery]
          - Equals: [Transcribe, Translate]
      - Type: Group
        Name: Analytics
        Conditions:
          - Equals: [BigQuery, BigQuery BI Engine, BigQuery Reservation API, Looker, Dataproc, Cloud Dataflow, Cloud Pub/Sub, Cloud Data Fusion, Data Catalog, Cloud Composer, Dataprep,
                    Dataplex, Analytics Hub, Looker Studio, Google Marketing Platform, Cloud Life Sciences, Earth Engine, BigLake,
                    Elastic Cloud (managed Elasticsearch Service)]
          - Equals: [Custom Search]
      - Type: Group
        Name: Compute
        Conditions:
          - Equals: [App Engine, Bare Metal Solution, Batch, Cloud GPUs, Cloud Run, Compute Engine, Migrate to Virtual Machines,
                    Spot VMs, Recommender, Shielded VMs, Sole-tenant Nodes, SQL Server on Google Cloud, VMware Engine]
          - Equals: [Kubernetes Engine, Artifact Registry, Container Registry, Container Security, Deep Learning Containers,    
                    Google Kubernetes Engine (GKE), Knative, Kubernetes applications on Google Cloud Marketplace]
          - Equals: [Cloud Functions, Workflows]    
      - Type: Group
        Name: Databases
        Conditions:
          - Equals: [AlloyDB for PostgreSQL, Bare Metal Solution, Cloud Bigtable, Cloud Spanner, Cloud SQL, Database Migration Service,
                    Firestore, Firebase Realtime Database, Cloud Memorystore for Redis, Datastream]
      - Type: Group
        Name: Developer Tools
        Conditions:
          - Equals: [Artifact Registry, Assured Open Source Software, Cloud Build, Cloud Code, Cloud Scheduler, Cloud SDK,
                    Cloud Source Repositories, Cloud Tasks, Cloud Workstations, Container Registry, Firebase Crashlytics, Firebase Test Lab,
                    Google Cloud Deploy, Gradle App Engine Plugin, Maven App Engine Plugin, Tekton, Tools for Eclipse, Tools for PowerShell]
      - Type: Group
        Name: Internet of Things
        Conditions:
          - Equals: [Edge TPU, IoT Core]
      - Type: Group
        Name: Multicloud
        Conditions:
          - Equals: [Anthos, Apigee API Management, Cloud Run for Anthos, Migrate to Containers, Google Distributed Cloud]
      - Type: Group
        Name: Management and Governance
        Conditions:
          - Equals: [Anthos Config Management, Anthos Service Mesh, Carbon Footprint, Cloud APIs, Cloud Console, Cloud Mobile App,
                    Cloud Shell, Config Connector, Cost Management, Deployment Manager, Service Catalog, Terraform on Google Cloud,
                    Stackdriver Monitoring, Stackdriver Trace]
          - Equals: Payment Gateway   
          - Equals: [Cloud Debugger, Cloud Logging, Cloud Monitoring, Cloud Profiler, Cloud Trace, Cloud Error Reporting]    
      - Type: Group
        Name: Media
        Conditions:
          - Equals: [Live Stream API, OpenCue, Transcoder API, Video Stitcher API]
      - Type: Group
        Name: Migration
        Conditions:
          - Equals: [Application migration, BigQuery Data Transfer Service, Cloud Foundation Toolkit, Migrate to Containers,
                    Migrate to Virtual Machines, Migration Center, Transfer Appliance]
      - Type: Group
        Name: Networking
        Conditions:
          - Equals: [Networking, Cloud Armor, Cloud CDN, Cloud Domains, Cloud DNS, Cloud IDS, Cloud Load Balancing, Cloud NAT, Hybrid Connectivity,
                    Media CDN, Network Connectivity Center, Network Intelligence Center, Network Service Tiers, Private Service Connect,
                    Service Directory, Spectrum Access System (SAS), Traffic Director, Virtual Private Cloud (VPC)]
      - Type: Group
        Name: Security
        Conditions:
          - Equals: [Access Transparency, Assured Workloads, Chronicle Security Operations, Chronicle SIEM, Cloud Asset Inventory,
                    Cloud Data Loss Prevention, Cloud Key Management Service (KMS), Confidential Computing, Cloud Firewall, Risk Protection Program,
                    Secret Manager, Security Commander Center, Shielded VMs, Chronicle SOAR, VirusTotal, VPC Service Controls]
          - Equals: [BeyondCorp Enterprise, Certificate Authority Service, Cloud Identity, Identity and Access Management,
                    Identity-Aware Proxy, Identity Platform, Managed Service for Microsoft Active Directory, Policy Intelligence,
                    Resource Manager, Titan Security Key, Workforce Identity Federation]
          - Equals: [reCAPTCHA Enterprise, Web Risk]
          - Equals: [Assured Open Source Software, Software Delivery Shield]
          - Equals: [Mandiant Threat Intelligence, Mandiant Attack Surface Management, Mandiant Digital Threat Monitoring,
                    Mandiant Security Validation, Mandiant Ransomware Defense Validation]
          - Equals: [Mandiant Automated Defense, Mandiant Managed Detection and Response, Mandiant Breach Analytics for Chronicle]
          - Equals: [Mandiant Incident Resposne Services, Mandiant Consulting Services, Mandiant Experise on Demand, Mandiant Academy]
          - Equals: [Container Registry Vulnerability Scanning]
      - Type: Group
        Name: Storage
        Conditions:
          - Equals: [BigQuery Storage API, Storage Transfer Service, Cloud Storage, Cloud Storage for Firebase, Cloud Filestore, Google Workspace Essentials, Local SSD,
                    Persistent Disk, Google Cloud Backup and DR]

  Category_Azure:                       
    Name: Service Category - Azure
    Hide: True
    Source: Service
    Rules:
      - Type: Group
        Name: Admin - Non-Azure Spend
        Conditions:
          - Not:
            - Source: CloudProvider
              BeginsWith: Azure
      - Type: Group
        Name: Marketplace
        Conditions:
          - Source: Service
            Equals: marketplace
      - Type: Group
        Name: Analytics
        Conditions:
          - Source: UsageFamily
            Equals: [Azure Synapse Analytics, Logic Apps]
      - Type: Group
        Name: Integration
        Conditions:
          - Source: UsageFamily
            Equals: Service Bus
      - Type: Group
        Name: Compute
        Conditions:
          - Source: UsageFamily
            Equals: Virtual Machines
      - Type: Group
        Name: Networking
        Conditions:
          - Source: UsageFamily
            Equals: [Azure DNS, Bandwidth, Load Balancer, Virtual Network]
      - Type: Group
        Name: Security
        Conditions:
          - Source: UsageFamily
            BeginsWith: Microsoft Defender
      - Type: Group
        Name: Storage
        Conditions:
          - Source: UsageFamily
            Equals: Storage
      - Type: Group
        Name: AI and Machine Learning
        Conditions:
          - Equals: [microsoft.aisearch, microsoft.botservice, microsoft.cognitiveservices, microsoft.contentsafety, microsoft.customvision, microsoft.databricks, 
                     microsoft.documentintelligence, microsoft.face, microsoft.openai, microsoft.immersivereader, microsoft.language, microsoft.machinelearning, 
                     microsoft.machinelearningservices, microsoft.speech, microsoft.syntex, microsoft.translator, microsoft.videoindexer, microsoft.vision]
      - Type: Group
        Name: Analytics
        Conditions:
          - Equals: [microsoft.analysisservices, microsoft.datafactory, microsoft.datalakestore, microsoft.digitaltwins,
                     microsoft.fabric, microsoft.hdinsight, microsoft.kusto, microsoft.powerbidedicated,
                     microsoft.purview, microsoft.signalrservice, microsoft.streamanalytics, microsoft.synapse]
      - Type: Group
        Name: Business Applications
        Conditions:
          - Equals: [microsoft.saas]
      - Type: Group
        Name: Compute
        Conditions:
          - Equals: [microsoft.app, microsoft.batch, microsoft.certificateregistration, microsoft.classiccompute, microsoft.compute,
                     microsoft.containerservice, microsoft.web, microsoft.containerinstance, microsoft.containerregistry]
      - Type: Group
        Name: Databases
        Conditions:
          - Equals: [microsoft.cache, microsoft.dbformariadb, microsoft.dbformysql, microsoft.dbforpostgresql,
                     microsoft.documentdb, microsoft.sql]
      - Type: Group
        Name: Developer Tools
        Conditions:
          - Equals: [api management, github, marketplace, microsoft.appconfiguration, microsoft.dashboard, microsoft.devcenter,
                     microsoft.labservices, microsoft.loadtestservice, microsoft.visualstudio]
      - Type: Group
        Name: Integration
        Conditions:
          - Equals: [microsoft.appplatform, microsoft.healthcareapis, microsoft.logic, microsoft.maps, 
                     microsoft.relay, microsoft.servicebus]
      - Type: Group
        Name: Internet of Things
        Conditions:
          - Equals: [microsoft.devices, microsoft.eventgrid, microsoft.eventhub, microsoft.notificationhubs]
      - Type: Group
        Name: Management and Governance
        Conditions:
          - Equals: [microsoft.automation, microsoft.insights, microsoft.monitor, microsoft.operationalinsights, microsoft.recoveryservices]
      - Type: Group
        Name: Networking
        Conditions:
          - Equals: [bastion scale units, microsoft.cdn, microsoft.classicnetwork, microsoft.network, virtual network]
      - Type: Group
        Name: Networking
        Conditions:
          - Equals: [microsoft.aad, microsoft.azureactivedirectory, microsoft.dataprotection, microsoft.easm,
                     microsoft.hybridcompute, microsoft.keyvault, microsoft.security]
      - Type: Group
        Name: Storage
        Conditions:
          - Equals: [microsoft.classicstorage, microsoft.elasticsan, microsoft.netapp, microsoft.storage]
      - Type: Group
        Name: Web
        Conditions:
          - Equals: [microsoft.bing, microsoft.media, microsoft.search]

  InstanceType:
    Name: Instance Type
    Hide: False
    DefaultValue: No Instance Type
    Rules:
      - Type: Group
        Name: Instance Type Categorization Unavailable
        Conditions:
          - Not:
            - Source: CloudProvider
              Contains: [AWS, Azure, GCP]
      - Type: GroupBy
        Source: UsageType
        Transforms:
          - Type: Split
            Delimiter: ':'
            Index: 2
        Conditions:
          - Source: UsageFamily
            Contains: [Instance, CPU Credits, Dedicated Host]
          - And:
            - Source: UsageType
              Contains: HeavyUsage
            - Not:
              - Source: Service
                Equals: AmazonDynamoDB
      - Type: GroupBy
        Source: Tag:gcp:compute.googleapis.com/machine_spec
        Conditions:
          - Source: Service
            Equals: Compute Engine
      - Type: GroupBy
        Source: UsageFamily
        Transforms:
          - Type: Split
            Delimiter: ' running in'
            Index: 1
        Conditions:
          - And:
            - Source: Service
              Equals: Compute Engine      
            - Source: UsageFamily
              Contains: running in
      - Type: GroupBy
        Source: 
          - UsageType
          - Operation
        Format: '{0} - {1}'
        Conditions:
          - And:
            - Source: Service
              Equals: "microsoft.compute"
            - Source: UsageFamily
              Equals: Virtual Machines
            - Source: PricingUnit
              Equals: 1 Hour
          - And:
            - Source: Service
              BeginsWith: "microsoft"
            - Source: Service
              Contains: "sql"
            - Source: UsageType
              Contains: Compute
            - Source: PricingUnit
              Equals: 1 Hour
      - Type: GroupBy
        Source: Operation
        Conditions:
          - Or:
            - And:
              - Source: Service
                Equals: "microsoft.cache"
              - Source: PricingUnit
                Equals: 1 Hour
            - And:
              - Source: Service
                Equals: "microsoft.web"
              - Source: UsageFamily
                Equals: Azure App Service
              - Source: PricingUnit
                Equals: 1 Hour

  PaymentOption:                        
    Name: Payment Option
    Hide: False
    DefaultValue: On-Demand
    Rules:
      - Type: Group
        Name: Payment Option Unavailable
        Conditions:
          - Not:
            - Source: CloudProvider
              Contains: [AWS, Azure, GCP, Datadog]
      - Type: Group
        Name: Reservation
        Conditions:
          - And:
            - Source: CloudProvider
              Contains: AWS
            - Source: CZ:Defined:BillingLineItem      
              Equals: [DiscountedUsage, RICoveredUsage, RIFee, RIUpfrontFee]
      - Type: Group
        Name: Savings Plan
        Conditions:
          - And:
            - Source: CloudProvider
              Contains: AWS
            - Source: CZ:Defined:BillingLineItem
              Equals: [SavingsPlanCoveredUsage, SavingsPlanNegation, SavingsPlanRecurringFee, SavingsPlanUpfrontFee]
      - Type: Group
        Name: Spot
        Conditions:
          - And:
            - Source: CloudProvider
              Contains: AWS
            - Source: UsageType
              Contains: SpotUsage
      - Type: Group
        Name: Provisioned
        Conditions:
          - And:
            - Source: CloudProvider
              Contains: AWS
            - Or:
              - Source: UsageFamily
                Contains: [Provisioned, CapacityUnit]
              - Source: UsageType
                Transforms:
                  - Type: Lower
                Contains: [piops, p-iops]
      - Type: Group
        Name: On-Demand - Instances
        Conditions:
          - And:
            - Source: CloudProvider
              Contains: AWS
            - Source: UsageFamily
              Contains: [Instance, CPU Credits]
      - Type: Group
        Name: Reservation
        Conditions:
          - And:
            - Source: CloudProvider
              Contains: Azure
            - Source: CZ:Defined:BillingLineItem      
              Equals: [DiscountedUsage, RICoveredUsage]
      - Type: Group
        Name: Savings Plan
        Conditions:
          - And:
            - Source: CloudProvider
              Contains: Azure
            - Source: CZ:Defined:BillingLineItem
              Equals: SavingsPlanCoveredUsage
      - Type: Group
        Name: Spot
        Conditions:
          - And:
            - Source: CloudProvider
              Contains: Azure
            - Source: Operation
              Contains: Spot
      - Type: Group
        Name: On-Demand - Instances
        Conditions:
          - And:
            - Source: CloudProvider
              BeginsWith: Azure
            - Source: UsageFamily    
              Equals: Virtual Machines
      - Type: Group
        Name: Spot
        Conditions:
          - And:
            - Source: CloudProvider
              BeginsWith: GCP
            - Source: UsageFamily
              BeginsWith: Spot
      - Type: Group
        Name: Reservation       
        Conditions:
          - And:
            - Source: CloudProvider
              BeginsWith: GCP
            - Source: UsageFamily
              BeginsWith: Commitment - dollar based
      - Type: Group
        Name: Reservation
        Conditions:
          - And:
            - Source: CloudProvider
              BeginsWith: GCP
            - Source: UsageFamily
              BeginsWith: Commitment
      - Type: Group
        Name: On-Demand - Instances
        Conditions:
          - And:
            - Source: CloudProvider
              BeginsWith: GCP
            - Source: CZ:Defined:ResourceType
              Contains: ": instances"
      - Type: Group
        Name: Committed
        Conditions:
          - And:
            - Source: CloudProvider
              BeginsWith: Datadog
            - Source: CZ:Defined:ResourceDisplay
              Contains: -committed

  ResourceType:
    Name: Resource Type
    Hide: False
    Rules:
      - Type: GroupBy
        Source:
          - CZ:Defined:ServiceDisplay
          - CZ:Defined:ResourceType_Split
        Format: '{0}: {1}'

  ResourceType_Split:                   
    Name: Resource Type - Split
    Hide: True
    DefaultValue: service-usage
    Rules:
      - Type: Group
        Name: service-usage
        Conditions:
          - Source: Resource
            Contains: ":unknown:"
      - Type: Group
        Name: service-usage
        Conditions:
          - Source: Resource
            BeginsWith: "billingitem-"
      - Type: Group
        Name: data-transfer
        Conditions:
          - Source: UsageFamily
            Equals: Data Transfer
      - Type: GroupBy
        Source: Resource
        Transforms:
          - Type: Split
            Delimiter: ':'
            Index: 6

  ServiceDetail:
    Name: Service Detail
    Hide: False
    Rules:
      - Type: Group
        Name: Service Detail Unavailable
        Conditions:
          - Not:
            - Source: CloudProvider
              Contains: [AWS, Azure, GCP]
      - Type: GroupBy
        Source: LineItemType
        Format: 'Non-Usage: {0}'
        Conditions:
          - Not:
            - Source: LineItemType
              Equals: [Usage, DiscountedUsage, SavingsPlanCoveredUsage]
      - Type: GroupBy
        Source:
          - UsageFamily
          - CZ:Defined:ServiceDetail_Breakdown_AWS
        Format: '{0}: {1}'
        Conditions:
          - Not:
            - Source: CZ:Defined:ServiceDetail_Breakdown_AWS
              BeginsWith: Admin
      - Type: GroupBy
        Source:
          - UsageFamily
          - CZ:Defined:ServiceDetail_Breakdown_Azure
        Format: '{0}: {1}'
        Conditions:
          - Not:
            - Source: CZ:Defined:ServiceDetail_Breakdown_Azure
              BeginsWith: Admin
      - Type: GroupBy
        Source: UsageFamily
        Conditions:
          - Source: CloudProvider
            BeginsWith: GCP

  ServiceDetail_Breakdown_AWS:          
    Name: Service Detail - Breakdown - AWS
    Hide: True
    Rules:
      - Type: Group
        Name: Admin - Non-AWS
        Conditions:
          - Not:
            - Source: CloudProvider
              BeginsWith: AWS
      - Type: GroupBy
        Source: CZ:Defined:ServiceDetail_DT_InterRegion_AWS
        Format: 'InterRegion: {0}'
        Conditions:
          - Source: CZ:Defined:NetworkingSubCategory
            Equals: InterRegion Outbound
      - Type: GroupBy
        Source: Region
        Format: 'IntraRegion: {0}'
        Conditions:
          - Source: CZ:Defined:NetworkingSubCategory
            Equals: IntraRegion - AZ to AZ
      - Type: GroupBy
        Source: Region
        Format: 'Outbound: {0}'
        Conditions:
          - Source: CZ:Defined:NetworkingSubCategory
            Equals: AWS Outbound
      - Type: GroupBy
        Source: CZ:Defined:NetworkingSubCategory
        Format: '{0}'
        Conditions:
          - Source: UsageFamily
            Equals: Data Transfer
      - Type: Group
        Name: ExtendedSupport
        Conditions:
          - Source: UsageType
            Transforms:
              - Type: Lower
            Contains: extendedsupport
      - Type: GroupBy
        Source: UsageType
        Transforms:
          - Type: Split
            Delimiter: 'Edge-'
            Index: 2
        Format: 'Lambda-Edge-{0}'
        Conditions:
          - And:
            - Source: Service
              Equals: AmazonCloudFront
            - Source: UsageFamily
              Equals: Serverless
      - Type: GroupBy
        Source: Operation
        Conditions:
          - Source: Service
            Equals: AmazonCloudFront
      - Type: GroupBy
        Source: UsageType
        Transforms:
          - Type: Split
            Delimiter: 'CW:'
            Index: 2
        Conditions:
          - And:
            - Source: Service
              Equals: AmazonCloudWatch
            - Source: UsageFamily
              Equals:
                - Metric
                - Canaries
      - Type: GroupBy
        Source: Operation
        Format: '{0}-S3-Egress-Bytes'
        Conditions:
          - And:
            - Source: Service
              Equals: AmazonCloudWatch
            - Source: UsageType
              Contains: S3-Egress-Bytes
      - Type: GroupBy
        Source: Operation
        Format: '{0}-VendedLog-Bytes'
        Conditions:
          - And:
            - Source: Service
              Equals: AmazonCloudWatch
            - Source: UsageType
              Contains: VendedLog-Bytes
      - Type: GroupBy
        Source: Operation
        Format: '{0}-DataProcessing-Bytes'
        Conditions:
          - And:
            - Source: Service
              Equals: AmazonCloudWatch
            - Source: UsageType
              Contains: DataProcessing-Bytes
      - Type: GroupBy
        Source: Operation
        Format: '{0}-DataScanned-Bytes'
        Conditions:
          - And:
            - Source: Service
              Equals: AmazonCloudWatch
            - Source: UsageType
              Contains: DataScanned-Bytes
      - Type: Group
        Name: ConfigurationItemRecorded
        Conditions:
          - And:
            - Source: Service
              Equals: AWSConfig
            - Source: UsageType
              Contains: ConfigurationItemRecorded
      - Type: Group
        Name: end-customer-mins
        Conditions:
          - Source: Service
            Equals: AmazonConnect
      - Type: GroupBy
        Source: UsageType
        Transforms:
          - Type: Split
            Delimiter: "TimedStorage-"
            Index: 2
        Format: 'S3: TimedStorage-{0}'
        Conditions:
          - And:
            - Source: Service
              Equals: AmazonS3
            - Source: UsageFamily
              Equals:
                - Storage
                - Usage
      - Type: Group
        Name: StorageLens
        Conditions:
          - And:
            - Source: Service
              Equals: AmazonS3
            - Source: UsageType
              Contains: "StorageLens"
      - Type: Group
        Name: StorageAnalytics
        Conditions:
          - And:
            - Source: Service
              Equals: AmazonS3
            - Source: UsageType
              Contains: "StorageAnalytics"
      - Type: GroupBy
        Source: Operation
        Format: 'Request-{0}'
        Conditions:
          - And:
            - Source: Service
              Equals: AmazonS3
            - Source: UsageFamily
              Equals: API Request
            - Source: UsageType
              Contains: "Requests-"
      - Type: GroupBy
        Source: Operation
        Format: 'Retrieval-{0}'
        Conditions:
          - And:
            - Source: Service
              Equals: AmazonS3
            - Source: UsageFamily
              Equals: API Request
            - Source: UsageType
              Contains: "Retrieval-"
      - Type: GroupBy
        Source: UsageType
        Transforms:
          - Type: Split
            Delimiter: '-'
            Index: 2
        Conditions:
          - And:
            - Source: Service
              Equals: AmazonRDS
            - Source: UsageFamily
              Equals: [Database Storage, Storage Snapshot, System Operation]
      - Type: GroupBy
        Source: UsageType
        Conditions:
          - And:
            - Source: Service
              Equals: AmazonRDS
            - Source: UsageFamily
              Equals: [Database Storage, Storage Snapshot, System Operation]
      - Type: Group
        Name: MySQL
        Conditions:
          - Source: Operation
            Equals: CreateDBInstance:0002
      - Type: Group
        Name: SQL Server Web
        Conditions:
          - Source: Operation
            Equals: CreateDBInstance:0011
      - Type: Group
        Name: SQL Server
        Conditions:
          - Source: Operation
            Equals:
              - CreateDBInstance:0010
              - CreateDBInstance:0012
              - CreateDBInstance:0015
      - Type: Group
        Name: PostgreSQL
        Conditions:
          - Source: Operation
            Equals: CreateDBInstance:0014
      - Type: Group
        Name: Aurora MYSQL
        Conditions:
          - Source: Operation
            Equals: CreateDBInstance:0016
      - Type: Group
        Name: MariaDB
        Conditions:
          - Source: Operation
            Equals: CreateDBInstance:0018
      - Type: Group
        Name: Oracle
        Conditions:
          - Source: Operation
            Equals:
              - CreateDBInstance:0005
              - CreateDBInstance:0019
              - CreateDBInstance:0020
      - Type: Group
        Name: Aurora PostgreSQL
        Conditions:
          - Source: Operation
            Equals: CreateDBInstance:0021
      - Type: Group
        Name: Neptune
        Conditions:
          - Source: Operation
            Equals: CreateDBInstance:0023
      - Type: Group
        Name: DocDB
        Conditions:
          - Source: Operation
            Equals: CreateDBInstance:0023
      - Type: Group
        Name: Memcached
        Conditions:
          - Source: Operation
            Equals: CreateCacheCluster:0001
      - Type: Group
        Name: Redis
        Conditions:
          - Source: Operation
            Equals: CreateCacheCluster:0002
      - Type: GroupBy
        Source: UsageType
        Transforms:
          - Type: Lower
          - Type: Split
            Delimiter: 'piops'
            Index: 2
        Format: 'Storage-piops{0}'
        Conditions:
          - Source: UsageType
            Transforms:
              - Type: Lower
            Contains: piops
      - Type: Group
        Name: Storage-GP2
        Conditions:
          - Source: UsageType
            Transforms:
              - Type: Lower
            Contains: gp2
      - Type: Group
        Name: Storage-GP3
        Conditions:
          - Source: UsageType
            Transforms:
              - Type: Lower
            Contains: gp3
      - Type: Group
        Name: Storage-IO2
        Conditions:
          - Source: UsageType
            Transforms:
              - Type: Lower
            Contains: io2
      - Type: Group
        Name: Storage-ST1
        Conditions:
          - Source: UsageType
            Transforms:
              - Type: Lower
            Contains: st1
      - Type: Group
        Name: Storage-SC1
        Conditions:
          - Source: UsageType
            Transforms:
              - Type: Lower
            Contains: sc1
      - Type: Group
        Name: Storage-P-IOPS
        Conditions:
          - Source: UsageType
            Transforms:
              - Type: Lower
            Contains: piops
      - Type: Group
        Name: Storage-Aurora
        Conditions:
          - Source: UsageType
            Transforms:
              - Type: Lower
            Contains: "aurora:storageusage"
      - Type: Group
        Name: Storage
        Conditions:
          - Source: UsageType
            Transforms:
              - Type: Lower
            Contains: storageusage
      - Type: Group
        Name: CapacityReservation - UnusedBox
        Conditions:
          - And:
            - Source: Service
              Equals: AmazonEC2
            - Source: UsageFamily
              Equals: Compute Instance
            - Source: UsageType
              Contains: UnusedBox
      - Type: Group
        Name: CapacityReservation - Reservation
        Conditions:
          - And:
            - Source: Service
              Equals: AmazonEC2
            - Source: UsageFamily
              Equals: Compute Instance
            - Source: UsageType
              Contains: Reservation
      - Type: Group
        Name: 'BoxUsage-Linux'
        Conditions:
          - And:
            - Source: Service
              Equals: AmazonEC2
            - Source: UsageType
              Contains: [BoxUsage, DedicatedUsage, SpotUsage]
            - Or:
              - Source: Operation
                Equals: RunInstances
              - Source: Operation
                BeginsWith: ["RunInstances:SV", "RunInstances:0004"]
      - Type: Group
        Name: 'BoxUsage-Windows'
        Conditions:
          - And:
            - Source: Service
              Equals: AmazonEC2
            - Source: UsageType
              Contains: [BoxUsage, DedicatedUsage, SpotUsage]
            - Source: Operation
              BeginsWith: ["RunInstances:0002", "RunInstances:0006", "RunInstances:01",
                            "RunInstances:02", "RunInstances:08"]
      - Type: Group
        Name: 'BoxUsage-SUSE'
        Conditions:
          - And:
            - Source: Service
              Equals: AmazonEC2
            - Source: UsageType
              Contains: [BoxUsage, DedicatedUsage, SpotUsage]
            - Source: Operation
              Equals: "RunInstances:000g"
      - Type: Group
        Name: 'BoxUsage-RHEL'
        Conditions:
          - And:
            - Source: Service
              Equals: AmazonEC2
            - Source: UsageType
              Contains: [BoxUsage, DedicatedUsage, SpotUsage]
            - Source: Operation
              Equals: "RunInstances:0010"
      - Type: Group
        Name: 'BoxUsage-Red Hat Enterprise Linux with HA'
        Conditions:
          - And:
            - Source: Service
              Equals: AmazonEC2
            - Source: UsageType
              Contains: [BoxUsage, DedicatedUsage, SpotUsage]
            - Source: Operation
              Equals: "RunInstances:1010"
      - Type: GroupBy
        Source: Operation
        Format: 'BoxUsage-{0}'
        Conditions:
          - And:
            - Source: Service
              Equals: AmazonEC2
            - Source: UsageType
              Contains: [BoxUsage, DedicatedUsage, SpotUsage]
      - Type: GroupBy
        Source: Operation
        Format: 'EBSOptimized-{0}'
        Conditions:
          - And:
            - Source: Service
              Equals: AmazonEC2
            - Source: UsageType
              Contains: EBSOptimized
      - Type: GroupBy
        Source: Operation
        Format: 'HostBoxUsage-{0}'
        Conditions:
          - And:
            - Source: Service
              Equals: AmazonEC2
            - Source: UsageType
              Contains: HostBoxUsage
      - Type: GroupBy
        Source: CZ:Defined:NetworkingSubCategory
        Conditions:
          - Source: UsageFamily
            Equals: NAT Gateway
      - Type: GroupBy
        Source: UsageType
        Transforms:
          - Type: Split
            Delimiter: 'Fargate-'
            Index: 2
        Format: 'Fargate-{0}'
        Conditions:
          - And:
            - Source: Service
              Equals: AmazonECS
            - Source: UsageType
              Contains: Fargate-
      - Type: GroupBy
        Source: UsageType
        Transforms:
          - Type: Split
            Delimiter: 'AmazonEKS-'
            Index: 2
        Conditions:
          - And:
            - Source: Service
              Equals: AmazonEKS
            - Source: UsageType
              Contains: AmazonEKS-
      - Type: GroupBy
        Source: UsageType
        Transforms:
          - Type: Split
            Delimiter: 'Fargate-'
            Index: 2
        Format: 'Fargate-{0}'
        Conditions:
          - And:
            - Source: Service
              Equals: AmazonEKS
            - Source: UsageType
              Contains: Fargate-
      - Type: Group
        Name: EMR-Serverless - StorageGBHours
        Conditions:
          - And:
            - Source: Service
              Equals: ElasticMapReduce
            - Source: UsageType
              Contains: EMR-SERVERLESS-StorageGBHours
      - Type: Group
        Name: EMR-Serverless - vCPUHours
        Conditions:
          - And:
            - Source: Service
              Equals: ElasticMapReduce
            - Source: UsageType
              Contains: EMR-SERVERLESS-vCPUHours
      - Type: Group
        Name: EMR-Serverless - MemoryGBHours
        Conditions:
          - And:
            - Source: Service
              Equals: ElasticMapReduce
            - Source: UsageType
              Contains: EMR-SERVERLESS-MemoryGBHours
      - Type: GroupBy
        Source: UsageType
        Transforms:
          - Type: Split
            Delimiter: 'Grafana:'
            Index: 2
        Conditions:
          - Source: Service
            Equals: AmazonGrafana
      - Type: GroupBy
        Source: UsageType
        Transforms:
          - Type: Split
            Delimiter: 'Paid'
            Index: 2
        Format: 'Paid{0}'
        Conditions:
          - And:
            - Source: Service
              Equals: AmazonGuardDuty
            - Source: UsageType
              Contains: Paid
      - Type: GroupBy
        Source: UsageType
        Transforms:
          - Type: Split
            Delimiter: 'Free'
            Index: 2
        Format: 'Free{0}'
        Conditions:
          - And:
            - Source: Service
              Equals: AmazonGuardDuty
            - Source: UsageType
              Contains: Free
      - Type: GroupBy
        Source: UsageType
        Transforms:
          - Type: Split
            Delimiter: 'KPU-'
            Index: 2
        Format: 'KPU-{0}'
        Conditions:
          - And:
            - Source: Service
              Equals: AmazonKinesisAnalytics
            - Source: UsageType
              Contains: KPU-
      - Type: GroupBy
        Source: UsageType
        Transforms:
          - Type: Split
            Delimiter: 'Running'
            Index: 2
        Format: 'Running{0}'
        Conditions:
          - And:
            - Source: Service
              Equals: AmazonKinesisAnalytics
            - Source: UsageType
              Contains: Running
      - Type: GroupBy
        Source: UsageType
        Transforms:
          - Type: Split
            Delimiter: 'Durable'
            Index: 2
        Format: 'Durable{0}'
        Conditions:
          - And:
            - Source: Service
              Equals: AmazonKinesisAnalytics
            - Source: UsageType
              Contains: Durable
      - Type: Group
        Name: NodeUsage
        Conditions:
          - And:
            - Source: Service
              Equals: AmazonMemoryDB
            - Source: UsageType
              Contains: NodeUsage
      - Type: Group
        Name: Single-AZ
        Conditions:
          - And:
            - Source: Service
              Equals: AmazonMemoryDB
            - Source: UsageFamily
              Equals:
                - Broker Instances
                - EdpDiscount
            - Source: UsageType
              Contains: Single-AZ
      - Type: Group
        Name: Multi-AZ
        Conditions:
          - And:
            - Source: Service
              Equals: AmazonMemoryDB
            - Source: UsageFamily
              Equals:
                - Broker Instances
                - EdpDiscount
            - Source: UsageType
              Contains: Multi-AZ
      - Type: Group
        Name: RabbitMQ-3
        Conditions:
          - And:
            - Source: Service
              Equals: AmazonMemoryDB
            - Source: UsageFamily
              Equals:
                - Broker Instances
                - EdpDiscount
            - Source: UsageType
              Contains: RabbitMQ-3
      - Type: Group
        Name: RabbitMQ-Single
        Conditions:
          - And:
            - Source: Service
              Equals: AmazonMemoryDB
            - Source: UsageFamily
              Equals:
                - Broker Instances
                - EdpDiscount
            - Source: UsageType
              Contains: RabbitMQ-Single
      - Type: GroupBy
        Source: UsageType
        Transforms:
          - Type: Split
            Delimiter: 'TimedStorage-'
            Index: 2
        Format: 'TimedStorage-{0}'
        Conditions:
          - And:
            - Source: Service
              Equals: AmazonMQ
            - Source: UsageFamily
              Equals:
                - Broker Storage
                - Storage
      - Type: GroupBy
        Source: UsageType
        Transforms:
          - Type: Split
            Delimiter: 'Airflow-'
            Index: 2
        Format: 'Airflow-{0}'
        Conditions:
          - And:
            - Source: Service
              Equals: AmazonMWAA
            - Source: UsageType
              Contains: Airflow-
      - Type: GroupBy
        Source: UsageType
        Transforms:
          - Type: Split
            Delimiter: 'Phone'
            Index: 2
        Format: 'Phone-{0}'
        Conditions:
          - And:
            - Source: Service
              Equals: AmazonPinpoint
            - Source: UsageType
              Contains: Phone
      - Type: Group
        Name: SMS-Standard-Tollfree-MessageFees
        Conditions:
          - And:
            - Source: Service
              Equals: AmazonPinpoint
            - Source: UsageType
              Contains: SMS
            - Source: UsageType
              Contains: Standard-Tollfree-MessageFees
      - Type: Group
        Name: SMS-Standard-Tollfree-CarrierFees
        Conditions:
          - And:
            - Source: Service
              Equals: AmazonPinpoint
            - Source: UsageType
              Contains: SMS
            - Source: UsageType
              Contains: Standard-Tollfree-CarrierFees
      - Type: Group
        Name: SMS-Standard-Sharedroute-MessageFees
        Conditions:
          - And:
            - Source: Service
              Equals: AmazonPinpoint
            - Source: UsageType
              Contains: SMS
            - Source: UsageType
              Contains: Standard-Sharedroute-MessageFees
      - Type: Group
        Name: SMS-Standard-Sharedroute-CarrierFees
        Conditions:
          - And:
            - Source: Service
              Equals: AmazonPinpoint
            - Source: UsageType
              Contains: SMS
            - Source: UsageType
              Contains: Standard-Sharedroute-CarrierFees
      - Type: GroupBy
        Source: UsageType
        Transforms:
          - Type: Split
            Delimiter: 'Deliverability-'
            Index: 2
        Format: 'Deliverability-{0}'
        Conditions:
          - And:
            - Source: Service
              Equals: AmazonPinpoint
            - Source: UsageType
              Contains: Deliverability-
      - Type: GroupBy
        Source: UsageType
        Transforms:
          - Type: Split
            Delimiter: 'Domain-'
            Index: 2
        Format: 'Domain-{0}'
        Conditions:
          - And:
            - Source: Service
              Equals: AmazonPinpoint
            - Source: UsageType
              Contains: Domain-
      - Type: Metadata
        Source: UsageType
        Conditions:
          - Source: Service
            Equals: AmazonSageMaker
        Values:
          - Host
          - Notebk
          - Processing
          - Studio-DW
          - Studio-KernelGateway
          - Train
          - Trspt
          - Tsform
      - Type: Group
        Name: Message
        Conditions:
          - And:
            - Source: Service
              Equals: AmazonSES
            - Source: UsageFamily
              Equals: Receiving Email
            - Source: UsageType
              Contains: Message
      - Type: Group
        Name: ReceivedChunk
        Conditions:
          - And:
            - Source: Service
              Equals: AmazonSES
            - Source: UsageFamily
              Equals: Receiving Email
            - Source: UsageType
              Contains: ReceivedChunk
      - Type: GroupBy
        Source: UsageType
        Transforms:
          - Type: Split
            Delimiter: 'DeliveryAttempts-'
            Index: 2
        Format: 'DeliveryAttempts-{0}'
        Conditions:
          - And:
            - Source: Service
              Equals: AmazonSNS
            - Source: UsageType
              Contains: DeliveryAttempts-
      - Type: GroupBy
        Source: UsageType
        Transforms:
          - Type: Split
            Delimiter: 'SMS-'
            Index: 2
        Format: 'SMS-{0}'
        Conditions:
          - And:
            - Source: Service
              Equals: AmazonSNS
            - Source: UsageType
              Contains: SMS-
      - Type: GroupBy
        Source: UsageType
        Transforms:
          - Type: Split
            Delimiter: 'Initiated'
            Index: 2
        Format: 'Initiated{0}'
        Conditions:
          - And:
            - Source: Service
              Equals: AmazonSWF
            - Source: UsageType
              Contains: Initiated
      - Type: GroupBy
        Source: UsageType
        Transforms:
          - Type: Split
            Delimiter: 'Closed'
            Index: 2
        Format: 'Closed{0}'
        Conditions:
          - And:
            - Source: Service
              Equals: AmazonSWF
            - Source: UsageType
              Contains: Closed
      - Type: GroupBy
        Source: UsageType
        Transforms:
          - Type: Split
            Delimiter: 'Open'
            Index: 2
        Format: 'Open{0}'
        Conditions:
          - And:
            - Source: Service
              Equals: AmazonSWF
            - Source: UsageType
              Contains: Open
      - Type: Group
        Name: TransitGateway-Bytes
        Conditions:
          - And:
            - Source: Service
              Equals: AmazonVPC
            - Source: UsageType
              Contains: TransitGateway-Bytes
      - Type: Group
        Name: TransitGateway-Hours
        Conditions:
          - And:
            - Source: Service
              Equals: AmazonVPC
            - Source: UsageType
              Contains: TransitGateway-Hours
      - Type: GroupBy
        Source: UsageType
        Transforms:
          - Type: Split
            Delimiter: '-'
            Index: 2
        Conditions:
          - And:
            - Source: Service
              Equals: AmazonVPC
            - Source: UsageFamily
              Equals: Usage
      - Type: Metadata
        Source: UsageType
        Conditions:
          - Source: Service
            Equals: AmazonWorkDocs
        Values:
          - ListAPICalls
          - ReadAPICalls
          - WriteAPICalls
          - InclStorageByteHrs
          - WSOnly-UserHrs
          - WSUpgraded-UserHrs
          - UserHrs
      - Type: GroupBy
        Source: UsageType
        Transforms:
          - Type: Split
            Delimiter: 'HW-'
            Index: 2
        Format: 'HW-{0}'
        Conditions:
          - And:
            - Source: Service
              Equals: AmazonWorkSpaces
            - Source: UsageType
              Contains: HW-
      - Type: GroupBy
        Source: UsageType
        Transforms:
          - Type: Split
            Delimiter: 'HWL-'
            Index: 2
        Format: 'HWL-{0}'
        Conditions:
          - And:
            - Source: Service
              Equals: AmazonWorkSpaces
            - Source: UsageType
              Contains: HWL-
      - Type: GroupBy
        Source: UsageType
        Transforms:
          - Type: Split
            Delimiter: 'SW'
            Index: 2
        Format: 'SW{0}'
        Conditions:
          - And:
            - Source: Service
              Equals: AmazonWorkSpaces
            - Source: UsageType
              Contains: SW
      - Type: Metadata
        Source: UsageType
        Conditions:
          - Source: Service
            Equals: AWSCloudTrail
        Values:
          - DataEventsRecorded
          - FreeEventsRecorded
          - FreeTrialIngestion-Bytes
          - FreeTrialQueryScanned-Bytes
          - Ingestion-Bytes
          - InsightsEvents
          - PaidEventsRecorded
          - QueryScanned-Bytes
      - Type: GroupBy
        Source: UsageType
        Transforms:
          - Type: Split
            Delimiter: 'HCPortUsage'
            Index: 2
        Format: 'HCPortUsage{0}'
        Conditions:
          - And:
            - Source: Service
              Equals: AWSDirectConnect
            - Source: UsageType
              Contains: HCPortUsage
      - Type: GroupBy
        Source: UsageType
        Transforms:
          - Type: Split
            Delimiter: 'PortUsage'
            Index: 2
        Format: 'PortUsage{0}'
        Conditions:
          - And:
            - Source: Service
              Equals: AWSDirectConnect
            - Source: UsageType
              Contains: PortUsage
      - Type: GroupBy
        Source: UsageType
        Transforms:
          - Type: Split
            Delimiter: 'Site'
            Index: 2
        Format: 'Site{0}'
        Conditions:
          - And:
            - Source: Service
              Equals: AWSDirectConnect
            - Source: UsageType
              Contains: Site
      - Type: Metadata
        Source: UsageType
        Conditions:
          - Source: Service
            Equals: AWSSecurityHub
        Values:
          - ComplianceCheck
          - PaidFindingsIngestion
      - Type: GroupBy
        Source: UsageType
        Transforms:
          - Type: Split
            Delimiter: '-'
            Index: 2
        Conditions:
          - Source: Service
            Equals:
              - AmazonApiGateway
              - AmazonAppStream
              - AmazonAthena
              - AmazonDevOpsGuru
              - AmazonForecast
              - AmazonFSx
              - AmazonMacie
              - AmazonMemoryDB
              - AmazonPinpoint
              - AmazonTextract
              - AmazonTimestream
              - AWSBackup
              - AWSConfig
          - Source: UsageFamily
            Equals:
              - Amazon DynamoDB PayPerRequest Throughput
              - Provisioned IOPS
              - Storage Snapshot
      - Type: GroupBy
        Source: Operation

  ServiceDetail_DT_InterRegion_AWS:     
    Name: Service Detail - InterRegion Data Transfer
    Hide: True
    Rules:
      - Type: GroupBy
        Source: UsageType
        Transforms:
          - Type: Split
            Delimiter: '-AWS-Out-Bytes'
            Index: 1
        Conditions:
          - And:
            - Source: UsageType
              Contains: -AWS-Out-Bytes
            - Source: UsageFamily
              Equals: Data Transfer

  ServiceDetail_Breakdown_Azure:        
    Name: Service Detail - Breakdown -  Azure
    Hide: True
    Rules:
      - Type: Group
        Name: Admin - Non-Azure
        Conditions:
          - Not:
            - Source: CloudProvider
              BeginsWith: Azure
      - Type: GroupBy
        Source: UsageType   
        Conditions:
          - Source: Service
            Equals: "microsoft.cache"
      - Type: GroupBy
        Source: Operation

  TaggableVsUntaggable:                 
    Name: Taggable vs. Untaggable
    Hide: False
    Child: Service
    Source: CZ:Defined:ResourceType
    DefaultValue: Taggable
    Rules:
      - Type: Group
        Name: Tagging Categorization Unavailable
        Conditions:
          - Not:
            - Source: CloudProvider
              Contains: [AWS, GCP]
      - Type: Group
        Name: Untaggable - Non-Usage
        Conditions:
          - Not:
            - Source: LineItemType
              Equals: [Usage, DiscountedUsage, SavingsPlanCoveredUsage]
      - Type: Group
        Name: Untaggable - Entire Service
        Conditions:
          - Source: Service
            Equals:
              - AmazonChime
              - AmazonDetective
              - AmazonInspector
              - AmazonPinpoint
              - AmazonQLDB
              - AmazonSES
              - AmazonSimpleDB
              - AmazonWorkDocs
              - AmazonWorkMail
              - AppFlow
              - AWSAmplify
              - AWSBudgets
              - AWSCloudShell
              - AWSCostExplorer
              - AWSElementalMediaStore
              - AWSEvents
              - AmazonGuardDuty
              - AWSSecurityHub
              - AWSServiceCatalog
              - AWSSystemsManager
              - AWSSupportEnterprise
              - ContactCenterTelecomm
              - OpsWorks
              - translate
              - AmazonPinpoint
      - Type: Group
        Name: Untaggable - Service Charges
        Conditions:
          - And:
            - Source: CZ:Defined:ResourceType
              Contains: service-usage
            - Source: LineItemType
              Contains: Usage
          - Equals:
            - "ApiGateway: account"
            - "AppSync: DataSource"
            - "AppSync: GraphQLApi"
            - "CloudWatch: dashboard"
            - "CodeDeploy: application"
            - "CodeDeploy: deploymentconfig"
            - "CodePipeline: customactiontype"
            - "DataExchange: revision"
            - "DirectConnect: transit-gateway"
            - "DMS: certificate"
            - "DMS: endpoint"
            - "DMS: eventsubscription"
            - "DMS: replicationinstance"
            - "DMS: replicationsubnetgroup"
            - "DMS: replicationtask"
            - "ElasticBeanstalk: applicationversion"
            - "ElasticBeanstalk: configurationtemplate"
            - "ElasticBeanstalk: environment"
            - "DynamoDB: backup"
            - "EC2: capacityreservation"
            - "EC2: host"
            - "EC2: launchtemplate"
            - "EC2: transitgateway"
            - "EC2: transitgatewayroutetable"
            - "EC2: vpcpeeringconnection"
            - "ECR: jobrun"
            - "ECS: containerinstance"
            - "ECS: service"
            - "FraudDetector: detectorversion"
            - "FraudDetector: modelversion"
            - "FraudDetector: rule"
            - "Glue: database"
            - "IAM: role"
            - "IAM: virtualmfadevice"
            - "IAM: assessmenttemplate"
            - "IoT: topicrule"
            - "IoTAnalytics: channel"
            - "IoTAnalytics: datastore"
            - "IoTAnalytics: pipeline"
            - "Kinesis: stream-consumer"
            - "KinesisAnalyticsV2: application"
            - "KinesisFirehose: deliverystream"
            - "KMS: alias"
            - "Lambda: alias"
            - "Lambda: eventsourcemapping"
            - "Lambda: layerversion"
            - "Lambda: version"
            - "Neptune: cluster-backup"
            - "Neptune: cluster-snapshot"
            - "Organizations: organizationalunit"
            - "Organizations: policy"
            - "QLDB: stream"
            - "RDS: cluster-backup"
            - "Redshift: clustersecuritygroup"
            - "Route53: bound-network-interface"
            - "S3: storage-lens"
            - "SageMaker: endpointconfig"
            - "SageMaker: hyperparametertuningjob"
            - "SageMaker: labelingjob"
            - "SageMaker: model"
            - "SageMaker: pipeline"
            - "SageMaker: trainingjob"
            - "SageMaker: transformjob"
            - "SageMaker: workteam"
            - "SageMaker: trainingjob"
            - "ServiceCatalog: cloudformationproduct"
            - "ServiceCatalog: portfolio"
            - "ServiceQuotas: quota"
            - "Shield: root"
            - "SSM: document"
            - "SSM: maintenancewindow"
            - "SSM: managedinstance"
            - "SSM: patchbaseline"
            - "StorageGateway: volume"
            - "VPC: network-insights-analysis"
      - Type: Group
        Name: Untaggable - Entire Service
        Conditions:
          - Source: Service
            Equals:
              - BigQuery Reservation API
              - BigQuery Storage API
              - Geocoding API
              - Cloud Logging
              - Cloud DNS
              - Custom Search
              - Support
              - Transcoder API
              - Translate
      - Type: Group
        Name: Untaggable - Service Charges
        Conditions:
          - And:
            - Source: Service
              Equals: Compute Engine
            - Source: UsageFamily
              BeginsWith: "Network Load Balancing: Forwarding Rule"
          - And:
            - Source: Service
              Equals: BigQuery
            - Source: UsageFamily
              Equals: Analysis
          - And:
            - Source: Service
              Equals: Networking
            - Source: UsageFamily
              BeginsWith: [Networking Cloud CDN Traffic Cache Egress, Networking Cloud Nat]

  ResourceSummaryID:
    Name: Resource Summary
    Source: Resource
    Rules:
      - Type: GroupBy
        Source: Tag:aws:elasticmapreduce:job-flow-id
        Conditions:
          - Source: Service
            Equals: AmazonEC2
      - Type: GroupBy
        Source: Tag:Name
        Conditions:
          - Source: Service
            Equals: AmazonEC2
      - Type: GroupBy
        Source: Tag:aws:eks:cluster-name
        Conditions:
          - Source: Service
            Equals: AmazonEC2
      - Type: GroupBy
        Source: CZ:Defined:ResourceType
        Format: 'ec2-{0}s'
        Transforms:
          - Type: Split
            Delimiter: ':'
            Index: 2
        Conditions:
          - Source: CZ:Defined:ResourceType
            Equals: ["EC2: instance", "EC2: volume", "EC2: snapshot"]  
      - Type: GroupBy
        Source: CZ:Defined:ResourceType
        Format: 'ec2-{0}s'
        Transforms:
          - Type: Split
            Delimiter: ':'
            Index: 2
        Conditions:
          - Source: CZ:Defined:ResourceType
            Equals: ["EC2: instance", "EC2: volume", "EC2: snapshot"] 
      - Type: GroupBy
        Source: Tag:Name
        Conditions:
          - Source: Service
            Equals: [AmazonVPC, AmazonCloudFront, AWSCertificateManager]
      - Type: Group
        Name: cloudwatch-instances
        Conditions:
          - Source: CZ:Defined:ResourceType
            Equals: "CloudWatch: instance"
      - Type: Group
        Name: inspector-v2-instances
        Conditions:
          - Source: CZ:Defined:ResourceType
            Equals: "InspectorV2: instance"         
      - Type: GroupBy
        Source: CZ:Defined:ResourceDisplay
        Transforms:
          - Type: Split
            Delimiter: '|'
            Index: 1
        Conditions:
          - Source: Service
            Equals: AmazonECS
      - Type: GroupBy
        Source: CZ:Defined:ResourceDisplay
        Transforms:
          - Type: Split
            Delimiter: '.'
            Index: 1
        Conditions:
          - Source: Service
            Equals: transcribe
      - Type: Group
        Name: system-manager-interfaces
        Conditions:
          - Source: Service
            Equals: AWSSystemsManager
      - Type: Group
        Name: kms-keys
        Conditions:
          - Source: Service
            Equals: awskms
      - Type: Group
        Name: backup-recovery-points
        Conditions:
          - Source: CZ:Defined:ResourceType
            Equals: 'Backup: recovery-point'
      - Type: Group
        Name: sagemaker-training-jobs
        Conditions:
          - And:
            - Source: CloudProvider
              BeginsWith: AWS
            - Contains: ':training-job:'            
      - Type: Group
        Name: sagemaker-transform-jobs
        Conditions:
          - And:
            - Source: CloudProvider
              BeginsWith: AWS
            - Contains: ':transform-job:'
      - Type: Group
        Name: vpc-endpoints
        Conditions:
          - And:
            - Source: CloudProvider
              BeginsWith: AWS
            - Contains: ':vpc-endpoint:'
      - Type: Group
        Name: vpc-network-interfaces
        Conditions:
          - And:
            - Source: CloudProvider
              BeginsWith: AWS
            - Contains: ':network-interface:'
      - Type: Group
        Name: webacls
        Conditions:
          - And:
            - Source: CloudProvider
              BeginsWith: AWS
            - Contains: 'webacl/FMManagedWebACL'
      - Type: Group
        Name: elb-classic-load-balancers
        Conditions:
          - And:
            - Source: CloudProvider
              BeginsWith: AWS
            - Contains: ':classic-load-balancer:'
      - Type: Group
        Name: cloudwatch-sagemaker-endpoints
        Conditions:
          - And:
            - Source: CloudProvider
              BeginsWith: AWS
            - Contains: ':log-group:/aws/sagemaker/Endpoints/'
      - Type: GroupBy
        Source: CZ:Defined:ResourceDisplay
        Transforms:
          - Type: Split
            Delimiter: '|virtualmachine'
            Index: 1
        Conditions:
          - And:
            - Source: CZ:Defined:ResourceType
              Equals: "microsoft.compute: virtualmachinescalesets"
            - Source: CZ:Defined:ResourceDisplay
              Contains: "|virtualmachine"
      - Type: GroupBy
        Source: CZ:Defined:ResourceDisplay
        Transforms:
          - Type: Split
            Delimiter: '|database'
            Index: 1
        Conditions:
          - And:
            - Source: CZ:Defined:ResourceType
              Equals: "microsoft.sql: servers"
            - Source: CZ:Defined:ResourceDisplay
              Contains: "|database"
      - Type: GroupBy
        Source: CZ:Defined:ResourceDisplay
        Transforms:
          - Type: Split
            Delimiter: '|pipelines'
            Index: 1
        Conditions:
          - And:
            - Source: CZ:Defined:ResourceType
              Equals: "microsoft.datafactory: factories"
            - Source: CZ:Defined:ResourceDisplay
              Contains: "|pipelines"
      - Type: GroupBy
        Source: CZ:Defined:ResourceDisplay
        Transforms:
          - Type: Split
            Delimiter: '|sqlpool'
            Index: 1
        Conditions:
          - And:
            - Source: CZ:Defined:ResourceType
              Equals: "microsoft.synapse: workspaces"
            - Source: CZ:Defined:ResourceDisplay
              Contains: "|sqlpool"
      - Type: GroupBy
        Source: CZ:Defined:ResourceDisplay
        Transforms:
          - Type: Split
            Delimiter: '|blobservices'
            Index: 1
        Conditions:
          - And:
            - Source: CZ:Defined:ResourceType
              Equals: "microsoft.storage: storageaccounts"
            - Source: CZ:Defined:ResourceDisplay
              Contains: "|blobservices"
      - Type: GroupBy
        Source: CZ:Defined:ResourceDisplay
        Transforms:
          - Type: Split
            Delimiter: '|fileservices'
            Index: 1
        Conditions:
          - And:
            - Source: CZ:Defined:ResourceType
              Equals: "microsoft.storage: storageaccounts"
            - Source: CZ:Defined:ResourceDisplay
              Contains: "|fileservices"
      - Type: GroupBy
        Source: Tag:azure:resourceGroupName
        Transforms:
          - Type: Lower
        Conditions:
          - Source: CloudProvider
            BeginsWith: Azure
      - Type: GroupBy
        Source: CZ:Defined:ResourceDisplay
        Transforms:
          - Type: Split
            Delimiter: '|'
            Index: 1
        Conditions:
          - And:
            - Source: CloudProvider
              BeginsWith: Azure
            - Source: CZ:Defined:ResourceDisplay
              Contains: "|"
      - Type: Group
        Name: 'bigquery-jobs'
        Conditions:
          - Source: CZ:Defined:ResourceType
            Equals: "BigQuery: job"
      - Type: Group
        Name: 'bigquery-dataset-scripts'
        Conditions:
          - And:
            - Source: CZ:Defined:ResourceType
              Equals: "BigQuery: datasets"
            - Source: CZ:Defined:ResourceDisplay
              BeginsWith: "_script"
      - Type: Group
        Name: 'bigquery-reservation-api-jobs'
        Conditions:
          - Source: CZ:Defined:ResourceType
            Equals: "BigQuery Reservation API: job"
      - Type: GroupBy
        Source:
          - Tag:gcp_cz:resource_name
          - Tag:goog-k8s-cluster-name
          - Tag:name
        Conditions:
          - Source: CloudProvider
            BeginsWith: GCP
      - Type: GroupBy
        Source: CZ:Defined:ResourceDisplay
        Transforms:
          - Type: Split
            Delimiter: '|'
            Index: 1
        Conditions:
          - And:
            - Source: CloudProvider
              BeginsWith: Databricks
            - Source: CZ:Defined:ResourceType
              Contains: ": job"
            - Source: CZ:Defined:ResourceDisplay
              Contains: "|"
      - Type: Group
        Name: kafka_network_read
        Conditions:
          - And:
            - Source: CZ:Defined:ResourceDisplay
              BeginsWith: billingitem-Usage
            - Source: CZ:Defined:ResourceDisplay
              Contains: KAFKA_NETWORK_READ
      - Type: Group
        Name: kafka_network_write
        Conditions:
          - And:
            - Source: CZ:Defined:ResourceDisplay
              BeginsWith: billingitem-Usage
            - Source: CZ:Defined:ResourceDisplay
              Contains: KAFKA_NETWORK_WRITE
      - Type: Group
        Name: kafka_num_ckus
        Conditions:
          - And:
            - Source: CZ:Defined:ResourceDisplay
              BeginsWith: billingitem-Usage
            - Source: CZ:Defined:ResourceDisplay
              Contains: KAFKA_NUM_CKUS
      - Type: Group
        Name: kafka_storage
        Conditions:
          - And:
            - Source: CZ:Defined:ResourceDisplay
              BeginsWith: billingitem-Usage
            - Source: CZ:Defined:ResourceDisplay
              Contains: KAFKA_STORAGE
      - Type: Group
        Name: kafka
        Conditions:
          - And:
            - Source: CZ:Defined:ResourceDisplay
              BeginsWith: billingitem-Usage
            - Source: CZ:Defined:ResourceDisplay
              Contains: -Kafka-
      - Type: GroupBy
        Source: CZ:Defined:ResourceDisplay
        Transforms:
          - Type: Split
            Delimiter: 'arn:'
            Index: 2
          - Type: Split
            Delimiter: ':'
            Index: 5
        Conditions:
          - Source: CZ:Defined:ResourceDisplay
            Contains: "arn:"
      - Type: GroupBy
        Source: CZ:Defined:ResourceDisplay
        Transforms:
          - Type: Split
            Delimiter: '-'
            Index: 5
            Maxsplit: 5
        Conditions:
          - Source: CZ:Defined:ResourceDisplay
            BeginsWith: billingitem-Usage
      - Type: GroupBy
        Source: Resource

  ResourceSummaryDisplay:              
    Name: Resource Summary Display
    Hide: True
    Source: CZ:Defined:ResourceSummaryID
    Rules:
      - Type: GroupBy
        Source: CZ:Defined:ResourceSummaryID
        Conditions:
          - Not:
            - BeginsWith: czrn
      - Type: GroupBy
        Source: CZ:Defined:ResourceDisplay

  ResourceDisplay:                     
    Name: Resource Display
    Hide: True
    Rules:
      - Type: GroupBy
        Source: Resource
        Transforms:
          - Type: Split
            Delimiter: ':'
            Index: 7
        Conditions:
          - Not:
            - Source: CloudProvider
              BeginsWith: [AWS, GCP, Azure, Snowflake, Datadog, New Relic, MongoDB, Databricks]      
      - Type: GroupBy
        Source: Resource
        Transforms:
          - Type: Split
            Delimiter: ':'
            Index: 6
        Conditions:
          - Not:
            - Source: CloudProvider
              BeginsWith: [AWS, GCP, Azure, Snowflake, Datadog, New Relic, MongoDB, Databricks]   
      - Type: GroupBy
        Source: Resource
        Conditions:
          - Not:
            - Source: CloudProvider
              BeginsWith: [AWS, GCP, Azure, Snowflake, Datadog, New Relic, MongoDB, Databricks]   
      - Type: GroupBy
        Source: Resource
        Transforms:
          - Type: Split
            Delimiter: ':'
            Index: 7
        Conditions:
          - Source: Resource
            BeginsWith: czrn
      - Type: GroupBy
        Source: Resource
        Transforms:
          - Type: Split
            Delimiter: ':'
            Index: 6
        Conditions:
          - Source: Resource
            BeginsWith: czrn
      - Type: Group
        Name: service-usage
        Conditions:
          - Source: Resource
            BeginsWith: czrn
      - Type: GroupBy
        Source: Resource
        Transforms:
          - Type: Split
            Delimiter: ':'
            Index: 6
        Conditions:
          - Source: Resource
            BeginsWith: [arn, billingitem-Usage]
      - Type: Group
        Name: service-usage
        Conditions:
          - Source: Resource
            BeginsWith: [arn, billingitem-Usage]
      - Type: GroupBy
        Source: Resource

  ResourceNameOnly:                     
    Name: Resource Name
    Hide: True
    Rules:
      - Type: GroupBy
        Source: CZ:Defined:ResourceDisplay

  ServiceDisplay:                       
    Name: Service Display
    Hide: True
    Source: Service
    Rules:
      - Type: Group
        Name: APM
        Conditions:
          - Equals: apm_host
      - Type: Group
        Name: APM(ExcludesUSMHosts)
        Conditions:
          - Equals: apm_host_no_usm
      - Type: Group
        Name: APMDevSecOpsEnterprise
        Conditions:
          - Equals: apm_ent_devsecops
      - Type: Group
        Name: APMEnterprise
        Conditions:
          - Equals: apm_host_enterprise
      - Type: Group
        Name: APMPro
        Conditions:
          - Equals: apm_host_pro
      - Type: Group
        Name: APMProfiler
        Conditions:
          - Equals: apm_profiler_host
      - Type: Group
        Name: ApplicationSecurity-ThreatManagement
        Conditions:
          - Equals: application_security_host
      - Type: Group
        Name: ApplicationVulnerabilityManagement-OSS
        Conditions:
          - Equals: application_vulnerability_management_oss_host
      - Type: Group
        Name: AuditTrail
        Conditions:
          - Equals: audit_trail
      - Type: Group
        Name: CloudCostManagement
        Conditions:
          - Equals: cloud_cost_management
      - Type: Group
        Name: CloudSecurityManagement
        Conditions:
          - Equals: cspm_host
      - Type: Group
        Name: CloudSecurityManagementContainersEnterprise
        Conditions:
          - Equals: csm_container_enterprise
      - Type: Group
        Name: CloudSecurityManagementEnterprise
        Conditions:
          - Equals: csm_host_enterprise
      - Type: Group
        Name: CloudSecurityManagementPro
        Conditions:
          - Equals: csm_host_pro
      - Type: Group
        Name: CloudSIEM-Indexed
        Conditions:
          - Equals: siem_indexed
      - Type: Group
        Name: CloudSIEM
        Conditions:
          - Equals: siem
      - Type: Group
        Name: CloudWorkloadSecurity
        Conditions:
          - Equals: cws_host
      - Type: Group
        Name: Cont.DevSecOpsPro
        Conditions:
          - Equals: cont_devsecops_pro
      - Type: Group
        Name: CSMProContainers
        Conditions:
          - Equals: cspm_container
      - Type: Group
        Name: CustomEvents
        Conditions:
          - Equals: custom_event
      - Type: Group
        Name: CustomMetrics
        Conditions:
          - Equals: timeseries
      - Type: Group
        Name: CWSContainers
        Conditions:
          - Equals: cws_container
      - Type: Group
        Name: DatabaseMonitoring-NormalizedQueries
        Conditions:
          - Equals: dbm_normalized_queries
      - Type: Group
        Name: DatabaseMonitoring
        Conditions:
          - Equals: dbm_host
      - Type: Group
        Name: DataStreamsMonitoring
        Conditions:
          - Equals: data_stream_monitoring
      - Type: Group
        Name: DrawdownMinimumSpend
        Conditions:
          - Equals: drawdown_min_spend
      - Type: Group
        Name: ErrorTracking
        Conditions:
          - Equals: error_tracking
      - Type: Group
        Name: Fargate(APMandProfiler)
        Conditions:
          - Equals: fargate_container_apm_and_profiler
      - Type: Group
        Name: Fargate(ApplicationSecurity-ThreatManagement)
        Conditions:
          - Equals: application_security_fargate
      - Type: Group
        Name: Fargate(ContinuousProfiler)
        Conditions:
          - Equals: fargate_container_profiler
      - Type: Group
        Name: FargateTasks(APM)
        Conditions:
          - Equals: apm_fargate
      - Type: Group
        Name: FargateTasks(Pro)
        Conditions:
          - Equals: fargate_container
      - Type: Group
        Name: FlexLogs-ExtraSmall
        Conditions:
          - Equals: flex_compute_logs_extra_small
      - Type: Group
        Name: FlexLogs-Medium
        Conditions:
          - Equals: flex_compute_logs_medium
      - Type: Group
        Name: FlexLogs-Small
        Conditions:
          - Equals: flex_compute_logs_small
      - Type: Group
        Name: FlexLogs-Starter
        Conditions:
          - Equals: flex_logs_starter
      - Type: Group
        Name: FlexStoredLogs
        Conditions:
          - Equals: flex_stored_logs
      - Type: Group
        Name: HostDevSecOpsProPlus
        Conditions:
          - Equals: host_devsecops_proplus
      - Type: Group
        Name: IncidentManagement
        Conditions:
          - Equals: incident_management
      - Type: Group
        Name: IndexedLogEvents
        Conditions:
          - Equals: logs_indexed
      - Type: Group
        Name: IndexedSpans
        Conditions:
          - Equals: apm_trace_search
      - Type: Group
        Name: InfrastructureandAPMHosts
        Conditions:
          - Equals: infra_and_apm_host
      - Type: Group
        Name: InfrastructureContainers
        Conditions:
          - Equals: infra_container
      - Type: Group
        Name: InfrastructureContainers(ExcludesAgent)
        Conditions:
          - Equals: infra_container_excl_agent
      - Type: Group
        Name: InfrastructureHosts
        Conditions:
          - Equals: infra_host
      - Type: Group
        Name: IngestedCustomMetrics
        Conditions:
          - Equals: ingested_timeseries
      - Type: Group
        Name: IngestedSpans
        Conditions:
          - Equals: ingested_spans
      - Type: Group
        Name: IntelligentTestRunner
        Conditions:
          - Equals: ci_intelligent_test_runner
      - Type: Group
        Name: LogIngestion
        Conditions:
          - Equals: logs_ingested
      - Type: Group
        Name: Logs-ForwardingtoCustomDestinations
        Conditions:
          - Equals: logs_forwarding
      - Type: Group
        Name: Logs-IndexedLogEvents(15-day)
        Conditions:
          - Equals: logs_indexed_15day
      - Type: Group
        Name: Logs-IndexedLogEvents(180-day)
        Conditions:
          - Equals: logs_indexed_180day
      - Type: Group
        Name: Logs-IndexedLogEvents(3-day)
        Conditions:
          - Equals: logs_indexed_3day
      - Type: Group
        Name: Logs-IndexedLogEvents(30-day)
        Conditions:
          - Equals: logs_indexed_30day
      - Type: Group
        Name: Logs-IndexedLogEvents(45-day)
        Conditions:
          - Equals: logs_indexed_45day
      - Type: Group
        Name: Logs-IndexedLogEvents(60-day)
        Conditions:
          - Equals: logs_indexed_60day
      - Type: Group
        Name: Logs-IndexedLogEvents(7-day)
        Conditions:
          - Equals: logs_indexed_7day
      - Type: Group
        Name: Logs-IndexedLogEvents(90-day)
        Conditions:
          - Equals: logs_indexed_90day
      - Type: Group
        Name: Logs-IndexedLogEvents(CustomRetention)
        Conditions:
          - Equals: logs_indexed_custom_retention
      - Type: Group
        Name: MobileAppTesting
        Conditions:
          - Equals: synthetics_mobile_app_testing
      - Type: Group
        Name: NetflowMonitoring
        Conditions:
          - Equals: netflow_monitoring
      - Type: Group
        Name: NetworkDeviceMonitoring
        Conditions:
          - Equals: network_device
      - Type: Group
        Name: NetworkPerformanceMonitoring
        Conditions:
          - Equals: npm_host
      - Type: Group
        Name: ObservabilityPipelines-VCPU
        Conditions:
          - Equals: observability_pipeline_vcpu
      - Type: Group
        Name: ObservabilityPipelines
        Conditions:
          - Equals: observability_pipeline
      - Type: Group
        Name: OnlineArchive
        Conditions:
          - Equals: online_archive
      - Type: Group
        Name: PipelineIndexedSpans
        Conditions:
          - Equals: ci_pipeline_indexed_spans
      - Type: Group
        Name: PipelineVisibility
        Conditions:
          - Equals: ci_pipeline
      - Type: Group
        Name: PremierSupport
        Conditions:
          - Equals: premier_support
      - Type: Group
        Name: ProfiledContainers
        Conditions:
          - Equals: prof_container
      - Type: Group
        Name: ProfiledHosts
        Conditions:
          - Equals: prof_host
      - Type: Group
        Name: RealUserMonitoringSessions
        Conditions:
          - Equals: rum
      - Type: Group
        Name: RUMBrowserandMobileSessions
        Conditions:
          - Equals: rum_lite
      - Type: Group
        Name: RUMPremium
        Conditions:
          - Equals: rum_replay
      - Type: Group
        Name: SensitiveDataScanner
        Conditions:
          - Equals: sensitive_data_scanner
      - Type: Group
        Name: ServerlessAPM
        Conditions:
          - Equals: serverless_apm
      - Type: Group
        Name: ServerlessFunctions
        Conditions:
          - Equals: lambda_function
      - Type: Group
        Name: ServerlessInvocation
        Conditions:
          - Equals: serverless_invocation
      - Type: Group
        Name: ServerlessWorkloadMonitoring-Apps
        Conditions:
          - Equals: serverless_apps
      - Type: Group
        Name: ServerlessWorkloads
        Conditions:
          - Equals: serverless_infra
      - Type: Group
        Name: StandardCustomMetrics
        Conditions:
          - Equals: standard_timeseries
      - Type: Group
        Name: SyntheticsAPITests
        Conditions:
          - Equals: synthetics_api_tests
      - Type: Group
        Name: SyntheticsAppTesting
        Conditions:
          - Equals: synthetics_app_testing
      - Type: Group
        Name: SyntheticsBrowserTests
        Conditions:
          - Equals: synthetics_browser_checks
      - Type: Group
        Name: TestingIndexedSpans
        Conditions:
          - Equals: ci_test_indexed_spans
      - Type: Group
        Name: TestingVisibility
        Conditions:
          - Equals: ci_testing
      - Type: Group
        Name: UniversalServiceMonitoring-withinInfraHosts
        Conditions:
          - Equals: usm_within_infra_host
      - Type: Group
        Name: UniversalServiceMonitoring
        Conditions:
          - Equals: usm_standalone
      - Type: Group
        Name: WorkflowAutomation
        Conditions:
          - Equals: workflow_execution  
      - Type: Group
        Name: "OpenSearch (ES)"
        Conditions:
          - Equals: AmazonES
      - Type: GroupBy
        Source: Service
        Transforms:
          - Type: Split
            Delimiter: Amazon
            Index: 2
        Conditions:
          - Source: Service
            BeginsWith: Amazon
      - Type: GroupBy
        Source: Service
        Transforms:
          - Type: Split
            Delimiter: AWS
            Index: 2
        Conditions:
          - Source: Service
            BeginsWith: AWS
      - Type: GroupBy
        Source: Service

  CommittedUseSubscription_Display:
    Name: Committed Use Subscription Display
    Hide: True
    Rules:
      - Type: GroupBy
        Source: CommittedUseSubscription
        Transforms:
          - Type: Split
            Delimiter: ':savingsplan/'
            Index: 2
        Format: 'savingsplan: {0}'
        Conditions:
          - Source: CommittedUseSubscription
            Contains: ":savingsplan/"
      - Type: GroupBy
        Source: CommittedUseSubscription
        Transforms:
          - Type: Split
            Delimiter: ':ri:'
            Index: 2
        Format: 'ri: {0}'
        Conditions:
          - Source: CommittedUseSubscription
            Contains: ":ri:"
      - Type: GroupBy
        Source: CommittedUseSubscription
        Transforms:
          - Type: Split
            Delimiter: ':reserved-instance:'
            Index: 2
        Format: 'reserved-instance: {0}'
        Conditions:
          - Source: CommittedUseSubscription
            Contains: ":reserved-instance:"
      - Type: GroupBy
        Source: CommittedUseSubscription
        Transforms:
          - Type: Split
            Delimiter: ':reserved-instances/'
            Index: 2
        Format: 'reserved-instance: {0}'
        Conditions:
          - Source: CommittedUseSubscription
            Contains: ":reserved-instances/"
      - Type: GroupBy
        Source: CommittedUseSubscription
        Transforms:
          - Type: Split
            Delimiter: ':reserved-instance-exchange/'
            Index: 2
        Format: 'reserved-instance-exchange: {0}'
        Conditions:
          - Source: CommittedUseSubscription
            Contains: ":reserved-instance-exchange/"
      - Type: GroupBy
        Source: CommittedUseSubscription