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

com.oracle.bmc.datasafe.model.DataSafePrivateEndpoint Maven / Gradle / Ivy

Go to download

This project contains the SDK distribution used for Oracle Cloud Infrastructure, and all the dependencies that can be shaded. It also has Maven dependencies that cannot be shaded. Therefore, use this module to depend on the shaded distribution via Maven -- it will shade everything that can be shaded, and automatically pull in the other dependencies.

There is a newer version: 3.55.2
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.datasafe.model;

/**
 * A Data Safe private endpoint that allows Data Safe to connect to databases in a customer's
 * virtual cloud network (VCN). 
* 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: 20181201") @com.fasterxml.jackson.databind.annotation.JsonDeserialize( builder = DataSafePrivateEndpoint.Builder.class) @com.fasterxml.jackson.annotation.JsonFilter( com.oracle.bmc.http.client.internal.ExplicitlySetBmcModel.EXPLICITLY_SET_FILTER_NAME) public final class DataSafePrivateEndpoint extends com.oracle.bmc.http.client.internal.ExplicitlySetBmcModel { @Deprecated @java.beans.ConstructorProperties({ "id", "displayName", "compartmentId", "vcnId", "subnetId", "privateEndpointId", "privateEndpointIp", "endpointFqdn", "description", "timeCreated", "lifecycleState", "nsgIds", "freeformTags", "definedTags", "systemTags" }) public DataSafePrivateEndpoint( String id, String displayName, String compartmentId, String vcnId, String subnetId, String privateEndpointId, String privateEndpointIp, String endpointFqdn, String description, java.util.Date timeCreated, LifecycleState lifecycleState, java.util.List nsgIds, java.util.Map freeformTags, java.util.Map> definedTags, java.util.Map> systemTags) { super(); this.id = id; this.displayName = displayName; this.compartmentId = compartmentId; this.vcnId = vcnId; this.subnetId = subnetId; this.privateEndpointId = privateEndpointId; this.privateEndpointIp = privateEndpointIp; this.endpointFqdn = endpointFqdn; this.description = description; this.timeCreated = timeCreated; this.lifecycleState = lifecycleState; this.nsgIds = nsgIds; this.freeformTags = freeformTags; this.definedTags = definedTags; this.systemTags = systemTags; } @com.fasterxml.jackson.databind.annotation.JsonPOJOBuilder(withPrefix = "") public static class Builder { /** The OCID of the Data Safe private endpoint. */ @com.fasterxml.jackson.annotation.JsonProperty("id") private String id; /** * The OCID of the Data Safe private endpoint. * * @param id the value to set * @return this builder */ public Builder id(String id) { this.id = id; this.__explicitlySet__.add("id"); return this; } /** The display name of the private endpoint. */ @com.fasterxml.jackson.annotation.JsonProperty("displayName") private String displayName; /** * The display name of the private endpoint. * * @param displayName the value to set * @return this builder */ public Builder displayName(String displayName) { this.displayName = displayName; this.__explicitlySet__.add("displayName"); return this; } /** The OCID of the compartment. */ @com.fasterxml.jackson.annotation.JsonProperty("compartmentId") private String compartmentId; /** * The OCID 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 OCID of the VCN. */ @com.fasterxml.jackson.annotation.JsonProperty("vcnId") private String vcnId; /** * The OCID of the VCN. * * @param vcnId the value to set * @return this builder */ public Builder vcnId(String vcnId) { this.vcnId = vcnId; this.__explicitlySet__.add("vcnId"); return this; } /** The OCID of the subnet. */ @com.fasterxml.jackson.annotation.JsonProperty("subnetId") private String subnetId; /** * The OCID of the subnet. * * @param subnetId the value to set * @return this builder */ public Builder subnetId(String subnetId) { this.subnetId = subnetId; this.__explicitlySet__.add("subnetId"); return this; } /** The OCID of the underlying private endpoint. */ @com.fasterxml.jackson.annotation.JsonProperty("privateEndpointId") private String privateEndpointId; /** * The OCID of the underlying private endpoint. * * @param privateEndpointId the value to set * @return this builder */ public Builder privateEndpointId(String privateEndpointId) { this.privateEndpointId = privateEndpointId; this.__explicitlySet__.add("privateEndpointId"); return this; } /** The private IP address of the private endpoint. */ @com.fasterxml.jackson.annotation.JsonProperty("privateEndpointIp") private String privateEndpointIp; /** * The private IP address of the private endpoint. * * @param privateEndpointIp the value to set * @return this builder */ public Builder privateEndpointIp(String privateEndpointIp) { this.privateEndpointIp = privateEndpointIp; this.__explicitlySet__.add("privateEndpointIp"); return this; } /** * The three-label fully qualified domain name (FQDN) of the private endpoint. The customer * VCN's DNS records are updated with this FQDN. */ @com.fasterxml.jackson.annotation.JsonProperty("endpointFqdn") private String endpointFqdn; /** * The three-label fully qualified domain name (FQDN) of the private endpoint. The customer * VCN's DNS records are updated with this FQDN. * * @param endpointFqdn the value to set * @return this builder */ public Builder endpointFqdn(String endpointFqdn) { this.endpointFqdn = endpointFqdn; this.__explicitlySet__.add("endpointFqdn"); return this; } /** The description of the private endpoint. */ @com.fasterxml.jackson.annotation.JsonProperty("description") private String description; /** * The description of the private endpoint. * * @param description the value to set * @return this builder */ public Builder description(String description) { this.description = description; this.__explicitlySet__.add("description"); return this; } /** * The date and time the private endpoint was created, in the format defined by * [RFC3339](https://tools.ietf.org/html/rfc3339). */ @com.fasterxml.jackson.annotation.JsonProperty("timeCreated") private java.util.Date timeCreated; /** * The date and time the private endpoint was created, in the format defined by * [RFC3339](https://tools.ietf.org/html/rfc3339). * * @param timeCreated the value to set * @return this builder */ public Builder timeCreated(java.util.Date timeCreated) { this.timeCreated = timeCreated; this.__explicitlySet__.add("timeCreated"); return this; } /** The current state of the private endpoint. */ @com.fasterxml.jackson.annotation.JsonProperty("lifecycleState") private LifecycleState lifecycleState; /** * The current state of the private endpoint. * * @param lifecycleState the value to set * @return this builder */ public Builder lifecycleState(LifecycleState lifecycleState) { this.lifecycleState = lifecycleState; this.__explicitlySet__.add("lifecycleState"); return this; } /** The OCIDs of the network security groups that the private endpoint belongs to. */ @com.fasterxml.jackson.annotation.JsonProperty("nsgIds") private java.util.List nsgIds; /** * The OCIDs of the network security groups that the private endpoint belongs to. * * @param nsgIds the value to set * @return this builder */ public Builder nsgIds(java.util.List nsgIds) { this.nsgIds = nsgIds; this.__explicitlySet__.add("nsgIds"); 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/iaas/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/iaas/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/iaas/Content/General/Concepts/resourcetags.htm) * *

Example: {@code {"Operations": {"CostCenter": "42"}}} */ @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/iaas/Content/General/Concepts/resourcetags.htm) * *

Example: {@code {"Operations": {"CostCenter": "42"}}} * * @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; } /** * System tags for this resource. Each key is predefined and scoped to a namespace. For more * information, see Resource Tags. Example: {@code {"orcl-cloud": {"free-tier-retained": * "true"}}} */ @com.fasterxml.jackson.annotation.JsonProperty("systemTags") private java.util.Map> systemTags; /** * System tags for this resource. Each key is predefined and scoped to a namespace. For more * information, see Resource Tags. Example: {@code {"orcl-cloud": {"free-tier-retained": * "true"}}} * * @param systemTags the value to set * @return this builder */ public Builder systemTags(java.util.Map> systemTags) { this.systemTags = systemTags; this.__explicitlySet__.add("systemTags"); return this; } @com.fasterxml.jackson.annotation.JsonIgnore private final java.util.Set __explicitlySet__ = new java.util.HashSet(); public DataSafePrivateEndpoint build() { DataSafePrivateEndpoint model = new DataSafePrivateEndpoint( this.id, this.displayName, this.compartmentId, this.vcnId, this.subnetId, this.privateEndpointId, this.privateEndpointIp, this.endpointFqdn, this.description, this.timeCreated, this.lifecycleState, this.nsgIds, this.freeformTags, this.definedTags, this.systemTags); for (String explicitlySetProperty : this.__explicitlySet__) { model.markPropertyAsExplicitlySet(explicitlySetProperty); } return model; } @com.fasterxml.jackson.annotation.JsonIgnore public Builder copy(DataSafePrivateEndpoint model) { if (model.wasPropertyExplicitlySet("id")) { this.id(model.getId()); } if (model.wasPropertyExplicitlySet("displayName")) { this.displayName(model.getDisplayName()); } if (model.wasPropertyExplicitlySet("compartmentId")) { this.compartmentId(model.getCompartmentId()); } if (model.wasPropertyExplicitlySet("vcnId")) { this.vcnId(model.getVcnId()); } if (model.wasPropertyExplicitlySet("subnetId")) { this.subnetId(model.getSubnetId()); } if (model.wasPropertyExplicitlySet("privateEndpointId")) { this.privateEndpointId(model.getPrivateEndpointId()); } if (model.wasPropertyExplicitlySet("privateEndpointIp")) { this.privateEndpointIp(model.getPrivateEndpointIp()); } if (model.wasPropertyExplicitlySet("endpointFqdn")) { this.endpointFqdn(model.getEndpointFqdn()); } if (model.wasPropertyExplicitlySet("description")) { this.description(model.getDescription()); } if (model.wasPropertyExplicitlySet("timeCreated")) { this.timeCreated(model.getTimeCreated()); } if (model.wasPropertyExplicitlySet("lifecycleState")) { this.lifecycleState(model.getLifecycleState()); } if (model.wasPropertyExplicitlySet("nsgIds")) { this.nsgIds(model.getNsgIds()); } if (model.wasPropertyExplicitlySet("freeformTags")) { this.freeformTags(model.getFreeformTags()); } if (model.wasPropertyExplicitlySet("definedTags")) { this.definedTags(model.getDefinedTags()); } if (model.wasPropertyExplicitlySet("systemTags")) { this.systemTags(model.getSystemTags()); } return this; } } /** Create a new builder. */ public static Builder builder() { return new Builder(); } public Builder toBuilder() { return new Builder().copy(this); } /** The OCID of the Data Safe private endpoint. */ @com.fasterxml.jackson.annotation.JsonProperty("id") private final String id; /** * The OCID of the Data Safe private endpoint. * * @return the value */ public String getId() { return id; } /** The display name of the private endpoint. */ @com.fasterxml.jackson.annotation.JsonProperty("displayName") private final String displayName; /** * The display name of the private endpoint. * * @return the value */ public String getDisplayName() { return displayName; } /** The OCID of the compartment. */ @com.fasterxml.jackson.annotation.JsonProperty("compartmentId") private final String compartmentId; /** * The OCID of the compartment. * * @return the value */ public String getCompartmentId() { return compartmentId; } /** The OCID of the VCN. */ @com.fasterxml.jackson.annotation.JsonProperty("vcnId") private final String vcnId; /** * The OCID of the VCN. * * @return the value */ public String getVcnId() { return vcnId; } /** The OCID of the subnet. */ @com.fasterxml.jackson.annotation.JsonProperty("subnetId") private final String subnetId; /** * The OCID of the subnet. * * @return the value */ public String getSubnetId() { return subnetId; } /** The OCID of the underlying private endpoint. */ @com.fasterxml.jackson.annotation.JsonProperty("privateEndpointId") private final String privateEndpointId; /** * The OCID of the underlying private endpoint. * * @return the value */ public String getPrivateEndpointId() { return privateEndpointId; } /** The private IP address of the private endpoint. */ @com.fasterxml.jackson.annotation.JsonProperty("privateEndpointIp") private final String privateEndpointIp; /** * The private IP address of the private endpoint. * * @return the value */ public String getPrivateEndpointIp() { return privateEndpointIp; } /** * The three-label fully qualified domain name (FQDN) of the private endpoint. The customer * VCN's DNS records are updated with this FQDN. */ @com.fasterxml.jackson.annotation.JsonProperty("endpointFqdn") private final String endpointFqdn; /** * The three-label fully qualified domain name (FQDN) of the private endpoint. The customer * VCN's DNS records are updated with this FQDN. * * @return the value */ public String getEndpointFqdn() { return endpointFqdn; } /** The description of the private endpoint. */ @com.fasterxml.jackson.annotation.JsonProperty("description") private final String description; /** * The description of the private endpoint. * * @return the value */ public String getDescription() { return description; } /** * The date and time the private endpoint was created, in the format defined by * [RFC3339](https://tools.ietf.org/html/rfc3339). */ @com.fasterxml.jackson.annotation.JsonProperty("timeCreated") private final java.util.Date timeCreated; /** * The date and time the private endpoint was created, in the format defined by * [RFC3339](https://tools.ietf.org/html/rfc3339). * * @return the value */ public java.util.Date getTimeCreated() { return timeCreated; } /** The current state of the private endpoint. */ @com.fasterxml.jackson.annotation.JsonProperty("lifecycleState") private final LifecycleState lifecycleState; /** * The current state of the private endpoint. * * @return the value */ public LifecycleState getLifecycleState() { return lifecycleState; } /** The OCIDs of the network security groups that the private endpoint belongs to. */ @com.fasterxml.jackson.annotation.JsonProperty("nsgIds") private final java.util.List nsgIds; /** * The OCIDs of the network security groups that the private endpoint belongs to. * * @return the value */ public java.util.List getNsgIds() { return nsgIds; } /** * 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/iaas/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/iaas/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/iaas/Content/General/Concepts/resourcetags.htm) * *

Example: {@code {"Operations": {"CostCenter": "42"}}} */ @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/iaas/Content/General/Concepts/resourcetags.htm) * *

Example: {@code {"Operations": {"CostCenter": "42"}}} * * @return the value */ public java.util.Map> getDefinedTags() { return definedTags; } /** * System tags for this resource. Each key is predefined and scoped to a namespace. For more * information, see Resource Tags. Example: {@code {"orcl-cloud": {"free-tier-retained": * "true"}}} */ @com.fasterxml.jackson.annotation.JsonProperty("systemTags") private final java.util.Map> systemTags; /** * System tags for this resource. Each key is predefined and scoped to a namespace. For more * information, see Resource Tags. Example: {@code {"orcl-cloud": {"free-tier-retained": * "true"}}} * * @return the value */ public java.util.Map> getSystemTags() { return systemTags; } @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("DataSafePrivateEndpoint("); sb.append("super=").append(super.toString()); sb.append("id=").append(String.valueOf(this.id)); sb.append(", displayName=").append(String.valueOf(this.displayName)); sb.append(", compartmentId=").append(String.valueOf(this.compartmentId)); sb.append(", vcnId=").append(String.valueOf(this.vcnId)); sb.append(", subnetId=").append(String.valueOf(this.subnetId)); sb.append(", privateEndpointId=").append(String.valueOf(this.privateEndpointId)); sb.append(", privateEndpointIp=").append(String.valueOf(this.privateEndpointIp)); sb.append(", endpointFqdn=").append(String.valueOf(this.endpointFqdn)); sb.append(", description=").append(String.valueOf(this.description)); sb.append(", timeCreated=").append(String.valueOf(this.timeCreated)); sb.append(", lifecycleState=").append(String.valueOf(this.lifecycleState)); sb.append(", nsgIds=").append(String.valueOf(this.nsgIds)); sb.append(", freeformTags=").append(String.valueOf(this.freeformTags)); sb.append(", definedTags=").append(String.valueOf(this.definedTags)); sb.append(", systemTags=").append(String.valueOf(this.systemTags)); sb.append(")"); return sb.toString(); } @Override public boolean equals(Object o) { if (this == o) { return true; } if (!(o instanceof DataSafePrivateEndpoint)) { return false; } DataSafePrivateEndpoint other = (DataSafePrivateEndpoint) o; return java.util.Objects.equals(this.id, other.id) && java.util.Objects.equals(this.displayName, other.displayName) && java.util.Objects.equals(this.compartmentId, other.compartmentId) && java.util.Objects.equals(this.vcnId, other.vcnId) && java.util.Objects.equals(this.subnetId, other.subnetId) && java.util.Objects.equals(this.privateEndpointId, other.privateEndpointId) && java.util.Objects.equals(this.privateEndpointIp, other.privateEndpointIp) && java.util.Objects.equals(this.endpointFqdn, other.endpointFqdn) && java.util.Objects.equals(this.description, other.description) && java.util.Objects.equals(this.timeCreated, other.timeCreated) && java.util.Objects.equals(this.lifecycleState, other.lifecycleState) && java.util.Objects.equals(this.nsgIds, other.nsgIds) && java.util.Objects.equals(this.freeformTags, other.freeformTags) && java.util.Objects.equals(this.definedTags, other.definedTags) && java.util.Objects.equals(this.systemTags, other.systemTags) && super.equals(other); } @Override public int hashCode() { final int PRIME = 59; int result = 1; result = (result * PRIME) + (this.id == null ? 43 : this.id.hashCode()); result = (result * PRIME) + (this.displayName == null ? 43 : this.displayName.hashCode()); result = (result * PRIME) + (this.compartmentId == null ? 43 : this.compartmentId.hashCode()); result = (result * PRIME) + (this.vcnId == null ? 43 : this.vcnId.hashCode()); result = (result * PRIME) + (this.subnetId == null ? 43 : this.subnetId.hashCode()); result = (result * PRIME) + (this.privateEndpointId == null ? 43 : this.privateEndpointId.hashCode()); result = (result * PRIME) + (this.privateEndpointIp == null ? 43 : this.privateEndpointIp.hashCode()); result = (result * PRIME) + (this.endpointFqdn == null ? 43 : this.endpointFqdn.hashCode()); result = (result * PRIME) + (this.description == null ? 43 : this.description.hashCode()); result = (result * PRIME) + (this.timeCreated == null ? 43 : this.timeCreated.hashCode()); result = (result * PRIME) + (this.lifecycleState == null ? 43 : this.lifecycleState.hashCode()); result = (result * PRIME) + (this.nsgIds == null ? 43 : this.nsgIds.hashCode()); result = (result * PRIME) + (this.freeformTags == null ? 43 : this.freeformTags.hashCode()); result = (result * PRIME) + (this.definedTags == null ? 43 : this.definedTags.hashCode()); result = (result * PRIME) + (this.systemTags == null ? 43 : this.systemTags.hashCode()); result = (result * PRIME) + super.hashCode(); return result; } }





© 2015 - 2025 Weber Informatics LLC | Privacy Policy