Class List Method List File List

# Class: Com::Vmware::Vapi::Metadata::Metamodel::StructureInfo

Inherits:
  VAPI::Bindings::VapiStruct
  - Object
  - VAPI::Bindings::VapiStruct
  - Com::Vmware::Vapi::Metadata::Metamodel::StructureInfo
  show all
Defined in:
  /build/mts/release/bora-4571906/build/sdk/aggregated-bindings/ruby/com/vmware/vapi/metadata/metamodel.rb

## Overview

The ``Com::Vmware::Vapi::Metadata::Metamodel::StructureInfo`` class contains the metamodel information of all the field elements, constant elements and enumeration elements contained in the structure element.

     In the interface definition language, API designers have the ability to include all the fields from one structure to another structure. This is done by using an annotation  ``\@Include``  on the structure in which we want to add the fields. If this annotation is present, the list of fields in the  ``Com::Vmware::Vapi::Metadata::Metamodel::StructureInfo``  will also contain the fields that are being included. The annotation information is also retained in the   :attr:`Com::Vmware::Vapi::Metadata::Metamodel::StructureInfo.metadata`   element as well.

## Defined Under Namespace

Classes: Type

## Instance Attribute Summary (collapse)

- - (Hash<String, Com::Vmware::Vapi::Metadata::Metamodel::ConstantInfo>) constants

  Metamodel information of all the constant elements contained in the structure element.

- - (String) documentation

  English language documentation for a structure element.

- - (Hash<String, Com::Vmware::Vapi::Metadata::Metamodel::EnumerationInfo>) enumerations

  Metamodel information of all the enumeration elements contained in the structure element.

- - (Array<Com::Vmware::Vapi::Metadata::Metamodel::FieldInfo>) fields

  Metamodel information of all the field elements.

- - (Hash<String, Com::Vmware::Vapi::Metadata::Metamodel::ElementMap>) metadata

  Generic metadata elements for the structure element.

- - (String) name

  Dot separated name of the structure element.

- - (Com::Vmware::Vapi::Metadata::Metamodel::StructureInfo::Type) type

  Type of the structure.

## Class Method Summary (collapse)

- + (VAPI::Bindings::StructType) binding_type

  Holds (gets or creates) the binding type metadata for this structure type.

## Instance Method Summary (collapse)

- - (StructureInfo) initialize(ruby_values = nil, struct_value = nil) constructor

  Constructs a new instance.

## Constructor Details

### - (`StructureInfo`) initialize(ruby_values = nil, struct_value = nil)

Constructs a new instance.

Parameters:

- ruby_values (`Hash`) (defaults to: `nil`) —

  a map of initial property values (optional)

- struct_value (`VAPI::Data::StructValue`) (defaults to: `nil`) —

  a raw StructValue from the wire (optional)

    1998
    1999
    2000
    # File '/build/mts/release/bora-4571906/build/sdk/aggregated-bindings/ruby/com/vmware/vapi/metadata/metamodel.rb', line 1998

    def initialize(ruby_values=nil, struct_value=nil)
        super(self.class.binding_type, ruby_values, struct_value)
    end

## Instance Attribute Details

### - (`Hash<String, Com::Vmware::Vapi::Metadata::Metamodel::ConstantInfo>`) constants

Metamodel information of all the constant elements contained in the structure element. The key in the map is the name of the constant element and the value in the map is the metamodel information for the constant element.

Returns:

