api

package
v1.0.0-beta.72 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: May 7, 2024 License: Apache-2.0 Imports: 17 Imported by: 0

Documentation

Overview

Package api provides primitives to interact with the openapi HTTP API.

Code generated by github.com/deepmap/oapi-codegen/v2 version v2.1.0 DO NOT EDIT.

Index

Constants

View Source
const (
	CloudCookieAuthScopes      = "CloudCookieAuth.Scopes"
	CloudPortalTokenAuthScopes = "CloudPortalTokenAuth.Scopes"
	CloudTokenAuthScopes       = "CloudTokenAuth.Scopes"
	PortalTokenAuthScopes      = "PortalTokenAuth.Scopes"
)

Variables

This section is empty.

Functions

func GetSwagger

func GetSwagger() (swagger *openapi3.T, err error)

GetSwagger returns the Swagger specification corresponding to the generated code in this file. The external references of Swagger specification are resolved. The logic of resolving external references is tightly connected to "import-mapping" feature. Externally referenced files must be embedded in the corresponding golang packages. Urls can be supported but this task was out of the scope.

func Handler

func Handler(si ServerInterface) http.Handler

Handler creates http.Handler with routing matching OpenAPI spec.

func HandlerFromMux

func HandlerFromMux(si ServerInterface, r chi.Router) http.Handler

HandlerFromMux creates http.Handler with routing matching OpenAPI spec based on the provided mux.

func HandlerFromMuxWithBaseURL

func HandlerFromMuxWithBaseURL(si ServerInterface, r chi.Router, baseURL string) http.Handler

func HandlerWithOptions

func HandlerWithOptions(si ServerInterface, options ChiServerOptions) http.Handler

HandlerWithOptions creates http.Handler with additional options

func PathToRawSpec

func PathToRawSpec(pathToFile string) map[string]func() ([]byte, error)

Constructs a synthetic filesystem for resolving external references when loading openapi specifications.

Types

type BadRequestProblemResponse

type BadRequestProblemResponse = Problem

BadRequestProblemResponse A Problem Details object (RFC 7807). Additional properties specific to the problem type may be present.

type ChiServerOptions

type ChiServerOptions struct {
	BaseURL          string
	BaseRouter       chi.Router
	Middlewares      []MiddlewareFunc
	ErrorHandlerFunc func(w http.ResponseWriter, r *http.Request, err error)
}

type CreateCreditGrantJSONRequestBody

type CreateCreditGrantJSONRequestBody = CreateCreditGrantRequest

CreateCreditGrantJSONRequestBody defines body for CreateCreditGrant for application/json ContentType.

type CreateCreditGrantRequest

type CreateCreditGrantRequest = credit.Grant

CreateCreditGrantRequest Grants are used to increase balance of specific subjects.

type CreateFeatureJSONRequestBody

type CreateFeatureJSONRequestBody = Feature

CreateFeatureJSONRequestBody defines body for CreateFeature for application/json ContentType.

type CreateLedger

type CreateLedger = credit.Ledger

CreateLedger A ledger represented in open meter. A ledger must be assigned to a single subject.

type CreateLedgerJSONRequestBody

type CreateLedgerJSONRequestBody = CreateLedger

CreateLedgerJSONRequestBody defines body for CreateLedger for application/json ContentType.

type CreateMeterJSONRequestBody

type CreateMeterJSONRequestBody = Meter

CreateMeterJSONRequestBody defines body for CreateMeter for application/json ContentType.

type CreatePortalTokenJSONRequestBody

type CreatePortalTokenJSONRequestBody = PortalToken

CreatePortalTokenJSONRequestBody defines body for CreatePortalToken for application/json ContentType.

type CreditBalance

type CreditBalance = credit.Balance

CreditBalance Credit balance of a subject.

type CreditExpirationPeriod

type CreditExpirationPeriod = credit.ExpirationPeriod

CreditExpirationPeriod Expiration period of a credit grant.

type CreditGrantBalance

type CreditGrantBalance = credit.Grant

CreditGrantBalance defines model for CreditGrantBalance.

type CreditGrantID

type CreditGrantID = ulid.ULID

CreditGrantID defines model for creditGrantID.

type CreditGrantResponse

type CreditGrantResponse = credit.Grant

CreditGrantResponse defines model for CreditGrantResponse.

type CreditGrantRollover

type CreditGrantRollover = credit.GrantRollover

CreditGrantRollover Grant rollover configuration.

type CreditGrantRolloverType

type CreditGrantRolloverType = credit.GrantRolloverType

CreditGrantRolloverType The rollover type to use: - `REMAINING_AMOUNT` - Rollover remaining amount. - `ORIGINAL_AMOUNT` - Rollover re-applies the full grant amount.

type CreditGrantType

type CreditGrantType = credit.GrantType

CreditGrantType The grant type: - `USAGE` - Increase balance by the amount in the unit of the associated meter.

type CreditLedgerEntry

type CreditLedgerEntry = credit.LedgerEntry

