Class List Method List File List

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

Inherits:
  VAPI::Bindings::VapiStruct
  - Object
  - VAPI::Bindings::VapiStruct
  - Com::Vmware::Vapi::Metadata::Metamodel::GenericInstantiation
  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::GenericInstantiation`` class describes the type information of a typed element when the type is an instantiation of one of the generic types provided by the infrastructure.

## Defined Under Namespace

Classes: GenericType

## Instance Attribute Summary (collapse)

- - (Com::Vmware::Vapi::Metadata::Metamodel::Type) element_type

  Type of the element parameter if the generic type instantiation is a :attr:`Com::Vmware::Vapi::Metadata::Metamodel::GenericInstantiation::GenericType.LIST` , :attr:`Com::Vmware::Vapi::Metadata::Metamodel::GenericInstantiation::GenericType.OPTIONAL` or :attr:`Com::Vmware::Vapi::Metadata::Metamodel::GenericInstantiation::GenericType.SET` .

- - (Com::Vmware::Vapi::Metadata::Metamodel::GenericInstantiation::GenericType) generic_type

  The generic type that is being instantiated.

- - (Com::Vmware::Vapi::Metadata::Metamodel::Type) map_key_type

  Type of the key parameter of the map generic type instantiation.

- - (Com::Vmware::Vapi::Metadata::Metamodel::Type) map_value_type

  Type of the value parameter of the map generic type instantiation.

## 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)

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

  Constructs a new instance.

## Constructor Details

### - (`GenericInstantiation`) 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)

    1486
    1487
    1488
    # File '/build/mts/release/bora-4571906/build/sdk/aggregated-bindings/ruby/com/vmware/vapi/metadata/metamodel.rb', line 1486

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

## Instance Attribute Details

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

Type of the element parameter if the generic type instantiation is a :attr:`Com::Vmware::Vapi::Metadata::Metamodel::GenericInstantiation::GenericType.LIST` , :attr:`Com::Vmware::Vapi::Metadata::Metamodel::GenericInstantiation::GenericType.OPTIONAL` or :attr:`Com::Vmware::Vapi::Metadata::Metamodel::GenericInstantiation::GenericType.SET` . This field is optional and it is only relevant when the value of ``genericType`` is one of :attr:`Com::Vmware::Vapi::Metadata::Metamodel::GenericInstantiation::GenericType.LIST` , :attr:`Com::Vmware::Vapi::Metadata::Metamodel::GenericInstantiation::GenericType.OPTIONAL` , or :attr:`Com::Vmware::Vapi::Metadata::Metamodel::GenericInstantiation::GenericType.SET` .

