/* * 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.athena.model; import java.io.Serializable; import javax.annotation.Generated; import com.amazonaws.protocol.StructuredPojo; import com.amazonaws.protocol.ProtocolMarshaller; /** *
* The configuration information that will be updated for this workgroup, which includes the location in Amazon S3 where * query and calculation results are stored, the encryption option, if any, used for query results, whether the Amazon * CloudWatch Metrics are enabled for the workgroup, whether the workgroup settings override the client-side settings, * and the data usage limit for the amount of bytes scanned per query, if it is specified. *
* * @see AWS API Documentation */ @Generated("com.amazonaws:aws-java-sdk-code-generator") public class WorkGroupConfigurationUpdates implements Serializable, Cloneable, StructuredPojo { /** ** If set to "true", the settings for the workgroup override client-side settings. If set to "false" client-side * settings are used. For more information, see Workgroup Settings Override * Client-Side Settings. *
*/ private Boolean enforceWorkGroupConfiguration; /** ** The result configuration information about the queries in this workgroup that will be updated. Includes the * updated results location and an updated option for encrypting query results. *
*/ private ResultConfigurationUpdates resultConfigurationUpdates; /** ** Indicates whether this workgroup enables publishing metrics to Amazon CloudWatch. *
*/ private Boolean publishCloudWatchMetricsEnabled; /** ** The upper limit (cutoff) for the amount of bytes a single query in a workgroup is allowed to scan. *
*/ private Long bytesScannedCutoffPerQuery; /** ** Indicates that the data usage control limit per query is removed. * WorkGroupConfiguration$BytesScannedCutoffPerQuery *
*/ private Boolean removeBytesScannedCutoffPerQuery; /** *
* If set to true
, allows members assigned to a workgroup to specify Amazon S3 Requester Pays buckets
* in queries. If set to false
, workgroup members cannot query data from Requester Pays buckets, and
* queries that retrieve data from Requester Pays buckets cause an error. The default is false
. For
* more information about Requester Pays buckets, see Requester Pays Buckets in
* the Amazon Simple Storage Service Developer Guide.
*
* The engine version requested when a workgroup is updated. After the update, all queries on the workgroup run on
* the requested engine version. If no value was previously set, the default is Auto. Queries on the
* AmazonAthenaPreviewFunctionality
workgroup run on the preview engine regardless of this setting.
*
* Removes content encryption configuration from an Apache Spark-enabled Athena workgroup. *
*/ private Boolean removeCustomerContentEncryptionConfiguration; /** ** Contains a user defined string in JSON format for a Spark-enabled workgroup. *
*/ private String additionalConfiguration; /** ** Contains the ARN of the execution role for the workgroup *
*/ private String executionRole; private CustomerContentEncryptionConfiguration customerContentEncryptionConfiguration; /** ** Enforces a minimal level of encryption for the workgroup for query and calculation results that are written to * Amazon S3. When enabled, workgroup users can set encryption only to the minimum level set by the administrator or * higher when they submit queries. This setting does not apply to Spark-enabled workgroups. *
*
* The EnforceWorkGroupConfiguration
setting takes precedence over the
* EnableMinimumEncryptionConfiguration
flag. This means that if
* EnforceWorkGroupConfiguration
is true, the EnableMinimumEncryptionConfiguration
flag is
* ignored, and the workgroup configuration for encryption is used.
*
* If set to "true", the settings for the workgroup override client-side settings. If set to "false" client-side * settings are used. For more information, see Workgroup Settings Override * Client-Side Settings. *
* * @param enforceWorkGroupConfiguration * If set to "true", the settings for the workgroup override client-side settings. If set to "false" * client-side settings are used. For more information, see Workgroup Settings * Override Client-Side Settings. */ public void setEnforceWorkGroupConfiguration(Boolean enforceWorkGroupConfiguration) { this.enforceWorkGroupConfiguration = enforceWorkGroupConfiguration; } /** ** If set to "true", the settings for the workgroup override client-side settings. If set to "false" client-side * settings are used. For more information, see Workgroup Settings Override * Client-Side Settings. *
* * @return If set to "true", the settings for the workgroup override client-side settings. If set to "false" * client-side settings are used. For more information, see Workgroup Settings * Override Client-Side Settings. */ public Boolean getEnforceWorkGroupConfiguration() { return this.enforceWorkGroupConfiguration; } /** ** If set to "true", the settings for the workgroup override client-side settings. If set to "false" client-side * settings are used. For more information, see Workgroup Settings Override * Client-Side Settings. *
* * @param enforceWorkGroupConfiguration * If set to "true", the settings for the workgroup override client-side settings. If set to "false" * client-side settings are used. For more information, see Workgroup Settings * Override Client-Side Settings. * @return Returns a reference to this object so that method calls can be chained together. */ public WorkGroupConfigurationUpdates withEnforceWorkGroupConfiguration(Boolean enforceWorkGroupConfiguration) { setEnforceWorkGroupConfiguration(enforceWorkGroupConfiguration); return this; } /** ** If set to "true", the settings for the workgroup override client-side settings. If set to "false" client-side * settings are used. For more information, see Workgroup Settings Override * Client-Side Settings. *
* * @return If set to "true", the settings for the workgroup override client-side settings. If set to "false" * client-side settings are used. For more information, see Workgroup Settings * Override Client-Side Settings. */ public Boolean isEnforceWorkGroupConfiguration() { return this.enforceWorkGroupConfiguration; } /** ** The result configuration information about the queries in this workgroup that will be updated. Includes the * updated results location and an updated option for encrypting query results. *
* * @param resultConfigurationUpdates * The result configuration information about the queries in this workgroup that will be updated. Includes * the updated results location and an updated option for encrypting query results. */ public void setResultConfigurationUpdates(ResultConfigurationUpdates resultConfigurationUpdates) { this.resultConfigurationUpdates = resultConfigurationUpdates; } /** ** The result configuration information about the queries in this workgroup that will be updated. Includes the * updated results location and an updated option for encrypting query results. *
* * @return The result configuration information about the queries in this workgroup that will be updated. Includes * the updated results location and an updated option for encrypting query results. */ public ResultConfigurationUpdates getResultConfigurationUpdates() { return this.resultConfigurationUpdates; } /** ** The result configuration information about the queries in this workgroup that will be updated. Includes the * updated results location and an updated option for encrypting query results. *
* * @param resultConfigurationUpdates * The result configuration information about the queries in this workgroup that will be updated. Includes * the updated results location and an updated option for encrypting query results. * @return Returns a reference to this object so that method calls can be chained together. */ public WorkGroupConfigurationUpdates withResultConfigurationUpdates(ResultConfigurationUpdates resultConfigurationUpdates) { setResultConfigurationUpdates(resultConfigurationUpdates); return this; } /** ** Indicates whether this workgroup enables publishing metrics to Amazon CloudWatch. *
* * @param publishCloudWatchMetricsEnabled * Indicates whether this workgroup enables publishing metrics to Amazon CloudWatch. */ public void setPublishCloudWatchMetricsEnabled(Boolean publishCloudWatchMetricsEnabled) { this.publishCloudWatchMetricsEnabled = publishCloudWatchMetricsEnabled; } /** ** Indicates whether this workgroup enables publishing metrics to Amazon CloudWatch. *
* * @return Indicates whether this workgroup enables publishing metrics to Amazon CloudWatch. */ public Boolean getPublishCloudWatchMetricsEnabled() { return this.publishCloudWatchMetricsEnabled; } /** ** Indicates whether this workgroup enables publishing metrics to Amazon CloudWatch. *
* * @param publishCloudWatchMetricsEnabled * Indicates whether this workgroup enables publishing metrics to Amazon CloudWatch. * @return Returns a reference to this object so that method calls can be chained together. */ public WorkGroupConfigurationUpdates withPublishCloudWatchMetricsEnabled(Boolean publishCloudWatchMetricsEnabled) { setPublishCloudWatchMetricsEnabled(publishCloudWatchMetricsEnabled); return this; } /** ** Indicates whether this workgroup enables publishing metrics to Amazon CloudWatch. *
* * @return Indicates whether this workgroup enables publishing metrics to Amazon CloudWatch. */ public Boolean isPublishCloudWatchMetricsEnabled() { return this.publishCloudWatchMetricsEnabled; } /** ** The upper limit (cutoff) for the amount of bytes a single query in a workgroup is allowed to scan. *
* * @param bytesScannedCutoffPerQuery * The upper limit (cutoff) for the amount of bytes a single query in a workgroup is allowed to scan. */ public void setBytesScannedCutoffPerQuery(Long bytesScannedCutoffPerQuery) { this.bytesScannedCutoffPerQuery = bytesScannedCutoffPerQuery; } /** ** The upper limit (cutoff) for the amount of bytes a single query in a workgroup is allowed to scan. *
* * @return The upper limit (cutoff) for the amount of bytes a single query in a workgroup is allowed to scan. */ public Long getBytesScannedCutoffPerQuery() { return this.bytesScannedCutoffPerQuery; } /** ** The upper limit (cutoff) for the amount of bytes a single query in a workgroup is allowed to scan. *
* * @param bytesScannedCutoffPerQuery * The upper limit (cutoff) for the amount of bytes a single query in a workgroup is allowed to scan. * @return Returns a reference to this object so that method calls can be chained together. */ public WorkGroupConfigurationUpdates withBytesScannedCutoffPerQuery(Long bytesScannedCutoffPerQuery) { setBytesScannedCutoffPerQuery(bytesScannedCutoffPerQuery); return this; } /** ** Indicates that the data usage control limit per query is removed. * WorkGroupConfiguration$BytesScannedCutoffPerQuery *
* * @param removeBytesScannedCutoffPerQuery * Indicates that the data usage control limit per query is removed. * WorkGroupConfiguration$BytesScannedCutoffPerQuery */ public void setRemoveBytesScannedCutoffPerQuery(Boolean removeBytesScannedCutoffPerQuery) { this.removeBytesScannedCutoffPerQuery = removeBytesScannedCutoffPerQuery; } /** ** Indicates that the data usage control limit per query is removed. * WorkGroupConfiguration$BytesScannedCutoffPerQuery *
* * @return Indicates that the data usage control limit per query is removed. * WorkGroupConfiguration$BytesScannedCutoffPerQuery */ public Boolean getRemoveBytesScannedCutoffPerQuery() { return this.removeBytesScannedCutoffPerQuery; } /** ** Indicates that the data usage control limit per query is removed. * WorkGroupConfiguration$BytesScannedCutoffPerQuery *
* * @param removeBytesScannedCutoffPerQuery * Indicates that the data usage control limit per query is removed. * WorkGroupConfiguration$BytesScannedCutoffPerQuery * @return Returns a reference to this object so that method calls can be chained together. */ public WorkGroupConfigurationUpdates withRemoveBytesScannedCutoffPerQuery(Boolean removeBytesScannedCutoffPerQuery) { setRemoveBytesScannedCutoffPerQuery(removeBytesScannedCutoffPerQuery); return this; } /** ** Indicates that the data usage control limit per query is removed. * WorkGroupConfiguration$BytesScannedCutoffPerQuery *
* * @return Indicates that the data usage control limit per query is removed. * WorkGroupConfiguration$BytesScannedCutoffPerQuery */ public Boolean isRemoveBytesScannedCutoffPerQuery() { return this.removeBytesScannedCutoffPerQuery; } /** *
* If set to true
, allows members assigned to a workgroup to specify Amazon S3 Requester Pays buckets
* in queries. If set to false
, workgroup members cannot query data from Requester Pays buckets, and
* queries that retrieve data from Requester Pays buckets cause an error. The default is false
. For
* more information about Requester Pays buckets, see Requester Pays Buckets in
* the Amazon Simple Storage Service Developer Guide.
*
true
, allows members assigned to a workgroup to specify Amazon S3 Requester Pays
* buckets in queries. If set to false
, workgroup members cannot query data from Requester Pays
* buckets, and queries that retrieve data from Requester Pays buckets cause an error. The default is
* false
. For more information about Requester Pays buckets, see Requester Pays
* Buckets in the Amazon Simple Storage Service Developer Guide.
*/
public void setRequesterPaysEnabled(Boolean requesterPaysEnabled) {
this.requesterPaysEnabled = requesterPaysEnabled;
}
/**
*
* If set to true
, allows members assigned to a workgroup to specify Amazon S3 Requester Pays buckets
* in queries. If set to false
, workgroup members cannot query data from Requester Pays buckets, and
* queries that retrieve data from Requester Pays buckets cause an error. The default is false
. For
* more information about Requester Pays buckets, see Requester Pays Buckets in
* the Amazon Simple Storage Service Developer Guide.
*
true
, allows members assigned to a workgroup to specify Amazon S3 Requester Pays
* buckets in queries. If set to false
, workgroup members cannot query data from Requester Pays
* buckets, and queries that retrieve data from Requester Pays buckets cause an error. The default is
* false
. For more information about Requester Pays buckets, see Requester Pays
* Buckets in the Amazon Simple Storage Service Developer Guide.
*/
public Boolean getRequesterPaysEnabled() {
return this.requesterPaysEnabled;
}
/**
*
* If set to true
, allows members assigned to a workgroup to specify Amazon S3 Requester Pays buckets
* in queries. If set to false
, workgroup members cannot query data from Requester Pays buckets, and
* queries that retrieve data from Requester Pays buckets cause an error. The default is false
. For
* more information about Requester Pays buckets, see Requester Pays Buckets in
* the Amazon Simple Storage Service Developer Guide.
*
true
, allows members assigned to a workgroup to specify Amazon S3 Requester Pays
* buckets in queries. If set to false
, workgroup members cannot query data from Requester Pays
* buckets, and queries that retrieve data from Requester Pays buckets cause an error. The default is
* false
. For more information about Requester Pays buckets, see Requester Pays
* Buckets in the Amazon Simple Storage Service Developer Guide.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public WorkGroupConfigurationUpdates withRequesterPaysEnabled(Boolean requesterPaysEnabled) {
setRequesterPaysEnabled(requesterPaysEnabled);
return this;
}
/**
*
* If set to true
, allows members assigned to a workgroup to specify Amazon S3 Requester Pays buckets
* in queries. If set to false
, workgroup members cannot query data from Requester Pays buckets, and
* queries that retrieve data from Requester Pays buckets cause an error. The default is false
. For
* more information about Requester Pays buckets, see Requester Pays Buckets in
* the Amazon Simple Storage Service Developer Guide.
*
true
, allows members assigned to a workgroup to specify Amazon S3 Requester Pays
* buckets in queries. If set to false
, workgroup members cannot query data from Requester Pays
* buckets, and queries that retrieve data from Requester Pays buckets cause an error. The default is
* false
. For more information about Requester Pays buckets, see Requester Pays
* Buckets in the Amazon Simple Storage Service Developer Guide.
*/
public Boolean isRequesterPaysEnabled() {
return this.requesterPaysEnabled;
}
/**
*
* The engine version requested when a workgroup is updated. After the update, all queries on the workgroup run on
* the requested engine version. If no value was previously set, the default is Auto. Queries on the
* AmazonAthenaPreviewFunctionality
workgroup run on the preview engine regardless of this setting.
*
AmazonAthenaPreviewFunctionality
workgroup run on the preview engine regardless of this
* setting.
*/
public void setEngineVersion(EngineVersion engineVersion) {
this.engineVersion = engineVersion;
}
/**
*
* The engine version requested when a workgroup is updated. After the update, all queries on the workgroup run on
* the requested engine version. If no value was previously set, the default is Auto. Queries on the
* AmazonAthenaPreviewFunctionality
workgroup run on the preview engine regardless of this setting.
*
AmazonAthenaPreviewFunctionality
workgroup run on the preview engine regardless of this
* setting.
*/
public EngineVersion getEngineVersion() {
return this.engineVersion;
}
/**
*
* The engine version requested when a workgroup is updated. After the update, all queries on the workgroup run on
* the requested engine version. If no value was previously set, the default is Auto. Queries on the
* AmazonAthenaPreviewFunctionality
workgroup run on the preview engine regardless of this setting.
*
AmazonAthenaPreviewFunctionality
workgroup run on the preview engine regardless of this
* setting.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public WorkGroupConfigurationUpdates withEngineVersion(EngineVersion engineVersion) {
setEngineVersion(engineVersion);
return this;
}
/**
* * Removes content encryption configuration from an Apache Spark-enabled Athena workgroup. *
* * @param removeCustomerContentEncryptionConfiguration * Removes content encryption configuration from an Apache Spark-enabled Athena workgroup. */ public void setRemoveCustomerContentEncryptionConfiguration(Boolean removeCustomerContentEncryptionConfiguration) { this.removeCustomerContentEncryptionConfiguration = removeCustomerContentEncryptionConfiguration; } /** ** Removes content encryption configuration from an Apache Spark-enabled Athena workgroup. *
* * @return Removes content encryption configuration from an Apache Spark-enabled Athena workgroup. */ public Boolean getRemoveCustomerContentEncryptionConfiguration() { return this.removeCustomerContentEncryptionConfiguration; } /** ** Removes content encryption configuration from an Apache Spark-enabled Athena workgroup. *
* * @param removeCustomerContentEncryptionConfiguration * Removes content encryption configuration from an Apache Spark-enabled Athena workgroup. * @return Returns a reference to this object so that method calls can be chained together. */ public WorkGroupConfigurationUpdates withRemoveCustomerContentEncryptionConfiguration(Boolean removeCustomerContentEncryptionConfiguration) { setRemoveCustomerContentEncryptionConfiguration(removeCustomerContentEncryptionConfiguration); return this; } /** ** Removes content encryption configuration from an Apache Spark-enabled Athena workgroup. *
* * @return Removes content encryption configuration from an Apache Spark-enabled Athena workgroup. */ public Boolean isRemoveCustomerContentEncryptionConfiguration() { return this.removeCustomerContentEncryptionConfiguration; } /** ** Contains a user defined string in JSON format for a Spark-enabled workgroup. *
* * @param additionalConfiguration * Contains a user defined string in JSON format for a Spark-enabled workgroup. */ public void setAdditionalConfiguration(String additionalConfiguration) { this.additionalConfiguration = additionalConfiguration; } /** ** Contains a user defined string in JSON format for a Spark-enabled workgroup. *
* * @return Contains a user defined string in JSON format for a Spark-enabled workgroup. */ public String getAdditionalConfiguration() { return this.additionalConfiguration; } /** ** Contains a user defined string in JSON format for a Spark-enabled workgroup. *
* * @param additionalConfiguration * Contains a user defined string in JSON format for a Spark-enabled workgroup. * @return Returns a reference to this object so that method calls can be chained together. */ public WorkGroupConfigurationUpdates withAdditionalConfiguration(String additionalConfiguration) { setAdditionalConfiguration(additionalConfiguration); return this; } /** ** Contains the ARN of the execution role for the workgroup *
* * @param executionRole * Contains the ARN of the execution role for the workgroup */ public void setExecutionRole(String executionRole) { this.executionRole = executionRole; } /** ** Contains the ARN of the execution role for the workgroup *
* * @return Contains the ARN of the execution role for the workgroup */ public String getExecutionRole() { return this.executionRole; } /** ** Contains the ARN of the execution role for the workgroup *
* * @param executionRole * Contains the ARN of the execution role for the workgroup * @return Returns a reference to this object so that method calls can be chained together. */ public WorkGroupConfigurationUpdates withExecutionRole(String executionRole) { setExecutionRole(executionRole); return this; } /** * @param customerContentEncryptionConfiguration */ public void setCustomerContentEncryptionConfiguration(CustomerContentEncryptionConfiguration customerContentEncryptionConfiguration) { this.customerContentEncryptionConfiguration = customerContentEncryptionConfiguration; } /** * @return */ public CustomerContentEncryptionConfiguration getCustomerContentEncryptionConfiguration() { return this.customerContentEncryptionConfiguration; } /** * @param customerContentEncryptionConfiguration * @return Returns a reference to this object so that method calls can be chained together. */ public WorkGroupConfigurationUpdates withCustomerContentEncryptionConfiguration( CustomerContentEncryptionConfiguration customerContentEncryptionConfiguration) { setCustomerContentEncryptionConfiguration(customerContentEncryptionConfiguration); return this; } /** ** Enforces a minimal level of encryption for the workgroup for query and calculation results that are written to * Amazon S3. When enabled, workgroup users can set encryption only to the minimum level set by the administrator or * higher when they submit queries. This setting does not apply to Spark-enabled workgroups. *
*
* The EnforceWorkGroupConfiguration
setting takes precedence over the
* EnableMinimumEncryptionConfiguration
flag. This means that if
* EnforceWorkGroupConfiguration
is true, the EnableMinimumEncryptionConfiguration
flag is
* ignored, and the workgroup configuration for encryption is used.
*
* The EnforceWorkGroupConfiguration
setting takes precedence over the
* EnableMinimumEncryptionConfiguration
flag. This means that if
* EnforceWorkGroupConfiguration
is true, the EnableMinimumEncryptionConfiguration
* flag is ignored, and the workgroup configuration for encryption is used.
*/
public void setEnableMinimumEncryptionConfiguration(Boolean enableMinimumEncryptionConfiguration) {
this.enableMinimumEncryptionConfiguration = enableMinimumEncryptionConfiguration;
}
/**
*
* Enforces a minimal level of encryption for the workgroup for query and calculation results that are written to * Amazon S3. When enabled, workgroup users can set encryption only to the minimum level set by the administrator or * higher when they submit queries. This setting does not apply to Spark-enabled workgroups. *
*
* The EnforceWorkGroupConfiguration
setting takes precedence over the
* EnableMinimumEncryptionConfiguration
flag. This means that if
* EnforceWorkGroupConfiguration
is true, the EnableMinimumEncryptionConfiguration
flag is
* ignored, and the workgroup configuration for encryption is used.
*
* The EnforceWorkGroupConfiguration
setting takes precedence over the
* EnableMinimumEncryptionConfiguration
flag. This means that if
* EnforceWorkGroupConfiguration
is true, the EnableMinimumEncryptionConfiguration
* flag is ignored, and the workgroup configuration for encryption is used.
*/
public Boolean getEnableMinimumEncryptionConfiguration() {
return this.enableMinimumEncryptionConfiguration;
}
/**
*
* Enforces a minimal level of encryption for the workgroup for query and calculation results that are written to * Amazon S3. When enabled, workgroup users can set encryption only to the minimum level set by the administrator or * higher when they submit queries. This setting does not apply to Spark-enabled workgroups. *
*
* The EnforceWorkGroupConfiguration
setting takes precedence over the
* EnableMinimumEncryptionConfiguration
flag. This means that if
* EnforceWorkGroupConfiguration
is true, the EnableMinimumEncryptionConfiguration
flag is
* ignored, and the workgroup configuration for encryption is used.
*
* The EnforceWorkGroupConfiguration
setting takes precedence over the
* EnableMinimumEncryptionConfiguration
flag. This means that if
* EnforceWorkGroupConfiguration
is true, the EnableMinimumEncryptionConfiguration
* flag is ignored, and the workgroup configuration for encryption is used.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public WorkGroupConfigurationUpdates withEnableMinimumEncryptionConfiguration(Boolean enableMinimumEncryptionConfiguration) {
setEnableMinimumEncryptionConfiguration(enableMinimumEncryptionConfiguration);
return this;
}
/**
*
* Enforces a minimal level of encryption for the workgroup for query and calculation results that are written to * Amazon S3. When enabled, workgroup users can set encryption only to the minimum level set by the administrator or * higher when they submit queries. This setting does not apply to Spark-enabled workgroups. *
*
* The EnforceWorkGroupConfiguration
setting takes precedence over the
* EnableMinimumEncryptionConfiguration
flag. This means that if
* EnforceWorkGroupConfiguration
is true, the EnableMinimumEncryptionConfiguration
flag is
* ignored, and the workgroup configuration for encryption is used.
*
* The EnforceWorkGroupConfiguration
setting takes precedence over the
* EnableMinimumEncryptionConfiguration
flag. This means that if
* EnforceWorkGroupConfiguration
is true, the EnableMinimumEncryptionConfiguration
* flag is ignored, and the workgroup configuration for encryption is used.
*/
public Boolean isEnableMinimumEncryptionConfiguration() {
return this.enableMinimumEncryptionConfiguration;
}
/**
* 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 (getEnforceWorkGroupConfiguration() != null)
sb.append("EnforceWorkGroupConfiguration: ").append(getEnforceWorkGroupConfiguration()).append(",");
if (getResultConfigurationUpdates() != null)
sb.append("ResultConfigurationUpdates: ").append(getResultConfigurationUpdates()).append(",");
if (getPublishCloudWatchMetricsEnabled() != null)
sb.append("PublishCloudWatchMetricsEnabled: ").append(getPublishCloudWatchMetricsEnabled()).append(",");
if (getBytesScannedCutoffPerQuery() != null)
sb.append("BytesScannedCutoffPerQuery: ").append(getBytesScannedCutoffPerQuery()).append(",");
if (getRemoveBytesScannedCutoffPerQuery() != null)
sb.append("RemoveBytesScannedCutoffPerQuery: ").append(getRemoveBytesScannedCutoffPerQuery()).append(",");
if (getRequesterPaysEnabled() != null)
sb.append("RequesterPaysEnabled: ").append(getRequesterPaysEnabled()).append(",");
if (getEngineVersion() != null)
sb.append("EngineVersion: ").append(getEngineVersion()).append(",");
if (getRemoveCustomerContentEncryptionConfiguration() != null)
sb.append("RemoveCustomerContentEncryptionConfiguration: ").append(getRemoveCustomerContentEncryptionConfiguration()).append(",");
if (getAdditionalConfiguration() != null)
sb.append("AdditionalConfiguration: ").append(getAdditionalConfiguration()).append(",");
if (getExecutionRole() != null)
sb.append("ExecutionRole: ").append(getExecutionRole()).append(",");
if (getCustomerContentEncryptionConfiguration() != null)
sb.append("CustomerContentEncryptionConfiguration: ").append(getCustomerContentEncryptionConfiguration()).append(",");
if (getEnableMinimumEncryptionConfiguration() != null)
sb.append("EnableMinimumEncryptionConfiguration: ").append(getEnableMinimumEncryptionConfiguration());
sb.append("}");
return sb.toString();
}
@Override
public boolean equals(Object obj) {
if (this == obj)
return true;
if (obj == null)
return false;
if (obj instanceof WorkGroupConfigurationUpdates == false)
return false;
WorkGroupConfigurationUpdates other = (WorkGroupConfigurationUpdates) obj;
if (other.getEnforceWorkGroupConfiguration() == null ^ this.getEnforceWorkGroupConfiguration() == null)
return false;
if (other.getEnforceWorkGroupConfiguration() != null
&& other.getEnforceWorkGroupConfiguration().equals(this.getEnforceWorkGroupConfiguration()) == false)
return false;
if (other.getResultConfigurationUpdates() == null ^ this.getResultConfigurationUpdates() == null)
return false;
if (other.getResultConfigurationUpdates() != null && other.getResultConfigurationUpdates().equals(this.getResultConfigurationUpdates()) == false)
return false;
if (other.getPublishCloudWatchMetricsEnabled() == null ^ this.getPublishCloudWatchMetricsEnabled() == null)
return false;
if (other.getPublishCloudWatchMetricsEnabled() != null
&& other.getPublishCloudWatchMetricsEnabled().equals(this.getPublishCloudWatchMetricsEnabled()) == false)
return false;
if (other.getBytesScannedCutoffPerQuery() == null ^ this.getBytesScannedCutoffPerQuery() == null)
return false;
if (other.getBytesScannedCutoffPerQuery() != null && other.getBytesScannedCutoffPerQuery().equals(this.getBytesScannedCutoffPerQuery()) == false)
return false;
if (other.getRemoveBytesScannedCutoffPerQuery() == null ^ this.getRemoveBytesScannedCutoffPerQuery() == null)
return false;
if (other.getRemoveBytesScannedCutoffPerQuery() != null
&& other.getRemoveBytesScannedCutoffPerQuery().equals(this.getRemoveBytesScannedCutoffPerQuery()) == false)
return false;
if (other.getRequesterPaysEnabled() == null ^ this.getRequesterPaysEnabled() == null)
return false;
if (other.getRequesterPaysEnabled() != null && other.getRequesterPaysEnabled().equals(this.getRequesterPaysEnabled()) == false)
return false;
if (other.getEngineVersion() == null ^ this.getEngineVersion() == null)
return false;
if (other.getEngineVersion() != null && other.getEngineVersion().equals(this.getEngineVersion()) == false)
return false;
if (other.getRemoveCustomerContentEncryptionConfiguration() == null ^ this.getRemoveCustomerContentEncryptionConfiguration() == null)
return false;
if (other.getRemoveCustomerContentEncryptionConfiguration() != null
&& other.getRemoveCustomerContentEncryptionConfiguration().equals(this.getRemoveCustomerContentEncryptionConfiguration()) == false)
return false;
if (other.getAdditionalConfiguration() == null ^ this.getAdditionalConfiguration() == null)
return false;
if (other.getAdditionalConfiguration() != null && other.getAdditionalConfiguration().equals(this.getAdditionalConfiguration()) == false)
return false;
if (other.getExecutionRole() == null ^ this.getExecutionRole() == null)
return false;
if (other.getExecutionRole() != null && other.getExecutionRole().equals(this.getExecutionRole()) == false)
return false;
if (other.getCustomerContentEncryptionConfiguration() == null ^ this.getCustomerContentEncryptionConfiguration() == null)
return false;
if (other.getCustomerContentEncryptionConfiguration() != null
&& other.getCustomerContentEncryptionConfiguration().equals(this.getCustomerContentEncryptionConfiguration()) == false)
return false;
if (other.getEnableMinimumEncryptionConfiguration() == null ^ this.getEnableMinimumEncryptionConfiguration() == null)
return false;
if (other.getEnableMinimumEncryptionConfiguration() != null
&& other.getEnableMinimumEncryptionConfiguration().equals(this.getEnableMinimumEncryptionConfiguration()) == false)
return false;
return true;
}
@Override
public int hashCode() {
final int prime = 31;
int hashCode = 1;
hashCode = prime * hashCode + ((getEnforceWorkGroupConfiguration() == null) ? 0 : getEnforceWorkGroupConfiguration().hashCode());
hashCode = prime * hashCode + ((getResultConfigurationUpdates() == null) ? 0 : getResultConfigurationUpdates().hashCode());
hashCode = prime * hashCode + ((getPublishCloudWatchMetricsEnabled() == null) ? 0 : getPublishCloudWatchMetricsEnabled().hashCode());
hashCode = prime * hashCode + ((getBytesScannedCutoffPerQuery() == null) ? 0 : getBytesScannedCutoffPerQuery().hashCode());
hashCode = prime * hashCode + ((getRemoveBytesScannedCutoffPerQuery() == null) ? 0 : getRemoveBytesScannedCutoffPerQuery().hashCode());
hashCode = prime * hashCode + ((getRequesterPaysEnabled() == null) ? 0 : getRequesterPaysEnabled().hashCode());
hashCode = prime * hashCode + ((getEngineVersion() == null) ? 0 : getEngineVersion().hashCode());
hashCode = prime * hashCode
+ ((getRemoveCustomerContentEncryptionConfiguration() == null) ? 0 : getRemoveCustomerContentEncryptionConfiguration().hashCode());
hashCode = prime * hashCode + ((getAdditionalConfiguration() == null) ? 0 : getAdditionalConfiguration().hashCode());
hashCode = prime * hashCode + ((getExecutionRole() == null) ? 0 : getExecutionRole().hashCode());
hashCode = prime * hashCode + ((getCustomerContentEncryptionConfiguration() == null) ? 0 : getCustomerContentEncryptionConfiguration().hashCode());
hashCode = prime * hashCode + ((getEnableMinimumEncryptionConfiguration() == null) ? 0 : getEnableMinimumEncryptionConfiguration().hashCode());
return hashCode;
}
@Override
public WorkGroupConfigurationUpdates clone() {
try {
return (WorkGroupConfigurationUpdates) 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.athena.model.transform.WorkGroupConfigurationUpdatesMarshaller.getInstance().marshall(this, protocolMarshaller);
}
}