Search

Chapter 1. APIs

download PDF

You can access APIs to create and manage application resources, channels, subscriptions, and to query information.

User required access: You can only perform actions that your role is assigned. Learn about access requirements from the Role-based access control documentation.

For more information, review the API documentation for each of the following resources:

1.1. Clusters API

1.1.1. Overview

This documentation is for the cluster resource for Red Hat Advanced Cluster Management for Kubernetes. Cluster resource has four possible requests: create, query, delete and update. ManagedCluster represents the desired state and current status of a managed cluster. ManagedCluster is a cluster-scoped resource.

1.1.1.1. Version information

Version : 2.8.0

1.1.1.2. URI scheme

BasePath : /kubernetes/apis
Schemes : HTTPS

1.1.1.3. Tags

  • cluster.open-cluster-management.io : Create and manage clusters

1.1.2. Paths

1.1.2.1. Query all clusters

GET /cluster.open-cluster-management.io/v1/managedclusters
1.1.2.1.1. Description

Query your clusters for more details.

1.1.2.1.2. Parameters
TypeNameDescriptionSchema

Header

COOKIE
required

Authorization: Bearer {ACCESS_TOKEN} ; ACCESS_TOKEN is the user access token.

string

1.1.2.1.3. Responses
HTTP CodeDescriptionSchema

200

Success

No Content

403

Access forbidden

No Content

404

Resource not found

No Content

500

Internal service error

No Content

503

Service unavailable

No Content

1.1.2.1.4. Consumes
  • cluster/yaml
1.1.2.1.5. Tags
  • cluster.open-cluster-management.io

1.1.2.2. Create a cluster

POST /cluster.open-cluster-management.io/v1/managedclusters
1.1.2.2.1. Description

Create a cluster

1.1.2.2.2. Parameters
TypeNameDescriptionSchema

Header

COOKIE
required

Authorization: Bearer {ACCESS_TOKEN} ; ACCESS_TOKEN is the user access token.

string

Body

body
required

Parameters describing the cluster to be created.

Cluster

1.1.2.2.3. Responses
HTTP CodeDescriptionSchema

200

Success

No Content

403

Access forbidden

No Content

404

Resource not found

No Content

500

Internal service error

No Content

503

Service unavailable

No Content

1.1.2.2.4. Consumes
  • cluster/yaml
1.1.2.2.5. Tags
  • cluster.open-cluster-management.io
1.1.2.2.6. Example HTTP request
1.1.2.2.6.1. Request body
{
  "apiVersion" : "cluster.open-cluster-management.io/v1",
  "kind" : "ManagedCluster",
  "metadata" : {
    "labels" : {
      "vendor" : "OpenShift"
    },
    "name" : "cluster1"
  },
  "spec": {
    "hubAcceptsClient": true,
    "managedClusterClientConfigs": [
      {
        "caBundle": "test",
        "url": "https://test.com"
      }
    ]
  },
  "status" : { }
}

1.1.2.3. Query a single cluster

GET /cluster.open-cluster-management.io/v1/managedclusters/{cluster_name}
1.1.2.3.1. Description

Query a single cluster for more details.

1.1.2.3.2. Parameters
TypeNameDescriptionSchema

Header

COOKIE
required

Authorization: Bearer {ACCESS_TOKEN} ; ACCESS_TOKEN is the user access token.

string

Path

cluster_name
required

Name of the cluster that you want to query.

string

1.1.2.3.3. Responses
HTTP CodeDescriptionSchema

200

Success

No Content

403

Access forbidden

No Content

404

Resource not found

No Content

500

Internal service error

No Content

503

Service unavailable

No Content

1.1.2.3.4. Tags
  • cluster.open-cluster-management.io

1.1.2.4. Delete a cluster

DELETE /cluster.open-cluster-management.io/v1/managedclusters/{cluster_name}
DELETE /hive.openshift.io/v1/{cluster_name}/clusterdeployments/{cluster_name}
1.1.2.4.1. Description

Delete a single cluster

1.1.2.4.2. Parameters
TypeNameDescriptionSchema

Header

COOKIE
required

Authorization: Bearer {ACCESS_TOKEN} ; ACCESS_TOKEN is the user access token.

string

Path

cluster_name
required

Name of the cluster that you want to delete.

string

1.1.2.4.3. Responses
HTTP CodeDescriptionSchema

200

Success

No Content

403

Access forbidden

No Content

404

Resource not found

No Content

500

Internal service error

No Content

503

Service unavailable

No Content

1.1.2.4.4. Tags
  • cluster.open-cluster-management.io

1.1.3. Definitions

1.1.3.1. Cluster

NameDescriptionSchema

apiVersion
required

The versioned schema of the ManagedCluster.

string

kind
required

String value that represents the REST resource.

string

metadata
required

The metadata of the ManagedCluster.

object

spec
required

The specification of the ManagedCluster.

spec

spec

NameDescriptionSchema

hubAcceptsClient
required

Specifies whether the hub can establish a connection with the klusterlet agent on the managed cluster. The default value is false, and can only be changed to true when you have an RBAC rule configured on the hub cluster that allows you to make updates to the virtual subresource of managedclusters/accept.

bool

managedClusterClientConfigs
optional

Lists the apiserver addresses of the managed cluster.

managedClusterClientConfigs array

leaseDurationSeconds
optional

Specifies the lease update time interval of the klusterlet agents on the managed cluster. By default, the klusterlet agent updates its lease every 60 seconds.

integer (int32)

taints
optional

Prevents a managed cluster from being assigned to one or more managed cluster sets during scheduling.

taint array

managedClusterClientConfigs

NameDescriptionSchema

URL
required

 

string

CABundle
optional

Pattern :

"^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$"

string (byte)

taint

NameDescriptionSchema

key
required

The taint key that is applied to a cluster.

string

value
optional

The taint value that corresponds to the taint key.

string

effect
optional

Effect of the taint on placements that do not tolerate the taint. Valid values are NoSelect, PreferNoSelect, and NoSelectIfNew.

string

1.2. Clustersets API (v1beta2)

1.2.1. Overview

This documentation is for the ClusterSet resource for Red Hat Advanced Cluster Management for Kubernetes. The ClusterSet resource has four possible requests: create, query, delete, and update. The ManagedClusterSet defines a group of ManagedClusters. You can assign a ManagedCluster to a specific ManagedClusterSet by adding a label with the name cluster.open-cluster-management.io/clusterset on the ManagedCluster that refers to the ManagedClusterSet. You can only add or remove this label on a ManagedCluster when you have an RBAC rule that allows the create permissions on a virtual subresource of managedclustersets/join. You must have this permission on both the source and the target ManagedClusterSets to update this label.

1.2.1.1. Version information

Version : 2.8.0

1.2.1.2. URI scheme

BasePath : /kubernetes/apis
Schemes : HTTPS

1.2.1.3. Tags

  • cluster.open-cluster-management.io : Create and manage Clustersets

1.2.2. Paths

1.2.2.1. Query all clustersets

GET /cluster.open-cluster-management.io/v1beta2/managedclustersets
1.2.2.1.1. Description

Query your Clustersets for more details.

1.2.2.1.2. Parameters
TypeNameDescriptionSchema

Header

COOKIE
required

Authorization: Bearer {ACCESS_TOKEN} ; ACCESS_TOKEN is the user access token.

string

1.2.2.1.3. Responses
HTTP CodeDescriptionSchema

200

Success

No Content

403

Access forbidden

No Content

404

Resource not found

No Content

500

Internal service error

No Content

503

Service unavailable

No Content

1.2.2.1.4. Consumes
  • clusterset/yaml
1.2.2.1.5. Tags
  • cluster.open-cluster-management.io

1.2.2.2. Create a clusterset

POST /cluster.open-cluster-management.io/v1beta2/managedclustersets
1.2.2.2.1. Description

Create a Clusterset.

1.2.2.2.2. Parameters
TypeNameDescriptionSchema

Header

COOKIE
required

Authorization: Bearer {ACCESS_TOKEN} ; ACCESS_TOKEN is the user access token.

string

Body

body
required

Parameters describing the clusterset to be created.

Clusterset

1.2.2.2.3. Responses
HTTP CodeDescriptionSchema

200

Success

No Content

403

Access forbidden

No Content

404

Resource not found

No Content

500

Internal service error

No Content

503

Service unavailable

No Content

1.2.2.2.4. Consumes
  • clusterset/yaml
1.2.2.2.5. Tags
  • cluster.open-cluster-management.io
1.2.2.2.6. Example HTTP request
1.2.2.2.6.1. Request body
{
  "apiVersion": "cluster.open-cluster-management.io/v1beta2",
  "kind": "ManagedClusterSet",
  "metadata": {
    "name": "clusterset1"
  },
  "spec": {
    "clusterSelector": {
      "selectorType": "ExclusiveClusterSetLabel"
    }
  },
  "status": {}
}

1.2.2.3. Query a single clusterset

GET /cluster.open-cluster-management.io/v1beta2/managedclustersets/{clusterset_name}
1.2.2.3.1. Description

Query a single clusterset for more details.

1.2.2.3.2. Parameters
TypeNameDescriptionSchema

Header

COOKIE
required

Authorization: Bearer {ACCESS_TOKEN} ; ACCESS_TOKEN is the user access token.

string

Path

clusterset_name
required

Name of the clusterset that you want to query.

string

1.2.2.3.3. Responses
HTTP CodeDescriptionSchema

200

Success

No Content

403

Access forbidden

No Content

404

Resource not found

No Content

500

Internal service error

No Content

503

Service unavailable

No Content

1.2.2.3.4. Tags
  • cluster.open-cluster-management.io

1.2.2.4. Delete a clusterset

DELETE /cluster.open-cluster-management.io/v1beta2/managedclustersets/{clusterset_name}
1.2.2.4.1. Description

Delete a single clusterset.

1.2.2.4.2. Parameters
TypeNameDescriptionSchema

Header

COOKIE
required

Authorization: Bearer {ACCESS_TOKEN} ; ACCESS_TOKEN is the user access token.

string

Path

clusterset_name
required

Name of the clusterset that you want to delete.

string

1.2.2.4.3. Responses
HTTP CodeDescriptionSchema

200

Success

No Content

403

Access forbidden

No Content

404

Resource not found

No Content

500

Internal service error

No Content

503

Service unavailable

No Content

1.2.2.4.4. Tags
  • cluster.open-cluster-management.io

1.2.3. Definitions

1.2.3.1. Clusterset

NameSchema

apiVersion
required

string

kind
required

string

metadata
required

object

1.3. Clustersetbindings API (v1beta2)

1.3.1. Overview

This documentation is for the ClusterSetBinding resource for Red Hat Advanced Cluster Management for Kubernetes. The ClusterSetBinding resource has four possible requests: create, query, delete, and update. ManagedClusterSetBinding projects a ManagedClusterSet into a certain namespace. You can create a ManagedClusterSetBinding in a namespace and bind it to a ManagedClusterSet if you have an RBAC rule that allows you to create on the virtual subresource of managedclustersets/bind.

1.3.1.1. Version information

Version : 2.8.0

1.3.1.2. URI scheme

BasePath : /kubernetes/apis
Schemes : HTTPS

1.3.1.3. Tags

  • cluster.open-cluster-management.io : Create and manage clustersetbindings

1.3.2. Paths

1.3.2.1. Query all clustersetbindings