Returns:

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

    1457
    1458
    1459
    1460
    1461
    1462
    1463
    1464
    1465
    1466
    1467
    1468
    1469
    1470
    1471
    1472
    1473
    1474
    1475
    1476
    1477
    1478
    1479
    1480
    1481
    1482
    1483
    1484
    1485
    1486
    1487
    1488
    1489
    1490
    1491
    1492
    1493
    1494
    1495
    1496
    1497
    1498
    1499
    1500
    1501
    1502
    1503
    1504
    1505
    1506
    1507
    1508
    1509
    1510
    1511
    1512
    1513
    1514
    1515
    1516
    1517
    1518
    1519
    1520
    1521
    1522
    1523
    1524
    1525
    1526
    1527
    1528
    1529
    1530
    1531
    1532
    1533
    1534
    1535
    1536
    1537
    1538
    1539
    1540
    1541
    1542
    1543
    1544
    1545
    1546
    1547
    1548
    1549
    1550
    1551
    1552
    1553
    1554
    1555
    1556
    1557
    1558
    1559
    1560
    1561
    1562
    1563
    1564
    # File '/build/mts/release/bora-4571906/build/sdk/aggregated-bindings/ruby/com/vmware/vapi/metadata/metamodel.rb', line 1457

    class GenericInstantiation < 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.generic_instantiation',
                    {
                        'generic_type' => VAPI::Bindings::ReferenceType.new('Com::Vmware::Vapi::Metadata::Metamodel::GenericInstantiation::GenericType'),
                        'element_type' => VAPI::Bindings::OptionalType.new(VAPI::Bindings::ReferenceType.new('Com::Vmware::Vapi::Metadata::Metamodel::Type')),
                        'map_key_type' => VAPI::Bindings::OptionalType.new(VAPI::Bindings::ReferenceType.new('Com::Vmware::Vapi::Metadata::Metamodel::Type')),
                        'map_value_type' => VAPI::Bindings::OptionalType.new(VAPI::Bindings::ReferenceType.new('Com::Vmware::Vapi::Metadata::Metamodel::Type')),
                    },
                    GenericInstantiation,
                    false,
                    nil)
            end
        end

        attr_accessor :generic_type,
                      :element_type,
                      :map_key_type,
                      :map_value_type

        # 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::GenericInstantiation::GenericType``   enumerated type  provides  enumeration values  for each of the generic types provided by the infrastructure.
        # @!attribute [rw] list
        #     @return [Com::Vmware::Vapi::Metadata::Metamodel::GenericInstantiation::GenericType]
        #     Indicates the generic type is a list.
        # @!attribute [rw] map
        #     @return [Com::Vmware::Vapi::Metadata::Metamodel::GenericInstantiation::GenericType]
        #     Indicates the generic type is a map.
        # @!attribute [rw] optional
        #     @return [Com::Vmware::Vapi::Metadata::Metamodel::GenericInstantiation::GenericType]
        #     Indicates the generic type is an optional.
        # @!attribute [rw] set
        #     @return [Com::Vmware::Vapi::Metadata::Metamodel::GenericInstantiation::GenericType]
        #     Indicates the generic type is a set.
        class GenericType < 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.generic_instantiation.generic_type',
                        GenericType)
                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 [GenericType] 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
                        GenericType.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] list
            #     @return [Com::Vmware::Vapi::Metadata::Metamodel::GenericInstantiation::GenericType]
            #     Indicates the generic type is a list.
            LIST = GenericType.new('LIST')

            # @!attribute [rw] map
            #     @return [Com::Vmware::Vapi::Metadata::Metamodel::GenericInstantiation::GenericType]
            #     Indicates the generic type is a map.
            MAP = GenericType.new('MAP')

            # @!attribute [rw] optional
            #     @return [Com::Vmware::Vapi::Metadata::Metamodel::GenericInstantiation::GenericType]
            #     Indicates the generic type is an optional.
            OPTIONAL = GenericType.new('OPTIONAL')

            # @!attribute [rw] set
            #     @return [Com::Vmware::Vapi::Metadata::Metamodel::GenericInstantiation::GenericType]
            #     Indicates the generic type is a set.
            SET = GenericType.new('SET')

        end

    end

### - (`Com::Vmware::Vapi::Metadata::Metamodel::GenericInstantiation::GenericType`) generic_type

The generic type that is being instantiated.

Returns:

