ves-io-schema-k8s_cluster_role-API-Create

Examples of creating k8sclusterrole

Usecase:

Create k8s-cluster-role-1

Request using vesctl:

vesctl configuration create k8s_cluster_role -i k8s_cluster_role.yaml

where file k8sclusterrole.yaml has following contents (k8sclusterrole.CreateRequest):

metadata:
  name: k8s-cluster-role-1
  namespace: system
spec:
  policyRuleList:
    policyRule:
    - resourceList:
        apiGroups:
        - rbac.authorization.k8s.io
        resourceInstances:
        - ResourceAll
        resourceTypes:
        - AllResourceTypes
        verbs:
        - use

vesctl yaml response:

metadata:
  annotations: {}
  labels: {}
  name: k8s-cluster-role-1
  namespace: system
spec:
  policyRuleList:
    policyRule:
    - resourceList:
        apiGroups:
        - rbac.authorization.k8s.io
        resourceInstances:
        - ResourceAll
        resourceTypes:
        - AllResourceTypes
        verbs:
        - use
systemMetadata:
  creationTimestamp: "2021-07-14T08:07:16.621978058Z"
  creatorClass: examplesvc
  creatorId: examplesvc
  finalizers: []
  tenant: acmecorp
  uid: 3c1ea0be-505e-4a53-bba2-38cd60f20bd5

Request using curl:

curl -X 'POST' -d '{"metadata":{"name":"k8s-cluster-role-1","namespace":"system"},"spec":{"policyRuleList":{"policyRule":[{"resourceList":{"apiGroups":["rbac.authorization.k8s.io"],"resourceTypes":["AllResourceTypes"],"resourceInstances":["ResourceAll"],"verbs":["use"]}}]}}}' -H 'Content-Type: application/json' -H 'X-Volterra-Useragent: v1/pgm=_tmp_go-build381173587_b001_apidocs.test/host=docker-desktop' 'https://acmecorp.console.ves.volterra.io/api/config/namespaces/system/k8s_cluster_roles'

curl response:

HTTP/1.1 200 OK
Content-Length: 1020
Content-Type: application/json
Date: Wed, 14 Jul 2021 08:07:16 GMT
Vary: Accept-Encoding

{
  "metadata": {
    "name": "k8s-cluster-role-1",
    "namespace": "system",
    "labels": {
    },
    "annotations": {
    },
    "description": "",
    "disable": false
  },
  "system_metadata": {
    "uid": "3c1ea0be-505e-4a53-bba2-38cd60f20bd5",
    "creation_timestamp": "2021-07-14T08:07:16.621978058Z",
    "deletion_timestamp": null,
    "modification_timestamp": null,
    "initializers": null,
    "finalizers": [
    ],
    "tenant": "acmecorp",
    "creator_class": "examplesvc",
    "creator_id": "examplesvc",
    "object_index": 0,
    "owner_view": null
  },
  "spec": {
    "policy_rule_list": {
      "policy_rule": [
        {
          "resource_list": {
            "api_groups": [
              "rbac.authorization.k8s.io"
            ],
            "resource_types": [
              "AllResourceTypes"
            ],
            "resource_instances": [
              "ResourceAll"
            ],
            "verbs": [
              "use"
            ]
          }
        }
      ]
    }
  }
}