com.amazonaws.services.workspaces.model.DefaultWorkspaceCreationProperties Maven / Gradle / Ivy
Show all versions of aws-java-sdk-workspaces Show documentation
/*
* Copyright 2019-2024 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.workspaces.model;
import java.io.Serializable;
import javax.annotation.Generated;
import com.amazonaws.protocol.StructuredPojo;
import com.amazonaws.protocol.ProtocolMarshaller;
/**
*
* Describes the default values that are used to create WorkSpaces. For more information, see Update Directory
* Details for Your WorkSpaces.
*
*
* @see AWS API Documentation
*/
@Generated("com.amazonaws:aws-java-sdk-code-generator")
public class DefaultWorkspaceCreationProperties implements Serializable, Cloneable, StructuredPojo {
/**
*
* Specifies whether the directory is enabled for Amazon WorkDocs.
*
*/
private Boolean enableWorkDocs;
/**
*
* Specifies whether to automatically assign an Elastic public IP address to WorkSpaces in this directory by
* default. If enabled, the Elastic public IP address allows outbound internet access from your WorkSpaces when
* you’re using an internet gateway in the Amazon VPC in which your WorkSpaces are located. If you're using a
* Network Address Translation (NAT) gateway for outbound internet access from your VPC, or if your WorkSpaces are
* in public subnets and you manually assign them Elastic IP addresses, you should disable this setting. This
* setting applies to new WorkSpaces that you launch or to existing WorkSpaces that you rebuild. For more
* information, see
* Configure a VPC for Amazon WorkSpaces.
*
*/
private Boolean enableInternetAccess;
/**
*
* The organizational unit (OU) in the directory for the WorkSpace machine accounts.
*
*/
private String defaultOu;
/**
*
* The identifier of the default security group to apply to WorkSpaces when they are created. For more information,
* see
* Security Groups for Your WorkSpaces.
*
*/
private String customSecurityGroupId;
/**
*
* Specifies whether WorkSpace users are local administrators on their WorkSpaces.
*
*/
private Boolean userEnabledAsLocalAdministrator;
/**
*
* Specifies whether maintenance mode is enabled for WorkSpaces. For more information, see WorkSpace
* Maintenance.
*
*/
private Boolean enableMaintenanceMode;
/**
*
* Indicates the IAM role ARN of the instance.
*
*/
private String instanceIamRoleArn;
/**
*
* Specifies whether the directory is enabled for Amazon WorkDocs.
*
*
* @param enableWorkDocs
* Specifies whether the directory is enabled for Amazon WorkDocs.
*/
public void setEnableWorkDocs(Boolean enableWorkDocs) {
this.enableWorkDocs = enableWorkDocs;
}
/**
*
* Specifies whether the directory is enabled for Amazon WorkDocs.
*
*
* @return Specifies whether the directory is enabled for Amazon WorkDocs.
*/
public Boolean getEnableWorkDocs() {
return this.enableWorkDocs;
}
/**
*
* Specifies whether the directory is enabled for Amazon WorkDocs.
*
*
* @param enableWorkDocs
* Specifies whether the directory is enabled for Amazon WorkDocs.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public DefaultWorkspaceCreationProperties withEnableWorkDocs(Boolean enableWorkDocs) {
setEnableWorkDocs(enableWorkDocs);
return this;
}
/**
*
* Specifies whether the directory is enabled for Amazon WorkDocs.
*
*
* @return Specifies whether the directory is enabled for Amazon WorkDocs.
*/
public Boolean isEnableWorkDocs() {
return this.enableWorkDocs;
}
/**
*
* Specifies whether to automatically assign an Elastic public IP address to WorkSpaces in this directory by
* default. If enabled, the Elastic public IP address allows outbound internet access from your WorkSpaces when
* you’re using an internet gateway in the Amazon VPC in which your WorkSpaces are located. If you're using a
* Network Address Translation (NAT) gateway for outbound internet access from your VPC, or if your WorkSpaces are
* in public subnets and you manually assign them Elastic IP addresses, you should disable this setting. This
* setting applies to new WorkSpaces that you launch or to existing WorkSpaces that you rebuild. For more
* information, see
* Configure a VPC for Amazon WorkSpaces.
*
*
* @param enableInternetAccess
* Specifies whether to automatically assign an Elastic public IP address to WorkSpaces in this directory by
* default. If enabled, the Elastic public IP address allows outbound internet access from your WorkSpaces
* when you’re using an internet gateway in the Amazon VPC in which your WorkSpaces are located. If you're
* using a Network Address Translation (NAT) gateway for outbound internet access from your VPC, or if your
* WorkSpaces are in public subnets and you manually assign them Elastic IP addresses, you should disable
* this setting. This setting applies to new WorkSpaces that you launch or to existing WorkSpaces that you
* rebuild. For more information, see Configure a
* VPC for Amazon WorkSpaces.
*/
public void setEnableInternetAccess(Boolean enableInternetAccess) {
this.enableInternetAccess = enableInternetAccess;
}
/**
*
* Specifies whether to automatically assign an Elastic public IP address to WorkSpaces in this directory by
* default. If enabled, the Elastic public IP address allows outbound internet access from your WorkSpaces when
* you’re using an internet gateway in the Amazon VPC in which your WorkSpaces are located. If you're using a
* Network Address Translation (NAT) gateway for outbound internet access from your VPC, or if your WorkSpaces are
* in public subnets and you manually assign them Elastic IP addresses, you should disable this setting. This
* setting applies to new WorkSpaces that you launch or to existing WorkSpaces that you rebuild. For more
* information, see
* Configure a VPC for Amazon WorkSpaces.
*
*
* @return Specifies whether to automatically assign an Elastic public IP address to WorkSpaces in this directory by
* default. If enabled, the Elastic public IP address allows outbound internet access from your WorkSpaces
* when you’re using an internet gateway in the Amazon VPC in which your WorkSpaces are located. If you're
* using a Network Address Translation (NAT) gateway for outbound internet access from your VPC, or if your
* WorkSpaces are in public subnets and you manually assign them Elastic IP addresses, you should disable
* this setting. This setting applies to new WorkSpaces that you launch or to existing WorkSpaces that you
* rebuild. For more information, see Configure a
* VPC for Amazon WorkSpaces.
*/
public Boolean getEnableInternetAccess() {
return this.enableInternetAccess;
}
/**
*
* Specifies whether to automatically assign an Elastic public IP address to WorkSpaces in this directory by
* default. If enabled, the Elastic public IP address allows outbound internet access from your WorkSpaces when
* you’re using an internet gateway in the Amazon VPC in which your WorkSpaces are located. If you're using a
* Network Address Translation (NAT) gateway for outbound internet access from your VPC, or if your WorkSpaces are
* in public subnets and you manually assign them Elastic IP addresses, you should disable this setting. This
* setting applies to new WorkSpaces that you launch or to existing WorkSpaces that you rebuild. For more
* information, see
* Configure a VPC for Amazon WorkSpaces.
*
*
* @param enableInternetAccess
* Specifies whether to automatically assign an Elastic public IP address to WorkSpaces in this directory by
* default. If enabled, the Elastic public IP address allows outbound internet access from your WorkSpaces
* when you’re using an internet gateway in the Amazon VPC in which your WorkSpaces are located. If you're
* using a Network Address Translation (NAT) gateway for outbound internet access from your VPC, or if your
* WorkSpaces are in public subnets and you manually assign them Elastic IP addresses, you should disable
* this setting. This setting applies to new WorkSpaces that you launch or to existing WorkSpaces that you
* rebuild. For more information, see Configure a
* VPC for Amazon WorkSpaces.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public DefaultWorkspaceCreationProperties withEnableInternetAccess(Boolean enableInternetAccess) {
setEnableInternetAccess(enableInternetAccess);
return this;
}
/**
*
* Specifies whether to automatically assign an Elastic public IP address to WorkSpaces in this directory by
* default. If enabled, the Elastic public IP address allows outbound internet access from your WorkSpaces when
* you’re using an internet gateway in the Amazon VPC in which your WorkSpaces are located. If you're using a
* Network Address Translation (NAT) gateway for outbound internet access from your VPC, or if your WorkSpaces are
* in public subnets and you manually assign them Elastic IP addresses, you should disable this setting. This
* setting applies to new WorkSpaces that you launch or to existing WorkSpaces that you rebuild. For more
* information, see
* Configure a VPC for Amazon WorkSpaces.
*
*
* @return Specifies whether to automatically assign an Elastic public IP address to WorkSpaces in this directory by
* default. If enabled, the Elastic public IP address allows outbound internet access from your WorkSpaces
* when you’re using an internet gateway in the Amazon VPC in which your WorkSpaces are located. If you're
* using a Network Address Translation (NAT) gateway for outbound internet access from your VPC, or if your
* WorkSpaces are in public subnets and you manually assign them Elastic IP addresses, you should disable
* this setting. This setting applies to new WorkSpaces that you launch or to existing WorkSpaces that you
* rebuild. For more information, see Configure a
* VPC for Amazon WorkSpaces.
*/
public Boolean isEnableInternetAccess() {
return this.enableInternetAccess;
}
/**
*
* The organizational unit (OU) in the directory for the WorkSpace machine accounts.
*
*
* @param defaultOu
* The organizational unit (OU) in the directory for the WorkSpace machine accounts.
*/
public void setDefaultOu(String defaultOu) {
this.defaultOu = defaultOu;
}
/**
*
* The organizational unit (OU) in the directory for the WorkSpace machine accounts.
*
*
* @return The organizational unit (OU) in the directory for the WorkSpace machine accounts.
*/
public String getDefaultOu() {
return this.defaultOu;
}
/**
*
* The organizational unit (OU) in the directory for the WorkSpace machine accounts.
*
*
* @param defaultOu
* The organizational unit (OU) in the directory for the WorkSpace machine accounts.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public DefaultWorkspaceCreationProperties withDefaultOu(String defaultOu) {
setDefaultOu(defaultOu);
return this;
}
/**
*
* The identifier of the default security group to apply to WorkSpaces when they are created. For more information,
* see
* Security Groups for Your WorkSpaces.
*
*
* @param customSecurityGroupId
* The identifier of the default security group to apply to WorkSpaces when they are created. For more
* information, see
* Security Groups for Your WorkSpaces.
*/
public void setCustomSecurityGroupId(String customSecurityGroupId) {
this.customSecurityGroupId = customSecurityGroupId;
}
/**
*
* The identifier of the default security group to apply to WorkSpaces when they are created. For more information,
* see
* Security Groups for Your WorkSpaces.
*
*
* @return The identifier of the default security group to apply to WorkSpaces when they are created. For more
* information, see
* Security Groups for Your WorkSpaces.
*/
public String getCustomSecurityGroupId() {
return this.customSecurityGroupId;
}
/**
*
* The identifier of the default security group to apply to WorkSpaces when they are created. For more information,
* see
* Security Groups for Your WorkSpaces.
*
*
* @param customSecurityGroupId
* The identifier of the default security group to apply to WorkSpaces when they are created. For more
* information, see
* Security Groups for Your WorkSpaces.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public DefaultWorkspaceCreationProperties withCustomSecurityGroupId(String customSecurityGroupId) {
setCustomSecurityGroupId(customSecurityGroupId);
return this;
}
/**
*
* Specifies whether WorkSpace users are local administrators on their WorkSpaces.
*
*
* @param userEnabledAsLocalAdministrator
* Specifies whether WorkSpace users are local administrators on their WorkSpaces.
*/
public void setUserEnabledAsLocalAdministrator(Boolean userEnabledAsLocalAdministrator) {
this.userEnabledAsLocalAdministrator = userEnabledAsLocalAdministrator;
}
/**
*
* Specifies whether WorkSpace users are local administrators on their WorkSpaces.
*
*
* @return Specifies whether WorkSpace users are local administrators on their WorkSpaces.
*/
public Boolean getUserEnabledAsLocalAdministrator() {
return this.userEnabledAsLocalAdministrator;
}
/**
*
* Specifies whether WorkSpace users are local administrators on their WorkSpaces.
*
*
* @param userEnabledAsLocalAdministrator
* Specifies whether WorkSpace users are local administrators on their WorkSpaces.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public DefaultWorkspaceCreationProperties withUserEnabledAsLocalAdministrator(Boolean userEnabledAsLocalAdministrator) {
setUserEnabledAsLocalAdministrator(userEnabledAsLocalAdministrator);
return this;
}
/**
*
* Specifies whether WorkSpace users are local administrators on their WorkSpaces.
*
*
* @return Specifies whether WorkSpace users are local administrators on their WorkSpaces.
*/
public Boolean isUserEnabledAsLocalAdministrator() {
return this.userEnabledAsLocalAdministrator;
}
/**
*
* Specifies whether maintenance mode is enabled for WorkSpaces. For more information, see WorkSpace
* Maintenance.
*
*
* @param enableMaintenanceMode
* Specifies whether maintenance mode is enabled for WorkSpaces. For more information, see WorkSpace
* Maintenance.
*/
public void setEnableMaintenanceMode(Boolean enableMaintenanceMode) {
this.enableMaintenanceMode = enableMaintenanceMode;
}
/**
*
* Specifies whether maintenance mode is enabled for WorkSpaces. For more information, see WorkSpace
* Maintenance.
*
*
* @return Specifies whether maintenance mode is enabled for WorkSpaces. For more information, see WorkSpace
* Maintenance.
*/
public Boolean getEnableMaintenanceMode() {
return this.enableMaintenanceMode;
}
/**
*
* Specifies whether maintenance mode is enabled for WorkSpaces. For more information, see WorkSpace
* Maintenance.
*
*
* @param enableMaintenanceMode
* Specifies whether maintenance mode is enabled for WorkSpaces. For more information, see WorkSpace
* Maintenance.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public DefaultWorkspaceCreationProperties withEnableMaintenanceMode(Boolean enableMaintenanceMode) {
setEnableMaintenanceMode(enableMaintenanceMode);
return this;
}
/**
*
* Specifies whether maintenance mode is enabled for WorkSpaces. For more information, see WorkSpace
* Maintenance.
*
*
* @return Specifies whether maintenance mode is enabled for WorkSpaces. For more information, see WorkSpace
* Maintenance.
*/
public Boolean isEnableMaintenanceMode() {
return this.enableMaintenanceMode;
}
/**
*
* Indicates the IAM role ARN of the instance.
*
*
* @param instanceIamRoleArn
* Indicates the IAM role ARN of the instance.
*/
public void setInstanceIamRoleArn(String instanceIamRoleArn) {
this.instanceIamRoleArn = instanceIamRoleArn;
}
/**
*
* Indicates the IAM role ARN of the instance.
*
*
* @return Indicates the IAM role ARN of the instance.
*/
public String getInstanceIamRoleArn() {
return this.instanceIamRoleArn;
}
/**
*
* Indicates the IAM role ARN of the instance.
*
*
* @param instanceIamRoleArn
* Indicates the IAM role ARN of the instance.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public DefaultWorkspaceCreationProperties withInstanceIamRoleArn(String instanceIamRoleArn) {
setInstanceIamRoleArn(instanceIamRoleArn);
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 (getEnableWorkDocs() != null)
sb.append("EnableWorkDocs: ").append(getEnableWorkDocs()).append(",");
if (getEnableInternetAccess() != null)
sb.append("EnableInternetAccess: ").append(getEnableInternetAccess()).append(",");
if (getDefaultOu() != null)
sb.append("DefaultOu: ").append(getDefaultOu()).append(",");
if (getCustomSecurityGroupId() != null)
sb.append("CustomSecurityGroupId: ").append(getCustomSecurityGroupId()).append(",");
if (getUserEnabledAsLocalAdministrator() != null)
sb.append("UserEnabledAsLocalAdministrator: ").append(getUserEnabledAsLocalAdministrator()).append(",");
if (getEnableMaintenanceMode() != null)
sb.append("EnableMaintenanceMode: ").append(getEnableMaintenanceMode()).append(",");
if (getInstanceIamRoleArn() != null)
sb.append("InstanceIamRoleArn: ").append(getInstanceIamRoleArn());
sb.append("}");
return sb.toString();
}
@Override
public boolean equals(Object obj) {
if (this == obj)
return true;
if (obj == null)
return false;
if (obj instanceof DefaultWorkspaceCreationProperties == false)
return false;
DefaultWorkspaceCreationProperties other = (DefaultWorkspaceCreationProperties) obj;
if (other.getEnableWorkDocs() == null ^ this.getEnableWorkDocs() == null)
return false;
if (other.getEnableWorkDocs() != null && other.getEnableWorkDocs().equals(this.getEnableWorkDocs()) == false)
return false;
if (other.getEnableInternetAccess() == null ^ this.getEnableInternetAccess() == null)
return false;
if (other.getEnableInternetAccess() != null && other.getEnableInternetAccess().equals(this.getEnableInternetAccess()) == false)
return false;
if (other.getDefaultOu() == null ^ this.getDefaultOu() == null)
return false;
if (other.getDefaultOu() != null && other.getDefaultOu().equals(this.getDefaultOu()) == false)
return false;
if (other.getCustomSecurityGroupId() == null ^ this.getCustomSecurityGroupId() == null)
return false;
if (other.getCustomSecurityGroupId() != null && other.getCustomSecurityGroupId().equals(this.getCustomSecurityGroupId()) == false)
return false;
if (other.getUserEnabledAsLocalAdministrator() == null ^ this.getUserEnabledAsLocalAdministrator() == null)
return false;
if (other.getUserEnabledAsLocalAdministrator() != null
&& other.getUserEnabledAsLocalAdministrator().equals(this.getUserEnabledAsLocalAdministrator()) == false)
return false;
if (other.getEnableMaintenanceMode() == null ^ this.getEnableMaintenanceMode() == null)
return false;
if (other.getEnableMaintenanceMode() != null && other.getEnableMaintenanceMode().equals(this.getEnableMaintenanceMode()) == false)
return false;
if (other.getInstanceIamRoleArn() == null ^ this.getInstanceIamRoleArn() == null)
return false;
if (other.getInstanceIamRoleArn() != null && other.getInstanceIamRoleArn().equals(this.getInstanceIamRoleArn()) == false)
return false;
return true;
}
@Override
public int hashCode() {
final int prime = 31;
int hashCode = 1;
hashCode = prime * hashCode + ((getEnableWorkDocs() == null) ? 0 : getEnableWorkDocs().hashCode());
hashCode = prime * hashCode + ((getEnableInternetAccess() == null) ? 0 : getEnableInternetAccess().hashCode());
hashCode = prime * hashCode + ((getDefaultOu() == null) ? 0 : getDefaultOu().hashCode());
hashCode = prime * hashCode + ((getCustomSecurityGroupId() == null) ? 0 : getCustomSecurityGroupId().hashCode());
hashCode = prime * hashCode + ((getUserEnabledAsLocalAdministrator() == null) ? 0 : getUserEnabledAsLocalAdministrator().hashCode());
hashCode = prime * hashCode + ((getEnableMaintenanceMode() == null) ? 0 : getEnableMaintenanceMode().hashCode());
hashCode = prime * hashCode + ((getInstanceIamRoleArn() == null) ? 0 : getInstanceIamRoleArn().hashCode());
return hashCode;
}
@Override
public DefaultWorkspaceCreationProperties clone() {
try {
return (DefaultWorkspaceCreationProperties) 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.workspaces.model.transform.DefaultWorkspaceCreationPropertiesMarshaller.getInstance().marshall(this, protocolMarshaller);
}
}