orb-billing
Version:
The official TypeScript library for the Orb API
147 lines (128 loc) • 4.51 kB
text/typescript
// File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
import { APIResource } from '../core/resource';
import { APIPromise } from '../core/api-promise';
import { Page, type PageParams, PagePromise } from '../core/pagination';
import { RequestOptions } from '../internal/request-options';
import { path } from '../internal/utils/path';
/**
* The LicenseType resource represents a type of license that can be assigned to users.
* License types are used during billing by grouping metrics on the configured grouping key.
*/
export class LicenseTypes extends APIResource {
/**
* This endpoint is used to create a new license type.
*
* License types are used to group licenses and define billing behavior. Each
* license type has a name and a grouping key that determines how metrics are
* aggregated for billing purposes.
*/
create(body: LicenseTypeCreateParams, options?: RequestOptions): APIPromise<LicenseTypeCreateResponse> {
return this._client.post('/license_types', { body, ...options });
}
/**
* This endpoint returns a license type identified by its license_type_id.
*
* Use this endpoint to retrieve details about a specific license type, including
* its name and grouping key.
*/
retrieve(licenseTypeID: string, options?: RequestOptions): APIPromise<LicenseTypeRetrieveResponse> {
return this._client.get(path`/license_types/${licenseTypeID}`, options);
}
/**
* This endpoint returns a list of all license types configured for the account,
* ordered in ascending order by creation time.
*
* License types are used to group licenses and define billing behavior. Each
* license type has a name and a grouping key that determines how metrics are
* aggregated for billing purposes.
*/
list(
query: LicenseTypeListParams | null | undefined = {},
options?: RequestOptions,
): PagePromise<LicenseTypeListResponsesPage, LicenseTypeListResponse> {
return this._client.getAPIList('/license_types', Page<LicenseTypeListResponse>, { query, ...options });
}
}
export type LicenseTypeListResponsesPage = Page<LicenseTypeListResponse>;
/**
* The LicenseType resource represents a type of license that can be assigned to
* users. License types are used during billing by grouping metrics on the
* configured grouping key.
*/
export interface LicenseTypeCreateResponse {
/**
* The Orb-assigned unique identifier for the license type.
*/
id: string;
/**
* The key used for grouping licenses of this type. This is typically a user
* identifier field.
*/
grouping_key: string;
/**
* The name of the license type.
*/
name: string;
}
/**
* The LicenseType resource represents a type of license that can be assigned to
* users. License types are used during billing by grouping metrics on the
* configured grouping key.
*/
export interface LicenseTypeRetrieveResponse {
/**
* The Orb-assigned unique identifier for the license type.
*/
id: string;
/**
* The key used for grouping licenses of this type. This is typically a user
* identifier field.
*/
grouping_key: string;
/**
* The name of the license type.
*/
name: string;
}
/**
* The LicenseType resource represents a type of license that can be assigned to
* users. License types are used during billing by grouping metrics on the
* configured grouping key.
*/
export interface LicenseTypeListResponse {
/**
* The Orb-assigned unique identifier for the license type.
*/
id: string;
/**
* The key used for grouping licenses of this type. This is typically a user
* identifier field.
*/
grouping_key: string;
/**
* The name of the license type.
*/
name: string;
}
export interface LicenseTypeCreateParams {
/**
* The key used for grouping licenses of this type. This is typically a user
* identifier field.
*/
grouping_key: string;
/**
* The name of the license type.
*/
name: string;
}
export interface LicenseTypeListParams extends PageParams {}
export declare namespace LicenseTypes {
export {
type LicenseTypeCreateResponse as LicenseTypeCreateResponse,
type LicenseTypeRetrieveResponse as LicenseTypeRetrieveResponse,
type LicenseTypeListResponse as LicenseTypeListResponse,
type LicenseTypeListResponsesPage as LicenseTypeListResponsesPage,
type LicenseTypeCreateParams as LicenseTypeCreateParams,
type LicenseTypeListParams as LicenseTypeListParams,
};
}