components:
  schemas:
    Memory_v1_7_0_Actions:
      additionalProperties: false
      description: The available actions for this resource.
      properties:
        '#Memory.DisablePassphrase':
          $ref: '#/components/schemas/Memory_v1_7_0_DisablePassphrase'
        '#Memory.OverwriteUnit':
          $ref: '#/components/schemas/Memory_v1_7_0_OverwriteUnit'
        '#Memory.SecureEraseUnit':
          $ref: '#/components/schemas/Memory_v1_7_0_SecureEraseUnit'
        '#Memory.SetPassphrase':
          $ref: '#/components/schemas/Memory_v1_7_0_SetPassphrase'
        '#Memory.UnlockUnit':
          $ref: '#/components/schemas/Memory_v1_7_0_UnlockUnit'
        Oem:
          $ref: '#/components/schemas/Memory_v1_7_0_OemActions'
          description: This property contains the available OEM specific actions for
            this resource.
          x-longDescription: This property shall contain any additional OEM actions
            for this resource.
      type: object
      x-longDescription: This type shall contain the available actions for this resource.
      x-patternProperties:
        ^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\.[a-zA-Z_][a-zA-Z0-9_.]+$:
          description: This property shall specify a valid odata or Redfish property.
    Memory_v1_7_0_BaseModuleType:
      enum:
      - RDIMM
      - UDIMM
      - SO_DIMM
      - LRDIMM
      - Mini_RDIMM
      - Mini_UDIMM
      - SO_RDIMM_72b
      - SO_UDIMM_72b
      - SO_DIMM_16b
      - SO_DIMM_32b
      - Die
      type: string
      x-enumDescriptions:
        Die: A die within a package.
        LRDIMM: Load Reduced.
        Mini_RDIMM: Mini_RDIMM.
        Mini_UDIMM: Mini_UDIMM.
        RDIMM: Registered DIMM.
        SO_DIMM: SO_DIMM.
        SO_DIMM_16b: SO_DIMM_16b.
        SO_DIMM_32b: SO_DIMM_32b.
        SO_RDIMM_72b: SO_RDIMM_72b.
        SO_UDIMM_72b: SO_UDIMM_72b.
        UDIMM: UDIMM.
      x-enumVersionAdded:
        Die: v1_7_0
    Memory_v1_7_0_DisablePassphrase:
      additionalProperties: false
      description: Disable passphrase for given regions.
      properties:
        target:
          description: Link to invoke action
          format: uri
          type: string
        title:
          description: Friendly action name
          type: string
      type: object
      x-longDescription: This action shall disaple the need for passphrases on the
        supplied region provided the supplied passphrase matches that of the region.
      x-patternProperties:
        ^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\.[a-zA-Z_][a-zA-Z0-9_.]+$:
          description: This property shall specify a valid odata or Redfish property.
    Memory_v1_7_0_DisablePassphraseRequestBody:
      additionalProperties: false
      description: Disable passphrase for given regions.
      properties:
        Passphrase:
          description: Passphrase for doing the operation.
          type: string
          x-longDescription: The value of this property shall be the passphrase used
            in this action.
        RegionId:
          description: Memory region ID for which this action to be applied.
          type: string
          x-longDescription: The value of this property shall be the Memory region
            ID for which this action to be applied.
      required:
      - Passphrase
      - RegionId
      type: object
      x-longDescription: This action shall disaple the need for passphrases on the
        supplied region provided the supplied passphrase matches that of the region.
    Memory_v1_7_0_ErrorCorrection:
      enum:
      - NoECC
      - SingleBitECC
      - MultiBitECC
      - AddressParity
      type: string
      x-enumDescriptions:
        AddressParity: Address Parity errors can be corrected.
        MultiBitECC: Multi-bit Data errors can be corrected by ECC.
        NoECC: No ECC available.
        SingleBitECC: Single bit Data error can be corrected by ECC.
    Memory_v1_7_0_Links:
      additionalProperties: false
      description: Contains references to other resources that are related to this
        resource.
      properties:
        Chassis:
          $ref: http://redfish.dmtf.org/schemas/v1/odata-v4.yaml#/components/schemas/odata-v4_idRef
          description: A reference to the Chassis which contains this Memory.
          readOnly: true
          x-longDescription: The value of this property shall be a reference to a
            resource of type Chassis that represent the physical container associated
            with this Memory.
          x-versionAdded: v1_2_0
        Oem:
          $ref: http://redfish.dmtf.org/schemas/v1/Resource.yaml#/components/schemas/Resource_Oem
          description: Oem extension object.
          x-longDescription: This object represents the Oem property.  All values
            for resources described by this schema shall comply to the requirements
            as described in the Redfish specification.
      type: object
      x-longDescription: This type, as described by the Redfish Specification, shall
        contain references to resources that are related to, but not contained by
        (subordinate to), this resource.
      x-patternProperties:
        ^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\.[a-zA-Z_][a-zA-Z0-9_.]+$:
          description: This property shall specify a valid odata or Redfish property.
    Memory_v1_7_0_Memory:
      additionalProperties: false
      description: This is the schema definition for definition of a Memory and its
        configuration.
      properties:
        '@odata.context':
          $ref: http://redfish.dmtf.org/schemas/v1/odata.v4_0_3.yaml#/components/schemas/odata_v4_0_3_context
        '@odata.etag':
          $ref: http://redfish.dmtf.org/schemas/v1/odata.v4_0_3.yaml#/components/schemas/odata_v4_0_3_etag
        '@odata.id':
          $ref: http://redfish.dmtf.org/schemas/v1/odata.v4_0_3.yaml#/components/schemas/odata_v4_0_3_id
        '@odata.type':
          $ref: http://redfish.dmtf.org/schemas/v1/odata.v4_0_3.yaml#/components/schemas/odata_v4_0_3_type
        Actions:
          $ref: '#/components/schemas/Memory_v1_7_0_Actions'
          description: The available actions for this resource.
          x-longDescription: The Actions property shall contain the available actions
            for this resource.
        AllocationAlignmentMiB:
          description: The boundary which memory regions are allocated on, measured
            in mebibytes (MiB).
          nullable: true
          readOnly: true
          type: integer
          x-longDescription: The value of this property shall be thealignment boundary
            on which memory regions are allocated, measured in MiB.
          x-units: MiBy
          x-versionAdded: v1_2_0
        AllocationIncrementMiB:
          description: The size of the smallest unit of allocation for a memory region
            in mebibytes (MiB).
          nullable: true
          readOnly: true
          type: integer
          x-longDescription: The value of this property shall be the allocation increment
            for regions, measured in MiB.
          x-units: MiBy
          x-versionAdded: v1_2_0
        AllowedSpeedsMHz:
          description: Speed bins supported by this Memory.
          items:
            type: integer
          readOnly: true
          type: array
          x-longDescription: The value of this property shall be the speed supported
            by this Memory.
          x-units: MHz
        Assembly:
          $ref: http://redfish.dmtf.org/schemas/v1/odata-v4.yaml#/components/schemas/odata-v4_idRef
          description: A reference to the Assembly resource associated with this memory.
          readOnly: true
          x-longDescription: The value of this property shall be a link to a resource
            of type Assembly.
          x-versionAdded: v1_4_0
        BaseModuleType:
          $ref: '#/components/schemas/Memory_v1_7_0_BaseModuleType'
          description: The base module type of Memory.
          nullable: true
          readOnly: true
          x-longDescription: The value of this property shall be the base module type
            of Memory.
        BusWidthBits:
          description: Bus Width in bits.
          nullable: true
          readOnly: true
          type: integer
          x-longDescription: The value of this property shall be the bus width in
            bits.
        CacheSizeMiB:
          description: Total size of the cache portion memory in MiB.
          nullable: true
          readOnly: true
          type: integer
          x-longDescription: The value of this property shall be the total size of
            the cache portion memory in MiB.
          x-units: MiBy
          x-versionAdded: v1_4_0
        CapacityMiB:
          description: Memory Capacity in mebibytes (MiB).
          nullable: true
          readOnly: true
          type: integer
          x-longDescription: The value of this property shall be the Memory capacity
            in MiB.
          x-units: MiBy
        ConfigurationLocked:
          description: Indicates that the configuration of this memory has been locked.
          nullable: true
          readOnly: true
          type: boolean
          x-longDescription: The value of this property shall be the current configuration
            lock state of this memory. True shall indicate that the configuration
            is locked and cannot be altered. False shall indicate that the configuration
            is not locked and may be altered.
          x-versionAdded: v1_7_0
        DataWidthBits:
          description: Data Width in bits.
          nullable: true
          readOnly: true
          type: integer
          x-longDescription: The value of this property shall be the data width in
            bits.
        Description:
          $ref: http://redfish.dmtf.org/schemas/v1/Resource.yaml#/components/schemas/Resource_Description
          nullable: true
          readOnly: true
        DeviceID:
          description: Device ID.
          nullable: true
          readOnly: true
          type: string
          x-longDescription: The value of this property shall be the device ID of
            the Memory.
        DeviceLocator:
          description: Location of the Memory in the platform.
          nullable: true
          readOnly: true
          type: string
          x-longDescription: The value of this property shall be location of the Memory
            in the platform, typically marked in the silk screen.
        ErrorCorrection:
          $ref: '#/components/schemas/Memory_v1_7_0_ErrorCorrection'
          description: Error correction scheme supported for this memory.
          nullable: true
          readOnly: true
          x-longDescription: The value of this property shall be the error correction
            scheme supported for this memory.
        FirmwareApiVersion:
          description: Version of API supported by the firmware.
          nullable: true
          readOnly: true
          type: string
          x-longDescription: The value of this property shall be the version of API
            supported by the firmware.
        FirmwareRevision:
          description: Revision of firmware on the Memory controller.
          nullable: true
          readOnly: true
          type: string
          x-longDescription: The value of this property shall be the revision of firmware
            on the Memory controller.
        FunctionClasses:
          description: Function Classes by the Memory.
          items:
            type: string
          readOnly: true
          type: array
          x-longDescription: The value of this property shall be the function classes
            by the Memory.
        Id:
          $ref: http://redfish.dmtf.org/schemas/v1/Resource.yaml#/components/schemas/Resource_Id
          readOnly: true
        IsRankSpareEnabled:
          description: Rank spare enabled status.
          nullable: true
          readOnly: true
          type: boolean
          x-longDescription: The value of this property shall be true if a rank spare
            is enabled for this Memory.
        IsSpareDeviceEnabled:
          description: Spare device enabled status.
          nullable: true
          readOnly: true
          type: boolean
          x-longDescription: The value of this property shall be true if a spare device
            is enabled for this Memory.
        Links:
          $ref: '#/components/schemas/Memory_v1_7_0_Links'
          description: Contains references to other resources that are related to
            this resource.
          x-longDescription: The Links property, as described by the Redfish Specification,
            shall contain references to resources that are related to, but not contained
            by (subordinate to), this resource.
          x-versionAdded: v1_2_0
        Location:
          $ref: http://redfish.dmtf.org/schemas/v1/Resource.yaml#/components/schemas/Resource_Location
          description: The Location of the memory.
          x-longDescription: This property shall contain location information of the
            associated memory.
          x-versionAdded: v1_4_0
        LogicalSizeMiB:
          description: Total size of the logical memory in MiB.
          nullable: true
          readOnly: true
          type: integer
          x-longDescription: The value of this property shall be the total size of
            the logical memory in MiB.
          x-units: MiBy
          x-versionAdded: v1_4_0
        Manufacturer:
          description: The Memory manufacturer.
          nullable: true
          readOnly: true
          type: string
          x-longDescription: This property shall contain a string which identifies
            the manufacturer of the Memory.
        MaxTDPMilliWatts:
          description: Maximum TDPs in milli Watts.
          items:
            type: integer
          readOnly: true
          type: array
          x-longDescription: The value of this property shall be the maximum power
            budgets supported by the Memory in milli Watts.
          x-units: mW
        MemoryDeviceType:
          $ref: '#/components/schemas/Memory_v1_7_0_MemoryDeviceType'
          description: Type details of the Memory.
          nullable: true
          readOnly: true
          x-longDescription: The value of this property shall be the Memory Device
            Type as defined by SMBIOS.
        MemoryLocation:
          $ref: '#/components/schemas/Memory_v1_7_0_MemoryLocation'
          description: Memory connection information to sockets and memory controllers.
          x-longDescription: This object shall contain properties which describe the
            Memory connection information to sockets and memory controllers.
        MemoryMedia:
          description: Media of this Memory.
          items:
            $ref: '#/components/schemas/Memory_v1_7_0_MemoryMedia'
          readOnly: true
          type: array
          x-longDescription: The value of this property shall be the media types of
            this Memory.
        MemorySubsystemControllerManufacturerID:
          description: The manufacturer ID of the memory subsystem controller of this
            memory module.
          nullable: true
          pattern: ^0[xX](([a-fA-F]|[0-9]){2}){2}$
          readOnly: true
          type: string
          x-longDescription: The value of this property shall be the two byte manufacturer
            ID of the memory subsystem controller of this memory module as defined
            by JEDEC in JEP-106.
          x-versionAdded: v1_3_0
        MemorySubsystemControllerProductID:
          description: The product ID of the memory subsystem controller of this memory
            module.
          nullable: true
          pattern: ^0[xX](([a-fA-F]|[0-9]){2}){2}$
          readOnly: true
          type: string
          x-longDescription: The value of this property shall be the two byte product
            ID of the memory subsystem controller of this memory module as defined
            by the manufacturer.
          x-versionAdded: v1_3_0
        MemoryType:
          $ref: '#/components/schemas/Memory_v1_7_0_MemoryType'
          description: The type of Memory.
          nullable: true
          readOnly: true
          x-longDescription: The value of this property shall be the type of Memory
            represented by this resource.
        Metrics:
          $ref: http://redfish.dmtf.org/schemas/v1/odata-v4.yaml#/components/schemas/odata-v4_idRef
          description: A reference to the Metrics associated with this Memory.
          readOnly: true
          x-longDescription: A reference to the Metrics associated with this Memory.
        ModuleManufacturerID:
          description: The manufacturer ID of this memory module.
          nullable: true
          pattern: ^0[xX](([a-fA-F]|[0-9]){2}){2}$
          readOnly: true
          type: string
          x-longDescription: The value of this property shall be the two byte manufacturer
            ID of this memory module as defined by JEDEC in JEP-106.
          x-versionAdded: v1_3_0
        ModuleProductID:
          description: The product ID of this memory module.
          nullable: true
          pattern: ^0[xX](([a-fA-F]|[0-9]){2}){2}$
          readOnly: true
          type: string
          x-longDescription: The value of this property shall be the two byte product
            ID of this memory module as defined by the manufacturer.
          x-versionAdded: v1_3_0
        Name:
          $ref: http://redfish.dmtf.org/schemas/v1/Resource.yaml#/components/schemas/Resource_Name
          readOnly: true
        NonVolatileSizeMiB:
          description: Total size of the non-volatile portion memory in MiB.
          nullable: true
          readOnly: true
          type: integer
          x-longDescription: The value of this property shall be the total size of
            the non-volatile portion memory in MiB.
          x-units: MiBy
          x-versionAdded: v1_4_0
        Oem:
          $ref: http://redfish.dmtf.org/schemas/v1/Resource.yaml#/components/schemas/Resource_Oem
          description: This is the manufacturer/provider specific extension moniker
            used to divide the Oem object into sections.
          x-longDescription: The value of this string shall be of the format for the
            reserved word *Oem*.
        OperatingMemoryModes:
          description: Memory modes supported by the Memory.
          items:
            $ref: '#/components/schemas/Memory_v1_7_0_OperatingMemoryModes'
          readOnly: true
          type: array
          x-longDescription: The value of this property shall be the memory modes
            supported by the Memory.
        OperatingSpeedMhz:
          description: Operating speed of Memory in MHz or MT/s as appropriate.
          nullable: true
          readOnly: true
          type: integer
          x-longDescription: The value of this property shall be the operating speed
            of Memory in MHz or MT/s (mega-transfers per second) as reported by the
            memory device. Memory devices which operate at their bus speed shall report
            the operating speed in MHz (bus speed), while memory device which transfer
            data faster than their bus speed (e.g. DDR memory) shall report the operating
            speed in MT/s (mega-transfers/second). In any case, the reported value
            shall match the conventionally reported values for the technology utilized
            by the memory device.
          x-units: MHz
        PartNumber:
          description: The product part number of this device.
          nullable: true
          readOnly: true
          type: string
          x-longDescription: This property shall indicate the part number as provided
            by the manufacturer of this Memory.
        PersistentRegionNumberLimit:
          description: Total number of persistent regions this Memory can support.
          nullable: true
          readOnly: true
          type: integer
          x-longDescription: The value of this property shall be the total number
            of persistent regions this Memory can support.
          x-versionAdded: v1_2_0
        PersistentRegionSizeLimitMiB:
          description: Total size of persistent regions in mebibytes (MiB).
          nullable: true
          readOnly: true
          type: integer
          x-longDescription: The value of this property shall be the total size of
            persistent regions in MiB.
          x-units: MiBy
        PersistentRegionSizeMaxMiB:
          description: Maximum size of a single persistent region in mebibytes (MiB).
          nullable: true
          readOnly: true
          type: integer
          x-longDescription: The value of this property shall be the maximum size
            of a single persistent regions in MiB.
          x-units: MiBy
          x-versionAdded: v1_2_0
        PowerManagementPolicy:
          $ref: '#/components/schemas/Memory_v1_7_0_PowerManagementPolicy'
          description: Power management policy information.
          x-longDescription: This object shall contain properties which describe the
            power management policy for the current resource.
        RankCount:
          description: Number of ranks available in the Memory.
          nullable: true
          readOnly: true
          type: integer
          x-longDescription: The value of this property shall be number of ranks available
            in the Memory. The ranks could be used for spare or interleave.
        Regions:
          description: Memory regions information within the Memory.
          items:
            $ref: '#/components/schemas/Memory_v1_7_0_RegionSet'
          type: array
          x-longDescription: The value of this property shall be the memory region
            information within the Memory.
        SecurityCapabilities:
          $ref: '#/components/schemas/Memory_v1_7_0_SecurityCapabilities'
          description: This object contains security capabilities of the Memory.
          x-longDescription: This object shall contain properties which describe the
            security capabilities of the Memory.
        SecurityState:
          $ref: '#/components/schemas/Memory_v1_7_0_SecurityStates'
          description: The current security state of this Memory.
          nullable: true
          readOnly: false
          x-longDescription: The value of this property shall be the current security
            state of this memory.
          x-versionAdded: v1_7_0
        SerialNumber:
          description: The product serial number of this device.
          nullable: true
          readOnly: true
          type: string
          x-longDescription: This property shall indicate the serial number as provided
            by the manufacturer of this Memory.
        SpareDeviceCount:
          description: Number of unused spare devices available in the Memory.
          nullable: true
          readOnly: true
          type: integer
          x-longDescription: The value of this property shall be the number of unused
            spare devices available in the Memory. If memory devices fails, the spare
            device could be used.
        Status:
          $ref: http://redfish.dmtf.org/schemas/v1/Resource.yaml#/components/schemas/Resource_Status
          description: This property describes the status and health of the resource
            and its children.
          x-longDescription: This property shall contain any status or health properties
            of the resource.
          x-versionAdded: v1_1_0
        SubsystemDeviceID:
          description: Subsystem Device ID.
          nullable: true
          readOnly: true
          type: string
          x-longDescription: The value of this property shall be the subsystem Device
            ID of the Memory.
        SubsystemVendorID:
          description: SubSystem Vendor ID.
          nullable: true
          readOnly: true
          type: string
          x-longDescription: The value of this property shall be the subsystem Vendor
            ID of the Memory.
        VendorID:
          description: Vendor ID.
          nullable: true
          readOnly: true
          type: string
          x-longDescription: The value of this property shall be the vendor ID of
            the Memory.
        VolatileRegionNumberLimit:
          description: Total number of volatile regions this Memory can support.
          nullable: true
          readOnly: true
          type: integer
          x-longDescription: The value of this property shall be the total number
            of volatile regions this Memory can support.
          x-versionAdded: v1_2_0
        VolatileRegionSizeLimitMiB:
          description: Total size of volatile regions in mebibytes (MiB).
          nullable: true
          readOnly: true
          type: integer
          x-longDescription: The value of this property shall be the total size of
            volatile regions in MiB.
          x-units: MiBy
        VolatileRegionSizeMaxMiB:
          description: Maximum size of a single volatile region in mebibytes (MiB).
          nullable: true
          readOnly: true
          type: integer
          x-longDescription: The value of this property shall be the maximum size
            of a single volatile regions in MiB.
          x-units: MiBy
          x-versionAdded: v1_2_0
        VolatileSizeMiB:
          description: Total size of the volitile portion memory in MiB.
          nullable: true
          readOnly: true
          type: integer
          x-longDescription: The value of this property shall be the total size of
            the volatile portion memory in MiB.
          x-units: MiBy
          x-versionAdded: v1_4_0
      required:
      - '@odata.id'
      - '@odata.type'
      - Id
      - Name
      type: object
      x-longDescription: This resource shall be used to represent the Memory in a
        Redfish implementation.
      x-patternProperties:
        ^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\.[a-zA-Z_][a-zA-Z0-9_.]+$:
          description: This property shall specify a valid odata or Redfish property.
    Memory_v1_7_0_MemoryClassification:
      enum:
      - Volatile
      - ByteAccessiblePersistent
      - Block
      type: string
      x-enumDescriptions:
        Block: Block accesible memory.
        ByteAccessiblePersistent: Byte accessible persistent memory.
        Volatile: Volatile memory.
    Memory_v1_7_0_MemoryDeviceType:
      enum:
      - DDR
      - DDR2
      - DDR3
      - DDR4
      - DDR4_SDRAM
      - DDR4E_SDRAM
      - LPDDR4_SDRAM
      - DDR3_SDRAM
      - LPDDR3_SDRAM
      - DDR2_SDRAM
      - DDR2_SDRAM_FB_DIMM
      - DDR2_SDRAM_FB_DIMM_PROBE
      - DDR_SGRAM
      - DDR_SDRAM
      - ROM
      - SDRAM
      - EDO
      - FastPageMode
      - PipelinedNibble
      - Logical
      - HBM
      - HBM2
      type: string
      x-enumDescriptions:
        DDR: DDR.
        DDR2: DDR2.
        DDR2_SDRAM: DDR2 SDRAM.
        DDR2_SDRAM_FB_DIMM: DDR2 SDRAM FB_DIMM.
        DDR2_SDRAM_FB_DIMM_PROBE: DDR2 SDRAM FB_DIMM PROBE.
        DDR3: DDR3.
        DDR3_SDRAM: DDR3 SDRAM.
        DDR4: DDR4.
        DDR4E_SDRAM: DDR4E SDRAM.
        DDR4_SDRAM: DDR4 SDRAM.
        DDR_SDRAM: DDR SDRAM.
        DDR_SGRAM: DDR SGRAM.
        EDO: EDO.
        FastPageMode: Fast Page Mode.
        HBM: High Bandwidth Memory.
        HBM2: High Bandwidth Memory 2.
        LPDDR3_SDRAM: LPDDR3 SDRAM.
        LPDDR4_SDRAM: LPDDR4 SDRAM.
        Logical: Logical Non-volatile device.
        PipelinedNibble: Pipelined Nibble.
        ROM: ROM.
        SDRAM: SDRAM.
      x-enumVersionAdded:
        HBM: v1_7_0
        HBM2: v1_7_0
        Logical: v1_4_0
    Memory_v1_7_0_MemoryLocation:
      additionalProperties: false
      description: Memory connection information to sockets and memory controllers.
      properties:
        Channel:
          description: Channel number in which Memory is connected.
          nullable: true
          readOnly: true
          type: integer
          x-longDescription: Channel number in which Memory is connected.
        MemoryController:
          description: Memory controller number in which Memory is connected.
          nullable: true
          readOnly: true
          type: integer
          x-longDescription: Memory controller number in which Memory is connected.
        Slot:
          description: Slot number in which Memory is connected.
          nullable: true
          readOnly: true
          type: integer
          x-longDescription: Slot number in which Memory is connected.
        Socket:
          description: Socket number in which Memory is connected.
          nullable: true
          readOnly: true
          type: integer
          x-longDescription: Socket number in which Memory is connected.
      type: object
      x-longDescription: This type shall contain properties which describe the Memory
        connection information to sockets and memory controllers.
      x-patternProperties:
        ^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\.[a-zA-Z_][a-zA-Z0-9_.]+$:
          description: This property shall specify a valid odata or Redfish property.
    Memory_v1_7_0_MemoryMedia:
      enum:
      - DRAM
      - NAND
      - Intel3DXPoint
      - Proprietary
      type: string
      x-enumDescriptions:
        DRAM: DRAM media.
        Intel3DXPoint: Intel 3D XPoint media.
        NAND: NAND media.
        Proprietary: Proprietary media.
      x-enumVersionAdded:
        Intel3DXPoint: v1_7_0
    Memory_v1_7_0_MemoryType:
      enum:
      - DRAM
      - NVDIMM_N
      - NVDIMM_F
      - NVDIMM_P
      - IntelOptane
      type: string
      x-enumDescriptions:
        DRAM: The memory module is composed of volatile memory.
        IntelOptane: The memory module is Intel Optane DC Persistent Memory and composed
          of a combination of non-volatile and volatile memory.
        NVDIMM_F: The memory module is composed of non-volatile memory.
        NVDIMM_N: The memory module is composed of volatile memory backed by non-volatile
          memory.
        NVDIMM_P: The memory module is composed of a combination of non-volatile and
          volatile memory.
      x-enumLongDescriptions:
        DRAM: This memory type shall represent volatile DRAM.
        IntelOptane: This memory type shall represent Intel Optane DC Persistent Memory.
        NVDIMM_F: This memory type shall represent NVDIMM_F as defined by JEDEC.
        NVDIMM_N: This memory type shall represent NVDIMM_N as defined by JEDEC.
        NVDIMM_P: This memory type shall represent NVDIMM_P as defined by JEDEC.
      x-enumVersionAdded:
        IntelOptane: v1_6_0
    Memory_v1_7_0_OemActions:
      additionalProperties: true
      description: The available OEM specific actions for this resource.
      properties: {}
      type: object
      x-longDescription: This type shall contain any additional OEM actions for this
        resource.
      x-patternProperties:
        ^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\.[a-zA-Z_][a-zA-Z0-9_.]+$:
          description: This property shall specify a valid odata or Redfish property.
    Memory_v1_7_0_OperatingMemoryModes:
      enum:
      - Volatile
      - PMEM
      - Block
      type: string
      x-enumDescriptions:
        Block: Block accessible system memory.
        PMEM: Persistent memory, byte accesible through system address space.
        Volatile: Volatile memory.
    Memory_v1_7_0_OverwriteUnit:
      additionalProperties: false
      description: 'This defines the action for securely erasing given regions using
        the NIST SP800-88 Purge: Overwrite.'
      properties:
        target:
          description: Link to invoke action
          format: uri
          type: string
        title:
          description: Friendly action name
          type: string
      type: object
      x-longDescription: 'This action shall securely erase the supplied region provided
        the supplied passphrase matches that of the given region using the NIST SP800-88
        Purge: Overwrite. Use the SecureEraseUnit method to perform NIST SP800-88
        Purge: Cryptographic Erase.'
      x-patternProperties:
        ^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\.[a-zA-Z_][a-zA-Z0-9_.]+$:
          description: This property shall specify a valid odata or Redfish property.
      x-versionAdded: v1_6_0
    Memory_v1_7_0_OverwriteUnitRequestBody:
      additionalProperties: false
      description: 'This defines the action for securely erasing given regions using
        the NIST SP800-88 Purge: Overwrite.'
      properties:
        Passphrase:
          description: Passphrase for doing the operation.
          type: string
          x-longDescription: The value of this property shall be the passphrase used
            in this action.
        RegionId:
          description: Memory region ID for which this action to be applied.
          type: string
          x-longDescription: The value of this property shall be the Memory region
            ID for which this action to be applied.
      required:
      - Passphrase
      - RegionId
      type: object
      x-longDescription: 'This action shall securely erase the supplied region provided
        the supplied passphrase matches that of the given region using the NIST SP800-88
        Purge: Overwrite. Use the SecureEraseUnit method to perform NIST SP800-88
        Purge: Cryptographic Erase.'
    Memory_v1_7_0_PowerManagementPolicy:
      additionalProperties: false
      description: Power management policy information.
      properties:
        AveragePowerBudgetMilliWatts:
          description: Average power budget in milli watts.
          nullable: true
          readOnly: true
          type: integer
          x-longDescription: Average power budget in milli watts.
          x-units: mW
        MaxTDPMilliWatts:
          description: Maximum TDP in milli watts.
          nullable: true
          readOnly: true
          type: integer
          x-longDescription: Maximum TDP in milli watts.
          x-units: mW
        PeakPowerBudgetMilliWatts:
          description: Peak power budget in milli watts.
          nullable: true
          readOnly: true
          type: integer
          x-longDescription: Peak power budget in milli watts.
          x-units: mW
        PolicyEnabled:
          description: Power management policy enabled status.
          nullable: true
          readOnly: true
          type: boolean
          x-longDescription: Power management policy enabled status.
      type: object
      x-longDescription: This type shall contain properties which describe the power
        management policy for the current resource.
      x-patternProperties:
        ^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\.[a-zA-Z_][a-zA-Z0-9_.]+$:
          description: This property shall specify a valid odata or Redfish property.
    Memory_v1_7_0_RegionSet:
      additionalProperties: false
      description: Memory region information within a Memory entity.
      properties:
        MemoryClassification:
          $ref: '#/components/schemas/Memory_v1_7_0_MemoryClassification'
          description: Classification of memory occupied by the given memory region.
          nullable: true
          readOnly: true
          x-longDescription: Classification of memory occupied by the given memory
            region.
        OffsetMiB:
          description: Offset with in the Memory that corresponds to the starting
            of this memory region in mebibytes (MiB).
          nullable: true
          readOnly: true
          type: integer
          x-longDescription: Offset with in the Memory that corresponds to the starting
            of this memory region in MiB.
          x-units: MiBy
        PassphraseEnabled:
          description: Indicates if the passphrase is enabled for this region.
          nullable: true
          readOnly: true
          type: boolean
          x-longDescription: The value of this property shall be a boolean indicating
            if the passphrase is enabled for this region.
          x-versionAdded: v1_5_0
        PassphraseState:
          description: State of the passphrase for this region.
          nullable: true
          readOnly: true
          type: boolean
          x-longDescription: State of the passphrase for this region.
        RegionId:
          description: Unique region ID representing a specific region within the
            Memory.
          nullable: true
          readOnly: true
          type: string
          x-longDescription: Unique region ID representing a specific region within
            the Memory.
        SizeMiB:
          description: Size of this memory region in mebibytes (MiB).
          nullable: true
          readOnly: true
          type: integer
          x-longDescription: Size of this memory region in MiB.
          x-units: MiBy
      type: object
      x-longDescription: This type shall describe the memory region information within
        a Memory entity.
      x-patternProperties:
        ^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\.[a-zA-Z_][a-zA-Z0-9_.]+$:
          description: This property shall specify a valid odata or Redfish property.
    Memory_v1_7_0_SecureEraseUnit:
      additionalProperties: false
      description: 'This defines the action for securely erasing given regions using
        the NIST SP800-88 Purge: Cryptograhic Erase.'
      properties:
        target:
          description: Link to invoke action
          format: uri
          type: string
        title:
          description: Friendly action name
          type: string
      type: object
      x-longDescription: 'This action shall securely erase the supplied region provided
        the supplied passphrase matches that of the given region using the NIST SP800-88
        Purge: Cryptographic Erase. Use the OverwriteUnit method to perform NIST SP800-88
        Purge: Overwrite.'
      x-patternProperties:
        ^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\.[a-zA-Z_][a-zA-Z0-9_.]+$:
          description: This property shall specify a valid odata or Redfish property.
    Memory_v1_7_0_SecureEraseUnitRequestBody:
      additionalProperties: false
      description: 'This defines the action for securely erasing given regions using
        the NIST SP800-88 Purge: Cryptograhic Erase.'
      properties:
        Passphrase:
          description: Passphrase for doing the operation.
          type: string
          x-longDescription: The value of this property shall be the passphrase used
            in this action.
        RegionId:
          description: Memory region ID for which this action to be applied.
          type: string
          x-longDescription: The value of this property shall be the Memory region
            ID for which this action to be applied.
      required:
      - Passphrase
      - RegionId
      type: object
      x-longDescription: 'This action shall securely erase the supplied region provided
        the supplied passphrase matches that of the given region using the NIST SP800-88
        Purge: Cryptographic Erase. Use the OverwriteUnit method to perform NIST SP800-88
        Purge: Overwrite.'
    Memory_v1_7_0_SecurityCapabilities:
      additionalProperties: false
      description: This type contains security capabilities of a Memory entity.
      properties:
        ConfigurationLockCapable:
          description: Support for locking the configuration.
          nullable: true
          readOnly: true
          type: boolean
          x-longDescription: The value of this property shall indicate whether this
            memory supports the locking (freezing) of the configuration.
          x-versionAdded: v1_7_0
        DataLockCapable:
          description: Support for data locking.
          nullable: true
          readOnly: true
          type: boolean
          x-longDescription: The value of this property shall indicate whether this
            memory supports the locking of data access.
          x-versionAdded: v1_7_0
        MaxPassphraseCount:
          description: Maximum number of passphrases supported for this Memory.
          nullable: true
          readOnly: true
          type: integer
          x-longDescription: Maximum number of passphrases supported for this Memory.
        PassphraseCapable:
          description: Memory passphrase set capability.
          nullable: true
          readOnly: true
          type: boolean
          x-longDescription: Memory passphrase set capability.
        PassphraseLockLimit:
          description: Maximum number of incorrect passphrase attempts allowed before
            memory is locked.
          nullable: true
          readOnly: true
          type: integer
          x-longDescription: The value of this property shall be the maximum number
            of incorrect passphase access attempts allowed before access to data is
            locked. A value of zero shall indicate that there is no limit to the number
            of attempts.
          x-versionAdded: v1_7_0
        SecurityStates:
          description: Security states supported by the Memory.
          items:
            $ref: '#/components/schemas/Memory_v1_7_0_SecurityStates'
          readOnly: true
          type: array
          x-longDescription: Security states supported by the Memory.
      type: object
      x-longDescription: This type shall contain properties which describe the security
        capabilities of a Memory entity.
      x-patternProperties:
        ^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\.[a-zA-Z_][a-zA-Z0-9_.]+$:
          description: This property shall specify a valid odata or Redfish property.
    Memory_v1_7_0_SecurityStates:
      enum:
      - Enabled
      - Disabled
      - Unlocked
      - Locked
      - Frozen
      - Passphraselimit
      type: string
      x-enumDeprecated:
        Frozen: This value has been deprecated in favor of using the ConfigurationLocked
          to indicate that the configuration has been frozen.
        Unlocked: This value has been deprecated in favor of 'Enabled' to indicate
          normal security operation.
      x-enumDescriptions:
        Disabled: Secure mode is disabled.
        Enabled: Secure mode is enabled and access to the data is allowed.
        Frozen: Secure state is frozen and can not be modified until reset.
        Locked: Secure mode is enabled and access to the data is locked.
        Passphraselimit: Number of attempts to unlock the Memory exceeded limit.
        Unlocked: Secure mode is enabled and access to the data is unlocked.
      x-enumVersionDeprecated:
        Frozen: v1_7_0
        Unlocked: v1_7_0
    Memory_v1_7_0_SetPassphrase:
      additionalProperties: false
      description: Set passphrase for the given regions.
      properties:
        target:
          description: Link to invoke action
          format: uri
          type: string
        title:
          description: Friendly action name
          type: string
      type: object
      x-longDescription: This action shall apply the supplied passphrase to the supplied
        region.
      x-patternProperties:
        ^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\.[a-zA-Z_][a-zA-Z0-9_.]+$:
          description: This property shall specify a valid odata or Redfish property.
    Memory_v1_7_0_SetPassphraseRequestBody:
      additionalProperties: false
      description: Set passphrase for the given regions.
      properties:
        Passphrase:
          description: Passphrase for doing the operation.
          type: string
          x-longDescription: The value of this property shall be the passphrase used
            in this action.
        RegionId:
          description: Memory region ID for which this action to be applied.
          type: string
          x-longDescription: The value of this property shall be the Memory region
            ID for which this action to be applied.
      required:
      - Passphrase
      - RegionId
      type: object
      x-longDescription: This action shall apply the supplied passphrase to the supplied
        region.
    Memory_v1_7_0_UnlockUnit:
      additionalProperties: false
      description: This defines the action for unlocking given regions.
      properties:
        target:
          description: Link to invoke action
          format: uri
          type: string
        title:
          description: Friendly action name
          type: string
      type: object
      x-longDescription: This action shall apply the supplied passphrase to the supplied
        region for the purpose of unlocking the given regions.
      x-patternProperties:
        ^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\.[a-zA-Z_][a-zA-Z0-9_.]+$:
          description: This property shall specify a valid odata or Redfish property.
    Memory_v1_7_0_UnlockUnitRequestBody:
      additionalProperties: false
      description: This defines the action for unlocking given regions.
      properties:
        Passphrase:
          description: Passphrase for doing the operation.
          type: string
          x-longDescription: The value of this property shall be the passphrase used
            in this actionn.
        RegionId:
          description: Memory region ID for which this action to be applied.
          type: string
          x-longDescription: The value of this property shall be the Memory region
            ID for which this action to be applied.
      required:
      - Passphrase
      - RegionId
      type: object
      x-longDescription: This action shall apply the supplied passphrase to the supplied
        region for the purpose of unlocking the given regions.
title: '#Memory.v1_7_0.Memory'
x-copyright: Copyright 2014-2018 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright
x-owningEntity: DMTF
x-release: '2018.3'