GET /cluster.open-cluster-management.io/v1beta2/namespaces/{namespace}/managedclustersetbindings
1.3.2.1.1. Description

Query your clustersetbindings for more details.

1.3.2.1.2. Parameters
TypeNameDescriptionSchema

Header

COOKIE
required

Authorization: Bearer {ACCESS_TOKEN} ; ACCESS_TOKEN is the user access token.

string

Path

namespace
required

Namespace that you want to use, for example, default.

string

1.3.2.1.3. Responses
HTTP CodeDescriptionSchema

200

Success

No Content

403

Access forbidden

No Content

404

Resource not found

No Content

500

Internal service error

No Content

503

Service unavailable

No Content

1.3.2.1.4. Consumes
  • clustersetbinding/yaml
1.3.2.1.5. Tags
  • cluster.open-cluster-management.io

1.3.2.2. Create a clustersetbinding

POST /cluster.open-cluster-management.io/v1beta2/namespaces/{namespace}/managedclustersetbindings
1.3.2.2.1. Description

Create a clustersetbinding.

1.3.2.2.2. Parameters
TypeNameDescriptionSchema

Header

COOKIE
required

Authorization: Bearer {ACCESS_TOKEN} ; ACCESS_TOKEN is the user access token.

string

Path

namespace
required

Namespace that you want to use, for example, default.

string

Body

body
required

Parameters describing the clustersetbinding to be created.

Clustersetbinding

1.3.2.2.3. Responses
HTTP CodeDescriptionSchema

200

Success

No Content

403

Access forbidden

No Content

404

Resource not found

No Content

500

Internal service error

No Content

503

Service unavailable

No Content

1.3.2.2.4. Consumes
  • clustersetbinding/yaml
1.3.2.2.5. Tags
  • cluster.open-cluster-management.io
1.3.2.2.6. Example HTTP request
1.3.2.2.6.1. Request body
{
  "apiVersion" : "cluster.open-cluster-management.io/v1beta2",
  "kind" : "ManagedClusterSetBinding",
  "metadata" : {
    "name" : "clusterset1",
    "namespace" : "ns1"
  },
 "spec": {
    "clusterSet": "clusterset1"
  },
  "status" : { }
}

1.3.2.3. Query a single clustersetbinding

GET /cluster.open-cluster-management.io/v1beta2/namespaces/{namespace}/managedclustersetbindings/{clustersetbinding_name}
1.3.2.3.1. Description

Query a single clustersetbinding for more details.

1.3.2.3.2. Parameters
TypeNameDescriptionSchema

Header

COOKIE
required

Authorization: Bearer {ACCESS_TOKEN} ; ACCESS_TOKEN is the user access token.

string

Path

namespace
required

Namespace that you want to use, for example, default.

string

Path

clustersetbinding_name
required

Name of the clustersetbinding that you want to query.

string

1.3.2.3.3. Responses
HTTP CodeDescriptionSchema

200

Success

No Content

403

Access forbidden

No Content

404

Resource not found

No Content

500

Internal service error

No Content

503

Service unavailable

No Content

1.3.2.3.4. Tags
  • cluster.open-cluster-management.io

1.3.2.4. Delete a clustersetbinding

DELETE /cluster.open-cluster-management.io/v1beta2/managedclustersetbindings/{clustersetbinding_name}
1.3.2.4.1. Description

Delete a single clustersetbinding.

1.3.2.4.2. Parameters
TypeNameDescriptionSchema

Header

COOKIE
required

Authorization: Bearer {ACCESS_TOKEN} ; ACCESS_TOKEN is the user access token.

string

Path

namespace
required

Namespace that you want to use, for example, default.

string

Path

clustersetbinding_name
required

Name of the clustersetbinding that you want to delete.

string

1.3.2.4.3. Responses
HTTP CodeDescriptionSchema

200

Success

No Content

403

Access forbidden

No Content

404

Resource not found

No Content

500

Internal service error

No Content

503

Service unavailable

No Content

1.3.2.4.4. Tags
  • cluster.open-cluster-management.io

1.3.3. Definitions

1.3.3.1. Clustersetbinding

NameDescriptionSchema

apiVersion
required

Versioned schema of the ManagedClusterSetBinding.

string

kind
required

String value that represents the REST resource.

string

metadata
required

Metadata of the ManagedClusterSetBinding.

object

spec
required

Specification of the ManagedClusterSetBinding.

spec

spec

NameDescriptionSchema

clusterSet
required

Name of the ManagedClusterSet to bind. It must match the instance name of the ManagedClusterSetBinding and cannot change after it is created.

string

1.4. Clusterview API (v1alpha1)

1.4.1. Overview

This documentation is for the clusterview resource for Red Hat Advanced Cluster Management for Kubernetes. The clusterview resource provides a CLI command that enables you to view a list of the managed clusters and managed cluster sets that that you can access. The three possible requests are: list, get, and watch.

1.4.1.1. Version information

Version : 2.8.0

1.4.1.2. URI scheme

BasePath : /kubernetes/apis
Schemes : HTTPS

1.4.1.3. Tags

  • clusterview.open-cluster-management.io : View a list of managed clusters that your ID can access.

1.4.2. Paths

1.4.2.1. Get managed clusters

GET /managedclusters.clusterview.open-cluster-management.io
1.4.2.1.1. Description

View a list of the managed clusters that you can access.

1.4.2.1.2. Parameters
TypeNameDescriptionSchema

Header

COOKIE
required

Authorization: Bearer {ACCESS_TOKEN} ; ACCESS_TOKEN is the user access token.

string

1.4.2.1.3. Responses
HTTP CodeDescriptionSchema

200

Success

No Content

403

Access forbidden

No Content

404

Resource not found

No Content

500

Internal service error

No Content

503

Service unavailable

No Content

1.4.2.1.4. Consumes
  • managedcluster/yaml
1.4.2.1.5. Tags
  • clusterview.open-cluster-management.io

1.4.2.2. List managed clusters

LIST /managedclusters.clusterview.open-cluster-management.io
1.4.2.2.1. Description

View a list of the managed clusters that you can access.

1.4.2.2.2. Parameters
TypeNameDescriptionSchema

Header

COOKIE
required

Authorization: Bearer {ACCESS_TOKEN} ; ACCESS_TOKEN is the user access token.

string

Body

body
optional

Name of the user ID for which you want to list the managed clusters.

string

1.4.2.2.3. Responses
HTTP CodeDescriptionSchema

200

Success

No Content

403

Access forbidden

No Content

404

Resource not found

No Content

500

Internal service error

No Content

503

Service unavailable

No Content

1.4.2.2.4. Consumes
  • managedcluster/yaml
1.4.2.2.5. Tags
  • clusterview.open-cluster-management.io
1.4.2.2.6. Example HTTP request
1.4.2.2.6.1. Request body
{
  "apiVersion" : "clusterview.open-cluster-management.io/v1alpha1",
  "kind" : "ClusterView",
  "metadata" : {
    "name" : "<user_ID>"
  },
  "spec": { },
  "status" : { }
}

1.4.2.3. Watch the managed cluster sets

WATCH /managedclusters.clusterview.open-cluster-management.io
1.4.2.3.1. Description

Watch the managed clusters that you can access.

1.4.2.3.2. Parameters
TypeNameDescriptionSchema

Header

COOKIE
required

Authorization: Bearer {ACCESS_TOKEN} ; ACCESS_TOKEN is the user access token.

string

Path

clusterview_name
optional

Name of the user ID that you want to watch.

string

1.4.2.3.3. Responses
HTTP CodeDescriptionSchema

200

Success

No Content

403

Access forbidden

No Content

404

Resource not found

No Content

500

Internal service error

No Content

503

Service unavailable

No Content

1.4.2.4. List the managed cluster sets.

GET /managedclustersets.clusterview.open-cluster-management.io
1.4.2.4.1. Description

List the managed clusters that you can access.

1.4.2.4.2. Parameters
TypeNameDescriptionSchema

Header

COOKIE
required

Authorization: Bearer {ACCESS_TOKEN} ; ACCESS_TOKEN is the user access token.

string

Path

clusterview_name
optional

Name of the user ID that you want to watch.

string

1.4.2.4.3. Responses
HTTP CodeDescriptionSchema

200

Success

No Content

403

Access forbidden

No Content

404

Resource not found

No Content

500

Internal service error

No Content

503

Service unavailable

No Content

1.4.2.5. List the managed cluster sets.

LIST /managedclustersets.clusterview.open-cluster-management.io
1.4.2.5.1. Description

List the managed clusters that you can access.

1.4.2.5.2. Parameters
TypeNameDescriptionSchema

Header

COOKIE
required

Authorization: Bearer {ACCESS_TOKEN} ; ACCESS_TOKEN is the user access token.

string

Path

clusterview_name
optional

Name of the user ID that you want to watch.

string

1.4.2.5.3. Responses
HTTP CodeDescriptionSchema

200

Success

No Content

403

Access forbidden

No Content

404

Resource not found

No Content

500

Internal service error

No Content

503

Service unavailable

No Content

1.4.2.6. Watch the managed cluster sets.

WATCH /managedclustersets.clusterview.open-cluster-management.io
1.4.2.6.1. Description

Watch the managed clusters that you can access.

1.4.2.6.2. Parameters
TypeNameDescriptionSchema

Header

COOKIE
required

Authorization: Bearer {ACCESS_TOKEN} ; ACCESS_TOKEN is the user access token.

string

Path

clusterview_name
optional

Name of the user ID that you want to watch.

string

1.4.2.6.3. Responses
HTTP CodeDescriptionSchema

200

Success

No Content

403

Access forbidden

No Content

404

Resource not found

No Content

500

Internal service error

No Content

503

Service unavailable

No Content

1.5. Channels API

1.5.1. Overview

This documentation is for the Channel resource for Red Hat Advanced Cluster Management for Kubernetes. The Channel resource has four possible requests: create, query, delete and update.

1.5.1.1. Version information

Version : 2.8.0

1.5.1.2. URI scheme

BasePath : /kubernetes/apis
Schemes : HTTPS

1.5.1.3. Tags

  • channels.apps.open-cluster-management.io : Create and manage deployables

1.5.2. Paths

1.5.2.1. Create a channel

POST /apps.open-cluster-management.io/v1/namespaces/{namespace}/channels
1.5.2.1.1. Description

Create a channel.

1.5.2.1.2. Parameters
TypeNameDescriptionSchema

Header

COOKIE
required

Authorization: Bearer {ACCESS_TOKEN} ; ACCESS_TOKEN is the user access token.

string

Path

namespace
required

Namespace that you want to use, for example, default.

string

Body

body
required

Parameters describing the deployable to be created.

Channel

1.5.2.1.3. Responses
HTTP CodeDescriptionSchema

200

Success

No Content

403

Access forbidden

No Content

404

Resource not found

No Content

500

Internal service error

No Content

503

Service unavailable

No Content

1.5.2.1.4. Consumes
  • application/yaml
1.5.2.1.5. Tags
  • channels.apps.open-cluster-management.io
1.5.2.1.6. Example HTTP request
1.5.2.1.6.1. Request body
{
  "apiVersion": "apps.open-cluster-management.io/v1",
  "kind": "Channel",
  "metadata": {
    "name": "sample-channel",
    "namespace": "default"
  },
  "spec": {
    "configMapRef": {
      "kind": "configmap",
      "name": "bookinfo-resource-filter-configmap"
    },
    "pathname": "https://charts.helm.sh/stable",
    "type": "HelmRepo"
  }
}

