//go:build go1.18
// +build go1.18

// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License. See License.txt in the project root for license information.
// Code generated by Microsoft (R) AutoRest Code Generator. DO NOT EDIT.
// Changes may cause incorrect behavior and will be lost if the code is regenerated.

package armconsumption

// AggregatedCostClientGetByManagementGroupOptions contains the optional parameters for the AggregatedCostClient.GetByManagementGroup
// method.
type AggregatedCostClientGetByManagementGroupOptions struct {
	// May be used to filter aggregated cost by properties/usageStart (Utc time), properties/usageEnd (Utc time). The filter supports
	// 'eq', 'lt', 'gt', 'le', 'ge', and 'and'. It does not currently support
	// 'ne', 'or', or 'not'. Tag filter is a key value pair string where key and value is separated by a colon (:).
	Filter *string
}

// AggregatedCostClientGetForBillingPeriodByManagementGroupOptions contains the optional parameters for the AggregatedCostClient.GetForBillingPeriodByManagementGroup
// method.
type AggregatedCostClientGetForBillingPeriodByManagementGroupOptions struct {
	// placeholder for future optional parameters
}

// BalancesClientGetByBillingAccountOptions contains the optional parameters for the BalancesClient.GetByBillingAccount method.
type BalancesClientGetByBillingAccountOptions struct {
	// placeholder for future optional parameters
}

// BalancesClientGetForBillingPeriodByBillingAccountOptions contains the optional parameters for the BalancesClient.GetForBillingPeriodByBillingAccount
// method.
type BalancesClientGetForBillingPeriodByBillingAccountOptions struct {
	// placeholder for future optional parameters
}

// BudgetsClientCreateOrUpdateOptions contains the optional parameters for the BudgetsClient.CreateOrUpdate method.
type BudgetsClientCreateOrUpdateOptions struct {
	// placeholder for future optional parameters
}

// BudgetsClientDeleteOptions contains the optional parameters for the BudgetsClient.Delete method.
type BudgetsClientDeleteOptions struct {
	// placeholder for future optional parameters
}

// BudgetsClientGetOptions contains the optional parameters for the BudgetsClient.Get method.
type BudgetsClientGetOptions struct {
	// placeholder for future optional parameters
}

// BudgetsClientListOptions contains the optional parameters for the BudgetsClient.NewListPager method.
type BudgetsClientListOptions struct {
	// placeholder for future optional parameters
}

// ChargesClientListOptions contains the optional parameters for the ChargesClient.List method.
type ChargesClientListOptions struct {
	// May be used to group charges for billingAccount scope by properties/billingProfileId, properties/invoiceSectionId, properties/customerId
	// (specific for Partner Led), or for billingProfile scope by
	// properties/invoiceSectionId.
	Apply *string

	// End date
	EndDate *string

	// May be used to filter charges by properties/usageEnd (Utc time), properties/usageStart (Utc time). The filter supports
	// 'eq', 'lt', 'gt', 'le', 'ge', and 'and'. It does not currently support 'ne',
	// 'or', or 'not'. Tag filter is a key value pair string where key and value is separated by a colon (:).
	Filter *string

	// Start date
	StartDate *string
}

// CreditsClientGetOptions contains the optional parameters for the CreditsClient.Get method.
type CreditsClientGetOptions struct {
	// placeholder for future optional parameters
}

// EventsClientListByBillingAccountOptions contains the optional parameters for the EventsClient.NewListByBillingAccountPager
// method.
type EventsClientListByBillingAccountOptions struct {
	// May be used to filter the events by lotId, lotSource etc. The filter supports 'eq', 'lt', 'gt', 'le', 'ge', and 'and'.
	// It does not currently support 'ne', 'or', or 'not'. Tag filter is a key value
	// pair string where key and value is separated by a colon (:).
	Filter *string
}

// EventsClientListByBillingProfileOptions contains the optional parameters for the EventsClient.NewListByBillingProfilePager
// method.
type EventsClientListByBillingProfileOptions struct {
	// placeholder for future optional parameters
}

// LotsClientListByBillingAccountOptions contains the optional parameters for the LotsClient.NewListByBillingAccountPager
// method.
type LotsClientListByBillingAccountOptions struct {
	// May be used to filter the lots by Status, Source etc. The filter supports 'eq', 'lt', 'gt', 'le', 'ge', and 'and'. It does
	// not currently support 'ne', 'or', or 'not'. Tag filter is a key value pair
	// string where key and value is separated by a colon (:).
	Filter *string
}

