org.mongodb.awscdk.resources.mongodbatlas.CfnCloudBackupScheduleProps Maven / Gradle / Ivy
Show all versions of awscdk-resources-mongodbatlas Show documentation
package org.mongodb.awscdk.resources.mongodbatlas;
/**
* An example resource schema demonstrating some basic constructs and validation rules.
*/
@javax.annotation.Generated(value = "jsii-pacmak/1.94.0 (build b380f01)", date = "2024-02-05T16:04:31.806Z")
@software.amazon.jsii.Jsii(module = org.mongodb.awscdk.resources.mongodbatlas.$Module.class, fqn = "awscdk-resources-mongodbatlas.CfnCloudBackupScheduleProps")
@software.amazon.jsii.Jsii.Proxy(CfnCloudBackupScheduleProps.Jsii$Proxy.class)
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public interface CfnCloudBackupScheduleProps extends software.amazon.jsii.JsiiSerializable {
/**
* The name of the Atlas cluster that contains the snapshots you want to retrieve.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
@org.jetbrains.annotations.NotNull java.lang.String getClusterName();
/**
* Unique 24-hexadecimal digit string that identifies your project.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
@org.jetbrains.annotations.NotNull java.lang.String getProjectId();
/**
* Flag that indicates whether automatic export of cloud backup snapshots to the AWS bucket is enabled.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
default @org.jetbrains.annotations.Nullable java.lang.Boolean getAutoExportEnabled() {
return null;
}
/**
* List that contains a document for each copy setting item in the desired backup policy.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
default @org.jetbrains.annotations.Nullable java.util.List getCopySettings() {
return null;
}
/**
* List that contains a document for each deleted copy setting whose backup copies you want to delete.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
default @org.jetbrains.annotations.Nullable java.util.List getDeleteCopiedBackups() {
return null;
}
/**
* Policy for automatically exporting cloud backup snapshots.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
default @org.jetbrains.annotations.Nullable org.mongodb.awscdk.resources.mongodbatlas.Export getExport() {
return null;
}
/**
* Unique identifier of the snapshot.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
default @org.jetbrains.annotations.Nullable java.lang.String getId() {
return null;
}
/**
* List of one or more Uniform Resource Locators (URLs) that point to API sub-resources, related API resources, or both.
*
* RFC 5988 outlines these relationships.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
default @org.jetbrains.annotations.Nullable java.util.List getLinks() {
return null;
}
/**
* Rules set for this backup schedule.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
default @org.jetbrains.annotations.Nullable java.util.List getPolicies() {
return null;
}
/**
* Profile used to provide credentials information, (a secret with the cfn/atlas/profile/{Profile}, is required), if not provided default is used.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
default @org.jetbrains.annotations.Nullable java.lang.String getProfile() {
return null;
}
/**
* UTC Hour of day between 0 and 23 representing which hour of the day that Atlas takes a snapshot.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
default @org.jetbrains.annotations.Nullable java.lang.Number getReferenceHourOfDay() {
return null;
}
/**
* UTC Minute of day between 0 and 59 representing which minute of the referenceHourOfDay that Atlas takes the snapshot.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
default @org.jetbrains.annotations.Nullable java.lang.Number getReferenceMinuteOfHour() {
return null;
}
/**
* Number of days back in time you can restore to with Continuous Cloud Backup accuracy.
*
* Must be a positive, non-zero integer.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
default @org.jetbrains.annotations.Nullable java.lang.Number getRestoreWindowDays() {
return null;
}
/**
* Flag indicating if updates to retention in the backup policy were applied to snapshots that Atlas took earlier.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
default @org.jetbrains.annotations.Nullable java.lang.Boolean getUpdateSnapshots() {
return null;
}
/**
* Specify true to use organization and project names instead of organization and project UUIDs in the path for the metadata files that Atlas uploads to your S3 bucket after it finishes exporting the snapshots.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
default @org.jetbrains.annotations.Nullable java.lang.Boolean getUseOrgAndGroupNamesInExportPrefix() {
return null;
}
/**
* @return a {@link Builder} of {@link CfnCloudBackupScheduleProps}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
static Builder builder() {
return new Builder();
}
/**
* A builder for {@link CfnCloudBackupScheduleProps}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public static final class Builder implements software.amazon.jsii.Builder {
java.lang.String clusterName;
java.lang.String projectId;
java.lang.Boolean autoExportEnabled;
java.util.List copySettings;
java.util.List deleteCopiedBackups;
org.mongodb.awscdk.resources.mongodbatlas.Export export;
java.lang.String id;
java.util.List links;
java.util.List policies;
java.lang.String profile;
java.lang.Number referenceHourOfDay;
java.lang.Number referenceMinuteOfHour;
java.lang.Number restoreWindowDays;
java.lang.Boolean updateSnapshots;
java.lang.Boolean useOrgAndGroupNamesInExportPrefix;
/**
* Sets the value of {@link CfnCloudBackupScheduleProps#getClusterName}
* @param clusterName The name of the Atlas cluster that contains the snapshots you want to retrieve. This parameter is required.
* @return {@code this}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public Builder clusterName(java.lang.String clusterName) {
this.clusterName = clusterName;
return this;
}
/**
* Sets the value of {@link CfnCloudBackupScheduleProps#getProjectId}
* @param projectId Unique 24-hexadecimal digit string that identifies your project. This parameter is required.
* @return {@code this}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public Builder projectId(java.lang.String projectId) {
this.projectId = projectId;
return this;
}
/**
* Sets the value of {@link CfnCloudBackupScheduleProps#getAutoExportEnabled}
* @param autoExportEnabled Flag that indicates whether automatic export of cloud backup snapshots to the AWS bucket is enabled.
* @return {@code this}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public Builder autoExportEnabled(java.lang.Boolean autoExportEnabled) {
this.autoExportEnabled = autoExportEnabled;
return this;
}
/**
* Sets the value of {@link CfnCloudBackupScheduleProps#getCopySettings}
* @param copySettings List that contains a document for each copy setting item in the desired backup policy.
* @return {@code this}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
@SuppressWarnings("unchecked")
public Builder copySettings(java.util.List extends org.mongodb.awscdk.resources.mongodbatlas.ApiAtlasDiskBackupCopySettingView> copySettings) {
this.copySettings = (java.util.List)copySettings;
return this;
}
/**
* Sets the value of {@link CfnCloudBackupScheduleProps#getDeleteCopiedBackups}
* @param deleteCopiedBackups List that contains a document for each deleted copy setting whose backup copies you want to delete.
* @return {@code this}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
@SuppressWarnings("unchecked")
public Builder deleteCopiedBackups(java.util.List extends org.mongodb.awscdk.resources.mongodbatlas.ApiDeleteCopiedBackupsView> deleteCopiedBackups) {
this.deleteCopiedBackups = (java.util.List)deleteCopiedBackups;
return this;
}
/**
* Sets the value of {@link CfnCloudBackupScheduleProps#getExport}
* @param export Policy for automatically exporting cloud backup snapshots.
* @return {@code this}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public Builder export(org.mongodb.awscdk.resources.mongodbatlas.Export export) {
this.export = export;
return this;
}
/**
* Sets the value of {@link CfnCloudBackupScheduleProps#getId}
* @param id Unique identifier of the snapshot.
* @return {@code this}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public Builder id(java.lang.String id) {
this.id = id;
return this;
}
/**
* Sets the value of {@link CfnCloudBackupScheduleProps#getLinks}
* @param links List of one or more Uniform Resource Locators (URLs) that point to API sub-resources, related API resources, or both.
* RFC 5988 outlines these relationships.
* @return {@code this}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
@SuppressWarnings("unchecked")
public Builder links(java.util.List extends org.mongodb.awscdk.resources.mongodbatlas.Link> links) {
this.links = (java.util.List)links;
return this;
}
/**
* Sets the value of {@link CfnCloudBackupScheduleProps#getPolicies}
* @param policies Rules set for this backup schedule.
* @return {@code this}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
@SuppressWarnings("unchecked")
public Builder policies(java.util.List extends org.mongodb.awscdk.resources.mongodbatlas.ApiPolicyView> policies) {
this.policies = (java.util.List)policies;
return this;
}
/**
* Sets the value of {@link CfnCloudBackupScheduleProps#getProfile}
* @param profile Profile used to provide credentials information, (a secret with the cfn/atlas/profile/{Profile}, is required), if not provided default is used.
* @return {@code this}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public Builder profile(java.lang.String profile) {
this.profile = profile;
return this;
}
/**
* Sets the value of {@link CfnCloudBackupScheduleProps#getReferenceHourOfDay}
* @param referenceHourOfDay UTC Hour of day between 0 and 23 representing which hour of the day that Atlas takes a snapshot.
* @return {@code this}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public Builder referenceHourOfDay(java.lang.Number referenceHourOfDay) {
this.referenceHourOfDay = referenceHourOfDay;
return this;
}
/**
* Sets the value of {@link CfnCloudBackupScheduleProps#getReferenceMinuteOfHour}
* @param referenceMinuteOfHour UTC Minute of day between 0 and 59 representing which minute of the referenceHourOfDay that Atlas takes the snapshot.
* @return {@code this}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public Builder referenceMinuteOfHour(java.lang.Number referenceMinuteOfHour) {
this.referenceMinuteOfHour = referenceMinuteOfHour;
return this;
}
/**
* Sets the value of {@link CfnCloudBackupScheduleProps#getRestoreWindowDays}
* @param restoreWindowDays Number of days back in time you can restore to with Continuous Cloud Backup accuracy.
* Must be a positive, non-zero integer.
* @return {@code this}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public Builder restoreWindowDays(java.lang.Number restoreWindowDays) {
this.restoreWindowDays = restoreWindowDays;
return this;
}
/**
* Sets the value of {@link CfnCloudBackupScheduleProps#getUpdateSnapshots}
* @param updateSnapshots Flag indicating if updates to retention in the backup policy were applied to snapshots that Atlas took earlier.
* @return {@code this}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public Builder updateSnapshots(java.lang.Boolean updateSnapshots) {
this.updateSnapshots = updateSnapshots;
return this;
}
/**
* Sets the value of {@link CfnCloudBackupScheduleProps#getUseOrgAndGroupNamesInExportPrefix}
* @param useOrgAndGroupNamesInExportPrefix Specify true to use organization and project names instead of organization and project UUIDs in the path for the metadata files that Atlas uploads to your S3 bucket after it finishes exporting the snapshots.
* @return {@code this}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public Builder useOrgAndGroupNamesInExportPrefix(java.lang.Boolean useOrgAndGroupNamesInExportPrefix) {
this.useOrgAndGroupNamesInExportPrefix = useOrgAndGroupNamesInExportPrefix;
return this;
}
/**
* Builds the configured instance.
* @return a new instance of {@link CfnCloudBackupScheduleProps}
* @throws NullPointerException if any required attribute was not provided
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
@Override
public CfnCloudBackupScheduleProps build() {
return new Jsii$Proxy(this);
}
}
/**
* An implementation for {@link CfnCloudBackupScheduleProps}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
@software.amazon.jsii.Internal
final class Jsii$Proxy extends software.amazon.jsii.JsiiObject implements CfnCloudBackupScheduleProps {
private final java.lang.String clusterName;
private final java.lang.String projectId;
private final java.lang.Boolean autoExportEnabled;
private final java.util.List copySettings;
private final java.util.List deleteCopiedBackups;
private final org.mongodb.awscdk.resources.mongodbatlas.Export export;
private final java.lang.String id;
private final java.util.List links;
private final java.util.List policies;
private final java.lang.String profile;
private final java.lang.Number referenceHourOfDay;
private final java.lang.Number referenceMinuteOfHour;
private final java.lang.Number restoreWindowDays;
private final java.lang.Boolean updateSnapshots;
private final java.lang.Boolean useOrgAndGroupNamesInExportPrefix;
/**
* Constructor that initializes the object based on values retrieved from the JsiiObject.
* @param objRef Reference to the JSII managed object.
*/
protected Jsii$Proxy(final software.amazon.jsii.JsiiObjectRef objRef) {
super(objRef);
this.clusterName = software.amazon.jsii.Kernel.get(this, "clusterName", software.amazon.jsii.NativeType.forClass(java.lang.String.class));
this.projectId = software.amazon.jsii.Kernel.get(this, "projectId", software.amazon.jsii.NativeType.forClass(java.lang.String.class));
this.autoExportEnabled = software.amazon.jsii.Kernel.get(this, "autoExportEnabled", software.amazon.jsii.NativeType.forClass(java.lang.Boolean.class));
this.copySettings = software.amazon.jsii.Kernel.get(this, "copySettings", software.amazon.jsii.NativeType.listOf(software.amazon.jsii.NativeType.forClass(org.mongodb.awscdk.resources.mongodbatlas.ApiAtlasDiskBackupCopySettingView.class)));
this.deleteCopiedBackups = software.amazon.jsii.Kernel.get(this, "deleteCopiedBackups", software.amazon.jsii.NativeType.listOf(software.amazon.jsii.NativeType.forClass(org.mongodb.awscdk.resources.mongodbatlas.ApiDeleteCopiedBackupsView.class)));
this.export = software.amazon.jsii.Kernel.get(this, "export", software.amazon.jsii.NativeType.forClass(org.mongodb.awscdk.resources.mongodbatlas.Export.class));
this.id = software.amazon.jsii.Kernel.get(this, "id", software.amazon.jsii.NativeType.forClass(java.lang.String.class));
this.links = software.amazon.jsii.Kernel.get(this, "links", software.amazon.jsii.NativeType.listOf(software.amazon.jsii.NativeType.forClass(org.mongodb.awscdk.resources.mongodbatlas.Link.class)));
this.policies = software.amazon.jsii.Kernel.get(this, "policies", software.amazon.jsii.NativeType.listOf(software.amazon.jsii.NativeType.forClass(org.mongodb.awscdk.resources.mongodbatlas.ApiPolicyView.class)));
this.profile = software.amazon.jsii.Kernel.get(this, "profile", software.amazon.jsii.NativeType.forClass(java.lang.String.class));
this.referenceHourOfDay = software.amazon.jsii.Kernel.get(this, "referenceHourOfDay", software.amazon.jsii.NativeType.forClass(java.lang.Number.class));
this.referenceMinuteOfHour = software.amazon.jsii.Kernel.get(this, "referenceMinuteOfHour", software.amazon.jsii.NativeType.forClass(java.lang.Number.class));
this.restoreWindowDays = software.amazon.jsii.Kernel.get(this, "restoreWindowDays", software.amazon.jsii.NativeType.forClass(java.lang.Number.class));
this.updateSnapshots = software.amazon.jsii.Kernel.get(this, "updateSnapshots", software.amazon.jsii.NativeType.forClass(java.lang.Boolean.class));
this.useOrgAndGroupNamesInExportPrefix = software.amazon.jsii.Kernel.get(this, "useOrgAndGroupNamesInExportPrefix", software.amazon.jsii.NativeType.forClass(java.lang.Boolean.class));
}
/**
* Constructor that initializes the object based on literal property values passed by the {@link Builder}.
*/
@SuppressWarnings("unchecked")
protected Jsii$Proxy(final Builder builder) {
super(software.amazon.jsii.JsiiObject.InitializationMode.JSII);
this.clusterName = java.util.Objects.requireNonNull(builder.clusterName, "clusterName is required");
this.projectId = java.util.Objects.requireNonNull(builder.projectId, "projectId is required");
this.autoExportEnabled = builder.autoExportEnabled;
this.copySettings = (java.util.List)builder.copySettings;
this.deleteCopiedBackups = (java.util.List)builder.deleteCopiedBackups;
this.export = builder.export;
this.id = builder.id;
this.links = (java.util.List)builder.links;
this.policies = (java.util.List)builder.policies;
this.profile = builder.profile;
this.referenceHourOfDay = builder.referenceHourOfDay;
this.referenceMinuteOfHour = builder.referenceMinuteOfHour;
this.restoreWindowDays = builder.restoreWindowDays;
this.updateSnapshots = builder.updateSnapshots;
this.useOrgAndGroupNamesInExportPrefix = builder.useOrgAndGroupNamesInExportPrefix;
}
@Override
public final java.lang.String getClusterName() {
return this.clusterName;
}
@Override
public final java.lang.String getProjectId() {
return this.projectId;
}
@Override
public final java.lang.Boolean getAutoExportEnabled() {
return this.autoExportEnabled;
}
@Override
public final java.util.List getCopySettings() {
return this.copySettings;
}
@Override
public final java.util.List getDeleteCopiedBackups() {
return this.deleteCopiedBackups;
}
@Override
public final org.mongodb.awscdk.resources.mongodbatlas.Export getExport() {
return this.export;
}
@Override
public final java.lang.String getId() {
return this.id;
}
@Override
public final java.util.List getLinks() {
return this.links;
}
@Override
public final java.util.List getPolicies() {
return this.policies;
}
@Override
public final java.lang.String getProfile() {
return this.profile;
}
@Override
public final java.lang.Number getReferenceHourOfDay() {
return this.referenceHourOfDay;
}
@Override
public final java.lang.Number getReferenceMinuteOfHour() {
return this.referenceMinuteOfHour;
}
@Override
public final java.lang.Number getRestoreWindowDays() {
return this.restoreWindowDays;
}
@Override
public final java.lang.Boolean getUpdateSnapshots() {
return this.updateSnapshots;
}
@Override
public final java.lang.Boolean getUseOrgAndGroupNamesInExportPrefix() {
return this.useOrgAndGroupNamesInExportPrefix;
}
@Override
@software.amazon.jsii.Internal
public com.fasterxml.jackson.databind.JsonNode $jsii$toJson() {
final com.fasterxml.jackson.databind.ObjectMapper om = software.amazon.jsii.JsiiObjectMapper.INSTANCE;
final com.fasterxml.jackson.databind.node.ObjectNode data = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode();
data.set("clusterName", om.valueToTree(this.getClusterName()));
data.set("projectId", om.valueToTree(this.getProjectId()));
if (this.getAutoExportEnabled() != null) {
data.set("autoExportEnabled", om.valueToTree(this.getAutoExportEnabled()));
}
if (this.getCopySettings() != null) {
data.set("copySettings", om.valueToTree(this.getCopySettings()));
}
if (this.getDeleteCopiedBackups() != null) {
data.set("deleteCopiedBackups", om.valueToTree(this.getDeleteCopiedBackups()));
}
if (this.getExport() != null) {
data.set("export", om.valueToTree(this.getExport()));
}
if (this.getId() != null) {
data.set("id", om.valueToTree(this.getId()));
}
if (this.getLinks() != null) {
data.set("links", om.valueToTree(this.getLinks()));
}
if (this.getPolicies() != null) {
data.set("policies", om.valueToTree(this.getPolicies()));
}
if (this.getProfile() != null) {
data.set("profile", om.valueToTree(this.getProfile()));
}
if (this.getReferenceHourOfDay() != null) {
data.set("referenceHourOfDay", om.valueToTree(this.getReferenceHourOfDay()));
}
if (this.getReferenceMinuteOfHour() != null) {
data.set("referenceMinuteOfHour", om.valueToTree(this.getReferenceMinuteOfHour()));
}
if (this.getRestoreWindowDays() != null) {
data.set("restoreWindowDays", om.valueToTree(this.getRestoreWindowDays()));
}
if (this.getUpdateSnapshots() != null) {
data.set("updateSnapshots", om.valueToTree(this.getUpdateSnapshots()));
}
if (this.getUseOrgAndGroupNamesInExportPrefix() != null) {
data.set("useOrgAndGroupNamesInExportPrefix", om.valueToTree(this.getUseOrgAndGroupNamesInExportPrefix()));
}
final com.fasterxml.jackson.databind.node.ObjectNode struct = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode();
struct.set("fqn", om.valueToTree("awscdk-resources-mongodbatlas.CfnCloudBackupScheduleProps"));
struct.set("data", data);
final com.fasterxml.jackson.databind.node.ObjectNode obj = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode();
obj.set("$jsii.struct", struct);
return obj;
}
@Override
public final boolean equals(final Object o) {
if (this == o) return true;
if (o == null || getClass() != o.getClass()) return false;
CfnCloudBackupScheduleProps.Jsii$Proxy that = (CfnCloudBackupScheduleProps.Jsii$Proxy) o;
if (!clusterName.equals(that.clusterName)) return false;
if (!projectId.equals(that.projectId)) return false;
if (this.autoExportEnabled != null ? !this.autoExportEnabled.equals(that.autoExportEnabled) : that.autoExportEnabled != null) return false;
if (this.copySettings != null ? !this.copySettings.equals(that.copySettings) : that.copySettings != null) return false;
if (this.deleteCopiedBackups != null ? !this.deleteCopiedBackups.equals(that.deleteCopiedBackups) : that.deleteCopiedBackups != null) return false;
if (this.export != null ? !this.export.equals(that.export) : that.export != null) return false;
if (this.id != null ? !this.id.equals(that.id) : that.id != null) return false;
if (this.links != null ? !this.links.equals(that.links) : that.links != null) return false;
if (this.policies != null ? !this.policies.equals(that.policies) : that.policies != null) return false;
if (this.profile != null ? !this.profile.equals(that.profile) : that.profile != null) return false;
if (this.referenceHourOfDay != null ? !this.referenceHourOfDay.equals(that.referenceHourOfDay) : that.referenceHourOfDay != null) return false;
if (this.referenceMinuteOfHour != null ? !this.referenceMinuteOfHour.equals(that.referenceMinuteOfHour) : that.referenceMinuteOfHour != null) return false;
if (this.restoreWindowDays != null ? !this.restoreWindowDays.equals(that.restoreWindowDays) : that.restoreWindowDays != null) return false;
if (this.updateSnapshots != null ? !this.updateSnapshots.equals(that.updateSnapshots) : that.updateSnapshots != null) return false;
return this.useOrgAndGroupNamesInExportPrefix != null ? this.useOrgAndGroupNamesInExportPrefix.equals(that.useOrgAndGroupNamesInExportPrefix) : that.useOrgAndGroupNamesInExportPrefix == null;
}
@Override
public final int hashCode() {
int result = this.clusterName.hashCode();
result = 31 * result + (this.projectId.hashCode());
result = 31 * result + (this.autoExportEnabled != null ? this.autoExportEnabled.hashCode() : 0);
result = 31 * result + (this.copySettings != null ? this.copySettings.hashCode() : 0);
result = 31 * result + (this.deleteCopiedBackups != null ? this.deleteCopiedBackups.hashCode() : 0);
result = 31 * result + (this.export != null ? this.export.hashCode() : 0);
result = 31 * result + (this.id != null ? this.id.hashCode() : 0);
result = 31 * result + (this.links != null ? this.links.hashCode() : 0);
result = 31 * result + (this.policies != null ? this.policies.hashCode() : 0);
result = 31 * result + (this.profile != null ? this.profile.hashCode() : 0);
result = 31 * result + (this.referenceHourOfDay != null ? this.referenceHourOfDay.hashCode() : 0);
result = 31 * result + (this.referenceMinuteOfHour != null ? this.referenceMinuteOfHour.hashCode() : 0);
result = 31 * result + (this.restoreWindowDays != null ? this.restoreWindowDays.hashCode() : 0);
result = 31 * result + (this.updateSnapshots != null ? this.updateSnapshots.hashCode() : 0);
result = 31 * result + (this.useOrgAndGroupNamesInExportPrefix != null ? this.useOrgAndGroupNamesInExportPrefix.hashCode() : 0);
return result;
}
}
}