#--------------------------------------------------------------------------------------------------- # DMTF - Distributed Management Task Force, Inc. - http://www.dmtf.org # # Release URLs: (once it is DMTF Standard) # http://www.dmtf.org/standards/published_documents/wbem.2.0.0.en # http://www.dmtf.org/standards/published_documents/wbem.2.0.en # # Document number: DSP0206 # Date: 2010-10-18 # Version: 2.0.0c # Document status: DMTF Standard # # Title: WBEM SLP Template # # Document type: Specification (SLP Template) # Document language: en-US # # Change log: # 1.0.0 -- 2004-01-27 -- Released as a DMTF Final Standard. # 2.0.0a -- 2010-03-31 -- Released as a Work in Progress. # 2.0.0b -- 2010-08-31 -- Released as a Work in Progress. # 2.0.0c -- 2010-08-31 -- DMTF member review of DMTF Draft Standard. # 2.0.0 -- 2010-10-18 -- Released as a DMTF Standard # # Copyright (C) 2005, 2010 Distributed Management Task Force, Inc. (DMTF). All rights reserved. # DMTF is a not-for-profit association of industry members dedicated to promoting enterprise and # systems management and interoperability. Members and non-members may reproduce DMTF # specifications and documents, provided that correct attribution is given. As DMTF specifications # may be revised from time to time, the particular version and release date should always be noted. # Implementation of certain elements of this standard or proposed standard may be subject to third # party patent rights, including provisional patent rights (herein "patent rights"). DMTF makes no # representations to users of the standard as to the existence of such rights, and is not # responsible to recognize, disclose, or identify any or all such third party patent right, owners # or claimants, nor for any incomplete or inaccurate identification or disclosure of such rights, # owners or claimants. DMTF shall have no liability to any party, in any manner or circumstance, # under any legal theory whatsoever, for failure to recognize, disclose, or identify any such third # party patent rights, or for such party's reliance on the standard or incorporation thereof in its # product, protocols or testing procedures. DMTF shall have no liability to any party implementing # such standard, whether such implementation is foreseeable or not, nor to any patent owner or # claimant, and shall have no liability or responsibility for costs or losses incurred if a standard # is withdrawn or modified after publication, and shall be indemnified and held harmless by any # party implementing the standard from any and all claims of infringement by a patent owner for such # implementations. For information about patents held by third-parties which have notified the DMTF # that, in their opinion, such patent may relate to or impact implementations of DMTF standards, # visit http://www.dmtf.org/about/policies/disclosures.php. # # Abstract: # This Service Location Protocol (SLP) template defines what information about a WBEM server gets # registered with an SLP service agent and subsequently advertised through SLP (see RFC2608) for # the WBEM server. # # Security considerations: # Exposing information about a specific WBEM server implementation, such as its authentication # mechanisms, or about the operating system platform it runs on may be deemed a security risk in # certain environments. Therefore, certain SLP attributes are not required to be implemented. # For details, see the SLP attribute definitions in this document. # # Contact group: # DMTF WBEM Infrastructure Modeling Working Group, wbemmodel@dmtf.org # # Normative references: # * DMTF DSP0205, WBEM Discovery Using SLP, 2.0, # http://www.dmtf.org/standards/published_documents/DSP0205_2.0.pdf # * DMTF DSP0207, WBEM URI Mapping, 1.0, # http://www.dmtf.org/standards/published_documents/DSP0207_1.0.pdf # * DMTF DSP1033, Profile Registration Profile, 1.0, # http://www.dmtf.org/standards/published_documents/DSP1033_1.0.pdf # * IETF RFC2608, Service Location Protocol, Version 2, June 1999, # http://tools.ietf.org/html/rfc2608 # * IETF RFC2609, Service Templates and Service: Schemes, June 1999, # http://tools.ietf.org/html/rfc2609 # * IETF RFC3986, Uniform Resource Identifier (URI): Generic Syntax, January 2005, # http://tools.ietf.org/html/rfc3986 # * IETF RFC4291, IP Version 6 Addressing Architecture, February 2006, # http://tools.ietf.org/html/rfc4291 # * IETF RFC5234, Augmented BNF for Syntax Specifications: ABNF, January 2008, # http://tools.ietf.org/html/rfc5234 # * ISO/IEC Directives, Part 2:2004, Rules for the structure and drafting of # International Standards, # http://isotc.iso.org/livelink/livelink?func=ll&objId=4230456&objAction=browse # # Acknowledgements: # DMTF acknowledges the contributions of the following individuals to this document: # * Jim Davis, WBEM Solutions (editor) # * Mike Day, IBM # * Erik Guttman, Sun Microsystems # * Andreas Maier, IBM (editor) # * Karl Schopmeyer, Inova Europe # * Paul von Behren # #--------------------------------------------------------------------------------------------------- # # General: # # 1. RFC2609 defines that the information defined in an SLP template is registered (and subsequently # advertised) for each service: URL separately. The service: URL defined in this SLP template # specifies SLP service type, and URL scheme, IP address and port of the service access point. # The format of this service: URL is defined by the ABNF rule "service: URL" defined in # RFC2609, and is further refined in this template by the ABNF rules specified as the value of # the template-url-syntax attribute. # # The SLP service type is always "wbem", and the WBEM protocol is not part of the service: URL. # Therefore, the same service: URL is used for multiple WBEM protocols that use the same URL # scheme, IP address and port on a WBEM server. As a consequence, WBEM servers that support # multiple WBEM protocols on the same URL scheme, IP address and port can register these WBEM # protocols only under the same service: URL, using one instance of information defined in this # SLP template for each service: URL. # # In order to support such WBEM servers, this SLP template supports the representation of # multiple WBEM protocols in one instance of SLP template information. # # 2. RFC2609 defines that the values of any attributes defined as literal (L) are not to be # translated into other languages (either because that does not make sense for the particular # attribute, or because that would be in conflict with a programmatic interpretation of the # attribute value). Attribute names are never to be translated into other languages, independent # of the literal (L) definition. # # 3. RFC2609 defines that attributes defined as optional (O) may or may not be registered. The # rules for treating NULL valued CIM properties and NULL valued or empty CIM property arrays are # defined in each service attribute description. Note that SLP allows distinguishing an empty # set of values on a multi-valued attribute that is registered from a multi-valued attribute that # is not registered. # # 4. Experimental material has yet to receive sufficient review to satisfy the adoption requirements # set forth by the DMTF. Experimental material is included in this document as an aid to # implementers who are interested in likely future developments. Experimental material may # change as implementation experience is gained. It is likely that experimental material will be # included in an upcoming revision of the document. Until that time, experimental material is # purely informational. In this document, experimental material is indicated by the # "EXPERIMENTAL" indicator. # #--------------------------------------------------------------------------------------------------- template-type=wbem # # This attribute is required to be registered. # # The service type "wbem" represents all WBEM protocols. See attribute CommunicationMechanisms for # the set of WBEM protocols. template-version=2.0 # # This attribute is required to be registered. # # The value of this attribute represents the major and minor version number of this DMTF standard, # as stated in the header of this file. The update version number of this DMTF standard is stated # in the header of this file, but is not part of the value of this attribute. # # This SLP template maintains backward compatibility for SLP User Agents within the same major # version number of the template version. For example, it is guaranteed that the attributes defined # in version 2.0 of this template will not change their syntax or semantics in version 2.1 of this # template. # # Backwards compatible new functionality may be added in new minor versions of this template. For # example, version 2.1 may add a new attribute as long as the interpretation of attributes already # defined in version 2.0 does not change for an SLP User Agent. # # The following changes are considered backwards compatible: # Adding new attributes. # Adding new values to a list of allowable values defined for existing attributes. # # Error fixes may be made in new update versions of this template. Since the update version is not # part of the attribute value, error fixes cannot be identified by a SLP User Agent by inspecting # the value of this attribute. # # Since the service type "wbem" did not change between version 1.0 and 2.0 of this template, WBEM # servers can register only one template version for a particular service: URL. SLP User Agents # are expected to verify the advertised template version, and will thus be able to apply the correct # interpretation of the template attributes even when they change incompatibly between major # versions of this template. Note particularly the change in the template-url-syntax attribute. template-description= This template describes the attributes used for advertising WBEM servers. # # This attribute is optional to be registered. template-url-syntax= ; The ABNF rule "service: URL" defined in RFC2609 defines the format of service: URLs and ; its grammar provides the basis for the following refining ABNF rules: ; service-type = abstract-type ":" url-scheme ; Restricted to abstract service types only. abstract-type = "wbem" url-scheme = resname ; The value shall be a valid URL scheme for the WBEM ; protocols registered for this service location. For ; example, "http" or "https" for CIM-XML or WS-Management, ; and "telnet" or "ssh" for SM-CLP. sap = site ; Restricted to not allow url-part. site = ipsite ; Restricted to IP sites only. ipsite = "//" hostport ; Restricted to not allow "user@" and to require hostport. hostport = host ":" port ; Restricted to require port. host = hostnumber ; Restricted to numbered addresses only (no host names). hostnumber = ipv4-number / ipv6-number ; Extended to also allow IPV6 addresses. ipv6-number = "[" ipv6-address "]" ; Using the common [] syntax. ; ; Definition of IPV6 address syntax, for additional restrictions see RFC4291: ipv6-address = ipv6-hexpart [ ":" ipv4-number ] ipv6-hexpart = ipv6-hexseq / [ ipv6-hexseq ] "::" [ ipv6-hexseq ] ipv6-hexseq = 1*4HEXDIGIT *( ":" 1*4HEXDIGIT ) ; ; Examples of service: URLs using this syntax: ; "service:wbem:http://192.168.0.1:5988" ; "service:wbem:https://[fe80::200:f8ff:fe21:67cf]:5989" # # This attribute is optional to be registered. # # When registered, the value of this attribute shall be the ABNF grammar string specified above. # # Version 1.0 of this template used this attribute to register a portion of the service: # URL. This enabled SLP User Agents to determine the service location from the value of this # attribute, or from the value of the service: URL. With version 2.0 of this template, SLP User # Agents need to determine the service location from the value of the service: URL only. service-hi-name=string O # # The value of this attribute shall be the value of the ElementName property of the # CIM_ObjectManager instance representing the WBEM server that is registered. A value of NULL in # that property shall be represented by omitting this attribute. (This is why it is defined as # optional (O).) The value of this attribute can be used in any human interfaces as the name of # that WBEM server. service-hi-description=string O # # The value of this attribute shall be the value of the Description property of the # CIM_ObjectManager instance representing the WBEM server that is registered. A value of NULL in # that property shall be represented by omitting this attribute. (This is why it is defined as # optional (O).) The value of this attribute can be used in any human interfaces as a description # of that WBEM server. service-id=string L # # The value of this attribute shall be the value of the Name property of the CIM_ObjectManager # instance representing the WBEM server that is registered. The value of this attribute can be used # as a programmatic identification of that WBEM server within the host offering that service. CommunicationMechanisms=string L M # # The set of values of this multi-valued attribute shall be the values of the CommunicationMechanism # property of those CIM_ObjectManagerCommunicationMechanism instances that represent the WBEM # protocols supported by the service access point identified by the service: URL. # # Each value can be used as a programmatic identification of the WBEM protocol that is supported. # For a description of these values, see the definition of that property in the CIM Schema. # "Unknown", "Other", "CIM-XML", "WS-Management", "SM-CLP" OtherCommunicationMechanisms=string L M O # # This attribute shall be registered only if any of the CommunicationMechanisms attribute values # has a value of "Other". # # If registered, the following applies: # # The values of this multi-valued attribute shall be index-correlated with the values of the # CommunicationMechanisms attribute, such that values at the same index represent the same WBEM # protocol. # # Values at indexes for which the corresponding value of the CommunicationMechanisms attribute is # "Other" shall be the value of the OtherCommunicationMechanismDescription property of the # CIM_ObjectManagerCommunicationMechanism instance representing the WBEM protocol for that index. # Property values of NULL shall be represented by an empty string. # # Values at indexes for which the corresponding value of the CommunicationMechanisms attribute is # not "Other" shall be an empty string. # # These values can be used as a programmatic identification of the WBEM protocols that are # supported, in case the CommunicationMechanism attribute value is "Other". # # The CIM Schema defines this property to contain free-form strings; other specifications (such as # management initiative wrapper specifications) may define additional constraints on the values. CommunicationMechanismsVersion=string L M # # The values of this multi-valued attribute shall be index-correlated with the values of the # CommunicationMechanisms attribute, such that values at the same index represent the same WBEM # protocol. # # The value of this attribute at any index shall be the value of the Version property of the # CIM_ObjectManagerCommunicationMechanism instance representing the WBEM protocol for that index, if # that property is non-NULL. A property value of NULL shall be represented by an empty string. AuthenticationMechanisms=string L M # # The set of values of this multi-valued attribute shall be the unique set of values of the array # entries of the AuthenticationMechanismsSupported array property of the # CIM_ObjectManagerCommunicationMechanism instances representing the WBEM protocols supported by the # service access point identified by the service: URL. # # In other words, the set of values represents the superset of all authentication mechanisms # supported by these WBEM protocols, without correlating any authentication mechanism to the WBEM # protocol or protocols supporting it. # # A WBEM client needs to try the desired authentication mechanism with the desired WBEM protocol to # see whether it is available. # # For a description of these values, see the definition of that property in the CIM Schema. # "Unknown", "None", "Other", "Basic", "Digest" OtherAuthenticationMechanisms=string L M O # # This attribute shall be registered only if any of the AuthenticationMechanisms attribute values # has a value of "Other". # # If registered, the following applies: # # The values of this multi-valued attribute shall be index-correlated with the values of the # AuthenticationMechanisms attribute, such that values at the same index represent the same # authentication mechanism. # # Values at indexes for which the corresponding value of the AuthenticationMechanisms attribute is # "Other" shall be the value of the AuthenticationMechanismDescriptions property of the # CIM_ObjectManagerCommunicationMechanism instance representing the authentication mechanism for # that index. Property values of NULL shall be represented by an empty string. # # Values at indexes for which the corresponding value of the AuthenticationMechanisms attribute is # not "Other" shall be an empty string. # # The CIM Schema defines this property to contain free-form strings; other specifications (such as # management initiative wrapper specifications) may define additional constraints on the values. InteropNamespaces=string L M # # This multi-valued attribute shall have one value for each distinct major version of the CIM Schema # supported by the WBEM server that is registered. Each attribute value shall be the name of the # Interop namespace for that major CIM Schema version. For a definition of the concept of an # Interop namespace, see DSP1033. The name of a namespace can be found in the Name property of the # CIM_Namespace instance representing the namespace. Namespaces=string L M O # # If this multi-valued attribute is registered, it shall have one value for each distinct CIM # namespace supported by the WBEM server that is registered. Each attribute value shall be the name # of the namespace. The name of a namespace can be found in the Name property of the CIM_Namespace # instance representing the namespace. The set of distinct namespaces (of a given major CIM Schema # version) supported by a WBEM server is represented as instances of CIM_Namespace in the Interop # namespace of the WBEM server. InitiativesSupported=string L M O # # If this multi-valued attribute is registered, it shall have one value for each management # initiative that is implemented by the WBEM server such that it conforms to the implementation # requirements specification of the management initiative. # # Each attribute value shall have the following format (expressed in ABNF): # # registered-org ":" registered-name # # Where: # # registered-org shall identify the business entity owning the implementation requirements # specification of the management initiative. The registered-org value shall include a # copyrighted, trademarked, or otherwise unique name that is owned by that business entity or # that is a registered ID assigned to that business entity by a recognized global authority. # In addition, to ensure uniqueness, the registered-org value shall not contain a colon (:). # For implementation requirements specifications owned by DMTF, the value shall be "DMTF". # # registered-name shall be the name of the management initiative, as defined in its # implementation requirements specification. # # EXPERIMENTAL: # It is expected that in the future, support for a management initiative will be indicated by an # instance of CIM_RegisteredSpecification (or one of its subclasses) in the Interop namespace, # that has its SpecificationType property set to the value 3 (Initiative Wrapper). The # RegisteredOrganization property is expected to be the name of the organization, and the # RegisteredName property is expected to be the name of the management initiative. # # Example values: # "DMTF:SMASH" # "SNIA:SMI" InitiativesVersions=string L M O # # This multi-valued attribute shall be registered only if the InitiativesSupported attribute is # registered. If registered, it shall have values that are index-correlated with the values of the # InitiativesSupported attribute. # # Each attribute value shall be the full version number of the implementation requirements # specification of the management initiative indicated by the corresponding value of the # InitiativesSupported attribute. For implementation requirements specifications owned by DMTF, the # full version number includes the major, minor, and update version numbers, but not the draft # level. # # Example values: # "1.0.1" for DMTF # "1.1c" for some example organization RegisteredProfilesSupported=string L M O # # If this multi-valued attribute is registered, it shall have one value for each profile that has a # value of 3 (SLP) in any of the array entries of the AdvertiseTypes array property of the # CIM_RegisteredProfile instance representing the profile in the Interop namespace. Other profiles # should not be included in this attribute. # # Each attribute value shall have the following format (expressed in ABNF): # # registered-org ":" registered-name # # Where: # # registered-org shall be the value of the RegisteredOrganization property of the # CIM_RegisteredProfile instance representing the profile. # # registered-name shall be the value of the RegisteredName property of the CIM_RegisteredProfile # instance representing the profile. # # Example values: # "DMTF:Base Desktop and Mobile" # "DMTF:Base Server" # "SNIA:Array" #---------------------------------------------------------------------------------------------------