CreditLedgerEntry Credit ledger entry.

type CreditLedgerEntryType

type CreditLedgerEntryType = credit.LedgerEntryType

CreditLedgerEntryType defines model for CreditLedgerEntryType.

type CreditQueryLimit

type CreditQueryLimit = int

CreditQueryLimit defines model for creditQueryLimit.

type CreditReset

type CreditReset = credit.Reset

CreditReset Credit reset configuration.

type Event

type Event = event.Event

Event CloudEvents Specification JSON Schema

type Feature

type Feature = credit.Feature

Feature A feature is a feature or service offered to a customer. For example: CPU-Hours, Tokens, API Calls, etc.

type FeatureBalance

type FeatureBalance = credit.Feature

FeatureBalance defines model for FeatureBalance.

type FeatureID

type FeatureID = ulid.ULID

FeatureID defines model for featureID.

type GetCreditBalanceParams

type GetCreditBalanceParams struct {
	// Time Point of time to query balances: date-time in RFC 3339 format. Defaults to now.
	Time *time.Time `form:"time,omitempty" json:"time,omitempty"`
}

GetCreditBalanceParams defines parameters for GetCreditBalance.

type GetCreditHistoryParams

type GetCreditHistoryParams struct {
	// Limit Number of entries to return
	Limit *CreditQueryLimit `form:"limit,omitempty" json:"limit,omitempty"`

	// From Start of time range to query ledger: date-time in RFC 3339 format.
	From time.Time `form:"from" json:"from"`

	// To End of time range to query ledger: date-time in RFC 3339 format. Defaults to now.
	To *time.Time `form:"to,omitempty" json:"to,omitempty"`
}

GetCreditHistoryParams defines parameters for GetCreditHistory.

type IdOrSlug

type IdOrSlug = string

IdOrSlug A unique identifier.

type IngestEventsApplicationCloudeventsBatchPlusJSONBody

type IngestEventsApplicationCloudeventsBatchPlusJSONBody = []Event

IngestEventsApplicationCloudeventsBatchPlusJSONBody defines parameters for IngestEvents.

type IngestEventsApplicationCloudeventsBatchPlusJSONRequestBody

type IngestEventsApplicationCloudeventsBatchPlusJSONRequestBody = IngestEventsApplicationCloudeventsBatchPlusJSONBody

IngestEventsApplicationCloudeventsBatchPlusJSONRequestBody defines body for IngestEvents for application/cloudevents-batch+json ContentType.

type IngestEventsApplicationCloudeventsPlusJSONRequestBody

type IngestEventsApplicationCloudeventsPlusJSONRequestBody = Event

IngestEventsApplicationCloudeventsPlusJSONRequestBody defines body for IngestEvents for application/cloudevents+json ContentType.

type IngestedEvent

type IngestedEvent struct {
	// Event CloudEvents Specification JSON Schema
	Event           Event   `json:"event"`
	ValidationError *string `json:"validationError,omitempty"`
}

IngestedEvent An ingested event with optional validation error.

type InvalidParamFormatError

type InvalidParamFormatError struct {
	ParamName string
	Err       error
}

func (*InvalidParamFormatError) Error

func (e *InvalidParamFormatError) Error() string

func (*InvalidParamFormatError) Unwrap

func (e *InvalidParamFormatError) Unwrap() error

type InvalidatePortalTokensJSONBody

type InvalidatePortalTokensJSONBody struct {
	// Id Invalidate a portal token by ID.
	Id *string `json:"id,omitempty"`

	// Subject Invalidate all portal tokens for a subject.
	Subject *string `json:"subject,omitempty"`
}

InvalidatePortalTokensJSONBody defines parameters for InvalidatePortalTokens.

type InvalidatePortalTokensJSONRequestBody

type InvalidatePortalTokensJSONRequestBody InvalidatePortalTokensJSONBody

InvalidatePortalTokensJSONRequestBody defines body for InvalidatePortalTokens for application/json ContentType.

type Ledger

type Ledger = credit.Ledger

Ledger defines model for Ledger.

type LedgerID

type LedgerID = ulid.ULID

LedgerID defines model for ledgerID.

type ListCreditGrantsByLedgerParams

type ListCreditGrantsByLedgerParams struct {
	// Limit Number of entries to return
	Limit *CreditQueryLimit `form:"limit,omitempty" json:"limit,omitempty"`
}

ListCreditGrantsByLedgerParams defines parameters for ListCreditGrantsByLedger.

type ListCreditGrantsParams

type ListCreditGrantsParams struct {
	// LedgerID Filtering and group by multiple subjects.
	//
	// Usage: `?ledgerID=01HX6VK5C498B3ABY9PR1069PP`
	LedgerID *QueryFilterLedgerID `form:"ledgerID,omitempty" json:"ledgerID,omitempty"`

	// Limit Number of entries to return
	Limit *CreditQueryLimit `form:"limit,omitempty" json:"limit,omitempty"`
}

