Packages

Elixir SDK for Bifrost, the LLM gateway by Maxim

Current section

Files

Jump to
ex_bifrost lib ex_bifrost model virtual_key.ex
Raw

lib/ex_bifrost/model/virtual_key.ex

# NOTE: This file is auto generated by OpenAPI Generator 7.23.0 (https://openapi-generator.tech)
# using the Elixir SDK Generator template (https://github.com/houllette/elixir-sdk-generator).
# Do not edit this file manually — edit the templates and regenerate instead.
defmodule ExBifrost.Model.VirtualKey do
@moduledoc """
Virtual key configuration
"""
@derive JSON.Encoder
defstruct [
:id,
:name,
:value,
:description,
:is_active,
:expires_at,
:provider_configs,
:mcp_configs,
:team_id,
:customer_id,
:rate_limit_id,
:calendar_aligned,
:team,
:customer,
:budgets,
:rate_limit,
:config_hash,
:created_by_user_id,
:created_at,
:updated_at
]
@type t :: %__MODULE__{
:id => String.t(),
:name => String.t(),
:value => String.t(),
:description => String.t() | nil,
:is_active => boolean(),
:expires_at => DateTime.t() | nil,
:provider_configs => [ExBifrost.Model.VirtualKeyProviderConfig.t()],
:mcp_configs => [ExBifrost.Model.VirtualKeyMcpConfig.t()],
:team_id => String.t() | nil,
:customer_id => String.t() | nil,
:rate_limit_id => String.t() | nil,
:calendar_aligned => boolean(),
:team => ExBifrost.Model.Team.t() | nil,
:customer => ExBifrost.Model.Customer.t() | nil,
:budgets => [ExBifrost.Model.Budget.t()] | nil,
:rate_limit => ExBifrost.Model.RateLimit.t() | nil,
:config_hash => String.t(),
:created_by_user_id => String.t() | nil,
:created_at => DateTime.t(),
:updated_at => DateTime.t()
}
alias ExBifrost.Deserializer
def decode(value) do
value
|> Deserializer.deserialize(:provider_configs, :list, ExBifrost.Model.VirtualKeyProviderConfig)
|> Deserializer.deserialize(:mcp_configs, :list, ExBifrost.Model.VirtualKeyMcpConfig)
|> Deserializer.deserialize(:team, :struct, ExBifrost.Model.Team)
|> Deserializer.deserialize(:customer, :struct, ExBifrost.Model.Customer)
|> Deserializer.deserialize(:budgets, :list, ExBifrost.Model.Budget)
|> Deserializer.deserialize(:rate_limit, :struct, ExBifrost.Model.RateLimit)
end
end