MICROSOFT.BILLINGBENEFITS

Operations_List

valid {
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
}

ReservationOrderAlias_Create

enum_AppliedScopeType := [ "Single", "Shared", "ManagementGroup" ]
enum_BillingPlan := [ "P1M" ]
enum_InstanceFlexibility := [ "On", "Off" ]
enum_ReservedResourceType := [ "VirtualMachines", "SqlDatabases", "SuseLinux", "CosmosDb", "RedHat", "SqlDataWarehouse", "VMwareCloudSimple", "RedHatOsa", "Databricks", "AppService", "ManagedDisk", "BlockBlob", "RedisCache", "AzureDataExplorer", "MySql", "MariaDb", "PostgreSql", "DedicatedHost", "SapHana", "SqlAzureHybridBenefit", "AVS", "DataFactory", "NetAppStorage", "AzureFiles", "SqlEdge", "VirtualMachineSoftware" ]
enum_Term := [ "P1Y", "P3Y", "P5Y" ]

valid {
    input.Body.sku.name == STRING
    input.Body.location == STRING
    input.Body.properties.displayName == STRING
    input.Body.properties.billingScopeId == STRING
    input.Body.properties.term == enum_Term[_]
    input.Body.properties.billingPlan == enum_BillingPlan[_]
    input.Body.properties.appliedScopeType == enum_AppliedScopeType[_]
    input.Body.properties.appliedScopeProperties.tenantId == STRING
    input.Body.properties.appliedScopeProperties.managementGroupId == STRING
    input.Body.properties.appliedScopeProperties.subscriptionId == STRING
    input.Body.properties.appliedScopeProperties.resourceGroupId == STRING
    input.Body.properties.appliedScopeProperties.displayName == STRING
    input.Body.properties.quantity == INTEGER
    input.Body.properties.renew == BOOLEAN
    input.Body.properties.reservedResourceType == enum_ReservedResourceType[_]
    input.Body.properties.reviewDateTime == STRING
    input.Body.properties.reservedResourceProperties.instanceFlexibility == enum_InstanceFlexibility[_]
    input.ReqMap.reservationOrderAliasName == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
}

ReservationOrderAlias_Get

valid {
    input.ReqMap.reservationOrderAliasName == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
}

SavingsPlanOrderAlias_Create

enum_AppliedScopeType := [ "Single", "Shared", "ManagementGroup" ]
enum_BillingPlan := [ "P1M" ]
enum_CommitmentGrain := [ "Hourly" ]
enum_Term := [ "P1Y", "P3Y", "P5Y" ]

valid {
    input.Body.sku.name == STRING
    input.Body.kind == STRING
    input.Body.properties.displayName == STRING
    input.Body.properties.billingScopeId == STRING
    input.Body.properties.term == enum_Term[_]
    input.Body.properties.billingPlan == enum_BillingPlan[_]
    input.Body.properties.appliedScopeType == enum_AppliedScopeType[_]
    input.Body.properties.appliedScopeProperties.tenantId == STRING
    input.Body.properties.appliedScopeProperties.managementGroupId == STRING
    input.Body.properties.appliedScopeProperties.subscriptionId == STRING
    input.Body.properties.appliedScopeProperties.resourceGroupId == STRING
    input.Body.properties.appliedScopeProperties.displayName == STRING
    input.Body.properties.commitment.grain == enum_CommitmentGrain[_]
    input.Body.properties.commitment.currencyCode == STRING
    input.Body.properties.commitment.amount == NUMBER
    input.Body.properties.renew == BOOLEAN
    input.ReqMap.savingsPlanOrderAliasName == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
}

SavingsPlanOrderAlias_Get

valid {
    input.ReqMap.savingsPlanOrderAliasName == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
}

SavingsPlanOrder_Elevate

valid {
    input.ReqMap.savingsPlanOrderId == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
}

SavingsPlanOrder_Get

valid {
    input.ReqMap.savingsPlanOrderId == STRING
    input.Qs.api-version == STRING
    input.Qs.$expand == STRING
    input.ProviderMetadata.Region == STRING
}

SavingsPlanOrder_List

valid {
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
}

SavingsPlan_Get

valid {
    input.ReqMap.savingsPlanOrderId == STRING
    input.ReqMap.savingsPlanId == STRING
    input.Qs.api-version == STRING
    input.Qs.$expand == STRING
    input.ProviderMetadata.Region == STRING
}

SavingsPlan_List

valid {
    input.ReqMap.savingsPlanOrderId == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
}

SavingsPlan_ListAll

valid {
    input.Qs.api-version == STRING
    input.Qs.$filter == STRING
    input.Qs.$orderby == STRING
    input.Qs.refreshSummary == STRING
    input.Qs.$skiptoken == NUMBER
    input.Qs.selectedState == STRING
    input.Qs.take == NUMBER
    input.ProviderMetadata.Region == STRING
}

SavingsPlan_Update

enum_AppliedScopeType := [ "Single", "Shared", "ManagementGroup" ]
enum_BillingPlan := [ "P1M" ]
enum_CommitmentGrain := [ "Hourly" ]
enum_Term := [ "P1Y", "P3Y", "P5Y" ]