ListCreditGrantsParams defines parameters for ListCreditGrants.

type ListEventsParams

type ListEventsParams struct {
	// From Start date-time in RFC 3339 format.
	// Inclusive.
	From *QueryFrom `form:"from,omitempty" json:"from,omitempty"`

	// To End date-time in RFC 3339 format.
	// Inclusive.
	To *QueryTo `form:"to,omitempty" json:"to,omitempty"`

	// Limit Number of events to return
	Limit *int `form:"limit,omitempty" json:"limit,omitempty"`
}

ListEventsParams defines parameters for ListEvents.

type ListLedgersParams

type ListLedgersParams struct {
	// Subject Query a specific ledger
	Subject *[]string `form:"subject,omitempty" json:"subject,omitempty"`

	// Limit Number of ledgers to return
	Limit *int `form:"limit,omitempty" json:"limit,omitempty"`

	// Offset Start returning ledgers from this offset
	Offset *int `form:"offset,omitempty" json:"offset,omitempty"`
}

ListLedgersParams defines parameters for ListLedgers.

type ListPortalTokensParams

type ListPortalTokensParams struct {
	// Limit Number of portal tokens to return. Default is 25.
	Limit *int `form:"limit,omitempty" json:"limit,omitempty"`
}

ListPortalTokensParams defines parameters for ListPortalTokens.

type Meter

type Meter = models.Meter

Meter A meter is a configuration that defines how to match and aggregate events.

type MeterAggregation

type MeterAggregation = models.MeterAggregation

MeterAggregation The aggregation type to use for the meter.

type MeterIdOrSlug

type MeterIdOrSlug = IdOrSlug

MeterIdOrSlug A unique identifier.

type MeterQueryResult

type MeterQueryResult struct {
	Data []MeterQueryRow `json:"data"`
	From *time.Time      `json:"from,omitempty"`
	To   *time.Time      `json:"to,omitempty"`

	// WindowSize Aggregation window size.
	WindowSize *WindowSize `json:"windowSize,omitempty"`
}

MeterQueryResult The result of a meter query.

type MeterQueryRow

type MeterQueryRow = models.MeterQueryRow

MeterQueryRow A row in the result of a meter query.

type MiddlewareFunc

type MiddlewareFunc func(http.Handler) http.Handler

type NotFoundProblemResponse

type NotFoundProblemResponse = Problem

NotFoundProblemResponse A Problem Details object (RFC 7807). Additional properties specific to the problem type may be present.

type NotImplementedProblemResponse

type NotImplementedProblemResponse = Problem

NotImplementedProblemResponse A Problem Details object (RFC 7807). Additional properties specific to the problem type may be present.

type Period

type Period = credit.Period

Period A time period

type PortalToken

type PortalToken struct {
	// AllowedMeterSlugs Optional, if defined only the specified meters will be allowed
	AllowedMeterSlugs *[]string  `json:"allowedMeterSlugs,omitempty"`
	CreatedAt         *time.Time `json:"createdAt,omitempty"`
	Expired           *bool      `json:"expired,omitempty"`
	ExpiresAt         *time.Time `json:"expiresAt,omitempty"`
	Id                *string    `json:"id,omitempty"`
	Subject           string     `json:"subject"`

	// Token The token is only returned at creation.
	Token *string `json:"token,omitempty"`
}

PortalToken A consumer portal token.

type Problem

type Problem = models.StatusProblem

Problem A Problem Details object (RFC 7807). Additional properties specific to the problem type may be present.

type QueryFilterGroupBy

type QueryFilterGroupBy map[string]string

QueryFilterGroupBy Simple filter for group bys with exact match.

Usage: `?filterGroupBy[type]=input&filterGroupBy[model]=gpt-4`

type QueryFilterLedgerID

type QueryFilterLedgerID = ulid.ULID

QueryFilterLedgerID defines model for queryFilterLedgerID.

type QueryFilterSubject

type QueryFilterSubject = []string

QueryFilterSubject defines model for queryFilterSubject.

type QueryFrom

type QueryFrom = time.Time

QueryFrom defines model for queryFrom.

type QueryGroupBy

type QueryGroupBy = []string

QueryGroupBy defines model for queryGroupBy.

type QueryMeterParams

type QueryMeterParams struct {
	// From Start date-time in RFC 3339 format.
	// Inclusive.
	From *QueryFrom `form:"from,omitempty" json:"from,omitempty"`

	// To End date-time in RFC 3339 format.
	// Inclusive.
	To *QueryTo `form:"to,omitempty" json:"to,omitempty"`

	// WindowSize If not specified, a single usage aggregate will be returned for the entirety of the specified period for each subject and group.
	WindowSize *QueryWindowSize `form:"windowSize,omitempty" json:"windowSize,omitempty"`

	// WindowTimeZone The value is the name of the time zone as defined in the IANA Time Zone Database (http://www.iana.org/time-zones).
	// If not specified, the UTC timezone will be used.
	WindowTimeZone *QueryWindowTimeZone `form:"windowTimeZone,omitempty" json:"windowTimeZone,omitempty"`

	// Subject Filtering by multiple subjects.
	//
	// Usage: ?subject=customer-1&subject=customer-2
	Subject       *QueryFilterSubject `form:"subject,omitempty" json:"subject,omitempty"`
	FilterGroupBy *QueryFilterGroupBy `json:"filterGroupBy,omitempty"`

	// GroupBy If not specified a single aggregate will be returned for each subject and time window.
	// `subject` is a reserved group by value.
	GroupBy *QueryGroupBy `form:"groupBy,omitempty" json:"groupBy,omitempty"`
}

