Class: Com::Vmware::Vapi::Metadata::Metamodel::Type

Inherits:
VAPI::Bindings::VapiStruct
  • Object
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::Type`` class describes the type information of a typed element in the interface definiton language. The following elements in the metamodel are typed:


  * Field element in a structure element. See   :attr:`Com::Vmware::Vapi::Metadata::Metamodel::StructureInfo.fields` 
   * Parameter element in an operation element. See   :attr:`Com::Vmware::Vapi::Metadata::Metamodel::OperationInfo.params` 
   * Result element in an operation element. See   :attr:`Com::Vmware::Vapi::Metadata::Metamodel::OperationInfo.output` 
  
  The type could be one of the three following categories:  

  * Built-in types: These are types present in the interface definition language type system. They are provided by the infrastructure. 
   * User defined named type: API designers can create custom types and use them for the typed elements. These types have a unique identifier.
   * Generic type instantiation: The language infrastructure also provides generic types such as list, map, set and so on. An instantiation of one of these generic types could also be used for the typed elements.

Defined Under Namespace

Classes: BuiltinType, Category

Instance Attribute Summary (collapse)

Class Method Summary (collapse)

Instance Method Summary (collapse)

Constructor Details

- (Type) 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)



2119
2120
2121
# File '/build/mts/release/bora-4571906/build/sdk/aggregated-bindings/ruby/com/vmware/vapi/metadata/metamodel.rb', line 2119

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::BuiltinType) builtin_type

Category of the built-in type. This field is optional and it is only relevant when the value of ``category`` is :attr:`Com::Vmware::Vapi::Metadata::Metamodel::Type::Category.BUILTIN` .



2090
2091
2092
2093
2094
2095
2096
2097
2098
2099
2100
2101
2102
2103
2104
2105
2106
2107
2108
2109
2110
2111
2112
2113
2114
2115
2116
2117
2118
2119
2120
2121
2122
2123
2124
2125
2126
2127
2128
2129
2130
2131
2132
2133
2134
2135
2136
2137
2138
2139
2140
2141
2142
2143
2144
2145
2146
2147
2148
2149
2150
2151
2152
2153
2154
2155
2156
2157
2158
2159
2160
2161
2162
2163
2164
2165
2166
2167
2168
2169
2170
2171
2172
2173
2174
2175
2176
2177
2178
2179
2180
2181
2182
2183
2184
2185
2186
2187
2188
2189
2190
2191
2192
2193
2194
2195
2196
2197
2198
2199
2200
2201
2202
2203
2204
2205
2206
2207
2208
2209
2210
2211
2212
2213
2214
2215
2216
2217
2218
2219
2220
2221
2222
2223
2224
2225
2226
2227
2228
2229
2230
2231
2232
2233
2234
2235
2236
2237
2238
2239
2240
2241
2242
2243
2244
2245
2246
2247
2248
2249
2250
2251
2252
2253
2254
2255
2256
2257
2258
2259
2260
2261
2262
2263
2264
2265
2266
2267
2268
2269
2270
2271
2272
2273
2274
2275
2276
2277
2278
2279
2280
2281
2282
2283
2284
2285
2286
2287
2288
2289
2290
2291
2292
2293
2294
2295
2296
2297
2298
2299
2300
2301
2302
2303
2304
2305
2306
2307
2308
2309
2310
2311
2312
2313
2314
2315
2316
2317
2318
2319
2320
2321
2322
2323
2324
2325
2326
2327
2328
2329
2330
2331
2332
2333
2334
# File '/build/mts/release/bora-4571906/build/sdk/aggregated-bindings/ruby/com/vmware/vapi/metadata/metamodel.rb', line 2090

class Type < 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.type',
                {
                    'category' => VAPI::Bindings::ReferenceType.new('Com::Vmware::Vapi::Metadata::Metamodel::Type::Category'),
                    'builtin_type' => VAPI::Bindings::OptionalType.new(VAPI::Bindings::ReferenceType.new('Com::Vmware::Vapi::Metadata::Metamodel::Type::BuiltinType')),
                    'user_defined_type' => VAPI::Bindings::OptionalType.new(VAPI::Bindings::ReferenceType.new('Com::Vmware::Vapi::Metadata::Metamodel::UserDefinedType')),
                    'generic_instantiation' => VAPI::Bindings::OptionalType.new(VAPI::Bindings::ReferenceType.new('Com::Vmware::Vapi::Metadata::Metamodel::GenericInstantiation')),
                },
                Type,
                false,
                nil)
        end
    end

    attr_accessor :category,
                  :builtin_type,
                  :user_defined_type,
                  :generic_instantiation

    # 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::Type::Category``   enumerated type  provides  enumeration value  for each category of the type.
    # @!attribute [rw] builtin
    #     @return [Com::Vmware::Vapi::Metadata::Metamodel::Type::Category]
    #     The type is one of the built-in types specified in   :class:`Com::Vmware::Vapi::Metadata::Metamodel::Type::BuiltinType` 
    # @!attribute [rw] user_defined
    #     @return [Com::Vmware::Vapi::Metadata::Metamodel::Type::Category]
    #     The type is one of the user defined named types.
    # @!attribute [rw] generic
    #     @return [Com::Vmware::Vapi::Metadata::Metamodel::Type::Category]
    #     The type is an instantiation of one of the generic types.
    class Category < 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.type.category',
                    Category)
            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 [Category] 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
                    Category.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] builtin
        #     @return [Com::Vmware::Vapi::Metadata::Metamodel::Type::Category]
        #     The type is one of the built-in types specified in   :class:`Com::Vmware::Vapi::Metadata::Metamodel::Type::BuiltinType` 
        BUILTIN = Category.new('BUILTIN')

        # @!attribute [rw] user_defined
        #     @return [Com::Vmware::Vapi::Metadata::Metamodel::Type::Category]
        #     The type is one of the user defined named types.
        USER_DEFINED = Category.new('USER_DEFINED')

        # @!attribute [rw] generic
        #     @return [Com::Vmware::Vapi::Metadata::Metamodel::Type::Category]
        #     The type is an instantiation of one of the generic types.
        GENERIC = Category.new('GENERIC')

    end


    # The  ``Com::Vmware::Vapi::Metadata::Metamodel::Type::BuiltinType``   enumerated type  provides  enumeration value  for each of the built-in types present in the interface definition language type system.
    # @!attribute [rw] void
    #     @return [Com::Vmware::Vapi::Metadata::Metamodel::Type::BuiltinType]
    #     The built-in type is a void. The value is  nil .
    # @!attribute [rw] boolean
    #     @return [Com::Vmware::Vapi::Metadata::Metamodel::Type::BuiltinType]
    #     The built-in type is a boolean. The value is true or false.
    # @!attribute [rw] long
    #     @return [Com::Vmware::Vapi::Metadata::Metamodel::Type::BuiltinType]
    #     The built-in type is a long. The value is a 64 bit signed integer.
    # @!attribute [rw] double
    #     @return [Com::Vmware::Vapi::Metadata::Metamodel::Type::BuiltinType]
    #     The built-in type is a double. The value is a 64 bit floating point number.
    # @!attribute [rw] string
    #     @return [Com::Vmware::Vapi::Metadata::Metamodel::Type::BuiltinType]
    #     The built-in type is a string. The value is a variable-length sequence of zero or more unicode characters.
    # @!attribute [rw] binary
    #     @return [Com::Vmware::Vapi::Metadata::Metamodel::Type::BuiltinType]
    #     The built-in type is a binary. The value is a variable-length sequence of zero or more bytes.
    # @!attribute [rw] secret
    #     @return [Com::Vmware::Vapi::Metadata::Metamodel::Type::BuiltinType]
    #     The built-in type is a secret. The value is a variable-length sequence of zero or more unicode characters. The value contains sensitive data that should not be printed or displayed anywhere.
    # @!attribute [rw] date_time
    #     @return [Com::Vmware::Vapi::Metadata::Metamodel::Type::BuiltinType]
    #     The built-in type is a datetime. The value should be in the UTC timezone and the precision is milliseconds.
    # @!attribute [rw] id
    #     @return [Com::Vmware::Vapi::Metadata::Metamodel::Type::BuiltinType]
    #     The built-in type is an ID. The value represents an identifier for a resource.
    # @!attribute [rw] uri
    #     @return [Com::Vmware::Vapi::Metadata::Metamodel::Type::BuiltinType]
    #     The built-in type is an URI. The value follows the IRI specification in RFC 3987.
    # @!attribute [rw] any_error
    #     @return [Com::Vmware::Vapi::Metadata::Metamodel::Type::BuiltinType]
    #     The built-in type is an arbitrary  error  type. This is used if the value of a typed element can be one of any user defined named type which is an  error .
    # @!attribute [rw] dynamic_structure
    #     @return [Com::Vmware::Vapi::Metadata::Metamodel::Type::BuiltinType]
    #     The built-in type is a dynamic structure. This is used if the value of a typed element can be one of any user defined named type.
    # @!attribute [rw] opaque
    #     @return [Com::Vmware::Vapi::Metadata::Metamodel::Type::BuiltinType]
    #     The built-in type is an opaque. This is used if the value of a typed element could be of any type and the actual type will be known only during the execution of the API. This is mostly used in infrastructure  classs .
    class BuiltinType < 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.type.builtin_type',
                    BuiltinType)
            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 [BuiltinType] 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
                    BuiltinType.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] void
        #     @return [Com::Vmware::Vapi::Metadata::Metamodel::Type::BuiltinType]
        #     The built-in type is a void. The value is  nil .
        VOID = BuiltinType.new('VOID')

        # @!attribute [rw] boolean
        #     @return [Com::Vmware::Vapi::Metadata::Metamodel::Type::BuiltinType]
        #     The built-in type is a boolean. The value is true or false.
        BOOLEAN = BuiltinType.new('BOOLEAN')

        # @!attribute [rw] long
        #     @return [Com::Vmware::Vapi::Metadata::Metamodel::Type::BuiltinType]
        #     The built-in type is a long. The value is a 64 bit signed integer.
        LONG = BuiltinType.new('LONG')

        # @!attribute [rw] double
        #     @return [Com::Vmware::Vapi::Metadata::Metamodel::Type::BuiltinType]
        #     The built-in type is a double. The value is a 64 bit floating point number.
        DOUBLE = BuiltinType.new('DOUBLE')

        # @!attribute [rw] string
        #     @return [Com::Vmware::Vapi::Metadata::Metamodel::Type::BuiltinType]
        #     The built-in type is a string. The value is a variable-length sequence of zero or more unicode characters.
        STRING = BuiltinType.new('STRING')

        # @!attribute [rw] binary
        #     @return [Com::Vmware::Vapi::Metadata::Metamodel::Type::BuiltinType]
        #     The built-in type is a binary. The value is a variable-length sequence of zero or more bytes.
        BINARY = BuiltinType.new('BINARY')

        # @!attribute [rw] secret
        #     @return [Com::Vmware::Vapi::Metadata::Metamodel::Type::BuiltinType]
        #     The built-in type is a secret. The value is a variable-length sequence of zero or more unicode characters. The value contains sensitive data that should not be printed or displayed anywhere.
        SECRET = BuiltinType.new('SECRET')

        # @!attribute [rw] date_time
        #     @return [Com::Vmware::Vapi::Metadata::Metamodel::Type::BuiltinType]
        #     The built-in type is a datetime. The value should be in the UTC timezone and the precision is milliseconds.
        DATE_TIME = BuiltinType.new('DATE_TIME')

        # @!attribute [rw] id
        #     @return [Com::Vmware::Vapi::Metadata::Metamodel::Type::BuiltinType]
        #     The built-in type is an ID. The value represents an identifier for a resource.
        ID = BuiltinType.new('ID')

        # @!attribute [rw] uri
        #     @return [Com::Vmware::Vapi::Metadata::Metamodel::Type::BuiltinType]
        #     The built-in type is an URI. The value follows the IRI specification in RFC 3987.
        URI = BuiltinType.new('URI')

        # @!attribute [rw] any_error
        #     @return [Com::Vmware::Vapi::Metadata::Metamodel::Type::BuiltinType]
        #     The built-in type is an arbitrary  error  type. This is used if the value of a typed element can be one of any user defined named type which is an  error .
        ANY_ERROR = BuiltinType.new('ANY_ERROR')

        # @!attribute [rw] dynamic_structure
        #     @return [Com::Vmware::Vapi::Metadata::Metamodel::Type::BuiltinType]
        #     The built-in type is a dynamic structure. This is used if the value of a typed element can be one of any user defined named type.
        DYNAMIC_STRUCTURE = BuiltinType.new('DYNAMIC_STRUCTURE')

        # @!attribute [rw] opaque
        #     @return [Com::Vmware::Vapi::Metadata::Metamodel::Type::BuiltinType]
        #     The built-in type is an opaque. This is used if the value of a typed element could be of any type and the actual type will be known only during the execution of the API. This is mostly used in infrastructure  classs .
        OPAQUE = BuiltinType.new('OPAQUE')

    end


end

- (Com::Vmware::Vapi::Metadata::Metamodel::Type::Category) category

Category of this type.



2090
2091
2092
2093
2094
2095
2096
2097
2098
2099
2100
2101
2102
2103
2104
2105
2106
2107
2108
2109
2110
2111
2112
2113
2114
2115
2116
2117
2118
2119
2120
2121
2122
2123
2124
2125
2126
2127
2128
2129
2130
2131
2132
2133
2134
2135
2136
2137
2138
2139
2140
2141
2142
2143
2144
2145
2146
2147
2148
2149
2150
2151
2152
2153
2154
2155
2156
2157
2158
2159
2160
2161
2162
2163
2164
2165
2166
2167
2168
2169
2170
2171
2172
2173
2174
2175
2176
2177
2178
2179
2180
2181
2182
2183
2184
2185
2186
2187
2188
2189
2190
2191
2192
2193
2194
2195
2196
2197
2198
2199
2200
2201
2202
2203
2204
2205
2206
2207
2208
2209
2210
2211
2212
2213
2214
2215
2216
2217
2218
2219
2220
2221
2222
2223
2224
2225
2226
2227
2228
2229
2230
2231
2232
2233
2234
2235
2236
2237
2238
2239
2240
2241
2242
2243
2244
2245
2246
2247
2248
2249
2250
2251
2252
2253
2254
2255
2256
2257
2258
2259
2260
2261
2262
2263
2264
2265
2266
2267
2268
2269
2270
2271
2272
2273
2274
2275
2276
2277
2278
2279
2280
2281
2282
2283
2284
2285
2286
2287
2288
2289
2290
2291
2292
2293
2294
2295
2296
2297
2298
2299
2300
2301
2302
2303
2304
2305
2306
2307
2308
2309
2310
2311
2312
2313
2314
2315
2316
2317
2318
2319
2320
2321
2322
2323
2324
2325
2326
2327
2328
2329
2330
2331
2332
2333
2334
# File '/build/mts/release/bora-4571906/build/sdk/aggregated-bindings/ruby/com/vmware/vapi/metadata/metamodel.rb', line 2090

class Type < 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.type',
                {
                    'category' => VAPI::Bindings::ReferenceType.new('Com::Vmware::Vapi::Metadata::Metamodel::Type::Category'),
                    'builtin_type' => VAPI::Bindings::OptionalType.new(VAPI::Bindings::ReferenceType.new('Com::Vmware::Vapi::Metadata::Metamodel::Type::BuiltinType')),
                    'user_defined_type' => VAPI::Bindings::OptionalType.new(VAPI::Bindings::ReferenceType.new('Com::Vmware::Vapi::Metadata::Metamodel::UserDefinedType')),
                    'generic_instantiation' => VAPI::Bindings::OptionalType.new(VAPI::Bindings::ReferenceType.new('Com::Vmware::Vapi::Metadata::Metamodel::GenericInstantiation')),
                },
                Type,
                false,
                nil)
        end
    end

    attr_accessor :category,
                  :builtin_type,
                  :user_defined_type,
                  :generic_instantiation

    # 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::Type::Category``   enumerated type  provides  enumeration value  for each category of the type.
    # @!attribute [rw] builtin
    #     @return [Com::Vmware::Vapi::Metadata::Metamodel::Type::Category]
    #     The type is one of the built-in types specified in   :class:`Com::Vmware::Vapi::Metadata::Metamodel::Type::BuiltinType` 
    # @!attribute [rw] user_defined
    #     @return [Com::Vmware::Vapi::Metadata::Metamodel::Type::Category]
    #     The type is one of the user defined named types.
    # @!attribute [rw] generic
    #     @return [Com::Vmware::Vapi::Metadata::Metamodel::Type::Category]
    #     The type is an instantiation of one of the generic types.
    class Category < 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.type.category',
                    Category)
            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 [Category] 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
                    Category.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] builtin
        #     @return [Com::Vmware::Vapi::Metadata::Metamodel::Type::Category]
        #     The type is one of the built-in types specified in   :class:`Com::Vmware::Vapi::Metadata::Metamodel::Type::BuiltinType` 
        BUILTIN = Category.new('BUILTIN')

        # @!attribute [rw] user_defined
        #     @return [Com::Vmware::Vapi::Metadata::Metamodel::Type::Category]
        #     The type is one of the user defined named types.
        USER_DEFINED = Category.new('USER_DEFINED')

        # @!attribute [rw] generic
        #     @return [Com::Vmware::Vapi::Metadata::Metamodel::Type::Category]
        #     The type is an instantiation of one of the generic types.
        GENERIC = Category.new('GENERIC')

    end


    # The  ``Com::Vmware::Vapi::Metadata::Metamodel::Type::BuiltinType``   enumerated type  provides  enumeration value  for each of the built-in types present in the interface definition language type system.
    # @!attribute [rw] void
    #     @return [Com::Vmware::Vapi::Metadata::Metamodel::Type::BuiltinType]
    #     The built-in type is a void. The value is  nil .
    # @!attribute [rw] boolean
    #     @return [Com::Vmware::Vapi::Metadata::Metamodel::Type::BuiltinType]
    #     The built-in type is a boolean. The value is true or false.
    # @!attribute [rw] long
    #     @return [Com::Vmware::Vapi::Metadata::Metamodel::Type::BuiltinType]
    #     The built-in type is a long. The value is a 64 bit signed integer.
    # @!attribute [rw] double
    #     @return [Com::Vmware::Vapi::Metadata::Metamodel::Type::BuiltinType]
    #     The built-in type is a double. The value is a 64 bit floating point number.
    # @!attribute [rw] string
    #     @return [Com::Vmware::Vapi::Metadata::Metamodel::Type::BuiltinType]
    #     The built-in type is a string. The value is a variable-length sequence of zero or more unicode characters.
    # @!attribute [rw] binary
    #     @return [Com::Vmware::Vapi::Metadata::Metamodel::Type::BuiltinType]
    #     The built-in type is a binary. The value is a variable-length sequence of zero or more bytes.
    # @!attribute [rw] secret
    #     @return [Com::Vmware::Vapi::Metadata::Metamodel::Type::BuiltinType]
    #     The built-in type is a secret. The value is a variable-length sequence of zero or more unicode characters. The value contains sensitive data that should not be printed or displayed anywhere.
    # @!attribute [rw] date_time
    #     @return [Com::Vmware::Vapi::Metadata::Metamodel::Type::BuiltinType]
    #     The built-in type is a datetime. The value should be in the UTC timezone and the precision is milliseconds.
    # @!attribute [rw] id
    #     @return [Com::Vmware::Vapi::Metadata::Metamodel::Type::BuiltinType]
    #     The built-in type is an ID. The value represents an identifier for a resource.
    # @!attribute [rw] uri
    #     @return [Com::Vmware::Vapi::Metadata::Metamodel::Type::BuiltinType]
    #     The built-in type is an URI. The value follows the IRI specification in RFC 3987.
    # @!attribute [rw] any_error
    #     @return [Com::Vmware::Vapi::Metadata::Metamodel::Type::BuiltinType]
    #     The built-in type is an arbitrary  error  type. This is used if the value of a typed element can be one of any user defined named type which is an  error .
    # @!attribute [rw] dynamic_structure
    #     @return [Com::Vmware::Vapi::Metadata::Metamodel::Type::BuiltinType]
    #     The built-in type is a dynamic structure. This is used if the value of a typed element can be one of any user defined named type.
    # @!attribute [rw] opaque
    #     @return [Com::Vmware::Vapi::Metadata::Metamodel::Type::BuiltinType]
    #     The built-in type is an opaque. This is used if the value of a typed element could be of any type and the actual type will be known only during the execution of the API. This is mostly used in infrastructure  classs .
    class BuiltinType < 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.type.builtin_type',
                    BuiltinType)
            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 [BuiltinType] 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
                    BuiltinType.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] void
        #     @return [Com::Vmware::Vapi::Metadata::Metamodel::Type::BuiltinType]
        #     The built-in type is a void. The value is  nil .
        VOID = BuiltinType.new('VOID')

        # @!attribute [rw] boolean
        #     @return [Com::Vmware::Vapi::Metadata::Metamodel::Type::BuiltinType]
        #     The built-in type is a boolean. The value is true or false.
        BOOLEAN = BuiltinType.new('BOOLEAN')

        # @!attribute [rw] long
        #     @return [Com::Vmware::Vapi::Metadata::Metamodel::Type::BuiltinType]
        #     The built-in type is a long. The value is a 64 bit signed integer.
        LONG = BuiltinType.new('LONG')

        # @!attribute [rw] double
        #     @return [Com::Vmware::Vapi::Metadata::Metamodel::Type::BuiltinType]
        #     The built-in type is a double. The value is a 64 bit floating point number.
        DOUBLE = BuiltinType.new('DOUBLE')

        # @!attribute [rw] string
        #     @return [Com::Vmware::Vapi::Metadata::Metamodel::Type::BuiltinType]
        #     The built-in type is a string. The value is a variable-length sequence of zero or more unicode characters.
        STRING = BuiltinType.new('STRING')

        # @!attribute [rw] binary
        #     @return [Com::Vmware::Vapi::Metadata::Metamodel::Type::BuiltinType]
        #     The built-in type is a binary. The value is a variable-length sequence of zero or more bytes.
        BINARY = BuiltinType.new('BINARY')

        # @!attribute [rw] secret
        #     @return [Com::Vmware::Vapi::Metadata::Metamodel::Type::BuiltinType]
        #     The built-in type is a secret. The value is a variable-length sequence of zero or more unicode characters. The value contains sensitive data that should not be printed or displayed anywhere.
        SECRET = BuiltinType.new('SECRET')

        # @!attribute [rw] date_time
        #     @return [Com::Vmware::Vapi::Metadata::Metamodel::Type::BuiltinType]
        #     The built-in type is a datetime. The value should be in the UTC timezone and the precision is milliseconds.
        DATE_TIME = BuiltinType.new('DATE_TIME')

        # @!attribute [rw] id
        #     @return [Com::Vmware::Vapi::Metadata::Metamodel::Type::BuiltinType]
        #     The built-in type is an ID. The value represents an identifier for a resource.
        ID = BuiltinType.new('ID')

        # @!attribute [rw] uri
        #     @return [Com::Vmware::Vapi::Metadata::Metamodel::Type::BuiltinType]
        #     The built-in type is an URI. The value follows the IRI specification in RFC 3987.
        URI = BuiltinType.new('URI')

        # @!attribute [rw] any_error
        #     @return [Com::Vmware::Vapi::Metadata::Metamodel::Type::BuiltinType]
        #     The built-in type is an arbitrary  error  type. This is used if the value of a typed element can be one of any user defined named type which is an  error .
        ANY_ERROR = BuiltinType.new('ANY_ERROR')

        # @!attribute [rw] dynamic_structure
        #     @return [Com::Vmware::Vapi::Metadata::Metamodel::Type::BuiltinType]
        #     The built-in type is a dynamic structure. This is used if the value of a typed element can be one of any user defined named type.
        DYNAMIC_STRUCTURE = BuiltinType.new('DYNAMIC_STRUCTURE')

        # @!attribute [rw] opaque
        #     @return [Com::Vmware::Vapi::Metadata::Metamodel::Type::BuiltinType]
        #     The built-in type is an opaque. This is used if the value of a typed element could be of any type and the actual type will be known only during the execution of the API. This is mostly used in infrastructure  classs .
        OPAQUE = BuiltinType.new('OPAQUE')

    end


end

- (Com::Vmware::Vapi::Metadata::Metamodel::GenericInstantiation) generic_instantiation

Instantiation of one of the generic types available in the interface definition language. This field is optional and it is only relevant when the value of ``category`` is :attr:`Com::Vmware::Vapi::Metadata::Metamodel::Type::Category.GENERIC` .



2090
2091
2092
2093
2094
2095
2096
2097
2098
2099
2100
2101
2102
2103
2104
2105
2106
2107
2108
2109
2110
2111
2112
2113
2114
2115
2116
2117
2118
2119
2120
2121
2122
2123
2124
2125
2126
2127
2128
2129
2130
2131
2132
2133
2134
2135
2136
2137
2138
2139
2140
2141
2142
2143
2144
2145
2146
2147
2148
2149
2150
2151
2152
2153
2154
2155
2156
2157
2158
2159
2160
2161
2162
2163
2164
2165
2166
2167
2168
2169
2170
2171
2172
2173
2174
2175
2176
2177
2178
2179
2180
2181
2182
2183
2184
2185
2186
2187
2188
2189
2190
2191
2192
2193
2194
2195
2196
2197
2198
2199
2200
2201
2202
2203
2204
2205
2206
2207
2208
2209
2210
2211
2212
2213
2214
2215
2216
2217
2218
2219
2220
2221
2222
2223
2224
2225
2226
2227
2228
2229
2230
2231
2232
2233
2234
2235
2236
2237
2238
2239
2240
2241
2242
2243
2244
2245
2246
2247
2248
2249
2250
2251
2252
2253
2254
2255
2256
2257
2258
2259
2260
2261
2262
2263
2264
2265
2266
2267
2268
2269
2270
2271
2272
2273
2274
2275
2276
2277
2278
2279
2280
2281
2282
2283
2284
2285
2286
2287
2288
2289
2290
2291
2292
2293
2294
2295
2296
2297
2298
2299
2300
2301
2302
2303
2304
2305
2306
2307
2308
2309
2310
2311
2312
2313
2314
2315
2316
2317
2318
2319
2320
2321
2322
2323
2324
2325
2326
2327
2328
2329
2330
2331
2332
2333
2334
# File '/build/mts/release/bora-4571906/build/sdk/aggregated-bindings/ruby/com/vmware/vapi/metadata/metamodel.rb', line 2090

class Type < 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.type',
                {
                    'category' => VAPI::Bindings::ReferenceType.new('Com::Vmware::Vapi::Metadata::Metamodel::Type::Category'),
                    'builtin_type' => VAPI::Bindings::OptionalType.new(VAPI::Bindings::ReferenceType.new('Com::Vmware::Vapi::Metadata::Metamodel::Type::BuiltinType')),
                    'user_defined_type' => VAPI::Bindings::OptionalType.new(VAPI::Bindings::ReferenceType.new('Com::Vmware::Vapi::Metadata::Metamodel::UserDefinedType')),
                    'generic_instantiation' => VAPI::Bindings::OptionalType.new(VAPI::Bindings::ReferenceType.new('Com::Vmware::Vapi::Metadata::Metamodel::GenericInstantiation')),
                },
                Type,
                false,
                nil)
        end
    end

    attr_accessor :category,
                  :builtin_type,
                  :user_defined_type,
                  :generic_instantiation

    # 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::Type::Category``   enumerated type  provides  enumeration value  for each category of the type.
    # @!attribute [rw] builtin
    #     @return [Com::Vmware::Vapi::Metadata::Metamodel::Type::Category]
    #     The type is one of the built-in types specified in   :class:`Com::Vmware::Vapi::Metadata::Metamodel::Type::BuiltinType` 
    # @!attribute [rw] user_defined
    #     @return [Com::Vmware::Vapi::Metadata::Metamodel::Type::Category]
    #     The type is one of the user defined named types.
    # @!attribute [rw] generic
    #     @return [Com::Vmware::Vapi::Metadata::Metamodel::Type::Category]
    #     The type is an instantiation of one of the generic types.
    class Category < 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.type.category',
                    Category)
            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 [Category] 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
                    Category.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] builtin
        #     @return [Com::Vmware::Vapi::Metadata::Metamodel::Type::Category]
        #     The type is one of the built-in types specified in   :class:`Com::Vmware::Vapi::Metadata::Metamodel::Type::BuiltinType` 
        BUILTIN = Category.new('BUILTIN')

        # @!attribute [rw] user_defined
        #     @return [Com::Vmware::Vapi::Metadata::Metamodel::Type::Category]
        #     The type is one of the user defined named types.
        USER_DEFINED = Category.new('USER_DEFINED')

        # @!attribute [rw] generic
        #     @return [Com::Vmware::Vapi::Metadata::Metamodel::Type::Category]
        #     The type is an instantiation of one of the generic types.
        GENERIC = Category.new('GENERIC')

    end


    # The  ``Com::Vmware::Vapi::Metadata::Metamodel::Type::BuiltinType``   enumerated type  provides  enumeration value  for each of the built-in types present in the interface definition language type system.
    # @!attribute [rw] void
    #     @return [Com::Vmware::Vapi::Metadata::Metamodel::Type::BuiltinType]
    #     The built-in type is a void. The value is  nil .
    # @!attribute [rw] boolean
    #     @return [Com::Vmware::Vapi::Metadata::Metamodel::Type::BuiltinType]
    #     The built-in type is a boolean. The value is true or false.
    # @!attribute [rw] long
    #     @return [Com::Vmware::Vapi::Metadata::Metamodel::Type::BuiltinType]
    #     The built-in type is a long. The value is a 64 bit signed integer.
    # @!attribute [rw] double
    #     @return [Com::Vmware::Vapi::Metadata::Metamodel::Type::BuiltinType]
    #     The built-in type is a double. The value is a 64 bit floating point number.
    # @!attribute [rw] string
    #     @return [Com::Vmware::Vapi::Metadata::Metamodel::Type::BuiltinType]
    #     The built-in type is a string. The value is a variable-length sequence of zero or more unicode characters.
    # @!attribute [rw] binary
    #     @return [Com::Vmware::Vapi::Metadata::Metamodel::Type::BuiltinType]
    #     The built-in type is a binary. The value is a variable-length sequence of zero or more bytes.
    # @!attribute [rw] secret
    #     @return [Com::Vmware::Vapi::Metadata::Metamodel::Type::BuiltinType]
    #     The built-in type is a secret. The value is a variable-length sequence of zero or more unicode characters. The value contains sensitive data that should not be printed or displayed anywhere.
    # @!attribute [rw] date_time
    #     @return [Com::Vmware::Vapi::Metadata::Metamodel::Type::BuiltinType]
    #     The built-in type is a datetime. The value should be in the UTC timezone and the precision is milliseconds.
    # @!attribute [rw] id
    #     @return [Com::Vmware::Vapi::Metadata::Metamodel::Type::BuiltinType]
    #     The built-in type is an ID. The value represents an identifier for a resource.
    # @!attribute [rw] uri
    #     @return [Com::Vmware::Vapi::Metadata::Metamodel::Type::BuiltinType]
    #     The built-in type is an URI. The value follows the IRI specification in RFC 3987.
    # @!attribute [rw] any_error
    #     @return [Com::Vmware::Vapi::Metadata::Metamodel::Type::BuiltinType]
    #     The built-in type is an arbitrary  error  type. This is used if the value of a typed element can be one of any user defined named type which is an  error .
    # @!attribute [rw] dynamic_structure
    #     @return [Com::Vmware::Vapi::Metadata::Metamodel::Type::BuiltinType]
    #     The built-in type is a dynamic structure. This is used if the value of a typed element can be one of any user defined named type.
    # @!attribute [rw] opaque
    #     @return [Com::Vmware::Vapi::Metadata::Metamodel::Type::BuiltinType]
    #     The built-in type is an opaque. This is used if the value of a typed element could be of any type and the actual type will be known only during the execution of the API. This is mostly used in infrastructure  classs .
    class BuiltinType < 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.type.builtin_type',
                    BuiltinType)
            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 [BuiltinType] 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
                    BuiltinType.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] void
        #     @return [Com::Vmware::Vapi::Metadata::Metamodel::Type::BuiltinType]
        #     The built-in type is a void. The value is  nil .
        VOID = BuiltinType.new('VOID')

        # @!attribute [rw] boolean
        #     @return [Com::Vmware::Vapi::Metadata::Metamodel::Type::BuiltinType]
        #     The built-in type is a boolean. The value is true or false.
        BOOLEAN = BuiltinType.new('BOOLEAN')

        # @!attribute [rw] long
        #     @return [Com::Vmware::Vapi::Metadata::Metamodel::Type::BuiltinType]
        #     The built-in type is a long. The value is a 64 bit signed integer.
        LONG = BuiltinType.new('LONG')

        # @!attribute [rw] double
        #     @return [Com::Vmware::Vapi::Metadata::Metamodel::Type::BuiltinType]
        #     The built-in type is a double. The value is a 64 bit floating point number.
        DOUBLE = BuiltinType.new('DOUBLE')

        # @!attribute [rw] string
        #     @return [Com::Vmware::Vapi::Metadata::Metamodel::Type::BuiltinType]
        #     The built-in type is a string. The value is a variable-length sequence of zero or more unicode characters.
        STRING = BuiltinType.new('STRING')

        # @!attribute [rw] binary
        #     @return [Com::Vmware::Vapi::Metadata::Metamodel::Type::BuiltinType]
        #     The built-in type is a binary. The value is a variable-length sequence of zero or more bytes.
        BINARY = BuiltinType.new('BINARY')

        # @!attribute [rw] secret
        #     @return [Com::Vmware::Vapi::Metadata::Metamodel::Type::BuiltinType]
        #     The built-in type is a secret. The value is a variable-length sequence of zero or more unicode characters. The value contains sensitive data that should not be printed or displayed anywhere.
        SECRET = BuiltinType.new('SECRET')

        # @!attribute [rw] date_time
        #     @return [Com::Vmware::Vapi::Metadata::Metamodel::Type::BuiltinType]
        #     The built-in type is a datetime. The value should be in the UTC timezone and the precision is milliseconds.
        DATE_TIME = BuiltinType.new('DATE_TIME')

        # @!attribute [rw] id
        #     @return [Com::Vmware::Vapi::Metadata::Metamodel::Type::BuiltinType]
        #     The built-in type is an ID. The value represents an identifier for a resource.
        ID = BuiltinType.new('ID')

        # @!attribute [rw] uri
        #     @return [Com::Vmware::Vapi::Metadata::Metamodel::Type::BuiltinType]
        #     The built-in type is an URI. The value follows the IRI specification in RFC 3987.
        URI = BuiltinType.new('URI')

        # @!attribute [rw] any_error
        #     @return [Com::Vmware::Vapi::Metadata::Metamodel::Type::BuiltinType]
        #     The built-in type is an arbitrary  error  type. This is used if the value of a typed element can be one of any user defined named type which is an  error .
        ANY_ERROR = BuiltinType.new('ANY_ERROR')

        # @!attribute [rw] dynamic_structure
        #     @return [Com::Vmware::Vapi::Metadata::Metamodel::Type::BuiltinType]
        #     The built-in type is a dynamic structure. This is used if the value of a typed element can be one of any user defined named type.
        DYNAMIC_STRUCTURE = BuiltinType.new('DYNAMIC_STRUCTURE')

        # @!attribute [rw] opaque
        #     @return [Com::Vmware::Vapi::Metadata::Metamodel::Type::BuiltinType]
        #     The built-in type is an opaque. This is used if the value of a typed element could be of any type and the actual type will be known only during the execution of the API. This is mostly used in infrastructure  classs .
        OPAQUE = BuiltinType.new('OPAQUE')

    end


end

- (Com::Vmware::Vapi::Metadata::Metamodel::UserDefinedType) user_defined_type

Identifier and type of the user defined type. This field is optional and it is only relevant when the value of ``category`` is :attr:`Com::Vmware::Vapi::Metadata::Metamodel::Type::Category.USER_DEFINED` .



2090
2091
2092
2093
2094
2095
2096
2097
2098
2099
2100
2101
2102
2103
2104
2105
2106
2107
2108
2109
2110
2111
2112
2113
2114
2115
2116
2117
2118
2119
2120
2121
2122
2123
2124
2125
2126
2127
2128
2129
2130
2131
2132
2133
2134
2135
2136
2137
2138
2139
2140
2141
2142
2143
2144
2145
2146
2147
2148
2149
2150
2151
2152
2153
2154
2155
2156
2157
2158
2159
2160
2161
2162
2163
2164
2165
2166
2167
2168
2169
2170
2171
2172
2173
2174
2175
2176
2177
2178
2179
2180
2181
2182
2183
2184
2185
2186
2187
2188
2189
2190
2191
2192
2193
2194
2195
2196
2197
2198
2199
2200
2201
2202
2203
2204
2205
2206
2207
2208
2209
2210
2211
2212
2213
2214
2215
2216
2217
2218
2219
2220
2221
2222
2223
2224
2225
2226
2227
2228
2229
2230
2231
2232
2233
2234
2235
2236
2237
2238
2239
2240
2241
2242
2243
2244
2245
2246
2247
2248
2249
2250
2251
2252
2253
2254
2255
2256
2257
2258
2259
2260
2261
2262
2263
2264
2265
2266
2267
2268
2269
2270
2271
2272
2273
2274
2275
2276
2277
2278
2279
2280
2281
2282
2283
2284
2285
2286
2287
2288
2289
2290
2291
2292
2293
2294
2295
2296
2297
2298
2299
2300
2301
2302
2303
2304
2305
2306
2307
2308
2309
2310
2311
2312
2313
2314
2315
2316
2317
2318
2319
2320
2321
2322
2323
2324
2325
2326
2327
2328
2329
2330
2331
2332
2333
2334
# File '/build/mts/release/bora-4571906/build/sdk/aggregated-bindings/ruby/com/vmware/vapi/metadata/metamodel.rb', line 2090

class Type < 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.type',
                {
                    'category' => VAPI::Bindings::ReferenceType.new('Com::Vmware::Vapi::Metadata::Metamodel::Type::Category'),
                    'builtin_type' => VAPI::Bindings::OptionalType.new(VAPI::Bindings::ReferenceType.new('Com::Vmware::Vapi::Metadata::Metamodel::Type::BuiltinType')),
                    'user_defined_type' => VAPI::Bindings::OptionalType.new(VAPI::Bindings::ReferenceType.new('Com::Vmware::Vapi::Metadata::Metamodel::UserDefinedType')),
                    'generic_instantiation' => VAPI::Bindings::OptionalType.new(VAPI::Bindings::ReferenceType.new('Com::Vmware::Vapi::Metadata::Metamodel::GenericInstantiation')),
                },
                Type,
                false,
                nil)
        end
    end

    attr_accessor :category,
                  :builtin_type,
                  :user_defined_type,
                  :generic_instantiation

    # 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::Type::Category``   enumerated type  provides  enumeration value  for each category of the type.
    # @!attribute [rw] builtin
    #     @return [Com::Vmware::Vapi::Metadata::Metamodel::Type::Category]
    #     The type is one of the built-in types specified in   :class:`Com::Vmware::Vapi::Metadata::Metamodel::Type::BuiltinType` 
    # @!attribute [rw] user_defined
    #     @return [Com::Vmware::Vapi::Metadata::Metamodel::Type::Category]
    #     The type is one of the user defined named types.
    # @!attribute [rw] generic
    #     @return [Com::Vmware::Vapi::Metadata::Metamodel::Type::Category]
    #     The type is an instantiation of one of the generic types.
    class Category < 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.type.category',
                    Category)
            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 [Category] 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
                    Category.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] builtin
        #     @return [Com::Vmware::Vapi::Metadata::Metamodel::Type::Category]
        #     The type is one of the built-in types specified in   :class:`Com::Vmware::Vapi::Metadata::Metamodel::Type::BuiltinType` 
        BUILTIN = Category.new('BUILTIN')

        # @!attribute [rw] user_defined
        #     @return [Com::Vmware::Vapi::Metadata::Metamodel::Type::Category]
        #     The type is one of the user defined named types.
        USER_DEFINED = Category.new('USER_DEFINED')

        # @!attribute [rw] generic
        #     @return [Com::Vmware::Vapi::Metadata::Metamodel::Type::Category]
        #     The type is an instantiation of one of the generic types.
        GENERIC = Category.new('GENERIC')

    end


    # The  ``Com::Vmware::Vapi::Metadata::Metamodel::Type::BuiltinType``   enumerated type  provides  enumeration value  for each of the built-in types present in the interface definition language type system.
    # @!attribute [rw] void
    #     @return [Com::Vmware::Vapi::Metadata::Metamodel::Type::BuiltinType]
    #     The built-in type is a void. The value is  nil .
    # @!attribute [rw] boolean
    #     @return [Com::Vmware::Vapi::Metadata::Metamodel::Type::BuiltinType]
    #     The built-in type is a boolean. The value is true or false.
    # @!attribute [rw] long
    #     @return [Com::Vmware::Vapi::Metadata::Metamodel::Type::BuiltinType]
    #     The built-in type is a long. The value is a 64 bit signed integer.
    # @!attribute [rw] double
    #     @return [Com::Vmware::Vapi::Metadata::Metamodel::Type::BuiltinType]
    #     The built-in type is a double. The value is a 64 bit floating point number.
    # @!attribute [rw] string
    #     @return [Com::Vmware::Vapi::Metadata::Metamodel::Type::BuiltinType]
    #     The built-in type is a string. The value is a variable-length sequence of zero or more unicode characters.
    # @!attribute [rw] binary
    #     @return [Com::Vmware::Vapi::Metadata::Metamodel::Type::BuiltinType]
    #     The built-in type is a binary. The value is a variable-length sequence of zero or more bytes.
    # @!attribute [rw] secret
    #     @return [Com::Vmware::Vapi::Metadata::Metamodel::Type::BuiltinType]
    #     The built-in type is a secret. The value is a variable-length sequence of zero or more unicode characters. The value contains sensitive data that should not be printed or displayed anywhere.
    # @!attribute [rw] date_time
    #     @return [Com::Vmware::Vapi::Metadata::Metamodel::Type::BuiltinType]
    #     The built-in type is a datetime. The value should be in the UTC timezone and the precision is milliseconds.
    # @!attribute [rw] id
    #     @return [Com::Vmware::Vapi::Metadata::Metamodel::Type::BuiltinType]
    #     The built-in type is an ID. The value represents an identifier for a resource.
    # @!attribute [rw] uri
    #     @return [Com::Vmware::Vapi::Metadata::Metamodel::Type::BuiltinType]
    #     The built-in type is an URI. The value follows the IRI specification in RFC 3987.
    # @!attribute [rw] any_error
    #     @return [Com::Vmware::Vapi::Metadata::Metamodel::Type::BuiltinType]
    #     The built-in type is an arbitrary  error  type. This is used if the value of a typed element can be one of any user defined named type which is an  error .
    # @!attribute [rw] dynamic_structure
    #     @return [Com::Vmware::Vapi::Metadata::Metamodel::Type::BuiltinType]
    #     The built-in type is a dynamic structure. This is used if the value of a typed element can be one of any user defined named type.
    # @!attribute [rw] opaque
    #     @return [Com::Vmware::Vapi::Metadata::Metamodel::Type::BuiltinType]
    #     The built-in type is an opaque. This is used if the value of a typed element could be of any type and the actual type will be known only during the execution of the API. This is mostly used in infrastructure  classs .
    class BuiltinType < 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.type.builtin_type',
                    BuiltinType)
            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 [BuiltinType] 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
                    BuiltinType.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] void
        #     @return [Com::Vmware::Vapi::Metadata::Metamodel::Type::BuiltinType]
        #     The built-in type is a void. The value is  nil .
        VOID = BuiltinType.new('VOID')

        # @!attribute [rw] boolean
        #     @return [Com::Vmware::Vapi::Metadata::Metamodel::Type::BuiltinType]
        #     The built-in type is a boolean. The value is true or false.
        BOOLEAN = BuiltinType.new('BOOLEAN')

        # @!attribute [rw] long
        #     @return [Com::Vmware::Vapi::Metadata::Metamodel::Type::BuiltinType]
        #     The built-in type is a long. The value is a 64 bit signed integer.
        LONG = BuiltinType.new('LONG')

        # @!attribute [rw] double
        #     @return [Com::Vmware::Vapi::Metadata::Metamodel::Type::BuiltinType]
        #     The built-in type is a double. The value is a 64 bit floating point number.
        DOUBLE = BuiltinType.new('DOUBLE')

        # @!attribute [rw] string
        #     @return [Com::Vmware::Vapi::Metadata::Metamodel::Type::BuiltinType]
        #     The built-in type is a string. The value is a variable-length sequence of zero or more unicode characters.
        STRING = BuiltinType.new('STRING')

        # @!attribute [rw] binary
        #     @return [Com::Vmware::Vapi::Metadata::Metamodel::Type::BuiltinType]
        #     The built-in type is a binary. The value is a variable-length sequence of zero or more bytes.
        BINARY = BuiltinType.new('BINARY')

        # @!attribute [rw] secret
        #     @return [Com::Vmware::Vapi::Metadata::Metamodel::Type::BuiltinType]
        #     The built-in type is a secret. The value is a variable-length sequence of zero or more unicode characters. The value contains sensitive data that should not be printed or displayed anywhere.
        SECRET = BuiltinType.new('SECRET')

        # @!attribute [rw] date_time
        #     @return [Com::Vmware::Vapi::Metadata::Metamodel::Type::BuiltinType]
        #     The built-in type is a datetime. The value should be in the UTC timezone and the precision is milliseconds.
        DATE_TIME = BuiltinType.new('DATE_TIME')

        # @!attribute [rw] id
        #     @return [Com::Vmware::Vapi::Metadata::Metamodel::Type::BuiltinType]
        #     The built-in type is an ID. The value represents an identifier for a resource.
        ID = BuiltinType.new('ID')

        # @!attribute [rw] uri
        #     @return [Com::Vmware::Vapi::Metadata::Metamodel::Type::BuiltinType]
        #     The built-in type is an URI. The value follows the IRI specification in RFC 3987.
        URI = BuiltinType.new('URI')

        # @!attribute [rw] any_error
        #     @return [Com::Vmware::Vapi::Metadata::Metamodel::Type::BuiltinType]
        #     The built-in type is an arbitrary  error  type. This is used if the value of a typed element can be one of any user defined named type which is an  error .
        ANY_ERROR = BuiltinType.new('ANY_ERROR')

        # @!attribute [rw] dynamic_structure
        #     @return [Com::Vmware::Vapi::Metadata::Metamodel::Type::BuiltinType]
        #     The built-in type is a dynamic structure. This is used if the value of a typed element can be one of any user defined named type.
        DYNAMIC_STRUCTURE = BuiltinType.new('DYNAMIC_STRUCTURE')

        # @!attribute [rw] opaque
        #     @return [Com::Vmware::Vapi::Metadata::Metamodel::Type::BuiltinType]
        #     The built-in type is an opaque. This is used if the value of a typed element could be of any type and the actual type will be known only during the execution of the API. This is mostly used in infrastructure  classs .
        OPAQUE = BuiltinType.new('OPAQUE')

    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



2096
2097
2098
2099
2100
2101
2102
2103
2104
2105
2106
2107
2108
# File '/build/mts/release/bora-4571906/build/sdk/aggregated-bindings/ruby/com/vmware/vapi/metadata/metamodel.rb', line 2096

def binding_type
    @binding_type ||= VAPI::Bindings::StructType.new(
        'com.vmware.vapi.metadata.metamodel.type',
        {
            'category' => VAPI::Bindings::ReferenceType.new('Com::Vmware::Vapi::Metadata::Metamodel::Type::Category'),
            'builtin_type' => VAPI::Bindings::OptionalType.new(VAPI::Bindings::ReferenceType.new('Com::Vmware::Vapi::Metadata::Metamodel::Type::BuiltinType')),
            'user_defined_type' => VAPI::Bindings::OptionalType.new(VAPI::Bindings::ReferenceType.new('Com::Vmware::Vapi::Metadata::Metamodel::UserDefinedType')),
            'generic_instantiation' => VAPI::Bindings::OptionalType.new(VAPI::Bindings::ReferenceType.new('Com::Vmware::Vapi::Metadata::Metamodel::GenericInstantiation')),
        },
        Type,
        false,
        nil)
end