class Azure::Hdinsight::Mgmt::V2015_03_01_preview::Models::VmSizeCompatibilityFilterV2

This class represent a single filter object that defines a multidimensional set. The dimensions of this set are Regions, ClusterFlavors, NodeTypes and ClusterVersions. The constraint should be defined based on the following: FilterMode (Exclude vs Include), VMSizes (the vm sizes in affect of exclusion/inclusion) and the ordering of the Filters. Later filters override previous settings if conflicted.

Attributes

cluster_flavors[RW]

@return [Array<String>] The list of cluster flavors under the effect of the filter.

cluster_versions[RW]

@return [Array<String>] The list of cluster versions affected in Major.Minor format.

filter_mode[RW]

@return [FilterMode] The filtering mode. Effectively this can enabling or disabling the VM sizes in a particular set. Possible values include: 'Exclude', 'Include'

node_types[RW]

@return [Array<String>] The list of node types affected by the filter.

os_type[RW]

@return [Array<OSType>] The OSType affected, Windows or Linux.

regions[RW]

@return [Array<String>] The list of regions under the effect of the filter.

vm_sizes[RW]

@return [Array<String>] The list of virtual machine sizes to include or exclude.

Public Class Methods

mapper() click to toggle source

Mapper for VmSizeCompatibilityFilterV2 class as Ruby Hash. This will be used for serialization/deserialization.

# File lib/2015-03-01-preview/generated/azure_mgmt_hdinsight/models/vm_size_compatibility_filter_v2.rb, line 52
def self.mapper()
  {
    client_side_validation: true,
    required: false,
    serialized_name: 'VmSizeCompatibilityFilterV2',
    type: {
      name: 'Composite',
      class_name: 'VmSizeCompatibilityFilterV2',
      model_properties: {
        filter_mode: {
          client_side_validation: true,
          required: false,
          serialized_name: 'filterMode',
          type: {
            name: 'String'
          }
        },
        regions: {
          client_side_validation: true,
          required: false,
          serialized_name: 'regions',
          type: {
            name: 'Sequence',
            element: {
                client_side_validation: true,
                required: false,
                serialized_name: 'StringElementType',
                type: {
                  name: 'String'
                }
            }
          }
        },
        cluster_flavors: {
          client_side_validation: true,
          required: false,
          serialized_name: 'clusterFlavors',
          type: {
            name: 'Sequence',
            element: {
                client_side_validation: true,
                required: false,
                serialized_name: 'StringElementType',
                type: {
                  name: 'String'
                }
            }
          }
        },
        node_types: {
          client_side_validation: true,
          required: false,
          serialized_name: 'nodeTypes',
          type: {
            name: 'Sequence',
            element: {
                client_side_validation: true,
                required: false,
                serialized_name: 'StringElementType',
                type: {
                  name: 'String'
                }
            }
          }
        },
        cluster_versions: {
          client_side_validation: true,
          required: false,
          serialized_name: 'clusterVersions',
          type: {
            name: 'Sequence',
            element: {
                client_side_validation: true,
                required: false,
                serialized_name: 'StringElementType',
                type: {
                  name: 'String'
                }
            }
          }
        },
        os_type: {
          client_side_validation: true,
          required: false,
          serialized_name: 'osType',
          type: {
            name: 'Sequence',
            element: {
                client_side_validation: true,
                required: false,
                serialized_name: 'OSTypeElementType',
                type: {
                  name: 'Enum',
                  module: 'OSType'
                }
            }
          }
        },
        vm_sizes: {
          client_side_validation: true,
          required: false,
          serialized_name: 'vmSizes',
          type: {
            name: 'Sequence',
            element: {
                client_side_validation: true,
                required: false,
                serialized_name: 'StringElementType',
                type: {
                  name: 'String'
                }
            }
          }
        }
      }
    }
  }
end