1.5.2.2. Query all channels for the target namespace

GET /apps.open-cluster-management.io/v1/namespaces/{namespace}/channels
1.5.2.2.1. Description

Query your channels for more details.

1.5.2.2.2. Parameters
TypeNameDescriptionSchema

Header

COOKIE
required

Authorization: Bearer {ACCESS_TOKEN} ; ACCESS_TOKEN is the user access token.

string

Path

namespace
required

Namespace that you want to use, for example, default.

string

1.5.2.2.3. Responses
HTTP CodeDescriptionSchema

200

Success

No Content

403

Access forbidden

No Content

404

Resource not found

No Content

500

Internal service error

No Content

503

Service unavailable

No Content

1.5.2.2.4. Consumes
  • application/yaml
1.5.2.2.5. Tags
  • channels.apps.open-cluster-management.io

1.5.2.3. Query a single channels of a namespace

GET /apps.open-cluster-management.io/v1/namespaces/{namespace}/channels/{channel_name}
1.5.2.3.1. Description

Query a single channels for more details.

1.5.2.3.2. Parameters
TypeNameDescriptionSchema

Header

COOKIE
required

Authorization: Bearer {ACCESS_TOKEN} ; ACCESS_TOKEN is the user access token.

string

Path

channel_name
required

Name of the deployable that you wan to query.

string

Path

namespace
required

Namespace that you want to use, for example, default.

string

1.5.2.3.3. Responses
HTTP CodeDescriptionSchema

200

Success

No Content

403

Access forbidden

No Content

404

Resource not found

No Content

500

Internal service error

No Content

503

Service unavailable

No Content

1.5.2.3.4. Tags
  • channels.apps.open-cluster-management.io

1.5.2.4. Delete a Channel

DELETE /apps.open-cluster-management.io/v1/namespaces/{namespace}/channels/{channel_name}
1.5.2.4.1. Parameters
TypeNameDescriptionSchema

Header

COOKIE
required

Authorization: Bearer {ACCESS_TOKEN} ; ACCESS_TOKEN is the user access token.

string

Path

channel_name
required

Name of the Channel that you want to delete.

string

Path

namespace
required

Namespace that you want to use, for example, default.

string

1.5.2.4.2. Responses
HTTP CodeDescriptionSchema

200

Success

No Content

403

Access forbidden

No Content

404

Resource not found

No Content

500

Internal service error

No Content

503

Service unavailable

No Content

1.5.2.4.3. Tags
  • channels.apps.open-cluster-management.io

1.5.3. Definitions

1.5.3.1. Channel

NameSchema

apiVersion
required

string

kind
required

string

metadata
required

object

spec
required

spec

spec

NameDescriptionSchema

configMapRef
optional

ObjectReference contains enough information to let you inspect or modify the referred object.

configMapRef

gates
optional

ChannelGate defines criteria for promote to channel

gates

pathname
required

 

string

secretRef
optional

ObjectReference contains enough information to let you inspect or modify the referred object.

secretRef

sourceNamespaces
optional

 

enum (Namespace, HelmRepo, ObjectBucket, Git, namespace, helmrepo, objectbucket, github) array

configMapRef

NameDescriptionSchema

apiVersion
optional

API version of the referent.

string

fieldPath
optional

If referring to a piece of an object instead of an entire object, this string should contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2]. For example, if the object reference is to a container within a pod, this would take on a value like: "spec.containers{name}" (where "name" refers to the name of the container that triggered the event) or if no container name is specified "spec.containers[2]" (container with index 2 in this pod). This syntax is chosen only to have some well-defined way of referencing a part of an object. TODO: this design is not final and this field is subject to change in the future.

string

kind
optional

Kind of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/kubernetes-objects/

name
optional

Name of the referent. More info: Names

string

namespace
optional

Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/

string

resourceVersion
optional

Specific resourceVersion to which this reference is made, if any. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#concurrency-control-and-consistency

string

uid
optional

gates

NameDescriptionSchema

annotations
optional

typical annotations of k8s

annotations

labelSelector
optional

A label selector is a label query over a set of resources. The result of matchLabels and matchExpressions are ANDed. An empty label selector matches all objects. A null label selector matches no objects.

labelSelector

name
optional

 

string

annotations

NameSchema

key
optional

string

value
optional

string

labelSelector

NameDescriptionSchema

matchExpressions
optional

matchExpressions is a list of label selector requirements. The requirements are ANDed.

matchExpressions array

matchLabels
optional

matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed.

string, string map

matchExpressions

NameDescriptionSchema

key
required

key is the label key that the selector applies to.

string

operator
required

operator represents a key’s relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist.

string

values
optional

values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch.

string array

secretRef

NameDescriptionSchema

apiVersion
optional

API version of the referent.

string

fieldPath
optional

If referring to a piece of an object instead of an entire object, this string should contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2]. For example, if the object reference is to a container within a pod, this would take on a value like: "spec.containers{name}" (where "name" refers to the name of the container that triggered the event) or if no container name is specified "spec.containers[2]" (container with index 2 in this pod). This syntax is chosen only to have some well-defined way of referencing a part of an object. TODO: this design is not final and this field is subject to change in the future.

string

kind
optional

Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds

string

name
optional

Name of the referent. More info: Names

string

namespace
optional

Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/

string

resourceVersion
optional

Specific resourceVersion to which this reference is made, if any. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#concurrency-control-and-consistency

string

uid
optional

UID of the referent. More info: UIIDs

string

1.6. Subscriptions API

1.6.1. Overview

This documentation is for the Subscription resource for Red Hat Advanced Cluster Management for Kubernetes. The Subscription resource has four possible requests: create, query, delete and update.

1.6.1.1. Version information

Version : 2.8.0

1.6.1.2. URI scheme

BasePath : /kubernetes/apis
Schemes : HTTPS

1.6.1.3. Tags

  • subscriptions.apps.open-cluster-management.io : Create and manage subscriptions

1.6.2. Paths

1.6.2.1. Create a subscription

POST /apps.open-cluster-management.io/v1/namespaces/{namespace}/subscriptions
1.6.2.1.1. Description

Create a subscription.

1.6.2.1.2. Parameters
TypeNameDescriptionSchema

Header

COOKIE
required

Authorization: Bearer {ACCESS_TOKEN} ; ACCESS_TOKEN is the user access token.

string

Path

namespace
required

Namespace that you want to use, for example, default.

string

Body

body
required

Parameters describing the subscription to be created.

Subscription

1.6.2.1.3. Responses
HTTP CodeDescriptionSchema

200

Success

No Content

403

Access forbidden

No Content

404

Resource not found

No Content

500

Internal service error

No Content

503

Service unavailable

No Content

1.6.2.1.4. Consumes
  • subscription/yaml
1.6.2.1.5. Tags
  • subscriptions.apps.open-cluster-management.io
1.6.2.1.6. Example HTTP request
1.6.2.1.6.1. Request body
{
  "apiVersion" : "apps.open-cluster-management.io/v1",
  "kind" : "Subscription",
  "metadata" : {
    "name" : "sample_subscription",
    "namespace" : "default",
    "labels" : {
      "app" : "sample_subscription-app"
    },
    "annotations" : {
      "apps.open-cluster-management.io/git-path" : "apps/sample/",
      "apps.open-cluster-management.io/git-branch" : "sample_branch"
    }
  },
  "spec" : {
    "channel" : "channel_namespace/sample_channel",
    "packageOverrides" : [ {
      "packageName" : "my-sample-application",
      "packageAlias" : "the-sample-app",
      "packageOverrides" : [ {
        "path" : "spec",
        "value" : {
          "persistence" : {
            "enabled" : false,
            "useDynamicProvisioning" : false
          },
          "license" : "accept",
          "tls" : {
            "hostname" : "my-mcm-cluster.icp"
          },
          "sso" : {
            "registrationImage" : {
              "pullSecret" : "hub-repo-docker-secret"
            }
          }
        }
      } ]
    } ],
    "placement" : {
      "placementRef" : {
        "kind" : "PlacementRule",
        "name" : "demo-clusters"
      }
    }
  }
}

1.6.2.2. Query all subscriptions

GET /apps.open-cluster-management.io/v1/namespaces/{namespace}/subscriptions
1.6.2.2.1. Description

Query your subscriptions for more details.

1.6.2.2.2. Parameters
TypeNameDescriptionSchema

Header

COOKIE
required

Authorization: Bearer {ACCESS_TOKEN} ; ACCESS_TOKEN is the user access token.

string

Path

namespace
required

Namespace that you want to use, for example, default.

string

1.6.2.2.3. Responses
HTTP CodeDescriptionSchema

200

Success

No Content

403

Access forbidden

No Content

404

Resource not found

No Content

500

Internal service error

No Content

503

Service unavailable

No Content

1.6.2.2.4. Consumes
  • subscription/yaml
1.6.2.2.5. Tags
  • subscriptions.apps.open-cluster-management.io

1.6.2.3. Query a single subscription

GET /apps.open-cluster-management.io/v1/namespaces/{namespace}/subscriptions/{subscription_name}
1.6.2.3.1. Description

Query a single subscription for more details.

1.6.2.3.2. Parameters
TypeNameDescriptionSchema

Header

COOKIE
required

Authorization: Bearer {ACCESS_TOKEN} ; ACCESS_TOKEN is the user access token.

string

Path

namespace
required

Namespace that you want to use, for example, default.

string

Path

subscription_name
required

Name of the subscription that you wan to query.

string

1.6.2.3.3. Responses
HTTP CodeDescriptionSchema

200

Success

No Content

403

Access forbidden

No Content

404

Resource not found

No Content

500

Internal service error

No Content

503

Service unavailable

No Content

1.6.2.3.4. Tags
  • subscriptions.apps.open-cluster-management.io

1.6.2.4. Delete a subscription

DELETE /apps.open-cluster-management.io/v1/namespaces/{namespace}/subscriptions/{subscription_name}
1.6.2.4.1. Parameters
TypeNameDescriptionSchema

Header

COOKIE
required

Authorization: Bearer {ACCESS_TOKEN} ; ACCESS_TOKEN is the user access token.

string

Path

namespace
required

Namespace that you want to use, for example, default.

string

Path

subscription_name
required

Name of the subscription that you want to delete.

string

1.6.2.4.2. Responses
HTTP CodeDescriptionSchema

200

Success

No Content

403

Access forbidden

No Content

404

Resource not found

No Content

500

Internal service error

No Content

503

Service unavailable

No Content

1.6.2.4.3. Tags
  • subscriptions.apps.open-cluster-management.io

1.6.3. Definitions

1.6.3.1. Subscription

NameSchema

apiVersion
required

string

kind
required

string

metadata
required

metadata

spec
required

spec

status
optional

status

metadata

NameSchema

annotations
optional

object

labels
optional

object

name
optional

string

namespace
optional

string

spec

NameSchema

channel
required

string

name
optional

string

overrides
optional

overrides array

packageFilter
optional

packageFilter

packageOverrides
optional

packageOverrides array

placement
optional

placement

timewindow
optional

timewindow

overrides

NameSchema

clusterName
required

string

clusterOverrides
required

object array

packageFilter

NameDescriptionSchema

annotations
optional

 

string, string map

filterRef
optional

 

