com.nutanix.dp1.pri.common.v1.config.IPAddressOrFQDN Maven / Gradle / Ivy
/*
* Generated file ..
*
* Product version: 4.0.3-alpha-2
*
* Part of the Nutanix Prism Versioned APIs
*
* (c) 2023 Nutanix Inc. All rights reserved
*
*/
package com.nutanix.dp1.pri.common.v1.config;
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.pri.deserializers.PriObjectTypeTypedObject;
import javax.validation.constraints.*;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import static com.nutanix.dp1.pri.deserializers.PriDeserializerUtils.*;
/**
* An unique address that identifies a device on the internet or a local network in IPv4/IPv6 format or a Fully Qualified Domain Name.
*
*/
@Data
@lombok.extern.slf4j.Slf4j
public class IPAddressOrFQDN implements java.io.Serializable, PriObjectTypeTypedObject {
public IPAddressOrFQDN() {
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 = "IPAddressOrFQDNBuilder")
public IPAddressOrFQDN(com.nutanix.dp1.pri.common.v1.config.IPv4Address ipv4, com.nutanix.dp1.pri.common.v1.config.IPv6Address ipv6, com.nutanix.dp1.pri.common.v1.config.FQDN fqdn) {
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.setIpv4(ipv4);
this.setIpv6(ipv6);
this.setFqdn(fqdn);
}
protected String initialize$objectType() {
return "common.v1.config.IPAddressOrFQDN";
}
protected String initialize$fqObjectType() {
return "common.v1.r0.a3.config.IPAddressOrFQDN";
}
@JsonAnySetter
private void setUndeserializedFields(String name, String value) {
$unknownFields.put(name, value);
}
/**
*
*/
@JsonProperty("ipv4")
public com.nutanix.dp1.pri.common.v1.config.IPv4Address ipv4 = null;
/**
*
*/
@JsonProperty("ipv6")
public com.nutanix.dp1.pri.common.v1.config.IPv6Address ipv6 = null;
/**
*
*/
@JsonProperty("fqdn")
public com.nutanix.dp1.pri.common.v1.config.FQDN fqdn = 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;
public boolean hasIpv4() {
return this.ipv4 != null;
}
public boolean hasIpv6() {
return this.ipv6 != null;
}
public boolean hasFqdn() {
return this.fqdn != null;
}
@com.fasterxml.jackson.annotation.JsonIgnore
public boolean isValid() {
return this.hasIpv4() || this.hasIpv6() || this.hasFqdn();
}
}