debian-image-builder-frontend/types/api/rhsmSchema.ts
lucasgarfield 0fd3f285c6 Typescript: Add types for API schema
This commit adds types for the APIs that we currently query using RTK
Query. The OpenAPI schema were converted to Typescript types using the
openapi-typescript package: https://www.npmjs.com/package/openapi-typescript

In the future, we would like to add a script to a /tools directory that
will automatically generate the types from the schema. That isn't
possible now because the OpenAPI schema on consoledot require
authorization to acccess, but exposing them without auth is on the
roadmap and once that is complete we will add a script to automate the
process of generating these types.
2023-06-20 07:25:02 +02:00

2087 lines
55 KiB
TypeScript

/**
* This file was auto-generated by openapi-typescript.
* Do not make direct changes to the file.
*/
export interface paths {
"/activation_keys": {
/**
* List activation keys
* @description Returns a list of activation keys on the account including service level, role, additionalRepositories, usage, and release version (if applicable). Additional Repositories and release version will be an empty set in case it is not set.
*/
get: operations["listActivationKeys"];
/**
* Create activation key
* @description Creates an activation key by name, release version and system purpose attributes, that are service level, role and usage. In the request body, "name" should be present and unique and can only contain letters, numbers, underscores, or hyphens. The response will have name and additionalRepositories as fixed fields. AdditionalRepositories field will always be empty for a new activation key. Role, serviceLevel, usage and releaseVersion are conditional fields, will be present in response only when they have values.
*/
post: operations["createActivationKeys"];
};
"/activation_keys/{name}": {
/**
* Get activation key
* @description Get activation key by name
*/
get: operations["showActivationKey"];
/**
* Update activation key
* @description Updates an existing activation key with one or more fields as provided in request. It also returns additionalRepositories field which will be empty set when it is empty
*/
put: operations["updateActivationKeys"];
/**
* Delete activation key
* @description Removes the activation key from the account based on activation key name
*/
delete: operations["removeActivationKeys"];
};
"/activation_keys/{name}/additional_repositories": {
/**
* Add Additional Repositories
* @description Add additional repositories to an activation key by providing activation key name and repository labels. Customers can use any respositories listed in the `/v2/activation_keys/{name}/available_repositories` endpoint (use attribute `repositoryLabel`). Empty value is not supported and maximum length of repository label allowed is upto 255 characters.
*/
post: operations["addAdditionalRepositories"];
/**
* Delete Additional Repositories
* @description Removes the additional repositories from an activation key by providing activation key name and repository labels
*/
delete: operations["removeActivationKeyAdditionalRepositories"];
};
"/activation_keys/{name}/available_repositories": {
/**
* List Available Repositories
* @description Returns the list of RPM repositories available to an activation key that can be added as an additional repository. Available repositories are calculated by negating the additional repositories from the set of total RPM repositories. It can be an empty set if there are no RPM repositories or all of the repositories are already added to an activation key.
*/
get: operations["listAvailableRepositories"];
};
"/manifests": {
/**
* List all manifests for a user
* @description The default and max number of results in a response are 100.
* Satellite 6.0 or higher versions are only supported.
*/
get: operations["listManifests"];
/**
* Create Manifest
* @description Create Manifest by name and version(optional).
* Customers can use any version listed in the `/v2/manifests/versions`
* endpoint (use attribute `value`).
* If no version is specified, it will take the latest available version
* for Manifest.
*/
post: operations["createManifest"];
};
"/manifests/versions": {
/**
* List Satellite versions
* @description Returns list of Satellite version 6.0 and above
*/
get: operations["listVersionsManifest"];
};
"/manifests/{uuid}": {
/**
* Get an Manifest by UUID
* @description System, RHUI, Hypervisor, SAM are unsupported manifest types
*/
get: operations["showManifest"];
/**
* Update a manifest
* @description Allows to update simpleContentAccess for Satellite of version 6.3 and
* above
* Possible value for simpleContentAccess are:
*
* - enabled
* - disabled
*/
put: operations["updateManifest"];
/**
* Remove manifest profile
* @description The default success response will be 204
*
* System, RHUI, Hypervisor, SAM are unsupported manifet types
*/
delete: operations["removeManifest"];
};
"/manifests/{uuid}/entitlements": {
/**
* Attach entitlement to Manifest
* @description Satellite 5.6 or higher versions are only supported.
*/
post: operations["attachEntitlementManifest"];
};
"/manifests/{uuid}/entitlements/{EntitlementID}": {
/**
* Update attached entitlement to manifest
* @description The default success response will be 200.
*
* System, RHUI, Hypervisor, SAM are unsupported manifest types
*/
put: operations["updateEntitlementManifest"];
/**
* Remove entitlement from the manifest
* @description The default success response will be 204.
*/
delete: operations["removeManifestEntitlement"];
};
"/manifests/{uuid}/export": {
/**
* Trigger manifest export
* @description Starts job to generate export for a manifest. To check the status of the export job visit the href in the response.
*
* Satellite 6.0 or higher versions are only supported.
*/
get: operations["exportManifest"];
};
"/manifests/{uuid}/export/{ExportID}": {
/**
* Download manifest
* @description Success response contains a zip file. The link is one-time download and expires after one try. Trigger export job to get another download link.
*
* Content-Type: application/zip
*/
get: operations["getExportManifest"];
};
"/manifests/{uuid}/exportJob/{ExportJobID}": {
/**
* Check status of manifest export
* @description Returns export download link in response.
*/
get: operations["exportJobManifest"];
};
"/manifests/{uuid}/pools": {
/**
* List all pools for a manifest
* @description Satellite 5.6 or higher versions are only supported.
*/
get: operations["listManifestPools"];
};
"/organization": {
/**
* Get details of the user's organization
* @description Show Simple Content Access details of user's organization
*/
get: operations["checkOrgSCACapability"];
};
"/products": {
/**
* List all the products from user's subscription
* @description Get list of all the products of user's subscription. The products are from subscriptions that have not expired or expired within last 30 days.
*/
get: operations["listProducts"];
};
"/products/RHEL/extended-update-support-products": {
/**
* List RHEL EUS products
* @description Returns the list of currently supported RHEL product-repo mappings for Extended Update Support
*/
get: {
responses: {
/** @description Extended Update Support versions */
200: {
content: {
"application/json": {
body?: (components["schemas"]["EusProductList"])[];
};
};
};
/** @description BadRequest error */
400: {
content: {
"application/json": {
error?: components["schemas"]["ErrorDetails"];
};
};
};
/** @description Unauthorized error */
401: {
content: {
"application/json": {
error?: components["schemas"]["ErrorDetails"];
};
};
};
/** @description Forbidden error */
403: {
content: {
"application/json": {
error?: components["schemas"]["ErrorDetails"];
};
};
};
/** @description InternalServerError error */
500: {
content: {
"application/json": {
error?: components["schemas"]["ErrorDetails"];
};
};
};
};
};
};
"/products/RHEL/extended-update-support-versions": {
/**
* List RHEL EUS versions
* @description Returns the list of currently supported RHEL versions for Extended Update Support
*/
get: {
responses: {
/** @description Extended Update Support versions */
200: {
content: {
"application/json": {
body?: (string)[];
};
};
};
/** @description Unauthorized error */
401: {
content: {
"application/json": {
error?: components["schemas"]["ErrorDetails"];
};
};
};
/** @description Forbidden error */
403: {
content: {
"application/json": {
error?: components["schemas"]["ErrorDetails"];
};
};
};
/** @description InternalServerError error */
500: {
content: {
"application/json": {
error?: components["schemas"]["ErrorDetails"];
};
};
};
};
};
};
"/products/export": {
/**
* Export subscriptions
* @description Export a csv file of all subscriptions
*/
get: {
responses: {
/** @description Export */
200: {
content: {
"text/csv": string;
};
};
/** @description Unauthorized error */
401: {
content: {
"text/csv": {
error?: components["schemas"]["ErrorDetails"];
};
};
};
/** @description Forbidden error */
403: {
content: {
"text/csv": {
error?: components["schemas"]["ErrorDetails"];
};
};
};
/** @description InternalServerError error */
500: {
content: {
"text/csv": {
error?: components["schemas"]["ErrorDetails"];
};
};
};
};
};
};
"/products/status": {
/**
* Get user's subscription quantities by status
* @description Get counts of user's subscriptions by status such as
* - active
* - expired
* - expiring soon
* - future dated
*/
get: operations["statusCounts"];
};
"/products/{SKU}": {
/**
* Show product
* @description Get a single product by SKU
*/
get: operations["showProduct"];
};
}
export type webhooks = Record<string, never>;
export interface components {
schemas: {
/** @description APIPageParam details the pagination parameters in APIResponse */
APIPageParam: {
count?: number;
limit?: number;
offset?: number;
};
ActivationKeys: {
additionalRepositories?: (components["schemas"]["AdditionalRepositories"])[];
id?: string;
name?: string;
releaseVersion?: string;
role?: string;
serviceLevel?: string;
usage?: string;
};
AdditionalRepositories: {
repositoryLabel?: string;
repositoryName?: string;
};
AvailableRepositories: {
architecture?: string;
default?: string;
engineeringProduct?: string;
repositoryLabel?: string;
repositoryName?: string;
};
Capacity: {
name?: string;
quantity?: string;
};
/**
* @description Date format used in API responses.
* @example "2006-01-02T15:04:05.000Z"
*/
Date: string;
/** @description Details of all the entitlements attached and their status. */
EntitlementsAttached: {
reason?: string;
valid?: boolean;
value?: (components["schemas"]["EntitlementsAttachedValue"])[];
};
/** @description Detail of each entitlement attached */
EntitlementsAttachedValue: {
contractNumber?: string;
endDate?: components["schemas"]["Date"];
entitlementQuantity?: number;
id?: string;
sku?: string;
startDate?: components["schemas"]["Date"];
subscriptionName?: string;
};
/** @description ErrorDetails details the Error in ErrorResponse */
ErrorDetails: {
code?: number;
message?: string;
};
/** List of RHEL EUS product-repo mappings */
EusProductList: {
configurations?: ({
repositories?: (string)[];
version?: string;
})[];
engID?: number;
name?: string;
};
/** Manifest is an entity that consumes entitlements. Also referred as a Distributor. */
Manifest: {
entitlementQuantity?: number;
name?: string;
simpleContentAccess?: string;
type?: string;
url?: string;
uuid?: string;
version?: string;
};
/** @description details of a manifest */
ManifestDetails: {
createdBy?: string;
createdDate?: components["schemas"]["Date"];
entitlementsAttached?: components["schemas"]["EntitlementsAttached"];
entitlementsAttachedQuantity?: number;
lastModified?: components["schemas"]["Date"];
name?: string;
simpleContentAccess?: string;
type?: string;
uuid?: string;
version?: string;
};
/** @description details of a manifest */
ManifestSummary: {
contentAccessMode?: string;
createdBy?: string;
createdDate?: components["schemas"]["Date"];
entitlementsAttachedQuantity?: number;
lastModified?: components["schemas"]["Date"];
name?: string;
type?: string;
uuid?: string;
version?: string;
};
/** @description List of satellite version */
ManifestVersion: {
description?: string;
value?: string;
};
/** Organization Simple Content Access details. */
OrgSimpleContentAccess: {
id?: string;
simpleContentAccess?: string;
simpleContentAccessCapable?: boolean;
systemPurposeAttributes?: components["schemas"]["SystemPurposeAttributes"];
};
/** @description PoolDetail is an entry in the system/allocation pools listing */
PoolDetail: {
contractNumber?: string;
endDate?: components["schemas"]["Date"];
entitlementsAvailable?: number;
id?: string;
serviceLevel?: string;
sku?: string;
startDate?: components["schemas"]["Date"];
subscriptionName?: string;
subscriptionNumber?: string;
};
/** List of products from subscriptions */
ProductList: {
capacity?: components["schemas"]["Capacity"];
name?: boolean;
productLine?: string;
quantity?: number;
serviceLevel?: string;
serviceType?: string;
sku?: string;
};
/** Status counts of user's subscriptions */
StatusCount: {
active?: number;
expired?: number;
expiringSoon?: number;
futureDated?: number;
};
/** @description System purpose settings available to an organization */
SystemPurposeAttributes: {
roles?: (string)[];
serviceLevel?: (string)[];
usage?: (string)[];
};
exportJobResponse: {
exportID?: string;
href?: string;
};
exportResponse: {
exportJobID?: string;
href?: string;
};
ongoingExportJobResponse: {
message?: string;
};
poolsListMock: {
body?: (components["schemas"]["PoolDetail"])[];
pagination?: components["schemas"]["APIPageParam"];
};
};
responses: {
/** @description BadRequest error */
BadRequest: {
content: {
"application/json": {
error?: components["schemas"]["ErrorDetails"];
};
};
};
/** @description Forbidden error */
Forbidden: {
content: {
"application/json": {
error?: components["schemas"]["ErrorDetails"];
};
};
};
/** @description GatewayTimeout error */
GatewayTimeout: {
content: {
"application/json": {
error?: components["schemas"]["ErrorDetails"];
};
};
};
/** @description InternalServerError error */
InternalServerError: {
content: {
"application/json": {
error?: components["schemas"]["ErrorDetails"];
};
};
};
/** @description No Content */
NoContent: {
content: {
};
};
/** @description NotAcceptable error */
NotAcceptable: {
content: {
"application/json": {
error?: components["schemas"]["ErrorDetails"];
};
};
};
/** @description NotFound error */
NotFound: {
content: {
"application/json": {
error?: components["schemas"]["ErrorDetails"];
};
};
};
/** @description Unauthorized error */
Unauthorized: {
content: {
"application/json": {
error?: components["schemas"]["ErrorDetails"];
};
};
};
};
parameters: never;
requestBodies: never;
headers: never;
pathItems: never;
}
export type external = Record<string, never>;
export interface operations {
/**
* List activation keys
* @description Returns a list of activation keys on the account including service level, role, additionalRepositories, usage, and release version (if applicable). Additional Repositories and release version will be an empty set in case it is not set.
*/
listActivationKeys: {
responses: {
/** @description Array of activation keys */
200: {
content: {
"application/json": {
body?: (components["schemas"]["ActivationKeys"])[];
};
};
};
/** @description Unauthorized error */
401: {
content: {
"application/json": {
error?: components["schemas"]["ErrorDetails"];
};
};
};
/** @description Forbidden error */
403: {
content: {
"application/json": {
error?: components["schemas"]["ErrorDetails"];
};
};
};
/** @description InternalServerError error */
500: {
content: {
"application/json": {
error?: components["schemas"]["ErrorDetails"];
};
};
};
};
};
/**
* Create activation key
* @description Creates an activation key by name, release version and system purpose attributes, that are service level, role and usage. In the request body, "name" should be present and unique and can only contain letters, numbers, underscores, or hyphens. The response will have name and additionalRepositories as fixed fields. AdditionalRepositories field will always be empty for a new activation key. Role, serviceLevel, usage and releaseVersion are conditional fields, will be present in response only when they have values.
*/
createActivationKeys: {
/** @description Create an activation key */
requestBody?: {
content: {
"application/json": {
/** @description Name should be present, unique and can only contain letters, numbers, underscores, or hyphens */
name: string;
releaseVersion?: string;
role?: string;
serviceLevel?: string;
usage?: string;
};
};
};
responses: {
/** @description Activation key */
200: {
content: {
"application/json": {
body?: components["schemas"]["ActivationKeys"];
};
};
};
/** @description Unauthorized error */
401: {
content: {
"application/json": {
error?: components["schemas"]["ErrorDetails"];
};
};
};
/** @description Forbidden error */
403: {
content: {
"application/json": {
error?: components["schemas"]["ErrorDetails"];
};
};
};
/** @description InternalServerError error */
500: {
content: {
"application/json": {
error?: components["schemas"]["ErrorDetails"];
};
};
};
};
};
/**
* Get activation key
* @description Get activation key by name
*/
showActivationKey: {
parameters: {
path: {
name: string;
};
};
responses: {
/** @description Activation key */
200: {
content: {
"application/json": {
body?: components["schemas"]["ActivationKeys"];
};
};
};
/** @description Unauthorized error */
401: {
content: {
"application/json": {
error?: components["schemas"]["ErrorDetails"];
};
};
};
/** @description Forbidden error */
403: {
content: {
"application/json": {
error?: components["schemas"]["ErrorDetails"];
};
};
};
/** @description InternalServerError error */
500: {
content: {
"application/json": {
error?: components["schemas"]["ErrorDetails"];
};
};
};
};
};
/**
* Update activation key
* @description Updates an existing activation key with one or more fields as provided in request. It also returns additionalRepositories field which will be empty set when it is empty
*/
updateActivationKeys: {
parameters: {
path: {
name: string;
};
};
/** @description Update an activation key */
requestBody?: {
content: {
"application/json": {
additionalRepositories?: (components["schemas"]["AdditionalRepositories"])[];
releaseVersion?: string;
role?: string;
serviceLevel?: string;
usage?: string;
};
};
};
responses: {
/** @description Activation key */
200: {
content: {
"application/json": {
body?: components["schemas"]["ActivationKeys"];
};
};
};
/** @description BadRequest error */
400: {
content: {
"application/json": {
error?: components["schemas"]["ErrorDetails"];
};
};
};
/** @description Unauthorized error */
401: {
content: {
"application/json": {
error?: components["schemas"]["ErrorDetails"];
};
};
};
/** @description Forbidden error */
403: {
content: {
"application/json": {
error?: components["schemas"]["ErrorDetails"];
};
};
};
/** @description InternalServerError error */
500: {
content: {
"application/json": {
error?: components["schemas"]["ErrorDetails"];
};
};
};
};
};
/**
* Delete activation key
* @description Removes the activation key from the account based on activation key name
*/
removeActivationKeys: {
parameters: {
path: {
name: string;
};
};
responses: {
/** @description successfully removed */
204: {
content: {
};
};
/** @description BadRequest error */
400: {
content: {
"application/json": {
error?: components["schemas"]["ErrorDetails"];
};
};
};
/** @description Unauthorized error */
401: {
content: {
"application/json": {
error?: components["schemas"]["ErrorDetails"];
};
};
};
/** @description Forbidden error */
403: {
content: {
"application/json": {
error?: components["schemas"]["ErrorDetails"];
};
};
};
/** @description NotFound error */
404: {
content: {
"application/json": {
error?: components["schemas"]["ErrorDetails"];
};
};
};
/** @description InternalServerError error */
500: {
content: {
"application/json": {
error?: components["schemas"]["ErrorDetails"];
};
};
};
};
};
/**
* Add Additional Repositories
* @description Add additional repositories to an activation key by providing activation key name and repository labels. Customers can use any respositories listed in the `/v2/activation_keys/{name}/available_repositories` endpoint (use attribute `repositoryLabel`). Empty value is not supported and maximum length of repository label allowed is upto 255 characters.
*/
addAdditionalRepositories: {
parameters: {
path: {
name: string;
};
};
/** @description Add Additional repositories */
requestBody?: {
content: {
"application/json": (components["schemas"]["AdditionalRepositories"])[];
};
};
responses: {
/** @description list of additional repositories */
200: {
content: {
"application/json": {
body?: (components["schemas"]["AdditionalRepositories"])[];
};
};
};
/** @description BadRequest error */
400: {
content: {
"application/json": {
error?: components["schemas"]["ErrorDetails"];
};
};
};
/** @description Unauthorized error */
401: {
content: {
"application/json": {
error?: components["schemas"]["ErrorDetails"];
};
};
};
/** @description Forbidden error */
403: {
content: {
"application/json": {
error?: components["schemas"]["ErrorDetails"];
};
};
};
/** @description InternalServerError error */
500: {
content: {
"application/json": {
error?: components["schemas"]["ErrorDetails"];
};
};
};
};
};
/**
* Delete Additional Repositories
* @description Removes the additional repositories from an activation key by providing activation key name and repository labels
*/
removeActivationKeyAdditionalRepositories: {
parameters: {
path: {
name: string;
};
};
requestBody?: {
content: {
"application/json": (components["schemas"]["AdditionalRepositories"])[];
};
};
responses: {
/** @description No Content */
204: {
content: {
};
};
/** @description BadRequest error */
400: {
content: {
"application/json": {
error?: components["schemas"]["ErrorDetails"];
};
};
};
/** @description Unauthorized error */
401: {
content: {
"application/json": {
error?: components["schemas"]["ErrorDetails"];
};
};
};
/** @description Forbidden error */
403: {
content: {
"application/json": {
error?: components["schemas"]["ErrorDetails"];
};
};
};
/** @description NotFound error */
404: {
content: {
"application/json": {
error?: components["schemas"]["ErrorDetails"];
};
};
};
/** @description InternalServerError error */
500: {
content: {
"application/json": {
error?: components["schemas"]["ErrorDetails"];
};
};
};
};
};
/**
* List Available Repositories
* @description Returns the list of RPM repositories available to an activation key that can be added as an additional repository. Available repositories are calculated by negating the additional repositories from the set of total RPM repositories. It can be an empty set if there are no RPM repositories or all of the repositories are already added to an activation key.
*/
listAvailableRepositories: {
parameters: {
query?: {
/** @description max number of results you want */
limit?: number;
/** @description index from which you want next items */
offset?: number;
/** @description Filters available repos based off default status */
default?: "Disabled";
};
path: {
name: string;
};
};
responses: {
/** @description list of available repositories */
200: {
content: {
"application/json": {
body?: (components["schemas"]["AvailableRepositories"])[];
pagination?: components["schemas"]["APIPageParam"];
};
};
};
/** @description BadRequest error */
400: {
content: {
"application/json": {
error?: components["schemas"]["ErrorDetails"];
};
};
};
/** @description Unauthorized error */
401: {
content: {
"application/json": {
error?: components["schemas"]["ErrorDetails"];
};
};
};
/** @description Forbidden error */
403: {
content: {
"application/json": {
error?: components["schemas"]["ErrorDetails"];
};
};
};
/** @description InternalServerError error */
500: {
content: {
"application/json": {
error?: components["schemas"]["ErrorDetails"];
};
};
};
};
};
/**
* List all manifests for a user
* @description The default and max number of results in a response are 100.
* Satellite 6.0 or higher versions are only supported.
*/
listManifests: {
parameters: {
query?: {
/** @description max number of results you want */
limit?: number;
/** @description index from which you want next items */
offset?: number;
};
};
responses: {
/** @description list of manifests */
200: {
content: {
"application/json": {
body?: (components["schemas"]["Manifest"])[];
pagination?: components["schemas"]["APIPageParam"];
};
};
};
/** @description BadRequest error */
400: {
content: {
"application/json": {
error?: components["schemas"]["ErrorDetails"];
};
};
};
/** @description Unauthorized error */
401: {
content: {
"application/json": {
error?: components["schemas"]["ErrorDetails"];
};
};
};
/** @description Forbidden error */
403: {
content: {
"application/json": {
error?: components["schemas"]["ErrorDetails"];
};
};
};
/** @description NotFound error */
404: {
content: {
"application/json": {
error?: components["schemas"]["ErrorDetails"];
};
};
};
/** @description InternalServerError error */
500: {
content: {
"application/json": {
error?: components["schemas"]["ErrorDetails"];
};
};
};
};
};
/**
* Create Manifest
* @description Create Manifest by name and version(optional).
* Customers can use any version listed in the `/v2/manifests/versions`
* endpoint (use attribute `value`).
* If no version is specified, it will take the latest available version
* for Manifest.
*/
createManifest: {
parameters: {
query: {
/** @description must be less than 100 characters and use only numbers, letters, underscores, hyphens, and periods */
Name: string;
version?: string;
};
};
responses: {
/** @description Success */
200: {
content: {
"application/json": {
body?: components["schemas"]["ManifestSummary"];
};
};
};
/** @description BadRequest error */
400: {
content: {
"application/json": {
error?: components["schemas"]["ErrorDetails"];
};
};
};
/** @description Unauthorized error */
401: {
content: {
"application/json": {
error?: components["schemas"]["ErrorDetails"];
};
};
};
/** @description Forbidden error */
403: {
content: {
"application/json": {
error?: components["schemas"]["ErrorDetails"];
};
};
};
/** @description NotFound error */
404: {
content: {
"application/json": {
error?: components["schemas"]["ErrorDetails"];
};
};
};
/** @description InternalServerError error */
500: {
content: {
"application/json": {
error?: components["schemas"]["ErrorDetails"];
};
};
};
};
};
/**
* List Satellite versions
* @description Returns list of Satellite version 6.0 and above
*/
listVersionsManifest: {
responses: {
/** @description list of Satellite version */
200: {
content: {
"application/json": {
body?: (components["schemas"]["ManifestVersion"])[];
};
};
};
/** @description BadRequest error */
400: {
content: {
"application/json": {
error?: components["schemas"]["ErrorDetails"];
};
};
};
/** @description Unauthorized error */
401: {
content: {
"application/json": {
error?: components["schemas"]["ErrorDetails"];
};
};
};
/** @description Forbidden error */
403: {
content: {
"application/json": {
error?: components["schemas"]["ErrorDetails"];
};
};
};
/** @description NotFound error */
404: {
content: {
"application/json": {
error?: components["schemas"]["ErrorDetails"];
};
};
};
/** @description InternalServerError error */
500: {
content: {
"application/json": {
error?: components["schemas"]["ErrorDetails"];
};
};
};
};
};
/**
* Get an Manifest by UUID
* @description System, RHUI, Hypervisor, SAM are unsupported manifest types
*/
showManifest: {
parameters: {
query?: {
/** @description Show more details about a manifest */
include?: "entitlements";
};
path: {
uuid: string;
};
};
responses: {
/** @description success response */
200: {
content: {
"application/json": {
body?: components["schemas"]["ManifestDetails"];
};
};
};
/** @description BadRequest error */
400: {
content: {
"application/json": {
error?: components["schemas"]["ErrorDetails"];
};
};
};
/** @description Unauthorized error */
401: {
content: {
"application/json": {
error?: components["schemas"]["ErrorDetails"];
};
};
};
/** @description Forbidden error */
403: {
content: {
"application/json": {
error?: components["schemas"]["ErrorDetails"];
};
};
};
/** @description NotFound error */
404: {
content: {
"application/json": {
error?: components["schemas"]["ErrorDetails"];
};
};
};
/** @description InternalServerError error */
500: {
content: {
"application/json": {
error?: components["schemas"]["ErrorDetails"];
};
};
};
};
};
/**
* Update a manifest
* @description Allows to update simpleContentAccess for Satellite of version 6.3 and
* above
* Possible value for simpleContentAccess are:
*
* - enabled
* - disabled
*/
updateManifest: {
parameters: {
path: {
uuid: string;
};
};
requestBody?: {
content: {
"application/json": {
simpleContentAccess: string;
};
};
};
responses: {
/** @description No Content */
204: {
content: {
};
};
/** @description BadRequest error */
400: {
content: {
"application/json": {
error?: components["schemas"]["ErrorDetails"];
};
};
};
/** @description Unauthorized error */
401: {
content: {
"application/json": {
error?: components["schemas"]["ErrorDetails"];
};
};
};
/** @description Forbidden error */
403: {
content: {
"application/json": {
error?: components["schemas"]["ErrorDetails"];
};
};
};
/** @description NotFound error */
404: {
content: {
"application/json": {
error?: components["schemas"]["ErrorDetails"];
};
};
};
/** @description InternalServerError error */
500: {
content: {
"application/json": {
error?: components["schemas"]["ErrorDetails"];
};
};
};
};
};
/**
* Remove manifest profile
* @description The default success response will be 204
*
* System, RHUI, Hypervisor, SAM are unsupported manifet types
*/
removeManifest: {
parameters: {
query: {
/**
* @description Deleting a subscription manifest can have significant impacts on your hosts and activation keys.
* We require a force parameter to make sure the delete operation is intentional.
*/
force: true;
};
path: {
uuid: string;
};
};
responses: {
/** @description Successfully removed */
204: {
content: {
};
};
/** @description BadRequest error */
400: {
content: {
"application/json": {
error?: components["schemas"]["ErrorDetails"];
};
};
};
/** @description Unauthorized error */
401: {
content: {
"application/json": {
error?: components["schemas"]["ErrorDetails"];
};
};
};
/** @description Forbidden error */
403: {
content: {
"application/json": {
error?: components["schemas"]["ErrorDetails"];
};
};
};
/** @description NotFound error */
404: {
content: {
"application/json": {
error?: components["schemas"]["ErrorDetails"];
};
};
};
/** @description InternalServerError error */
500: {
content: {
"application/json": {
error?: components["schemas"]["ErrorDetails"];
};
};
};
/** @description GatewayTimeout error */
504: {
content: {
"application/json": {
error?: components["schemas"]["ErrorDetails"];
};
};
};
};
};
/**
* Attach entitlement to Manifest
* @description Satellite 5.6 or higher versions are only supported.
*/
attachEntitlementManifest: {
parameters: {
query: {
pool: string;
/** @description quantity you want to attach */
quantity?: number;
};
path: {
uuid: string;
};
};
responses: {
/** @description Success */
200: {
content: {
"application/json": {
body?: components["schemas"]["ManifestDetails"];
};
};
};
/** @description BadRequest error */
400: {
content: {
"application/json": {
error?: components["schemas"]["ErrorDetails"];
};
};
};
/** @description Unauthorized error */
401: {
content: {
"application/json": {
error?: components["schemas"]["ErrorDetails"];
};
};
};
/** @description Forbidden error */
403: {
content: {
"application/json": {
error?: components["schemas"]["ErrorDetails"];
};
};
};
/** @description NotFound error */
404: {
content: {
"application/json": {
error?: components["schemas"]["ErrorDetails"];
};
};
};
/** @description InternalServerError error */
500: {
content: {
"application/json": {
error?: components["schemas"]["ErrorDetails"];
};
};
};
/** @description GatewayTimeout error */
504: {
content: {
"application/json": {
error?: components["schemas"]["ErrorDetails"];
};
};
};
};
};
/**
* Update attached entitlement to manifest
* @description The default success response will be 200.
*
* System, RHUI, Hypervisor, SAM are unsupported manifest types
*/
updateEntitlementManifest: {
parameters: {
query?: {
/**
* @description maxItem: quantity must be less than or equal to the maximum number of allowed entitlements in the entitlement pool
* minItem: 1
*/
quantity?: number;
};
path: {
uuid: string;
EntitlementID: string;
};
};
responses: {
/** @description Success response */
200: {
content: {
"application/json": {
body?: components["schemas"]["ManifestDetails"];
};
};
};
/** @description BadRequest error */
400: {
content: {
"application/json": {
error?: components["schemas"]["ErrorDetails"];
};
};
};
/** @description Unauthorized error */
401: {
content: {
"application/json": {
error?: components["schemas"]["ErrorDetails"];
};
};
};
/** @description Forbidden error */
403: {
content: {
"application/json": {
error?: components["schemas"]["ErrorDetails"];
};
};
};
/** @description NotFound error */
404: {
content: {
"application/json": {
error?: components["schemas"]["ErrorDetails"];
};
};
};
/** @description InternalServerError error */
500: {
content: {
"application/json": {
error?: components["schemas"]["ErrorDetails"];
};
};
};
};
};
/**
* Remove entitlement from the manifest
* @description The default success response will be 204.
*/
removeManifestEntitlement: {
parameters: {
path: {
uuid: string;
EntitlementID: string;
};
};
responses: {
/** @description successfully removed */
204: {
content: {
};
};
/** @description BadRequest error */
400: {
content: {
"application/json": {
error?: components["schemas"]["ErrorDetails"];
};
};
};
/** @description Unauthorized error */
401: {
content: {
"application/json": {
error?: components["schemas"]["ErrorDetails"];
};
};
};
/** @description Forbidden error */
403: {
content: {
"application/json": {
error?: components["schemas"]["ErrorDetails"];
};
};
};
/** @description NotFound error */
404: {
content: {
"application/json": {
error?: components["schemas"]["ErrorDetails"];
};
};
};
/** @description InternalServerError error */
500: {
content: {
"application/json": {
error?: components["schemas"]["ErrorDetails"];
};
};
};
};
};
/**
* Trigger manifest export
* @description Starts job to generate export for a manifest. To check the status of the export job visit the href in the response.
*
* Satellite 6.0 or higher versions are only supported.
*/
exportManifest: {
parameters: {
path: {
uuid: string;
};
};
responses: {
/** @description ExportManifest200 is the success response */
200: {
content: {
"application/json": {
body?: components["schemas"]["exportResponse"];
};
};
};
/** @description BadRequest error */
400: {
content: {
"application/json": {
error?: components["schemas"]["ErrorDetails"];
};
};
};
/** @description Unauthorized error */
401: {
content: {
"application/json": {
error?: components["schemas"]["ErrorDetails"];
};
};
};
/** @description Forbidden error */
403: {
content: {
"application/json": {
error?: components["schemas"]["ErrorDetails"];
};
};
};
/** @description NotFound error */
404: {
content: {
"application/json": {
error?: components["schemas"]["ErrorDetails"];
};
};
};
/** @description InternalServerError error */
500: {
content: {
"application/json": {
error?: components["schemas"]["ErrorDetails"];
};
};
};
};
};
/**
* Download manifest
* @description Success response contains a zip file. The link is one-time download and expires after one try. Trigger export job to get another download link.
*
* Content-Type: application/zip
*/
getExportManifest: {
parameters: {
path: {
uuid: string;
ExportID: string;
};
};
responses: {
/** @description GetExportManifest200 is the success response */
200: {
content: {
"application/zip": (number)[];
};
};
/** @description BadRequest error */
400: {
content: {
"application/zip": {
error?: components["schemas"]["ErrorDetails"];
};
};
};
/** @description Unauthorized error */
401: {
content: {
"application/zip": {
error?: components["schemas"]["ErrorDetails"];
};
};
};
/** @description Forbidden error */
403: {
content: {
"application/zip": {
error?: components["schemas"]["ErrorDetails"];
};
};
};
/** @description NotFound error */
404: {
content: {
"application/zip": {
error?: components["schemas"]["ErrorDetails"];
};
};
};
/** @description InternalServerError error */
500: {
content: {
"application/zip": {
error?: components["schemas"]["ErrorDetails"];
};
};
};
};
};
/**
* Check status of manifest export
* @description Returns export download link in response.
*/
exportJobManifest: {
parameters: {
path: {
uuid: string;
ExportJobID: string;
};
};
responses: {
/** @description ExportJobManifest200 is the success response */
200: {
content: {
"application/json": {
body?: components["schemas"]["exportJobResponse"];
};
};
};
/** @description AcceptedExportJob202 is a response for accepted and in progress job */
202: {
content: {
"application/json": {
body?: components["schemas"]["ongoingExportJobResponse"];
};
};
};
/** @description BadRequest error */
400: {
content: {
"application/json": {
error?: components["schemas"]["ErrorDetails"];
};
};
};
/** @description Unauthorized error */
401: {
content: {
"application/json": {
error?: components["schemas"]["ErrorDetails"];
};
};
};
/** @description Forbidden error */
403: {
content: {
"application/json": {
error?: components["schemas"]["ErrorDetails"];
};
};
};
/** @description NotFound error */
404: {
content: {
"application/json": {
error?: components["schemas"]["ErrorDetails"];
};
};
};
/** @description NotAcceptable error */
406: {
content: {
"application/json": {
error?: components["schemas"]["ErrorDetails"];
};
};
};
/** @description InternalServerError error */
500: {
content: {
"application/json": {
error?: components["schemas"]["ErrorDetails"];
};
};
};
};
};
/**
* List all pools for a manifest
* @description Satellite 5.6 or higher versions are only supported.
*/
listManifestPools: {
parameters: {
query?: {
/** @description max number of results you want */
limit?: number;
/** @description index from which you want next items */
offset?: number;
/** @description include future dated pools for satellite 6.3 or higher */
future?: true;
};
path: {
uuid: string;
};
};
responses: {
/** @description list of pools available for the manifest */
200: {
content: {
"application/json": components["schemas"]["poolsListMock"];
};
};
/** @description BadRequest error */
400: {
content: {
"application/json": {
error?: components["schemas"]["ErrorDetails"];
};
};
};
/** @description Unauthorized error */
401: {
content: {
"application/json": {
error?: components["schemas"]["ErrorDetails"];
};
};
};
/** @description Forbidden error */
403: {
content: {
"application/json": {
error?: components["schemas"]["ErrorDetails"];
};
};
};
/** @description NotFound error */
404: {
content: {
"application/json": {
error?: components["schemas"]["ErrorDetails"];
};
};
};
/** @description InternalServerError error */
500: {
content: {
"application/json": {
error?: components["schemas"]["ErrorDetails"];
};
};
};
};
};
/**
* Get details of the user's organization
* @description Show Simple Content Access details of user's organization
*/
checkOrgSCACapability: {
parameters: {
query?: {
/** @description Request for system purpose attributes in response */
include?: string;
};
};
responses: {
/** @description Organization details */
200: {
content: {
"application/json": {
body?: components["schemas"]["OrgSimpleContentAccess"];
};
};
};
/** @description BadRequest error */
400: {
content: {
"application/json": {
error?: components["schemas"]["ErrorDetails"];
};
};
};
/** @description Unauthorized error */
401: {
content: {
"application/json": {
error?: components["schemas"]["ErrorDetails"];
};
};
};
/** @description Forbidden error */
403: {
content: {
"application/json": {
error?: components["schemas"]["ErrorDetails"];
};
};
};
/** @description NotFound error */
404: {
content: {
"application/json": {
error?: components["schemas"]["ErrorDetails"];
};
};
};
/** @description InternalServerError error */
500: {
content: {
"application/json": {
error?: components["schemas"]["ErrorDetails"];
};
};
};
};
};
/**
* List all the products from user's subscription
* @description Get list of all the products of user's subscription. The products are from subscriptions that have not expired or expired within last 30 days.
*/
listProducts: {
parameters: {
query?: {
/** @description Filters products based on subscription status */
status?: "expired" | "expiringSoon" | "active" | "futureDated";
};
};
responses: {
/** @description Product list */
200: {
content: {
"application/json": {
body?: (components["schemas"]["ProductList"])[];
};
};
};
/** @description Unauthorized error */
401: {
content: {
"application/json": {
error?: components["schemas"]["ErrorDetails"];
};
};
};
/** @description Forbidden error */
403: {
content: {
"application/json": {
error?: components["schemas"]["ErrorDetails"];
};
};
};
/** @description InternalServerError error */
500: {
content: {
"application/json": {
error?: components["schemas"]["ErrorDetails"];
};
};
};
};
};
/**
* Get user's subscription quantities by status
* @description Get counts of user's subscriptions by status such as
* - active
* - expired
* - expiring soon
* - future dated
*/
statusCounts: {
responses: {
/** @description Status counts */
200: {
content: {
"application/json": {
body?: components["schemas"]["StatusCount"];
};
};
};
/** @description Unauthorized error */
401: {
content: {
"application/json": {
error?: components["schemas"]["ErrorDetails"];
};
};
};
/** @description Forbidden error */
403: {
content: {
"application/json": {
error?: components["schemas"]["ErrorDetails"];
};
};
};
/** @description InternalServerError error */
500: {
content: {
"application/json": {
error?: components["schemas"]["ErrorDetails"];
};
};
};
};
};
/**
* Show product
* @description Get a single product by SKU
*/
showProduct: {
parameters: {
path: {
/** @description SKU of the product to show */
SKU: string;
};
};
responses: {
/** @description Product */
200: {
content: {
"application/json": {
body?: components["schemas"]["ProductList"];
};
};
};
/** @description BadRequest error */
400: {
content: {
"application/json": {
error?: components["schemas"]["ErrorDetails"];
};
};
};
/** @description Unauthorized error */
401: {
content: {
"application/json": {
error?: components["schemas"]["ErrorDetails"];
};
};
};
/** @description Forbidden error */
403: {
content: {
"application/json": {
error?: components["schemas"]["ErrorDetails"];
};
};
};
/** @description InternalServerError error */
500: {
content: {
"application/json": {
error?: components["schemas"]["ErrorDetails"];
};
};
};
};
};
}