filterRef

labelSelector
optional

 

labelSelector

version
optional

Pattern : "()((\\.[0-9])(\\.)|(\\.[0-9])?(\\.[xX]))$"

string

filterRef

NameSchema

name
optional

string

labelSelector

NameSchema

matchExpressions
optional

matchExpressions array

matchLabels
optional

string, string map

matchExpressions

NameSchema

key
required

string

operator
required

string

values
optional

string array

packageOverrides

NameSchema

packageAlias
optional

string

packageName
required

string

packageOverrides
optional

object array

placement

NameSchema

clusterSelector
optional

clusterSelector

clusters
optional

clusters array

local
optional

boolean

placementRef
optional

placementRef

clusterSelector

NameSchema

matchExpressions
optional

matchExpressions array

matchLabels
optional

string, string map

matchExpressions

NameSchema

key
required

string

operator
required

string

values
optional

string array

clusters

NameSchema

name
required

string

placementRef

NameSchema

apiVersion
optional

string

fieldPath
optional

string

kind
optional

string

name
optional

string

namespace
optional

string

resourceVersion
optional

string

uid
optional

string

timewindow

NameSchema

daysofweek
optional

string array

hours
optional

hours array

location
optional

string

windowtype
optional

enum (active, blocked, Active, Blocked)

hours

NameSchema

end
optional

string

start
optional

string

status

NameSchema

lastUpdateTime
optional

string (date-time)

message
optional

string

phase
optional

string

reason
optional

string

statuses
optional

object

1.7. PlacementRules API (deprecated)

1.7.1. Overview

This documentation is for the PlacementRule resource for Red Hat Advanced Cluster Management for Kubernetes. The PlacementRule resource has four possible requests: create, query, delete and update.

1.7.1.1. Version information

Version : 2.8.0

1.7.1.2. URI scheme

BasePath : /kubernetes/apis
Schemes : HTTPS

1.7.1.3. Tags

  • placementrules.apps.open-cluster-management.io : Create and manage placement rules

1.7.2. Paths

1.7.2.1. Create a placement rule

POST /apps.open-cluster-management.io/v1/namespaces/{namespace}/placementrules
1.7.2.1.1. Description

Create a placement rule.

1.7.2.1.2. Parameters
TypeNameDescriptionSchema

Header

COOKIE
required

Authorization: Bearer {ACCESS_TOKEN} ; ACCESS_TOKEN is the user access token.

string

Path

namespace
required

Namespace that you want to use, for example, default.

string

Body

body
required

Parameters describing the placement rule to be created.

PlacementRule

1.7.2.1.3. Responses
HTTP CodeDescriptionSchema

200

Success

No Content

403

Access forbidden

No Content

404

Resource not found

No Content

500

Internal service error

No Content

503

Service unavailable

No Content

1.7.2.1.4. Consumes
  • application/yaml
1.7.2.1.5. Tags
  • placementrules.apps.open-cluster-management.io
1.7.2.1.6. Example HTTP request
1.7.2.1.6.1. Request body
{
  "apiVersion" : "apps.open-cluster-management.io/v1",
  "kind" : "PlacementRule",
  "metadata" : {
    "name" : "towhichcluster",
    "namespace" : "ns-sub-1"
  },
  "spec" : {
    "clusterConditions" : [ {
      "type": "ManagedClusterConditionAvailable",
      "status": "True"
    } ],
    "clusterSelector" : { }
  }
}

1.7.2.2. Query all placement rules

GET /apps.open-cluster-management.io/v1/namespaces/{namespace}/placementrules
1.7.2.2.1. Description

Query your placement rules for more details.

1.7.2.2.2. Parameters
TypeNameDescriptionSchema

Header

COOKIE
required

Authorization: Bearer {ACCESS_TOKEN} ; ACCESS_TOKEN is the user access token.

string

Path

namespace
required

Namespace that you want to use, for example, default.

string

1.7.2.2.3. Responses
HTTP CodeDescriptionSchema

200

Success

No Content

403

Access forbidden

No Content

404

Resource not found

No Content

500

Internal service error

No Content

503

Service unavailable

No Content

1.7.2.2.4. Consumes
  • application/yaml
1.7.2.2.5. Tags
  • placementrules.apps.open-cluster-management.io

1.7.2.3. Query a single placementrule

GET /apps.open-cluster-management.io/v1/namespaces/{namespace}/placementrules/{placementrule_name}
1.7.2.3.1. Description

Query a single placement rule for more details.

1.7.2.3.2. Parameters
TypeNameDescriptionSchema

Header

COOKIE
required

Authorization: Bearer {ACCESS_TOKEN} ; ACCESS_TOKEN is the user access token.

string

Path

namespace
required

Namespace that you want to use, for example, default.

string

Path

placementrule_name
required

Name of the placementrule that you want to query.

string

1.7.2.3.3. Responses
HTTP CodeDescriptionSchema

200

Success

No Content

403

Access forbidden

No Content

404

Resource not found

No Content

500

Internal service error

No Content

503

Service unavailable

No Content

1.7.2.3.4. Tags
  • placementrules.apps.open-cluster-management.io

1.7.2.4. Delete a placementrule

DELETE /apps.open-cluster-management.io/v1/namespaces/{namespace}/placementrules/{placementrule_name}
1.7.2.4.1. Parameters
TypeNameDescriptionSchema

Header

COOKIE
required

Authorization: Bearer {ACCESS_TOKEN} ; ACCESS_TOKEN is the user access token.

string

Path

namespace
required

Namespace that you want to use, for example, default.

string

Path

placementrule_name
required

Name of the placementrule that you want to delete.

string

1.7.2.4.2. Responses
HTTP CodeDescriptionSchema

200

Success

No Content

403

Access forbidden

No Content

404

Resource not found

No Content

500

Internal service error

No Content

503

Service unavailable

No Content

1.7.2.4.3. Tags
  • placementrules.apps.open-cluster-management.io

1.7.3. Definitions

1.7.3.1. Placementrule

NameSchema

apiVersion
required

string

kind
required

string

metadata
required

object

spec
required

spec

spec

NameSchema

clusterConditions
optional

clusterConditions array

clusterReplicas
optional

integer

clusterSelector
optional

clusterSelector

clusters
optional

clusters array

policies
optional

policies array

resourceHint
optional

resourceHint

schedulerName
optional

string

clusterConditions

NameSchema

status
optional

string

type
optional

string

clusterSelector

NameSchema

matchExpressions
optional

matchExpressions array

matchLabels
optional

string, string map

matchExpressions

NameSchema

key
optional

string

operator
optional

string

values
optional

string array

clusters

NameSchema

name
optional

string

policies

NameSchema

apiVersion
optional

string

fieldPath
optional

string

kind
optional

string

name
optional

string

namespace
optional

string

resourceVersion
optional

string

uid
optional

string

resourceHint

NameSchema

order
optional

string

type
optional

string

1.8. Applications API

1.8.1. Overview

This documentation is for the Application resource for Red Hat Advanced Cluster Management for Kubernetes. Application resource has four possible requests: create, query, delete and update.

1.8.1.1. Version information

Version : 2.8.0

1.8.1.2. URI scheme

BasePath : /kubernetes/apis
Schemes : HTTPS

1.8.1.3. Tags

  • applications.app.k8s.io : Create and manage applications

1.8.2. Paths

1.8.2.1. Create a application

POST /app.k8s.io/v1beta1/namespaces/{namespace}/applications
1.8.2.1.1. Description

Create a application.

1.8.2.1.2. Parameters
TypeNameDescriptionSchema

Header

COOKIE
required

Authorization: Bearer {ACCESS_TOKEN} ; ACCESS_TOKEN is the user access token.

string

Path

namespace
required

Namespace that you want to use, for example, default.

string

Body

body
required

Parameters describing the application to be created.

Application

1.8.2.1.3. Responses
HTTP CodeDescriptionSchema

200

Success

No Content

403

Access forbidden

No Content

404

Resource not found

No Content

500

Internal service error

No Content

503

Service unavailable

No Content

1.8.2.1.4. Consumes
  • application/yaml
1.8.2.1.5. Tags
  • applications.app.k8s.io
1.8.2.1.6. Example HTTP request
1.8.2.1.6.1. Request body
{
  "apiVersion" : "app.k8s.io/v1beta1",
  "kind" : "Application",
  "metadata" : {
    "labels" : {
      "app" : "nginx-app-details"
    },
    "name" : "nginx-app-3",
    "namespace" : "ns-sub-1"
  },
  "spec" : {
    "componentKinds" : [ {
      "group" : "apps.open-cluster-management.io",
      "kind" : "Subscription"
    } ]
  },
  "selector" : {
    "matchLabels" : {
      "app" : "nginx-app-details"
    }
  },
  "status" : { }
}

1.8.2.2. Query all applications

GET /app.k8s.io/v1beta1/namespaces/{namespace}/applications
1.8.2.2.1. Description

Query your applications for more details.

1.8.2.2.2. Parameters
TypeNameDescriptionSchema

Header

COOKIE
required

Authorization: Bearer {ACCESS_TOKEN} ; ACCESS_TOKEN is the user access token.

string

Path

namespace
required

Namespace that you want to use, for example, default.

string

1.8.2.2.3. Responses
HTTP CodeDescriptionSchema

200

Success

No Content

403

Access forbidden

No Content

404

Resource not found

No Content

500

Internal service error

No Content

503

Service unavailable

No Content

1.8.2.2.4. Consumes
  • application/yaml
1.8.2.2.5. Tags
  • applications.app.k8s.io

1.8.2.3. Query a single application

GET /app.k8s.io/v1beta1/namespaces/{namespace}/applications/{application_name}
1.8.2.3.1. Description

Query a single application for more details.

1.8.2.3.2. Parameters
TypeNameDescriptionSchema

Header

COOKIE
required

Authorization: Bearer {ACCESS_TOKEN} ; ACCESS_TOKEN is the user access token.

string

Path

application_name
required

Name of the application that you wan to query.

string

Path

namespace
required

Namespace that you want to use, for example, default.

string

1.8.2.3.3. Responses
HTTP CodeDescriptionSchema

200

Success

No Content

403

Access forbidden

No Content

404

Resource not found

No Content

500

Internal service error

No Content

503

Service unavailable

No Content

1.8.2.3.4. Tags
  • applications.app.k8s.io

1.8.2.4. Delete a application

DELETE /app.k8s.io/v1beta1/namespaces/{namespace}/applications/{application_name}
1.8.2.4.1. Parameters
TypeNameDescriptionSchema

Header

COOKIE
required

Authorization: Bearer {ACCESS_TOKEN} ; ACCESS_TOKEN is the user access token.

string

Path

application_name
required

Name of the application that you want to delete.

string

Path

namespace
required

Namespace that you want to use, for example, default.

string

1.8.2.4.2. Responses
HTTP CodeDescriptionSchema

200

Success

No Content

403

Access forbidden

No Content

404

Resource not found

No Content

500

Internal service error

No Content

503

Service unavailable

No Content

1.8.2.4.3. Tags
  • applications.app.k8s.io

1.8.3. Definitions

1.8.3.1. Application

NameSchema

apiVersion
required

string

kind
required

string

metadata
required

object

spec
required

spec

spec

NameSchema

assemblyPhase
optional

string

componentKinds
optional

object array

descriptor
optional

descriptor

info
optional

info array

selector
optional