- (`Com::Vmware::Vapi::Metadata::Metamodel::GenericInstantiation::GenericType`)

    1457
    1458
    1459
    1460
    1461
    1462
    1463
    1464
    1465
    1466
    1467
    1468
    1469
    1470
    1471
    1472
    1473
    1474
    1475
    1476
    1477
    1478
    1479
    1480
    1481
    1482
    1483
    1484
    1485
    1486
    1487
    1488
    1489
    1490
    1491
    1492
    1493
    1494
    1495
    1496
    1497
    1498
    1499
    1500
    1501
    1502
    1503
    1504
    1505
    1506
    1507
    1508
    1509
    1510
    1511
    1512
    1513
    1514
    1515
    1516
    1517
    1518
    1519
    1520
    1521
    1522
    1523
    1524
    1525
    1526
    1527
    1528
    1529
    1530
    1531
    1532
    1533
    1534
    1535
    1536
    1537
    1538
    1539
    1540
    1541
    1542
    1543
    1544
    1545
    1546
    1547
    1548
    1549
    1550
    1551
    1552
    1553
    1554
    1555
    1556
    1557
    1558
    1559
    1560
    1561
    1562
    1563
    1564
    # File '/build/mts/release/bora-4571906/build/sdk/aggregated-bindings/ruby/com/vmware/vapi/metadata/metamodel.rb', line 1457

    class GenericInstantiation < 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.generic_instantiation',
                    {
                        'generic_type' => VAPI::Bindings::ReferenceType.new('Com::Vmware::Vapi::Metadata::Metamodel::GenericInstantiation::GenericType'),
                        'element_type' => VAPI::Bindings::OptionalType.new(VAPI::Bindings::ReferenceType.new('Com::Vmware::Vapi::Metadata::Metamodel::Type')),
                        'map_key_type' => VAPI::Bindings::OptionalType.new(VAPI::Bindings::ReferenceType.new('Com::Vmware::Vapi::Metadata::Metamodel::Type')),
                        'map_value_type' => VAPI::Bindings::OptionalType.new(VAPI::Bindings::ReferenceType.new('Com::Vmware::Vapi::Metadata::Metamodel::Type')),
                    },
                    GenericInstantiation,
                    false,
                    nil)
            end
        end

        attr_accessor :generic_type,
                      :element_type,
                      :map_key_type,
                      :map_value_type

        # 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::GenericInstantiation::GenericType``   enumerated type  provides  enumeration values  for each of the generic types provided by the infrastructure.
        # @!attribute [rw] list
        #     @return [Com::Vmware::Vapi::Metadata::Metamodel::GenericInstantiation::GenericType]
        #     Indicates the generic type is a list.
        # @!attribute [rw] map
        #     @return [Com::Vmware::Vapi::Metadata::Metamodel::GenericInstantiation::GenericType]
        #     Indicates the generic type is a map.
        # @!attribute [rw] optional
        #     @return [Com::Vmware::Vapi::Metadata::Metamodel::GenericInstantiation::GenericType]
        #     Indicates the generic type is an optional.
        # @!attribute [rw] set
        #     @return [Com::Vmware::Vapi::Metadata::Metamodel::GenericInstantiation::GenericType]
        #     Indicates the generic type is a set.
        class GenericType < 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.generic_instantiation.generic_type',
                        GenericType)
                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 [GenericType] 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
                        GenericType.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] list
            #     @return [Com::Vmware::Vapi::Metadata::Metamodel::GenericInstantiation::GenericType]
            #     Indicates the generic type is a list.
            LIST = GenericType.new('LIST')

            # @!attribute [rw] map
            #     @return [Com::Vmware::Vapi::Metadata::Metamodel::GenericInstantiation::GenericType]
            #     Indicates the generic type is a map.
            MAP = GenericType.new('MAP')

            # @!attribute [rw] optional
            #     @return [Com::Vmware::Vapi::Metadata::Metamodel::GenericInstantiation::GenericType]
            #     Indicates the generic type is an optional.
            OPTIONAL = GenericType.new('OPTIONAL')

            # @!attribute [rw] set
            #     @return [Com::Vmware::Vapi::Metadata::Metamodel::GenericInstantiation::GenericType]
            #     Indicates the generic type is a set.
            SET = GenericType.new('SET')

        end

    end

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

Type of the key parameter of the map generic type instantiation. The map generic type has a key parameter and value parameter. The type of the value parameter is described by :attr:`Com::Vmware::Vapi::Metadata::Metamodel::GenericInstantiation.map_value_type` .. This field is optional and it is only relevant when the value of ``genericType`` is :attr:`Com::Vmware::Vapi::Metadata::Metamodel::GenericInstantiation::GenericType.MAP` .