- (`Hash<String, Com::Vmware::Vapi::Metadata::Metamodel::ConstantInfo>`)

    1963
    1964
    1965
    1966
    1967
    1968
    1969
    1970
    1971
    1972
    1973
    1974
    1975
    1976
    1977
    1978
    1979
    1980
    1981
    1982
    1983
    1984
    1985
    1986
    1987
    1988
    1989
    1990
    1991
    1992
    1993
    1994
    1995
    1996
    1997
    1998
    1999
    2000
    2001
    2002
    2003
    2004
    2005
    2006
    2007
    2008
    2009
    2010
    2011
    2012
    2013
    2014
    2015
    2016
    2017
    2018
    2019
    2020
    2021
    2022
    2023
    2024
    2025
    2026
    2027
    2028
    2029
    2030
    2031
    2032
    2033
    2034
    2035
    2036
    2037
    2038
    2039
    2040
    2041
    2042
    2043
    2044
    2045
    2046
    2047
    2048
    2049
    2050
    2051
    2052
    2053
    2054
    2055
    2056
    2057
    2058
    2059
    2060
    # File '/build/mts/release/bora-4571906/build/sdk/aggregated-bindings/ruby/com/vmware/vapi/metadata/metamodel.rb', line 1963

    class StructureInfo < VAPI::Bindings::VapiStruct

        class << self
            # Holds (gets or creates) the binding type metadata for this structure type.
            # @scope class
            # @return [VAPI::Bindings::StructType] the binding type
            def binding_type
                @binding_type ||= VAPI::Bindings::StructType.new(
                    'com.vmware.vapi.metadata.metamodel.structure_info',
                    {
                        'name' => VAPI::Bindings::StringType.instance,
                        'type' => VAPI::Bindings::ReferenceType.new('Com::Vmware::Vapi::Metadata::Metamodel::StructureInfo::Type'),
                        'enumerations' => VAPI::Bindings::MapType.new(VAPI::Bindings::IdType.new, VAPI::Bindings::ReferenceType.new('Com::Vmware::Vapi::Metadata::Metamodel::EnumerationInfo')),
                        'constants' => VAPI::Bindings::MapType.new(VAPI::Bindings::StringType.instance, VAPI::Bindings::ReferenceType.new('Com::Vmware::Vapi::Metadata::Metamodel::ConstantInfo')),
                        'fields' => VAPI::Bindings::ListType.new(VAPI::Bindings::ReferenceType.new('Com::Vmware::Vapi::Metadata::Metamodel::FieldInfo')),
                        'metadata' => VAPI::Bindings::MapType.new(VAPI::Bindings::StringType.instance, VAPI::Bindings::ReferenceType.new('Com::Vmware::Vapi::Metadata::Metamodel::ElementMap')),
                        'documentation' => VAPI::Bindings::StringType.instance,
                    },
                    StructureInfo,
                    false,
                    nil)
            end
        end

        attr_accessor :name,
                      :type,
                      :enumerations,
                      :constants,
                      :fields,
                      :metadata,
                      :documentation

        # Constructs a new instance.
        # @param ruby_values [Hash] a map of initial property values (optional)
        # @param struct_value [VAPI::Data::StructValue] a raw StructValue from the wire (optional)
        def initialize(ruby_values=nil, struct_value=nil)
            super(self.class.binding_type, ruby_values, struct_value)
        end

        # The  ``Com::Vmware::Vapi::Metadata::Metamodel::StructureInfo::Type``   enumerated type  defines the kind of this structure element. In the interface definition language, structure element and error element have similar characteristics. The difference is that only error elements can be used to describe the  errors  of an operation element.
        # @!attribute [rw] structure
        #     @return [Com::Vmware::Vapi::Metadata::Metamodel::StructureInfo::Type]
        #     If the type is a structure element.
        # @!attribute [rw] error
        #     @return [Com::Vmware::Vapi::Metadata::Metamodel::StructureInfo::Type]
        #     If the type is an error element.
        class Type < VAPI::Bindings::VapiEnum

            class << self
                # Holds (gets or creates) the binding type metadata for this enumeration type.
                # @scope class
                # @return [VAPI::Bindings::EnumType] the binding type
                def binding_type
                    @binding_type ||= VAPI::Bindings::EnumType.new(
                        'com.vmware.vapi.metadata.metamodel.structure_info.type',
                        Type)
                end

                # Converts from a string value (perhaps off the wire) to an instance
                # of this enum type.
                # @param value [String] the actual value of the enum instance
                # @return [Type] the instance found for the value, otherwise
                #         an unknown instance will be built for the value
                def from_string(value)
                    begin
                        const_get(value)
                    rescue NameError
                        Type.new('UNKNOWN', value)
                    end
                end
            end

            private

            # Constructs a new instance.
            # @param value [String] the actual value of the enum instance
            # @param unknown [String] the unknown value when value is 'UKNOWN'
            def initialize(value, unknown=nil)
                super(self.class.binding_type, value, unknown)
            end

            public

            # @!attribute [rw] structure
            #     @return [Com::Vmware::Vapi::Metadata::Metamodel::StructureInfo::Type]
            #     If the type is a structure element.
            STRUCTURE = Type.new('STRUCTURE')

            # @!attribute [rw] error
            #     @return [Com::Vmware::Vapi::Metadata::Metamodel::StructureInfo::Type]
            #     If the type is an error element.
            ERROR = Type.new('ERROR')

        end

    end

### - (`String`) documentation

English language documentation for a structure element. It can contain HTML markup and Javadoc tags. The first sentence of the structure documentation is a complete sentence that identifies the structure by name and summarizes the purpose of the structure.

Returns:

- (`String`)

    1963
    1964
    1965
    1966
    1967
    1968
    1969
    1970
    1971
    1972
    1973
    1974
    1975
    1976
    1977
    1978
    1979
    1980
    1981
    1982
    1983
    1984
    1985
    1986
    1987
    1988
    1989
    1990
    1991
    1992
    1993
    1994
    1995
    1996
    1997
    1998
    1999
    2000
    2001
    2002
    2003
    2004
    2005
    2006
    2007
    2008
    2009
    2010
    2011
    2012
    2013
    2014
    2015
    2016
    2017
    2018
    2019
    2020
    2021
    2022
    2023
    2024
    2025
    2026
    2027
    2028
    2029
    2030
    2031
    2032
    2033
    2034
    2035
    2036
    2037
    2038
    2039
    2040
    2041
    2042
    2043
    2044
    2045
    2046
    2047
    2048
    2049
    2050
    2051
    2052
    2053
    2054
    2055
    2056
    2057
    2058
    2059
    2060
    # File '/build/mts/release/bora-4571906/build/sdk/aggregated-bindings/ruby/com/vmware/vapi/metadata/metamodel.rb', line 1963

    class StructureInfo < VAPI::Bindings::VapiStruct

        class << self
            # Holds (gets or creates) the binding type metadata for this structure type.
            # @scope class
            # @return [VAPI::Bindings::StructType] the binding type
            def binding_type
                @binding_type ||= VAPI::Bindings::StructType.new(
                    'com.vmware.vapi.metadata.metamodel.structure_info',
                    {
                        'name' => VAPI::Bindings::StringType.instance,
                        'type' => VAPI::Bindings::ReferenceType.new('Com::Vmware::Vapi::Metadata::Metamodel::StructureInfo::Type'),
                        'enumerations' => VAPI::Bindings::MapType.new(VAPI::Bindings::IdType.new, VAPI::Bindings::ReferenceType.new('Com::Vmware::Vapi::Metadata::Metamodel::EnumerationInfo')),
                        'constants' => VAPI::Bindings::MapType.new(VAPI::Bindings::StringType.instance, VAPI::Bindings::ReferenceType.new('Com::Vmware::Vapi::Metadata::Metamodel::ConstantInfo')),
                        'fields' => VAPI::Bindings::ListType.new(VAPI::Bindings::ReferenceType.new('Com::Vmware::Vapi::Metadata::Metamodel::FieldInfo')),
                        'metadata' => VAPI::Bindings::MapType.new(VAPI::Bindings::StringType.instance, VAPI::Bindings::ReferenceType.new('Com::Vmware::Vapi::Metadata::Metamodel::ElementMap')),
                        'documentation' => VAPI::Bindings::StringType.instance,
                    },
                    StructureInfo,
                    false,
                    nil)
            end
        end

        attr_accessor :name,
                      :type,
                      :enumerations,
                      :constants,
                      :fields,
                      :metadata,
                      :documentation

        # Constructs a new instance.
        # @param ruby_values [Hash] a map of initial property values (optional)
        # @param struct_value [VAPI::Data::StructValue] a raw StructValue from the wire (optional)
        def initialize(ruby_values=nil, struct_value=nil)
            super(self.class.binding_type, ruby_values, struct_value)
        end

        # The  ``Com::Vmware::Vapi::Metadata::Metamodel::StructureInfo::Type``   enumerated type  defines the kind of this structure element. In the interface definition language, structure element and error element have similar characteristics. The difference is that only error elements can be used to describe the  errors  of an operation element.
        # @!attribute [rw] structure
        #     @return [Com::Vmware::Vapi::Metadata::Metamodel::StructureInfo::Type]
        #     If the type is a structure element.
        # @!attribute [rw] error
        #     @return [Com::Vmware::Vapi::Metadata::Metamodel::StructureInfo::Type]
        #     If the type is an error element.
        class Type < VAPI::Bindings::VapiEnum

            class << self
                # Holds (gets or creates) the binding type metadata for this enumeration type.
                # @scope class
                # @return [VAPI::Bindings::EnumType] the binding type
                def binding_type
                    @binding_type ||= VAPI::Bindings::EnumType.new(
                        'com.vmware.vapi.metadata.metamodel.structure_info.type',
                        Type)
                end

                # Converts from a string value (perhaps off the wire) to an instance
                # of this enum type.
                # @param value [String] the actual value of the enum instance
                # @return [Type] the instance found for the value, otherwise
                #         an unknown instance will be built for the value
                def from_string(value)
                    begin
                        const_get(value)
                    rescue NameError
                        Type.new('UNKNOWN', value)
                    end
                end
            end

            private

            # Constructs a new instance.
            # @param value [String] the actual value of the enum instance
            # @param unknown [String] the unknown value when value is 'UKNOWN'
            def initialize(value, unknown=nil)
                super(self.class.binding_type, value, unknown)
            end

            public

            # @!attribute [rw] structure
            #     @return [Com::Vmware::Vapi::Metadata::Metamodel::StructureInfo::Type]
            #     If the type is a structure element.
            STRUCTURE = Type.new('STRUCTURE')

            # @!attribute [rw] error
            #     @return [Com::Vmware::Vapi::Metadata::Metamodel::StructureInfo::Type]
            #     If the type is an error element.
            ERROR = Type.new('ERROR')

        end

    end

### - (`Hash<String, Com::Vmware::Vapi::Metadata::Metamodel::EnumerationInfo>`) enumerations

Metamodel information of all the enumeration elements contained in the structure element. The key in the map is the identifier of the enumeration element and the value is the metamodel information of the enumeration element.

Returns:

- (`Hash<String, Com::Vmware::Vapi::Metadata::Metamodel::EnumerationInfo>`)

    1963
    1964
    1965
    1966
    1967
    1968
    1969
    1970
    1971
    1972
    1973
    1974
    1975
    1976
    1977
    1978
    1979
    1980
    1981
    1982
    1983
    1984
    1985
    1986
    1987
    1988
    1989
    1990
    1991
    1992
    1993
    1994
    1995
    1996
    1997
    1998
    1999
    2000
    2001
    2002
    2003
    2004
    2005
    2006
    2007
    2008
    2009
    2010
    2011
    2012
    2013
    2014
    2015
    2016
    2017
    2018
    2019
    2020
    2021
    2022
    2023
    2024
    2025
    2026
    2027
    2028
    2029
    2030
    2031
    2032
    2033
    2034
    2035
    2036
    2037
    2038
    2039
    2040
    2041
    2042
    2043
    2044
    2045
    2046
    2047
    2048
    2049
    2050
    2051
    2052
    2053
    2054
    2055
    2056
    2057
    2058
    2059
    2060
    # File '/build/mts/release/bora-4571906/build/sdk/aggregated-bindings/ruby/com/vmware/vapi/metadata/metamodel.rb', line 1963

    class StructureInfo < VAPI::Bindings::VapiStruct

        class << self
            # Holds (gets or creates) the binding type metadata for this structure type.
            # @scope class
            # @return [VAPI::Bindings::StructType] the binding type
            def binding_type
                @binding_type ||= VAPI::Bindings::StructType.new(
                    'com.vmware.vapi.metadata.metamodel.structure_info',
                    {
                        'name' => VAPI::Bindings::StringType.instance,
                        'type' => VAPI::Bindings::ReferenceType.new('Com::Vmware::Vapi::Metadata::Metamodel::StructureInfo::Type'),
                        'enumerations' => VAPI::Bindings::MapType.new(VAPI::Bindings::IdType.new, VAPI::Bindings::ReferenceType.new('Com::Vmware::Vapi::Metadata::Metamodel::EnumerationInfo')),
                        'constants' => VAPI::Bindings::MapType.new(VAPI::Bindings::StringType.instance, VAPI::Bindings::ReferenceType.new('Com::Vmware::Vapi::Metadata::Metamodel::ConstantInfo')),
                        'fields' => VAPI::Bindings::ListType.new(VAPI::Bindings::ReferenceType.new('Com::Vmware::Vapi::Metadata::Metamodel::FieldInfo')),
                        'metadata' => VAPI::Bindings::MapType.new(VAPI::Bindings::StringType.instance, VAPI::Bindings::ReferenceType.new('Com::Vmware::Vapi::Metadata::Metamodel::ElementMap')),
                        'documentation' => VAPI::Bindings::StringType.instance,
                    },
                    StructureInfo,
                    false,
                    nil)
            end
        end

        attr_accessor :name,
                      :type,
                      :enumerations,
                      :constants,
                      :fields,
                      :metadata,
                      :documentation

        # Constructs a new instance.
        # @param ruby_values [Hash] a map of initial property values (optional)
        # @param struct_value [VAPI::Data::StructValue] a raw StructValue from the wire (optional)
        def initialize(ruby_values=nil, struct_value=nil)
            super(self.class.binding_type, ruby_values, struct_value)
        end

        # The  ``Com::Vmware::Vapi::Metadata::Metamodel::StructureInfo::Type``   enumerated type  defines the kind of this structure element. In the interface definition language, structure element and error element have similar characteristics. The difference is that only error elements can be used to describe the  errors  of an operation element.
        # @!attribute [rw] structure
        #     @return [Com::Vmware::Vapi::Metadata::Metamodel::StructureInfo::Type]
        #     If the type is a structure element.
        # @!attribute [rw] error
        #     @return [Com::Vmware::Vapi::Metadata::Metamodel::StructureInfo::Type]
        #     If the type is an error element.
        class Type < VAPI::Bindings::VapiEnum

            class << self
                # Holds (gets or creates) the binding type metadata for this enumeration type.
                # @scope class
                # @return [VAPI::Bindings::EnumType] the binding type
                def binding_type
                    @binding_type ||= VAPI::Bindings::EnumType.new(
                        'com.vmware.vapi.metadata.metamodel.structure_info.type',
                        Type)
                end

                # Converts from a string value (perhaps off the wire) to an instance
                # of this enum type.
                # @param value [String] the actual value of the enum instance
                # @return [Type] the instance found for the value, otherwise
                #         an unknown instance will be built for the value
                def from_string(value)
                    begin
                        const_get(value)
                    rescue NameError
                        Type.new('UNKNOWN', value)
                    end
                end
            end

            private

            # Constructs a new instance.
            # @param value [String] the actual value of the enum instance
            # @param unknown [String] the unknown value when value is 'UKNOWN'
            def initialize(value, unknown=nil)
                super(self.class.binding_type, value, unknown)
            end

            public

            # @!attribute [rw] structure
            #     @return [Com::Vmware::Vapi::Metadata::Metamodel::StructureInfo::Type]
            #     If the type is a structure element.
            STRUCTURE = Type.new('STRUCTURE')

            # @!attribute [rw] error
            #     @return [Com::Vmware::Vapi::Metadata::Metamodel::StructureInfo::Type]
            #     If the type is an error element.
            ERROR = Type.new('ERROR')

        end

    end

### - (`Array<Com::Vmware::Vapi::Metadata::Metamodel::FieldInfo>`) fields

Metamodel information of all the field elements. The order of the field elements in the list matches the order in which the fields are defined in the service.

Returns:

- (`Array<Com::Vmware::Vapi::Metadata::Metamodel::FieldInfo>`)

    1963
    1964
    1965
    1966
    1967
    1968
    1969
    1970
    1971
    1972
    1973
    1974
    1975
    1976
    1977
    1978
    1979
    1980
    1981
    1982
    1983
    1984
    1985
    1986
    1987
    1988
    1989
    1990
    1991
    1992
    1993
    1994
    1995
    1996
    1997
    1998
    1999
    2000
    2001
    2002
    2003
    2004
    2005
    2006
    2007
    2008
    2009
    2010
    2011
    2012
    2013
    2014
    2015
    2016
    2017
    2018
    2019
    2020
    2021
    2022
    2023
    2024
    2025
    2026
    2027
    2028
    2029
    2030
    2031
    2032
    2033
    2034
    2035
    2036
    2037
    2038
    2039
    2040
    2041
    2042
    2043
    2044
    2045
    2046
    2047
    2048
    2049
    2050
    2051
    2052
    2053
    2054
    2055
    2056
    2057
    2058
    2059
    2060
    # File '/build/mts/release/bora-4571906/build/sdk/aggregated-bindings/ruby/com/vmware/vapi/metadata/metamodel.rb', line 1963

    class StructureInfo < VAPI::Bindings::VapiStruct

        class << self
            # Holds (gets or creates) the binding type metadata for this structure type.
            # @scope class
            # @return [VAPI::Bindings::StructType] the binding type
            def binding_type
                @binding_type ||= VAPI::Bindings::StructType.new(
                    'com.vmware.vapi.metadata.metamodel.structure_info',
                    {
                        'name' => VAPI::Bindings::StringType.instance,
                        'type' => VAPI::Bindings::ReferenceType.new('Com::Vmware::Vapi::Metadata::Metamodel::StructureInfo::Type'),
                        'enumerations' => VAPI::Bindings::MapType.new(VAPI::Bindings::IdType.new, VAPI::Bindings::ReferenceType.new('Com::Vmware::Vapi::Metadata::Metamodel::EnumerationInfo')),
                        'constants' => VAPI::Bindings::MapType.new(VAPI::Bindings::StringType.instance, VAPI::Bindings::ReferenceType.new('Com::Vmware::Vapi::Metadata::Metamodel::ConstantInfo')),
                        'fields' => VAPI::Bindings::ListType.new(VAPI::Bindings::ReferenceType.new('Com::Vmware::Vapi::Metadata::Metamodel::FieldInfo')),
                        'metadata' => VAPI::Bindings::MapType.new(VAPI::Bindings::StringType.instance, VAPI::Bindings::ReferenceType.new('Com::Vmware::Vapi::Metadata::Metamodel::ElementMap')),
                        'documentation' => VAPI::Bindings::StringType.instance,
                    },
                    StructureInfo,
                    false,
                    nil)
            end
        end

        attr_accessor :name,
                      :type,
                      :enumerations,
                      :constants,
                      :fields,
                      :metadata,
                      :documentation

        # Constructs a new instance.
        # @param ruby_values [Hash] a map of initial property values (optional)
        # @param struct_value [VAPI::Data::StructValue] a raw StructValue from the wire (optional)
        def initialize(ruby_values=nil, struct_value=nil)
            super(self.class.binding_type, ruby_values, struct_value)
        end

        # The  ``Com::Vmware::Vapi::Metadata::Metamodel::StructureInfo::Type``   enumerated type  defines the kind of this structure element. In the interface definition language, structure element and error element have similar characteristics. The difference is that only error elements can be used to describe the  errors  of an operation element.
        # @!attribute [rw] structure
        #     @return [Com::Vmware::Vapi::Metadata::Metamodel::StructureInfo::Type]
        #     If the type is a structure element.
        # @!attribute [rw] error
        #     @return [Com::Vmware::Vapi::Metadata::Metamodel::StructureInfo::Type]
        #     If the type is an error element.
        class Type < VAPI::Bindings::VapiEnum

            class << self
                # Holds (gets or creates) the binding type metadata for this enumeration type.
                # @scope class
                # @return [VAPI::Bindings::EnumType] the binding type
                def binding_type
                    @binding_type ||= VAPI::Bindings::EnumType.new(
                        'com.vmware.vapi.metadata.metamodel.structure_info.type',
                        Type)
                end

                # Converts from a string value (perhaps off the wire) to an instance
                # of this enum type.
                # @param value [String] the actual value of the enum instance
                # @return [Type] the instance found for the value, otherwise
                #         an unknown instance will be built for the value
                def from_string(value)
                    begin
                        const_get(value)
                    rescue NameError
                        Type.new('UNKNOWN', value)
                    end
                end
            end

            private

            # Constructs a new instance.
            # @param value [String] the actual value of the enum instance
            # @param unknown [String] the unknown value when value is 'UKNOWN'
            def initialize(value, unknown=nil)
                super(self.class.binding_type, value, unknown)
            end

            public

            # @!attribute [rw] structure
            #     @return [Com::Vmware::Vapi::Metadata::Metamodel::StructureInfo::Type]
            #     If the type is a structure element.
            STRUCTURE = Type.new('STRUCTURE')

            # @!attribute [rw] error
            #     @return [Com::Vmware::Vapi::Metadata::Metamodel::StructureInfo::Type]
            #     If the type is an error element.
            ERROR = Type.new('ERROR')

        end

    end

### - (`Hash<String, Com::Vmware::Vapi::Metadata::Metamodel::ElementMap>`) metadata

Generic metadata elements for the structure element. The key in the map is the name of the metadata element and the value is the data associated with that metadata element.

     The   :class:`Com::Vmware::Vapi::Metadata::Metamodel::MetadataIdentifier`   contains possible string values for keys in the  map .

Returns:

