# This file was generated by the Julia Swagger Code Generator
# Do not modify this file directly. Modify the swagger specification instead.

struct RateCardApi <: SwaggerApi
    client::Swagger.Client
end

"""

Enables you to query for the resource/meter metadata and related prices used in a given subscription by Offer ID, Currency, Locale and Region. The metadata associated with the billing meters, including but not limited to service names, types, resources, units of measure, and regions, is subject to change at any time and without notice. If you intend to use this billing data in an automated fashion, please use the billing meter GUID to uniquely identify each billable item. If the billing meter GUID is scheduled to change due to a new billing model, you will be notified in advance of the change. 
Param: filter::String (required)
Param: api_version::String (required)
Param: subscriptionId::String (required)
Return: ResourceRateCardInfo
"""
function _swaggerinternal_rateCardGet(_api::RateCardApi, filter::String, api_version::String, subscriptionId::String; _mediaType=nothing)
    _ctx = Swagger.Ctx(_api.client, "GET", ResourceRateCardInfo, "/subscriptions/{subscriptionId}/providers/Microsoft.Commerce/RateCard", [])
    Swagger.set_param(_ctx.path, "subscriptionId", subscriptionId)  # type String
    Swagger.set_param(_ctx.query, "\$filter", filter)  # type String
    Swagger.set_param(_ctx.query, "api-version", api_version)  # type String
    Swagger.set_header_accept(_ctx, ["application/json", "text/json"])
    Swagger.set_header_content_type(_ctx, (_mediaType === nothing) ? ["application/json", "text/json"] : [_mediaType])
    return _ctx
end

function rateCardGet(_api::RateCardApi, filter::String, api_version::String, subscriptionId::String; _mediaType=nothing)
    _ctx = _swaggerinternal_rateCardGet(_api, filter, api_version, subscriptionId; _mediaType=_mediaType)
    Swagger.exec(_ctx)
end

function rateCardGet(_api::RateCardApi, response_stream::Channel, filter::String, api_version::String, subscriptionId::String; _mediaType=nothing)
    _ctx = _swaggerinternal_rateCardGet(_api, filter, api_version, subscriptionId; _mediaType=_mediaType)
    Swagger.exec(_ctx, response_stream)
end

export rateCardGet
