Commit 5523c698 authored by Muhammad Hamza's avatar Muhammad Hamza
Browse files

update SOL023CertificateManagement_def.yaml based on SOL023 v0.0.12 final draft

parent 411633f1
Loading
Loading
Loading
Loading
+90 −252
Original line number Diff line number Diff line
@@ -3,8 +3,10 @@ definitions:
    description: >
      This type represents a subject instance.

      NOTE: Wherever mentioned, attributes of the type "SubjectInstance", in the table 5.6.2.2-1
      are aligned with the mandatory-defined parameters in the CMPv2 in IETF RFC 4210.
      NOTE 1: 	Registration of target certificates of type 'MANO certificate' is not covered in this version
      of the present document.
      
      NOTE 2:	At least one overriding attributes shall be present, otherwise shall be absent.
    type: object
    required:
     - id
@@ -20,22 +22,18 @@ definitions:
      certType:
        description: >
          Indicate the type of target certificate. The possible values are (see note 1):
          ・ MANO certificate
          ・ VNFCI certificate
          ・ VNF OAM certificate

          NOTE 1: 	Registration of target certificates of type ‘MANO certificate’ is 
          not covered in this version of the present document.
        type: string
        enum:
            -	MANO certificate
            -	VNFCI certificate
            -	VNF OAM certificate
        type: string
        enum:
          - MANO_certificate
          - VNFCI_certificate
          - VNF_OAM_certificate
      subjectId:
        description: >
          Data about subjects and their certificates that need to be registered. 
          This attribute shall be present only if certType is VNFCI certificate 
          or VNF OAM certificate.
          Data about subjects and their certificates that need to be registered. This attribute shall be present
          only if certType is VNFCI certificate or VNF OAM certificate.
        type: object
        required:
          - subjectId
@@ -43,41 +41,36 @@ definitions:
        properties:
          subjectId:
            description: >
              The value of the Identifier of the certificate target VNFCI as subject ID 
              if this operation is used for the VNFCI certificate or VNF OAM certificate.
              The value of the Identifier of the certificate target VNFCI as subject ID if this operation is used for
              the VNFCI certificate or VNF OAM certificate.
            $ref: "../../definitions/SOL023_def.yaml#/definitions/Identifier"
          certificateData:
            description: >
              Data related to certificates for the target VNFCI.
            type: object
            required:
              - certificateData
              - subjectAlternateName
            properties:
              subjectName:
                description: >
                  The value of the Identifier of the certificate target VNFCI as subject ID 
                  if this operation is used for the VNFCI certificate or VNF OAM certificate.
                  Subject data of the of VNFCI certificates, i.e., certificate fields related to common name, organization,
                  country etc.
                $ref: "#/definitions/CertSubjectData"
              subjectAlternateName:
                description: >
                  Subject alternate names of VNFCI certificates.
                type: array
                items:
                type: string
      typeOfVnfcCertHandling:
        description: >
          This parameter shall be present only if certType is VNFCI certificate or VNF OAM certificate. 
          It indicates the mode of certificate management for the target entity. 
          The possible values are:
          •	direct mode
          •	delegation mode
          This parameter shall be present only if certType is VNFCI certificate or VNF OAM certificate. It indicates the
          mode of certificate management for the target entity. The possible values are:
            -	direct mode
            -	delegation mode
          See note 2.

          NOTE 2:	At least one overriding attributes shall be present, otherwise shall be absent.
        type: string
        enum:
          - direct mode
          - delegation mode
          - direct_mode
          - delegation_mode
      _links:
        description: >
          Links to resources related to this resource.
@@ -94,8 +87,9 @@ definitions:
    description: >
      This type represents request parameters for the "Register" operation as defined in ETSI GS NFV-IFA 033.

      NOTE: As concept of the design of the type “CreateSubjectReuquest”, the attributes in the table 5.6.2.4-1
      are profiled with the mandatory-defined parameters in the CMP in IETF RFC 4210.
      NOTE 1: 	Registration of target certificates of type 'MANO certificate' is not covered in this version of the
      present document.
      NOTE 2: 	Only the value "delegation mode" is allowed for this version of the present document.
    type: object
    required:
     - certType
@@ -105,22 +99,18 @@ definitions:
      certType:
        description: >
          Indicate the type of target certificate. The possible values are (see note 1):
          ・ MANO certificate
          ・ VNFCI certificate
          ・ VNF OAM certificate

          NOTE 1: 	Registration of target certificates of type ‘MANO certificate’ is 
          not covered in this version of the present document.
        type: string
        enum:
            -	MANO certificate
            -	VNFCI certificate
            -	VNF OAM certificate
        type: string
        enum:
          - MANO_certificate
          - VNFCI_certificate
          - VNF_OAM_certificate
      subjectId:
        description: >
          Data about subjects and their certificates that need to be registered. 
          This attribute shall be present only if certType is VNFCI certificate 
          or VNF OAM certificate.
          Data about subjects and their certificates that need to be registered. This attribute shall be present
          only if certType is VNFCI certificate or VNF OAM certificate.
        type: object
        required:
          - subjectId
