/* * Copyright 2018-2023 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file except in compliance with * the License. A copy of the License is located at * * http://aws.amazon.com/apache2.0 * * or in the "license" file accompanying this file. This file is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR * CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions * and limitations under the License. */ package com.amazonaws.services.fsx.model; import java.io.Serializable; import javax.annotation.Generated; import com.amazonaws.protocol.StructuredPojo; import com.amazonaws.protocol.ProtocolMarshaller; /** *
* Updates the configuration for an existing Amazon FSx for Windows File Server file system. Amazon FSx only overwrites * existing properties with non-null values provided in the request. *
* * @see AWS API Documentation */ @Generated("com.amazonaws:aws-java-sdk-code-generator") public class UpdateFileSystemWindowsConfiguration implements Serializable, Cloneable, StructuredPojo { /** ** The preferred start time to perform weekly maintenance, formatted d:HH:MM in the UTC time zone. Where d is the * weekday number, from 1 through 7, with 1 = Monday and 7 = Sunday. *
*/ private String weeklyMaintenanceStartTime; /** *
* The preferred time to start the daily automatic backup, in the UTC time zone, for example, 02:00
*
* The number of days to retain automatic backups. Setting this property to 0
disables automatic
* backups. You can retain automatic backups for a maximum of 90 days. The default is 30
. For more
* information, see Working with
* Automatic Daily Backups.
*
* Sets the target value for a file system's throughput capacity, in MB/s, that you are updating the file system to. * Valid values are 8, 16, 32, 64, 128, 256, 512, 1024, 2048. You cannot make a throughput capacity update request * if there is an existing throughput capacity update request in progress. For more information, see Managing Throughput * Capacity. *
*/ private Integer throughputCapacity; /** ** The configuration Amazon FSx uses to join the Windows File Server instance to the self-managed Microsoft AD * directory. You cannot make a self-managed Microsoft AD update request if there is an existing self-managed * Microsoft AD update request in progress. *
*/ private SelfManagedActiveDirectoryConfigurationUpdates selfManagedActiveDirectoryConfiguration; /** ** The configuration that Amazon FSx for Windows File Server uses to audit and log user accesses of files, folders, * and file shares on the Amazon FSx for Windows File Server file system.. *
*/ private WindowsAuditLogCreateConfiguration auditLogConfiguration; /** ** The preferred start time to perform weekly maintenance, formatted d:HH:MM in the UTC time zone. Where d is the * weekday number, from 1 through 7, with 1 = Monday and 7 = Sunday. *
* * @param weeklyMaintenanceStartTime * The preferred start time to perform weekly maintenance, formatted d:HH:MM in the UTC time zone. Where d is * the weekday number, from 1 through 7, with 1 = Monday and 7 = Sunday. */ public void setWeeklyMaintenanceStartTime(String weeklyMaintenanceStartTime) { this.weeklyMaintenanceStartTime = weeklyMaintenanceStartTime; } /** ** The preferred start time to perform weekly maintenance, formatted d:HH:MM in the UTC time zone. Where d is the * weekday number, from 1 through 7, with 1 = Monday and 7 = Sunday. *
* * @return The preferred start time to perform weekly maintenance, formatted d:HH:MM in the UTC time zone. Where d * is the weekday number, from 1 through 7, with 1 = Monday and 7 = Sunday. */ public String getWeeklyMaintenanceStartTime() { return this.weeklyMaintenanceStartTime; } /** ** The preferred start time to perform weekly maintenance, formatted d:HH:MM in the UTC time zone. Where d is the * weekday number, from 1 through 7, with 1 = Monday and 7 = Sunday. *
* * @param weeklyMaintenanceStartTime * The preferred start time to perform weekly maintenance, formatted d:HH:MM in the UTC time zone. Where d is * the weekday number, from 1 through 7, with 1 = Monday and 7 = Sunday. * @return Returns a reference to this object so that method calls can be chained together. */ public UpdateFileSystemWindowsConfiguration withWeeklyMaintenanceStartTime(String weeklyMaintenanceStartTime) { setWeeklyMaintenanceStartTime(weeklyMaintenanceStartTime); return this; } /** *
* The preferred time to start the daily automatic backup, in the UTC time zone, for example, 02:00
*
02:00
*/
public void setDailyAutomaticBackupStartTime(String dailyAutomaticBackupStartTime) {
this.dailyAutomaticBackupStartTime = dailyAutomaticBackupStartTime;
}
/**
*
* The preferred time to start the daily automatic backup, in the UTC time zone, for example, 02:00
*
02:00
*/
public String getDailyAutomaticBackupStartTime() {
return this.dailyAutomaticBackupStartTime;
}
/**
*
* The preferred time to start the daily automatic backup, in the UTC time zone, for example, 02:00
*
02:00
* @return Returns a reference to this object so that method calls can be chained together.
*/
public UpdateFileSystemWindowsConfiguration withDailyAutomaticBackupStartTime(String dailyAutomaticBackupStartTime) {
setDailyAutomaticBackupStartTime(dailyAutomaticBackupStartTime);
return this;
}
/**
*
* The number of days to retain automatic backups. Setting this property to 0
disables automatic
* backups. You can retain automatic backups for a maximum of 90 days. The default is 30
. For more
* information, see Working with
* Automatic Daily Backups.
*
0
disables automatic
* backups. You can retain automatic backups for a maximum of 90 days. The default is 30
. For
* more information, see Working
* with Automatic Daily Backups.
*/
public void setAutomaticBackupRetentionDays(Integer automaticBackupRetentionDays) {
this.automaticBackupRetentionDays = automaticBackupRetentionDays;
}
/**
*
* The number of days to retain automatic backups. Setting this property to 0
disables automatic
* backups. You can retain automatic backups for a maximum of 90 days. The default is 30
. For more
* information, see Working with
* Automatic Daily Backups.
*
0
disables
* automatic backups. You can retain automatic backups for a maximum of 90 days. The default is
* 30
. For more information, see Working
* with Automatic Daily Backups.
*/
public Integer getAutomaticBackupRetentionDays() {
return this.automaticBackupRetentionDays;
}
/**
*
* The number of days to retain automatic backups. Setting this property to 0
disables automatic
* backups. You can retain automatic backups for a maximum of 90 days. The default is 30
. For more
* information, see Working with
* Automatic Daily Backups.
*
0
disables automatic
* backups. You can retain automatic backups for a maximum of 90 days. The default is 30
. For
* more information, see Working
* with Automatic Daily Backups.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public UpdateFileSystemWindowsConfiguration withAutomaticBackupRetentionDays(Integer automaticBackupRetentionDays) {
setAutomaticBackupRetentionDays(automaticBackupRetentionDays);
return this;
}
/**
* * Sets the target value for a file system's throughput capacity, in MB/s, that you are updating the file system to. * Valid values are 8, 16, 32, 64, 128, 256, 512, 1024, 2048. You cannot make a throughput capacity update request * if there is an existing throughput capacity update request in progress. For more information, see Managing Throughput * Capacity. *
* * @param throughputCapacity * Sets the target value for a file system's throughput capacity, in MB/s, that you are updating the file * system to. Valid values are 8, 16, 32, 64, 128, 256, 512, 1024, 2048. You cannot make a throughput * capacity update request if there is an existing throughput capacity update request in progress. For more * information, see Managing * Throughput Capacity. */ public void setThroughputCapacity(Integer throughputCapacity) { this.throughputCapacity = throughputCapacity; } /** ** Sets the target value for a file system's throughput capacity, in MB/s, that you are updating the file system to. * Valid values are 8, 16, 32, 64, 128, 256, 512, 1024, 2048. You cannot make a throughput capacity update request * if there is an existing throughput capacity update request in progress. For more information, see Managing Throughput * Capacity. *
* * @return Sets the target value for a file system's throughput capacity, in MB/s, that you are updating the file * system to. Valid values are 8, 16, 32, 64, 128, 256, 512, 1024, 2048. You cannot make a throughput * capacity update request if there is an existing throughput capacity update request in progress. For more * information, see Managing * Throughput Capacity. */ public Integer getThroughputCapacity() { return this.throughputCapacity; } /** ** Sets the target value for a file system's throughput capacity, in MB/s, that you are updating the file system to. * Valid values are 8, 16, 32, 64, 128, 256, 512, 1024, 2048. You cannot make a throughput capacity update request * if there is an existing throughput capacity update request in progress. For more information, see Managing Throughput * Capacity. *
* * @param throughputCapacity * Sets the target value for a file system's throughput capacity, in MB/s, that you are updating the file * system to. Valid values are 8, 16, 32, 64, 128, 256, 512, 1024, 2048. You cannot make a throughput * capacity update request if there is an existing throughput capacity update request in progress. For more * information, see Managing * Throughput Capacity. * @return Returns a reference to this object so that method calls can be chained together. */ public UpdateFileSystemWindowsConfiguration withThroughputCapacity(Integer throughputCapacity) { setThroughputCapacity(throughputCapacity); return this; } /** ** The configuration Amazon FSx uses to join the Windows File Server instance to the self-managed Microsoft AD * directory. You cannot make a self-managed Microsoft AD update request if there is an existing self-managed * Microsoft AD update request in progress. *
* * @param selfManagedActiveDirectoryConfiguration * The configuration Amazon FSx uses to join the Windows File Server instance to the self-managed Microsoft * AD directory. You cannot make a self-managed Microsoft AD update request if there is an existing * self-managed Microsoft AD update request in progress. */ public void setSelfManagedActiveDirectoryConfiguration(SelfManagedActiveDirectoryConfigurationUpdates selfManagedActiveDirectoryConfiguration) { this.selfManagedActiveDirectoryConfiguration = selfManagedActiveDirectoryConfiguration; } /** ** The configuration Amazon FSx uses to join the Windows File Server instance to the self-managed Microsoft AD * directory. You cannot make a self-managed Microsoft AD update request if there is an existing self-managed * Microsoft AD update request in progress. *
* * @return The configuration Amazon FSx uses to join the Windows File Server instance to the self-managed Microsoft * AD directory. You cannot make a self-managed Microsoft AD update request if there is an existing * self-managed Microsoft AD update request in progress. */ public SelfManagedActiveDirectoryConfigurationUpdates getSelfManagedActiveDirectoryConfiguration() { return this.selfManagedActiveDirectoryConfiguration; } /** ** The configuration Amazon FSx uses to join the Windows File Server instance to the self-managed Microsoft AD * directory. You cannot make a self-managed Microsoft AD update request if there is an existing self-managed * Microsoft AD update request in progress. *
* * @param selfManagedActiveDirectoryConfiguration * The configuration Amazon FSx uses to join the Windows File Server instance to the self-managed Microsoft * AD directory. You cannot make a self-managed Microsoft AD update request if there is an existing * self-managed Microsoft AD update request in progress. * @return Returns a reference to this object so that method calls can be chained together. */ public UpdateFileSystemWindowsConfiguration withSelfManagedActiveDirectoryConfiguration( SelfManagedActiveDirectoryConfigurationUpdates selfManagedActiveDirectoryConfiguration) { setSelfManagedActiveDirectoryConfiguration(selfManagedActiveDirectoryConfiguration); return this; } /** ** The configuration that Amazon FSx for Windows File Server uses to audit and log user accesses of files, folders, * and file shares on the Amazon FSx for Windows File Server file system.. *
* * @param auditLogConfiguration * The configuration that Amazon FSx for Windows File Server uses to audit and log user accesses of files, * folders, and file shares on the Amazon FSx for Windows File Server file system.. */ public void setAuditLogConfiguration(WindowsAuditLogCreateConfiguration auditLogConfiguration) { this.auditLogConfiguration = auditLogConfiguration; } /** ** The configuration that Amazon FSx for Windows File Server uses to audit and log user accesses of files, folders, * and file shares on the Amazon FSx for Windows File Server file system.. *
* * @return The configuration that Amazon FSx for Windows File Server uses to audit and log user accesses of files, * folders, and file shares on the Amazon FSx for Windows File Server file system.. */ public WindowsAuditLogCreateConfiguration getAuditLogConfiguration() { return this.auditLogConfiguration; } /** ** The configuration that Amazon FSx for Windows File Server uses to audit and log user accesses of files, folders, * and file shares on the Amazon FSx for Windows File Server file system.. *
* * @param auditLogConfiguration * The configuration that Amazon FSx for Windows File Server uses to audit and log user accesses of files, * folders, and file shares on the Amazon FSx for Windows File Server file system.. * @return Returns a reference to this object so that method calls can be chained together. */ public UpdateFileSystemWindowsConfiguration withAuditLogConfiguration(WindowsAuditLogCreateConfiguration auditLogConfiguration) { setAuditLogConfiguration(auditLogConfiguration); return this; } /** * Returns a string representation of this object. This is useful for testing and debugging. Sensitive data will be * redacted from this string using a placeholder value. * * @return A string representation of this object. * * @see java.lang.Object#toString() */ @Override public String toString() { StringBuilder sb = new StringBuilder(); sb.append("{"); if (getWeeklyMaintenanceStartTime() != null) sb.append("WeeklyMaintenanceStartTime: ").append(getWeeklyMaintenanceStartTime()).append(","); if (getDailyAutomaticBackupStartTime() != null) sb.append("DailyAutomaticBackupStartTime: ").append(getDailyAutomaticBackupStartTime()).append(","); if (getAutomaticBackupRetentionDays() != null) sb.append("AutomaticBackupRetentionDays: ").append(getAutomaticBackupRetentionDays()).append(","); if (getThroughputCapacity() != null) sb.append("ThroughputCapacity: ").append(getThroughputCapacity()).append(","); if (getSelfManagedActiveDirectoryConfiguration() != null) sb.append("SelfManagedActiveDirectoryConfiguration: ").append(getSelfManagedActiveDirectoryConfiguration()).append(","); if (getAuditLogConfiguration() != null) sb.append("AuditLogConfiguration: ").append(getAuditLogConfiguration()); sb.append("}"); return sb.toString(); } @Override public boolean equals(Object obj) { if (this == obj) return true; if (obj == null) return false; if (obj instanceof UpdateFileSystemWindowsConfiguration == false) return false; UpdateFileSystemWindowsConfiguration other = (UpdateFileSystemWindowsConfiguration) obj; if (other.getWeeklyMaintenanceStartTime() == null ^ this.getWeeklyMaintenanceStartTime() == null) return false; if (other.getWeeklyMaintenanceStartTime() != null && other.getWeeklyMaintenanceStartTime().equals(this.getWeeklyMaintenanceStartTime()) == false) return false; if (other.getDailyAutomaticBackupStartTime() == null ^ this.getDailyAutomaticBackupStartTime() == null) return false; if (other.getDailyAutomaticBackupStartTime() != null && other.getDailyAutomaticBackupStartTime().equals(this.getDailyAutomaticBackupStartTime()) == false) return false; if (other.getAutomaticBackupRetentionDays() == null ^ this.getAutomaticBackupRetentionDays() == null) return false; if (other.getAutomaticBackupRetentionDays() != null && other.getAutomaticBackupRetentionDays().equals(this.getAutomaticBackupRetentionDays()) == false) return false; if (other.getThroughputCapacity() == null ^ this.getThroughputCapacity() == null) return false; if (other.getThroughputCapacity() != null && other.getThroughputCapacity().equals(this.getThroughputCapacity()) == false) return false; if (other.getSelfManagedActiveDirectoryConfiguration() == null ^ this.getSelfManagedActiveDirectoryConfiguration() == null) return false; if (other.getSelfManagedActiveDirectoryConfiguration() != null && other.getSelfManagedActiveDirectoryConfiguration().equals(this.getSelfManagedActiveDirectoryConfiguration()) == false) return false; if (other.getAuditLogConfiguration() == null ^ this.getAuditLogConfiguration() == null) return false; if (other.getAuditLogConfiguration() != null && other.getAuditLogConfiguration().equals(this.getAuditLogConfiguration()) == false) return false; return true; } @Override public int hashCode() { final int prime = 31; int hashCode = 1; hashCode = prime * hashCode + ((getWeeklyMaintenanceStartTime() == null) ? 0 : getWeeklyMaintenanceStartTime().hashCode()); hashCode = prime * hashCode + ((getDailyAutomaticBackupStartTime() == null) ? 0 : getDailyAutomaticBackupStartTime().hashCode()); hashCode = prime * hashCode + ((getAutomaticBackupRetentionDays() == null) ? 0 : getAutomaticBackupRetentionDays().hashCode()); hashCode = prime * hashCode + ((getThroughputCapacity() == null) ? 0 : getThroughputCapacity().hashCode()); hashCode = prime * hashCode + ((getSelfManagedActiveDirectoryConfiguration() == null) ? 0 : getSelfManagedActiveDirectoryConfiguration().hashCode()); hashCode = prime * hashCode + ((getAuditLogConfiguration() == null) ? 0 : getAuditLogConfiguration().hashCode()); return hashCode; } @Override public UpdateFileSystemWindowsConfiguration clone() { try { return (UpdateFileSystemWindowsConfiguration) super.clone(); } catch (CloneNotSupportedException e) { throw new IllegalStateException("Got a CloneNotSupportedException from Object.clone() " + "even though we're Cloneable!", e); } } @com.amazonaws.annotation.SdkInternalApi @Override public void marshall(ProtocolMarshaller protocolMarshaller) { com.amazonaws.services.fsx.model.transform.UpdateFileSystemWindowsConfigurationMarshaller.getInstance().marshall(this, protocolMarshaller); } }