ETSINFV.KUBERNETES.V 1: Difference between revisions

From NFVwiki
No edit summary
No edit summary
Line 81: Line 81:
|-
|-
|<code>{</code>
|<code>{</code>
<code>  "$schema": "http://json-schema.org/draft-07/schema#",</code>
<code>  "$schema": "http://json-schema.org/draft-07/schema#",</code>
<code>  "title": "accessInfo",</code>
<code>  "title": "accessInfo",</code>
<code>  "additionalProperties": false,</code>
<code>  "additionalProperties": false,</code>
<code>  "required": [],</code>
<code>  "required": [],</code>
<code>  "type": "object",</code>
<code>  "type": "object",</code>
<code>  "properties": {</code>
<code>  "properties": {</code>
<code>        "tokenAuthInfo": {</code>
<code>        "tokenAuthInfo": {</code>
<code>            "type": "object",</code>
<code>            "type": "object",</code>
<code>            "description": "The authentication credentials for token-based authentication."</code>
<code>            "description": "The authentication credentials for token-based authentication."</code>
<code>            "properties": {</code>
<code>            "properties": {</code>
<code>                "token": { </code>
<code>                "token": { </code>
<code>                    "type": "string",</code>
<code>                    "type": "string",</code>
<code>                    "format": "byte",</code>
<code>                    "format": "byte",</code>
<code>                    "description": "Binary token to be used for access authentication."</code>
<code>                    "description": "Binary token to be used for access authentication."</code>
<code>                }</code>
<code>                }</code>
<code>            },</code>
<code>            },</code>
<code>            "required": [</code>
<code>            "required": [</code>
<code>                "token"</code>
<code>                "token"</code>
<code>            ],</code>
<code>            ],</code>
<code>        },</code>
<code>        },</code>
<code>        "certificateAuthInfo": {</code>
<code>        "certificateAuthInfo": {</code>
<code>            "type": "object",</code>
<code>            "type": "object",</code>
<code>            "description": "The authentication credentials for certificate-based authentication."</code>
<code>            "description": "The authentication credentials for certificate-based authentication."</code>
<code>            "properties": {</code>
<code>            "properties": {</code>
<code>                "clientCertificate": {</code>
<code>                "clientCertificate": {</code>
<code>                    "type": "string",</code>
<code>                    "type": "string",</code>
<code>                    "format": "byte",</code>
<code>                    "format": "byte",</code>
<code>                    "description": "Kubernetes client certificate data in PEM format."</code>
<code>                    "description": "Kubernetes client certificate data in PEM format."</code>
<code>                },</code>
<code>                },</code>
<code>                "clientCertificateKey": {</code>
<code>                "clientCertificateKey": {</code>
<code>                    "type": "string",</code>
<code>                    "type": "string",</code>
<code>                    "format": "byte",</code>
<code>                    "format": "byte",</code>
<code>                    "description": "Kubernetes client certificate key data in PEM format."</code>
<code>                    "description": "Kubernetes client certificate key data in PEM format."</code>
<code>                }</code>
<code>                }</code>
<code>            },</code>
<code>            },</code>
<code>            "required": [</code>
<code>            "required": [</code>
<code>                "clientCertificate",</code>
<code>                "clientCertificate",</code>
<code>                "clientCertificateKey"</code>
<code>                "clientCertificateKey"</code>
<code>            ],</code>
<code>            ],</code>
<code>        },</code>
<code>        },</code>
<code>        "oidAuthInfo": {</code>
<code>        "oidAuthInfo": {</code>
<code>            "type": "object",</code>
<code>            "type": "object",</code>
<code>            "description": "The authentication credentials for Open ID-based authentication."</code>
<code>            "description": "The authentication credentials for Open ID-based authentication."</code>
<code>            "properties": {</code>
<code>            "properties": {</code>
<code>                "username": {</code>
<code>                "username": {</code>
<code>                    "type": "string",</code>
<code>                    "type": "string",</code>
<code>                    "description": "The username to use for access."</code>
<code>                    "description": "The username to use for access."</code>
<code>                },</code>
<code>                },</code>
<code>                "password": {</code>
<code>                "password": {</code>
<code>                    "writeOnly": true,</code>
<code>                    "writeOnly": true,</code>
<code>                    "type": "string",</code>
<code>                    "type": "string",</code>
<code>                    "format": "password",</code>
<code>                    "format": "password",</code>
<code>                    "description": "The password for the username for access. Required for input, not returned on output." </code>
<code>                    "description": "The password for the username for access. Required for input, not returned on output." </code>
<code>                }, </code>
<code>                }, </code>
<code>                "clientId": { </code>
<code>                "clientId": { </code>
<code>                    "type": "string", </code>
<code>                    "type": "string", </code>
<code>                    "description": "An ID which identifies an client application to use for access." </code>
<code>                    "description": "An ID which identifies an client application to use for access." </code>
<code>                }, </code>
<code>                }, </code>
<code>                "clientSecret": { </code>
<code>                "clientSecret": { </code>
<code>                    "writeOnly": true, </code>
<code>                    "writeOnly": true, </code>
<code>                    "type": "string", </code>
<code>                    "type": "string", </code>
<code>                    "format": "password", </code>
<code>                    "format": "password", </code>
<code>                    "description": "The secret for the clientId for access. Required for input, not returned on output." </code>
<code>                    "description": "The secret for the clientId for access. Required for input, not returned on output." </code>
<code>                }, </code>
<code>                }, </code>
<code>                "remoteServerCertificate": { </code>
<code>                "remoteServerCertificate": { </code>
<code>                    "type": "string", </code>
<code>                    "type": "string", </code>
<code>                    "format": "byte", </code>
<code>                    "format": "byte", </code>
<code>                    "description": "CA certificate data of the Open ID API server in PEM format." </code>
<code>                    "description": "CA certificate data of the Open ID API server in PEM format." </code>
<code>                }, </code>
<code>                }, </code>
<code>                "skipCertificateVerification": { </code>
<code>                "skipCertificateVerification": { </code>
<code>                    "default": false, </code>
<code>                    "default": false, </code>
<code>                    "type": "boolean", </code>
<code>                    "type": "boolean", </code>
<code>                    "description": "Certificate verification for the remote server can be skipped by setting this field to true." </code>
<code>                    "description": "Certificate verification for the remote server can be skipped by setting this field to true." </code>
<code>                } </code>
<code>                } </code>
<code>            }, </code>
<code>            }, </code>
<code>            "required": [ </code>
<code>            "required": [ </code>
<code>                "username", </code>
<code>                "username", </code>
<code>                "password", </code>
<code>                "password", </code>
<code>                "clientId" </code>
<code>                "clientId" </code>
<code>            ], </code>
<code>            ], </code>
<code>        } </code>
<code>        } </code>
<code>    } </code>
<code>    } </code>
<code>} </code>
<code>} </code>
|}
|}