@@ -128,41 +118,69 @@ definitions:
        properties:
          subjectId:
            description: >
              The value of the Identifier of the certificate target VNFCI as subject ID 
              if this operation is used for the VNFCI certificate or VNF OAM certificate.
              The value of the Identifier of the certificate target VNFCI as subject ID if this operation is used for
              the VNFCI certificate or VNF OAM certificate.
            $ref: "../../definitions/SOL023_def.yaml#/definitions/Identifier"
          certificateData:
            description: >
              Data related to certificates for the target VNFCI.
            type: object
            required:
              - certificateData
              - subjectAlternateName
            properties:
              subjectName:
                description: >
                  The value of the Identifier of the certificate target VNFCI as subject ID 
                  if this operation is used for the VNFCI certificate or VNF OAM certificate.
                  Subject data of the of VNFCI certificates, i.e., certificate fields related to common name, organization,
                  country etc.
                $ref: "#/definitions/CertSubjectData"
              subjectAlternateName:
                description: >
                  Subject alternate names of VNFCI certificates.
                type: array
                items:
                type: string
      typeOfVnfcCertHandling:
        description: >
          This parameter shall be present only if certType is VNFCI certificate or VNF OAM certificate. 
          It indicates the mode of certificate management for the target entity. 
          The possible values are:
          •	direct mode
          •	delegation mode
          This parameter shall be present only if certType is VNFCI certificate or VNF OAM certificate. It indicates the
          mode of certificate management for the target entity. The possible values are:
            -	direct mode
            -	delegation mode
          See note 2.

          NOTE 2:	At least one overriding attributes shall be present, otherwise shall be absent.
        type: string
        enum:
          - direct mode
          - delegation mode
          - direct_mode
          - delegation_mode

  CertSubjectData:
    description: >
      This type provides input information related to subject of certificate.

      NOTE:	At least one overriding attributes shall be present, otherwise shall be absent.
    type: object
    properties:
      commonName:
        description: >
          Information of certification target subject FQDN. Can be set empty when this certificate is used for encrypted
          communication using IP address. See note.
        type: string
      organization:
        description: >
          Information of certification target subject Organization. See note.
        type: string
      country:
        description: >
          Information of certification target subject Country. See note.
        type: string
      state:
        description: >
          Information of certification target subject State. See note.
        type: string
      locality:
        description: >
          Information of certification target subject Locality. See note.
        type: string
      emailAddress:
        description: >
          Information of certification contact email address. See note.
        type: string

  ####################################################################### 
  ################# Subscriptions Related Data Models ###################
@@ -272,7 +290,8 @@ definitions:
      cetificateState:
        description: >
          The state of the Certificate.
        $ref: "#/definitions/PKIStatusInfoType"
        # TODO
        # $ref: "#/definitions/PKIStatusInfoType"
      certificateId:
        description: >
          The identifier of the Certificate affected.
@@ -329,7 +348,7 @@ definitions:
      vnfInstanceSubscriptionFilter:
        description: >
          Filter criteria to select VNF instances about which to notify.
        $ref: "#/definitions/VnfInstanceSubscriptionFilter"
        $ref: "../../definitions/SOL023_def.yaml#/definitions/VnfInstanceSubscriptionFilter"
      cetificateState:
        description: >
          Match particular Certificate state values as reported in notifications of type
@@ -339,7 +358,8 @@ definitions:
          "CertificateLifecycleStateChangeNotification" and shall be absent otherwise.
        type: array
        items:
          $ref: "#/definitions/PKIStatusInfoType"
          # TODO
          # $ref: "#/definitions/PKIStatusInfoType"
      certificationType:
        description: >
          Match particular certificate types.
@@ -392,7 +412,8 @@ definitions:
          ip:
            description: >
              Information for Initialization response.
            $ref: "#/definitions/CertRepMessages"
            # TODO
            # $ref: "#/definitions/CertRepMessages"

  AffectedCertificate:
    description: >
@@ -432,7 +453,8 @@ definitions:
          cp:
            description: >
              Information for CSR response.
            $ref: "#/definitions/CertRepMessages"
            # TODO
            # $ref: "#/definitions/CertRepMessages"

  CertificateNotificationVerbosityType:
    description: >