Returns:

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

    1457
    1458
    1459
    1460
    1461
    1462
    1463
    1464
    1465
    1466
    1467
    1468
    1469
    1470
    1471
    1472
    1473
    1474
    1475
    1476
    1477
    1478
    1479
    1480
    1481
    1482
    1483
    1484
    1485
    1486
    1487
    1488
    1489
    1490
    1491
    1492
    1493
    1494
    1495
    1496
    1497
    1498
    1499
    1500
    1501
    1502
    1503
    1504
    1505
    1506
    1507
    1508
    1509
    1510
    1511
    1512
    1513
    1514
    1515
    1516
    1517
    1518
    1519
    1520
    1521
    1522
    1523
    1524
    1525
    1526
    1527
    1528
    1529
    1530
    1531
    1532
    1533
    1534
    1535
    1536
    1537
    1538
    1539
    1540
    1541
    1542
    1543
    1544
    1545
    1546
    1547
    1548
    1549
    1550
    1551
    1552
    1553
    1554
    1555
    1556
    1557
    1558
    1559
    1560
    1561
    1562
    1563
    1564
    # File '/build/mts/release/bora-4571906/build/sdk/aggregated-bindings/ruby/com/vmware/vapi/metadata/metamodel.rb', line 1457

    class GenericInstantiation < 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.generic_instantiation',
                    {
                        'generic_type' => VAPI::Bindings::ReferenceType.new('Com::Vmware::Vapi::Metadata::Metamodel::GenericInstantiation::GenericType'),
                        'element_type' => VAPI::Bindings::OptionalType.new(VAPI::Bindings::ReferenceType.new('Com::Vmware::Vapi::Metadata::Metamodel::Type')),
                        'map_key_type' => VAPI::Bindings::OptionalType.new(VAPI::Bindings::ReferenceType.new('Com::Vmware::Vapi::Metadata::Metamodel::Type')),
                        'map_value_type' => VAPI::Bindings::OptionalType.new(VAPI::Bindings::ReferenceType.new('Com::Vmware::Vapi::Metadata::Metamodel::Type')),
                    },
                    GenericInstantiation,
                    false,
                    nil)
            end
        end

        attr_accessor :generic_type,
                      :element_type,
                      :map_key_type,
                      :map_value_type

        # 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::GenericInstantiation::GenericType``   enumerated type  provides  enumeration values  for each of the generic types provided by the infrastructure.
        # @!attribute [rw] list
        #     @return [Com::Vmware::Vapi::Metadata::Metamodel::GenericInstantiation::GenericType]
        #     Indicates the generic type is a list.
        # @!attribute [rw] map
        #     @return [Com::Vmware::Vapi::Metadata::Metamodel::GenericInstantiation::GenericType]
        #     Indicates the generic type is a map.
        # @!attribute [rw] optional
        #     @return [Com::Vmware::Vapi::Metadata::Metamodel::GenericInstantiation::GenericType]
        #     Indicates the generic type is an optional.
        # @!attribute [rw] set
        #     @return [Com::Vmware::Vapi::Metadata::Metamodel::GenericInstantiation::GenericType]
        #     Indicates the generic type is a set.
        class GenericType < 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.generic_instantiation.generic_type',
                        GenericType)
                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 [GenericType] 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
                        GenericType.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] list
            #     @return [Com::Vmware::Vapi::Metadata::Metamodel::GenericInstantiation::GenericType]
            #     Indicates the generic type is a list.
            LIST = GenericType.new('LIST')

            # @!attribute [rw] map
            #     @return [Com::Vmware::Vapi::Metadata::Metamodel::GenericInstantiation::GenericType]
            #     Indicates the generic type is a map.
            MAP = GenericType.new('MAP')

            # @!attribute [rw] optional
            #     @return [Com::Vmware::Vapi::Metadata::Metamodel::GenericInstantiation::GenericType]
            #     Indicates the generic type is an optional.
            OPTIONAL = GenericType.new('OPTIONAL')

            # @!attribute [rw] set
            #     @return [Com::Vmware::Vapi::Metadata::Metamodel::GenericInstantiation::GenericType]
            #     Indicates the generic type is a set.
            SET = GenericType.new('SET')

        end

    end

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

Type of the value parameter of the map generic type instantiation. The map generic type has a key parameter and value parameter. The type of the key parameter is described by :attr:`Com::Vmware::Vapi::Metadata::Metamodel::GenericInstantiation.map_key_type` .. This field is optional and it is only relevant when the value of ``genericType`` is :attr:`Com::Vmware::Vapi::Metadata::Metamodel::GenericInstantiation::GenericType.MAP` .