Revision as of 15:04, 24 April 2022

Insert non-formatted text here[back to VimConnectionInfo registry]

1 Solution information

Solution Name Kubernetes v1
Description ETSI-registered CISM Connection Info defining the interface and access parameters to use a Kubernetes®-based CISM, to be signalled via the APIs specified in ETSI GS NFV-SOL 003.

The API of a Kubernetes®-based CISM is specified in ETSI GS NFV-SOL 018. Valid for Kubernetes® releases starting from 1.22.

Specification URI https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/018/

2 Registration information

Registrant name ETSI ISG NFV

3 Requested vimType identifier

Registrant VIM Name Version
ETSINFV . KUBERNETES . V_1

4 JSON schema definition of "interfaceInfo"

Purpose: Provides information about the interface or interfaces to the CISM, such as the URI of an interface endpoint to communicate with the CISM

interfaceInfo
{

"$schema": "http://json-schema.org/draft-07/schema#", "title": "interfaceInfo", "additionalProperties": false, "required": [ "authType", "endpoint" ], "type": "object", "properties": { "authType": { "type": "string", "enum": ["OID", "TOKEN", "CERTIFICATE"], "description": "The authentication type for the Kubernetes cluster. Indicates the required access information." }, "endpoint": { "type": "string", "format": "url", "description": "The URL representing the Kubernetes cluster API endpoint." }, "serverCertificate": { "type": "string", "format": "byte", "description": "CA certificate of the Kubernetes cluster API server in PEM format." }, "skipCertificateVerification": { "default": false, "type": "boolean", "description": "Certificate verification for the endpoint can be skipped by setting this field to true." } } }

5 JSON schema definition of "accessInfo"

Purpose: Provides authentication credentials for accessing the VIM, and other access-related information such as tenants or infrastructure resource groups.

accessInfo
{

"$schema": "http://json-schema.org/draft-07/schema#",

"title": "accessInfo",

"additionalProperties": false,

"required": [],

"type": "object",

"properties": {

"tokenAuthInfo": {

"type": "object",

"description": "The authentication credentials for token-based authentication."

"properties": {

"token": {

"type": "string",

"format": "byte",

"description": "Binary token to be used for access authentication."

}

},

"required": [

"token"

],

},

"certificateAuthInfo": {

"type": "object",

"description": "The authentication credentials for certificate-based authentication."

"properties": {

"clientCertificate": {

"type": "string",

"format": "byte",

"description": "Kubernetes client certificate data in PEM format."

},

"clientCertificateKey": {

"type": "string",

"format": "byte",

"description": "Kubernetes client certificate key data in PEM format."

}

},

"required": [

"clientCertificate",

"clientCertificateKey"

],

},

"oidAuthInfo": {

"type": "object",

"description": "The authentication credentials for Open ID-based authentication."

"properties": {

"username": {

"type": "string",

"description": "The username to use for access."

},

"password": {

"writeOnly": true,

"type": "string",

"format": "password",

"description": "The password for the username for access. Required for input, not returned on output."

},

"clientId": {

"type": "string",

"description": "An ID which identifies an client application to use for access."

},

"clientSecret": {

"writeOnly": true,

"type": "string",

"format": "password",

"description": "The secret for the clientId for access. Required for input, not returned on output."

},

"remoteServerCertificate": {

"type": "string",

"format": "byte",

"description": "CA certificate data of the Open ID API server in PEM format."

},

"skipCertificateVerification": {

"default": false,

"type": "boolean",

"description": "Certificate verification for the remote server can be skipped by setting this field to true."

}

},

"required": [

"username",

"password",

"clientId"

],

}

}

}

6 JSON schema definition of "extra"

Purpose: Provides optional additional VIM type specific information.

extra
not specified