METERINGMARKETPLACE

BatchMeterUsage

valid {
    input.Body.UsageRecords[_].Timestamp == TIMESTAMP
    input.Body.UsageRecords[_].CustomerIdentifier == STRING
    input.Body.UsageRecords[_].Dimension == STRING
    input.Body.UsageRecords[_].Quantity == INTEGER
    input.Body.UsageRecords[_].UsageAllocations[_].AllocatedUsageQuantity == INTEGER
    input.Body.UsageRecords[_].UsageAllocations[_].Tags[_].Key == STRING
    input.Body.UsageRecords[_].UsageAllocations[_].Tags[_].Value == STRING
    input.Body.ProductCode == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

MeterUsage

valid {
    input.Body.ProductCode == STRING
    input.Body.Timestamp == TIMESTAMP
    input.Body.UsageDimension == STRING
    input.Body.UsageQuantity == INTEGER
    input.Body.DryRun == BOOLEAN
    input.Body.UsageAllocations[_].AllocatedUsageQuantity == INTEGER
    input.Body.UsageAllocations[_].Tags[_].Key == STRING
    input.Body.UsageAllocations[_].Tags[_].Value == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

RegisterUsage

valid {
    input.Body.ProductCode == STRING
    input.Body.PublicKeyVersion == INTEGER
    input.Body.Nonce == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

ResolveCustomer

valid {
    input.Body.RegistrationToken == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}