...
Code Block |
---|
language | js |
---|
theme | Midnight |
---|
title | Logical Cloud Creation API |
---|
linenumbers | true |
---|
|
URL: /v2/projects/<project-name>/logical-clouds
POST BODY:
{
"name": "logical-cloud-1", //unique name for the new logical cloud
"description": "logical cloud for walmart finance department", //description for the logical cloud
"user" : {
"name" : "user-1", //name of user for this cloud
"type" : "certificate", //type of authentication credentials used by user (certificate, APIKey, UNPW)
"certificate" : "/path/to/user1/crt" , //Path to user certificate
"permissions" : {
"apiGroups" : ["stable.example.com"]
"resources" : ["secrets", "pods"]
"verbs" : ["get", "watch", "list", "create"]
}
}
}
Return Status: 201
Return Body:
{
"name" : "logical-cloud-1"
"user" : "user-1"
"Message" : "logical cloud and associated user successfully created"
} |
...
Code Block |
---|
language | js |
---|
theme | Midnight |
---|
title | Get Logical cloud kubeconfig | linenumbers | true |
---|
|
URL: /v2/projects/<project-name>/logical-clouds/<logical-cloud-name>/kubeconfig
GET
Return Status: 201
Return Body :
{
apiVersion: v1
clusters:
- cluster:
certificate-authority: path/to/my/cafile
server: http://2.2.2.2:6443
name: cluster-abc
- cluster:
certificate-authority: path/to/my/cafile
server: https://1.1.1.1:6443
name: cluster-xyz
contexts:
- context:
cluster: kubernetes
namespace: ns-1
user: user-1
name: logical-cloud-1
current-context: logical-cloud-1
kind: Config
preferences: {}
users:
- name: user-1
user:
client-certificate: path/to/my/client/cert
client-key: path/to/my/client/key
} |
...
Code Block |
---|
language | js |
---|
theme | Midnight |
---|
title | PUT Logical Cloud | linenumbers | true |
---|
|
URL: /v2/projects/<project-name>/logical-clouds/<name>
PUT BODY:
{
"description": "logical cloud for walmart finance department", //description for the logical cloud
"user" : {
"name" : "user-1", //name of user for this cloud
"type" : "certificate", //type of authentication credentials used by user (certificate, APIKey, UNPW)
"certificate" : "/path/to/user1/crt" , //Path to user certificate
"permissions" : {
"apiGroups" : ["stable.example.com"]
"resources" : ["secrets", "pods"]
"verbs" : ["get", "watch", "list", "create"]
}
}
}
|
...
Code Block |
---|
language | js |
---|
theme | Midnight |
---|
title | Associate logical cloud with cluster | linenumbers | true |
---|
|
URL: /v2/projecs/<project-name>/logical-clouds/<logical-cloud-name>/cluster-references/
POST BODY:
{
"name": "cluster-1", //cluster name
"description" : "edge a cluster" //cluster description
}
|
...
Code Block |
---|
language | js |
---|
theme | Midnight |
---|
title | Create namespace for logical cloud | linenumbers | true |
---|
|
URL: /v2/projects/<project-name>/logical-clouds/<logical-cloud-name>/namespaces
POST BODY:
{
"namespace" : "ns-1" // namespace for logical cloud 1
"description" : "logical-cloud-1 namespaces"
} |
6. POST (Apply all the created configuration)
Code Block |
---|
language | js |
---|
theme | Midnight |
---|
title | Apply configuration |
---|
|
URL: /v2/projects/<project-name>/logical-clouds/<logical-cloud-name>/apply
POST BODY:
{
"name" : "lc-1-operation" // Give the operation a name that can be queried for status
"description" : "Description"
} |
7. GET (Check status of operation)
Code Block |
---|
language | js |
---|
theme | Midnight |
---|
title | Apply configuration |
---|
|
URL: /v2/projects/<project-name>/logical-clouds/<logical-cloud-name>/apply/<operation name>
GET BODY:
GET
Return Status: 201
Return Body :
{ "status" : "in progress"} |