ETSINFV.KUBERNETES.V 1: Difference between revisions

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


<code>  }</code>
<code>}</code>
|}




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


<code>} </code>
|}
|}



Revision as of 15:36, 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