- (`Hash<String, Com::Vmware::Vapi::Metadata::Metamodel::ElementMap>`)

    1963
    1964
    1965
    1966
    1967
    1968
    1969
    1970
    1971
    1972
    1973
    1974
    1975
    1976
    1977
    1978
    1979
    1980
    1981
    1982
    1983
    1984
    1985
    1986
    1987
    1988
    1989
    1990
    1991
    1992
    1993
    1994
    1995
    1996
    1997
    1998
    1999
    2000
    2001
    2002
    2003
    2004
    2005
    2006
    2007
    2008
    2009
    2010
    2011
    2012
    2013
    2014
    2015
    2016
    2017
    2018
    2019
    2020
    2021
    2022
    2023
    2024
    2025
    2026
    2027
    2028
    2029
    2030
    2031
    2032
    2033
    2034
    2035
    2036
    2037
    2038
    2039
    2040
    2041
    2042
    2043
    2044
    2045
    2046
    2047
    2048
    2049
    2050
    2051
    2052
    2053
    2054
    2055
    2056
    2057
    2058
    2059
    2060
    # File '/build/mts/release/bora-4571906/build/sdk/aggregated-bindings/ruby/com/vmware/vapi/metadata/metamodel.rb', line 1963

    class StructureInfo < VAPI::Bindings::VapiStruct

        class << self
            # Holds (gets or creates) the binding type metadata for this structure type.
            # @scope class
            # @return [VAPI::Bindings::StructType] the binding type
            def binding_type
                @binding_type ||= VAPI::Bindings::StructType.new(
                    'com.vmware.vapi.metadata.metamodel.structure_info',
                    {
                        'name' => VAPI::Bindings::StringType.instance,
                        'type' => VAPI::Bindings::ReferenceType.new('Com::Vmware::Vapi::Metadata::Metamodel::StructureInfo::Type'),
                        'enumerations' => VAPI::Bindings::MapType.new(VAPI::Bindings::IdType.new, VAPI::Bindings::ReferenceType.new('Com::Vmware::Vapi::Metadata::Metamodel::EnumerationInfo')),
                        'constants' => VAPI::Bindings::MapType.new(VAPI::Bindings::StringType.instance, VAPI::Bindings::ReferenceType.new('Com::Vmware::Vapi::Metadata::Metamodel::ConstantInfo')),
                        'fields' => VAPI::Bindings::ListType.new(VAPI::Bindings::ReferenceType.new('Com::Vmware::Vapi::Metadata::Metamodel::FieldInfo')),
                        'metadata' => VAPI::Bindings::MapType.new(VAPI::Bindings::StringType.instance, VAPI::Bindings::ReferenceType.new('Com::Vmware::Vapi::Metadata::Metamodel::ElementMap')),
                        'documentation' => VAPI::Bindings::StringType.instance,
                    },
                    StructureInfo,
                    false,
                    nil)
            end
        end

        attr_accessor :name,
                      :type,
                      :enumerations,
                      :constants,
                      :fields,
                      :metadata,
                      :documentation

        # Constructs a new instance.
        # @param ruby_values [Hash] a map of initial property values (optional)
        # @param struct_value [VAPI::Data::StructValue] a raw StructValue from the wire (optional)
        def initialize(ruby_values=nil, struct_value=nil)
            super(self.class.binding_type, ruby_values, struct_value)
        end

        # The  ``Com::Vmware::Vapi::Metadata::Metamodel::StructureInfo::Type``   enumerated type  defines the kind of this structure element. In the interface definition language, structure element and error element have similar characteristics. The difference is that only error elements can be used to describe the  errors  of an operation element.
        # @!attribute [rw] structure
        #     @return [Com::Vmware::Vapi::Metadata::Metamodel::StructureInfo::Type]
        #     If the type is a structure element.
        # @!attribute [rw] error
        #     @return [Com::Vmware::Vapi::Metadata::Metamodel::StructureInfo::Type]
        #     If the type is an error element.
        class Type < VAPI::Bindings::VapiEnum

            class << self
                # Holds (gets or creates) the binding type metadata for this enumeration type.
                # @scope class
                # @return [VAPI::Bindings::EnumType] the binding type
                def binding_type
                    @binding_type ||= VAPI::Bindings::EnumType.new(
                        'com.vmware.vapi.metadata.metamodel.structure_info.type',
                        Type)
                end

                # Converts from a string value (perhaps off the wire) to an instance
                # of this enum type.
                # @param value [String] the actual value of the enum instance
                # @return [Type] the instance found for the value, otherwise
                #         an unknown instance will be built for the value
                def from_string(value)
                    begin
                        const_get(value)
                    rescue NameError
                        Type.new('UNKNOWN', value)
                    end
                end
            end

            private

            # Constructs a new instance.
            # @param value [String] the actual value of the enum instance
            # @param unknown [String] the unknown value when value is 'UKNOWN'
            def initialize(value, unknown=nil)
                super(self.class.binding_type, value, unknown)
            end

            public

            # @!attribute [rw] structure
            #     @return [Com::Vmware::Vapi::Metadata::Metamodel::StructureInfo::Type]
            #     If the type is a structure element.
            STRUCTURE = Type.new('STRUCTURE')

            # @!attribute [rw] error
            #     @return [Com::Vmware::Vapi::Metadata::Metamodel::StructureInfo::Type]
            #     If the type is an error element.
            ERROR = Type.new('ERROR')

        end

    end

### - (`String`) name

Dot separated name of the structure element. The segments in the name reflect the organization of the APIs. The format of each segment is lower case with underscores. Each underscore represents a word boundary. If there are acronyms in the word, the capitalization is preserved. This format makes it easy to translate the segment into a different naming convention.

Returns:

- (`String`)

    1963
    1964
    1965
    1966
    1967
    1968
    1969
    1970
    1971
    1972
    1973
    1974
    1975
    1976
    1977
    1978
    1979
    1980
    1981
    1982
    1983
    1984
    1985
    1986
    1987
    1988
    1989
    1990
    1991
    1992
    1993
    1994
    1995
    1996
    1997
    1998
    1999
    2000
    2001
    2002
    2003
    2004
    2005
    2006
    2007
    2008
    2009
    2010
    2011
    2012
    2013
    2014
    2015
    2016
    2017
    2018
    2019
    2020
    2021
    2022
    2023
    2024
    2025
    2026
    2027
    2028
    2029
    2030
    2031
    2032
    2033
    2034
    2035
    2036
    2037
    2038
    2039
    2040
    2041
    2042
    2043
    2044
    2045
    2046
    2047
    2048
    2049
    2050
    2051
    2052
    2053
    2054
    2055
    2056
    2057
    2058
    2059
    2060
    # File '/build/mts/release/bora-4571906/build/sdk/aggregated-bindings/ruby/com/vmware/vapi/metadata/metamodel.rb', line 1963

    class StructureInfo < VAPI::Bindings::VapiStruct

        class << self
            # Holds (gets or creates) the binding type metadata for this structure type.
            # @scope class
            # @return [VAPI::Bindings::StructType] the binding type
            def binding_type
                @binding_type ||= VAPI::Bindings::StructType.new(
                    'com.vmware.vapi.metadata.metamodel.structure_info',
                    {
                        'name' => VAPI::Bindings::StringType.instance,
                        'type' => VAPI::Bindings::ReferenceType.new('Com::Vmware::Vapi::Metadata::Metamodel::StructureInfo::Type'),
                        'enumerations' => VAPI::Bindings::MapType.new(VAPI::Bindings::IdType.new, VAPI::Bindings::ReferenceType.new('Com::Vmware::Vapi::Metadata::Metamodel::EnumerationInfo')),
                        'constants' => VAPI::Bindings::MapType.new(VAPI::Bindings::StringType.instance, VAPI::Bindings::ReferenceType.new('Com::Vmware::Vapi::Metadata::Metamodel::ConstantInfo')),
                        'fields' => VAPI::Bindings::ListType.new(VAPI::Bindings::ReferenceType.new('Com::Vmware::Vapi::Metadata::Metamodel::FieldInfo')),
                        'metadata' => VAPI::Bindings::MapType.new(VAPI::Bindings::StringType.instance, VAPI::Bindings::ReferenceType.new('Com::Vmware::Vapi::Metadata::Metamodel::ElementMap')),
                        'documentation' => VAPI::Bindings::StringType.instance,
                    },
                    StructureInfo,
                    false,
                    nil)
            end
        end

        attr_accessor :name,
                      :type,
                      :enumerations,
                      :constants,
                      :fields,
                      :metadata,
                      :documentation

        # Constructs a new instance.
        # @param ruby_values [Hash] a map of initial property values (optional)
        # @param struct_value [VAPI::Data::StructValue] a raw StructValue from the wire (optional)
        def initialize(ruby_values=nil, struct_value=nil)
            super(self.class.binding_type, ruby_values, struct_value)
        end

        # The  ``Com::Vmware::Vapi::Metadata::Metamodel::StructureInfo::Type``   enumerated type  defines the kind of this structure element. In the interface definition language, structure element and error element have similar characteristics. The difference is that only error elements can be used to describe the  errors  of an operation element.
        # @!attribute [rw] structure
        #     @return [Com::Vmware::Vapi::Metadata::Metamodel::StructureInfo::Type]
        #     If the type is a structure element.
        # @!attribute [rw] error
        #     @return [Com::Vmware::Vapi::Metadata::Metamodel::StructureInfo::Type]
        #     If the type is an error element.
        class Type < VAPI::Bindings::VapiEnum

            class << self
                # Holds (gets or creates) the binding type metadata for this enumeration type.
                # @scope class
                # @return [VAPI::Bindings::EnumType] the binding type
                def binding_type
                    @binding_type ||= VAPI::Bindings::EnumType.new(
                        'com.vmware.vapi.metadata.metamodel.structure_info.type',
                        Type)
                end

                # Converts from a string value (perhaps off the wire) to an instance
                # of this enum type.
                # @param value [String] the actual value of the enum instance
                # @return [Type] the instance found for the value, otherwise
                #         an unknown instance will be built for the value
                def from_string(value)
                    begin
                        const_get(value)
                    rescue NameError
                        Type.new('UNKNOWN', value)
                    end
                end
            end

            private

            # Constructs a new instance.
            # @param value [String] the actual value of the enum instance
            # @param unknown [String] the unknown value when value is 'UKNOWN'
            def initialize(value, unknown=nil)
                super(self.class.binding_type, value, unknown)
            end

            public

            # @!attribute [rw] structure
            #     @return [Com::Vmware::Vapi::Metadata::Metamodel::StructureInfo::Type]
            #     If the type is a structure element.
            STRUCTURE = Type.new('STRUCTURE')

            # @!attribute [rw] error
            #     @return [Com::Vmware::Vapi::Metadata::Metamodel::StructureInfo::Type]
            #     If the type is an error element.
            ERROR = Type.new('ERROR')

        end

    end

### - (`Com::Vmware::Vapi::Metadata::Metamodel::StructureInfo::Type`) type

Type of the structure.

Returns:

- (`Com::Vmware::Vapi::Metadata::Metamodel::StructureInfo::Type`)

    1963
    1964
    1965
    1966
    1967
    1968
    1969
    1970
    1971
    1972
    1973
    1974
    1975
    1976
    1977
    1978
    1979
    1980
    1981
    1982
    1983
    1984
    1985
    1986
    1987
    1988
    1989
    1990
    1991
    1992
    1993
    1994
    1995
    1996
    1997
    1998
    1999
    2000
    2001
    2002
    2003
    2004
    2005
    2006
    2007
    2008
    2009
    2010
    2011
    2012
    2013
    2014
    2015
    2016
    2017
    2018
    2019
    2020
    2021
    2022
    2023
    2024
    2025
    2026
    2027
    2028
    2029
    2030
    2031
    2032
    2033
    2034
    2035
    2036
    2037
    2038
    2039
    2040
    2041
    2042
    2043
    2044
    2045
    2046
    2047
    2048
    2049
    2050
    2051
    2052
    2053
    2054
    2055
    2056
    2057
    2058
    2059
    2060
    # File '/build/mts/release/bora-4571906/build/sdk/aggregated-bindings/ruby/com/vmware/vapi/metadata/metamodel.rb', line 1963

    class StructureInfo < VAPI::Bindings::VapiStruct

        class << self
            # Holds (gets or creates) the binding type metadata for this structure type.
            # @scope class
            # @return [VAPI::Bindings::StructType] the binding type
            def binding_type
                @binding_type ||= VAPI::Bindings::StructType.new(
                    'com.vmware.vapi.metadata.metamodel.structure_info',
                    {
                        'name' => VAPI::Bindings::StringType.instance,
                        'type' => VAPI::Bindings::ReferenceType.new('Com::Vmware::Vapi::Metadata::Metamodel::StructureInfo::Type'),
                        'enumerations' => VAPI::Bindings::MapType.new(VAPI::Bindings::IdType.new, VAPI::Bindings::ReferenceType.new('Com::Vmware::Vapi::Metadata::Metamodel::EnumerationInfo')),
                        'constants' => VAPI::Bindings::MapType.new(VAPI::Bindings::StringType.instance, VAPI::Bindings::ReferenceType.new('Com::Vmware::Vapi::Metadata::Metamodel::ConstantInfo')),
                        'fields' => VAPI::Bindings::ListType.new(VAPI::Bindings::ReferenceType.new('Com::Vmware::Vapi::Metadata::Metamodel::FieldInfo')),
                        'metadata' => VAPI::Bindings::MapType.new(VAPI::Bindings::StringType.instance, VAPI::Bindings::ReferenceType.new('Com::Vmware::Vapi::Metadata::Metamodel::ElementMap')),
                        'documentation' => VAPI::Bindings::StringType.instance,
                    },
                    StructureInfo,
                    false,
                    nil)
            end
        end

        attr_accessor :name,
                      :type,
                      :enumerations,
                      :constants,
                      :fields,
                      :metadata,
                      :documentation

        # Constructs a new instance.
        # @param ruby_values [Hash] a map of initial property values (optional)
        # @param struct_value [VAPI::Data::StructValue] a raw StructValue from the wire (optional)
        def initialize(ruby_values=nil, struct_value=nil)
            super(self.class.binding_type, ruby_values, struct_value)
        end

        # The  ``Com::Vmware::Vapi::Metadata::Metamodel::StructureInfo::Type``   enumerated type  defines the kind of this structure element. In the interface definition language, structure element and error element have similar characteristics. The difference is that only error elements can be used to describe the  errors  of an operation element.
        # @!attribute [rw] structure
        #     @return [Com::Vmware::Vapi::Metadata::Metamodel::StructureInfo::Type]
        #     If the type is a structure element.
        # @!attribute [rw] error
        #     @return [Com::Vmware::Vapi::Metadata::Metamodel::StructureInfo::Type]
        #     If the type is an error element.
        class Type < VAPI::Bindings::VapiEnum

            class << self
                # Holds (gets or creates) the binding type metadata for this enumeration type.
                # @scope class
                # @return [VAPI::Bindings::EnumType] the binding type
                def binding_type
                    @binding_type ||= VAPI::Bindings::EnumType.new(
                        'com.vmware.vapi.metadata.metamodel.structure_info.type',
                        Type)
                end

                # Converts from a string value (perhaps off the wire) to an instance
                # of this enum type.
                # @param value [String] the actual value of the enum instance
                # @return [Type] the instance found for the value, otherwise
                #         an unknown instance will be built for the value
                def from_string(value)
                    begin
                        const_get(value)
                    rescue NameError
                        Type.new('UNKNOWN', value)
                    end
                end
            end

            private

            # Constructs a new instance.
            # @param value [String] the actual value of the enum instance
            # @param unknown [String] the unknown value when value is 'UKNOWN'
            def initialize(value, unknown=nil)
                super(self.class.binding_type, value, unknown)
            end

            public

            # @!attribute [rw] structure
            #     @return [Com::Vmware::Vapi::Metadata::Metamodel::StructureInfo::Type]
            #     If the type is a structure element.
            STRUCTURE = Type.new('STRUCTURE')

            # @!attribute [rw] error
            #     @return [Com::Vmware::Vapi::Metadata::Metamodel::StructureInfo::Type]
            #     If the type is an error element.
            ERROR = Type.new('ERROR')

        end

    end

## Class Method Details

### + (`VAPI::Bindings::StructType`) binding_type

Holds (gets or creates) the binding type metadata for this structure type.

Returns:

- (`VAPI::Bindings::StructType`) —

  the binding type

    1969
    1970
    1971
    1972
    1973
    1974
    1975
    1976
    1977
    1978
    1979
    1980
    1981
    1982
    1983
    1984
    # File '/build/mts/release/bora-4571906/build/sdk/aggregated-bindings/ruby/com/vmware/vapi/metadata/metamodel.rb', line 1969

    def binding_type
        @binding_type ||= VAPI::Bindings::StructType.new(
            'com.vmware.vapi.metadata.metamodel.structure_info',
            {
                'name' => VAPI::Bindings::StringType.instance,
                'type' => VAPI::Bindings::ReferenceType.new('Com::Vmware::Vapi::Metadata::Metamodel::StructureInfo::Type'),
                'enumerations' => VAPI::Bindings::MapType.new(VAPI::Bindings::IdType.new, VAPI::Bindings::ReferenceType.new('Com::Vmware::Vapi::Metadata::Metamodel::EnumerationInfo')),
                'constants' => VAPI::Bindings::MapType.new(VAPI::Bindings::StringType.instance, VAPI::Bindings::ReferenceType.new('Com::Vmware::Vapi::Metadata::Metamodel::ConstantInfo')),
                'fields' => VAPI::Bindings::ListType.new(VAPI::Bindings::ReferenceType.new('Com::Vmware::Vapi::Metadata::Metamodel::FieldInfo')),
                'metadata' => VAPI::Bindings::MapType.new(VAPI::Bindings::StringType.instance, VAPI::Bindings::ReferenceType.new('Com::Vmware::Vapi::Metadata::Metamodel::ElementMap')),
                'documentation' => VAPI::Bindings::StringType.instance,
            },
            StructureInfo,
            false,
            nil)
    end