description: >
    Implement this to add Resource dump management.

    The resource dumps are special types of dumps generated by host hypervisor.
    The dump is generated based on the resource selector. Hyperviosr needs a
    password to validate the request before creating the dump.

properties:
    - name: SourceDumpId
      type: uint32
      description: >
          The dump id provided by the source of the dump. There are dumps which
          get generated outside the BMC, like a resource dump which gets
          generated and stored in the host memory. All dumps will have a unique
          id but when communicating to the source of the dump the SourceDumpId
          will be used.
    - name: VSPString
      type: string
      description: >
          The resource selector for generating the dump.
    - name: UserChallenge
      type: string
      description: >
          On some host implementations a user-challenge need to be provided by
          the user and it flows through BMC and up to the host as a part of the
          dump request. Non-disruptive dumps consume significant host resources
          and involve the collection of host memory data. To safeguard these
          operations and ensure they are initiated only by authorized personnel,
          the provided passphrase is employed. In some systems, an Access
          Control List (ACL) file, provided through the Platform Level Data
          Model (PLDM), is used. The host validates the provided user-challenge
          against this ACL. If the user-challenge doesn't match any entry in the
          ACL, the host will reject the dump request. This field is needed so
          the host can check that only authorized users are allowed to perform
          certain dump operations.
    - name: Token
      type: uint32
      description: >
          A token exchanged with an external firmware subsystem when creating a
          dump outside of the BMC. This token can be used to identify the dump
          entry once the collection is completed.
    - name: DumpRequestStatus
      type: enum[self.HostResponse]
      description: >
          The host will send a response code for each request to create a
          resource dump to indicate whether the request is successful or there
          is an error.
      default: Unknown

enumerations:
    - name: HostResponse
      description: >
          These are the possible response codes from the host after sending a
          resource dump request.
      values:
          - name: Unknown
            description: >
                The status of the request is unknown, or not initialized
          - name: Requested
            description: >
                Requested for resource dump and awaiting the host response
          - name: Success
            description: >
                Resource dump parameters and ACF data are successfully validated
          - name: ACLFileInvalid
            description: >
                Invalid Access Control List file
          - name: UserChallengeInvalid
            description: >
                User challenge provided is not valid
          - name: PermissionDenied
            descVSPtion: >
                Caller does not have enough privileges to execute the requested
                resource selector(VSP string)
          - name: ResourceSelectorInvalid
            description: >
                Resource selector(VSP String) provided is not valid