Details

    • Type: Improvement
    • Status: Closed
    • Priority: Major
    • Resolution: Unresolved
    • Affects Version/s: V4.01_CSD01
    • Fix Version/s: V4.01_CSD02
    • Component/s: Protocol
    • Labels:
      None
    • Environment:

      Wildcard specificationa

    • Proposal:
      Hide

      Allow one of $each or "*" as a wildcard for keys.

      Show
      Allow one of $each or "*" as a wildcard for keys.
    • Resolution:
      Hide

      Use "*" as a wildcard.

      Show
      Use "*" as a wildcard.

      Description

      There is a use case for specifying wildcards when processing a URL for use in requests. Typically this is outside of OData, but it seems relevant to the use of $each. So we want to vet it here.

      For example, consider the following JSON:
      "Wildcards": [

      { "Name": "allSS", "Values": ["$each"] }

      ,

      { "Name": "allV", "Values": ["$each"] }

      ,

      { "Name": "percentStats", "Values": ["ReadIOPercent", "WriteIOPercent", "NonIOPercent"] }

      ],
      "MetricProperties": [
      "/redfish/v1/StorageServices/Members(

      {allSS})/Volumes/Members({allV})/VolumeStatistics/{percentStats}"],

      In the case of {allSS}

      or

      {allV}

      one natural specification would be to use "*" to mean all keys. However as shown above, an alternative is to use the $each keyword to mean all.

      So, several questions:
      1) Should $each be available to mean all within parenthesis? The /$each as a segment is consistent with the alternate key format.
      2) Should we define the wildcard substitution within OData?
      3) For this purpose, should we use "*" for all of the above instead of $each.

        Attachments

          Activity

          Hide
          george.ericson George Ericson added a comment -

          Additional background.
          In the above, a MetricDefinition is used to define behavioral characteristics of a metric. MetricProperties is a property of MetricDefinition. Its values specify properties that are consistent with the MetricDefinition.. The example is specifying the properties named ReadIOPercent, WriteIOPercent, and NonIOPercent within all Volume entities of all known StorageService entities.

          We don't expect this semantics to be supported directly by OData, but we would like the syntax to be consistent with OData syntax. Specifically for selecting all entities of a NavigationProperty collection.

          Show
          george.ericson George Ericson added a comment - Additional background. In the above, a MetricDefinition is used to define behavioral characteristics of a metric. MetricProperties is a property of MetricDefinition. Its values specify properties that are consistent with the MetricDefinition.. The example is specifying the properties named ReadIOPercent, WriteIOPercent, and NonIOPercent within all Volume entities of all known StorageService entities. We don't expect this semantics to be supported directly by OData, but we would like the syntax to be consistent with OData syntax. Specifically for selecting all entities of a NavigationProperty collection.
          Hide
          george.ericson George Ericson added a comment -

          Resolution is to use "*" as a wildcard.

          Show
          george.ericson George Ericson added a comment - Resolution is to use "*" as a wildcard.

            People

            • Assignee:
              george.ericson George Ericson
              Reporter:
              george.ericson George Ericson
            • Watchers:
              0 Start watching this issue

              Dates

              • Created:
                Updated: