{
	"description": "This type represents the access configuration information for downloading external VNF snapshot  package artifacts. The NFVO can obtain the external VNF snapshot package artifact file through the information  provided in this structure, together with information provided in the manifest. The data  structure shall comply with the provisions defined in Table 11.5.2.9-1. If the data structure  is part of a response body, security-sensitive attributes shall be excluded as specified in  Table 11.5.2.9-1.\n",
	"type": "object",
	"properties": {
		"artifact": {
			"description": "Access configuration information for an external artifact.\n",
			"type": "array",
			"items": {
				"type": "object",
				"required": [
					"artifactUri"
				],
				"properties": {
					"artifactUri": {
						"description": "String formatted according to IETF RFC 3986.\n",
						"type": "string",
						"format": "uri"
					},
					"overrideUri": {
						"description": "String formatted according to IETF RFC 3986.\n",
						"type": "string",
						"format": "uri"
					},
					"authType": {
						"description": "Defines the type of authentication / authorization for downloading the VNF package.\nPermitted values: - BASIC: Only the \"username\" and \"password\" attributes shall be present. - OAUTH2_CLIENT_CREDENTIALS: Only the \"paramsOauth2ClientCredentials\" attribute shall  be present.\nThis attribute shall not be present if no credentials are provided for the artifact.\n",
						"type": "string",
						"enum": [
							"BASIC",
							"OAUTH2_CLIENT_CREDENTIALS"
						]
					},
					"username": {
						"description": "Username to be used for authentication.\n",
						"type": "string"
					},
					"password": {
						"description": "Password to be used for authentication. Shall not be present in response bodies.\n",
						"type": "string"
					},
					"paramsOauth2ClientCredentials": {
						"description": "Parameters for authentication/authorization using OAUTH2_CLIENT_CREDENTIALS.\n",
						"type": "object",
						"required": [
							"clientId",
							"clientPassword",
							"tokenEndpoint"
						],
						"properties": {
							"clientId": {
								"description": "Client identifier to be used in the access token request of the OAuth 2.0 client credentials grant type.\n",
								"type": "string"
							},
							"clientPassword": {
								"description": "Client password to be used in the access token request of the OAuth 2.0 client credentials grant type. Shall not be present in response bodies.\n",
								"type": "string"
							},
							"tokenEndpoint": {
								"description": "String formatted according to IETF RFC 3986.\n",
								"type": "string",
								"format": "uri"
							}
						}
					}
				}
			}
		}
	}
}