{
    "@Redfish.Copyright": "Copyright 2019-2026 DMTF. All rights reserved.",
    "@odata.type": "#MessageRegistry.v1_7_0.MessageRegistry",
    "Id": "Composition.1.2.0",
    "Name": "Composition Message Registry",
    "Language": "en",
    "Description": "This registry defines the messages for composition related events.",
    "RegistryPrefix": "Composition",
    "RegistryVersion": "1.2.0",
    "Release": "2026.1",
    "OwningEntity": "DMTF",
    "Messages": {
        "ResourceBlockChanged": {
            "Description": "Indicates that a resource block has changed.  This is not used whenever there is another event message for that specific change, such as when only the state has changed.",
            "LongDescription": "This message shall indicate that one or more properties of a `ResourceBlock` resource have changed.  This message shall not be used for cases where a more specific message could be used in its place.",
            "Message": "Resource block '%1' has changed on the service.",
            "Example": "Resource block 'Block1' has changed on the service.",
            "Severity": "OK",
            "MessageSeverity": "OK",
            "NumberOfArgs": 1,
            "ParamTypes": [
                "string"
            ],
            "ArgDescriptions": [
                "The `Id` of the resource block that has changed."
            ],
            "ArgLongDescriptions": [
                "This argument shall contain the value of the `Id` property of the `ResourceBlock` resource that has changed."
            ],
            "Resolution": "None."
        },
        "ResourceBlockStateChanged": {
            "Description": "Indicates that the state of a resource block has changed, specifically the value of the `State` property within `Status`.",
            "LongDescription": "This message shall indicate that the `State` property within the `Status` object of a `ResourceBlock` resource has changed.",
            "Message": "The state of resource block '%1' has changed.",
            "Example": "The state of resource block 'Block1' has changed.",
            "Severity": "OK",
            "MessageSeverity": "OK",
            "NumberOfArgs": 1,
            "ParamTypes": [
                "string"
            ],
            "ArgDescriptions": [
                "The `Id` of the resource block that has changed."
            ],
            "ArgLongDescriptions": [
                "This argument shall contain the value of the `Id` property of the `ResourceBlock` resource that has changed."
            ],
            "Resolution": "None."
        },
        "ResourceBlockCompositionStateChanged": {
            "Description": "Indicates that the composition state of a resource block has changed, specifically the value of the `CompositionState` property within `CompositionStatus`.",
            "LongDescription": "This message shall indicate that the `CompositionState` property within the `CompositionStatus` object of a `ResourceBlock` resource has changed.",
            "Message": "The composition status of the resource block '%1' has changed.",
            "Example": "The composition status of the resource block 'Block1' has changed.",
            "Severity": "OK",
            "MessageSeverity": "OK",
            "NumberOfArgs": 1,
            "ParamTypes": [
                "string"
            ],
            "ArgDescriptions": [
                "The `Id` of the resource block that has changed."
            ],
            "ArgLongDescriptions": [
                "This argument shall contain the value of the `Id` property of the `ResourceBlock` resource that has changed."
            ],
            "Resolution": "None."
        },
        "ResourceZoneMembershipChanged": {
            "Description": "Indicates that the membership of a resource zone has changed due to resource blocks being added or removed from the resource zone.",
            "LongDescription": "This message shall indicate that entries found in the `ResourceBlocks` array within the `Links` object for a resource zone have been added or removed.",
            "Message": "The membership of resource zone '%1' has been changed.",
            "Example": "The membership of resource zone 'Zone1' has been changed.",
            "Severity": "OK",
            "MessageSeverity": "OK",
            "NumberOfArgs": 1,
            "ParamTypes": [
                "string"
            ],
            "ArgDescriptions": [
                "The `Id` of the resource zone that has changed."
            ],
            "ArgLongDescriptions": [
                "This argument shall contain the value of the `Id` property of the `Zone` resource that represents the resource zone that has changed."
            ],
            "Resolution": "None."
        },
        "ResourceBlockInUse": {
            "Description": "Indicates that the composition request contains a resource block that is unable to participate in more compositions.",
            "LongDescription": "This message shall indicate that the composition request contains a `ResourceBlock` resource that is unable to participate in more compositions due to restrictions specified in its `CompositionStatus` property.  For example, the resource block has reached its composition limit specified by the `MaxCompositions` property.",
            "Message": "Resource block '%1' cannot be part of any new compositions.",
            "Example": "Resource block 'Block1' cannot be part of any new compositions.",
            "Severity": "Warning",
            "MessageSeverity": "Warning",
            "NumberOfArgs": 1,
            "ParamTypes": [
                "string"
            ],
            "ArgDescriptions": [
                "The `Id` of the resource block that cannot be part of any new compositions."
            ],
            "ArgLongDescriptions": [
                "This argument shall contain the value of the `Id` property of the `ResourceBlock` resource that cannot be part of any new compositions."
            ],
            "Resolution": "Remove the resource block from the request and resubmit the request."
        },
        "EmptyManifest": {
            "Description": "Indicates that the manifest contains no stanzas or that a stanza in the manifest contains no request.",
            "LongDescription": "This message shall indicate that the manifest contains no stanzas or that a stanza in the manifest contains no request.",
            "Message": "The provided manifest is empty or a stanza in the manifest contains no request.",
            "Example": "The provided manifest is empty or a stanza in the manifest contains no request.",
            "Severity": "Warning",
            "MessageSeverity": "Warning",
            "VersionAdded": "1.1.0",
            "NumberOfArgs": 0,
            "Resolution": "Provide a request content for the manifest and resubmit."
        },
        "UnableToProcessStanzaRequest": {
            "Description": "Indicates that the manifest provided for the `Compose` action contains a stanza with `Content` that could not be processed.",
            "LongDescription": "This message shall indicate that the manifest provided for the `Compose` action contains a stanza with `Content` that could not be processed.",
            "Message": "The provided manifest for the Compose action of type '%1' contains a stanza with Id of value '%2' with a Content parameter that could not be processed.",
            "Example": "The provided manifest for the Compose action of type 'Simple' contains a stanza with Id of value 'Stanza1' with a Content parameter that could not be processed.",
            "Severity": "Critical",
            "MessageSeverity": "Critical",
            "VersionAdded": "1.1.0",
            "NumberOfArgs": 2,
            "ParamTypes": [
                "string",
                "string"
            ],
            "ArgDescriptions": [
                "The `RequestType` of the `Compose` action.",
                "The `Id` of the stanza."
            ],
            "ArgLongDescriptions": [
                "This argument shall contain the value of the `RequestType` parameter of the `Compose` action.",
                "This argument shall contain the value of the `Id` parameter of the stanza."
            ],
            "Resolution": "Add the Content parameter to the stanza or remove the stanza, and resubmit the request."
        },
        "ResourceBlockInvalid": {
            "Description": "Indicates that the `Id` of a referenced resource block is no longer valid.",
            "LongDescription": "This message shall indicate that the `Id` of a referenced `ResourceBlock` resource is no longer valid.",
            "Message": "Resource block '%1' is not valid.",
            "Example": "Resource block 'Block1' is not valid.",
            "Severity": "Critical",
            "MessageSeverity": "Critical",
            "VersionAdded": "1.1.0",
            "NumberOfArgs": 1,
            "ParamTypes": [
                "string"
            ],
            "ArgDescriptions": [
                "The `Id` of the resource block."
            ],
            "ArgLongDescriptions": [
                "This argument shall contain the value of the `Id` property of the `ResourceBlock` resource that is no longer valid."
            ],
            "Resolution": "Remove the resource block and resubmit the request."
        },
        "ResourceBlockNotFound": {
            "Description": "Indicates that the referenced resource block was not found.",
            "LongDescription": "This message shall indicate that the referenced `ResourceBlock` resource was not found.",
            "Message": "Resource block '%1' was not found.",
            "Example": "Resource block 'Block1' was not found.",
            "Severity": "Critical",
            "MessageSeverity": "Critical",
            "VersionAdded": "1.1.0",
            "NumberOfArgs": 1,
            "ParamTypes": [
                "string"
            ],
            "ArgDescriptions": [
                "The URI of the resource block."
            ],
            "ArgLongDescriptions": [
                "This argument shall contain the value of the URI of the `ResourceBlock` resource that was not found."
            ],
            "Resolution": "Remove the resource block and resubmit the request."
        },
        "NoResourceMatch": {
            "Description": "Indicates that the service could not find a matching resource based on the given parameters.",
            "LongDescription": "This message shall indicate that the service could not find a matching resource based on the given parameters.",
            "Message": "The requested resources of type '%1' are not available for allocation.",
            "Example": "The requested resources of type 'Processor' are not available for allocation.",
            "Severity": "Critical",
            "MessageSeverity": "Critical",
            "VersionAdded": "1.1.0",
            "NumberOfArgs": 1,
            "ParamTypes": [
                "string"
            ],
            "ArgDescriptions": [
                "The resource type requested."
            ],
            "ArgLongDescriptions": [
                "This argument shall contain the schema name of the requested resource."
            ],
            "Resolution": "Change parameters associated with the resource, such as quantity or performance, and resubmit the request."
        },
        "IncompatibleZone": {
            "Description": "Indicates that not all referenced resource blocks are in the same resource zone.",
            "LongDescription": "This message shall indicate that not all referenced `ResourceBlock` resources are in the same resource zone.",
            "Message": "The requested resource blocks span multiple resource zones.",
            "Example": "The requested resource blocks span multiple resource zones.",
            "Severity": "Critical",
            "MessageSeverity": "Critical",
            "VersionAdded": "1.1.0",
            "NumberOfArgs": 0,
            "Resolution": "Request resource blocks from the same resource zone."
        },
        "SpecifiedResourceAlreadyReserved": {
            "Description": "Indicates that a resource block is already reserved in response to a specific composition request.",
            "LongDescription": "This message shall indicate that a `ResourceBlock` resource is already reserved in response to a specific composition request.",
            "Message": "Resource block '%1' is already reserved under reservation '%2'.",
            "Example": "Resource block 'Block1' is already reserved under reservation 'Reservation1'.",
            "Severity": "Critical",
            "MessageSeverity": "Critical",
            "VersionAdded": "1.1.0",
            "NumberOfArgs": 2,
            "ParamTypes": [
                "string",
                "string"
            ],
            "ArgDescriptions": [
                "The `Id` of the resource block.",
                "The `Id` of the reservation."
            ],
            "ArgLongDescriptions": [
                "This argument shall contain the value of the `Id` property of the `ResourceBlock` resource that is already reserved.",
                "This argument shall contain the value of the `Id` property of the `CompositionReservation` resource containing the requested resource."
            ],
            "Resolution": "Delete the reservation containing the resource block or select a different resource block and resubmit the request."
        },
        "ConstrainedResourceAlreadyReserved": {
            "Description": "Indicates that the requested resources are already reserved in response to a constrained composition request.",
            "LongDescription": "This message shall indicate that the requested resources are already reserved in response to a constrained composition request.",
            "Message": "The requested resources are reserved under reservation '%1'.",
            "Example": "The requested resources are reserved under reservation 'Reservation1'.",
            "Severity": "Critical",
            "MessageSeverity": "Critical",
            "VersionAdded": "1.1.0",
            "NumberOfArgs": 1,
            "ParamTypes": [
                "string"
            ],
            "ArgDescriptions": [
                "The `Id` of the reservation."
            ],
            "ArgLongDescriptions": [
                "This argument shall contain the value of the `Id` property of the `CompositionReservation` resource containing the requested resources."
            ],
            "Resolution": "Delete the reservation containing the resources and resubmit the request."
        }
    }
}