object

descriptor

NameSchema

description
optional

string

icons
optional

icons array

keywords
optional

string array

links
optional

links array

maintainers
optional

maintainers array

notes
optional

string

owners
optional

owners array

type
optional

string

version
optional

string

icons

NameSchema

size
optional

string

src
required

string

type
optional

string

NameSchema

description
optional

string

url
optional

string

maintainers

NameSchema

email
optional

string

name
optional

string

url
optional

string

owners

NameSchema

email
optional

string

name
optional

string

url
optional

string

info

NameSchema

name
optional

string

type
optional

string

value
optional

string

valueFrom
optional

valueFrom

valueFrom

NameSchema

configMapKeyRef
optional

configMapKeyRef

ingressRef
optional

ingressRef

secretKeyRef
optional

secretKeyRef

serviceRef
optional

serviceRef

type
optional

string

configMapKeyRef

NameSchema

apiVersion
optional

string

fieldPath
optional

string

key
optional

string

kind
optional

string

name
optional

string

namespace
optional

string

resourceVersion
optional

string

uid
optional

string

ingressRef

NameSchema

apiVersion
optional

string

fieldPath
optional

string

host
optional

string

kind
optional

string

name
optional

string

namespace
optional

string

path
optional

string

resourceVersion
optional

string

uid
optional

string

secretKeyRef

NameSchema

apiVersion
optional

string

fieldPath
optional

string

key
optional

string

kind
optional

string

name
optional

string

namespace
optional

string

resourceVersion
optional

string

uid
optional

string

serviceRef

NameSchema

apiVersion
optional

string

fieldPath
optional

string

kind
optional

string

name
optional

string

namespace
optional

string

path
optional

string

port
optional

integer (int32)

resourceVersion
optional

string

uid
optional

string

1.9. Helm API

1.9.1. Overview

This documentation is for the HelmRelease resource for Red Hat Advanced Cluster Management for Kubernetes. The HelmRelease resource has four possible requests: create, query, delete and update.

1.9.1.1. Version information

Version : 2.8.0

1.9.1.2. URI scheme

BasePath : /kubernetes/apis
Schemes : HTTPS

1.9.1.3. Tags

  • helmreleases.apps.open-cluster-management.io : Create and manage helmreleases

1.9.2. Paths

1.9.2.1. Create a helmrelease

POST /apps.open-cluster-management.io/v1/namespaces/{namespace}/helmreleases
1.9.2.1.1. Description

Create a helmrelease.

1.9.2.1.2. Parameters
TypeNameDescriptionSchema

Header

COOKIE
required

Authorization: Bearer {ACCESS_TOKEN} ; ACCESS_TOKEN is the user access token.

string

Path

namespace
required

Namespace that you want to use, for example, default.

string

Body

body
required

Parameters describing the helmrelease to be created.

HelmRelease

1.9.2.1.3. Responses
HTTP CodeDescriptionSchema

200

Success

No Content

403

Access forbidden

No Content

404

Resource not found

No Content

500

Internal service error

No Content

503

Service unavailable

No Content

1.9.2.1.4. Consumes
  • application/yaml
1.9.2.1.5. Tags
  • helmreleases.apps.open-cluster-management.io
1.9.2.1.6. Example HTTP request
1.9.2.1.6.1. Request body
{
  "apiVersion" : "apps.open-cluster-management.io/v1",
  "kind" : "HelmRelease",
  "metadata" : {
    "name" : "nginx-ingress",
    "namespace" : "default"
  },
  "repo" : {
    "chartName" : "nginx-ingress",
    "source" : {
      "helmRepo" : {
        "urls" : [ "https://kubernetes-charts.storage.googleapis.com/nginx-ingress-1.26.0.tgz" ]
      },
      "type" : "helmrepo"
    },
    "version" : "1.26.0"
  },
  "spec" : {
    "defaultBackend" : {
      "replicaCount" : 3
    }
  }
}

1.9.2.2. Query all helmreleases

GET /apps.open-cluster-management.io/v1/namespaces/{namespace}/helmreleases
1.9.2.2.1. Description

Query your helmreleases for more details.

1.9.2.2.2. Parameters
TypeNameDescriptionSchema

Header

COOKIE
required

Authorization: Bearer {ACCESS_TOKEN} ; ACCESS_TOKEN is the user access token.

string

Path

namespace
required

Namespace that you want to use, for example, default.

string

1.9.2.2.3. Responses
HTTP CodeDescriptionSchema

200

Success

No Content

403

Access forbidden

No Content

404

Resource not found

No Content

500

Internal service error

No Content

503

Service unavailable

No Content

1.9.2.2.4. Consumes
  • application/yaml
1.9.2.2.5. Tags
  • helmreleases.apps.open-cluster-management.io

1.9.2.3. Query a single helmrelease

GET /apps.open-cluster-management.io/v1/namespaces/{namespace}/helmreleases/{helmrelease_name}
1.9.2.3.1. Description

Query a single helmrelease for more details.

1.9.2.3.2. Parameters
TypeNameDescriptionSchema

Header

COOKIE
required

Authorization: Bearer {ACCESS_TOKEN} ; ACCESS_TOKEN is the user access token.

string

Path

helmrelease_name
required

Name of the helmrelease that you wan to query.

string

Path

namespace
required

Namespace that you want to use, for example, default.

string

1.9.2.3.3. Responses
HTTP CodeDescriptionSchema

200

Success

No Content

403

Access forbidden

No Content

404

Resource not found

No Content

500

Internal service error

No Content

503

Service unavailable

No Content

1.9.2.3.4. Tags
  • helmreleases.apps.open-cluster-management.io

1.9.2.4. Delete a helmrelease

DELETE /apps.open-cluster-management.io/v1/namespaces/{namespace}/helmreleases/{helmrelease_name}
1.9.2.4.1. Parameters
TypeNameDescriptionSchema

Header

COOKIE
required

Authorization: Bearer {ACCESS_TOKEN} ; ACCESS_TOKEN is the user access token.

string

Path

helmrelease_name
required

Name of the helmrelease that you want to delete.

string

Path

namespace
required

Namespace that you want to use, for example, default.

string

1.9.2.4.2. Responses
HTTP CodeDescriptionSchema

200

Success

No Content

403

Access forbidden

No Content

404

Resource not found

No Content

500

Internal service error

No Content

503

Service unavailable

No Content

1.9.2.4.3. Tags
  • helmreleases.apps.open-cluster-management.io

1.9.3. Definitions

1.9.3.1. HelmRelease

NameSchema

apiVersion
required

string

kind
required

string

metadata
required

object

repo
required

repo

spec
required

object

status
required

status

repo

NameSchema

chartName
optional

string

configMapRef
optional

configMapRef

secretRef
optional

secretRef

source
optional

source

version
optional

string

configMapRef

NameSchema

apiVersion
optional

string

fieldPath
optional

string

kind
optional

string

name
optional

string

namespace
optional

string

resourceVersion
optional

string

uid
optional

string

secretRef

NameSchema

apiVersion
optional

string

fieldPath
optional

string

kind
optional

string

name
optional

string

namespace
optional

string

resourceVersion
optional

string

uid
optional

string

source

NameSchema

github
optional

github

helmRepo
optional

helmRepo

type
optional

string

github

NameSchema

branch
optional

string

chartPath
optional

string

urls
optional

string array

helmRepo

NameSchema

urls
optional

string array

status

NameSchema

conditions
required

conditions array

deployedRelease
optional

deployedRelease

conditions

NameSchema

lastTransitionTime
optional

string (date-time)

message
optional

string

reason
optional

string

status
required

string

type
required

string

deployedRelease

NameSchema

manifest
optional

string

name
optional

string

1.10. Policy API

1.10.1. Overview

This documentation is for the Policy resource for Red Hat Advanced Cluster Management for Kubernetes. The Policy resource has four possible requests: create, query, delete and update.

1.10.1.1. Version information

Version : 2.8.0

1.10.1.2. URI scheme

BasePath : /kubernetes/apis
Schemes : HTTPS

1.10.1.3. Tags

  • policy.open-cluster-management.io/v1 : Create and manage policies

1.10.2. Paths

1.10.2.1. Create a policy

POST /policy.open-cluster-management.io/v1/v1alpha1/namespaces/{namespace}/policies/{policy_name}
1.10.2.1.1. Description

Create a policy.

1.10.2.1.2. Parameters
TypeNameDescriptionSchema

Header

COOKIE
required

Authorization: Bearer {ACCESS_TOKEN} ; ACCESS_TOKEN is the user access token.

string

Path

namespace
required

Namespace that you want to use, for example, default.

string

Body

body
required

Parameters describing the policy to be created.

Policy

1.10.2.1.3. Responses
HTTP CodeDescriptionSchema

200

Success

No Content

403

Access forbidden

No Content

404

Resource not found

No Content

500

Internal service error

No Content

503

Service unavailable

No Content

1.10.2.1.4. Consumes
  • application/json
1.10.2.1.5. Tags
  • policy.open-cluster-management.io
