com.amazonaws.services.redshift.model.EventSubscription Maven / Gradle / Ivy
Show all versions of aws-java-sdk-redshift Show documentation
/*
* Copyright 2010-2016 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.redshift.model;
import java.io.Serializable;
/**
*
* Describes event subscriptions.
*
*/
public class EventSubscription implements Serializable, Cloneable {
/**
*
* The AWS customer account associated with the Amazon Redshift event
* notification subscription.
*
*/
private String customerAwsId;
/**
*
* The name of the Amazon Redshift event notification subscription.
*
*/
private String custSubscriptionId;
/**
*
* The Amazon Resource Name (ARN) of the Amazon SNS topic used by the event
* notification subscription.
*
*/
private String snsTopicArn;
/**
*
* The status of the Amazon Redshift event notification subscription.
*
*
* Constraints:
*
*
* - Can be one of the following: active | no-permission | topic-not-exist
*
* - The status "no-permission" indicates that Amazon Redshift no longer
* has permission to post to the Amazon SNS topic. The status
* "topic-not-exist" indicates that the topic was deleted after the
* subscription was created.
*
*/
private String status;
/**
*
* The date and time the Amazon Redshift event notification subscription was
* created.
*
*/
private java.util.Date subscriptionCreationTime;
/**
*
* The source type of the events returned the Amazon Redshift event
* notification, such as cluster, or cluster-snapshot.
*
*/
private String sourceType;
/**
*
* A list of the sources that publish events to the Amazon Redshift event
* notification subscription.
*
*/
private com.amazonaws.internal.SdkInternalList sourceIdsList;
/**
*
* The list of Amazon Redshift event categories specified in the event
* notification subscription.
*
*
* Values: Configuration, Management, Monitoring, Security
*
*/
private com.amazonaws.internal.SdkInternalList eventCategoriesList;
/**
*
* The event severity specified in the Amazon Redshift event notification
* subscription.
*
*
* Values: ERROR, INFO
*
*/
private String severity;
/**
*
* A Boolean value indicating whether the subscription is enabled.
* true
indicates the subscription is enabled.
*
*/
private Boolean enabled;
/**
*
* The list of tags for the event subscription.
*
*/
private com.amazonaws.internal.SdkInternalList tags;
/**
*
* The AWS customer account associated with the Amazon Redshift event
* notification subscription.
*
*
* @param customerAwsId
* The AWS customer account associated with the Amazon Redshift event
* notification subscription.
*/
public void setCustomerAwsId(String customerAwsId) {
this.customerAwsId = customerAwsId;
}
/**
*
* The AWS customer account associated with the Amazon Redshift event
* notification subscription.
*
*
* @return The AWS customer account associated with the Amazon Redshift
* event notification subscription.
*/
public String getCustomerAwsId() {
return this.customerAwsId;
}
/**
*
* The AWS customer account associated with the Amazon Redshift event
* notification subscription.
*
*
* @param customerAwsId
* The AWS customer account associated with the Amazon Redshift 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 name of the Amazon Redshift event notification subscription.
*
*
* @param custSubscriptionId
* The name of the Amazon Redshift event notification subscription.
*/
public void setCustSubscriptionId(String custSubscriptionId) {
this.custSubscriptionId = custSubscriptionId;
}
/**
*
* The name of the Amazon Redshift event notification subscription.
*
*
* @return The name of the Amazon Redshift event notification subscription.
*/
public String getCustSubscriptionId() {
return this.custSubscriptionId;
}
/**
*
* The name of the Amazon Redshift event notification subscription.
*
*
* @param custSubscriptionId
* The name of the Amazon Redshift event notification subscription.
* @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 Amazon Resource Name (ARN) of the Amazon SNS topic used by the event
* notification subscription.
*
*
* @param snsTopicArn
* The Amazon Resource Name (ARN) of the Amazon SNS topic used by the
* event notification subscription.
*/
public void setSnsTopicArn(String snsTopicArn) {
this.snsTopicArn = snsTopicArn;
}
/**
*
* The Amazon Resource Name (ARN) of the Amazon SNS topic used by the event
* notification subscription.
*
*
* @return The Amazon Resource Name (ARN) of the Amazon SNS topic used by
* the event notification subscription.
*/
public String getSnsTopicArn() {
return this.snsTopicArn;
}
/**
*
* The Amazon Resource Name (ARN) of the Amazon SNS topic used by the event
* notification subscription.
*
*
* @param snsTopicArn
* The Amazon Resource Name (ARN) of the Amazon SNS topic used by the
* 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 Redshift event notification subscription.
*
*
* Constraints:
*
*
* - Can be one of the following: active | no-permission | topic-not-exist
*
* - The status "no-permission" indicates that Amazon Redshift no longer
* has permission to post to the Amazon SNS topic. The status
* "topic-not-exist" indicates that the topic was deleted after the
* subscription was created.
*
*
* @param status
* The status of the Amazon Redshift event notification
* subscription.
*
* Constraints:
*
*
* - Can be one of the following: active | no-permission |
* topic-not-exist
* - The status "no-permission" indicates that Amazon Redshift no
* longer has permission to post to the Amazon SNS topic. The status
* "topic-not-exist" indicates that the topic was deleted after the
* subscription was created.
*/
public void setStatus(String status) {
this.status = status;
}
/**
*
* The status of the Amazon Redshift event notification subscription.
*
*
* Constraints:
*
*
* - Can be one of the following: active | no-permission | topic-not-exist
*
* - The status "no-permission" indicates that Amazon Redshift no longer
* has permission to post to the Amazon SNS topic. The status
* "topic-not-exist" indicates that the topic was deleted after the
* subscription was created.
*
*
* @return The status of the Amazon Redshift event notification
* subscription.
*
* Constraints:
*
*
* - Can be one of the following: active | no-permission |
* topic-not-exist
* - The status "no-permission" indicates that Amazon Redshift no
* longer has permission to post to the Amazon SNS topic. The status
* "topic-not-exist" indicates that the topic was deleted after the
* subscription was created.
*/
public String getStatus() {
return this.status;
}
/**
*
* The status of the Amazon Redshift event notification subscription.
*
*
* Constraints:
*
*
* - Can be one of the following: active | no-permission | topic-not-exist
*
* - The status "no-permission" indicates that Amazon Redshift no longer
* has permission to post to the Amazon SNS topic. The status
* "topic-not-exist" indicates that the topic was deleted after the
* subscription was created.
*
*
* @param status
* The status of the Amazon Redshift event notification
* subscription.
*
* Constraints:
*
*
* - Can be one of the following: active | no-permission |
* topic-not-exist
* - The status "no-permission" indicates that Amazon Redshift no
* longer has permission to post to the Amazon SNS topic. The status
* "topic-not-exist" 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 date and time the Amazon Redshift event notification subscription was
* created.
*
*
* @param subscriptionCreationTime
* The date and time the Amazon Redshift event notification
* subscription was created.
*/
public void setSubscriptionCreationTime(
java.util.Date subscriptionCreationTime) {
this.subscriptionCreationTime = subscriptionCreationTime;
}
/**
*
* The date and time the Amazon Redshift event notification subscription was
* created.
*
*
* @return The date and time the Amazon Redshift event notification
* subscription was created.
*/
public java.util.Date getSubscriptionCreationTime() {
return this.subscriptionCreationTime;
}
/**
*
* The date and time the Amazon Redshift event notification subscription was
* created.
*
*
* @param subscriptionCreationTime
* The date and time the Amazon Redshift event notification
* subscription was created.
* @return Returns a reference to this object so that method calls can be
* chained together.
*/
public EventSubscription withSubscriptionCreationTime(
java.util.Date subscriptionCreationTime) {
setSubscriptionCreationTime(subscriptionCreationTime);
return this;
}
/**
*
* The source type of the events returned the Amazon Redshift event
* notification, such as cluster, or cluster-snapshot.
*
*
* @param sourceType
* The source type of the events returned the Amazon Redshift event
* notification, such as cluster, or cluster-snapshot.
*/
public void setSourceType(String sourceType) {
this.sourceType = sourceType;
}
/**
*
* The source type of the events returned the Amazon Redshift event
* notification, such as cluster, or cluster-snapshot.
*
*
* @return The source type of the events returned the Amazon Redshift event
* notification, such as cluster, or cluster-snapshot.
*/
public String getSourceType() {
return this.sourceType;
}
/**
*
* The source type of the events returned the Amazon Redshift event
* notification, such as cluster, or cluster-snapshot.
*
*
* @param sourceType
* The source type of the events returned the Amazon Redshift event
* notification, such as cluster, or cluster-snapshot.
* @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 the sources that publish events to the Amazon Redshift event
* notification subscription.
*
*
* @return A list of the sources that publish events to the Amazon Redshift
* event notification subscription.
*/
public java.util.List getSourceIdsList() {
if (sourceIdsList == null) {
sourceIdsList = new com.amazonaws.internal.SdkInternalList();
}
return sourceIdsList;
}
/**
*
* A list of the sources that publish events to the Amazon Redshift event
* notification subscription.
*
*
* @param sourceIdsList
* A list of the sources that publish events to the Amazon Redshift
* event notification subscription.
*/
public void setSourceIdsList(java.util.Collection sourceIdsList) {
if (sourceIdsList == null) {
this.sourceIdsList = null;
return;
}
this.sourceIdsList = new com.amazonaws.internal.SdkInternalList(
sourceIdsList);
}
/**
*
* A list of the sources that publish events to the Amazon Redshift 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 the sources that publish events to the Amazon Redshift
* 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 com.amazonaws.internal.SdkInternalList(
sourceIdsList.length));
}
for (String ele : sourceIdsList) {
this.sourceIdsList.add(ele);
}
return this;
}
/**
*
* A list of the sources that publish events to the Amazon Redshift event
* notification subscription.
*
*
* @param sourceIdsList
* A list of the sources that publish events to the Amazon Redshift
* 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;
}
/**
*
* The list of Amazon Redshift event categories specified in the event
* notification subscription.
*
*
* Values: Configuration, Management, Monitoring, Security
*
*
* @return The list of Amazon Redshift event categories specified in the
* event notification subscription.
*
* Values: Configuration, Management, Monitoring, Security
*/
public java.util.List getEventCategoriesList() {
if (eventCategoriesList == null) {
eventCategoriesList = new com.amazonaws.internal.SdkInternalList();
}
return eventCategoriesList;
}
/**
*
* The list of Amazon Redshift event categories specified in the event
* notification subscription.
*
*
* Values: Configuration, Management, Monitoring, Security
*
*
* @param eventCategoriesList
* The list of Amazon Redshift event categories specified in the
* event notification subscription.
*
* Values: Configuration, Management, Monitoring, Security
*/
public void setEventCategoriesList(
java.util.Collection eventCategoriesList) {
if (eventCategoriesList == null) {
this.eventCategoriesList = null;
return;
}
this.eventCategoriesList = new com.amazonaws.internal.SdkInternalList(
eventCategoriesList);
}
/**
*
* The list of Amazon Redshift event categories specified in the event
* notification subscription.
*
*
* Values: Configuration, Management, Monitoring, Security
*
*
* 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
* The list of Amazon Redshift event categories specified in the
* event notification subscription.
*
* Values: Configuration, Management, Monitoring, Security
* @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 com.amazonaws.internal.SdkInternalList(
eventCategoriesList.length));
}
for (String ele : eventCategoriesList) {
this.eventCategoriesList.add(ele);
}
return this;
}
/**
*
* The list of Amazon Redshift event categories specified in the event
* notification subscription.
*
*
* Values: Configuration, Management, Monitoring, Security
*
*
* @param eventCategoriesList
* The list of Amazon Redshift event categories specified in the
* event notification subscription.
*
* Values: Configuration, Management, Monitoring, Security
* @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;
}
/**
*
* The event severity specified in the Amazon Redshift event notification
* subscription.
*
*
* Values: ERROR, INFO
*
*
* @param severity
* The event severity specified in the Amazon Redshift event
* notification subscription.
*
* Values: ERROR, INFO
*/
public void setSeverity(String severity) {
this.severity = severity;
}
/**
*
* The event severity specified in the Amazon Redshift event notification
* subscription.
*
*
* Values: ERROR, INFO
*
*
* @return The event severity specified in the Amazon Redshift event
* notification subscription.
*
* Values: ERROR, INFO
*/
public String getSeverity() {
return this.severity;
}
/**
*
* The event severity specified in the Amazon Redshift event notification
* subscription.
*
*
* Values: ERROR, INFO
*
*
* @param severity
* The event severity specified in the Amazon Redshift event
* notification subscription.
*
* Values: ERROR, INFO
* @return Returns a reference to this object so that method calls can be
* chained together.
*/
public EventSubscription withSeverity(String severity) {
setSeverity(severity);
return this;
}
/**
*
* A Boolean value indicating whether the subscription is enabled.
* true
indicates the subscription is enabled.
*
*
* @param enabled
* A Boolean value indicating whether the subscription is enabled.
* true
indicates the subscription is enabled.
*/
public void setEnabled(Boolean enabled) {
this.enabled = enabled;
}
/**
*
* A Boolean value indicating whether the subscription is enabled.
* true
indicates the subscription is enabled.
*
*
* @return A Boolean value indicating whether the subscription is enabled.
* true
indicates the subscription is enabled.
*/
public Boolean getEnabled() {
return this.enabled;
}
/**
*
* A Boolean value indicating whether the subscription is enabled.
* true
indicates the subscription is enabled.
*
*
* @param enabled
* A Boolean value indicating whether the subscription is enabled.
* true
indicates 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.
* true
indicates the subscription is enabled.
*
*
* @return A Boolean value indicating whether the subscription is enabled.
* true
indicates the subscription is enabled.
*/
public Boolean isEnabled() {
return this.enabled;
}
/**
*
* The list of tags for the event subscription.
*
*
* @return The list of tags for the event subscription.
*/
public java.util.List getTags() {
if (tags == null) {
tags = new com.amazonaws.internal.SdkInternalList();
}
return tags;
}
/**
*
* The list of tags for the event subscription.
*
*
* @param tags
* The list of tags for the event subscription.
*/
public void setTags(java.util.Collection tags) {
if (tags == null) {
this.tags = null;
return;
}
this.tags = new com.amazonaws.internal.SdkInternalList(tags);
}
/**
*
* The list of tags for the event subscription.
*
*
* NOTE: This method appends the values to the existing list (if
* any). Use {@link #setTags(java.util.Collection)} or
* {@link #withTags(java.util.Collection)} if you want to override the
* existing values.
*
*
* @param tags
* The list of tags for the event subscription.
* @return Returns a reference to this object so that method calls can be
* chained together.
*/
public EventSubscription withTags(Tag... tags) {
if (this.tags == null) {
setTags(new com.amazonaws.internal.SdkInternalList(tags.length));
}
for (Tag ele : tags) {
this.tags.add(ele);
}
return this;
}
/**
*
* The list of tags for the event subscription.
*
*
* @param tags
* The list of tags for the event subscription.
* @return Returns a reference to this object so that method calls can be
* chained together.
*/
public EventSubscription withTags(java.util.Collection tags) {
setTags(tags);
return this;
}
/**
* Returns a string representation of this object; useful for testing and
* debugging.
*
* @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: " + getCustomerAwsId() + ",");
if (getCustSubscriptionId() != null)
sb.append("CustSubscriptionId: " + getCustSubscriptionId() + ",");
if (getSnsTopicArn() != null)
sb.append("SnsTopicArn: " + getSnsTopicArn() + ",");
if (getStatus() != null)
sb.append("Status: " + getStatus() + ",");
if (getSubscriptionCreationTime() != null)
sb.append("SubscriptionCreationTime: "
+ getSubscriptionCreationTime() + ",");
if (getSourceType() != null)
sb.append("SourceType: " + getSourceType() + ",");
if (getSourceIdsList() != null)
sb.append("SourceIdsList: " + getSourceIdsList() + ",");
if (getEventCategoriesList() != null)
sb.append("EventCategoriesList: " + getEventCategoriesList() + ",");
if (getSeverity() != null)
sb.append("Severity: " + getSeverity() + ",");
if (getEnabled() != null)
sb.append("Enabled: " + getEnabled() + ",");
if (getTags() != null)
sb.append("Tags: " + getTags());
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.getSeverity() == null ^ this.getSeverity() == null)
return false;
if (other.getSeverity() != null
&& other.getSeverity().equals(this.getSeverity()) == 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.getTags() == null ^ this.getTags() == null)
return false;
if (other.getTags() != null
&& other.getTags().equals(this.getTags()) == 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
+ ((getSeverity() == null) ? 0 : getSeverity().hashCode());
hashCode = prime * hashCode
+ ((getEnabled() == null) ? 0 : getEnabled().hashCode());
hashCode = prime * hashCode
+ ((getTags() == null) ? 0 : getTags().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);
}
}
}