# NOTE: This file is auto generated by OpenAPI Generator 7.12.0 (https://openapi-generator.tech). # Do not edit this file manually. defmodule Ory.Model.IssuedApiKey do @moduledoc """ IssuedAPIKey represents an API key issued (generated) by Talos. Root keys are opaque v1 format tokens stored in the database. Derived tokens (JWT/Macaroon) are created via DeriveToken and are stateless (not stored). """ @derive Jason.Encoder defstruct [ :actor_id, :create_time, :expire_time, :ip_restriction, :key_id, :last_used_time, :metadata, :name, :rate_limit_policy, :revocation_description, :revocation_reason, :scopes, :status, :update_time, :visibility ] @type t :: %__MODULE__{ :actor_id => String.t | nil, :create_time => DateTime.t | nil, :expire_time => DateTime.t | nil, :ip_restriction => Ory.Model.IpRestriction.t | nil, :key_id => String.t | nil, :last_used_time => DateTime.t | nil, :metadata => map() | nil, :name => String.t | nil, :rate_limit_policy => Ory.Model.RateLimitPolicy.t | nil, :revocation_description => String.t | nil, :revocation_reason => Ory.Model.RevocationReason.t | nil, :scopes => [String.t] | nil, :status => Ory.Model.KeyStatus.t | nil, :update_time => DateTime.t | nil, :visibility => Ory.Model.KeyVisibility.t | nil } alias Ory.Deserializer def decode(value) do value |> Deserializer.deserialize(:create_time, :datetime, nil) |> Deserializer.deserialize(:expire_time, :datetime, nil) |> Deserializer.deserialize(:ip_restriction, :struct, Ory.Model.IpRestriction) |> Deserializer.deserialize(:last_used_time, :datetime, nil) |> Deserializer.deserialize(:rate_limit_policy, :struct, Ory.Model.RateLimitPolicy) |> Deserializer.deserialize(:revocation_reason, :struct, Ory.Model.RevocationReason) |> Deserializer.deserialize(:status, :struct, Ory.Model.KeyStatus) |> Deserializer.deserialize(:update_time, :datetime, nil) |> Deserializer.deserialize(:visibility, :struct, Ory.Model.KeyVisibility) end end