// LotsClientListByBillingProfileOptions contains the optional parameters for the LotsClient.NewListByBillingProfilePager
// method.
type LotsClientListByBillingProfileOptions struct {
	// placeholder for future optional parameters
}

// LotsClientListByCustomerOptions contains the optional parameters for the LotsClient.NewListByCustomerPager method.
type LotsClientListByCustomerOptions struct {
	// May be used to filter the lots by Status, Source etc. The filter supports 'eq', 'lt', 'gt', 'le', 'ge', and 'and'. Tag
	// filter is a key value pair string where key and value is separated by a colon
	// (:).
	Filter *string
}

// MarketplacesClientListOptions contains the optional parameters for the MarketplacesClient.NewListPager method.
type MarketplacesClientListOptions struct {
	// May be used to filter marketplaces by properties/usageEnd (Utc time), properties/usageStart (Utc time), properties/resourceGroup,
	// properties/instanceName or properties/instanceId. The filter supports
	// 'eq', 'lt', 'gt', 'le', 'ge', and 'and'. It does not currently support 'ne', 'or', or 'not'.
	Filter *string

	// Skiptoken is only used if a previous operation returned a partial result. If a previous response contains a nextLink element,
	// the value of the nextLink element will include a skiptoken parameter that
	// specifies a starting point to use for subsequent calls.
	Skiptoken *string

	// May be used to limit the number of results to the most recent N marketplaces.
	Top *int32
}

// OperationsClientListOptions contains the optional parameters for the OperationsClient.NewListPager method.
type OperationsClientListOptions struct {
	// placeholder for future optional parameters
}

// PriceSheetClientGetByBillingPeriodOptions contains the optional parameters for the PriceSheetClient.GetByBillingPeriod
// method.
type PriceSheetClientGetByBillingPeriodOptions struct {
	// May be used to expand the properties/meterDetails within a price sheet. By default, these fields are not included when
	// returning price sheet.
	Expand *string

	// Skiptoken is only used if a previous operation returned a partial result. If a previous response contains a nextLink element,
	// the value of the nextLink element will include a skiptoken parameter that
	// specifies a starting point to use for subsequent calls.
	Skiptoken *string

	// May be used to limit the number of results to the top N results.
	Top *int32
}

// PriceSheetClientGetOptions contains the optional parameters for the PriceSheetClient.Get method.
type PriceSheetClientGetOptions struct {
	// May be used to expand the properties/meterDetails within a price sheet. By default, these fields are not included when
	// returning price sheet.
	Expand *string

	// Skiptoken is only used if a previous operation returned a partial result. If a previous response contains a nextLink element,
	// the value of the nextLink element will include a skiptoken parameter that
	// specifies a starting point to use for subsequent calls.
	Skiptoken *string

	// May be used to limit the number of results to the top N results.
	Top *int32
}

// ReservationRecommendationDetailsClientGetOptions contains the optional parameters for the ReservationRecommendationDetailsClient.Get
// method.
type ReservationRecommendationDetailsClientGetOptions struct {
	// placeholder for future optional parameters
}

// ReservationRecommendationsClientListOptions contains the optional parameters for the ReservationRecommendationsClient.NewListPager
// method.
type ReservationRecommendationsClientListOptions struct {
	// May be used to filter reservationRecommendations by: properties/scope with allowed values ['Single', 'Shared'] and default
	// value 'Single'; properties/resourceType with allowed values
	// ['VirtualMachines', 'SQLDatabases', 'PostgreSQL', 'ManagedDisk', 'MySQL', 'RedHat', 'MariaDB', 'RedisCache', 'CosmosDB',
	// 'SqlDataWarehouse', 'SUSELinux', 'AppService', 'BlockBlob',
	// 'AzureDataExplorer', 'VMwareCloudSimple'] and default value 'VirtualMachines'; and properties/lookBackPeriod with allowed
	// values ['Last7Days', 'Last30Days', 'Last60Days'] and default value
	// 'Last7Days'.
	Filter *string
}

// ReservationTransactionsClientListByBillingProfileOptions contains the optional parameters for the ReservationTransactionsClient.NewListByBillingProfilePager
// method.
type ReservationTransactionsClientListByBillingProfileOptions struct {
	// Filter reservation transactions by date range. The properties/EventDate for start date and end date. The filter supports
	// 'le' and 'ge'
	Filter *string
}