Returns:

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

    1457
    1458
    1459
    1460
    1461
    1462
    1463
    1464
    1465
    1466
    1467
    1468
    1469
    1470
    1471
    1472
    1473
    1474
    1475
    1476
    1477
    1478
    1479
    1480
    1481
    1482
    1483
    1484
    1485
    1486
    1487
    1488
    1489
    1490
    1491
    1492
    1493
    1494
    1495
    1496
    1497
    1498
    1499
    1500
    1501
    1502
    1503
    1504
    1505
    1506
    1507
    1508
    1509
    1510
    1511
    1512
    1513
    1514
    1515
    1516
    1517
    1518
    1519
    1520
    1521
    1522
    1523
    1524
    1525
    1526
    1527
    1528
    1529
    1530
    1531
    1532
    1533
    1534
    1535
    1536
    1537
    1538
    1539
    1540
    1541
    1542
    1543
    1544
    1545
    1546
    1547
    1548
    1549
    1550
    1551
    1552
    1553
    1554
    1555
    1556
    1557
    1558
    1559
    1560
    1561
    1562
    1563
    1564
    # File '/build/mts/release/bora-4571906/build/sdk/aggregated-bindings/ruby/com/vmware/vapi/metadata/metamodel.rb', line 1457

    class GenericInstantiation < 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.generic_instantiation',
                    {
                        'generic_type' => VAPI::Bindings::ReferenceType.new('Com::Vmware::Vapi::Metadata::Metamodel::GenericInstantiation::GenericType'),
                        'element_type' => VAPI::Bindings::OptionalType.new(VAPI::Bindings::ReferenceType.new('Com::Vmware::Vapi::Metadata::Metamodel::Type')),
                        'map_key_type' => VAPI::Bindings::OptionalType.new(VAPI::Bindings::ReferenceType.new('Com::Vmware::Vapi::Metadata::Metamodel::Type')),
                        'map_value_type' => VAPI::Bindings::OptionalType.new(VAPI::Bindings::ReferenceType.new('Com::Vmware::Vapi::Metadata::Metamodel::Type')),
                    },
                    GenericInstantiation,
                    false,
                    nil)
            end
        end

        attr_accessor :generic_type,
                      :element_type,
                      :map_key_type,
                      :map_value_type

        # 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::GenericInstantiation::GenericType``   enumerated type  provides  enumeration values  for each of the generic types provided by the infrastructure.
        # @!attribute [rw] list
        #     @return [Com::Vmware::Vapi::Metadata::Metamodel::GenericInstantiation::GenericType]
        #     Indicates the generic type is a list.
        # @!attribute [rw] map
        #     @return [Com::Vmware::Vapi::Metadata::Metamodel::GenericInstantiation::GenericType]
        #     Indicates the generic type is a map.
        # @!attribute [rw] optional
        #     @return [Com::Vmware::Vapi::Metadata::Metamodel::GenericInstantiation::GenericType]
        #     Indicates the generic type is an optional.
        # @!attribute [rw] set
        #     @return [Com::Vmware::Vapi::Metadata::Metamodel::GenericInstantiation::GenericType]
        #     Indicates the generic type is a set.
        class GenericType < 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.generic_instantiation.generic_type',
                        GenericType)
                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 [GenericType] 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
                        GenericType.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] list
            #     @return [Com::Vmware::Vapi::Metadata::Metamodel::GenericInstantiation::GenericType]
            #     Indicates the generic type is a list.
            LIST = GenericType.new('LIST')

            # @!attribute [rw] map
            #     @return [Com::Vmware::Vapi::Metadata::Metamodel::GenericInstantiation::GenericType]
            #     Indicates the generic type is a map.
            MAP = GenericType.new('MAP')

            # @!attribute [rw] optional
            #     @return [Com::Vmware::Vapi::Metadata::Metamodel::GenericInstantiation::GenericType]
            #     Indicates the generic type is an optional.
            OPTIONAL = GenericType.new('OPTIONAL')

            # @!attribute [rw] set
            #     @return [Com::Vmware::Vapi::Metadata::Metamodel::GenericInstantiation::GenericType]
            #     Indicates the generic type is a set.
            SET = GenericType.new('SET')

        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

    1463
    1464
    1465
    1466
    1467
    1468
    1469
    1470
    1471
    1472
    1473
    1474
    1475
    # File '/build/mts/release/bora-4571906/build/sdk/aggregated-bindings/ruby/com/vmware/vapi/metadata/metamodel.rb', line 1463

    def binding_type
        @binding_type ||= VAPI::Bindings::StructType.new(
            'com.vmware.vapi.metadata.metamodel.generic_instantiation',
            {
                'generic_type' => VAPI::Bindings::ReferenceType.new('Com::Vmware::Vapi::Metadata::Metamodel::GenericInstantiation::GenericType'),
                'element_type' => VAPI::Bindings::OptionalType.new(VAPI::Bindings::ReferenceType.new('Com::Vmware::Vapi::Metadata::Metamodel::Type')),
                'map_key_type' => VAPI::Bindings::OptionalType.new(VAPI::Bindings::ReferenceType.new('Com::Vmware::Vapi::Metadata::Metamodel::Type')),
                'map_value_type' => VAPI::Bindings::OptionalType.new(VAPI::Bindings::ReferenceType.new('Com::Vmware::Vapi::Metadata::Metamodel::Type')),
            },
            GenericInstantiation,
            false,
            nil)
    end