QueryMeterParams defines parameters for QueryMeter.

type QueryPortalMeterParams

type QueryPortalMeterParams struct {
	// From Start date-time in RFC 3339 format.
	// Inclusive.
	From *QueryFrom `form:"from,omitempty" json:"from,omitempty"`

	// To End date-time in RFC 3339 format.
	// Inclusive.
	To *QueryTo `form:"to,omitempty" json:"to,omitempty"`

	// WindowSize If not specified, a single usage aggregate will be returned for the entirety of the specified period for each subject and group.
	WindowSize *QueryWindowSize `form:"windowSize,omitempty" json:"windowSize,omitempty"`

	// WindowTimeZone The value is the name of the time zone as defined in the IANA Time Zone Database (http://www.iana.org/time-zones).
	// If not specified, the UTC timezone will be used.
	WindowTimeZone *QueryWindowTimeZone `form:"windowTimeZone,omitempty" json:"windowTimeZone,omitempty"`
	FilterGroupBy  *QueryFilterGroupBy  `json:"filterGroupBy,omitempty"`

	// GroupBy If not specified a single aggregate will be returned for each subject and time window.
	// `subject` is a reserved group by value.
	GroupBy *QueryGroupBy `form:"groupBy,omitempty" json:"groupBy,omitempty"`
}

QueryPortalMeterParams defines parameters for QueryPortalMeter.

type QueryTo

type QueryTo = time.Time

QueryTo defines model for queryTo.

type QueryWindowSize

type QueryWindowSize = WindowSize

QueryWindowSize Aggregation window size.

type QueryWindowTimeZone

type QueryWindowTimeZone = string

QueryWindowTimeZone defines model for queryWindowTimeZone.

type RequiredHeaderError

type RequiredHeaderError struct {
	ParamName string
	Err       error
}

func (*RequiredHeaderError) Error

func (e *RequiredHeaderError) Error() string

func (*RequiredHeaderError) Unwrap

func (e *RequiredHeaderError) Unwrap() error

type RequiredParamError

type RequiredParamError struct {
	ParamName string
}

func (*RequiredParamError) Error

func (e *RequiredParamError) Error() string

type ResetCreditJSONRequestBody

type ResetCreditJSONRequestBody = CreditReset

ResetCreditJSONRequestBody defines body for ResetCredit for application/json ContentType.

type ServerInterface

