/* * 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.docdb.model; import java.io.Serializable; import javax.annotation.Generated; import com.amazonaws.AmazonWebServiceRequest; /** *
* Represents the input to DescribeDBClusterSnapshots. *
* * @see AWS * API Documentation */ @Generated("com.amazonaws:aws-java-sdk-code-generator") public class DescribeDBClusterSnapshotsRequest extends com.amazonaws.AmazonWebServiceRequest implements Serializable, Cloneable { /** *
* The ID of the cluster to retrieve the list of cluster snapshots for. This parameter can't be used with the
* DBClusterSnapshotIdentifier
parameter. This parameter is not case sensitive.
*
* Constraints: *
*
* If provided, must match the identifier of an existing DBCluster
.
*
* A specific cluster snapshot identifier to describe. This parameter can't be used with the
* DBClusterIdentifier
parameter. This value is stored as a lowercase string.
*
* Constraints: *
*
* If provided, must match the identifier of an existing DBClusterSnapshot
.
*
* If this identifier is for an automated snapshot, the SnapshotType
parameter must also be specified.
*
* The type of cluster snapshots to be returned. You can specify one of the following values: *
*
* automated
- Return all cluster snapshots that Amazon DocumentDB has automatically created for your
* Amazon Web Services account.
*
* manual
- Return all cluster snapshots that you have manually created for your Amazon Web Services
* account.
*
* shared
- Return all manual cluster snapshots that have been shared to your Amazon Web Services
* account.
*
* public
- Return all cluster snapshots that have been marked as public.
*
* If you don't specify a SnapshotType
value, then both automated and manual cluster snapshots are
* returned. You can include shared cluster snapshots with these results by setting the IncludeShared
* parameter to true
. You can include public cluster snapshots with these results by setting the
* IncludePublic
parameter to true
.
*
* The IncludeShared
and IncludePublic
parameters don't apply for
* SnapshotType
values of manual
or automated
. The IncludePublic
* parameter doesn't apply when SnapshotType
is set to shared
. The
* IncludeShared
parameter doesn't apply when SnapshotType
is set to public
.
*
* This parameter is not currently supported. *
*/ private java.util.List
* The maximum number of records to include in the response. If more records exist than the specified
* MaxRecords
value, a pagination token (marker) is included in the response so that the remaining
* results can be retrieved.
*
* Default: 100 *
** Constraints: Minimum 20, maximum 100. *
*/ private Integer maxRecords; /** *
* An optional pagination token provided by a previous request. If this parameter is specified, the response
* includes only records beyond the marker, up to the value specified by MaxRecords
.
*
* Set to true
to include shared manual cluster snapshots from other Amazon Web Services accounts that
* this Amazon Web Services account has been given permission to copy or restore, and otherwise false
.
* The default is false
.
*
* Set to true
to include manual cluster snapshots that are public and can be copied or restored by any
* Amazon Web Services account, and otherwise false
. The default is false
.
*
* The ID of the cluster to retrieve the list of cluster snapshots for. This parameter can't be used with the
* DBClusterSnapshotIdentifier
parameter. This parameter is not case sensitive.
*
* Constraints: *
*
* If provided, must match the identifier of an existing DBCluster
.
*
DBClusterSnapshotIdentifier
parameter. This parameter is not case sensitive.
* * Constraints: *
*
* If provided, must match the identifier of an existing DBCluster
.
*
* The ID of the cluster to retrieve the list of cluster snapshots for. This parameter can't be used with the
* DBClusterSnapshotIdentifier
parameter. This parameter is not case sensitive.
*
* Constraints: *
*
* If provided, must match the identifier of an existing DBCluster
.
*
DBClusterSnapshotIdentifier
parameter. This parameter is not case sensitive.
* * Constraints: *
*
* If provided, must match the identifier of an existing DBCluster
.
*
* The ID of the cluster to retrieve the list of cluster snapshots for. This parameter can't be used with the
* DBClusterSnapshotIdentifier
parameter. This parameter is not case sensitive.
*
* Constraints: *
*
* If provided, must match the identifier of an existing DBCluster
.
*
DBClusterSnapshotIdentifier
parameter. This parameter is not case sensitive.
* * Constraints: *
*
* If provided, must match the identifier of an existing DBCluster
.
*
* A specific cluster snapshot identifier to describe. This parameter can't be used with the
* DBClusterIdentifier
parameter. This value is stored as a lowercase string.
*
* Constraints: *
*
* If provided, must match the identifier of an existing DBClusterSnapshot
.
*
* If this identifier is for an automated snapshot, the SnapshotType
parameter must also be specified.
*
DBClusterIdentifier
parameter. This value is stored as a lowercase string.
* * Constraints: *
*
* If provided, must match the identifier of an existing DBClusterSnapshot
.
*
* If this identifier is for an automated snapshot, the SnapshotType
parameter must also be
* specified.
*
* A specific cluster snapshot identifier to describe. This parameter can't be used with the
* DBClusterIdentifier
parameter. This value is stored as a lowercase string.
*
* Constraints: *
*
* If provided, must match the identifier of an existing DBClusterSnapshot
.
*
* If this identifier is for an automated snapshot, the SnapshotType
parameter must also be specified.
*
DBClusterIdentifier
parameter. This value is stored as a lowercase string.
* * Constraints: *
*
* If provided, must match the identifier of an existing DBClusterSnapshot
.
*
* If this identifier is for an automated snapshot, the SnapshotType
parameter must also be
* specified.
*
* A specific cluster snapshot identifier to describe. This parameter can't be used with the
* DBClusterIdentifier
parameter. This value is stored as a lowercase string.
*
* Constraints: *
*
* If provided, must match the identifier of an existing DBClusterSnapshot
.
*
* If this identifier is for an automated snapshot, the SnapshotType
parameter must also be specified.
*
DBClusterIdentifier
parameter. This value is stored as a lowercase string.
* * Constraints: *
*
* If provided, must match the identifier of an existing DBClusterSnapshot
.
*
* If this identifier is for an automated snapshot, the SnapshotType
parameter must also be
* specified.
*
* The type of cluster snapshots to be returned. You can specify one of the following values: *
*
* automated
- Return all cluster snapshots that Amazon DocumentDB has automatically created for your
* Amazon Web Services account.
*
* manual
- Return all cluster snapshots that you have manually created for your Amazon Web Services
* account.
*
* shared
- Return all manual cluster snapshots that have been shared to your Amazon Web Services
* account.
*
* public
- Return all cluster snapshots that have been marked as public.
*
* If you don't specify a SnapshotType
value, then both automated and manual cluster snapshots are
* returned. You can include shared cluster snapshots with these results by setting the IncludeShared
* parameter to true
. You can include public cluster snapshots with these results by setting the
* IncludePublic
parameter to true
.
*
* The IncludeShared
and IncludePublic
parameters don't apply for
* SnapshotType
values of manual
or automated
. The IncludePublic
* parameter doesn't apply when SnapshotType
is set to shared
. The
* IncludeShared
parameter doesn't apply when SnapshotType
is set to public
.
*
* automated
- Return all cluster snapshots that Amazon DocumentDB has automatically created for
* your Amazon Web Services account.
*
* manual
- Return all cluster snapshots that you have manually created for your Amazon Web
* Services account.
*
* shared
- Return all manual cluster snapshots that have been shared to your Amazon Web
* Services account.
*
* public
- Return all cluster snapshots that have been marked as public.
*
* If you don't specify a SnapshotType
value, then both automated and manual cluster snapshots
* are returned. You can include shared cluster snapshots with these results by setting the
* IncludeShared
parameter to true
. You can include public cluster snapshots with
* these results by setting theIncludePublic
parameter to true
.
*
* The IncludeShared
and IncludePublic
parameters don't apply for
* SnapshotType
values of manual
or automated
. The
* IncludePublic
parameter doesn't apply when SnapshotType
is set to
* shared
. The IncludeShared
parameter doesn't apply when SnapshotType
* is set to public
.
*/
public void setSnapshotType(String snapshotType) {
this.snapshotType = snapshotType;
}
/**
*
* The type of cluster snapshots to be returned. You can specify one of the following values: *
*
* automated
- Return all cluster snapshots that Amazon DocumentDB has automatically created for your
* Amazon Web Services account.
*
* manual
- Return all cluster snapshots that you have manually created for your Amazon Web Services
* account.
*
* shared
- Return all manual cluster snapshots that have been shared to your Amazon Web Services
* account.
*
* public
- Return all cluster snapshots that have been marked as public.
*
* If you don't specify a SnapshotType
value, then both automated and manual cluster snapshots are
* returned. You can include shared cluster snapshots with these results by setting the IncludeShared
* parameter to true
. You can include public cluster snapshots with these results by setting the
* IncludePublic
parameter to true
.
*
* The IncludeShared
and IncludePublic
parameters don't apply for
* SnapshotType
values of manual
or automated
. The IncludePublic
* parameter doesn't apply when SnapshotType
is set to shared
. The
* IncludeShared
parameter doesn't apply when SnapshotType
is set to public
.
*
* automated
- Return all cluster snapshots that Amazon DocumentDB has automatically created
* for your Amazon Web Services account.
*
* manual
- Return all cluster snapshots that you have manually created for your Amazon Web
* Services account.
*
* shared
- Return all manual cluster snapshots that have been shared to your Amazon Web
* Services account.
*
* public
- Return all cluster snapshots that have been marked as public.
*
* If you don't specify a SnapshotType
value, then both automated and manual cluster snapshots
* are returned. You can include shared cluster snapshots with these results by setting the
* IncludeShared
parameter to true
. You can include public cluster snapshots with
* these results by setting theIncludePublic
parameter to true
.
*
* The IncludeShared
and IncludePublic
parameters don't apply for
* SnapshotType
values of manual
or automated
. The
* IncludePublic
parameter doesn't apply when SnapshotType
is set to
* shared
. The IncludeShared
parameter doesn't apply when
* SnapshotType
is set to public
.
*/
public String getSnapshotType() {
return this.snapshotType;
}
/**
*
* The type of cluster snapshots to be returned. You can specify one of the following values: *
*
* automated
- Return all cluster snapshots that Amazon DocumentDB has automatically created for your
* Amazon Web Services account.
*
* manual
- Return all cluster snapshots that you have manually created for your Amazon Web Services
* account.
*
* shared
- Return all manual cluster snapshots that have been shared to your Amazon Web Services
* account.
*
* public
- Return all cluster snapshots that have been marked as public.
*
* If you don't specify a SnapshotType
value, then both automated and manual cluster snapshots are
* returned. You can include shared cluster snapshots with these results by setting the IncludeShared
* parameter to true
. You can include public cluster snapshots with these results by setting the
* IncludePublic
parameter to true
.
*
* The IncludeShared
and IncludePublic
parameters don't apply for
* SnapshotType
values of manual
or automated
. The IncludePublic
* parameter doesn't apply when SnapshotType
is set to shared
. The
* IncludeShared
parameter doesn't apply when SnapshotType
is set to public
.
*
* automated
- Return all cluster snapshots that Amazon DocumentDB has automatically created for
* your Amazon Web Services account.
*
* manual
- Return all cluster snapshots that you have manually created for your Amazon Web
* Services account.
*
* shared
- Return all manual cluster snapshots that have been shared to your Amazon Web
* Services account.
*
* public
- Return all cluster snapshots that have been marked as public.
*
* If you don't specify a SnapshotType
value, then both automated and manual cluster snapshots
* are returned. You can include shared cluster snapshots with these results by setting the
* IncludeShared
parameter to true
. You can include public cluster snapshots with
* these results by setting theIncludePublic
parameter to true
.
*
* The IncludeShared
and IncludePublic
parameters don't apply for
* SnapshotType
values of manual
or automated
. The
* IncludePublic
parameter doesn't apply when SnapshotType
is set to
* shared
. The IncludeShared
parameter doesn't apply when SnapshotType
* is set to public
.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public DescribeDBClusterSnapshotsRequest withSnapshotType(String snapshotType) {
setSnapshotType(snapshotType);
return this;
}
/**
*
* This parameter is not currently supported. *
* * @return This parameter is not currently supported. */ public java.util.List* This parameter is not currently supported. *
* * @param filters * This parameter is not currently supported. */ public void setFilters(java.util.Collection* This parameter is not currently supported. *
** NOTE: This method appends the values to the existing list (if any). Use * {@link #setFilters(java.util.Collection)} or {@link #withFilters(java.util.Collection)} if you want to override * the existing values. *
* * @param filters * This parameter is not currently supported. * @return Returns a reference to this object so that method calls can be chained together. */ public DescribeDBClusterSnapshotsRequest withFilters(Filter... filters) { if (this.filters == null) { setFilters(new java.util.ArrayList* This parameter is not currently supported. *
* * @param filters * This parameter is not currently supported. * @return Returns a reference to this object so that method calls can be chained together. */ public DescribeDBClusterSnapshotsRequest withFilters(java.util.Collection
* The maximum number of records to include in the response. If more records exist than the specified
* MaxRecords
value, a pagination token (marker) is included in the response so that the remaining
* results can be retrieved.
*
* Default: 100 *
** Constraints: Minimum 20, maximum 100. *
* * @param maxRecords * The maximum number of records to include in the response. If more records exist than the specified *MaxRecords
value, a pagination token (marker) is included in the response so that the
* remaining results can be retrieved.
* * Default: 100 *
** Constraints: Minimum 20, maximum 100. */ public void setMaxRecords(Integer maxRecords) { this.maxRecords = maxRecords; } /** *
* The maximum number of records to include in the response. If more records exist than the specified
* MaxRecords
value, a pagination token (marker) is included in the response so that the remaining
* results can be retrieved.
*
* Default: 100 *
** Constraints: Minimum 20, maximum 100. *
* * @return The maximum number of records to include in the response. If more records exist than the specified *MaxRecords
value, a pagination token (marker) is included in the response so that the
* remaining results can be retrieved.
* * Default: 100 *
** Constraints: Minimum 20, maximum 100. */ public Integer getMaxRecords() { return this.maxRecords; } /** *
* The maximum number of records to include in the response. If more records exist than the specified
* MaxRecords
value, a pagination token (marker) is included in the response so that the remaining
* results can be retrieved.
*
* Default: 100 *
** Constraints: Minimum 20, maximum 100. *
* * @param maxRecords * The maximum number of records to include in the response. If more records exist than the specified *MaxRecords
value, a pagination token (marker) is included in the response so that the
* remaining results can be retrieved.
* * Default: 100 *
** Constraints: Minimum 20, maximum 100. * @return Returns a reference to this object so that method calls can be chained together. */ public DescribeDBClusterSnapshotsRequest withMaxRecords(Integer maxRecords) { setMaxRecords(maxRecords); return this; } /** *
* An optional pagination token provided by a previous request. If this parameter is specified, the response
* includes only records beyond the marker, up to the value specified by MaxRecords
.
*
MaxRecords
.
*/
public void setMarker(String marker) {
this.marker = marker;
}
/**
*
* An optional pagination token provided by a previous request. If this parameter is specified, the response
* includes only records beyond the marker, up to the value specified by MaxRecords
.
*
MaxRecords
.
*/
public String getMarker() {
return this.marker;
}
/**
*
* An optional pagination token provided by a previous request. If this parameter is specified, the response
* includes only records beyond the marker, up to the value specified by MaxRecords
.
*
MaxRecords
.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public DescribeDBClusterSnapshotsRequest withMarker(String marker) {
setMarker(marker);
return this;
}
/**
*
* Set to true
to include shared manual cluster snapshots from other Amazon Web Services accounts that
* this Amazon Web Services account has been given permission to copy or restore, and otherwise false
.
* The default is false
.
*
true
to include shared manual cluster snapshots from other Amazon Web Services
* accounts that this Amazon Web Services account has been given permission to copy or restore, and otherwise
* false
. The default is false
.
*/
public void setIncludeShared(Boolean includeShared) {
this.includeShared = includeShared;
}
/**
*
* Set to true
to include shared manual cluster snapshots from other Amazon Web Services accounts that
* this Amazon Web Services account has been given permission to copy or restore, and otherwise false
.
* The default is false
.
*
true
to include shared manual cluster snapshots from other Amazon Web Services
* accounts that this Amazon Web Services account has been given permission to copy or restore, and
* otherwise false
. The default is false
.
*/
public Boolean getIncludeShared() {
return this.includeShared;
}
/**
*
* Set to true
to include shared manual cluster snapshots from other Amazon Web Services accounts that
* this Amazon Web Services account has been given permission to copy or restore, and otherwise false
.
* The default is false
.
*
true
to include shared manual cluster snapshots from other Amazon Web Services
* accounts that this Amazon Web Services account has been given permission to copy or restore, and otherwise
* false
. The default is false
.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public DescribeDBClusterSnapshotsRequest withIncludeShared(Boolean includeShared) {
setIncludeShared(includeShared);
return this;
}
/**
*
* Set to true
to include shared manual cluster snapshots from other Amazon Web Services accounts that
* this Amazon Web Services account has been given permission to copy or restore, and otherwise false
.
* The default is false
.
*
true
to include shared manual cluster snapshots from other Amazon Web Services
* accounts that this Amazon Web Services account has been given permission to copy or restore, and
* otherwise false
. The default is false
.
*/
public Boolean isIncludeShared() {
return this.includeShared;
}
/**
*
* Set to true
to include manual cluster snapshots that are public and can be copied or restored by any
* Amazon Web Services account, and otherwise false
. The default is false
.
*
true
to include manual cluster snapshots that are public and can be copied or restored
* by any Amazon Web Services account, and otherwise false
. The default is false
.
*/
public void setIncludePublic(Boolean includePublic) {
this.includePublic = includePublic;
}
/**
*
* Set to true
to include manual cluster snapshots that are public and can be copied or restored by any
* Amazon Web Services account, and otherwise false
. The default is false
.
*
true
to include manual cluster snapshots that are public and can be copied or
* restored by any Amazon Web Services account, and otherwise false
. The default is
* false
.
*/
public Boolean getIncludePublic() {
return this.includePublic;
}
/**
*
* Set to true
to include manual cluster snapshots that are public and can be copied or restored by any
* Amazon Web Services account, and otherwise false
. The default is false
.
*
true
to include manual cluster snapshots that are public and can be copied or restored
* by any Amazon Web Services account, and otherwise false
. The default is false
.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public DescribeDBClusterSnapshotsRequest withIncludePublic(Boolean includePublic) {
setIncludePublic(includePublic);
return this;
}
/**
*
* Set to true
to include manual cluster snapshots that are public and can be copied or restored by any
* Amazon Web Services account, and otherwise false
. The default is false
.
*
true
to include manual cluster snapshots that are public and can be copied or
* restored by any Amazon Web Services account, and otherwise false
. The default is
* false
.
*/
public Boolean isIncludePublic() {
return this.includePublic;
}
/**
* 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 (getDBClusterIdentifier() != null)
sb.append("DBClusterIdentifier: ").append(getDBClusterIdentifier()).append(",");
if (getDBClusterSnapshotIdentifier() != null)
sb.append("DBClusterSnapshotIdentifier: ").append(getDBClusterSnapshotIdentifier()).append(",");
if (getSnapshotType() != null)
sb.append("SnapshotType: ").append(getSnapshotType()).append(",");
if (getFilters() != null)
sb.append("Filters: ").append(getFilters()).append(",");
if (getMaxRecords() != null)
sb.append("MaxRecords: ").append(getMaxRecords()).append(",");
if (getMarker() != null)
sb.append("Marker: ").append(getMarker()).append(",");
if (getIncludeShared() != null)
sb.append("IncludeShared: ").append(getIncludeShared()).append(",");
if (getIncludePublic() != null)
sb.append("IncludePublic: ").append(getIncludePublic());
sb.append("}");
return sb.toString();
}
@Override
public boolean equals(Object obj) {
if (this == obj)
return true;
if (obj == null)
return false;
if (obj instanceof DescribeDBClusterSnapshotsRequest == false)
return false;
DescribeDBClusterSnapshotsRequest other = (DescribeDBClusterSnapshotsRequest) obj;
if (other.getDBClusterIdentifier() == null ^ this.getDBClusterIdentifier() == null)
return false;
if (other.getDBClusterIdentifier() != null && other.getDBClusterIdentifier().equals(this.getDBClusterIdentifier()) == false)
return false;
if (other.getDBClusterSnapshotIdentifier() == null ^ this.getDBClusterSnapshotIdentifier() == null)
return false;
if (other.getDBClusterSnapshotIdentifier() != null && other.getDBClusterSnapshotIdentifier().equals(this.getDBClusterSnapshotIdentifier()) == false)
return false;
if (other.getSnapshotType() == null ^ this.getSnapshotType() == null)
return false;
if (other.getSnapshotType() != null && other.getSnapshotType().equals(this.getSnapshotType()) == false)
return false;
if (other.getFilters() == null ^ this.getFilters() == null)
return false;
if (other.getFilters() != null && other.getFilters().equals(this.getFilters()) == false)
return false;
if (other.getMaxRecords() == null ^ this.getMaxRecords() == null)
return false;
if (other.getMaxRecords() != null && other.getMaxRecords().equals(this.getMaxRecords()) == false)
return false;
if (other.getMarker() == null ^ this.getMarker() == null)
return false;
if (other.getMarker() != null && other.getMarker().equals(this.getMarker()) == false)
return false;
if (other.getIncludeShared() == null ^ this.getIncludeShared() == null)
return false;
if (other.getIncludeShared() != null && other.getIncludeShared().equals(this.getIncludeShared()) == false)
return false;
if (other.getIncludePublic() == null ^ this.getIncludePublic() == null)
return false;
if (other.getIncludePublic() != null && other.getIncludePublic().equals(this.getIncludePublic()) == false)
return false;
return true;
}
@Override
public int hashCode() {
final int prime = 31;
int hashCode = 1;
hashCode = prime * hashCode + ((getDBClusterIdentifier() == null) ? 0 : getDBClusterIdentifier().hashCode());
hashCode = prime * hashCode + ((getDBClusterSnapshotIdentifier() == null) ? 0 : getDBClusterSnapshotIdentifier().hashCode());
hashCode = prime * hashCode + ((getSnapshotType() == null) ? 0 : getSnapshotType().hashCode());
hashCode = prime * hashCode + ((getFilters() == null) ? 0 : getFilters().hashCode());
hashCode = prime * hashCode + ((getMaxRecords() == null) ? 0 : getMaxRecords().hashCode());
hashCode = prime * hashCode + ((getMarker() == null) ? 0 : getMarker().hashCode());
hashCode = prime * hashCode + ((getIncludeShared() == null) ? 0 : getIncludeShared().hashCode());
hashCode = prime * hashCode + ((getIncludePublic() == null) ? 0 : getIncludePublic().hashCode());
return hashCode;
}
@Override
public DescribeDBClusterSnapshotsRequest clone() {
return (DescribeDBClusterSnapshotsRequest) super.clone();
}
}