com.spotinst.sdkjava.model.bl.elastigroup.gcp.ElastigroupComputeGcp Maven / Gradle / Ivy
package com.spotinst.sdkjava.model.bl.elastigroup.gcp;
import com.fasterxml.jackson.annotation.JsonIgnore;
import java.util.HashSet;
import java.util.List;
import java.util.Set;
public class ElastigroupComputeGcp {
//region Members
@JsonIgnore
private Set isSet;
private List availabilityZones;
private ElastigroupLaunchSpecificationGcp launchSpecification;
private List subnets;
private ElastigroupInstanceTypesGcp instanceTypes;
//endregion
//region Constructor
private ElastigroupComputeGcp() {
isSet = new HashSet<>();
}
//endregion
//region Getters & Setters
public Set getIsSet() {
return isSet;
}
public void setIsSet(Set isSet) {
this.isSet = isSet;
}
public List getAvailabilityZones() {
return availabilityZones;
}
public void setAvailabilityZones(List availabilityZones) {
isSet.add("availabilityZones");
this.availabilityZones = availabilityZones;
}
public List getSubnets() {
return subnets;
}
public void setSubnets(List subnets) {
isSet.add("subnets");
this.subnets = subnets;
}
public ElastigroupInstanceTypesGcp getInstanceTypes() {
return instanceTypes;
}
public void setInstanceTypes(ElastigroupInstanceTypesGcp instanceTypes) {
isSet.add("instanceTypes");
this.instanceTypes = instanceTypes;
}
public ElastigroupLaunchSpecificationGcp getLaunchSpecification() {
return launchSpecification;
}
public void setLaunchSpecification(ElastigroupLaunchSpecificationGcp launchSpecification) {
isSet.add("launchSpecification");
this.launchSpecification = launchSpecification;
}
//endregion
//region Builder class
public static class Builder {
private ElastigroupComputeGcp compute;
private Builder() {
this.compute = new ElastigroupComputeGcp();
}
public static Builder get() {
return new Builder();
}
public Builder setAvailabilityZones(final List availabilityZones) {
compute.setAvailabilityZones(availabilityZones);
return this;
}
public Builder setLaunchSpecification(final ElastigroupLaunchSpecificationGcp launchSpecification) {
compute.setLaunchSpecification(launchSpecification);
return this;
}
public Builder setInstanceTypes(final ElastigroupInstanceTypesGcp instanceTypes) {
compute.setInstanceTypes(instanceTypes);
return this;
}
public Builder setSubnets(final List subnets) {
compute.setSubnets(subnets);
return this;
}
public ElastigroupComputeGcp build() {
return compute;
}
}
//endregion
//region isSet methods
// Is availabilityZones Set boolean method
@JsonIgnore
public boolean isAvailabilityZonesSet() { return isSet.contains("availabilityZones"); }
// Is subnets Set boolean method
@JsonIgnore
public boolean isSubnetsSet() { return isSet.contains("subnets"); }
// Is instanceTypes Set boolean method
@JsonIgnore
public boolean isInstanceTypesSet() { return isSet.contains("instanceTypes"); }
// Is launchSpecification Set boolean method
@JsonIgnore
public boolean isLaunchSpecificationSet() { return isSet.contains("launchSpecification"); }
//endregion
}
© 2015 - 2024 Weber Informatics LLC | Privacy Policy