type ServerInterface interface {
	// List ingested events
	// (GET /api/v1/events)
	ListEvents(w http.ResponseWriter, r *http.Request, params ListEventsParams)
	// Ingest events
	// (POST /api/v1/events)
	IngestEvents(w http.ResponseWriter, r *http.Request)
	// List features
	// (GET /api/v1/features)
	ListFeatures(w http.ResponseWriter, r *http.Request)
	// Create feature
	// (POST /api/v1/features)
	CreateFeature(w http.ResponseWriter, r *http.Request)
	// Delete feature
	// (DELETE /api/v1/features/{featureID})
	DeleteFeature(w http.ResponseWriter, r *http.Request, featureID FeatureID)
	// Get feature
	// (GET /api/v1/features/{featureID})
	GetFeature(w http.ResponseWriter, r *http.Request, featureID FeatureID)
	// List the already defined ledgers.
	// (GET /api/v1/ledgers)
	ListLedgers(w http.ResponseWriter, r *http.Request, params ListLedgersParams)
	// Creates the specified ledger
	// (POST /api/v1/ledgers)
	CreateLedger(w http.ResponseWriter, r *http.Request)
	// List credit grants for multiple ledgers
	// (GET /api/v1/ledgers/grants)
	ListCreditGrants(w http.ResponseWriter, r *http.Request, params ListCreditGrantsParams)
	// Get the balance of a specific subject.
	// (GET /api/v1/ledgers/{ledgerID}/balance)
	GetCreditBalance(w http.ResponseWriter, r *http.Request, ledgerID LedgerID, params GetCreditBalanceParams)
	// List credit grants
	// (GET /api/v1/ledgers/{ledgerID}/grants)
	ListCreditGrantsByLedger(w http.ResponseWriter, r *http.Request, ledgerID LedgerID, params ListCreditGrantsByLedgerParams)
	// Create credit grant
	// (POST /api/v1/ledgers/{ledgerID}/grants)
	CreateCreditGrant(w http.ResponseWriter, r *http.Request, ledgerID LedgerID)
	// Void credit grant
	// (DELETE /api/v1/ledgers/{ledgerID}/grants/{creditGrantID})
	VoidCreditGrant(w http.ResponseWriter, r *http.Request, ledgerID LedgerID, creditGrantID CreditGrantID)
	// Get credit grant.
	// (GET /api/v1/ledgers/{ledgerID}/grants/{creditGrantID})
	GetCreditGrant(w http.ResponseWriter, r *http.Request, ledgerID LedgerID, creditGrantID CreditGrantID)
	// Get credit ledger
	// (GET /api/v1/ledgers/{ledgerID}/history)
	GetCreditHistory(w http.ResponseWriter, r *http.Request, ledgerID LedgerID, params GetCreditHistoryParams)
	// Reset credit balance
	// (POST /api/v1/ledgers/{ledgerID}/reset)
	ResetCredit(w http.ResponseWriter, r *http.Request, ledgerID LedgerID)
	// List meters
	// (GET /api/v1/meters)
	ListMeters(w http.ResponseWriter, r *http.Request)
	// ☁ Create meter
	// (POST /api/v1/meters)
	CreateMeter(w http.ResponseWriter, r *http.Request)
	// ☁ Delete meter
	// (DELETE /api/v1/meters/{meterIdOrSlug})
	DeleteMeter(w http.ResponseWriter, r *http.Request, meterIdOrSlug MeterIdOrSlug)
	// Get meter
	// (GET /api/v1/meters/{meterIdOrSlug})
	GetMeter(w http.ResponseWriter, r *http.Request, meterIdOrSlug MeterIdOrSlug)
	// Query meter
	// (GET /api/v1/meters/{meterIdOrSlug}/query)
	QueryMeter(w http.ResponseWriter, r *http.Request, meterIdOrSlug MeterIdOrSlug, params QueryMeterParams)
	// List meter subjects
	// (GET /api/v1/meters/{meterIdOrSlug}/subjects)
	ListMeterSubjects(w http.ResponseWriter, r *http.Request, meterIdOrSlug MeterIdOrSlug)
	// Query portal meter
	// (GET /api/v1/portal/meters/{meterSlug}/query)
	QueryPortalMeter(w http.ResponseWriter, r *http.Request, meterSlug string, params QueryPortalMeterParams)
	// ☁ List portal tokens
	// (GET /api/v1/portal/tokens)
	ListPortalTokens(w http.ResponseWriter, r *http.Request, params ListPortalTokensParams)
	// Create portal token
	// (POST /api/v1/portal/tokens)
	CreatePortalToken(w http.ResponseWriter, r *http.Request)
	// ☁ Invalidate portal tokens
	// (POST /api/v1/portal/tokens/invalidate)
	InvalidatePortalTokens(w http.ResponseWriter, r *http.Request)
	// ☁ List subjects
	// (GET /api/v1/subjects)
	ListSubjects(w http.ResponseWriter, r *http.Request)
	// ☁ Upsert subject
	// (POST /api/v1/subjects)
	UpsertSubject(w http.ResponseWriter, r *http.Request)
	// ☁ Delete subject
	// (DELETE /api/v1/subjects/{subjectIdOrKey})
	DeleteSubject(w http.ResponseWriter, r *http.Request, subjectIdOrKey SubjectIdOrKey)
	// ☁ Get subject
	// (GET /api/v1/subjects/{subjectIdOrKey})
	GetSubject(w http.ResponseWriter, r *http.Request, subjectIdOrKey SubjectIdOrKey)
}

ServerInterface represents all server handlers.

type ServerInterfaceWrapper

type ServerInterfaceWrapper struct {
	Handler            ServerInterface
	HandlerMiddlewares []MiddlewareFunc
	ErrorHandlerFunc   func(w http.ResponseWriter, r *http.Request, err error)
}

ServerInterfaceWrapper converts contexts to parameters.

func (*ServerInterfaceWrapper) CreateCreditGrant

func (siw *ServerInterfaceWrapper) CreateCreditGrant(w http.ResponseWriter, r *http.Request)

CreateCreditGrant operation middleware

func (*ServerInterfaceWrapper) CreateFeature

func (siw *ServerInterfaceWrapper) CreateFeature(w http.ResponseWriter, r *http.Request)

CreateFeature operation middleware

func (*ServerInterfaceWrapper) CreateLedger

func (siw *ServerInterfaceWrapper) CreateLedger(w http.ResponseWriter, r *http.Request)

CreateLedger operation middleware

func (*ServerInterfaceWrapper) CreateMeter

func (siw *ServerInterfaceWrapper) CreateMeter(w http.ResponseWriter, r *http.Request)

CreateMeter operation middleware

func (*ServerInterfaceWrapper) CreatePortalToken

func (siw *ServerInterfaceWrapper) CreatePortalToken(w http.ResponseWriter, r *http.Request)

CreatePortalToken operation middleware

