All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.oracle.bmc.database.model.GenerateRecommendedNetworkDetails Maven / Gradle / Ivy

Go to download

This project contains the SDK used for Oracle Cloud Infrastructure Database Service

There is a newer version: 3.49.0
Show newest version
/**
 * Copyright (c) 2016, 2024, Oracle and/or its affiliates.  All rights reserved.
 * This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license.
 */
package com.oracle.bmc.database.model;

/**
 * Generates a recommended VM cluster network configuration for an Exadata Cloud@Customer system.
 * Applies to Exadata Cloud@Customer instances only. 
* Note: Objects should always be created or deserialized using the {@link Builder}. This model * distinguishes fields that are {@code null} because they are unset from fields that are explicitly * set to {@code null}. This is done in the setter methods of the {@link Builder}, which maintain a * set of all explicitly set fields called {@link Builder#__explicitlySet__}. The {@link * #hashCode()} and {@link #equals(Object)} methods are implemented to take the explicitly set * fields into account. The constructor, on the other hand, does not take the explicitly set fields * into account (since the constructor cannot distinguish explicit {@code null} from unset {@code * null}). */ @jakarta.annotation.Generated(value = "OracleSDKGenerator", comments = "API Version: 20160918") @com.fasterxml.jackson.databind.annotation.JsonDeserialize( builder = GenerateRecommendedNetworkDetails.Builder.class) @com.fasterxml.jackson.annotation.JsonFilter( com.oracle.bmc.http.client.internal.ExplicitlySetBmcModel.EXPLICITLY_SET_FILTER_NAME) public final class GenerateRecommendedNetworkDetails extends com.oracle.bmc.http.client.internal.ExplicitlySetBmcModel { @Deprecated @java.beans.ConstructorProperties({ "compartmentId", "displayName", "dbServers", "scanListenerPortTcp", "scanListenerPortTcpSsl", "drScanListenerPortTcp", "networks", "dns", "ntp", "freeformTags", "definedTags" }) public GenerateRecommendedNetworkDetails( String compartmentId, String displayName, java.util.List dbServers, Integer scanListenerPortTcp, Integer scanListenerPortTcpSsl, Integer drScanListenerPortTcp, java.util.List networks, java.util.List dns, java.util.List ntp, java.util.Map freeformTags, java.util.Map> definedTags) { super(); this.compartmentId = compartmentId; this.displayName = displayName; this.dbServers = dbServers; this.scanListenerPortTcp = scanListenerPortTcp; this.scanListenerPortTcpSsl = scanListenerPortTcpSsl; this.drScanListenerPortTcp = drScanListenerPortTcp; this.networks = networks; this.dns = dns; this.ntp = ntp; this.freeformTags = freeformTags; this.definedTags = definedTags; } @com.fasterxml.jackson.databind.annotation.JsonPOJOBuilder(withPrefix = "") public static class Builder { /** * The [OCID](https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm) of the * compartment. */ @com.fasterxml.jackson.annotation.JsonProperty("compartmentId") private String compartmentId; /** * The [OCID](https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm) of the * compartment. * * @param compartmentId the value to set * @return this builder */ public Builder compartmentId(String compartmentId) { this.compartmentId = compartmentId; this.__explicitlySet__.add("compartmentId"); return this; } /** * The user-friendly name for the VM cluster network. The name does not need to be unique. */ @com.fasterxml.jackson.annotation.JsonProperty("displayName") private String displayName; /** * The user-friendly name for the VM cluster network. The name does not need to be unique. * * @param displayName the value to set * @return this builder */ public Builder displayName(String displayName) { this.displayName = displayName; this.__explicitlySet__.add("displayName"); return this; } /** The list of Db server Ids to configure network. */ @com.fasterxml.jackson.annotation.JsonProperty("dbServers") private java.util.List dbServers; /** * The list of Db server Ids to configure network. * * @param dbServers the value to set * @return this builder */ public Builder dbServers(java.util.List dbServers) { this.dbServers = dbServers; this.__explicitlySet__.add("dbServers"); return this; } /** The SCAN TCPIP port. Default is 1521. */ @com.fasterxml.jackson.annotation.JsonProperty("scanListenerPortTcp") private Integer scanListenerPortTcp; /** * The SCAN TCPIP port. Default is 1521. * * @param scanListenerPortTcp the value to set * @return this builder */ public Builder scanListenerPortTcp(Integer scanListenerPortTcp) { this.scanListenerPortTcp = scanListenerPortTcp; this.__explicitlySet__.add("scanListenerPortTcp"); return this; } /** The SCAN TCPIP SSL port. Default is 2484. */ @com.fasterxml.jackson.annotation.JsonProperty("scanListenerPortTcpSsl") private Integer scanListenerPortTcpSsl; /** * The SCAN TCPIP SSL port. Default is 2484. * * @param scanListenerPortTcpSsl the value to set * @return this builder */ public Builder scanListenerPortTcpSsl(Integer scanListenerPortTcpSsl) { this.scanListenerPortTcpSsl = scanListenerPortTcpSsl; this.__explicitlySet__.add("scanListenerPortTcpSsl"); return this; } /** The DR SCAN TCPIP port. Default is 1521. */ @com.fasterxml.jackson.annotation.JsonProperty("drScanListenerPortTcp") private Integer drScanListenerPortTcp; /** * The DR SCAN TCPIP port. Default is 1521. * * @param drScanListenerPortTcp the value to set * @return this builder */ public Builder drScanListenerPortTcp(Integer drScanListenerPortTcp) { this.drScanListenerPortTcp = drScanListenerPortTcp; this.__explicitlySet__.add("drScanListenerPortTcp"); return this; } /** List of parameters for generation of the client and backup networks. */ @com.fasterxml.jackson.annotation.JsonProperty("networks") private java.util.List networks; /** * List of parameters for generation of the client and backup networks. * * @param networks the value to set * @return this builder */ public Builder networks(java.util.List networks) { this.networks = networks; this.__explicitlySet__.add("networks"); return this; } /** The list of DNS server IP addresses. Maximum of 3 allowed. */ @com.fasterxml.jackson.annotation.JsonProperty("dns") private java.util.List dns; /** * The list of DNS server IP addresses. Maximum of 3 allowed. * * @param dns the value to set * @return this builder */ public Builder dns(java.util.List dns) { this.dns = dns; this.__explicitlySet__.add("dns"); return this; } /** The list of NTP server IP addresses. Maximum of 3 allowed. */ @com.fasterxml.jackson.annotation.JsonProperty("ntp") private java.util.List ntp; /** * The list of NTP server IP addresses. Maximum of 3 allowed. * * @param ntp the value to set * @return this builder */ public Builder ntp(java.util.List ntp) { this.ntp = ntp; this.__explicitlySet__.add("ntp"); return this; } /** * Free-form tags for this resource. Each tag is a simple key-value pair with no predefined * name, type, or namespace. For more information, see [Resource * Tags](https://docs.cloud.oracle.com/Content/General/Concepts/resourcetags.htm). * *

Example: {@code {"Department": "Finance"}} */ @com.fasterxml.jackson.annotation.JsonProperty("freeformTags") private java.util.Map freeformTags; /** * Free-form tags for this resource. Each tag is a simple key-value pair with no predefined * name, type, or namespace. For more information, see [Resource * Tags](https://docs.cloud.oracle.com/Content/General/Concepts/resourcetags.htm). * *

Example: {@code {"Department": "Finance"}} * * @param freeformTags the value to set * @return this builder */ public Builder freeformTags(java.util.Map freeformTags) { this.freeformTags = freeformTags; this.__explicitlySet__.add("freeformTags"); return this; } /** * Defined tags for this resource. Each key is predefined and scoped to a namespace. For * more information, see [Resource * Tags](https://docs.cloud.oracle.com/Content/General/Concepts/resourcetags.htm). */ @com.fasterxml.jackson.annotation.JsonProperty("definedTags") private java.util.Map> definedTags; /** * Defined tags for this resource. Each key is predefined and scoped to a namespace. For * more information, see [Resource * Tags](https://docs.cloud.oracle.com/Content/General/Concepts/resourcetags.htm). * * @param definedTags the value to set * @return this builder */ public Builder definedTags( java.util.Map> definedTags) { this.definedTags = definedTags; this.__explicitlySet__.add("definedTags"); return this; } @com.fasterxml.jackson.annotation.JsonIgnore private final java.util.Set __explicitlySet__ = new java.util.HashSet(); public GenerateRecommendedNetworkDetails build() { GenerateRecommendedNetworkDetails model = new GenerateRecommendedNetworkDetails( this.compartmentId, this.displayName, this.dbServers, this.scanListenerPortTcp, this.scanListenerPortTcpSsl, this.drScanListenerPortTcp, this.networks, this.dns, this.ntp, this.freeformTags, this.definedTags); for (String explicitlySetProperty : this.__explicitlySet__) { model.markPropertyAsExplicitlySet(explicitlySetProperty); } return model; } @com.fasterxml.jackson.annotation.JsonIgnore public Builder copy(GenerateRecommendedNetworkDetails model) { if (model.wasPropertyExplicitlySet("compartmentId")) { this.compartmentId(model.getCompartmentId()); } if (model.wasPropertyExplicitlySet("displayName")) { this.displayName(model.getDisplayName()); } if (model.wasPropertyExplicitlySet("dbServers")) { this.dbServers(model.getDbServers()); } if (model.wasPropertyExplicitlySet("scanListenerPortTcp")) { this.scanListenerPortTcp(model.getScanListenerPortTcp()); } if (model.wasPropertyExplicitlySet("scanListenerPortTcpSsl")) { this.scanListenerPortTcpSsl(model.getScanListenerPortTcpSsl()); } if (model.wasPropertyExplicitlySet("drScanListenerPortTcp")) { this.drScanListenerPortTcp(model.getDrScanListenerPortTcp()); } if (model.wasPropertyExplicitlySet("networks")) { this.networks(model.getNetworks()); } if (model.wasPropertyExplicitlySet("dns")) { this.dns(model.getDns()); } if (model.wasPropertyExplicitlySet("ntp")) { this.ntp(model.getNtp()); } if (model.wasPropertyExplicitlySet("freeformTags")) { this.freeformTags(model.getFreeformTags()); } if (model.wasPropertyExplicitlySet("definedTags")) { this.definedTags(model.getDefinedTags()); } return this; } } /** Create a new builder. */ public static Builder builder() { return new Builder(); } public Builder toBuilder() { return new Builder().copy(this); } /** * The [OCID](https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm) of the * compartment. */ @com.fasterxml.jackson.annotation.JsonProperty("compartmentId") private final String compartmentId; /** * The [OCID](https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm) of the * compartment. * * @return the value */ public String getCompartmentId() { return compartmentId; } /** The user-friendly name for the VM cluster network. The name does not need to be unique. */ @com.fasterxml.jackson.annotation.JsonProperty("displayName") private final String displayName; /** * The user-friendly name for the VM cluster network. The name does not need to be unique. * * @return the value */ public String getDisplayName() { return displayName; } /** The list of Db server Ids to configure network. */ @com.fasterxml.jackson.annotation.JsonProperty("dbServers") private final java.util.List dbServers; /** * The list of Db server Ids to configure network. * * @return the value */ public java.util.List getDbServers() { return dbServers; } /** The SCAN TCPIP port. Default is 1521. */ @com.fasterxml.jackson.annotation.JsonProperty("scanListenerPortTcp") private final Integer scanListenerPortTcp; /** * The SCAN TCPIP port. Default is 1521. * * @return the value */ public Integer getScanListenerPortTcp() { return scanListenerPortTcp; } /** The SCAN TCPIP SSL port. Default is 2484. */ @com.fasterxml.jackson.annotation.JsonProperty("scanListenerPortTcpSsl") private final Integer scanListenerPortTcpSsl; /** * The SCAN TCPIP SSL port. Default is 2484. * * @return the value */ public Integer getScanListenerPortTcpSsl() { return scanListenerPortTcpSsl; } /** The DR SCAN TCPIP port. Default is 1521. */ @com.fasterxml.jackson.annotation.JsonProperty("drScanListenerPortTcp") private final Integer drScanListenerPortTcp; /** * The DR SCAN TCPIP port. Default is 1521. * * @return the value */ public Integer getDrScanListenerPortTcp() { return drScanListenerPortTcp; } /** List of parameters for generation of the client and backup networks. */ @com.fasterxml.jackson.annotation.JsonProperty("networks") private final java.util.List networks; /** * List of parameters for generation of the client and backup networks. * * @return the value */ public java.util.List getNetworks() { return networks; } /** The list of DNS server IP addresses. Maximum of 3 allowed. */ @com.fasterxml.jackson.annotation.JsonProperty("dns") private final java.util.List dns; /** * The list of DNS server IP addresses. Maximum of 3 allowed. * * @return the value */ public java.util.List getDns() { return dns; } /** The list of NTP server IP addresses. Maximum of 3 allowed. */ @com.fasterxml.jackson.annotation.JsonProperty("ntp") private final java.util.List ntp; /** * The list of NTP server IP addresses. Maximum of 3 allowed. * * @return the value */ public java.util.List getNtp() { return ntp; } /** * Free-form tags for this resource. Each tag is a simple key-value pair with no predefined * name, type, or namespace. For more information, see [Resource * Tags](https://docs.cloud.oracle.com/Content/General/Concepts/resourcetags.htm). * *

Example: {@code {"Department": "Finance"}} */ @com.fasterxml.jackson.annotation.JsonProperty("freeformTags") private final java.util.Map freeformTags; /** * Free-form tags for this resource. Each tag is a simple key-value pair with no predefined * name, type, or namespace. For more information, see [Resource * Tags](https://docs.cloud.oracle.com/Content/General/Concepts/resourcetags.htm). * *

Example: {@code {"Department": "Finance"}} * * @return the value */ public java.util.Map getFreeformTags() { return freeformTags; } /** * Defined tags for this resource. Each key is predefined and scoped to a namespace. For more * information, see [Resource * Tags](https://docs.cloud.oracle.com/Content/General/Concepts/resourcetags.htm). */ @com.fasterxml.jackson.annotation.JsonProperty("definedTags") private final java.util.Map> definedTags; /** * Defined tags for this resource. Each key is predefined and scoped to a namespace. For more * information, see [Resource * Tags](https://docs.cloud.oracle.com/Content/General/Concepts/resourcetags.htm). * * @return the value */ public java.util.Map> getDefinedTags() { return definedTags; } @Override public String toString() { return this.toString(true); } /** * Return a string representation of the object. * * @param includeByteArrayContents true to include the full contents of byte arrays * @return string representation */ public String toString(boolean includeByteArrayContents) { java.lang.StringBuilder sb = new java.lang.StringBuilder(); sb.append("GenerateRecommendedNetworkDetails("); sb.append("super=").append(super.toString()); sb.append("compartmentId=").append(String.valueOf(this.compartmentId)); sb.append(", displayName=").append(String.valueOf(this.displayName)); sb.append(", dbServers=").append(String.valueOf(this.dbServers)); sb.append(", scanListenerPortTcp=").append(String.valueOf(this.scanListenerPortTcp)); sb.append(", scanListenerPortTcpSsl=").append(String.valueOf(this.scanListenerPortTcpSsl)); sb.append(", drScanListenerPortTcp=").append(String.valueOf(this.drScanListenerPortTcp)); sb.append(", networks=").append(String.valueOf(this.networks)); sb.append(", dns=").append(String.valueOf(this.dns)); sb.append(", ntp=").append(String.valueOf(this.ntp)); sb.append(", freeformTags=").append(String.valueOf(this.freeformTags)); sb.append(", definedTags=").append(String.valueOf(this.definedTags)); sb.append(")"); return sb.toString(); } @Override public boolean equals(Object o) { if (this == o) { return true; } if (!(o instanceof GenerateRecommendedNetworkDetails)) { return false; } GenerateRecommendedNetworkDetails other = (GenerateRecommendedNetworkDetails) o; return java.util.Objects.equals(this.compartmentId, other.compartmentId) && java.util.Objects.equals(this.displayName, other.displayName) && java.util.Objects.equals(this.dbServers, other.dbServers) && java.util.Objects.equals(this.scanListenerPortTcp, other.scanListenerPortTcp) && java.util.Objects.equals( this.scanListenerPortTcpSsl, other.scanListenerPortTcpSsl) && java.util.Objects.equals(this.drScanListenerPortTcp, other.drScanListenerPortTcp) && java.util.Objects.equals(this.networks, other.networks) && java.util.Objects.equals(this.dns, other.dns) && java.util.Objects.equals(this.ntp, other.ntp) && java.util.Objects.equals(this.freeformTags, other.freeformTags) && java.util.Objects.equals(this.definedTags, other.definedTags) && super.equals(other); } @Override public int hashCode() { final int PRIME = 59; int result = 1; result = (result * PRIME) + (this.compartmentId == null ? 43 : this.compartmentId.hashCode()); result = (result * PRIME) + (this.displayName == null ? 43 : this.displayName.hashCode()); result = (result * PRIME) + (this.dbServers == null ? 43 : this.dbServers.hashCode()); result = (result * PRIME) + (this.scanListenerPortTcp == null ? 43 : this.scanListenerPortTcp.hashCode()); result = (result * PRIME) + (this.scanListenerPortTcpSsl == null ? 43 : this.scanListenerPortTcpSsl.hashCode()); result = (result * PRIME) + (this.drScanListenerPortTcp == null ? 43 : this.drScanListenerPortTcp.hashCode()); result = (result * PRIME) + (this.networks == null ? 43 : this.networks.hashCode()); result = (result * PRIME) + (this.dns == null ? 43 : this.dns.hashCode()); result = (result * PRIME) + (this.ntp == null ? 43 : this.ntp.hashCode()); result = (result * PRIME) + (this.freeformTags == null ? 43 : this.freeformTags.hashCode()); result = (result * PRIME) + (this.definedTags == null ? 43 : this.definedTags.hashCode()); result = (result * PRIME) + super.hashCode(); return result; } }





© 2015 - 2024 Weber Informatics LLC | Privacy Policy