Class List Method List File List

# Class: Com::Vmware::Vcenter::VM::FilterSpec

Inherits:
  VAPI::Bindings::VapiStruct
  - Object
  - VAPI::Bindings::VapiStruct
  - Com::Vmware::Vcenter::VM::FilterSpec
  show all
Defined in:
  /build/mts/release/bora-4571906/build/sdk/aggregated-bindings/ruby/com/vmware/vcenter.rb

## Overview

The ``Com::Vmware::Vcenter::VM::FilterSpec`` class contains fields used to filter the results when listing virtual machines (see :func:`Com::Vmware::Vcenter::VM.list` ). If multiple fields are specified, only virtual machines matching all of the fields match the filter.

## Instance Attribute Summary (collapse)

- - (Set<String>?) clusters

  Clusters that must contain the virtual machine for the virtual machine to match the filter.

- - (Set<String>?) datacenters

  Datacenters that must contain the virtual machine for the virtual machine to match the filter.

- - (Set<String>?) folders

  Folders that must contain the virtual machine for the virtual machine to match the filter.

- - (Set<String>?) hosts

  Hosts that must contain the virtual machine for the virtual machine to match the filter.

- - (Set<String>?) names

  Names that virtual machines must have to match the filter (see :attr:`Com::Vmware::Vcenter::VM::Info.name` ).

- - (Set<Com::Vmware::Vcenter::Vm::Power::State>?) power_states

  Power states that a virtual machine must be in to match the filter (see :attr:`Com::Vmware::Vcenter::Vm::Power::Info.state` . If nil or empty, virtual machines in any power state match the filter..

- - (Set<String>?) resource_pools

  Resource pools that must contain the virtual machine for the virtual machine to match the filter.

- - (Set<String>?) vms

  Identifiers of virtual machines that can match the filter.

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

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

  Constructs a new instance.

## Constructor Details

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

    2971
    2972
    2973
    # File '/build/mts/release/bora-4571906/build/sdk/aggregated-bindings/ruby/com/vmware/vcenter.rb', line 2971

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

## Instance Attribute Details

### - (`Set<String>`?) clusters

Clusters that must contain the virtual machine for the virtual machine to match the filter. If nil or empty, virtual machines in any cluster match the filter.

Returns:

- (`Set<String>`, `nil`)

    2934
    2935
    2936
    2937
    2938
    2939
    2940
    2941
    2942
    2943
    2944
    2945
    2946
    2947
    2948
    2949
    2950
    2951
    2952
    2953
    2954
    2955
    2956
    2957
    2958
    2959
    2960
    2961
    2962
    2963
    2964
    2965
    2966
    2967
    2968
    2969
    2970
    2971
    2972
    2973
    2974
    # File '/build/mts/release/bora-4571906/build/sdk/aggregated-bindings/ruby/com/vmware/vcenter.rb', line 2934

    class FilterSpec < 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.vcenter.VM.filter_spec',
                    {
                        'vms' => VAPI::Bindings::OptionalType.new(VAPI::Bindings::SetType.new(VAPI::Bindings::IdType.new)),
                        'names' => VAPI::Bindings::OptionalType.new(VAPI::Bindings::SetType.new(VAPI::Bindings::StringType.instance)),
                        'folders' => VAPI::Bindings::OptionalType.new(VAPI::Bindings::SetType.new(VAPI::Bindings::IdType.new)),
                        'datacenters' => VAPI::Bindings::OptionalType.new(VAPI::Bindings::SetType.new(VAPI::Bindings::IdType.new)),
                        'hosts' => VAPI::Bindings::OptionalType.new(VAPI::Bindings::SetType.new(VAPI::Bindings::IdType.new)),
                        'clusters' => VAPI::Bindings::OptionalType.new(VAPI::Bindings::SetType.new(VAPI::Bindings::IdType.new)),
                        'resource_pools' => VAPI::Bindings::OptionalType.new(VAPI::Bindings::SetType.new(VAPI::Bindings::IdType.new)),
                        'power_states' => VAPI::Bindings::OptionalType.new(VAPI::Bindings::SetType.new(VAPI::Bindings::ReferenceType.new('Com::Vmware::Vcenter::Vm::Power::State'))),
                    },
                    FilterSpec,
                    false,
                    nil)
            end
        end

        attr_accessor :vms,
                      :names,
                      :folders,
                      :datacenters,
                      :hosts,
                      :clusters,
                      :resource_pools,
                      :power_states

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

### - (`Set<String>`?) datacenters

Datacenters that must contain the virtual machine for the virtual machine to match the filter. If nil or empty, virtual machines in any datacenter match the filter.

Returns:

- (`Set<String>`, `nil`)

    2934
    2935
    2936
    2937
    2938
    2939
    2940
    2941
    2942
    2943
    2944
    2945
    2946
    2947
    2948
    2949
    2950
    2951
    2952
    2953
    2954
    2955
    2956
    2957
    2958
    2959
    2960
    2961
    2962
    2963
    2964
    2965
    2966
    2967
    2968
    2969
    2970
    2971
    2972
    2973
    2974
    # File '/build/mts/release/bora-4571906/build/sdk/aggregated-bindings/ruby/com/vmware/vcenter.rb', line 2934

    class FilterSpec < 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.vcenter.VM.filter_spec',
                    {
                        'vms' => VAPI::Bindings::OptionalType.new(VAPI::Bindings::SetType.new(VAPI::Bindings::IdType.new)),
                        'names' => VAPI::Bindings::OptionalType.new(VAPI::Bindings::SetType.new(VAPI::Bindings::StringType.instance)),
                        'folders' => VAPI::Bindings::OptionalType.new(VAPI::Bindings::SetType.new(VAPI::Bindings::IdType.new)),
                        'datacenters' => VAPI::Bindings::OptionalType.new(VAPI::Bindings::SetType.new(VAPI::Bindings::IdType.new)),
                        'hosts' => VAPI::Bindings::OptionalType.new(VAPI::Bindings::SetType.new(VAPI::Bindings::IdType.new)),
                        'clusters' => VAPI::Bindings::OptionalType.new(VAPI::Bindings::SetType.new(VAPI::Bindings::IdType.new)),
                        'resource_pools' => VAPI::Bindings::OptionalType.new(VAPI::Bindings::SetType.new(VAPI::Bindings::IdType.new)),
                        'power_states' => VAPI::Bindings::OptionalType.new(VAPI::Bindings::SetType.new(VAPI::Bindings::ReferenceType.new('Com::Vmware::Vcenter::Vm::Power::State'))),
                    },
                    FilterSpec,
                    false,
                    nil)
            end
        end

        attr_accessor :vms,
                      :names,
                      :folders,
                      :datacenters,
                      :hosts,
                      :clusters,
                      :resource_pools,
                      :power_states

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

### - (`Set<String>`?) folders

Folders that must contain the virtual machine for the virtual machine to match the filter. If nil or empty, virtual machines in any folder match the filter.

Returns:

- (`Set<String>`, `nil`)

    2934
    2935
    2936
    2937
    2938
    2939
    2940
    2941
    2942
    2943
    2944
    2945
    2946
    2947
    2948
    2949
    2950
    2951
    2952
    2953
    2954
    2955
    2956
    2957
    2958
    2959
    2960
    2961
    2962
    2963
    2964
    2965
    2966
    2967
    2968
    2969
    2970
    2971
    2972
    2973
    2974
    # File '/build/mts/release/bora-4571906/build/sdk/aggregated-bindings/ruby/com/vmware/vcenter.rb', line 2934

    class FilterSpec < 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.vcenter.VM.filter_spec',
                    {
                        'vms' => VAPI::Bindings::OptionalType.new(VAPI::Bindings::SetType.new(VAPI::Bindings::IdType.new)),
                        'names' => VAPI::Bindings::OptionalType.new(VAPI::Bindings::SetType.new(VAPI::Bindings::StringType.instance)),
                        'folders' => VAPI::Bindings::OptionalType.new(VAPI::Bindings::SetType.new(VAPI::Bindings::IdType.new)),
                        'datacenters' => VAPI::Bindings::OptionalType.new(VAPI::Bindings::SetType.new(VAPI::Bindings::IdType.new)),
                        'hosts' => VAPI::Bindings::OptionalType.new(VAPI::Bindings::SetType.new(VAPI::Bindings::IdType.new)),
                        'clusters' => VAPI::Bindings::OptionalType.new(VAPI::Bindings::SetType.new(VAPI::Bindings::IdType.new)),
                        'resource_pools' => VAPI::Bindings::OptionalType.new(VAPI::Bindings::SetType.new(VAPI::Bindings::IdType.new)),
                        'power_states' => VAPI::Bindings::OptionalType.new(VAPI::Bindings::SetType.new(VAPI::Bindings::ReferenceType.new('Com::Vmware::Vcenter::Vm::Power::State'))),
                    },
                    FilterSpec,
                    false,
                    nil)
            end
        end

        attr_accessor :vms,
                      :names,
                      :folders,
                      :datacenters,
                      :hosts,
                      :clusters,
                      :resource_pools,
                      :power_states

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

### - (`Set<String>`?) hosts

Hosts that must contain the virtual machine for the virtual machine to match the filter. If nil or empty, virtual machines on any host match the filter.

Returns:

- (`Set<String>`, `nil`)

    2934
    2935
    2936
    2937
    2938
    2939
    2940
    2941
    2942
    2943
    2944
    2945
    2946
    2947
    2948
    2949
    2950
    2951
    2952
    2953
    2954
    2955
    2956
    2957
    2958
    2959
    2960
    2961
    2962
    2963
    2964
    2965
    2966
    2967
    2968
    2969
    2970
    2971
    2972
    2973
    2974
    # File '/build/mts/release/bora-4571906/build/sdk/aggregated-bindings/ruby/com/vmware/vcenter.rb', line 2934

    class FilterSpec < 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.vcenter.VM.filter_spec',
                    {
                        'vms' => VAPI::Bindings::OptionalType.new(VAPI::Bindings::SetType.new(VAPI::Bindings::IdType.new)),
                        'names' => VAPI::Bindings::OptionalType.new(VAPI::Bindings::SetType.new(VAPI::Bindings::StringType.instance)),
                        'folders' => VAPI::Bindings::OptionalType.new(VAPI::Bindings::SetType.new(VAPI::Bindings::IdType.new)),
                        'datacenters' => VAPI::Bindings::OptionalType.new(VAPI::Bindings::SetType.new(VAPI::Bindings::IdType.new)),
                        'hosts' => VAPI::Bindings::OptionalType.new(VAPI::Bindings::SetType.new(VAPI::Bindings::IdType.new)),
                        'clusters' => VAPI::Bindings::OptionalType.new(VAPI::Bindings::SetType.new(VAPI::Bindings::IdType.new)),
                        'resource_pools' => VAPI::Bindings::OptionalType.new(VAPI::Bindings::SetType.new(VAPI::Bindings::IdType.new)),
                        'power_states' => VAPI::Bindings::OptionalType.new(VAPI::Bindings::SetType.new(VAPI::Bindings::ReferenceType.new('Com::Vmware::Vcenter::Vm::Power::State'))),
                    },
                    FilterSpec,
                    false,
                    nil)
            end
        end

        attr_accessor :vms,
                      :names,
                      :folders,
                      :datacenters,
                      :hosts,
                      :clusters,
                      :resource_pools,
                      :power_states

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

### - (`Set<String>`?) names

Names that virtual machines must have to match the filter (see :attr:`Com::Vmware::Vcenter::VM::Info.name` ). If nil or empty, virtual machines with any name match the filter.

Returns:

- (`Set<String>`, `nil`)

    2934
    2935
    2936
    2937
    2938
    2939
    2940
    2941
    2942
    2943
    2944
    2945
    2946
    2947
    2948
    2949
    2950
    2951
    2952
    2953
    2954
    2955
    2956
    2957
    2958
    2959
    2960
    2961
    2962
    2963
    2964
    2965
    2966
    2967
    2968
    2969
    2970
    2971
    2972
    2973
    2974
    # File '/build/mts/release/bora-4571906/build/sdk/aggregated-bindings/ruby/com/vmware/vcenter.rb', line 2934

    class FilterSpec < 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.vcenter.VM.filter_spec',
                    {
                        'vms' => VAPI::Bindings::OptionalType.new(VAPI::Bindings::SetType.new(VAPI::Bindings::IdType.new)),
                        'names' => VAPI::Bindings::OptionalType.new(VAPI::Bindings::SetType.new(VAPI::Bindings::StringType.instance)),
                        'folders' => VAPI::Bindings::OptionalType.new(VAPI::Bindings::SetType.new(VAPI::Bindings::IdType.new)),
                        'datacenters' => VAPI::Bindings::OptionalType.new(VAPI::Bindings::SetType.new(VAPI::Bindings::IdType.new)),
                        'hosts' => VAPI::Bindings::OptionalType.new(VAPI::Bindings::SetType.new(VAPI::Bindings::IdType.new)),
                        'clusters' => VAPI::Bindings::OptionalType.new(VAPI::Bindings::SetType.new(VAPI::Bindings::IdType.new)),
                        'resource_pools' => VAPI::Bindings::OptionalType.new(VAPI::Bindings::SetType.new(VAPI::Bindings::IdType.new)),
                        'power_states' => VAPI::Bindings::OptionalType.new(VAPI::Bindings::SetType.new(VAPI::Bindings::ReferenceType.new('Com::Vmware::Vcenter::Vm::Power::State'))),
                    },
                    FilterSpec,
                    false,
                    nil)
            end
        end

        attr_accessor :vms,
                      :names,
                      :folders,
                      :datacenters,
                      :hosts,
                      :clusters,
                      :resource_pools,
                      :power_states

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

### - (`Set<Com::Vmware::Vcenter::Vm::Power::State>`?) power_states

Power states that a virtual machine must be in to match the filter (see :attr:`Com::Vmware::Vcenter::Vm::Power::Info.state` . If nil or empty, virtual machines in any power state match the filter.

Returns:

- (`Set<Com::Vmware::Vcenter::Vm::Power::State>`, `nil`)

    2934
    2935
    2936
    2937
    2938
    2939
    2940
    2941
    2942
    2943
    2944
    2945
    2946
    2947
    2948
    2949
    2950
    2951
    2952
    2953
    2954
    2955
    2956
    2957
    2958
    2959
    2960
    2961
    2962
    2963
    2964
    2965
    2966
    2967
    2968
    2969
    2970
    2971
    2972
    2973
    2974
    # File '/build/mts/release/bora-4571906/build/sdk/aggregated-bindings/ruby/com/vmware/vcenter.rb', line 2934

    class FilterSpec < 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.vcenter.VM.filter_spec',
                    {
                        'vms' => VAPI::Bindings::OptionalType.new(VAPI::Bindings::SetType.new(VAPI::Bindings::IdType.new)),
                        'names' => VAPI::Bindings::OptionalType.new(VAPI::Bindings::SetType.new(VAPI::Bindings::StringType.instance)),
                        'folders' => VAPI::Bindings::OptionalType.new(VAPI::Bindings::SetType.new(VAPI::Bindings::IdType.new)),
                        'datacenters' => VAPI::Bindings::OptionalType.new(VAPI::Bindings::SetType.new(VAPI::Bindings::IdType.new)),
                        'hosts' => VAPI::Bindings::OptionalType.new(VAPI::Bindings::SetType.new(VAPI::Bindings::IdType.new)),
                        'clusters' => VAPI::Bindings::OptionalType.new(VAPI::Bindings::SetType.new(VAPI::Bindings::IdType.new)),
                        'resource_pools' => VAPI::Bindings::OptionalType.new(VAPI::Bindings::SetType.new(VAPI::Bindings::IdType.new)),
                        'power_states' => VAPI::Bindings::OptionalType.new(VAPI::Bindings::SetType.new(VAPI::Bindings::ReferenceType.new('Com::Vmware::Vcenter::Vm::Power::State'))),
                    },
                    FilterSpec,
                    false,
                    nil)
            end
        end

        attr_accessor :vms,
                      :names,
                      :folders,
                      :datacenters,
                      :hosts,
                      :clusters,
                      :resource_pools,
                      :power_states

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

### - (`Set<String>`?) resource_pools

Resource pools that must contain the virtual machine for the virtual machine to match the filter. If nil or empty, virtual machines in any resource pool match the filter.

Returns:

- (`Set<String>`, `nil`)

    2934
    2935
    2936
    2937
    2938
    2939
    2940
    2941
    2942
    2943
    2944
    2945
    2946
    2947
    2948
    2949
    2950
    2951
    2952
    2953
    2954
    2955
    2956
    2957
    2958
    2959
    2960
    2961
    2962
    2963
    2964
    2965
    2966
    2967
    2968
    2969
    2970
    2971
    2972
    2973
    2974
    # File '/build/mts/release/bora-4571906/build/sdk/aggregated-bindings/ruby/com/vmware/vcenter.rb', line 2934

    class FilterSpec < 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.vcenter.VM.filter_spec',
                    {
                        'vms' => VAPI::Bindings::OptionalType.new(VAPI::Bindings::SetType.new(VAPI::Bindings::IdType.new)),
                        'names' => VAPI::Bindings::OptionalType.new(VAPI::Bindings::SetType.new(VAPI::Bindings::StringType.instance)),
                        'folders' => VAPI::Bindings::OptionalType.new(VAPI::Bindings::SetType.new(VAPI::Bindings::IdType.new)),
                        'datacenters' => VAPI::Bindings::OptionalType.new(VAPI::Bindings::SetType.new(VAPI::Bindings::IdType.new)),
                        'hosts' => VAPI::Bindings::OptionalType.new(VAPI::Bindings::SetType.new(VAPI::Bindings::IdType.new)),
                        'clusters' => VAPI::Bindings::OptionalType.new(VAPI::Bindings::SetType.new(VAPI::Bindings::IdType.new)),
                        'resource_pools' => VAPI::Bindings::OptionalType.new(VAPI::Bindings::SetType.new(VAPI::Bindings::IdType.new)),
                        'power_states' => VAPI::Bindings::OptionalType.new(VAPI::Bindings::SetType.new(VAPI::Bindings::ReferenceType.new('Com::Vmware::Vcenter::Vm::Power::State'))),
                    },
                    FilterSpec,
                    false,
                    nil)
            end
        end

        attr_accessor :vms,
                      :names,
                      :folders,
                      :datacenters,
                      :hosts,
                      :clusters,
                      :resource_pools,
                      :power_states

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

### - (`Set<String>`?) vms

Identifiers of virtual machines that can match the filter. If nil or empty, virtual machines with any identifier match the filter.

Returns:

- (`Set<String>`, `nil`)

    2934
    2935
    2936
    2937
    2938
    2939
    2940
    2941
    2942
    2943
    2944
    2945
    2946
    2947
    2948
    2949
    2950
    2951
    2952
    2953
    2954
    2955
    2956
    2957
    2958
    2959
    2960
    2961
    2962
    2963
    2964
    2965
    2966
    2967
    2968
    2969
    2970
    2971
    2972
    2973
    2974
    # File '/build/mts/release/bora-4571906/build/sdk/aggregated-bindings/ruby/com/vmware/vcenter.rb', line 2934

    class FilterSpec < 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.vcenter.VM.filter_spec',
                    {
                        'vms' => VAPI::Bindings::OptionalType.new(VAPI::Bindings::SetType.new(VAPI::Bindings::IdType.new)),
                        'names' => VAPI::Bindings::OptionalType.new(VAPI::Bindings::SetType.new(VAPI::Bindings::StringType.instance)),
                        'folders' => VAPI::Bindings::OptionalType.new(VAPI::Bindings::SetType.new(VAPI::Bindings::IdType.new)),
                        'datacenters' => VAPI::Bindings::OptionalType.new(VAPI::Bindings::SetType.new(VAPI::Bindings::IdType.new)),
                        'hosts' => VAPI::Bindings::OptionalType.new(VAPI::Bindings::SetType.new(VAPI::Bindings::IdType.new)),
                        'clusters' => VAPI::Bindings::OptionalType.new(VAPI::Bindings::SetType.new(VAPI::Bindings::IdType.new)),
                        'resource_pools' => VAPI::Bindings::OptionalType.new(VAPI::Bindings::SetType.new(VAPI::Bindings::IdType.new)),
                        'power_states' => VAPI::Bindings::OptionalType.new(VAPI::Bindings::SetType.new(VAPI::Bindings::ReferenceType.new('Com::Vmware::Vcenter::Vm::Power::State'))),
                    },
                    FilterSpec,
                    false,
                    nil)
            end
        end

        attr_accessor :vms,
                      :names,
                      :folders,
                      :datacenters,
                      :hosts,
                      :clusters,
                      :resource_pools,
                      :power_states

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

    2940
    2941
    2942
    2943
    2944
    2945
    2946
    2947
    2948
    2949
    2950
    2951
    2952
    2953
    2954
    2955
    2956
    # File '/build/mts/release/bora-4571906/build/sdk/aggregated-bindings/ruby/com/vmware/vcenter.rb', line 2940

    def binding_type
        @binding_type ||= VAPI::Bindings::StructType.new(
            'com.vmware.vcenter.VM.filter_spec',
            {
                'vms' => VAPI::Bindings::OptionalType.new(VAPI::Bindings::SetType.new(VAPI::Bindings::IdType.new)),
                'names' => VAPI::Bindings::OptionalType.new(VAPI::Bindings::SetType.new(VAPI::Bindings::StringType.instance)),
                'folders' => VAPI::Bindings::OptionalType.new(VAPI::Bindings::SetType.new(VAPI::Bindings::IdType.new)),
                'datacenters' => VAPI::Bindings::OptionalType.new(VAPI::Bindings::SetType.new(VAPI::Bindings::IdType.new)),
                'hosts' => VAPI::Bindings::OptionalType.new(VAPI::Bindings::SetType.new(VAPI::Bindings::IdType.new)),
                'clusters' => VAPI::Bindings::OptionalType.new(VAPI::Bindings::SetType.new(VAPI::Bindings::IdType.new)),
                'resource_pools' => VAPI::Bindings::OptionalType.new(VAPI::Bindings::SetType.new(VAPI::Bindings::IdType.new)),
                'power_states' => VAPI::Bindings::OptionalType.new(VAPI::Bindings::SetType.new(VAPI::Bindings::ReferenceType.new('Com::Vmware::Vcenter::Vm::Power::State'))),
            },
            FilterSpec,
            false,
            nil)
    end