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

com.amazonaws.services.redshift.model.CreateEventSubscriptionRequest 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;
import com.amazonaws.AmazonWebServiceRequest;

/**
 * 

*/ public class CreateEventSubscriptionRequest extends AmazonWebServiceRequest implements Serializable, Cloneable { /** *

* The name of the event subscription to be created. *

*

* Constraints: *

*
    *
  • Cannot be null, empty, or blank.
  • *
  • Must contain from 1 to 255 alphanumeric characters or hyphens.
  • *
  • First character must be a letter.
  • *
  • Cannot end with a hyphen or contain two consecutive hyphens.
  • *
*/ private String subscriptionName; /** *

* The Amazon Resource Name (ARN) of the Amazon SNS topic used to transmit * the event notifications. The ARN is created by Amazon SNS when you create * a topic and subscribe to it. *

*/ private String snsTopicArn; /** *

* The type of source that will be generating the events. For example, if * you want to be notified of events generated by a cluster, you would set * this parameter to cluster. If this value is not specified, events are * returned for all Amazon Redshift objects in your AWS account. You must * specify a source type in order to specify source IDs. *

*

* Valid values: cluster, cluster-parameter-group, cluster-security-group, * and cluster-snapshot. *

*/ private String sourceType; /** *

* A list of one or more identifiers of Amazon Redshift source objects. All * of the objects must be of the same type as was specified in the source * type parameter. The event subscription will return only events generated * by the specified objects. If not specified, then events are returned for * all objects within the source type specified. *

*

* Example: my-cluster-1, my-cluster-2 *

*

* Example: my-snapshot-20131010 *

*/ private com.amazonaws.internal.SdkInternalList sourceIds; /** *

* Specifies the Amazon Redshift event categories to be published by the * event notification subscription. *

*

* Values: Configuration, Management, Monitoring, Security *

*/ private com.amazonaws.internal.SdkInternalList eventCategories; /** *

* Specifies the Amazon Redshift event severity to be published by the event * notification subscription. *

*

* Values: ERROR, INFO *

*/ private String severity; /** *

* A Boolean value; set to true to activate the subscription, * set to false to create the subscription but not active it. *

*/ private Boolean enabled; /** *

* A list of tag instances. *

*/ private com.amazonaws.internal.SdkInternalList tags; /** *

* The name of the event subscription to be created. *

*

* Constraints: *

*
    *
  • Cannot be null, empty, or blank.
  • *
  • Must contain from 1 to 255 alphanumeric characters or hyphens.
  • *
  • First character must be a letter.
  • *
  • Cannot end with a hyphen or contain two consecutive hyphens.
  • *
* * @param subscriptionName * The name of the event subscription to be created.

*

* Constraints: *

*
    *
  • Cannot be null, empty, or blank.
  • *
  • Must contain from 1 to 255 alphanumeric characters or hyphens. *
  • *
  • First character must be a letter.
  • *
  • Cannot end with a hyphen or contain two consecutive hyphens.
  • */ public void setSubscriptionName(String subscriptionName) { this.subscriptionName = subscriptionName; } /** *

    * The name of the event subscription to be created. *

    *

    * Constraints: *

    *
      *
    • Cannot be null, empty, or blank.
    • *
    • Must contain from 1 to 255 alphanumeric characters or hyphens.
    • *
    • First character must be a letter.
    • *
    • Cannot end with a hyphen or contain two consecutive hyphens.
    • *
    * * @return The name of the event subscription to be created.

    *

    * Constraints: *

    *
      *
    • Cannot be null, empty, or blank.
    • *
    • Must contain from 1 to 255 alphanumeric characters or * hyphens.
    • *
    • First character must be a letter.
    • *
    • Cannot end with a hyphen or contain two consecutive hyphens.
    • */ public String getSubscriptionName() { return this.subscriptionName; } /** *

      * The name of the event subscription to be created. *

      *

      * Constraints: *

      *
        *
      • Cannot be null, empty, or blank.
      • *
      • Must contain from 1 to 255 alphanumeric characters or hyphens.
      • *
      • First character must be a letter.
      • *
      • Cannot end with a hyphen or contain two consecutive hyphens.
      • *
      * * @param subscriptionName * The name of the event subscription to be created.

      *

      * Constraints: *

      *
        *
      • Cannot be null, empty, or blank.
      • *
      • Must contain from 1 to 255 alphanumeric characters or hyphens. *
      • *
      • First character must be a letter.
      • *
      • Cannot end with a hyphen or contain two consecutive hyphens.
      • * @return Returns a reference to this object so that method calls can be * chained together. */ public CreateEventSubscriptionRequest withSubscriptionName( String subscriptionName) { setSubscriptionName(subscriptionName); return this; } /** *

        * The Amazon Resource Name (ARN) of the Amazon SNS topic used to transmit * the event notifications. The ARN is created by Amazon SNS when you create * a topic and subscribe to it. *

        * * @param snsTopicArn * The Amazon Resource Name (ARN) of the Amazon SNS topic used to * transmit the event notifications. The ARN is created by Amazon SNS * when you create a topic and subscribe to it. */ public void setSnsTopicArn(String snsTopicArn) { this.snsTopicArn = snsTopicArn; } /** *

        * The Amazon Resource Name (ARN) of the Amazon SNS topic used to transmit * the event notifications. The ARN is created by Amazon SNS when you create * a topic and subscribe to it. *

        * * @return The Amazon Resource Name (ARN) of the Amazon SNS topic used to * transmit the event notifications. The ARN is created by Amazon * SNS when you create a topic and subscribe to it. */ public String getSnsTopicArn() { return this.snsTopicArn; } /** *

        * The Amazon Resource Name (ARN) of the Amazon SNS topic used to transmit * the event notifications. The ARN is created by Amazon SNS when you create * a topic and subscribe to it. *

        * * @param snsTopicArn * The Amazon Resource Name (ARN) of the Amazon SNS topic used to * transmit the event notifications. The ARN is created by Amazon SNS * when you create a topic and subscribe to it. * @return Returns a reference to this object so that method calls can be * chained together. */ public CreateEventSubscriptionRequest withSnsTopicArn(String snsTopicArn) { setSnsTopicArn(snsTopicArn); return this; } /** *

        * The type of source that will be generating the events. For example, if * you want to be notified of events generated by a cluster, you would set * this parameter to cluster. If this value is not specified, events are * returned for all Amazon Redshift objects in your AWS account. You must * specify a source type in order to specify source IDs. *

        *

        * Valid values: cluster, cluster-parameter-group, cluster-security-group, * and cluster-snapshot. *

        * * @param sourceType * The type of source that will be generating the events. For * example, if you want to be notified of events generated by a * cluster, you would set this parameter to cluster. If this value is * not specified, events are returned for all Amazon Redshift objects * in your AWS account. You must specify a source type in order to * specify source IDs.

        *

        * Valid values: cluster, cluster-parameter-group, * cluster-security-group, and cluster-snapshot. */ public void setSourceType(String sourceType) { this.sourceType = sourceType; } /** *

        * The type of source that will be generating the events. For example, if * you want to be notified of events generated by a cluster, you would set * this parameter to cluster. If this value is not specified, events are * returned for all Amazon Redshift objects in your AWS account. You must * specify a source type in order to specify source IDs. *

        *

        * Valid values: cluster, cluster-parameter-group, cluster-security-group, * and cluster-snapshot. *

        * * @return The type of source that will be generating the events. For * example, if you want to be notified of events generated by a * cluster, you would set this parameter to cluster. If this value * is not specified, events are returned for all Amazon Redshift * objects in your AWS account. You must specify a source type in * order to specify source IDs.

        *

        * Valid values: cluster, cluster-parameter-group, * cluster-security-group, and cluster-snapshot. */ public String getSourceType() { return this.sourceType; } /** *

        * The type of source that will be generating the events. For example, if * you want to be notified of events generated by a cluster, you would set * this parameter to cluster. If this value is not specified, events are * returned for all Amazon Redshift objects in your AWS account. You must * specify a source type in order to specify source IDs. *

        *

        * Valid values: cluster, cluster-parameter-group, cluster-security-group, * and cluster-snapshot. *

        * * @param sourceType * The type of source that will be generating the events. For * example, if you want to be notified of events generated by a * cluster, you would set this parameter to cluster. If this value is * not specified, events are returned for all Amazon Redshift objects * in your AWS account. You must specify a source type in order to * specify source IDs.

        *

        * Valid values: cluster, cluster-parameter-group, * cluster-security-group, and cluster-snapshot. * @return Returns a reference to this object so that method calls can be * chained together. */ public CreateEventSubscriptionRequest withSourceType(String sourceType) { setSourceType(sourceType); return this; } /** *

        * A list of one or more identifiers of Amazon Redshift source objects. All * of the objects must be of the same type as was specified in the source * type parameter. The event subscription will return only events generated * by the specified objects. If not specified, then events are returned for * all objects within the source type specified. *

        *

        * Example: my-cluster-1, my-cluster-2 *

        *

        * Example: my-snapshot-20131010 *

        * * @return A list of one or more identifiers of Amazon Redshift source * objects. All of the objects must be of the same type as was * specified in the source type parameter. The event subscription * will return only events generated by the specified objects. If * not specified, then events are returned for all objects within * the source type specified.

        *

        * Example: my-cluster-1, my-cluster-2 *

        *

        * Example: my-snapshot-20131010 */ public java.util.List getSourceIds() { if (sourceIds == null) { sourceIds = new com.amazonaws.internal.SdkInternalList(); } return sourceIds; } /** *

        * A list of one or more identifiers of Amazon Redshift source objects. All * of the objects must be of the same type as was specified in the source * type parameter. The event subscription will return only events generated * by the specified objects. If not specified, then events are returned for * all objects within the source type specified. *

        *

        * Example: my-cluster-1, my-cluster-2 *

        *

        * Example: my-snapshot-20131010 *

        * * @param sourceIds * A list of one or more identifiers of Amazon Redshift source * objects. All of the objects must be of the same type as was * specified in the source type parameter. The event subscription * will return only events generated by the specified objects. If not * specified, then events are returned for all objects within the * source type specified.

        *

        * Example: my-cluster-1, my-cluster-2 *

        *

        * Example: my-snapshot-20131010 */ public void setSourceIds(java.util.Collection sourceIds) { if (sourceIds == null) { this.sourceIds = null; return; } this.sourceIds = new com.amazonaws.internal.SdkInternalList( sourceIds); } /** *

        * A list of one or more identifiers of Amazon Redshift source objects. All * of the objects must be of the same type as was specified in the source * type parameter. The event subscription will return only events generated * by the specified objects. If not specified, then events are returned for * all objects within the source type specified. *

        *

        * Example: my-cluster-1, my-cluster-2 *

        *

        * Example: my-snapshot-20131010 *

        *

        * NOTE: This method appends the values to the existing list (if * any). Use {@link #setSourceIds(java.util.Collection)} or * {@link #withSourceIds(java.util.Collection)} if you want to override the * existing values. *

        * * @param sourceIds * A list of one or more identifiers of Amazon Redshift source * objects. All of the objects must be of the same type as was * specified in the source type parameter. The event subscription * will return only events generated by the specified objects. If not * specified, then events are returned for all objects within the * source type specified.

        *

        * Example: my-cluster-1, my-cluster-2 *

        *

        * Example: my-snapshot-20131010 * @return Returns a reference to this object so that method calls can be * chained together. */ public CreateEventSubscriptionRequest withSourceIds(String... sourceIds) { if (this.sourceIds == null) { setSourceIds(new com.amazonaws.internal.SdkInternalList( sourceIds.length)); } for (String ele : sourceIds) { this.sourceIds.add(ele); } return this; } /** *

        * A list of one or more identifiers of Amazon Redshift source objects. All * of the objects must be of the same type as was specified in the source * type parameter. The event subscription will return only events generated * by the specified objects. If not specified, then events are returned for * all objects within the source type specified. *

        *

        * Example: my-cluster-1, my-cluster-2 *

        *

        * Example: my-snapshot-20131010 *

        * * @param sourceIds * A list of one or more identifiers of Amazon Redshift source * objects. All of the objects must be of the same type as was * specified in the source type parameter. The event subscription * will return only events generated by the specified objects. If not * specified, then events are returned for all objects within the * source type specified.

        *

        * Example: my-cluster-1, my-cluster-2 *

        *

        * Example: my-snapshot-20131010 * @return Returns a reference to this object so that method calls can be * chained together. */ public CreateEventSubscriptionRequest withSourceIds( java.util.Collection sourceIds) { setSourceIds(sourceIds); return this; } /** *

        * Specifies the Amazon Redshift event categories to be published by the * event notification subscription. *

        *

        * Values: Configuration, Management, Monitoring, Security *

        * * @return Specifies the Amazon Redshift event categories to be published by * the event notification subscription.

        *

        * Values: Configuration, Management, Monitoring, Security */ public java.util.List getEventCategories() { if (eventCategories == null) { eventCategories = new com.amazonaws.internal.SdkInternalList(); } return eventCategories; } /** *

        * Specifies the Amazon Redshift event categories to be published by the * event notification subscription. *

        *

        * Values: Configuration, Management, Monitoring, Security *

        * * @param eventCategories * Specifies the Amazon Redshift event categories to be published by * the event notification subscription.

        *

        * Values: Configuration, Management, Monitoring, Security */ public void setEventCategories(java.util.Collection eventCategories) { if (eventCategories == null) { this.eventCategories = null; return; } this.eventCategories = new com.amazonaws.internal.SdkInternalList( eventCategories); } /** *

        * Specifies the Amazon Redshift event categories to be published by the * event notification subscription. *

        *

        * Values: Configuration, Management, Monitoring, Security *

        *

        * NOTE: This method appends the values to the existing list (if * any). Use {@link #setEventCategories(java.util.Collection)} or * {@link #withEventCategories(java.util.Collection)} if you want to * override the existing values. *

        * * @param eventCategories * Specifies the Amazon Redshift event categories to be published by * 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 CreateEventSubscriptionRequest withEventCategories( String... eventCategories) { if (this.eventCategories == null) { setEventCategories(new com.amazonaws.internal.SdkInternalList( eventCategories.length)); } for (String ele : eventCategories) { this.eventCategories.add(ele); } return this; } /** *

        * Specifies the Amazon Redshift event categories to be published by the * event notification subscription. *

        *

        * Values: Configuration, Management, Monitoring, Security *

        * * @param eventCategories * Specifies the Amazon Redshift event categories to be published by * 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 CreateEventSubscriptionRequest withEventCategories( java.util.Collection eventCategories) { setEventCategories(eventCategories); return this; } /** *

        * Specifies the Amazon Redshift event severity to be published by the event * notification subscription. *

        *

        * Values: ERROR, INFO *

        * * @param severity * Specifies the Amazon Redshift event severity to be published by * the event notification subscription.

        *

        * Values: ERROR, INFO */ public void setSeverity(String severity) { this.severity = severity; } /** *

        * Specifies the Amazon Redshift event severity to be published by the event * notification subscription. *

        *

        * Values: ERROR, INFO *

        * * @return Specifies the Amazon Redshift event severity to be published by * the event notification subscription.

        *

        * Values: ERROR, INFO */ public String getSeverity() { return this.severity; } /** *

        * Specifies the Amazon Redshift event severity to be published by the event * notification subscription. *

        *

        * Values: ERROR, INFO *

        * * @param severity * Specifies the Amazon Redshift event severity to be published by * the event notification subscription.

        *

        * Values: ERROR, INFO * @return Returns a reference to this object so that method calls can be * chained together. */ public CreateEventSubscriptionRequest withSeverity(String severity) { setSeverity(severity); return this; } /** *

        * A Boolean value; set to true to activate the subscription, * set to false to create the subscription but not active it. *

        * * @param enabled * A Boolean value; set to true to activate the * subscription, set to false to create the subscription * but not active it. */ public void setEnabled(Boolean enabled) { this.enabled = enabled; } /** *

        * A Boolean value; set to true to activate the subscription, * set to false to create the subscription but not active it. *

        * * @return A Boolean value; set to true to activate the * subscription, set to false to create the * subscription but not active it. */ public Boolean getEnabled() { return this.enabled; } /** *

        * A Boolean value; set to true to activate the subscription, * set to false to create the subscription but not active it. *

        * * @param enabled * A Boolean value; set to true to activate the * subscription, set to false to create the subscription * but not active it. * @return Returns a reference to this object so that method calls can be * chained together. */ public CreateEventSubscriptionRequest withEnabled(Boolean enabled) { setEnabled(enabled); return this; } /** *

        * A Boolean value; set to true to activate the subscription, * set to false to create the subscription but not active it. *

        * * @return A Boolean value; set to true to activate the * subscription, set to false to create the * subscription but not active it. */ public Boolean isEnabled() { return this.enabled; } /** *

        * A list of tag instances. *

        * * @return A list of tag instances. */ public java.util.List getTags() { if (tags == null) { tags = new com.amazonaws.internal.SdkInternalList(); } return tags; } /** *

        * A list of tag instances. *

        * * @param tags * A list of tag instances. */ public void setTags(java.util.Collection tags) { if (tags == null) { this.tags = null; return; } this.tags = new com.amazonaws.internal.SdkInternalList(tags); } /** *

        * A list of tag instances. *

        *

        * 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 * A list of tag instances. * @return Returns a reference to this object so that method calls can be * chained together. */ public CreateEventSubscriptionRequest 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; } /** *

        * A list of tag instances. *

        * * @param tags * A list of tag instances. * @return Returns a reference to this object so that method calls can be * chained together. */ public CreateEventSubscriptionRequest 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 (getSubscriptionName() != null) sb.append("SubscriptionName: " + getSubscriptionName() + ","); if (getSnsTopicArn() != null) sb.append("SnsTopicArn: " + getSnsTopicArn() + ","); if (getSourceType() != null) sb.append("SourceType: " + getSourceType() + ","); if (getSourceIds() != null) sb.append("SourceIds: " + getSourceIds() + ","); if (getEventCategories() != null) sb.append("EventCategories: " + getEventCategories() + ","); 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 CreateEventSubscriptionRequest == false) return false; CreateEventSubscriptionRequest other = (CreateEventSubscriptionRequest) obj; if (other.getSubscriptionName() == null ^ this.getSubscriptionName() == null) return false; if (other.getSubscriptionName() != null && other.getSubscriptionName().equals( this.getSubscriptionName()) == 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.getSourceType() == null ^ this.getSourceType() == null) return false; if (other.getSourceType() != null && other.getSourceType().equals(this.getSourceType()) == false) return false; if (other.getSourceIds() == null ^ this.getSourceIds() == null) return false; if (other.getSourceIds() != null && other.getSourceIds().equals(this.getSourceIds()) == false) return false; if (other.getEventCategories() == null ^ this.getEventCategories() == null) return false; if (other.getEventCategories() != null && other.getEventCategories().equals(this.getEventCategories()) == 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 + ((getSubscriptionName() == null) ? 0 : getSubscriptionName() .hashCode()); hashCode = prime * hashCode + ((getSnsTopicArn() == null) ? 0 : getSnsTopicArn().hashCode()); hashCode = prime * hashCode + ((getSourceType() == null) ? 0 : getSourceType().hashCode()); hashCode = prime * hashCode + ((getSourceIds() == null) ? 0 : getSourceIds().hashCode()); hashCode = prime * hashCode + ((getEventCategories() == null) ? 0 : getEventCategories() .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 CreateEventSubscriptionRequest clone() { return (CreateEventSubscriptionRequest) super.clone(); } }




© 2015 - 2025 Weber Informatics LLC | Privacy Policy