...
Code Block | ||||
---|---|---|---|---|
| ||||
GET URL: /v2/projects/<project-name>/logical-clouds/<name>/users RETURN STATUS: 200 RETURN BODY: { users" : [{ "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/logical cloud-1-user1.csr" , //Path to user certificate "permissions" : { "apiGroups" : ["stable.example.com"] "resources" : ["secrets", "pods"] "verbs" : ["get", "watch", "list", "create"] }, "quota" : { "cpu": "100", "memory": "500Gi", "pods": "100", "dummy/dummyResource": 20 } }, { "name" : "user-2", //name of user for this cloud "type" : "certificate", //type of authentication credentials used by user (certificate, APIKey, UNPW) "certificate" : "/path/to/user2/logical cloud-1-user1.csr" , //Path to user certificate "permissions" : { "apiGroups" : ["stable.example.com"] "resources" : ["secrets", "pods"] "verbs" : ["get", "watch", "list", "create"] }, "quota" : { "cpu": "100", "memory": "500Gi", "pods": "100", "dummy/dummyResource": 20 } } ] DELETE URL: /v2/projects/<project-name>/logical-clouds/<name>/users URL: /v2/projects/<project-name>/logical-clouds/<name>/user/<user-name> RETURN STATUS: 204 |
...
Code Block | ||||
---|---|---|---|---|
| ||||
GET URL: /v2/projects/<project-name>/logical-clouds/<name>/namespaces RETURN STATUS: 200 RETURN BODY: { "clusters": {c1, c2} namespaces" : { "name" : "logical cloud-1-ns", //name of namespace for the logical cloud } } DELETE URL: /v2/projects/<project-name>/logical-clouds/<name>/namespaces RETURN STATUS: 204 |
...
Code Block | ||||
---|---|---|---|---|
| ||||
URL: /v2/projects/<project-name>/logical-clouds/control-plane POST BODY: { "name": "logical-cloud-1", //unique name for the new logical cloud "namespace": "Logical-cloud-1-istio-system", "ca-cert": "/path/to/ca-cert.pem", "ca-key": "/path/to/ca-key.pem", "root-cert": "/path/to/root-cert.pem", "cert-chain" "/path/to/cert-chain.pem" } curl -d @create_logical_cloud-1-user-2.json http://onap4k8s:<multicloud-k8s_NODE_PORT>/v2/projects/<project-name>/logical-clouds/control-plane \ --key ./logical cloud-t1-admin-key.pem \ --cert ./logical cloud-t1-admin.pem \ Return Status: 201 Return Body: { "name" : "logical-cloud-1" "Message" : "logical cloud 1 control plane is successfully created" } GET URL: /v2/projects/<project-name>/logical-clouds/<Logical-cloud-name>/control-planes RETURN STATUS: 200 RETURN BODY: { "name" : "logical-cloud-1", //name of namespace for the logical cloud "gateways" : "istio-egressgateway", "dns": "istiocoredns", "clusters": {c1, c2} } DELETE URL: /v2/projects/<project-name>/logical-clouds/<Logical-cloud-name>/control-planes RETURN STATUS: 204 |
...
Code Block | ||||
---|---|---|---|---|
| ||||
URL: /v2/projects/<project-name>/logical-clouds<logical-cloud-name>/users POST BODY: { "name": "logical-cloud-1", //unique name for the new logical cloud "user" : { "name" : "user-2", //name of user for this cloud "type" : "certificate", //type of authentication credentials used by user (certificate, APIKey, UNPW) "certificate" : "/path/to/user2/logical cloud-1-user2.csr" , //Path to user certificate "permissions" : { "apiGroups" : ["stable.example.com"] "resources" : ["secrets", "pods"] "verbs" : ["get", "watch", "list", "create"] }, "quota" : { "cpu": "200", "memory": "300Gi", "pods": "200", "dummy/dummyResource": 30, } } } curl -d @create_logical_cloud-1-user-2.json http://onap4k8s:<multicloud-k8s_NODE_PORT>/v2/projects/<project-name>/logical-clouds \ --key ./logical cloud-t1-admin-key.pem \ --cert ./logical cloud-t1-admin.pem \ Return Status: 201 Return Body: { "name" : "logical-cloud-1" "user" : "user-2" "Message" : "logical cloud and associated user successfully created" } |
...
Code Block | ||||
---|---|---|---|---|
| ||||
URL: /v2/projects/<project-name>/logical-clouds/<logical-cloud-name>/quotas POST BODY: { "name": "logical-cloud-1", //unique name for the new logical cloud "cluster-labels": "abc, xyz", "resources": { "cpu": "400", "memory": "1000Gi", "pods": "500", "dummy/dummyResource": 100, } } curl -d @create_logical_cloud-1.json http://onap4k8s:<multicloud-k8s_NODE_PORT>/v2/projects/<project-name>/logical-clouds \ --key ./logical cloud-t1-admin-key.pem \ --cert ./logical cloud-t1-admin.pem \ Return Status: 201 Return Body: { "name" : "logical-cloud-1" "Message" : "logical cloud 1 is successfully tuned" } GET URL: /v2/projects/<project-name>/logical-clouds/<logical-cloud-name>/quotas RETURN STATUS: 200 RETURN BODY: { "resources": { "cpu": "400", "memory": "1000Gi", "pods": "500", "dummy/dummyResource": 100, } } DELETE URL: /v2/projects/<project-name>/logical-clouds/<logical-cloud-name>/quotas RETURN STATUS: 204 |
...
Code Block | ||||
---|---|---|---|---|
| ||||
GET URL: /v2/projects/<project-name>/logical-clouds/<logical-cloud-name>/cluster-labels RETURN STATUS: 200 RETURN BODY: [{ "cluster": c1 "labels" : {abc,xyz,ijk,dfg} }, { "cluster": c2 "labels" : {abc,xyz,irk,iop} } }] |
...
Code Block | ||||
---|---|---|---|---|
| ||||
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 } |
...