{
    "description": "This type represents a log report, which provides information about a compiled log and how to obtain it. It shall comply with the provisions defined in table 8.6.2.7-1.\n",
    "type": "object",
    "required": [
      "id",
      "objectInstanceId",
      "compilationTrigger",
      "readyTime",
      "fileFormat",
      "fileLocationInfo",
      "securityAndIntegrityInfo",
      "_links"
    ],
    "properties": {
      "id": {
        "description": "An identifier with the intention of being globally unique.\n",
        "type": "string"
      },
      "objectInstanceId": {
        "description": "This type represents the identifier to reference a managed object of a  particular type. \n",
        "type": "object",
        "properties": {
          "type": {
            "description": "Indicates the type of managed object. Permitted values:\n  - MANO_ENTITY\n  - MANO_SERVICE\n  - MANO_SERVICE_IF\n  - CONSUMED_MANO_IF\n  - MANO_ENTITY_COMPONENT\n\nThe \"MANO_ENTITY COMPONENT\" is only applicable if attribute \"manoEntityComponents\" in \"ManoEntity\" is supported by the API producer.\n",
            "type": "string",
            "enum": [
              "MANO_ENTITY",
              "MANO_SERVICE",
              "MANO_SERVICE_IF",
              "CONSUMED_MANO_IF",
              "MANO_ENTITY_COMPONENT"
            ]
          },
          "objectId": {
            "description": "An identifier with the intention of being globally unique.\n",
            "type": "string"
          },
          "subObjectId": {
            "description": "An identifier that is unique for the respective type within a NFV-MANO functional entity, but that need not be globally unique. Representation: string of variable length..\n",
            "type": "string"
          }
        },
        "required": [
          "type",
          "objectId"
        ]
      },
      "compilationTrigger": {
        "description": "The trigger for the compilation of the log file.\nPermitted values: - ON_DEMAND: created based on explicit request by a client. - AUTOMATIC: created according to the logging job compilation configuration.",
        "type": "string",
        "enum": [
          "ON_DEMAND",
          "AUTOMATIC"
        ]
      },
      "readyTime": {
        "description": "Date-time stamp. Representation: String formatted according to IETF RFC 3339.\n",
        "type": "string",
        "format": "date-time"
      },
      "expiryTime": {
        "description": "Date-time stamp. Representation: String formatted according to IETF RFC 3339.\n",
        "type": "string",
        "format": "date-time"
      },
      "fileSize": {
        "description": "The size of the compiled log file in bytes, if known.",
        "type": "integer",
        "format": "int32"
      },
      "fileFormat": {
        "description": "The encoding used by the file.",
        "type": "string"
      },
      "fileLocationInfo": {
        "description": "Location and address information of the compiled log file. The consumer can use this information to obtain the compiled log file.",
        "type": "object",
        "required": [
          "protocol",
          "fileEndpoint"
        ],
        "properties": {
          "protocol": {
            "description": "Protocol over which the compiled log file can be retrieved.\nPermitted values: - HTTPS: transmission over HTTP Secure (HTTPS). - SFTP: transmission over SSH file transfer protocol (SFTP). - SCP: transmission over secure copy protocol (SCP). - FTPS: transmission over file transfer protocol secure (FTPS), as specified in IETF RFC 2228 [i.11],\n     using explicit mode as specified in IETF RFC 4217 [i.12]. If FTPS is supported, \"private\" protection level shall be used.\n\nHTTPS shall be supported, and other protocols may be supported.",
            "type": "string",
            "enum": [
              "HTTPS",
              "SFTP",
              "SCP",
              "FTPS"
            ]
          },
          "fileEndpoint": {
            "description": "The host name (or IP address), optionally a port number (if the host with the compile log file uses a non-standard port number as per the supported transmission protocol), a valid file directory path, and the file name of the compiled log file, or a valid URL.",
            "type": "string",
            "format": "URI"
          }
        }
      },
      "securityAndIntegrityInfo": {
        "description": "Security and integrity information for the compilation of the log files.",
        "type": "object",
        "required": [
          "algorithm",
          "hash",
          "logFileSignature",
          "signingCertificate"
        ],
        "properties": {
          "algorithm": {
            "description": "Algorithm used to generate the hash of the compiled log file. Only SHA-256 and SHA-512 shall be used",
            "type": "string"
          },
          "hash": {
            "description": "The hexadecimal value of the hash of the compiled log file. The hash shall be computed from the encrypted compiled log file, in case the encryption applies.",
            "type": "string"
          },
          "encryptionPublicKey": {
            "description": "Public key used for the encryption of the compiled log file. Shall be present if the compiled log file is encrypted.",
            "type": "string"
          },
          "cipherAlgorithm": {
            "description": "The cryptographic algorithm used for the encryption. Shall be present if the compiled log file is encrypted. Valid values are: \"AES-CBC-128\", \"AES-GCM-128\", \"AES-CBC-256\", and \"AES-GCM-256\", as specified in clause 6.5 of ETSI GS NFV-SEC 012 [14].",
            "type": "string"
          },
          "logFileSignature": {
            "description": "Signature to the compiled log file generated with the NFV-MANO functional entity’s private key, which is used to ensure the authenticity of the compiled log file. The signature shall be applied according to the \"encryptAndSignOrder\" of the \"LoggingJobConfig\".",
            "type": "string"
          },
          "signingCertificate": {
            "description": "X.509 certificate with the NFV-MANO functional entity’s public key used for verifying the log report and compiled log file signatures.",
            "type": "string"
          }
        }
      },
      "_links": {
        "description": "Links for this resource.",
        "type": "object",
        "required": [
          "self"
        ],
        "properties": {
          "self": {
            "description": "This type represents a link to a resource using an absolute URI.\n",
            "type": "object",
            "required": [
              "href"
            ],
            "properties": {
              "href": {
                "description": "String formatted according to IETF RFC 3986.\n",
                "type": "string"
              }
            }
          },
          "objects": {
            "description": "Links to resources representing the object instances that are logged. Shall be present if the logged object instance information is accessible as a resource.",
            "type": "array",
            "items": {
              "description": "This type represents a link to a resource using an absolute URI.\n",
              "type": "object",
              "required": [
                "href"
              ],
              "properties": {
                "href": {
                  "description": "String formatted according to IETF RFC 3986.\n",
                  "type": "string"
                }
              }
            }
          }
        }
      }
    }
  }