// ReservationTransactionsClientListOptions contains the optional parameters for the ReservationTransactionsClient.NewListPager
// method.
type ReservationTransactionsClientListOptions struct {
	// Filter reservation transactions by date range. The properties/EventDate for start date and end date. The filter supports
	// 'le' and 'ge'
	Filter *string
}

// ReservationsDetailsClientListByReservationOrderAndReservationOptions contains the optional parameters for the ReservationsDetailsClient.NewListByReservationOrderAndReservationPager
// method.
type ReservationsDetailsClientListByReservationOrderAndReservationOptions struct {
	// placeholder for future optional parameters
}

// ReservationsDetailsClientListByReservationOrderOptions contains the optional parameters for the ReservationsDetailsClient.NewListByReservationOrderPager
// method.
type ReservationsDetailsClientListByReservationOrderOptions struct {
	// placeholder for future optional parameters
}

// ReservationsDetailsClientListOptions contains the optional parameters for the ReservationsDetailsClient.NewListPager method.
type ReservationsDetailsClientListOptions struct {
	// End date. Only applicable when querying with billing profile
	EndDate *string

	// Filter reservation details by date range. The properties/UsageDate for start date and end date. The filter supports 'le'
	// and 'ge'. Not applicable when querying with billing profile
	Filter *string

	// Reservation Id GUID. Only valid if reservationOrderId is also provided. Filter to a specific reservation
	ReservationID *string

	// Reservation Order Id GUID. Required if reservationId is provided. Filter to a specific reservation order
	ReservationOrderID *string

	// Start date. Only applicable when querying with billing profile
	StartDate *string
}

// ReservationsSummariesClientListByReservationOrderAndReservationOptions contains the optional parameters for the ReservationsSummariesClient.NewListByReservationOrderAndReservationPager
// method.
type ReservationsSummariesClientListByReservationOrderAndReservationOptions struct {
	// Required only for daily grain. The properties/UsageDate for start date and end date. The filter supports 'le' and 'ge'
	Filter *string
}

// ReservationsSummariesClientListByReservationOrderOptions contains the optional parameters for the ReservationsSummariesClient.NewListByReservationOrderPager
// method.
type ReservationsSummariesClientListByReservationOrderOptions struct {
	// Required only for daily grain. The properties/UsageDate for start date and end date. The filter supports 'le' and 'ge'
	Filter *string
}

// ReservationsSummariesClientListOptions contains the optional parameters for the ReservationsSummariesClient.NewListPager
// method.
type ReservationsSummariesClientListOptions struct {
	// End date. Only applicable when querying with billing profile
	EndDate *string

	// Required only for daily grain. The properties/UsageDate for start date and end date. The filter supports 'le' and 'ge'.
	// Not applicable when querying with billing profile
	Filter *string

	// Reservation Id GUID. Only valid if reservationOrderId is also provided. Filter to a specific reservation
	ReservationID *string

	// Reservation Order Id GUID. Required if reservationId is provided. Filter to a specific reservation order
	ReservationOrderID *string

	// Start date. Only applicable when querying with billing profile
	StartDate *string
}

// TagsClientGetOptions contains the optional parameters for the TagsClient.Get method.
type TagsClientGetOptions struct {
	// placeholder for future optional parameters
}

// UsageDetailsClientListOptions contains the optional parameters for the UsageDetailsClient.NewListPager method.
type UsageDetailsClientListOptions struct {
	// May be used to expand the properties/additionalInfo or properties/meterDetails within a list of usage details. By default,
	// these fields are not included when listing usage details.
	Expand *string

	// May be used to filter usageDetails by properties/resourceGroup, properties/resourceName, properties/resourceId, properties/chargeType,
	// properties/reservationId, properties/publisherType or tags. The
	// filter supports 'eq', 'lt', 'gt', 'le', 'ge', and 'and'. It does not currently support 'ne', 'or', or 'not'. Tag filter
	// is a key value pair string where key and value is separated by a colon (:).
	// PublisherType Filter accepts two values azure and marketplace and it is currently supported for Web Direct Offer Type
	Filter *string

	// Allows to select different type of cost/usage records.
	Metric *Metrictype

	// Skiptoken is only used if a previous operation returned a partial result. If a previous response contains a nextLink element,
	// the value of the nextLink element will include a skiptoken parameter that
	// specifies a starting point to use for subsequent calls.
	Skiptoken *string

	// May be used to limit the number of results to the most recent N usageDetails.
	Top *int32
}
