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

com.oracle.bmc.goldengate.model.Db2Connection Maven / Gradle / Ivy

/**
 * 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.goldengate.model;

/**
 * Represents the metadata of a DB2 Connection. 
* 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: 20200407") @com.fasterxml.jackson.databind.annotation.JsonDeserialize(builder = Db2Connection.Builder.class) @com.fasterxml.jackson.annotation.JsonTypeInfo( use = com.fasterxml.jackson.annotation.JsonTypeInfo.Id.NAME, include = com.fasterxml.jackson.annotation.JsonTypeInfo.As.PROPERTY, property = "connectionType") @com.fasterxml.jackson.annotation.JsonFilter( com.oracle.bmc.http.client.internal.ExplicitlySetBmcModel.EXPLICITLY_SET_FILTER_NAME) public final class Db2Connection extends Connection { @com.fasterxml.jackson.databind.annotation.JsonPOJOBuilder(withPrefix = "") public static class Builder { @com.fasterxml.jackson.annotation.JsonProperty("id") private String id; public Builder id(String id) { this.id = id; this.__explicitlySet__.add("id"); return this; } @com.fasterxml.jackson.annotation.JsonProperty("displayName") private String displayName; public Builder displayName(String displayName) { this.displayName = displayName; this.__explicitlySet__.add("displayName"); return this; } @com.fasterxml.jackson.annotation.JsonProperty("description") private String description; public Builder description(String description) { this.description = description; this.__explicitlySet__.add("description"); return this; } @com.fasterxml.jackson.annotation.JsonProperty("compartmentId") private String compartmentId; public Builder compartmentId(String compartmentId) { this.compartmentId = compartmentId; this.__explicitlySet__.add("compartmentId"); return this; } @com.fasterxml.jackson.annotation.JsonProperty("freeformTags") private java.util.Map freeformTags; public Builder freeformTags(java.util.Map freeformTags) { this.freeformTags = freeformTags; this.__explicitlySet__.add("freeformTags"); return this; } @com.fasterxml.jackson.annotation.JsonProperty("definedTags") private java.util.Map> definedTags; public Builder definedTags( java.util.Map> definedTags) { this.definedTags = definedTags; this.__explicitlySet__.add("definedTags"); return this; } @com.fasterxml.jackson.annotation.JsonProperty("systemTags") private java.util.Map> systemTags; public Builder systemTags(java.util.Map> systemTags) { this.systemTags = systemTags; this.__explicitlySet__.add("systemTags"); return this; } @com.fasterxml.jackson.annotation.JsonProperty("lifecycleState") private LifecycleState lifecycleState; public Builder lifecycleState(LifecycleState lifecycleState) { this.lifecycleState = lifecycleState; this.__explicitlySet__.add("lifecycleState"); return this; } @com.fasterxml.jackson.annotation.JsonProperty("lifecycleDetails") private String lifecycleDetails; public Builder lifecycleDetails(String lifecycleDetails) { this.lifecycleDetails = lifecycleDetails; this.__explicitlySet__.add("lifecycleDetails"); return this; } @com.fasterxml.jackson.annotation.JsonProperty("timeCreated") private java.util.Date timeCreated; public Builder timeCreated(java.util.Date timeCreated) { this.timeCreated = timeCreated; this.__explicitlySet__.add("timeCreated"); return this; } @com.fasterxml.jackson.annotation.JsonProperty("timeUpdated") private java.util.Date timeUpdated; public Builder timeUpdated(java.util.Date timeUpdated) { this.timeUpdated = timeUpdated; this.__explicitlySet__.add("timeUpdated"); return this; } @com.fasterxml.jackson.annotation.JsonProperty("locks") private java.util.List locks; public Builder locks(java.util.List locks) { this.locks = locks; this.__explicitlySet__.add("locks"); return this; } @com.fasterxml.jackson.annotation.JsonProperty("vaultId") private String vaultId; public Builder vaultId(String vaultId) { this.vaultId = vaultId; this.__explicitlySet__.add("vaultId"); return this; } @com.fasterxml.jackson.annotation.JsonProperty("keyId") private String keyId; public Builder keyId(String keyId) { this.keyId = keyId; this.__explicitlySet__.add("keyId"); return this; } @com.fasterxml.jackson.annotation.JsonProperty("ingressIps") private java.util.List ingressIps; public Builder ingressIps(java.util.List ingressIps) { this.ingressIps = ingressIps; this.__explicitlySet__.add("ingressIps"); return this; } @com.fasterxml.jackson.annotation.JsonProperty("nsgIds") private java.util.List nsgIds; public Builder nsgIds(java.util.List nsgIds) { this.nsgIds = nsgIds; this.__explicitlySet__.add("nsgIds"); return this; } @com.fasterxml.jackson.annotation.JsonProperty("subnetId") private String subnetId; public Builder subnetId(String subnetId) { this.subnetId = subnetId; this.__explicitlySet__.add("subnetId"); return this; } @com.fasterxml.jackson.annotation.JsonProperty("routingMethod") private RoutingMethod routingMethod; public Builder routingMethod(RoutingMethod routingMethod) { this.routingMethod = routingMethod; this.__explicitlySet__.add("routingMethod"); return this; } /** The DB2 technology type. */ @com.fasterxml.jackson.annotation.JsonProperty("technologyType") private TechnologyType technologyType; /** * The DB2 technology type. * * @param technologyType the value to set * @return this builder */ public Builder technologyType(TechnologyType technologyType) { this.technologyType = technologyType; this.__explicitlySet__.add("technologyType"); return this; } /** * The username Oracle GoldenGate uses to connect to the DB2 database. This username must * already exist and be available by the DB2 to be connected to. */ @com.fasterxml.jackson.annotation.JsonProperty("username") private String username; /** * The username Oracle GoldenGate uses to connect to the DB2 database. This username must * already exist and be available by the DB2 to be connected to. * * @param username the value to set * @return this builder */ public Builder username(String username) { this.username = username; this.__explicitlySet__.add("username"); return this; } /** The name or address of a host. */ @com.fasterxml.jackson.annotation.JsonProperty("host") private String host; /** * The name or address of a host. * * @param host the value to set * @return this builder */ public Builder host(String host) { this.host = host; this.__explicitlySet__.add("host"); return this; } /** The port of an endpoint usually specified for a connection. */ @com.fasterxml.jackson.annotation.JsonProperty("port") private Integer port; /** * The port of an endpoint usually specified for a connection. * * @param port the value to set * @return this builder */ public Builder port(Integer port) { this.port = port; this.__explicitlySet__.add("port"); return this; } /** The name of the database. */ @com.fasterxml.jackson.annotation.JsonProperty("databaseName") private String databaseName; /** * The name of the database. * * @param databaseName the value to set * @return this builder */ public Builder databaseName(String databaseName) { this.databaseName = databaseName; this.__explicitlySet__.add("databaseName"); return this; } /** * An array of name-value pair attribute entries. Used as additional parameters in * connection string. */ @com.fasterxml.jackson.annotation.JsonProperty("additionalAttributes") private java.util.List additionalAttributes; /** * An array of name-value pair attribute entries. Used as additional parameters in * connection string. * * @param additionalAttributes the value to set * @return this builder */ public Builder additionalAttributes(java.util.List additionalAttributes) { this.additionalAttributes = additionalAttributes; this.__explicitlySet__.add("additionalAttributes"); return this; } /** Security Protocol for the DB2 database. */ @com.fasterxml.jackson.annotation.JsonProperty("securityProtocol") private SecurityProtocol securityProtocol; /** * Security Protocol for the DB2 database. * * @param securityProtocol the value to set * @return this builder */ public Builder securityProtocol(SecurityProtocol securityProtocol) { this.securityProtocol = securityProtocol; this.__explicitlySet__.add("securityProtocol"); return this; } @com.fasterxml.jackson.annotation.JsonIgnore private final java.util.Set __explicitlySet__ = new java.util.HashSet(); public Db2Connection build() { Db2Connection model = new Db2Connection( this.id, this.displayName, this.description, this.compartmentId, this.freeformTags, this.definedTags, this.systemTags, this.lifecycleState, this.lifecycleDetails, this.timeCreated, this.timeUpdated, this.locks, this.vaultId, this.keyId, this.ingressIps, this.nsgIds, this.subnetId, this.routingMethod, this.technologyType, this.username, this.host, this.port, this.databaseName, this.additionalAttributes, this.securityProtocol); for (String explicitlySetProperty : this.__explicitlySet__) { model.markPropertyAsExplicitlySet(explicitlySetProperty); } return model; } @com.fasterxml.jackson.annotation.JsonIgnore public Builder copy(Db2Connection model) { if (model.wasPropertyExplicitlySet("id")) { this.id(model.getId()); } if (model.wasPropertyExplicitlySet("displayName")) { this.displayName(model.getDisplayName()); } if (model.wasPropertyExplicitlySet("description")) { this.description(model.getDescription()); } if (model.wasPropertyExplicitlySet("compartmentId")) { this.compartmentId(model.getCompartmentId()); } if (model.wasPropertyExplicitlySet("freeformTags")) { this.freeformTags(model.getFreeformTags()); } if (model.wasPropertyExplicitlySet("definedTags")) { this.definedTags(model.getDefinedTags()); } if (model.wasPropertyExplicitlySet("systemTags")) { this.systemTags(model.getSystemTags()); } if (model.wasPropertyExplicitlySet("lifecycleState")) { this.lifecycleState(model.getLifecycleState()); } if (model.wasPropertyExplicitlySet("lifecycleDetails")) { this.lifecycleDetails(model.getLifecycleDetails()); } if (model.wasPropertyExplicitlySet("timeCreated")) { this.timeCreated(model.getTimeCreated()); } if (model.wasPropertyExplicitlySet("timeUpdated")) { this.timeUpdated(model.getTimeUpdated()); } if (model.wasPropertyExplicitlySet("locks")) { this.locks(model.getLocks()); } if (model.wasPropertyExplicitlySet("vaultId")) { this.vaultId(model.getVaultId()); } if (model.wasPropertyExplicitlySet("keyId")) { this.keyId(model.getKeyId()); } if (model.wasPropertyExplicitlySet("ingressIps")) { this.ingressIps(model.getIngressIps()); } if (model.wasPropertyExplicitlySet("nsgIds")) { this.nsgIds(model.getNsgIds()); } if (model.wasPropertyExplicitlySet("subnetId")) { this.subnetId(model.getSubnetId()); } if (model.wasPropertyExplicitlySet("routingMethod")) { this.routingMethod(model.getRoutingMethod()); } if (model.wasPropertyExplicitlySet("technologyType")) { this.technologyType(model.getTechnologyType()); } if (model.wasPropertyExplicitlySet("username")) { this.username(model.getUsername()); } if (model.wasPropertyExplicitlySet("host")) { this.host(model.getHost()); } if (model.wasPropertyExplicitlySet("port")) { this.port(model.getPort()); } if (model.wasPropertyExplicitlySet("databaseName")) { this.databaseName(model.getDatabaseName()); } if (model.wasPropertyExplicitlySet("additionalAttributes")) { this.additionalAttributes(model.getAdditionalAttributes()); } if (model.wasPropertyExplicitlySet("securityProtocol")) { this.securityProtocol(model.getSecurityProtocol()); } return this; } } /** Create a new builder. */ public static Builder builder() { return new Builder(); } public Builder toBuilder() { return new Builder().copy(this); } @Deprecated public Db2Connection( String id, String displayName, String description, String compartmentId, java.util.Map freeformTags, java.util.Map> definedTags, java.util.Map> systemTags, LifecycleState lifecycleState, String lifecycleDetails, java.util.Date timeCreated, java.util.Date timeUpdated, java.util.List locks, String vaultId, String keyId, java.util.List ingressIps, java.util.List nsgIds, String subnetId, RoutingMethod routingMethod, TechnologyType technologyType, String username, String host, Integer port, String databaseName, java.util.List additionalAttributes, SecurityProtocol securityProtocol) { super( id, displayName, description, compartmentId, freeformTags, definedTags, systemTags, lifecycleState, lifecycleDetails, timeCreated, timeUpdated, locks, vaultId, keyId, ingressIps, nsgIds, subnetId, routingMethod); this.technologyType = technologyType; this.username = username; this.host = host; this.port = port; this.databaseName = databaseName; this.additionalAttributes = additionalAttributes; this.securityProtocol = securityProtocol; } /** The DB2 technology type. */ public enum TechnologyType implements com.oracle.bmc.http.internal.BmcEnum { Db2Zos("DB2_ZOS"), /** * This value is used if a service returns a value for this enum that is not recognized by * this version of the SDK. */ UnknownEnumValue(null); private static final org.slf4j.Logger LOG = org.slf4j.LoggerFactory.getLogger(TechnologyType.class); private final String value; private static java.util.Map map; static { map = new java.util.HashMap<>(); for (TechnologyType v : TechnologyType.values()) { if (v != UnknownEnumValue) { map.put(v.getValue(), v); } } } TechnologyType(String value) { this.value = value; } @com.fasterxml.jackson.annotation.JsonValue public String getValue() { return value; } @com.fasterxml.jackson.annotation.JsonCreator public static TechnologyType create(String key) { if (map.containsKey(key)) { return map.get(key); } LOG.warn( "Received unknown value '{}' for enum 'TechnologyType', returning UnknownEnumValue", key); return UnknownEnumValue; } }; /** The DB2 technology type. */ @com.fasterxml.jackson.annotation.JsonProperty("technologyType") private final TechnologyType technologyType; /** * The DB2 technology type. * * @return the value */ public TechnologyType getTechnologyType() { return technologyType; } /** * The username Oracle GoldenGate uses to connect to the DB2 database. This username must * already exist and be available by the DB2 to be connected to. */ @com.fasterxml.jackson.annotation.JsonProperty("username") private final String username; /** * The username Oracle GoldenGate uses to connect to the DB2 database. This username must * already exist and be available by the DB2 to be connected to. * * @return the value */ public String getUsername() { return username; } /** The name or address of a host. */ @com.fasterxml.jackson.annotation.JsonProperty("host") private final String host; /** * The name or address of a host. * * @return the value */ public String getHost() { return host; } /** The port of an endpoint usually specified for a connection. */ @com.fasterxml.jackson.annotation.JsonProperty("port") private final Integer port; /** * The port of an endpoint usually specified for a connection. * * @return the value */ public Integer getPort() { return port; } /** The name of the database. */ @com.fasterxml.jackson.annotation.JsonProperty("databaseName") private final String databaseName; /** * The name of the database. * * @return the value */ public String getDatabaseName() { return databaseName; } /** * An array of name-value pair attribute entries. Used as additional parameters in connection * string. */ @com.fasterxml.jackson.annotation.JsonProperty("additionalAttributes") private final java.util.List additionalAttributes; /** * An array of name-value pair attribute entries. Used as additional parameters in connection * string. * * @return the value */ public java.util.List getAdditionalAttributes() { return additionalAttributes; } /** Security Protocol for the DB2 database. */ public enum SecurityProtocol implements com.oracle.bmc.http.internal.BmcEnum { Plain("PLAIN"), Tls("TLS"), /** * This value is used if a service returns a value for this enum that is not recognized by * this version of the SDK. */ UnknownEnumValue(null); private static final org.slf4j.Logger LOG = org.slf4j.LoggerFactory.getLogger(SecurityProtocol.class); private final String value; private static java.util.Map map; static { map = new java.util.HashMap<>(); for (SecurityProtocol v : SecurityProtocol.values()) { if (v != UnknownEnumValue) { map.put(v.getValue(), v); } } } SecurityProtocol(String value) { this.value = value; } @com.fasterxml.jackson.annotation.JsonValue public String getValue() { return value; } @com.fasterxml.jackson.annotation.JsonCreator public static SecurityProtocol create(String key) { if (map.containsKey(key)) { return map.get(key); } LOG.warn( "Received unknown value '{}' for enum 'SecurityProtocol', returning UnknownEnumValue", key); return UnknownEnumValue; } }; /** Security Protocol for the DB2 database. */ @com.fasterxml.jackson.annotation.JsonProperty("securityProtocol") private final SecurityProtocol securityProtocol; /** * Security Protocol for the DB2 database. * * @return the value */ public SecurityProtocol getSecurityProtocol() { return securityProtocol; } @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("Db2Connection("); sb.append("super=").append(super.toString(includeByteArrayContents)); sb.append(", technologyType=").append(String.valueOf(this.technologyType)); sb.append(", username=").append(String.valueOf(this.username)); sb.append(", host=").append(String.valueOf(this.host)); sb.append(", port=").append(String.valueOf(this.port)); sb.append(", databaseName=").append(String.valueOf(this.databaseName)); sb.append(", additionalAttributes=").append(String.valueOf(this.additionalAttributes)); sb.append(", securityProtocol=").append(String.valueOf(this.securityProtocol)); sb.append(")"); return sb.toString(); } @Override public boolean equals(Object o) { if (this == o) { return true; } if (!(o instanceof Db2Connection)) { return false; } Db2Connection other = (Db2Connection) o; return java.util.Objects.equals(this.technologyType, other.technologyType) && java.util.Objects.equals(this.username, other.username) && java.util.Objects.equals(this.host, other.host) && java.util.Objects.equals(this.port, other.port) && java.util.Objects.equals(this.databaseName, other.databaseName) && java.util.Objects.equals(this.additionalAttributes, other.additionalAttributes) && java.util.Objects.equals(this.securityProtocol, other.securityProtocol) && super.equals(other); } @Override public int hashCode() { final int PRIME = 59; int result = super.hashCode(); result = (result * PRIME) + (this.technologyType == null ? 43 : this.technologyType.hashCode()); result = (result * PRIME) + (this.username == null ? 43 : this.username.hashCode()); result = (result * PRIME) + (this.host == null ? 43 : this.host.hashCode()); result = (result * PRIME) + (this.port == null ? 43 : this.port.hashCode()); result = (result * PRIME) + (this.databaseName == null ? 43 : this.databaseName.hashCode()); result = (result * PRIME) + (this.additionalAttributes == null ? 43 : this.additionalAttributes.hashCode()); result = (result * PRIME) + (this.securityProtocol == null ? 43 : this.securityProtocol.hashCode()); return result; } }




© 2015 - 2024 Weber Informatics LLC | Privacy Policy