valid {
    input.Body.properties.displayName == STRING
    input.Body.properties.appliedScopeType == enum_AppliedScopeType[_]
    input.Body.properties.appliedScopeProperties.tenantId == STRING
    input.Body.properties.appliedScopeProperties.managementGroupId == STRING
    input.Body.properties.appliedScopeProperties.subscriptionId == STRING
    input.Body.properties.appliedScopeProperties.resourceGroupId == STRING
    input.Body.properties.appliedScopeProperties.displayName == STRING
    input.Body.properties.renew == BOOLEAN
    input.Body.properties.renewProperties.purchaseProperties.sku.name == STRING
    input.Body.properties.renewProperties.purchaseProperties.properties.displayName == STRING
    input.Body.properties.renewProperties.purchaseProperties.properties.billingScopeId == STRING
    input.Body.properties.renewProperties.purchaseProperties.properties.term == enum_Term[_]
    input.Body.properties.renewProperties.purchaseProperties.properties.billingPlan == enum_BillingPlan[_]
    input.Body.properties.renewProperties.purchaseProperties.properties.appliedScopeType == enum_AppliedScopeType[_]
    input.Body.properties.renewProperties.purchaseProperties.properties.commitment.grain == enum_CommitmentGrain[_]
    input.Body.properties.renewProperties.purchaseProperties.properties.renew == BOOLEAN
    input.Body.properties.renewProperties.purchaseProperties.properties.appliedScopeProperties.tenantId == STRING
    input.Body.properties.renewProperties.purchaseProperties.properties.appliedScopeProperties.managementGroupId == STRING
    input.Body.properties.renewProperties.purchaseProperties.properties.appliedScopeProperties.subscriptionId == STRING
    input.Body.properties.renewProperties.purchaseProperties.properties.appliedScopeProperties.resourceGroupId == STRING
    input.Body.properties.renewProperties.purchaseProperties.properties.appliedScopeProperties.displayName == STRING
    input.ReqMap.savingsPlanOrderId == STRING
    input.ReqMap.savingsPlanId == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
}

SavingsPlan_ValidateUpdate

enum_AppliedScopeType := [ "Single", "Shared", "ManagementGroup" ]
enum_BillingPlan := [ "P1M" ]
enum_CommitmentGrain := [ "Hourly" ]
enum_Term := [ "P1Y", "P3Y", "P5Y" ]

valid {
    input.Body.benefits[_].displayName == STRING
    input.Body.benefits[_].appliedScopeType == enum_AppliedScopeType[_]
    input.Body.benefits[_].appliedScopeProperties.tenantId == STRING
    input.Body.benefits[_].appliedScopeProperties.managementGroupId == STRING
    input.Body.benefits[_].appliedScopeProperties.subscriptionId == STRING
    input.Body.benefits[_].appliedScopeProperties.resourceGroupId == STRING
    input.Body.benefits[_].appliedScopeProperties.displayName == STRING
    input.Body.benefits[_].renew == BOOLEAN
    input.Body.benefits[_].renewProperties.purchaseProperties.sku.name == STRING
    input.Body.benefits[_].renewProperties.purchaseProperties.properties.displayName == STRING
    input.Body.benefits[_].renewProperties.purchaseProperties.properties.billingScopeId == STRING
    input.Body.benefits[_].renewProperties.purchaseProperties.properties.term == enum_Term[_]
    input.Body.benefits[_].renewProperties.purchaseProperties.properties.billingPlan == enum_BillingPlan[_]
    input.Body.benefits[_].renewProperties.purchaseProperties.properties.appliedScopeType == enum_AppliedScopeType[_]
    input.Body.benefits[_].renewProperties.purchaseProperties.properties.commitment.grain == enum_CommitmentGrain[_]
    input.Body.benefits[_].renewProperties.purchaseProperties.properties.renew == BOOLEAN
    input.Body.benefits[_].renewProperties.purchaseProperties.properties.appliedScopeProperties.tenantId == STRING
    input.Body.benefits[_].renewProperties.purchaseProperties.properties.appliedScopeProperties.managementGroupId == STRING
    input.Body.benefits[_].renewProperties.purchaseProperties.properties.appliedScopeProperties.subscriptionId == STRING
    input.Body.benefits[_].renewProperties.purchaseProperties.properties.appliedScopeProperties.resourceGroupId == STRING
    input.Body.benefits[_].renewProperties.purchaseProperties.properties.appliedScopeProperties.displayName == STRING
    input.ReqMap.savingsPlanOrderId == STRING
    input.ReqMap.savingsPlanId == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
}

ValidatePurchase

enum_AppliedScopeType := [ "Single", "Shared", "ManagementGroup" ]
enum_BillingPlan := [ "P1M" ]
enum_CommitmentGrain := [ "Hourly" ]
enum_Term := [ "P1Y", "P3Y", "P5Y" ]

valid {
    input.Body.benefits[_].sku.name == STRING
    input.Body.benefits[_].kind == STRING
    input.Body.benefits[_].properties.displayName == STRING
    input.Body.benefits[_].properties.billingScopeId == STRING
    input.Body.benefits[_].properties.term == enum_Term[_]
    input.Body.benefits[_].properties.billingPlan == enum_BillingPlan[_]
    input.Body.benefits[_].properties.appliedScopeType == enum_AppliedScopeType[_]
    input.Body.benefits[_].properties.appliedScopeProperties.tenantId == STRING
    input.Body.benefits[_].properties.appliedScopeProperties.managementGroupId == STRING
    input.Body.benefits[_].properties.appliedScopeProperties.subscriptionId == STRING
    input.Body.benefits[_].properties.appliedScopeProperties.resourceGroupId == STRING
    input.Body.benefits[_].properties.appliedScopeProperties.displayName == STRING
    input.Body.benefits[_].properties.commitment.grain == enum_CommitmentGrain[_]
    input.Body.benefits[_].properties.renew == BOOLEAN
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
}