com.amazonaws.services.redshift.model.EnableLoggingRequest Maven / Gradle / Ivy
Show all versions of aws-java-sdk-osgi 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;
import com.amazonaws.AmazonWebServiceRequest;
/**
 * 
 * 
 */
public class EnableLoggingRequest extends AmazonWebServiceRequest implements
        Serializable, Cloneable {
    /**
     * 
     * The identifier of the cluster on which logging is to be started.
     * 
     * 
     * Example: examplecluster
     * 
     */
    private String clusterIdentifier;
    /**
     * 
     * The name of an existing S3 bucket where the log files are to be stored.
     * 
     * 
     * Constraints:
     * 
     * 
     * - Must be in the same region as the cluster
 
     * - The cluster must have read bucket and put object permissions
 
     * 
     */
    private String bucketName;
    /**
     * 
     * The prefix applied to the log file names.
     * 
     * 
     * Constraints:
     * 
     * 
     * - Cannot exceed 512 characters
 
     * - Cannot contain spaces( ), double quotes ("), single quotes ('), a
     * backslash (\), or control characters. The hexadecimal codes for invalid
     * characters are:
     * 
     * - x00 to x20
 
     * - x22
 
     * - x27
 
     * - x5c
 
     * - x7f or larger
 
     * 
     *  
     * 
     */
    private String s3KeyPrefix;
    /**
     * 
     * The identifier of the cluster on which logging is to be started.
     * 
     * 
     * Example: examplecluster
     * 
     * 
     * @param clusterIdentifier
     *        The identifier of the cluster on which logging is to be started.
     *        
     *        
     *        Example: examplecluster
     */
    public void setClusterIdentifier(String clusterIdentifier) {
        this.clusterIdentifier = clusterIdentifier;
    }
    /**
     * 
     * The identifier of the cluster on which logging is to be started.
     * 
     * 
     * Example: examplecluster
     * 
     * 
     * @return The identifier of the cluster on which logging is to be started.
     *         
     *         
     *         Example: examplecluster
     */
    public String getClusterIdentifier() {
        return this.clusterIdentifier;
    }
    /**
     * 
     * The identifier of the cluster on which logging is to be started.
     * 
     * 
     * Example: examplecluster
     * 
     * 
     * @param clusterIdentifier
     *        The identifier of the cluster on which logging is to be started.
     *        
     *        
     *        Example: examplecluster
     * @return Returns a reference to this object so that method calls can be
     *         chained together.
     */
    public EnableLoggingRequest withClusterIdentifier(String clusterIdentifier) {
        setClusterIdentifier(clusterIdentifier);
        return this;
    }
    /**
     * 
     * The name of an existing S3 bucket where the log files are to be stored.
     * 
     * 
     * Constraints:
     * 
     * 
     * - Must be in the same region as the cluster
 
     * - The cluster must have read bucket and put object permissions
 
     * 
     * 
     * @param bucketName
     *        The name of an existing S3 bucket where the log files are to be
     *        stored. 
     *        
     *        Constraints:
     *        
     *        
     *        - Must be in the same region as the cluster
 
     *        - The cluster must have read bucket and put object permissions
 
     */
    public void setBucketName(String bucketName) {
        this.bucketName = bucketName;
    }
    /**
     * 
     * The name of an existing S3 bucket where the log files are to be stored.
     * 
     * 
     * Constraints:
     * 
     * 
     * - Must be in the same region as the cluster
 
     * - The cluster must have read bucket and put object permissions
 
     * 
     * 
     * @return The name of an existing S3 bucket where the log files are to be
     *         stored. 
     *         
     *         Constraints:
     *         
     *         
     *         - Must be in the same region as the cluster
 
     *         - The cluster must have read bucket and put object permissions
 
     */
    public String getBucketName() {
        return this.bucketName;
    }
    /**
     * 
     * The name of an existing S3 bucket where the log files are to be stored.
     * 
     * 
     * Constraints:
     * 
     * 
     * - Must be in the same region as the cluster
 
     * - The cluster must have read bucket and put object permissions
 
     * 
     * 
     * @param bucketName
     *        The name of an existing S3 bucket where the log files are to be
     *        stored. 
     *        
     *        Constraints:
     *        
     *        
     *        - Must be in the same region as the cluster
 
     *        - The cluster must have read bucket and put object permissions
 
     * @return Returns a reference to this object so that method calls can be
     *         chained together.
     */
    public EnableLoggingRequest withBucketName(String bucketName) {
        setBucketName(bucketName);
        return this;
    }
    /**
     * 
     * The prefix applied to the log file names.
     * 
     * 
     * Constraints:
     * 
     * 
     * - Cannot exceed 512 characters
 
     * - Cannot contain spaces( ), double quotes ("), single quotes ('), a
     * backslash (\), or control characters. The hexadecimal codes for invalid
     * characters are:
     * 
     * - x00 to x20
 
     * - x22
 
     * - x27
 
     * - x5c
 
     * - x7f or larger
 
     * 
     *  
     * 
     * 
     * @param s3KeyPrefix
     *        The prefix applied to the log file names. 
     *        
     *        Constraints:
     *        
     *        
     *        - Cannot exceed 512 characters
 
     *        - Cannot contain spaces( ), double quotes ("), single quotes
     *        ('), a backslash (\), or control characters. The hexadecimal codes
     *        for invalid characters are:
     *        
     *        - x00 to x20
 
     *        - x22
 
     *        - x27
 
     *        - x5c
 
     *        - x7f or larger
 
     *        
     *         
     */
    public void setS3KeyPrefix(String s3KeyPrefix) {
        this.s3KeyPrefix = s3KeyPrefix;
    }
    /**
     * 
     * The prefix applied to the log file names.
     * 
     * 
     * Constraints:
     * 
     * 
     * - Cannot exceed 512 characters
 
     * - Cannot contain spaces( ), double quotes ("), single quotes ('), a
     * backslash (\), or control characters. The hexadecimal codes for invalid
     * characters are:
     * 
     * - x00 to x20
 
     * - x22
 
     * - x27
 
     * - x5c
 
     * - x7f or larger
 
     * 
     *  
     * 
     * 
     * @return The prefix applied to the log file names. 
     *         
     *         Constraints:
     *         
     *         
     *         - Cannot exceed 512 characters
 
     *         - Cannot contain spaces( ), double quotes ("), single quotes
     *         ('), a backslash (\), or control characters. The hexadecimal
     *         codes for invalid characters are:
     *         
     *         - x00 to x20
 
     *         - x22
 
     *         - x27
 
     *         - x5c
 
     *         - x7f or larger
 
     *         
     *          
     */
    public String getS3KeyPrefix() {
        return this.s3KeyPrefix;
    }
    /**
     * 
     * The prefix applied to the log file names.
     * 
     * 
     * Constraints:
     * 
     * 
     * - Cannot exceed 512 characters
 
     * - Cannot contain spaces( ), double quotes ("), single quotes ('), a
     * backslash (\), or control characters. The hexadecimal codes for invalid
     * characters are:
     * 
     * - x00 to x20
 
     * - x22
 
     * - x27
 
     * - x5c
 
     * - x7f or larger
 
     * 
     *  
     * 
     * 
     * @param s3KeyPrefix
     *        The prefix applied to the log file names. 
     *        
     *        Constraints:
     *        
     *        
     *        - Cannot exceed 512 characters
 
     *        - Cannot contain spaces( ), double quotes ("), single quotes
     *        ('), a backslash (\), or control characters. The hexadecimal codes
     *        for invalid characters are:
     *        
     *        - x00 to x20
 
     *        - x22
 
     *        - x27
 
     *        - x5c
 
     *        - x7f or larger
 
     *        
     *         
     * @return Returns a reference to this object so that method calls can be
     *         chained together.
     */
    public EnableLoggingRequest withS3KeyPrefix(String s3KeyPrefix) {
        setS3KeyPrefix(s3KeyPrefix);
        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 (getClusterIdentifier() != null)
            sb.append("ClusterIdentifier: " + getClusterIdentifier() + ",");
        if (getBucketName() != null)
            sb.append("BucketName: " + getBucketName() + ",");
        if (getS3KeyPrefix() != null)
            sb.append("S3KeyPrefix: " + getS3KeyPrefix());
        sb.append("}");
        return sb.toString();
    }
    @Override
    public boolean equals(Object obj) {
        if (this == obj)
            return true;
        if (obj == null)
            return false;
        if (obj instanceof EnableLoggingRequest == false)
            return false;
        EnableLoggingRequest other = (EnableLoggingRequest) obj;
        if (other.getClusterIdentifier() == null
                ^ this.getClusterIdentifier() == null)
            return false;
        if (other.getClusterIdentifier() != null
                && other.getClusterIdentifier().equals(
                        this.getClusterIdentifier()) == false)
            return false;
        if (other.getBucketName() == null ^ this.getBucketName() == null)
            return false;
        if (other.getBucketName() != null
                && other.getBucketName().equals(this.getBucketName()) == false)
            return false;
        if (other.getS3KeyPrefix() == null ^ this.getS3KeyPrefix() == null)
            return false;
        if (other.getS3KeyPrefix() != null
                && other.getS3KeyPrefix().equals(this.getS3KeyPrefix()) == false)
            return false;
        return true;
    }
    @Override
    public int hashCode() {
        final int prime = 31;
        int hashCode = 1;
        hashCode = prime
                * hashCode
                + ((getClusterIdentifier() == null) ? 0
                        : getClusterIdentifier().hashCode());
        hashCode = prime * hashCode
                + ((getBucketName() == null) ? 0 : getBucketName().hashCode());
        hashCode = prime
                * hashCode
                + ((getS3KeyPrefix() == null) ? 0 : getS3KeyPrefix().hashCode());
        return hashCode;
    }
    @Override
    public EnableLoggingRequest clone() {
        return (EnableLoggingRequest) super.clone();
    }
}