func (*ServerInterfaceWrapper) DeleteFeature

func (siw *ServerInterfaceWrapper) DeleteFeature(w http.ResponseWriter, r *http.Request)

DeleteFeature operation middleware

func (*ServerInterfaceWrapper) DeleteMeter

func (siw *ServerInterfaceWrapper) DeleteMeter(w http.ResponseWriter, r *http.Request)

DeleteMeter operation middleware

func (*ServerInterfaceWrapper) DeleteSubject

func (siw *ServerInterfaceWrapper) DeleteSubject(w http.ResponseWriter, r *http.Request)

DeleteSubject operation middleware

func (*ServerInterfaceWrapper) GetCreditBalance

func (siw *ServerInterfaceWrapper) GetCreditBalance(w http.ResponseWriter, r *http.Request)

GetCreditBalance operation middleware

func (*ServerInterfaceWrapper) GetCreditGrant

func (siw *ServerInterfaceWrapper) GetCreditGrant(w http.ResponseWriter, r *http.Request)

GetCreditGrant operation middleware

func (*ServerInterfaceWrapper) GetCreditHistory

func (siw *ServerInterfaceWrapper) GetCreditHistory(w http.ResponseWriter, r *http.Request)

GetCreditHistory operation middleware

func (*ServerInterfaceWrapper) GetFeature

func (siw *ServerInterfaceWrapper) GetFeature(w http.ResponseWriter, r *http.Request)

GetFeature operation middleware

func (*ServerInterfaceWrapper) GetMeter

func (siw *ServerInterfaceWrapper) GetMeter(w http.ResponseWriter, r *http.Request)

GetMeter operation middleware

func (*ServerInterfaceWrapper) GetSubject

func (siw *ServerInterfaceWrapper) GetSubject(w http.ResponseWriter, r *http.Request)

GetSubject operation middleware

func (*ServerInterfaceWrapper) IngestEvents

func (siw *ServerInterfaceWrapper) IngestEvents(w http.ResponseWriter, r *http.Request)

IngestEvents operation middleware

func (*ServerInterfaceWrapper) InvalidatePortalTokens

func (siw *ServerInterfaceWrapper) InvalidatePortalTokens(w http.ResponseWriter, r *http.Request)

InvalidatePortalTokens operation middleware

func (*ServerInterfaceWrapper) ListCreditGrants

func (siw *ServerInterfaceWrapper) ListCreditGrants(w http.ResponseWriter, r *http.Request)

ListCreditGrants operation middleware

func (*ServerInterfaceWrapper) ListCreditGrantsByLedger

func (siw *ServerInterfaceWrapper) ListCreditGrantsByLedger(w http.ResponseWriter, r *http.Request)

ListCreditGrantsByLedger operation middleware

func (*ServerInterfaceWrapper) ListEvents

func (siw *ServerInterfaceWrapper) ListEvents(w http.ResponseWriter, r *http.Request)

ListEvents operation middleware

func (*ServerInterfaceWrapper) ListFeatures

func (siw *ServerInterfaceWrapper) ListFeatures(w http.ResponseWriter, r *http.Request)

ListFeatures operation middleware

func (*ServerInterfaceWrapper) ListLedgers

func (siw *ServerInterfaceWrapper) ListLedgers(w http.ResponseWriter, r *http.Request)

ListLedgers operation middleware

func (*ServerInterfaceWrapper) ListMeterSubjects

func (siw *ServerInterfaceWrapper) ListMeterSubjects(w http.ResponseWriter, r *http.Request)

ListMeterSubjects operation middleware

func (*ServerInterfaceWrapper) ListMeters

func (siw *ServerInterfaceWrapper) ListMeters(w http.ResponseWriter, r *http.Request)

ListMeters operation middleware

func (*ServerInterfaceWrapper) ListPortalTokens

func (siw *ServerInterfaceWrapper) ListPortalTokens(w http.ResponseWriter, r *http.Request)

ListPortalTokens operation middleware

func (*ServerInterfaceWrapper) ListSubjects

func (siw *ServerInterfaceWrapper) ListSubjects(w http.ResponseWriter, r *http.Request)

ListSubjects operation middleware

func (*ServerInterfaceWrapper) QueryMeter

func (siw *ServerInterfaceWrapper) QueryMeter(w http.ResponseWriter, r *http.Request)

QueryMeter operation middleware

func (*ServerInterfaceWrapper) QueryPortalMeter

func (siw *ServerInterfaceWrapper) QueryPortalMeter(w http.ResponseWriter, r *http.Request)

QueryPortalMeter operation middleware

func (*ServerInterfaceWrapper) ResetCredit

func (siw *ServerInterfaceWrapper) ResetCredit(w http.ResponseWriter, r *http.Request)

ResetCredit operation middleware

func (*ServerInterfaceWrapper) UpsertSubject

func (siw *ServerInterfaceWrapper) UpsertSubject(w http.ResponseWriter, r *http.Request)

UpsertSubject operation middleware