1.10.2.1.6. Example HTTP request
1.10.2.1.6.1. Request body
{
  "apiVersion": "policy.open-cluster-management.io/v1",
  "kind": "Policy",
  "metadata": {
    "name": "test-policy-swagger",
    "description": "Example body for Policy API Swagger docs"
  },
  "spec": {
    "remediationAction": "enforce",
    "namespaces": {
      "include": [
        "default"
      ],
      "exclude": [
        "kube*"
      ]
    },
    "policy-templates": {
    "kind": "ConfigurationPolicy",
    "apiVersion": "policy.open-cluster-management.io/v1",
    "complianceType": "musthave",
    "metadataComplianceType": "musthave",
    "metadata": {
      "namespace": null,
      "name": "test-role"
    },
    "selector": {
      "matchLabels": {
        "cloud": "IBM"
      }
    },
    "spec" : {
      "object-templates": {
        "complianceType": "musthave",
        "metadataComplianceType": "musthave",
        "objectDefinition": {
          "apiVersion": "rbac.authorization.k8s.io/v1",
          "kind": "Role",
          "metadata": {
            "name": "role-policy",
          },
          "rules": [
            {
              "apiGroups": [
                "extensions",
                "apps"
              ],
              "resources": [
                "deployments"
              ],
              "verbs": [
                "get",
                "list",
                "watch",
                "delete"
              ]
            },
            {
              "apiGroups": [
                "core"
              ],
              "resources": [
                "pods"
              ],
              "verbs": [
                "create",
                "update",
                "patch"
              ]
            },
            {
              "apiGroups": [
                "core"
              ],
              "resources": [
                "secrets"
              ],
              "verbs": [
                "get",
                "watch",
                "list",
                "create",
                "delete",
                "update",
                "patch"
              ],
            },
          ],
        },
      },
    },
  },

1.10.2.2. Query all policies

GET /policy.open-cluster-management.io/v1/namespaces/{namespace}/policies/{policy_name}
1.10.2.2.1. Description

Query your policies for more details.

1.10.2.2.2. Parameters
TypeNameDescriptionSchema

Header

COOKIE
required

Authorization: Bearer {ACCESS_TOKEN} ; ACCESS_TOKEN is the user access token.

string

Path

namespace
required

Namespace that you want to apply the policy to, for example, default.

string

1.10.2.2.3. Responses
HTTP CodeDescriptionSchema

200

Success

No Content

403

Access forbidden

No Content

404

Resource not found

No Content

500

Internal service error

No Content

503

Service unavailable

No Content

1.10.2.2.4. Consumes
  • application/json
1.10.2.2.5. Tags
  • policy.open-cluster-management.io

1.10.2.3. Query a single policy

GET /policy.open-cluster-management.io/v1/namespaces/{namespace}/policies/{policy_name}
1.10.2.3.1. Description

Query a single policy for more details.

1.10.2.3.2. Parameters
TypeNameDescriptionSchema

Header

COOKIE
required

Authorization: Bearer {ACCESS_TOKEN} ; ACCESS_TOKEN is the user access token.

string

Path

policy_name
required

Name of the policy that you want to query.

string

Path

namespace
required

Namespace that you want to use, for example, default.

string

1.10.2.3.3. Responses
HTTP CodeDescriptionSchema

200

Success

No Content

403

Access forbidden

No Content

404

Resource not found

No Content

500

Internal service error

No Content

503

Service unavailable

No Content

1.10.2.3.4. Tags
  • policy.open-cluster-management.io

1.10.2.4. Delete a policy

DELETE /policy.open-cluster-management.io/v1/namespaces/{namespace}/policies/{policy_name}
1.10.2.4.1. Parameters
TypeNameDescriptionSchema

Header

COOKIE
required

Authorization: Bearer {ACCESS_TOKEN} ; ACCESS_TOKEN is the user access token.

string

Path

policy_name
required

Name of the policy that you want to delete.

string

Path

namespace
required

Namespace that you want to use, for example, default.

string

1.10.2.4.2. Responses
HTTP CodeDescriptionSchema

200

Success

No Content

403

Access forbidden

No Content

404

Resource not found

No Content

500

Internal service error

No Content

503

Service unavailable

No Content

1.10.2.4.3. Tags
  • policy.open-cluster-management.io

1.10.3. Definitions

1.10.3.1. Policy

NameDescriptionSchema

apiVersion
required

The versioned schema of Policy.

string

kind
required

String value that represents the REST resource.

string

metadata
required

Describes rules that define the policy.

object

spec

NameDescriptionSchema

remediationAction
optional

Value that represents how violations are handled as defined in the resource.

string

namespaceSelector
required

Value that represents which namespaces the policy is applied.

string

policy-templates

NameDescriptionSchema

apiVersion
required

The versioned schema of Policy.

string

kind
optional

String value that represents the REST resource.

string

metadata
required

Describes rules that define the policy.

object

complianceType

Used to list expected behavior for roles and other Kubernetes object that must be evaluated or applied to the managed clusters.

string

metadataComplianceType
optional

Provides a way for users to process labels and annotations of an object differently than the other fields. The parameter value defaults to the same value of the ComplianceType parameter.

string

clusterConditions
optional

Section to define labels.

string

rules
optional

 

string

clusterConditions

NameDescriptionSchema

matchLabels
optional

The label that is required for the policy to be applied to a namespace.

object

cloud
optional

The label that is required for the policy to be applied to a cloud provider.

string

rules

NameDescriptionSchema

apiGroups
required

List of APIs that the rule applies to.

string

resources
required

A list of resource types.

object

verbs
required

A list of verbs.

string

1.11. Observability API

1.11.1. Overview

This documentation is for the MultiClusterObservability resource for Red Hat Advanced Cluster Management for Kubernetes. The MultiClusterObservability resource has four possible requests: create, query, delete and update.

1.11.1.1. Version information

Version : 2.8.0

1.11.1.2. URI scheme

BasePath : /kubernetes/apis
Schemes : HTTPS

1.11.1.3. Tags

  • observability.open-cluster-management.io : Create and manage multiclusterobservabilities

1.11.2. Paths

1.11.2.1. Create a multiclusterobservability resource

POST /apis/observability.open-cluster-management.io/v1beta2/multiclusterobservabilities
1.11.2.1.1. Description

Create a MultiClusterObservability resource.

1.11.2.1.2. Parameters
TypeNameDescriptionSchema

Header

COOKIE
required

Authorization: Bearer {ACCESS_TOKEN} ; ACCESS_TOKEN is the user access token.

string

Body

body
required

Parameters describing the MultiClusterObservability resource to be created.

MultiClusterObservability

1.11.2.1.3. Responses
HTTP CodeDescriptionSchema

200

Success

No Content

403

Access forbidden

No Content

404

Resource not found

No Content

500

Internal service error

No Content

503

Service unavailable

No Content

1.11.2.1.4. Consumes
  • application/yaml
1.11.2.1.5. Tags
  • observability.apps.open-cluster-management.io
1.11.2.1.6. Example HTTP request
1.11.2.1.6.1. Request body
{
  "apiVersion": "observability.open-cluster-management.io/v1beta2",
  "kind": "MultiClusterObservability",
  "metadata": {
    "name": "example"
  },
  "spec": {
    "observabilityAddonSpec": {}
    "storageConfig": {
      "metricObjectStorage": {
        "name": "thanos-object-storage",
        "key": "thanos.yaml"
      "writeStorage": {
        - "key": " ",
          "name" : " "
        - "key": " ",
          "name" : " "
         }
       }
   }
}

1.11.2.2. Query all multiclusterobservabilities

GET /apis/observability.open-cluster-management.io/v1beta2/multiclusterobservabilities
1.11.2.2.1. Description

Query your MultiClusterObservability resources for more details.

1.11.2.2.2. Parameters
TypeNameDescriptionSchema

Header

COOKIE
required

Authorization: Bearer {ACCESS_TOKEN} ; ACCESS_TOKEN is the user access token.

string

1.11.2.2.3. Responses
HTTP CodeDescriptionSchema

200

Success

No Content

403

Access forbidden

No Content

404

Resource not found

No Content

500

Internal service error

No Content

503

Service unavailable

No Content

1.11.2.2.4. Consumes
  • application/yaml
1.11.2.2.5. Tags
  • observability.apps.open-cluster-management.io

1.11.2.3. Query a single multiclusterobservability

GET /apis/observability.open-cluster-management.io/v1beta2/multiclusterobservabilities/{multiclusterobservability_name}
1.11.2.3.1. Description

Query a single MultiClusterObservability resource for more details.

1.11.2.3.2. Parameters
TypeNameDescriptionSchema

Header

COOKIE
required

Authorization: Bearer {ACCESS_TOKEN} ; ACCESS_TOKEN is the user access token.

string

Path

multiclusterobservability_name
required

Name of the multiclusterobservability that you want to query.

string

1.11.2.3.3. Responses
HTTP CodeDescriptionSchema

200

Success

No Content

403

Access forbidden

No Content

404

Resource not found

No Content

500

Internal service error

No Content

503

Service unavailable

No Content

1.11.2.3.4. Tags
  • observability.apps.open-cluster-management.io

1.11.2.4. Delete a multiclusterobservability resource

DELETE /apis/observability.open-cluster-management.io/v1beta2/multiclusterobservabilities/{multiclusterobservability_name}
1.11.2.4.1. Parameters
TypeNameDescriptionSchema

Header

COOKIE
required

Authorization: Bearer {ACCESS_TOKEN} ; ACCESS_TOKEN is the user access token.

string

Path

multiclusterobservability_name
required

Name of the multiclusterobservability that you want to delete.

string

1.11.2.4.2. Responses
HTTP CodeDescriptionSchema

200

Success

No Content

403

Access forbidden

No Content

404

Resource not found

No Content

500

Internal service error

No Content

503

Service unavailable

No Content

1.11.2.4.3. Tags
  • observability.apps.open-cluster-management.io

1.11.3. Definitions

1.11.3.1. MultiClusterObservability

NameDescriptionSchema

apiVersion
required

The versioned schema of the MultiClusterObservability.

string

kind
required

String value that represents the REST resource, MultiClusterObservability.

string

metadata
required

Describes rules that define the policy.

object

spec

NameDescriptionSchema

enableDownsampling
optional

Enable or disable the downsample. Default value is true. If there is no downsample data, the query is unavailable.

boolean

imagePullPolicy
optional

Pull policy for the MultiClusterObservability images. The default value is Always.

corev1.PullPolicy

imagePullSecret
optional

Pull secret for the MultiClusterObservability images. The default value is multiclusterhub-operator-pull-secret

string

nodeSelector
optional

Specification of the node selector.

map[string]string

observabilityAddonSpec
required

The global settings for all managed clusters, which have the observability add-on installed.

observabilityAddonSpec

storageConfig
required

Specifies the storage configuration to be used by observability.

StorageConfig

tolerations
optional

Provided the ability for all components to tolerate any taints.

[]corev1.Toleration

advanced
optional

The advanced configuration settings for observability.

advanced

resources
optional

Compute resources required by MultiClusterObservability.

corev1.ResourceRequirements

replicas
optional

Replicas for MultiClusterObservability.

integer

storageConfig

NameDescriptionSchema

alertmanagerStorageSize
optional

The amount of storage applied to the alertmanager stateful sets. Default value is 1Gi.

string

compactStorageSize
optional

The amount of storage applied to the thanos compact stateful sets. Default value is 100Gi.

string

metricObjectStorage
required

Object store to configure secrets for metrics.

metricObjectStorage

receiveStorageSize
optional

The amount of storage applied to thanos receive stateful sets. Default value is 100Gi.

string

ruleStorageSize
optional

The amount of storage applied to thanos rule stateful sets. Default value is 1Gi.

string

storageClass
optional

Specify the storageClass stateful sets. This storage is used for the object storage if metricObjectStorage is configured for your operating system to create storage. Default value is gp2.

string

storeStorageSize
optional

The amount of storage applied to thanos store stateful sets. Default value is 10Gi.

string

writeStorage
optional

A list of endpoint access information.

[ ]WriteStorage

writeStorage

NameDescriptionSchema

name
required

The name of the secret with endpoint access information.

string

key
required

The key of the secret to select from.

string

metricObjectStorage

NameDescriptionSchema

key
required

The key of the secret to select from. Must be a valid secret key. See Thanos documentation.

string

name
required

Name of the metricObjectStorage. See Kubernetes Names for more information.

string

observabilityAddonSpec

NameDescriptionSchema

enableMetrics
optional

Indicates if the observability add-on sends metrics to the hub cluster. Default value is true.

boolean

interval
optional

Interval for when the observability add-on sends metrics to the hub cluster. Default value is 300 seconds (300s).

integer

resources
optional

Resource for the metrics collector resource requirement. The default CPU request is 100m, memory request is 100Mi.

corev1.ResourceRequirements

advanced

NameDescriptionSchema

retentionConfig
optional

Specifies the data retention configuration to be used by observability.

RetentionConfig

rbacQueryProxy
optional

Specifies the replicas and resources for the rbac-query-proxy deployment.

CommonSpec

grafana
optional

Specifies the replicas and resources for the grafana deployment

CommonSpec

alertmanager
optional

Specifies the replicas and resources for alertmanager statefulset.

CommonSpec

observatoriumAPI
optional

Specifies the replicas and resources for the observatorium-api deployment.

CommonSpec

queryFrontend
optional

Specifies the replicas and resources for the query-frontend deployment.

CommonSpec

query
optional

Specifies the replicas and resources for the query deployment.

CommonSpec

receive
optional

Specifies the replicas and resources for the receive statefulset.

CommonSpec

rule
optional

Specifies the replicas and resources for rule statefulset.

CommonSpec

store
optional

Specifies the replicas and resources for the store statefulset.

CommonSpec

CompactSpec
optional

Specifies the resources for compact statefulset.

compact

storeMemcached
optional

Specifies the replicas, resources, etc. for store-memcached.

storeMemcached

queryFrontendMemcached
optional

Specifies the replicas, resources, etc for query-frontend-memcached.

CacheConfig

retentionConfig

NameDescriptionSchema

blockDuration
optional

The amount of time to block the duration for Time Series Database (TSDB) block. Default value is 2h.

string

cleanupInterval
optional

The frequency of how often partially uploaded blocks are cleaned, and how often blocks with the deletion mark that have --wait enabled are cleaned. Default value is 5m.

string

deleteDelay
optional

The amount of time until a block marked for deletion is deleted from a bucket. Default value is 48h.

string

retentionInLocal
optional

The amount of time to retain raw samples from the local storage. Default value is 24h.

string

retentionResolutionRaw
optional

The amount of time to retain raw samples of resolution in a bucket. Default value is 30 days (30d)

string

retentionResolution5m
optional

The amount of time to retain samples of resolution 1 (5 minutes) in a bucket. Default value is 180 days (180d).

string

retentionResolution1h
optional

The amount of time to retain samples of resolution 2 (1 hour) in a bucket. Default value is 0 days (0d).

string

CompactSpec

NameDescriptionSchema

resources
optional

Compute resources required by thanos compact.

corev1.ResourceRequirements

serviceAccountAnnotations
optional

Annotations is an unstructured key value map stored with the compact service account.

map[string]string

storeMemcached

NameDescriptionSchema

resources
optional

Compute resources required by MultiCLusterObservability.

corev1.ResourceRequirements

replicas
optional

Replicas for MultiClusterObservability.

integer

memoryLimitMb
optional

Memory limit of Memcached in megabytes.

integer

maxItemSize
optional

Max item size of Memcached. The default value is 1m, min:1k, max:1024m.

string

connectionLimit
optional

Max simultaneous connections of Memcached. The default value is

integer

status

NameDescriptionSchema

status
optional

Status contains the different condition statuses for MultiClusterObservability.

metav1.Condition

CommonSpec

NameDescriptionSchema

resources
optional

Compute resources required by the component.

corev1.ResourceRequirements

replicas
optional

Replicas for the component.

integer

QuerySpec

Name

Description

Schema

CommonSpec
optional

Specifies the replicas and resources for the query deployment.

CommonSpec

serviceAccountAnnotations
optional

Annotations is an unstructured key value map stored with the query service account.

map[string]string

ReceiveSpec

Name

Description

Schema

CommonSpec
optional

Specifies the replicas and resources for the query deployment.

CommonSpec

serviceAccountAnnotations
optional

Annotations is an unstructured key value map stored with the query service account.

map[string]string

StoreSpec

Name

Description

Schema

CommonSpec
optional

Specifies the replicas and resources for the query deployment.

CommonSpec

serviceAccountAnnotations
optional

Annotations is an unstructured key value map stored with the query service account.

map[string]string

RuleSpec

Name

Description

Schema

CommonSpec
optional

Specifies the replicas and resources for the query deployment.

CommonSpec

evalInterval
optional

Specifies the evaluation interval for the rules.

string

serviceAccountAnnotations
optional

Annotations is an unstructured key value map stored with the query service account.

map[string]string

1.12. Search query API

The search query API is not a Kubernetes API, therefore is not displayed through the Red Hat OpenShift Container Platform API Explorer. Continue reading to understand the search query API capabilities.

1.12.1. Overview

You can expose the search query API with a route and use the API to resolve search queries. The API is a GraphQL endpoint. You can use any client such as curl or Postman.

1.12.1.1. Version information

Version : 2.8.0

1.12.1.2. URI scheme

BasePath : /searchapi/graphql
Schemes : HTTPS

1.12.1.3. Configure API access

Create a route to access the Search API external from your cluster with the following command:

oc create route passthrough search-api --service=search-search-api -n open-cluster-management

Important: You must configure your route to secure your environment. See Route configuration in the OpenShift Container Platform documentation for more details.

1.12.2. Schema design

input SearchFilter {
  property: String!
  values: [String]!
}
input SearchInput {
  keywords: [String]
  filters: [SearchFilter]
  limit: Int
  relatedKinds: [String]
}
type SearchResult {
count: Int
items: [Map]
related: [SearchRelatedResult]
}
type SearchRelatedResult {
kind: String!
count: Int
items: [Map]
}

Parameters with ! indicates that the field is required.

1.12.2.1. Description table of query inputs

TypeDescriptionProperty

SearchFilter

Defines a key and value to filter results. When you provide many values for a property, the API interpret the values as an "OR" operation. When you provide many filters, results match all filters and the API interprets as an "AND" operation.

string

SearchInput

Enter key words to receive a list of resources. When you provide many keywords, the API interprets it as an "AND" operation.

String

limit

Determine the maximum number of results returned after you enter the query. The default value is 10,000. A value of -1 means that the limit is removed.

Integer

1.12.2.2. Schema example

{
  "query": "type SearchResult {count: Intitems: [Map]related: [SearchRelatedResult]} type SearchRelatedResult {kind: String!count: Intitems: [Map]}",
  "variables": {
    "input": [
      {
        "keywords": [],
        "filters": [
          {
            "property": "kind",
            "values": [
              "Deployment"
            ]
          }
        ],
        "limit": 10
      }
    ]
  }
}

1.12.3. Generic schema

type Query {
  search(input: [SearchInput]): [SearchResult]
  searchComplete(property: String!, query: SearchInput, limit: Int): [String]
  searchSchema: Map
  messages: [Message]
}

1.12.4. Supported queries

Continue reading to see the query types that are supported in JSON format.

1.12.4.1. Search for deployments

Query:

query mySearch($input: [SearchInput]) {
    search(input: $input) {
    		items
        }
}

Variables:

{"input":[
    {
        "keywords":[],
        "filters":[
            {"property":"kind","values":["Deployment"]}],
        "limit":10
    }
]}

1.12.4.2. Search for pods

Query:

query mySearch($input: [SearchInput]) {
    search(input: $input) {
    		items
        }
}

Variables:

{"input":[
    {
        "keywords":[],
        "filters":[
            {"property":"kind","values":["Pod"]}],
        "limit":10
    }
]}

1.13. MultiClusterHub API

1.13.1. Overview

This documentation is for the MultiClusterHub resource for Red Hat Advanced Cluster Management for Kubernetes. MultiClusterHub resource has four possible requests: create, query, delete and update.

1.13.1.1. Version information

Version : 2.8.0

1.13.1.2. URI scheme

BasePath : /kubernetes/apis
Schemes : HTTPS

1.13.1.3. Tags

  • multiclusterhubs.operator.open-cluster-management.io : Create and manage multicluster hub operators

1.13.2. Paths

1.13.2.1. Create a MultiClusterHub resource

POST /operator.open-cluster-management.io/v1beta1/namespaces/{namespace}/mch
1.13.2.1.1. Description

Create a MultiClusterHub resource to define the configuration for an instance of the multicluster hub.

1.13.2.1.2. Parameters
TypeNameDescriptionSchema

Header

COOKIE
required

Authorization: Bearer {ACCESS_TOKEN} ; ACCESS_TOKEN is the user access token.

string

Path

namespace
required

Namespace that you want to use, for example, default.

string

Body

body
required

Parameters describing the multicluster hub to be created.

Definitions

1.13.2.1.3. Responses
HTTP CodeDescriptionSchema

200

Success

No Content

403

Access forbidden

No Content

404

Resource not found

No Content

500

Internal service error

No Content

503

Service unavailable

No Content

1.13.2.1.4. Consumes
  • multiclusterhubs/yaml
1.13.2.1.5. Tags
  • multiclusterhubs.operator.open-cluster-management.io
1.13.2.1.6. Example HTTP request
1.13.2.1.6.1. Request body
{
  "apiVersion": "apiextensions.k8s.io/v1",
  "kind": "CustomResourceDefinition",
  "metadata": {
    "name": "multiclusterhubs.operator.open-cluster-management.io"
    },
  "spec": {
    "group": "operator.open-cluster-management.io",
    "names": {
      "kind": "MultiClusterHub",
      "listKind": "MultiClusterHubList",
      "plural": "multiclusterhubs",
      "shortNames": [
          "mch"
	  ],
     "singular": "multiclusterhub"
     },
    "scope": "Namespaced",
    "versions": [
        {
	    "additionalPrinterColumns": [
                {
		   "description": "The overall status of the multicluster hub.",
                   "jsonPath": ".status.phase",
                   "name": "Status",
                   "type": "string"
		   },
               {
	           "jsonPath": ".metadata.creationTimestamp",
                   "name": "Age",
                   "type": "date"
		   }
            ],
            "name": "v1",
            "schema": {
                "openAPIV3Schema": {
                    "description": "MultiClusterHub defines the configuration for an instance of
          the multiCluster hub.",
        "properties": {
            "apiVersion": {
                "description": "APIVersion defines the versioned schema of this representation
              of an object. Servers should convert recognized schemas to the latest
              internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources",
                "type": "string"
            },
            "kind": {
                "description": "Kind is a string value representing the REST resource this
              object represents. Servers may infer this from the endpoint the client
              submits requests to. Cannot be updated. The value is in CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds",
                "type": "string"
            },
            "metadata": {
                "type": "object"
            },
            "spec": {
                "description": "MultiClusterHubSpec defines the desired state of MultiClusterHub.",
                "properties": {
                    "availabilityConfig": {
                        "description": "Specifies deployment replication for improved availability.
                  Options are: Basic and High (default).",
                        "type": "string"
                },
                "customCAConfigmap": {
                    "description": "Provide the customized OpenShift default ingress CA certificate
                  to {product-title-short}.",
                  }
                    "type": "string"
                },
        "disableHubSelfManagement": {
                    "description": "Disable automatic import of the hub cluster as a managed
                  cluster.",
                    "type": "boolean"
                },
        "disableUpdateClusterImageSets": {
                    "description": "Disable automatic update of ClusterImageSets.",
                    "type": "boolean"
                },
                "hive": {
                    "description": "(Deprecated) Overrides for the default HiveConfig specification.",
                    "properties": {
        "additionalCertificateAuthorities": {
        "description": "(Deprecated) AdditionalCertificateAuthorities is
                      a list of references to secrets in the 'hive' namespace that
                      contain an additional Certificate Authority to use when communicating
                      with target clusters. These certificate authorities are
                      used in addition to any self-signed CA generated by each cluster
                      on installation.",
                           "items": {
                    "description": "LocalObjectReference contains the information
                        to let you locate the referenced object inside the same namespace.",
                    "properties": {
                    "name": {
                        "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
                        "type": "string"
                     }
		             },
                    "type": "object"
                      },
                           "type": "array"
                    },
                       "backup": {
                    "description": "(Deprecated) Backup specifies configuration for backup
                      integration. If absent, backup integration is disabled.",
                    "properties": {
                    "minBackupPeriodSeconds": {
                    "description": "(Deprecated) MinBackupPeriodSeconds specifies
                          that a minimum of MinBackupPeriodSeconds occurs in between
                          each backup. This is used to rate limit backups. This potentially
                          batches together multiple changes into one backup. No backups
                          are lost for changes that happen during the interval
                          that is queued up, and results in a backup once
                          the interval has been completed.",
                    "type": "integer"
                        },
                    "velero": {
                    "description": "(Deprecated) Velero specifies configuration for the Velero backup integration.",
		    "properties": {
			"enabled": {
			    "description": "(Deprecated) Enabled dictates if the Velero backup integration is enabled. If not specified, the default is disabled.",
			    "type": "boolean"
			}
		   },
		    "type": "object"
				        }
				  },
				        "type": "object"
				     },
		    "externalDNS": {
		    "description": "(Deprecated) ExternalDNS specifies configuration for external-dns if it is to be deployed by Hive. If absent, external-dns is not deployed.",
		    "properties": {
		    "aws": {
		    "description": "(Deprecated) AWS contains AWS-specific settings for external DNS.",
		    "properties": {
		        "credentials": {
			    "description": "(Deprecated) Credentials reference a secret that is used to authenticate with AWS Route53. It needs permission to manage entries in each of the managed domains for this cluster. Secret should have AWS keys named 'aws_access_key_id' and 'aws_secret_access_key'.",
			    "properties": {
				"name": {
																		            "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
																		                             "type": "string"
						    }
					},
			    "type": "object"
			}
		},
		   "type": "object"
					},
		   "gcp": {
		   "description": "(Deprecated) GCP contains Google Cloud Platform specific settings for external DNS.",
		   "properties": {
		       "credentials": {
			   "description": "(Deprecated) Credentials reference a secret that is used to authenticate with GCP DNS. It needs permission to manage entries in each of the managed domains for this cluster. Secret should have a key names 'osServiceAccount.json'. The credentials must specify the project to use.",
			   "properties": {
			       "name": {
		   "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
				   "type": "string"
							}
						},
			   "type": "object"
			}
		},
		"type": "object"
					}
				},
				      "type": "object"
					},
		"failedProvisionConfig": {
		"description": "(Deprecated) FailedProvisionConfig is used to configure settings related to handling provision failures.",
		"properties": {
		"skipGatherLogs": {
		"description": "(Deprecated) SkipGatherLogs disables functionality that attempts to gather full logs from the cluster if an installation fails for any reason. The logs are stored in a persistent volume for up to seven days.",
	        "type": "boolean"
				   }
				},
				  "type": "object"
				  },
		"globalPullSecret": {
		"description": "(Deprecated) GlobalPullSecret is used to specify a pull secret that is used globally by all of the cluster deployments. For each cluster deployment, the contents of GlobalPullSecret are merged with the specific pull secret for a cluster deployment(if specified), with precedence given to the contents of the pull secret for the cluster deployment.",
		"properties": {
		"name": {
		"description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
		"type": "string"
			                }
				},
				  "type": "object"
							},
		"maintenanceMode": {
	        "description": "(Deprecated) MaintenanceMode can be set to true to disable the Hive controllers in situations where you need to ensure nothing is running that adds or act upon finalizers on Hive types. This should rarely be needed. Sets replicas to zero for the 'hive-controllers' deployment to accomplish this.",
				  "type": "boolean"
							}
						},
			  "required": [
				         "failedProvisionConfig"
						     ],
			  "type": "object"
						 },
		"imagePullSecret": {
		    "description": "Override pull secret for accessing MultiClusterHub operand and endpoint images.",
		    "type": "string"
					},
		"ingress": {
		    "description": "Configuration options for ingress management.",
		    "properties": {
			"sslCiphers": {
	"description": "List of SSL ciphers enabled for management ingress. Defaults to full list of supported ciphers.",
			    "items": {
		    "type": "string"
					},
			    "type": "array"
						}
					},
			       "type": "object"
						},
			   "nodeSelector": {
		   "additionalProperties": {
				   "type": "string"
						},
			       "description": "Set the node selectors..",
			       "type": "object"
			},
			   "overrides": {
			       "description": "Developer overrides.",
			       "properties": {
		   "imagePullPolicy": {
		   "description": "Pull policy of the multicluster hub images.",
			               "type": "string"
							}
						},
			      "type": "object"
									},
		   "separateCertificateManagement": {
				     "description": "(Deprecated) Install cert-manager into its own namespace.",
				     "type": "boolean"
						    }
					   },
			   "type": "object"
		       },
		       "status": {
			 "description": "MulticlusterHubStatus defines the observed state of MultiClusterHub.",
			 "properties": {
			     "components": {
		      "additionalProperties": {
		      "description": "StatusCondition contains condition information.",
				      "properties": {
		      "lastTransitionTime": {
		      "description": "LastTransitionTime is the last time the condition changed from one status to another.",
		      "format": "date-time",
		      "type": "string"
					},
		      "message": {
		      "description": "Message is a human-readable message indicating\ndetails about the last status change.",
		      "type": "string"
						},
				          "reason": {
		      "description": "Reason is a (brief) reason for the last status change of the condition.",
		      "type": "string"
						},
					  "status": {
		      "description": "Status is the status of the condition. One of True, False, Unknown.",
		      "type": "string"
					},
					  "type": {
		      "description": "Type is the type of the cluster condition.",
		      "type": "string"
					}
				},
				     "type": "object"
						      },
				  "description": "Components []ComponentCondition `json:\"manifests,omitempty\"`",
				  "type": "object"
							},
			      "conditions": {
				  "description": "Conditions contain the different condition statuses for the MultiClusterHub.",
				  "items": {
		      "description": "StatusCondition contains condition information.",
				      "properties": {
		      "lastTransitionTime": {
		      "description": "LastTransitionTime is the last time the condition changed from one status to another.",
		      "format": "date-time",
		      "type": "string"
					},
		      "lastUpdateTime": {
		      "description": "The last time this condition was updated.",
		      "format": "date-time",
		      "type": "string"
					},
		      "message": {
		      "description": "Message is a human-readable message indicating details about the last status change.",
		      "type": "string"
						},
				          "reason": {
		      "description": "Reason is a (brief) reason for the last status change of the condition.",
		      "type": "string"
					},
					  "status": {
		      "description": "Status is the status of the condition. One of True, False, Unknown.",
		      "type": "string"
						},
					  "type": {
		      "description": "Type is the type of the cluster condition.",
		      "type": "string"
					}
				},
				     "type": "object"
						      },
				 "type": "array"
					},
			     "currentVersion": {
				 "description": "CurrentVersion indicates the current version..",
				 "type": "string"
						},
			     "desiredVersion": {
				 "description": "DesiredVersion indicates the desired version.",
				 "type": "string"
						 },
			     "phase": {
				 "description": "Represents the running phase of the MultiClusterHub",
				 "type": "string"
							}
						},
	                 "type": "object"
					   }
				   },
                "type": "object"
			        }
		         },
        "served": true,
        "storage": true,
        "subresources": {
	    "status": {}
	    }
	}
    ]
  }
}

1.13.2.2. Query all MultiClusterHubs

GET /operator.open-cluster-management.io/v1beta1/namespaces/{namespace}/operator
1.13.2.2.1. Description

Query your multicluster hub operator for more details.

1.13.2.2.2. Parameters
TypeNameDescriptionSchema

Header

COOKIE
required

Authorization: Bearer {ACCESS_TOKEN} ; ACCESS_TOKEN is the user access token.

string

Path

namespace
required

Namespace that you want to use, for example, default.

string

1.13.2.2.3. Responses
HTTP CodeDescriptionSchema

200

Success

No Content

403

Access forbidden

No Content

404

Resource not found

No Content

500

Internal service error

No Content

503

Service unavailable

No Content

1.13.2.2.4. Consumes
  • operator/yaml
1.13.2.2.5. Tags
  • multiclusterhubs.operator.open-cluster-management.io

1.13.2.3. Query a MultiClusterHub operator

GET /operator.open-cluster-management.io/v1beta1/namespaces/{namespace}/operator/{multiclusterhub_name}
1.13.2.3.1. Description

Query a single multicluster hub operator for more details.

1.13.2.3.2. Parameters
TypeNameDescriptionSchema

Header

COOKIE
required

Authorization: Bearer {ACCESS_TOKEN} ; ACCESS_TOKEN is the user access token.

string

Path

application_name
required

Name of the application that you wan to query.

string

Path

namespace
required

Namespace that you want to use, for example, default.

string

1.13.2.3.3. Responses
HTTP CodeDescriptionSchema

200

Success

No Content

403

Access forbidden

No Content

404

Resource not found

No Content

500

Internal service error

No Content

503

Service unavailable

No Content

1.13.2.3.4. Tags
  • multiclusterhubs.operator.open-cluster-management.io

1.13.2.4. Delete a MultiClusterHub operator

DELETE /operator.open-cluster-management.io/v1beta1/namespaces/{namespace}/operator/{multiclusterhub_name}
1.13.2.4.1. Parameters
TypeNameDescriptionSchema

Header

COOKIE
required

Authorization: Bearer {ACCESS_TOKEN} ; ACCESS_TOKEN is the user access token.

string

Path

application_name
required

Name of the multicluster hub operator that you want to delete.

string

Path

namespace
required

Namespace that you want to use, for example, default.

string

1.13.2.4.2. Responses
HTTP CodeDescriptionSchema

200

Success

No Content

403

Access forbidden

No Content

404

Resource not found

No Content

500

Internal service error

No Content

503

Service unavailable

No Content

1.13.2.4.3. Tags
  • multiclusterhubs.operator.open-cluster-management.io

1.13.3. Definitions

1.13.3.1. Multicluster hub operator

NameDescriptionSchema

apiVersion
required

The versioned schema of the MultiClusterHub.

string

kind
required

String value that represents the REST resource.

string

metadata
required

Describes rules that define the resource.

object

spec
required

The resource specification.

spec

spec

availabilityConfig
optional
Specifies deployment replication for improved availability. The default value is High.string

customCAConfigmap
optional

Provide the customized OpenShift default ingress CA certificate to Red Hat Advanced Cluster Management.

string

disableHubSelfManagement
optional

Disable automatic import of the hub cluster as a managed cluster.

boolean

disableUpdateClusterImageSets
optional

Disable automatic update of ClusterImageSets.

boolean

hive
optional

(Deprecated) An object that overrides for the default HiveConfig specification.

hive

imagePullSecret
optional

Overrides pull secret for accessing MultiClusterHub operand and endpoint images.

string

ingress
optional

Configuration options for ingress management.

ingress

nodeSelector
optional

Set the node selectors.

string

separateCertificateManagement
optional

(Deprecated) Install cert-manager into its own namespace.

boolean

hive

additionalCertificateAuthorities
optional
(Deprecated) A list of references to secrets in the hive namespace that contain an additional Certificate Authority to use when communicating with target clusters. These certificate authorities are used in addition to any self-signed CA generated by each cluster on installation.object

backup
optional

(Deprecated) Specifies the configuration for backup integration. If absent, backup integration is disabled.

backup

externalDNS
optional

(Deprecated) Specifies configuration for external-dns if it is to be deployed by Hive. If absent, external-dns is not be deployed.

object

failedProvisionConfig
required

(Deprecated) Used to configure settings related to handling provision failures.

failedProvisionConfig

globalPullSecret
optional

(Deprecated) Used to specify a pull secret that is used globally by all of the cluster deployments. For each cluster deployment, the contents of globalPullSecret are merged with the specific pull secret for a cluster deployment (if specified), with precedence given to the contents of the pull secret for the cluster deployment.