com.amazonaws.services.docdb.model.EventSubscription Maven / Gradle / Ivy
Show all versions of aws-java-sdk-docdb 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.docdb.model;
import java.io.Serializable;
import javax.annotation.Generated;
/**
*
* Detailed information about an event to which you have subscribed.
*
*
* @see AWS API
* Documentation
*/
@Generated("com.amazonaws:aws-java-sdk-code-generator")
public class EventSubscription implements Serializable, Cloneable {
/**
*
* The Amazon Web Services customer account that is associated with the Amazon DocumentDB event notification
* subscription.
*
*/
private String customerAwsId;
/**
*
* The Amazon DocumentDB event notification subscription ID.
*
*/
private String custSubscriptionId;
/**
*
* The topic ARN of the Amazon DocumentDB event notification subscription.
*
*/
private String snsTopicArn;
/**
*
* The status of the Amazon DocumentDB event notification subscription.
*
*
* Constraints:
*
*
* Can be one of the following: creating
, modifying
, deleting
,
* active
, no-permission
, topic-not-exist
*
*
* The no-permission
status indicates that Amazon DocumentDB no longer has permission to post to the
* SNS topic. The topic-not-exist
status indicates that the topic was deleted after the subscription
* was created.
*
*/
private String status;
/**
*
* The time at which the Amazon DocumentDB event notification subscription was created.
*
*/
private String subscriptionCreationTime;
/**
*
* The source type for the Amazon DocumentDB event notification subscription.
*
*/
private String sourceType;
/**
*
* A list of source IDs for the Amazon DocumentDB event notification subscription.
*
*/
private java.util.List sourceIdsList;
/**
*
* A list of event categories for the Amazon DocumentDB event notification subscription.
*
*/
private java.util.List eventCategoriesList;
/**
*
* A Boolean value indicating whether the subscription is enabled. A value of true
indicates that the
* subscription is enabled.
*
*/
private Boolean enabled;
/**
*
* The Amazon Resource Name (ARN) for the event subscription.
*
*/
private String eventSubscriptionArn;
/**
*
* The Amazon Web Services customer account that is associated with the Amazon DocumentDB event notification
* subscription.
*
*
* @param customerAwsId
* The Amazon Web Services customer account that is associated with the Amazon DocumentDB event notification
* subscription.
*/
public void setCustomerAwsId(String customerAwsId) {
this.customerAwsId = customerAwsId;
}
/**
*
* The Amazon Web Services customer account that is associated with the Amazon DocumentDB event notification
* subscription.
*
*
* @return The Amazon Web Services customer account that is associated with the Amazon DocumentDB event notification
* subscription.
*/
public String getCustomerAwsId() {
return this.customerAwsId;
}
/**
*
* The Amazon Web Services customer account that is associated with the Amazon DocumentDB event notification
* subscription.
*
*
* @param customerAwsId
* The Amazon Web Services customer account that is associated with the Amazon DocumentDB event notification
* subscription.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public EventSubscription withCustomerAwsId(String customerAwsId) {
setCustomerAwsId(customerAwsId);
return this;
}
/**
*
* The Amazon DocumentDB event notification subscription ID.
*
*
* @param custSubscriptionId
* The Amazon DocumentDB event notification subscription ID.
*/
public void setCustSubscriptionId(String custSubscriptionId) {
this.custSubscriptionId = custSubscriptionId;
}
/**
*
* The Amazon DocumentDB event notification subscription ID.
*
*
* @return The Amazon DocumentDB event notification subscription ID.
*/
public String getCustSubscriptionId() {
return this.custSubscriptionId;
}
/**
*
* The Amazon DocumentDB event notification subscription ID.
*
*
* @param custSubscriptionId
* The Amazon DocumentDB event notification subscription ID.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public EventSubscription withCustSubscriptionId(String custSubscriptionId) {
setCustSubscriptionId(custSubscriptionId);
return this;
}
/**
*
* The topic ARN of the Amazon DocumentDB event notification subscription.
*
*
* @param snsTopicArn
* The topic ARN of the Amazon DocumentDB event notification subscription.
*/
public void setSnsTopicArn(String snsTopicArn) {
this.snsTopicArn = snsTopicArn;
}
/**
*
* The topic ARN of the Amazon DocumentDB event notification subscription.
*
*
* @return The topic ARN of the Amazon DocumentDB event notification subscription.
*/
public String getSnsTopicArn() {
return this.snsTopicArn;
}
/**
*
* The topic ARN of the Amazon DocumentDB event notification subscription.
*
*
* @param snsTopicArn
* The topic ARN of the Amazon DocumentDB event notification subscription.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public EventSubscription withSnsTopicArn(String snsTopicArn) {
setSnsTopicArn(snsTopicArn);
return this;
}
/**
*
* The status of the Amazon DocumentDB event notification subscription.
*
*
* Constraints:
*
*
* Can be one of the following: creating
, modifying
, deleting
,
* active
, no-permission
, topic-not-exist
*
*
* The no-permission
status indicates that Amazon DocumentDB no longer has permission to post to the
* SNS topic. The topic-not-exist
status indicates that the topic was deleted after the subscription
* was created.
*
*
* @param status
* The status of the Amazon DocumentDB event notification subscription.
*
* Constraints:
*
*
* Can be one of the following: creating
, modifying
, deleting
,
* active
, no-permission
, topic-not-exist
*
*
* The no-permission
status indicates that Amazon DocumentDB no longer has permission to post to
* the SNS topic. The topic-not-exist
status indicates that the topic was deleted after the
* subscription was created.
*/
public void setStatus(String status) {
this.status = status;
}
/**
*
* The status of the Amazon DocumentDB event notification subscription.
*
*
* Constraints:
*
*
* Can be one of the following: creating
, modifying
, deleting
,
* active
, no-permission
, topic-not-exist
*
*
* The no-permission
status indicates that Amazon DocumentDB no longer has permission to post to the
* SNS topic. The topic-not-exist
status indicates that the topic was deleted after the subscription
* was created.
*
*
* @return The status of the Amazon DocumentDB event notification subscription.
*
* Constraints:
*
*
* Can be one of the following: creating
, modifying
, deleting
,
* active
, no-permission
, topic-not-exist
*
*
* The no-permission
status indicates that Amazon DocumentDB no longer has permission to post
* to the SNS topic. The topic-not-exist
status indicates that the topic was deleted after the
* subscription was created.
*/
public String getStatus() {
return this.status;
}
/**
*
* The status of the Amazon DocumentDB event notification subscription.
*
*
* Constraints:
*
*
* Can be one of the following: creating
, modifying
, deleting
,
* active
, no-permission
, topic-not-exist
*
*
* The no-permission
status indicates that Amazon DocumentDB no longer has permission to post to the
* SNS topic. The topic-not-exist
status indicates that the topic was deleted after the subscription
* was created.
*
*
* @param status
* The status of the Amazon DocumentDB event notification subscription.
*
* Constraints:
*
*
* Can be one of the following: creating
, modifying
, deleting
,
* active
, no-permission
, topic-not-exist
*
*
* The no-permission
status indicates that Amazon DocumentDB no longer has permission to post to
* the SNS topic. The topic-not-exist
status indicates that the topic was deleted after the
* subscription was created.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public EventSubscription withStatus(String status) {
setStatus(status);
return this;
}
/**
*
* The time at which the Amazon DocumentDB event notification subscription was created.
*
*
* @param subscriptionCreationTime
* The time at which the Amazon DocumentDB event notification subscription was created.
*/
public void setSubscriptionCreationTime(String subscriptionCreationTime) {
this.subscriptionCreationTime = subscriptionCreationTime;
}
/**
*
* The time at which the Amazon DocumentDB event notification subscription was created.
*
*
* @return The time at which the Amazon DocumentDB event notification subscription was created.
*/
public String getSubscriptionCreationTime() {
return this.subscriptionCreationTime;
}
/**
*
* The time at which the Amazon DocumentDB event notification subscription was created.
*
*
* @param subscriptionCreationTime
* The time at which the Amazon DocumentDB event notification subscription was created.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public EventSubscription withSubscriptionCreationTime(String subscriptionCreationTime) {
setSubscriptionCreationTime(subscriptionCreationTime);
return this;
}
/**
*
* The source type for the Amazon DocumentDB event notification subscription.
*
*
* @param sourceType
* The source type for the Amazon DocumentDB event notification subscription.
*/
public void setSourceType(String sourceType) {
this.sourceType = sourceType;
}
/**
*
* The source type for the Amazon DocumentDB event notification subscription.
*
*
* @return The source type for the Amazon DocumentDB event notification subscription.
*/
public String getSourceType() {
return this.sourceType;
}
/**
*
* The source type for the Amazon DocumentDB event notification subscription.
*
*
* @param sourceType
* The source type for the Amazon DocumentDB event notification subscription.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public EventSubscription withSourceType(String sourceType) {
setSourceType(sourceType);
return this;
}
/**
*
* A list of source IDs for the Amazon DocumentDB event notification subscription.
*
*
* @return A list of source IDs for the Amazon DocumentDB event notification subscription.
*/
public java.util.List getSourceIdsList() {
return sourceIdsList;
}
/**
*
* A list of source IDs for the Amazon DocumentDB event notification subscription.
*
*
* @param sourceIdsList
* A list of source IDs for the Amazon DocumentDB event notification subscription.
*/
public void setSourceIdsList(java.util.Collection sourceIdsList) {
if (sourceIdsList == null) {
this.sourceIdsList = null;
return;
}
this.sourceIdsList = new java.util.ArrayList(sourceIdsList);
}
/**
*
* A list of source IDs for the Amazon DocumentDB event notification subscription.
*
*
* NOTE: This method appends the values to the existing list (if any). Use
* {@link #setSourceIdsList(java.util.Collection)} or {@link #withSourceIdsList(java.util.Collection)} if you want
* to override the existing values.
*
*
* @param sourceIdsList
* A list of source IDs for the Amazon DocumentDB event notification subscription.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public EventSubscription withSourceIdsList(String... sourceIdsList) {
if (this.sourceIdsList == null) {
setSourceIdsList(new java.util.ArrayList(sourceIdsList.length));
}
for (String ele : sourceIdsList) {
this.sourceIdsList.add(ele);
}
return this;
}
/**
*
* A list of source IDs for the Amazon DocumentDB event notification subscription.
*
*
* @param sourceIdsList
* A list of source IDs for the Amazon DocumentDB event notification subscription.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public EventSubscription withSourceIdsList(java.util.Collection sourceIdsList) {
setSourceIdsList(sourceIdsList);
return this;
}
/**
*
* A list of event categories for the Amazon DocumentDB event notification subscription.
*
*
* @return A list of event categories for the Amazon DocumentDB event notification subscription.
*/
public java.util.List getEventCategoriesList() {
return eventCategoriesList;
}
/**
*
* A list of event categories for the Amazon DocumentDB event notification subscription.
*
*
* @param eventCategoriesList
* A list of event categories for the Amazon DocumentDB event notification subscription.
*/
public void setEventCategoriesList(java.util.Collection eventCategoriesList) {
if (eventCategoriesList == null) {
this.eventCategoriesList = null;
return;
}
this.eventCategoriesList = new java.util.ArrayList(eventCategoriesList);
}
/**
*
* A list of event categories for the Amazon DocumentDB event notification subscription.
*
*
* NOTE: This method appends the values to the existing list (if any). Use
* {@link #setEventCategoriesList(java.util.Collection)} or {@link #withEventCategoriesList(java.util.Collection)}
* if you want to override the existing values.
*
*
* @param eventCategoriesList
* A list of event categories for the Amazon DocumentDB event notification subscription.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public EventSubscription withEventCategoriesList(String... eventCategoriesList) {
if (this.eventCategoriesList == null) {
setEventCategoriesList(new java.util.ArrayList(eventCategoriesList.length));
}
for (String ele : eventCategoriesList) {
this.eventCategoriesList.add(ele);
}
return this;
}
/**
*
* A list of event categories for the Amazon DocumentDB event notification subscription.
*
*
* @param eventCategoriesList
* A list of event categories for the Amazon DocumentDB event notification subscription.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public EventSubscription withEventCategoriesList(java.util.Collection eventCategoriesList) {
setEventCategoriesList(eventCategoriesList);
return this;
}
/**
*
* A Boolean value indicating whether the subscription is enabled. A value of true
indicates that the
* subscription is enabled.
*
*
* @param enabled
* A Boolean value indicating whether the subscription is enabled. A value of true
indicates
* that the subscription is enabled.
*/
public void setEnabled(Boolean enabled) {
this.enabled = enabled;
}
/**
*
* A Boolean value indicating whether the subscription is enabled. A value of true
indicates that the
* subscription is enabled.
*
*
* @return A Boolean value indicating whether the subscription is enabled. A value of true
indicates
* that the subscription is enabled.
*/
public Boolean getEnabled() {
return this.enabled;
}
/**
*
* A Boolean value indicating whether the subscription is enabled. A value of true
indicates that the
* subscription is enabled.
*
*
* @param enabled
* A Boolean value indicating whether the subscription is enabled. A value of true
indicates
* that the subscription is enabled.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public EventSubscription withEnabled(Boolean enabled) {
setEnabled(enabled);
return this;
}
/**
*
* A Boolean value indicating whether the subscription is enabled. A value of true
indicates that the
* subscription is enabled.
*
*
* @return A Boolean value indicating whether the subscription is enabled. A value of true
indicates
* that the subscription is enabled.
*/
public Boolean isEnabled() {
return this.enabled;
}
/**
*
* The Amazon Resource Name (ARN) for the event subscription.
*
*
* @param eventSubscriptionArn
* The Amazon Resource Name (ARN) for the event subscription.
*/
public void setEventSubscriptionArn(String eventSubscriptionArn) {
this.eventSubscriptionArn = eventSubscriptionArn;
}
/**
*
* The Amazon Resource Name (ARN) for the event subscription.
*
*
* @return The Amazon Resource Name (ARN) for the event subscription.
*/
public String getEventSubscriptionArn() {
return this.eventSubscriptionArn;
}
/**
*
* The Amazon Resource Name (ARN) for the event subscription.
*
*
* @param eventSubscriptionArn
* The Amazon Resource Name (ARN) for the event subscription.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public EventSubscription withEventSubscriptionArn(String eventSubscriptionArn) {
setEventSubscriptionArn(eventSubscriptionArn);
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 (getCustomerAwsId() != null)
sb.append("CustomerAwsId: ").append(getCustomerAwsId()).append(",");
if (getCustSubscriptionId() != null)
sb.append("CustSubscriptionId: ").append(getCustSubscriptionId()).append(",");
if (getSnsTopicArn() != null)
sb.append("SnsTopicArn: ").append(getSnsTopicArn()).append(",");
if (getStatus() != null)
sb.append("Status: ").append(getStatus()).append(",");
if (getSubscriptionCreationTime() != null)
sb.append("SubscriptionCreationTime: ").append(getSubscriptionCreationTime()).append(",");
if (getSourceType() != null)
sb.append("SourceType: ").append(getSourceType()).append(",");
if (getSourceIdsList() != null)
sb.append("SourceIdsList: ").append(getSourceIdsList()).append(",");
if (getEventCategoriesList() != null)
sb.append("EventCategoriesList: ").append(getEventCategoriesList()).append(",");
if (getEnabled() != null)
sb.append("Enabled: ").append(getEnabled()).append(",");
if (getEventSubscriptionArn() != null)
sb.append("EventSubscriptionArn: ").append(getEventSubscriptionArn());
sb.append("}");
return sb.toString();
}
@Override
public boolean equals(Object obj) {
if (this == obj)
return true;
if (obj == null)
return false;
if (obj instanceof EventSubscription == false)
return false;
EventSubscription other = (EventSubscription) obj;
if (other.getCustomerAwsId() == null ^ this.getCustomerAwsId() == null)
return false;
if (other.getCustomerAwsId() != null && other.getCustomerAwsId().equals(this.getCustomerAwsId()) == false)
return false;
if (other.getCustSubscriptionId() == null ^ this.getCustSubscriptionId() == null)
return false;
if (other.getCustSubscriptionId() != null && other.getCustSubscriptionId().equals(this.getCustSubscriptionId()) == false)
return false;
if (other.getSnsTopicArn() == null ^ this.getSnsTopicArn() == null)
return false;
if (other.getSnsTopicArn() != null && other.getSnsTopicArn().equals(this.getSnsTopicArn()) == false)
return false;
if (other.getStatus() == null ^ this.getStatus() == null)
return false;
if (other.getStatus() != null && other.getStatus().equals(this.getStatus()) == false)
return false;
if (other.getSubscriptionCreationTime() == null ^ this.getSubscriptionCreationTime() == null)
return false;
if (other.getSubscriptionCreationTime() != null && other.getSubscriptionCreationTime().equals(this.getSubscriptionCreationTime()) == false)
return false;
if (other.getSourceType() == null ^ this.getSourceType() == null)
return false;
if (other.getSourceType() != null && other.getSourceType().equals(this.getSourceType()) == false)
return false;
if (other.getSourceIdsList() == null ^ this.getSourceIdsList() == null)
return false;
if (other.getSourceIdsList() != null && other.getSourceIdsList().equals(this.getSourceIdsList()) == false)
return false;
if (other.getEventCategoriesList() == null ^ this.getEventCategoriesList() == null)
return false;
if (other.getEventCategoriesList() != null && other.getEventCategoriesList().equals(this.getEventCategoriesList()) == false)
return false;
if (other.getEnabled() == null ^ this.getEnabled() == null)
return false;
if (other.getEnabled() != null && other.getEnabled().equals(this.getEnabled()) == false)
return false;
if (other.getEventSubscriptionArn() == null ^ this.getEventSubscriptionArn() == null)
return false;
if (other.getEventSubscriptionArn() != null && other.getEventSubscriptionArn().equals(this.getEventSubscriptionArn()) == false)
return false;
return true;
}
@Override
public int hashCode() {
final int prime = 31;
int hashCode = 1;
hashCode = prime * hashCode + ((getCustomerAwsId() == null) ? 0 : getCustomerAwsId().hashCode());
hashCode = prime * hashCode + ((getCustSubscriptionId() == null) ? 0 : getCustSubscriptionId().hashCode());
hashCode = prime * hashCode + ((getSnsTopicArn() == null) ? 0 : getSnsTopicArn().hashCode());
hashCode = prime * hashCode + ((getStatus() == null) ? 0 : getStatus().hashCode());
hashCode = prime * hashCode + ((getSubscriptionCreationTime() == null) ? 0 : getSubscriptionCreationTime().hashCode());
hashCode = prime * hashCode + ((getSourceType() == null) ? 0 : getSourceType().hashCode());
hashCode = prime * hashCode + ((getSourceIdsList() == null) ? 0 : getSourceIdsList().hashCode());
hashCode = prime * hashCode + ((getEventCategoriesList() == null) ? 0 : getEventCategoriesList().hashCode());
hashCode = prime * hashCode + ((getEnabled() == null) ? 0 : getEnabled().hashCode());
hashCode = prime * hashCode + ((getEventSubscriptionArn() == null) ? 0 : getEventSubscriptionArn().hashCode());
return hashCode;
}
@Override
public EventSubscription clone() {
try {
return (EventSubscription) super.clone();
} catch (CloneNotSupportedException e) {
throw new IllegalStateException("Got a CloneNotSupportedException from Object.clone() " + "even though we're Cloneable!", e);
}
}
}