func (*ServerInterfaceWrapper) VoidCreditGrant

func (siw *ServerInterfaceWrapper) VoidCreditGrant(w http.ResponseWriter, r *http.Request)

VoidCreditGrant operation middleware

type Subject

type Subject struct {
	CurrentPeriodEnd   *time.Time              `json:"currentPeriodEnd"`
	CurrentPeriodStart *time.Time              `json:"currentPeriodStart"`
	DisplayName        *string                 `json:"displayName"`
	Id                 *string                 `json:"id,omitempty"`
	Key                string                  `json:"key"`
	Metadata           *map[string]interface{} `json:"metadata"`
	StripeCustomerId   *string                 `json:"stripeCustomerId"`
}

Subject A subject is a unique identifier for a user or entity.

type SubjectIdOrKey

type SubjectIdOrKey = string

SubjectIdOrKey defines model for subjectIdOrKey.

type TooManyValuesForParamError

type TooManyValuesForParamError struct {
	ParamName string
	Count     int
}

func (*TooManyValuesForParamError) Error

type UnauthorizedProblemResponse

type UnauthorizedProblemResponse = Problem

UnauthorizedProblemResponse A Problem Details object (RFC 7807). Additional properties specific to the problem type may be present.

type UnescapedCookieParamError

type UnescapedCookieParamError struct {
	ParamName string
	Err       error
}

func (*UnescapedCookieParamError) Error

func (e *UnescapedCookieParamError) Error() string

func (*UnescapedCookieParamError) Unwrap

func (e *UnescapedCookieParamError) Unwrap() error

type UnexpectedProblemResponse

type UnexpectedProblemResponse = Problem

UnexpectedProblemResponse A Problem Details object (RFC 7807). Additional properties specific to the problem type may be present.

type Unimplemented

type Unimplemented struct{}

func (Unimplemented) CreateCreditGrant

func (_ Unimplemented) CreateCreditGrant(w http.ResponseWriter, r *http.Request, ledgerID LedgerID)

Create credit grant (POST /api/v1/ledgers/{ledgerID}/grants)

func (Unimplemented) CreateFeature

func (_ Unimplemented) CreateFeature(w http.ResponseWriter, r *http.Request)

Create feature (POST /api/v1/features)

func (Unimplemented) CreateLedger

func (_ Unimplemented) CreateLedger(w http.ResponseWriter, r *http.Request)

Creates the specified ledger (POST /api/v1/ledgers)

func (Unimplemented) CreateMeter

func (_ Unimplemented) CreateMeter(w http.ResponseWriter, r *http.Request)

☁ Create meter (POST /api/v1/meters)

func (Unimplemented) CreatePortalToken

func (_ Unimplemented) CreatePortalToken(w http.ResponseWriter, r *http.Request)

Create portal token (POST /api/v1/portal/tokens)

func (Unimplemented) DeleteFeature

func (_ Unimplemented) DeleteFeature(w http.ResponseWriter, r *http.Request, featureID FeatureID)

Delete feature (DELETE /api/v1/features/{featureID})

func (Unimplemented) DeleteMeter

func (_ Unimplemented) DeleteMeter(w http.ResponseWriter, r *http.Request, meterIdOrSlug MeterIdOrSlug)

☁ Delete meter (DELETE /api/v1/meters/{meterIdOrSlug})

func (Unimplemented) DeleteSubject

func (_ Unimplemented) DeleteSubject(w http.ResponseWriter, r *http.Request, subjectIdOrKey SubjectIdOrKey)

☁ Delete subject (DELETE /api/v1/subjects/{subjectIdOrKey})

func (Unimplemented) GetCreditBalance

func (_ Unimplemented) GetCreditBalance(w http.ResponseWriter, r *http.Request, ledgerID LedgerID, params GetCreditBalanceParams)

Get the balance of a specific subject. (GET /api/v1/ledgers/{ledgerID}/balance)

func (Unimplemented) GetCreditGrant

func (_ Unimplemented) GetCreditGrant(w http.ResponseWriter, r *http.Request, ledgerID LedgerID, creditGrantID CreditGrantID)

Get credit grant. (GET /api/v1/ledgers/{ledgerID}/grants/{creditGrantID})

func (Unimplemented) GetCreditHistory

func (_ Unimplemented) GetCreditHistory(w http.ResponseWriter, r *http.Request, ledgerID LedgerID, params GetCreditHistoryParams)

Get credit ledger (GET /api/v1/ledgers/{ledgerID}/history)

func (Unimplemented) GetFeature

func (_ Unimplemented) GetFeature(w http.ResponseWriter, r *http.Request, featureID FeatureID)

Get feature (GET /api/v1/features/{featureID})

func (Unimplemented) GetMeter

func (_ Unimplemented) GetMeter(w http.ResponseWriter, r *http.Request, meterIdOrSlug MeterIdOrSlug)

Get meter (GET /api/v1/meters/{meterIdOrSlug})

func (Unimplemented) GetSubject