@@ -442,187 +464,3 @@ definitions:
    enum:
      - FULL
      - SHORT
 No newline at end of file

  PKIStatusInfoType:
    description: >
      The enumeration PKIStatusInfoType shall comply with the provisions defined in table 4.3.4.1-1.
    type: string
    enum:
      - ACCEPTED
      - GRANTED_WITH_MODS
      - REJECTED
      - WAITING
      - REVOCATION_WARNING
      - REVOCATION_NOTIFICATION
      - KEY_UPDATE_WARNING
  
  VnfInstanceSubscriptionFilter:
    description: >
      This type represents subscription filter criteria to match VNF
      instances.
      * NOTE 1:	The attributes "vnfdIds" and "vnfProductsFromProviders" are alternatives to reference to VNF instances
                that are based on certain VNFDs in a filter. They should not be used both in the same filter instance,
                but one alternative should be chosen.
        NOTE 2:	The attributes "vnfInstanceIds" and "vnfInstanceNames" are alternatives to reference to particular VNF
                instances in a filter. They should not be used both in the same filter instance, but one alternative
                should be chosen.
    type: object
    anyOf:
      - oneOf:
        - required:
            - vnfdIds
        - required:
            - vnfProductsFromProviders
      - oneOf:
        - required:
            - vnfInstanceIds
        - required:
            - vnfInstanceNames
    properties:
      vnfdIds:
        description: >
          If present, match VNF instances that were created based on a VNFD
          identified by one of the vnfdId values listed in this attribute. See note 1.
        type: array
        items:
          $ref: "../../definitions/SOL023_def.yaml#/definitions/Identifier"
      vnfProductsFromProviders:
        description: >
          If present, match VNF instances that belong to VNF products from
          certain providers. See note 1.
        type: array
        items:
          type: object
          required:
            - vnfProvider
          properties:
            vnfProvider:
              description: >
                Name of the VNF provider to match.
              type: string
            vnfProducts:
              description: >
                If present, match VNF instances that belong to VNF products
                with certain product names, from one particular provider.
              type: array
              items:
                type: object
                required:
                  - vnfProductName
                properties:
                  vnfProductName:
                    description: >
                      Name of the VNF product to match.
                    type: string
                  versions:
                    description: >
                      If present, match VNF instances that belong to VNF
                      products with certain versions and a certain product
                      name, from one particular provider.
                    type: array
                    items:
                      type: object
                      required:
                        - vnfSoftwareVersion
                      properties:
                        vnfSoftwareVersion:
                          description: >
                            Software version to match.
                          $ref: "../../definitions/SOL023_def.yaml#/definitions/Version"
                        vnfdVersions:
                          description: >
                            If present, match VNF instances that belong to VNF
                            products with certain VNFD versions, a certain
                            software version and a certain product name, from
                            one particular provider.
                          type: array
                          items:
                            $ref: "../../definitions/SOL023_def.yaml#/definitions/Version"
      vnfInstanceIds:
        description: >
          If present, match VNF instances with an instance identifier listed
          in this attribute. See note 2.
        type: array
        items:
          $ref: "../../definitions/SOL023_def.yaml#/definitions/Identifier"
      vnfInstanceNames:
        description: >
          If present, match VNF instances with a VNF Instance Name listed in
          this attribute. See note 2.
        type: array
        items:
          type: string

  CertRepMessages:
    description: >
      This type represents a CertRepMessages.
    type: object
    required:
      - certResponse
    properties:
      certResponse:
        description: >
          The structure and attributes are defined in IETF RFC 5912.
        type: object
        required:
          - certReqId
          - status
        properties:
          certReqId:
            description: >
              Identifier of "CertReqMessages" or “CSRRequest” to corresponding to this "CertRepMessages".
            type: integer
          status:
            description: >
              State of the subject.
            $ref: "#/definitions/PKIStatusInfoType"

  CertSubjectData:
    description: >
      This type provides input information related to subject of certificate.
    type: object
    properties:
      commonName:
        description: >
          Information of certification target subject FQDN. 
          Can be set empty when this certificate is used for encrypted communication using IP address. 
          See note.

          NOTE:	At least one overriding attributes shall be present, otherwise shall be absent.
        type: string
      organization:
        description: >
          Information of certification target subject Organization.
          See note.

          NOTE:	At least one overriding attributes shall be present, otherwise shall be absent.
        type: string
      country:
        description: >
          Information of certification target subject Country.
          See note.

          NOTE:	At least one overriding attributes shall be present, otherwise shall be absent.
        type: string
      state:
        description: >
          Information of certification target subject State.
          See note.

          NOTE:	At least one overriding attributes shall be present, otherwise shall be absent.
        type: string
      locality:
        description: >
          Information of certification target subject Locality. 
          See note.

          NOTE:	At least one overriding attributes shall be present, otherwise shall be absent.
        type: string
      emailAddress:	
        description: >
          Information of certification contact email address. 
          See note.

          NOTE:	At least one overriding attributes shall be present, otherwise shall be absent.
        type: string