# Number of lines of code in new: 24
sub new {
my ($class, %args) = @_;
$class = ref($class) || $class;
my $validatorList = [];
my $self = $class->SUPER::new('validator_list' => $validatorList, %args);
$self->{vm} = $args{'vm'};
$self->{name} = $args{'name'};
$self->{power_state} = $args{'power_state'};
$self->{cpu_count} = $args{'cpu_count'};
$self->{memory_size_MiB} = $args{'memory_size_MiB'};
$self->set_binding_class('binding_class' => 'Com::Vmware::Vcenter::VM::Summary');
$self->set_binding_name('name' => 'com.vmware.vcenter.VM.summary');
$self->set_binding_field('key' => 'vm', 'value' => new Com::Vmware::Vapi::Bindings::Type::StringType());
$self->set_binding_field('key' => 'name', 'value' => new Com::Vmware::Vapi::Bindings::Type::StringType());
$self->set_binding_field('key' => 'power_state', 'value' => new Com::Vmware::Vapi::Bindings::Type::ReferenceType('module_ctx' => 'Com::Vmware::Vcenter::Vm', 'type_name' => 'Power::State'));
$self->set_binding_field('key' => 'cpu_count', 'value' => new Com::Vmware::Vapi::Bindings::Type::OptionalType('element_type' => new Com::Vmware::Vapi::Bindings::Type::LongType()));
$self->set_binding_field('key' => 'memory_size_MiB', 'value' => new Com::Vmware::Vapi::Bindings::Type::OptionalType('element_type' => new Com::Vmware::Vapi::Bindings::Type::LongType()));
bless $self, $class;
return $self;
}