debian-image-builder-frontend/api/schema/contentSources.json

2417 lines
No EOL
94 KiB
JSON

{
"components": {
"schemas": {
"api.Feature": {
"properties": {
"accessible": {
"description": "Whether the current user can access the feature",
"type": "boolean"
},
"enabled": {
"description": "Whether the feature is enabled on the running server",
"type": "boolean"
}
},
"type": "object"
},
"api.FeatureSet": {
"additionalProperties": {
"$ref": "#/components/schemas/api.Feature"
},
"type": "object"
},
"api.FetchGPGKeyResponse": {
"properties": {
"gpg_key": {
"description": "The downloaded GPG Keys from the provided url.",
"type": "string"
}
},
"type": "object"
},
"api.GenericAttributeValidationResponse": {
"properties": {
"error": {
"description": "Error message if the attribute is not valid",
"type": "string"
},
"skipped": {
"description": "Skipped if the attribute is not passed in for validation",
"type": "boolean"
},
"valid": {
"description": "Valid if not skipped and the provided attribute is valid",
"type": "boolean"
}
},
"type": "object"
},
"api.Links": {
"properties": {
"first": {
"description": "Path to first page of results",
"type": "string"
},
"last": {
"description": "Path to last page of results",
"type": "string"
},
"next": {
"description": "Path to next page of results",
"type": "string"
},
"prev": {
"description": "Path to previous page of results",
"type": "string"
}
},
"type": "object"
},
"api.PopularRepositoriesCollectionResponse": {
"properties": {
"data": {
"items": {
"$ref": "#/components/schemas/api.PopularRepositoryResponse"
},
"type": "array"
},
"links": {
"$ref": "#/components/schemas/api.Links"
},
"meta": {
"$ref": "#/components/schemas/api.ResponseMetadata"
}
},
"type": "object"
},
"api.PopularRepositoryResponse": {
"properties": {
"distribution_arch": {
"description": "Architecture to restrict client usage to",
"example": "x86_64",
"type": "string"
},
"distribution_versions": {
"description": "Versions to restrict client usage to",
"example": [
"7",
"8"
],
"items": {
"type": "string"
},
"type": "array"
},
"existing_name": {
"description": "Existing reference name for repository",
"type": "string"
},
"gpg_key": {
"description": "GPG key for repository",
"type": "string"
},
"metadata_verification": {
"description": "Verify packages",
"type": "boolean"
},
"suggested_name": {
"description": "Suggested name of the popular repository",
"type": "string"
},
"url": {
"description": "URL of the remote yum repository",
"type": "string"
},
"uuid": {
"description": "UUID of the repository if it exists for the user",
"type": "string"
}
},
"type": "object"
},
"api.PublicRepositoryCollectionResponse": {
"properties": {
"data": {
"items": {
"$ref": "#/components/schemas/api.PublicRepositoryResponse"
},
"type": "array"
},
"links": {
"$ref": "#/components/schemas/api.Links"
},
"meta": {
"$ref": "#/components/schemas/api.ResponseMetadata"
}
},
"type": "object"
},
"api.PublicRepositoryResponse": {
"properties": {
"last_introspection_error": {
"description": "Error of last attempted introspection",
"type": "string"
},
"last_introspection_time": {
"description": "Timestamp of last attempted introspection",
"type": "string"
},
"last_success_introspection_time": {
"description": "Timestamp of last successful introspection",
"type": "string"
},
"last_update_introspection_time": {
"description": "Timestamp of last introspection that had updates",
"type": "string"
},
"package_count": {
"description": "Number of packages last read in the repository",
"type": "integer"
},
"status": {
"description": "Introspection status of the repository",
"type": "string"
},
"url": {
"description": "URL of the remote yum repository",
"type": "string"
},
"uuid": {
"description": "UUID of the repository if it exists for the user",
"type": "string"
}
},
"type": "object"
},
"api.RepositoryCollectionResponse": {
"properties": {
"data": {
"description": "Requested Data",
"items": {
"$ref": "#/components/schemas/api.RepositoryResponse"
},
"type": "array"
},
"links": {
"$ref": "#/components/schemas/api.Links"
},
"meta": {
"$ref": "#/components/schemas/api.ResponseMetadata"
}
},
"type": "object"
},
"api.RepositoryIntrospectRequest": {
"properties": {
"reset_count": {
"description": "Reset the failed introspections count",
"type": "boolean"
}
},
"type": "object"
},
"api.RepositoryParameterResponse": {
"properties": {
"distribution_arches": {
"description": "Architectures available for repository creation",
"items": {
"$ref": "#/components/schemas/config.DistributionArch"
},
"type": "array"
},
"distribution_versions": {
"description": "Versions available for repository creation",
"items": {
"$ref": "#/components/schemas/config.DistributionVersion"
},
"type": "array"
}
},
"type": "object"
},
"api.RepositoryRequest": {
"properties": {
"distribution_arch": {
"description": "Architecture to restrict client usage to",
"example": "x86_64",
"type": "string"
},
"distribution_versions": {
"description": "Versions to restrict client usage to",
"example": [
"7",
"8"
],
"items": {
"type": "string"
},
"type": "array"
},
"gpg_key": {
"description": "GPG key for repository",
"type": "string"
},
"metadata_verification": {
"description": "Verify packages",
"type": "boolean"
},
"name": {
"description": "Name of the remote yum repository",
"type": "string"
},
"snapshot": {
"description": "Enable snapshotting and hosting of this repository",
"type": "boolean"
},
"url": {
"description": "URL of the remote yum repository",
"type": "string"
}
},
"type": "object"
},
"api.RepositoryResponse": {
"properties": {
"account_id": {
"description": "Account ID of the owner",
"readOnly": true,
"type": "string"
},
"content_type": {
"description": "Content Type (rpm) of the repository",
"type": "string"
},
"distribution_arch": {
"description": "Architecture to restrict client usage to",
"example": "x86_64",
"type": "string"
},
"distribution_versions": {
"description": "Versions to restrict client usage to",
"example": [
"7",
"8"
],
"items": {
"type": "string"
},
"type": "array"
},
"failed_introspections_count": {
"description": "Number of consecutive failed introspections",
"type": "integer"
},
"gpg_key": {
"description": "GPG key for repository",
"type": "string"
},
"last_introspection_error": {
"description": "Error of last attempted introspection",
"type": "string"
},
"last_introspection_time": {
"description": "Timestamp of last attempted introspection",
"type": "string"
},
"last_snapshot": {
"$ref": "#/components/schemas/api.SnapshotResponse"
},
"last_snapshot_task_uuid": {
"description": "UUID of the last snapshot task",
"type": "string"
},
"last_snapshot_uuid": {
"description": "UUID of the last dao.Snapshot",
"type": "string"
},
"last_success_introspection_time": {
"description": "Timestamp of last successful introspection",
"type": "string"
},
"last_update_introspection_time": {
"description": "Timestamp of last introspection that had updates",
"type": "string"
},
"metadata_verification": {
"description": "Verify packages",
"type": "boolean"
},
"name": {
"description": "Name of the remote yum repository",
"type": "string"
},
"org_id": {
"description": "Organization ID of the owner",
"readOnly": true,
"type": "string"
},
"origin": {
"description": "Origin of the repository",
"type": "string"
},
"package_count": {
"description": "Number of packages last read in the repository",
"type": "integer"
},
"snapshot": {
"description": "Enable snapshotting and hosting of this repository",
"type": "boolean"
},
"status": {
"description": "Status of repository introspection (Valid, Invalid, Unavailable, Pending)",
"type": "string"
},
"url": {
"description": "URL of the remote yum repository",
"type": "string"
},
"uuid": {
"description": "UUID of the object",
"readOnly": true,
"type": "string"
}
},
"type": "object"
},
"api.RepositoryRpm": {
"properties": {
"arch": {
"description": "The Architecture of the rpm",
"type": "string"
},
"checksum": {
"description": "The checksum of the rpm",
"type": "string"
},
"epoch": {
"description": "The epoch of the rpm",
"type": "integer"
},
"name": {
"description": "The rpm package name",
"type": "string"
},
"release": {
"description": "The release of the rpm",
"type": "string"
},
"summary": {
"description": "The summary of the rpm",
"type": "string"
},
"uuid": {
"description": "Identifier of the rpm",
"type": "string"
},
"version": {
"description": "The version of the rpm",
"type": "string"
}
},
"type": "object"
},
"api.RepositoryRpmCollectionResponse": {
"properties": {
"data": {
"description": "List of rpms",
"items": {
"$ref": "#/components/schemas/api.RepositoryRpm"
},
"type": "array"
},
"links": {
"$ref": "#/components/schemas/api.Links"
},
"meta": {
"$ref": "#/components/schemas/api.ResponseMetadata"
}
},
"type": "object"
},
"api.RepositoryValidationRequest": {
"properties": {
"gpg_key": {
"description": "GPGKey of the remote yum repository",
"type": "string"
},
"metadata_verification": {
"description": "If set, attempt to validate the yum metadata with the specified GPG Key",
"type": "boolean"
},
"name": {
"description": "Name of the remote yum repository",
"type": "string"
},
"url": {
"description": "URL of the remote yum repository",
"type": "string"
},
"uuid": {
"description": "If set, this is an \"Update\" validation",
"type": "string"
}
},
"type": "object"
},
"api.RepositoryValidationResponse": {
"properties": {
"gpg_key": {
"$ref": "#/components/schemas/api.GenericAttributeValidationResponse"
},
"name": {
"$ref": "#/components/schemas/api.GenericAttributeValidationResponse"
},
"url": {
"$ref": "#/components/schemas/api.UrlValidationResponse"
}
},
"type": "object"
},
"api.ResponseMetadata": {
"properties": {
"count": {
"description": "Total count of results",
"type": "integer"
},
"limit": {
"description": "Limit of results used for the request",
"type": "integer"
},
"offset": {
"description": "Offset into results used for the request",
"type": "integer"
}
},
"type": "object"
},
"api.SearchRpmRequest": {
"properties": {
"limit": {
"description": "Maximum number of records to return for the search",
"type": "integer"
},
"search": {
"description": "Search string to search rpm names",
"type": "string"
},
"urls": {
"description": "URLs of repositories to search",
"items": {
"type": "string"
},
"type": "array"
},
"uuids": {
"description": "List of RepositoryConfig UUIDs to search",
"items": {
"type": "string"
},
"type": "array"
}
},
"type": "object"
},
"api.SearchRpmResponse": {
"properties": {
"package_name": {
"description": "Package name found",
"type": "string"
},
"summary": {
"description": "Summary of the package found",
"type": "string"
}
},
"type": "object"
},
"api.SnapshotCollectionResponse": {
"properties": {
"data": {
"description": "Requested Data",
"items": {
"$ref": "#/components/schemas/api.SnapshotResponse"
},
"type": "array"
},
"links": {
"$ref": "#/components/schemas/api.Links"
},
"meta": {
"$ref": "#/components/schemas/api.ResponseMetadata"
}
},
"type": "object"
},
"api.SnapshotResponse": {
"properties": {
"added_counts": {
"additionalProperties": {
"type": "integer"
},
"description": "Count of each content type",
"type": "object"
},
"content_counts": {
"additionalProperties": {
"type": "integer"
},
"description": "Count of each content type",
"type": "object"
},
"created_at": {
"description": "Datetime the snapshot was created",
"type": "string"
},
"removed_counts": {
"additionalProperties": {
"type": "integer"
},
"description": "Count of each content type",
"type": "object"
},
"repository_path": {
"description": "Path to repository snapshot contents",
"type": "string"
}
},
"type": "object"
},
"api.TaskInfoCollectionResponse": {
"properties": {
"data": {
"description": "Requested Data",
"items": {
"$ref": "#/components/schemas/api.TaskInfoResponse"
},
"type": "array"
},
"links": {
"$ref": "#/components/schemas/api.Links"
},
"meta": {
"$ref": "#/components/schemas/api.ResponseMetadata"
}
},
"type": "object"
},
"api.TaskInfoResponse": {
"properties": {
"created_at": {
"description": "Timestamp of task creation",
"type": "string"
},
"ended_at": {
"description": "Timestamp task ended running at",
"type": "string"
},
"error": {
"description": "Error thrown while running task",
"type": "string"
},
"org_id": {
"description": "Organization ID of the owner",
"type": "string"
},
"repository_name": {
"description": "Name of the associated repository",
"type": "string"
},
"repository_uuid": {
"description": "UUID of the associated repository",
"type": "string"
},
"status": {
"description": "Status of task (running, failed, completed, canceled, pending)",
"type": "string"
},
"type": {
"description": "Type of task",
"type": "string"
},
"uuid": {
"description": "UUID of the object",
"type": "string"
}
},
"type": "object"
},
"api.UUIDListRequest": {
"properties": {
"uuids": {
"items": {
"type": "string"
},
"type": "array"
}
},
"type": "object"
},
"api.UrlValidationResponse": {
"properties": {
"error": {
"description": "Error message if the attribute is not valid",
"type": "string"
},
"http_code": {
"description": "If the metadata cannot be fetched successfully, the http code that is returned if the http request was completed",
"type": "integer"
},
"metadata_present": {
"description": "True if the metadata can be fetched successfully",
"type": "boolean"
},
"metadata_signature_present": {
"description": "True if a repomd.xml.sig file was found in the repository",
"type": "boolean"
},
"skipped": {
"description": "Skipped if the URL is not passed in for validation",
"type": "boolean"
},
"valid": {
"description": "Valid if not skipped and the provided attribute is valid",
"type": "boolean"
}
},
"type": "object"
},
"config.DistributionArch": {
"properties": {
"label": {
"description": "Static label of the architecture",
"type": "string"
},
"name": {
"description": "Human-readable form of the architecture",
"type": "string"
}
},
"type": "object"
},
"config.DistributionVersion": {
"properties": {
"label": {
"description": "Static label of the version",
"type": "string"
},
"name": {
"description": "Human-readable form of the version",
"type": "string"
}
},
"type": "object"
},
"errors.ErrorResponse": {
"properties": {
"errors": {
"items": {
"$ref": "#/components/schemas/errors.HandlerError"
},
"type": "array"
}
},
"type": "object"
},
"errors.HandlerError": {
"properties": {
"detail": {
"description": "An explanation specific to the problem",
"type": "string"
},
"status": {
"description": "HTTP status code applicable to the error",
"type": "integer"
},
"title": {
"description": "A summary of the problem",
"type": "string"
}
},
"type": "object"
}
},
"securitySchemes": {
"RhIdentity": {
"in": "header",
"name": "x-rh-identity",
"type": "apiKey"
}
}
},
"info": {
"contact": {},
"description": "API of the Content Sources application on [console.redhat.com](https://console.redhat.com)\n",
"license": {
"name": "Apache 2.0",
"url": "https://www.apache.org/licenses/LICENSE-2.0"
},
"title": "ContentSourcesBackend",
"version": "v1.0.0"
},
"openapi": "3.0.3",
"paths": {
"/features/": {
"get": {
"description": "Get features available for the user within their Organization",
"operationId": "listFeatures",
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/api.FeatureSet"
}
}
},
"description": "OK"
}
},
"summary": "List Features within the application, whether they are enabled, and whether the requesting user can use them",
"tags": [
"features"
]
}
},
"/popular_repositories/": {
"get": {
"description": "Get popular repositories",
"operationId": "listPopularRepositories",
"parameters": [
{
"description": "Offset into the list of results to return in the response",
"in": "query",
"name": "offset",
"schema": {
"type": "integer"
}
},
{
"description": "Limit the number of items returned",
"in": "query",
"name": "limit",
"schema": {
"type": "integer"
}
},
{
"description": "Search term for name and url.",
"in": "query",
"name": "search",
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/api.PopularRepositoriesCollectionResponse"
}
}
},
"description": "OK"
},
"400": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/errors.ErrorResponse"
}
}
},
"description": "Bad Request"
},
"401": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/errors.ErrorResponse"
}
}
},
"description": "Unauthorized"
},
"404": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/errors.ErrorResponse"
}
}
},
"description": "Not Found"
},
"500": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/errors.ErrorResponse"
}
}
},
"description": "Internal Server Error"
}
},
"summary": "List Popular Repositories",
"tags": [
"popular_repositories"
]
}
},
"/public_repositories/": {
"get": {
"description": "Get public repositories.\nA public repository is a defined repository that is available to all accounts for the purposes of searching for rpm names by URL.\nIt does not show up via the normal repositories API.",
"operationId": "listPublicRepositories",
"parameters": [
{
"description": "Offset into the list of results to return in the response",
"in": "query",
"name": "offset",
"schema": {
"type": "integer"
}
},
{
"description": "Limit the number of items returned",
"in": "query",
"name": "limit",
"schema": {
"type": "integer"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/api.PublicRepositoryCollectionResponse"
}
}
},
"description": "OK"
},
"400": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/errors.ErrorResponse"
}
}
},
"description": "Bad Request"
},
"401": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/errors.ErrorResponse"
}
}
},
"description": "Unauthorized"
},
"404": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/errors.ErrorResponse"
}
}
},
"description": "Not Found"
},
"500": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/errors.ErrorResponse"
}
}
},
"description": "Internal Server Error"
}
},
"summary": "List Public Repositories",
"tags": [
"public_repositories"
]
}
},
"/repositories/": {
"get": {
"description": "list repositories",
"operationId": "listRepositories",
"parameters": [
{
"description": "Offset into the list of results to return in the response",
"in": "query",
"name": "offset",
"schema": {
"type": "integer"
}
},
{
"description": "Limit the number of items returned",
"in": "query",
"name": "limit",
"schema": {
"type": "integer"
}
},
{
"description": "Comma separated list of architecture to optionally filter-on (e.g. 'x86_64,s390x' would return Repositories with x86_64 or s390x only)",
"in": "query",
"name": "version",
"schema": {
"type": "string"
}
},
{
"description": "Comma separated list of versions to optionally filter-on (e.g. '7,8' would return Repositories with versions 7 or 8 only)",
"in": "query",
"name": "arch",
"schema": {
"type": "string"
}
},
{
"description": "Filter by compatible arch (e.g. 'x86_64' would return Repositories with the 'x86_64' arch and Repositories where arch is not set)",
"in": "query",
"name": "available_for_version",
"schema": {
"type": "string"
}
},
{
"description": "Filter by compatible version (e.g. 7 would return Repositories with the version 7 or where version is not set)",
"in": "query",
"name": "available_for_arch",
"schema": {
"type": "string"
}
},
{
"description": "Search term for name and url.",
"in": "query",
"name": "search",
"schema": {
"type": "string"
}
},
{
"description": "Filter repositories by name using an exact match",
"in": "query",
"name": "name",
"schema": {
"type": "string"
}
},
{
"description": "Filter repositories by name using an exact match",
"in": "query",
"name": "url",
"schema": {
"type": "string"
}
},
{
"description": "Sets the sort order of the results",
"in": "query",
"name": "sort_by",
"schema": {
"type": "string"
}
},
{
"description": "Comma separated list of statuses to optionally filter on",
"in": "query",
"name": "status",
"schema": {
"type": "string"
}
},
{
"description": "Comma separated list of origins to filter (red_hat,external)",
"in": "query",
"name": "origin",
"schema": {
"type": "string"
}
},
{
"description": "content type of a repository to filter on (rpm)",
"in": "query",
"name": "content_type",
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/api.RepositoryCollectionResponse"
}
}
},
"description": "OK"
},
"400": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/errors.ErrorResponse"
}
}
},
"description": "Bad Request"
},
"401": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/errors.ErrorResponse"
}
}
},
"description": "Unauthorized"
},
"404": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/errors.ErrorResponse"
}
}
},
"description": "Not Found"
},
"500": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/errors.ErrorResponse"
}
}
},
"description": "Internal Server Error"
}
},
"summary": "List Repositories",
"tags": [
"repositories"
]
},
"post": {
"description": "create a repository",
"operationId": "createRepository",
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/api.RepositoryRequest"
}
}
},
"description": "request body",
"required": true,
"x-originalParamName": "body"
},
"responses": {
"201": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/api.RepositoryResponse"
}
}
},
"description": "Created",
"headers": {
"Location": {
"description": "resource URL",
"schema": {
"type": "string"
}
}
}
},
"400": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/errors.ErrorResponse"
}
}
},
"description": "Bad Request"
},
"401": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/errors.ErrorResponse"
}
}
},
"description": "Unauthorized"
},
"404": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/errors.ErrorResponse"
}
}
},
"description": "Not Found"
},
"415": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/errors.ErrorResponse"
}
}
},
"description": "Unsupported Media Type"
},
"500": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/errors.ErrorResponse"
}
}
},
"description": "Internal Server Error"
}
},
"summary": "Create Repository",
"tags": [
"repositories"
]
}
},
"/repositories/bulk_create/": {
"post": {
"description": "bulk create repositories",
"operationId": "bulkCreateRepositories",
"requestBody": {
"content": {
"application/json": {
"schema": {
"items": {
"$ref": "#/components/schemas/api.RepositoryRequest"
},
"type": "array"
}
}
},
"description": "request body",
"required": true,
"x-originalParamName": "body"
},
"responses": {
"201": {
"content": {
"application/json": {
"schema": {
"items": {
"$ref": "#/components/schemas/api.RepositoryResponse"
},
"type": "array"
}
}
},
"description": "Created",
"headers": {
"Location": {
"description": "resource URL",
"schema": {
"type": "string"
}
}
}
},
"400": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/errors.ErrorResponse"
}
}
},
"description": "Bad Request"
},
"401": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/errors.ErrorResponse"
}
}
},
"description": "Unauthorized"
},
"404": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/errors.ErrorResponse"
}
}
},
"description": "Not Found"
},
"415": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/errors.ErrorResponse"
}
}
},
"description": "Unsupported Media Type"
},
"500": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/errors.ErrorResponse"
}
}
},
"description": "Internal Server Error"
}
},
"summary": "Bulk create repositories",
"tags": [
"repositories"
]
}
},
"/repositories/bulk_delete/": {
"post": {
"description": "bulk delete repositories",
"operationId": "bulkDeleteRepositories",
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/api.UUIDListRequest"
}
}
},
"description": "Identifiers of the repositories",
"required": true,
"x-originalParamName": "body"
},
"responses": {
"204": {
"description": "Repositories were successfully deleted"
},
"400": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/errors.ErrorResponse"
}
}
},
"description": "Bad Request"
},
"401": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/errors.ErrorResponse"
}
}
},
"description": "Unauthorized"
},
"404": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/errors.ErrorResponse"
}
}
},
"description": "Not Found"
},
"415": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/errors.ErrorResponse"
}
}
},
"description": "Unsupported Media Type"
},
"500": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/errors.ErrorResponse"
}
}
},
"description": "Internal Server Error"
}
},
"summary": "Bulk delete repositories",
"tags": [
"repositories"
]
}
},
"/repositories/{uuid}": {
"delete": {
"operationId": "deleteRepository",
"parameters": [
{
"description": "Identifier of the Repository",
"in": "path",
"name": "uuid",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"204": {
"description": "Repository was successfully deleted"
},
"400": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/errors.ErrorResponse"
}
}
},
"description": "Bad Request"
},
"401": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/errors.ErrorResponse"
}
}
},
"description": "Unauthorized"
},
"404": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/errors.ErrorResponse"
}
}
},
"description": "Not Found"
},
"500": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/errors.ErrorResponse"
}
}
},
"description": "Internal Server Error"
}
},
"summary": "Delete a repository",
"tags": [
"repositories"
]
},
"get": {
"description": "Get information about a Repository",
"operationId": "getRepository",
"parameters": [
{
"description": "Identifier of the Repository",
"in": "path",
"name": "uuid",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/api.RepositoryResponse"
}
}
},
"description": "OK"
},
"400": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/errors.ErrorResponse"
}
}
},
"description": "Bad Request"
},
"401": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/errors.ErrorResponse"
}
}
},
"description": "Unauthorized"
},
"404": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/errors.ErrorResponse"
}
}
},
"description": "Not Found"
},
"500": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/errors.ErrorResponse"
}
}
},
"description": "Internal Server Error"
}
},
"summary": "Get Repository",
"tags": [
"repositories"
]
},
"patch": {
"description": "Partially Update a repository",
"operationId": "partialUpdateRepository",
"parameters": [
{
"description": "Identifier of the Repository",
"in": "path",
"name": "uuid",
"required": true,
"schema": {
"type": "string"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/api.RepositoryRequest"
}
}
},
"description": "request body",
"required": true,
"x-originalParamName": "body"
},
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/api.RepositoryResponse"
}
}
},
"description": "OK"
},
"400": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/errors.ErrorResponse"
}
}
},
"description": "Bad Request"
},
"401": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/errors.ErrorResponse"
}
}
},
"description": "Unauthorized"
},
"404": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/errors.ErrorResponse"
}
}
},
"description": "Not Found"
},
"415": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/errors.ErrorResponse"
}
}
},
"description": "Unsupported Media Type"
},
"500": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/errors.ErrorResponse"
}
}
},
"description": "Internal Server Error"
}
},
"summary": "Partial Update Repository",
"tags": [
"repositories"
]
},
"put": {
"description": "Fully update a repository",
"operationId": "fullUpdateRepository",
"parameters": [
{
"description": "Identifier of the Repository",
"in": "path",
"name": "uuid",
"required": true,
"schema": {
"type": "string"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/api.RepositoryRequest"
}
}
},
"description": "request body",
"required": true,
"x-originalParamName": "body"
},
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/api.RepositoryResponse"
}
}
},
"description": "OK"
},
"400": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/errors.ErrorResponse"
}
}
},
"description": "Bad Request"
},
"401": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/errors.ErrorResponse"
}
}
},
"description": "Unauthorized"
},
"404": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/errors.ErrorResponse"
}
}
},
"description": "Not Found"
},
"415": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/errors.ErrorResponse"
}
}
},
"description": "Unsupported Media Type"
},
"500": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/errors.ErrorResponse"
}
}
},
"description": "Internal Server Error"
}
},
"summary": "Update Repository",
"tags": [
"repositories"
]
}
},
"/repositories/{uuid}/introspect/": {
"post": {
"operationId": "introspect",
"parameters": [
{
"description": "Identifier of the Repository",
"in": "path",
"name": "uuid",
"required": true,
"schema": {
"type": "string"
}
}
],
"requestBody": {
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/api.RepositoryIntrospectRequest"
}
}
},
"description": "request body",
"x-originalParamName": "body"
},
"responses": {
"204": {
"description": "Introspection was successfully queued"
},
"400": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/errors.ErrorResponse"
}
}
},
"description": "Bad Request"
},
"404": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/errors.ErrorResponse"
}
}
},
"description": "Not Found"
},
"500": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/errors.ErrorResponse"
}
}
},
"description": "Internal Server Error"
}
},
"summary": "introspect a repository",
"tags": [
"repositories"
]
}
},
"/repositories/{uuid}/rpms": {
"get": {
"description": "list repositories RPMs",
"operationId": "listRepositoriesRpms",
"parameters": [
{
"description": "Identifier of the Repository",
"in": "path",
"name": "uuid",
"required": true,
"schema": {
"type": "string"
}
},
{
"description": "Limit the number of items returned",
"in": "query",
"name": "limit",
"schema": {
"type": "integer"
}
},
{
"description": "Offset into the list of results to return in the response",
"in": "query",
"name": "offset",
"schema": {
"type": "integer"
}
},
{
"description": "Search term for name.",
"in": "query",
"name": "search",
"schema": {
"type": "string"
}
},
{
"description": "Sets the sort order of the results.",
"in": "query",
"name": "sort_by",
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/api.RepositoryRpmCollectionResponse"
}
}
},
"description": "OK"
},
"400": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/errors.ErrorResponse"
}
}
},
"description": "Bad Request"
},
"401": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/errors.ErrorResponse"
}
}
},
"description": "Unauthorized"
},
"404": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/errors.ErrorResponse"
}
}
},
"description": "Not Found"
},
"500": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/errors.ErrorResponse"
}
}
},
"description": "Internal Server Error"
}
},
"summary": "List Repositories RPMs",
"tags": [
"repositories",
"rpms"
]
}
},
"/repositories/{uuid}/snapshots/": {
"get": {
"operationId": "listSnapshots",
"parameters": [
{
"description": "Identifier of the Repository",
"in": "path",
"name": "uuid",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/api.SnapshotCollectionResponse"
}
}
},
"description": "OK"
},
"400": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/errors.ErrorResponse"
}
}
},
"description": "Bad Request"
},
"401": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/errors.ErrorResponse"
}
}
},
"description": "Unauthorized"
},
"404": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/errors.ErrorResponse"
}
}
},
"description": "Not Found"
},
"500": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/errors.ErrorResponse"
}
}
},
"description": "Internal Server Error"
}
},
"summary": "List snapshots of a repository",
"tags": [
"repositories"
]
}
},
"/repository_parameters/": {
"get": {
"description": "get repository parameters (Versions and Architectures)",
"operationId": "listRepositoryParameters",
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/api.RepositoryParameterResponse"
}
}
},
"description": "OK"
},
"400": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/errors.ErrorResponse"
}
}
},
"description": "Bad Request"
},
"401": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/errors.ErrorResponse"
}
}
},
"description": "Unauthorized"
}
},
"summary": "List Repository Parameters",
"tags": [
"repositories"
]
}
},
"/repository_parameters/external_gpg_key": {
"post": {
"description": "Fetch gpgkey from URL",
"operationId": "fetchGpgKey",
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/api.FetchGPGKeyResponse"
}
}
},
"description": "OK"
},
"400": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/errors.ErrorResponse"
}
}
},
"description": "Bad Request"
},
"401": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/errors.ErrorResponse"
}
}
},
"description": "Unauthorized"
},
"404": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/errors.ErrorResponse"
}
}
},
"description": "Not Found"
},
"415": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/errors.ErrorResponse"
}
}
},
"description": "Unsupported Media Type"
},
"500": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/errors.ErrorResponse"
}
}
},
"description": "Internal Server Error"
}
},
"summary": "Fetch gpgkey from URL",
"tags": [
"gpgKey"
]
}
},
"/repository_parameters/validate/": {
"post": {
"description": "Validate parameters prior to creating a repository, including checking if remote yum metadata is present",
"operationId": "validateRepositoryParameters",
"requestBody": {
"content": {
"application/json": {
"schema": {
"items": {
"$ref": "#/components/schemas/api.RepositoryValidationRequest"
},
"type": "array"
}
}
},
"description": "request body",
"required": true,
"x-originalParamName": "body"
},
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"items": {
"$ref": "#/components/schemas/api.RepositoryValidationResponse"
},
"type": "array"
}
}
},
"description": "OK"
},
"400": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/errors.ErrorResponse"
}
}
},
"description": "Bad Request"
},
"401": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/errors.ErrorResponse"
}
}
},
"description": "Unauthorized"
},
"404": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/errors.ErrorResponse"
}
}
},
"description": "Not Found"
},
"415": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/errors.ErrorResponse"
}
}
},
"description": "Unsupported Media Type"
},
"500": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/errors.ErrorResponse"
}
}
},
"description": "Internal Server Error"
}
},
"summary": "Validate parameters prior to creating a repository",
"tags": [
"repositories"
]
}
},
"/rpms/names": {
"post": {
"description": "Search RPMs for a given list of repositories as URLs or UUIDs",
"operationId": "searchRpm",
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/api.SearchRpmRequest"
}
}
},
"description": "request body",
"required": true,
"x-originalParamName": "body"
},
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"items": {
"$ref": "#/components/schemas/api.SearchRpmResponse"
},
"type": "array"
}
}
},
"description": "OK"
},
"400": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/errors.ErrorResponse"
}
}
},
"description": "Bad Request"
},
"401": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/errors.ErrorResponse"
}
}
},
"description": "Unauthorized"
},
"404": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/errors.ErrorResponse"
}
}
},
"description": "Not Found"
},
"415": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/errors.ErrorResponse"
}
}
},
"description": "Unsupported Media Type"
},
"500": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/errors.ErrorResponse"
}
}
},
"description": "Internal Server Error"
}
},
"summary": "Search RPMs",
"tags": [
"repositories",
"rpms"
]
}
},
"/tasks/": {
"get": {
"description": "list tasks",
"operationId": "listTasks",
"parameters": [
{
"description": "Offset into the list of results to return in the response",
"in": "query",
"name": "offset",
"schema": {
"type": "integer"
}
},
{
"description": "Limit the number of items returned",
"in": "query",
"name": "limit",
"schema": {
"type": "integer"
}
},
{
"description": "Filter tasks by status using an exact match",
"in": "query",
"name": "status",
"schema": {
"type": "string"
}
},
{
"description": "Filter tasks by type using an exact match",
"in": "query",
"name": "type",
"schema": {
"type": "string"
}
},
{
"description": "Filter tasks by associated repository UUID using an exact match",
"in": "query",
"name": "repository_uuid",
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/api.TaskInfoCollectionResponse"
}
}
},
"description": "OK"
},
"400": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/errors.ErrorResponse"
}
}
},
"description": "Bad Request"
},
"401": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/errors.ErrorResponse"
}
}
},
"description": "Unauthorized"
},
"404": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/errors.ErrorResponse"
}
}
},
"description": "Not Found"
},
"500": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/errors.ErrorResponse"
}
}
},
"description": "Internal Server Error"
}
},
"summary": "List Tasks",
"tags": [
"tasks"
]
}
},
"/tasks/{uuid}": {
"get": {
"description": "Get information about a Task",
"operationId": "getTask",
"parameters": [
{
"description": "Identifier of the Task",
"in": "path",
"name": "uuid",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/api.TaskInfoResponse"
}
}
},
"description": "OK"
},
"400": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/errors.ErrorResponse"
}
}
},
"description": "Bad Request"
},
"401": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/errors.ErrorResponse"
}
}
},
"description": "Unauthorized"
},
"404": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/errors.ErrorResponse"
}
}
},
"description": "Not Found"
},
"500": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/errors.ErrorResponse"
}
}
},
"description": "Internal Server Error"
}
},
"summary": "Get Task",
"tags": [
"tasks"
]
}
}
},
"servers": [
{
"url": "https://api.example.com/api/content-sources/v1.0/"
}
]
}