com.nutanix.dp1.vmm.vmm.v4.templates.VmConfigOverride Maven / Gradle / Ivy
/*
* Generated file ..
*
* Product version: 4.0.3-alpha-1
*
* Part of the Nutanix Vmm Versioned APIs
*
* (c) 2023 Nutanix Inc. All rights reserved
*
*/
package com.nutanix.dp1.vmm.vmm.v4.templates;
import com.fasterxml.jackson.annotation.JsonAnySetter;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.Getter;
import lombok.Setter;
import lombok.AccessLevel;
import com.nutanix.devplatform.models.PrettyModeViews.*;
import com.fasterxml.jackson.annotation.JsonView;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.nutanix.dp1.vmm.deserializers.VmmObjectTypeTypedObject;
import javax.validation.constraints.*;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import static com.nutanix.dp1.vmm.deserializers.VmmDeserializerUtils.*;
/**
* Overrides specification for VM create from a Template.
*/
@Data
@lombok.extern.slf4j.Slf4j
public class VmConfigOverride implements java.io.Serializable, VmmObjectTypeTypedObject {
public VmConfigOverride() {
this.$objectType = this.initialize$objectType();
this.$reserved = new java.util.LinkedHashMap<>();
this.$reserved.put("$fqObjectType", this.initialize$fqObjectType());
this.$unknownFields = new java.util.LinkedHashMap<>();
}
@lombok.Builder(builderMethodName = "VmConfigOverrideBuilder")
public VmConfigOverride(String name, Integer numSockets, Integer numCoresPerSocket, Integer numThreadsPerCore, Long memorySizeBytes, java.util.List nics, com.nutanix.dp1.vmm.vmm.v4.ahv.config.GuestCustomizationParams guestCustomization) {
this.$objectType = this.initialize$objectType();
this.$reserved = new java.util.LinkedHashMap<>();
this.$reserved.put("$fqObjectType", this.initialize$fqObjectType());
this.$unknownFields = new java.util.LinkedHashMap<>();
this.setName(name);
this.setNumSockets(numSockets);
this.setNumCoresPerSocket(numCoresPerSocket);
this.setNumThreadsPerCore(numThreadsPerCore);
this.setMemorySizeBytes(memorySizeBytes);
this.setNics(nics);
this.setGuestCustomization(guestCustomization);
}
protected String initialize$objectType() {
return "vmm.v4.templates.VmConfigOverride";
}
protected String initialize$fqObjectType() {
return "vmm.v4.r0.a1.templates.VmConfigOverride";
}
@JsonAnySetter
private void setUndeserializedFields(String name, String value) {
$unknownFields.put(name, value);
}
/**
* VM name.
*/
@javax.validation.constraints.Size(min = 1, max = 256)
@JsonProperty("name")
public String name = null;
/**
* Number of vCPU sockets.
*/
@javax.validation.constraints.Min(value = 1)
@JsonProperty("numSockets")
public Integer numSockets = null;
/**
* Number of cores per socket.
*/
@javax.validation.constraints.Min(value = 1)
@JsonProperty("numCoresPerSocket")
public Integer numCoresPerSocket = null;
/**
* Number of threads per core.
*/
@javax.validation.constraints.Min(value = 1)
@JsonProperty("numThreadsPerCore")
public Integer numThreadsPerCore = null;
/**
* Memory size in bytes.
*/
@javax.validation.constraints.Min(value = 1L)
@JsonProperty("memorySizeBytes")
public Long memorySizeBytes = null;
/**
* NICs attached to the VM.
*/
@JsonProperty("nics")
public List nics = null;
/**
*
*/
@JsonProperty("guestCustomization")
public com.nutanix.dp1.vmm.vmm.v4.ahv.config.GuestCustomizationParams guestCustomization = null;
@Getter
@JsonView({StandardView.class})
protected final Map $reserved;
@Getter
@JsonView({StandardView.class})
protected final String $objectType;
@Getter
@JsonView({StandardView.class})
protected final Map $unknownFields;
}