func (_ Unimplemented) GetSubject(w http.ResponseWriter, r *http.Request, subjectIdOrKey SubjectIdOrKey)

☁ Get subject (GET /api/v1/subjects/{subjectIdOrKey})

func (Unimplemented) IngestEvents

func (_ Unimplemented) IngestEvents(w http.ResponseWriter, r *http.Request)

Ingest events (POST /api/v1/events)

func (Unimplemented) InvalidatePortalTokens

func (_ Unimplemented) InvalidatePortalTokens(w http.ResponseWriter, r *http.Request)

☁ Invalidate portal tokens (POST /api/v1/portal/tokens/invalidate)

func (Unimplemented) ListCreditGrants

func (_ Unimplemented) ListCreditGrants(w http.ResponseWriter, r *http.Request, params ListCreditGrantsParams)

List credit grants for multiple ledgers (GET /api/v1/ledgers/grants)

func (Unimplemented) ListCreditGrantsByLedger

func (_ Unimplemented) ListCreditGrantsByLedger(w http.ResponseWriter, r *http.Request, ledgerID LedgerID, params ListCreditGrantsByLedgerParams)

List credit grants (GET /api/v1/ledgers/{ledgerID}/grants)

func (Unimplemented) ListEvents

func (_ Unimplemented) ListEvents(w http.ResponseWriter, r *http.Request, params ListEventsParams)

List ingested events (GET /api/v1/events)

func (Unimplemented) ListFeatures

func (_ Unimplemented) ListFeatures(w http.ResponseWriter, r *http.Request)

List features (GET /api/v1/features)

func (Unimplemented) ListLedgers

func (_ Unimplemented) ListLedgers(w http.ResponseWriter, r *http.Request, params ListLedgersParams)

List the already defined ledgers. (GET /api/v1/ledgers)

func (Unimplemented) ListMeterSubjects

func (_ Unimplemented) ListMeterSubjects(w http.ResponseWriter, r *http.Request, meterIdOrSlug MeterIdOrSlug)

List meter subjects (GET /api/v1/meters/{meterIdOrSlug}/subjects)

func (Unimplemented) ListMeters

func (_ Unimplemented) ListMeters(w http.ResponseWriter, r *http.Request)

List meters (GET /api/v1/meters)

func (Unimplemented) ListPortalTokens

func (_ Unimplemented) ListPortalTokens(w http.ResponseWriter, r *http.Request, params ListPortalTokensParams)

☁ List portal tokens (GET /api/v1/portal/tokens)

func (Unimplemented) ListSubjects

func (_ Unimplemented) ListSubjects(w http.ResponseWriter, r *http.Request)

☁ List subjects (GET /api/v1/subjects)

func (Unimplemented) QueryMeter

func (_ Unimplemented) QueryMeter(w http.ResponseWriter, r *http.Request, meterIdOrSlug MeterIdOrSlug, params QueryMeterParams)

Query meter (GET /api/v1/meters/{meterIdOrSlug}/query)

func (Unimplemented) QueryPortalMeter

func (_ Unimplemented) QueryPortalMeter(w http.ResponseWriter, r *http.Request, meterSlug string, params QueryPortalMeterParams)

Query portal meter (GET /api/v1/portal/meters/{meterSlug}/query)

func (Unimplemented) ResetCredit

func (_ Unimplemented) ResetCredit(w http.ResponseWriter, r *http.Request, ledgerID LedgerID)

Reset credit balance (POST /api/v1/ledgers/{ledgerID}/reset)

func (Unimplemented) UpsertSubject

func (_ Unimplemented) UpsertSubject(w http.ResponseWriter, r *http.Request)

☁ Upsert subject (POST /api/v1/subjects)

func (Unimplemented) VoidCreditGrant

func (_ Unimplemented) VoidCreditGrant(w http.ResponseWriter, r *http.Request, ledgerID LedgerID, creditGrantID CreditGrantID)

Void credit grant (DELETE /api/v1/ledgers/{ledgerID}/grants/{creditGrantID})

type UnmarshalingParamError

type UnmarshalingParamError struct {
	ParamName string
	Err       error
}

func (*UnmarshalingParamError) Error

func (e *UnmarshalingParamError) Error() string

func (*UnmarshalingParamError) Unwrap

func (e *UnmarshalingParamError) Unwrap() error

type UpsertSubjectJSONBody

type UpsertSubjectJSONBody = []Subject

UpsertSubjectJSONBody defines parameters for UpsertSubject.

type UpsertSubjectJSONRequestBody

type UpsertSubjectJSONRequestBody = UpsertSubjectJSONBody

UpsertSubjectJSONRequestBody defines body for UpsertSubject for application/json ContentType.

type WindowSize

type WindowSize = models.WindowSize

WindowSize Aggregation window size.

Directories

Path Synopsis
client
go
Package openmeter provides primitives to interact with the openapi HTTP API.
Package openmeter provides primitives to interact with the openapi HTTP API.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL