/* * 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.iotsitewise.model; import java.io.Serializable; import javax.annotation.Generated; import com.amazonaws.AmazonWebServiceRequest; /** * * @see AWS API Documentation */ @Generated("com.amazonaws:aws-java-sdk-code-generator") public class PutStorageConfigurationRequest extends com.amazonaws.AmazonWebServiceRequest implements Serializable, Cloneable { /** *
* The storage tier that you specified for your data. The storageType
parameter can be one of the
* following values:
*
* SITEWISE_DEFAULT_STORAGE
– IoT SiteWise saves your data into the hot tier. The hot tier is a
* service-managed database.
*
* MULTI_LAYER_STORAGE
– IoT SiteWise saves your data in both the cold tier and the hot tier. The cold
* tier is a customer-managed Amazon S3 bucket.
*
* Identifies a storage destination. If you specified MULTI_LAYER_STORAGE
for the storage type, you
* must specify a MultiLayerStorage
object.
*
* Contains the storage configuration for time series (data streams) that aren't associated with asset properties.
* The disassociatedDataStorage
can be one of the following values:
*
* ENABLED
– IoT SiteWise accepts time series that aren't associated with asset properties.
*
* After the disassociatedDataStorage
is enabled, you can't disable it.
*
* DISABLED
– IoT SiteWise doesn't accept time series (data streams) that aren't associated with asset
* properties.
*
* For more information, see Data streams in the IoT * SiteWise User Guide. *
*/ private String disassociatedDataStorage; private RetentionPeriod retentionPeriod; /** *
* The storage tier that you specified for your data. The storageType
parameter can be one of the
* following values:
*
* SITEWISE_DEFAULT_STORAGE
– IoT SiteWise saves your data into the hot tier. The hot tier is a
* service-managed database.
*
* MULTI_LAYER_STORAGE
– IoT SiteWise saves your data in both the cold tier and the hot tier. The cold
* tier is a customer-managed Amazon S3 bucket.
*
storageType
parameter can be one of
* the following values:
*
* SITEWISE_DEFAULT_STORAGE
– IoT SiteWise saves your data into the hot tier. The hot tier is a
* service-managed database.
*
* MULTI_LAYER_STORAGE
– IoT SiteWise saves your data in both the cold tier and the hot tier.
* The cold tier is a customer-managed Amazon S3 bucket.
*
* The storage tier that you specified for your data. The storageType
parameter can be one of the
* following values:
*
* SITEWISE_DEFAULT_STORAGE
– IoT SiteWise saves your data into the hot tier. The hot tier is a
* service-managed database.
*
* MULTI_LAYER_STORAGE
– IoT SiteWise saves your data in both the cold tier and the hot tier. The cold
* tier is a customer-managed Amazon S3 bucket.
*
storageType
parameter can be one of
* the following values:
*
* SITEWISE_DEFAULT_STORAGE
– IoT SiteWise saves your data into the hot tier. The hot tier is a
* service-managed database.
*
* MULTI_LAYER_STORAGE
– IoT SiteWise saves your data in both the cold tier and the hot tier.
* The cold tier is a customer-managed Amazon S3 bucket.
*
* The storage tier that you specified for your data. The storageType
parameter can be one of the
* following values:
*
* SITEWISE_DEFAULT_STORAGE
– IoT SiteWise saves your data into the hot tier. The hot tier is a
* service-managed database.
*
* MULTI_LAYER_STORAGE
– IoT SiteWise saves your data in both the cold tier and the hot tier. The cold
* tier is a customer-managed Amazon S3 bucket.
*
storageType
parameter can be one of
* the following values:
*
* SITEWISE_DEFAULT_STORAGE
– IoT SiteWise saves your data into the hot tier. The hot tier is a
* service-managed database.
*
* MULTI_LAYER_STORAGE
– IoT SiteWise saves your data in both the cold tier and the hot tier.
* The cold tier is a customer-managed Amazon S3 bucket.
*
* The storage tier that you specified for your data. The storageType
parameter can be one of the
* following values:
*
* SITEWISE_DEFAULT_STORAGE
– IoT SiteWise saves your data into the hot tier. The hot tier is a
* service-managed database.
*
* MULTI_LAYER_STORAGE
– IoT SiteWise saves your data in both the cold tier and the hot tier. The cold
* tier is a customer-managed Amazon S3 bucket.
*
storageType
parameter can be one of
* the following values:
*
* SITEWISE_DEFAULT_STORAGE
– IoT SiteWise saves your data into the hot tier. The hot tier is a
* service-managed database.
*
* MULTI_LAYER_STORAGE
– IoT SiteWise saves your data in both the cold tier and the hot tier.
* The cold tier is a customer-managed Amazon S3 bucket.
*
* Identifies a storage destination. If you specified MULTI_LAYER_STORAGE
for the storage type, you
* must specify a MultiLayerStorage
object.
*
MULTI_LAYER_STORAGE
for the storage type,
* you must specify a MultiLayerStorage
object.
*/
public void setMultiLayerStorage(MultiLayerStorage multiLayerStorage) {
this.multiLayerStorage = multiLayerStorage;
}
/**
*
* Identifies a storage destination. If you specified MULTI_LAYER_STORAGE
for the storage type, you
* must specify a MultiLayerStorage
object.
*
MULTI_LAYER_STORAGE
for the storage type,
* you must specify a MultiLayerStorage
object.
*/
public MultiLayerStorage getMultiLayerStorage() {
return this.multiLayerStorage;
}
/**
*
* Identifies a storage destination. If you specified MULTI_LAYER_STORAGE
for the storage type, you
* must specify a MultiLayerStorage
object.
*
MULTI_LAYER_STORAGE
for the storage type,
* you must specify a MultiLayerStorage
object.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public PutStorageConfigurationRequest withMultiLayerStorage(MultiLayerStorage multiLayerStorage) {
setMultiLayerStorage(multiLayerStorage);
return this;
}
/**
*
* Contains the storage configuration for time series (data streams) that aren't associated with asset properties.
* The disassociatedDataStorage
can be one of the following values:
*
* ENABLED
– IoT SiteWise accepts time series that aren't associated with asset properties.
*
* After the disassociatedDataStorage
is enabled, you can't disable it.
*
* DISABLED
– IoT SiteWise doesn't accept time series (data streams) that aren't associated with asset
* properties.
*
* For more information, see Data streams in the IoT * SiteWise User Guide. *
* * @param disassociatedDataStorage * Contains the storage configuration for time series (data streams) that aren't associated with asset * properties. ThedisassociatedDataStorage
can be one of the following values:
*
* ENABLED
– IoT SiteWise accepts time series that aren't associated with asset properties.
*
* After the disassociatedDataStorage
is enabled, you can't disable it.
*
* DISABLED
– IoT SiteWise doesn't accept time series (data streams) that aren't associated with
* asset properties.
*
* For more information, see Data streams in the * IoT SiteWise User Guide. * @see DisassociatedDataStorageState */ public void setDisassociatedDataStorage(String disassociatedDataStorage) { this.disassociatedDataStorage = disassociatedDataStorage; } /** *
* Contains the storage configuration for time series (data streams) that aren't associated with asset properties.
* The disassociatedDataStorage
can be one of the following values:
*
* ENABLED
– IoT SiteWise accepts time series that aren't associated with asset properties.
*
* After the disassociatedDataStorage
is enabled, you can't disable it.
*
* DISABLED
– IoT SiteWise doesn't accept time series (data streams) that aren't associated with asset
* properties.
*
* For more information, see Data streams in the IoT * SiteWise User Guide. *
* * @return Contains the storage configuration for time series (data streams) that aren't associated with asset * properties. ThedisassociatedDataStorage
can be one of the following values:
*
* ENABLED
– IoT SiteWise accepts time series that aren't associated with asset properties.
*
* After the disassociatedDataStorage
is enabled, you can't disable it.
*
* DISABLED
– IoT SiteWise doesn't accept time series (data streams) that aren't associated
* with asset properties.
*
* For more information, see Data streams in * the IoT SiteWise User Guide. * @see DisassociatedDataStorageState */ public String getDisassociatedDataStorage() { return this.disassociatedDataStorage; } /** *
* Contains the storage configuration for time series (data streams) that aren't associated with asset properties.
* The disassociatedDataStorage
can be one of the following values:
*
* ENABLED
– IoT SiteWise accepts time series that aren't associated with asset properties.
*
* After the disassociatedDataStorage
is enabled, you can't disable it.
*
* DISABLED
– IoT SiteWise doesn't accept time series (data streams) that aren't associated with asset
* properties.
*
* For more information, see Data streams in the IoT * SiteWise User Guide. *
* * @param disassociatedDataStorage * Contains the storage configuration for time series (data streams) that aren't associated with asset * properties. ThedisassociatedDataStorage
can be one of the following values:
*
* ENABLED
– IoT SiteWise accepts time series that aren't associated with asset properties.
*
* After the disassociatedDataStorage
is enabled, you can't disable it.
*
* DISABLED
– IoT SiteWise doesn't accept time series (data streams) that aren't associated with
* asset properties.
*
* For more information, see Data streams in the * IoT SiteWise User Guide. * @return Returns a reference to this object so that method calls can be chained together. * @see DisassociatedDataStorageState */ public PutStorageConfigurationRequest withDisassociatedDataStorage(String disassociatedDataStorage) { setDisassociatedDataStorage(disassociatedDataStorage); return this; } /** *
* Contains the storage configuration for time series (data streams) that aren't associated with asset properties.
* The disassociatedDataStorage
can be one of the following values:
*
* ENABLED
– IoT SiteWise accepts time series that aren't associated with asset properties.
*
* After the disassociatedDataStorage
is enabled, you can't disable it.
*
* DISABLED
– IoT SiteWise doesn't accept time series (data streams) that aren't associated with asset
* properties.
*
* For more information, see Data streams in the IoT * SiteWise User Guide. *
* * @param disassociatedDataStorage * Contains the storage configuration for time series (data streams) that aren't associated with asset * properties. ThedisassociatedDataStorage
can be one of the following values:
*
* ENABLED
– IoT SiteWise accepts time series that aren't associated with asset properties.
*
* After the disassociatedDataStorage
is enabled, you can't disable it.
*
* DISABLED
– IoT SiteWise doesn't accept time series (data streams) that aren't associated with
* asset properties.
*
* For more information, see Data streams in the * IoT SiteWise User Guide. * @return Returns a reference to this object so that method calls can be chained together. * @see DisassociatedDataStorageState */ public PutStorageConfigurationRequest withDisassociatedDataStorage(DisassociatedDataStorageState disassociatedDataStorage) { this.disassociatedDataStorage = disassociatedDataStorage.toString(); return this; } /** * @param retentionPeriod */ public void setRetentionPeriod(RetentionPeriod retentionPeriod) { this.retentionPeriod = retentionPeriod; } /** * @return */ public RetentionPeriod getRetentionPeriod() { return this.retentionPeriod; } /** * @param retentionPeriod * @return Returns a reference to this object so that method calls can be chained together. */ public PutStorageConfigurationRequest withRetentionPeriod(RetentionPeriod retentionPeriod) { setRetentionPeriod(retentionPeriod); 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 (getStorageType() != null) sb.append("StorageType: ").append(getStorageType()).append(","); if (getMultiLayerStorage() != null) sb.append("MultiLayerStorage: ").append(getMultiLayerStorage()).append(","); if (getDisassociatedDataStorage() != null) sb.append("DisassociatedDataStorage: ").append(getDisassociatedDataStorage()).append(","); if (getRetentionPeriod() != null) sb.append("RetentionPeriod: ").append(getRetentionPeriod()); sb.append("}"); return sb.toString(); } @Override public boolean equals(Object obj) { if (this == obj) return true; if (obj == null) return false; if (obj instanceof PutStorageConfigurationRequest == false) return false; PutStorageConfigurationRequest other = (PutStorageConfigurationRequest) obj; if (other.getStorageType() == null ^ this.getStorageType() == null) return false; if (other.getStorageType() != null && other.getStorageType().equals(this.getStorageType()) == false) return false; if (other.getMultiLayerStorage() == null ^ this.getMultiLayerStorage() == null) return false; if (other.getMultiLayerStorage() != null && other.getMultiLayerStorage().equals(this.getMultiLayerStorage()) == false) return false; if (other.getDisassociatedDataStorage() == null ^ this.getDisassociatedDataStorage() == null) return false; if (other.getDisassociatedDataStorage() != null && other.getDisassociatedDataStorage().equals(this.getDisassociatedDataStorage()) == false) return false; if (other.getRetentionPeriod() == null ^ this.getRetentionPeriod() == null) return false; if (other.getRetentionPeriod() != null && other.getRetentionPeriod().equals(this.getRetentionPeriod()) == false) return false; return true; } @Override public int hashCode() { final int prime = 31; int hashCode = 1; hashCode = prime * hashCode + ((getStorageType() == null) ? 0 : getStorageType().hashCode()); hashCode = prime * hashCode + ((getMultiLayerStorage() == null) ? 0 : getMultiLayerStorage().hashCode()); hashCode = prime * hashCode + ((getDisassociatedDataStorage() == null) ? 0 : getDisassociatedDataStorage().hashCode()); hashCode = prime * hashCode + ((getRetentionPeriod() == null) ? 0 : getRetentionPeriod().hashCode()); return hashCode; } @Override public PutStorageConfigurationRequest clone() { return (PutStorageConfigurationRequest) super.clone(); } }