All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.amazonaws.services.redshift.model.EventSubscription Maven / Gradle / Ivy

Go to download

The AWS SDK for Java with support for OSGi. The AWS SDK for Java provides Java APIs for building software on AWS' cost-effective, scalable, and reliable infrastructure products. The AWS Java SDK allows developers to code against APIs for all of Amazon's infrastructure web services (Amazon S3, Amazon EC2, Amazon SQS, Amazon Relational Database Service, Amazon AutoScaling, etc).

There is a newer version: 1.11.60
Show newest version
/*
 * Copyright 2011-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); } } }




© 2015 - 2025 Weber Informatics LLC | Privacy Policy