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

com.amazonaws.services.pipes.model.PipeLogConfigurationParameters Maven / Gradle / Ivy

Go to download

The AWS Java SDK for Amazon EventBridge Pipes module holds the client classes that are used for communicating with Amazon EventBridge Pipes Service

The newest version!
/*
 * 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.pipes.model;

import java.io.Serializable;
import javax.annotation.Generated;
import com.amazonaws.protocol.StructuredPojo;
import com.amazonaws.protocol.ProtocolMarshaller;

/**
 * 

* Specifies the logging configuration settings for the pipe. *

*

* When you call UpdatePipe, EventBridge updates the fields in the * PipeLogConfigurationParameters object atomically as one and overrides existing values. This is by * design. If you don't specify an optional field in any of the Amazon Web Services service parameters objects ( * CloudwatchLogsLogDestinationParameters, FirehoseLogDestinationParameters, or * S3LogDestinationParameters), EventBridge sets that field to its system-default value during the update. *

*

* For example, suppose when you created the pipe you specified a Firehose stream log destination. You then update the * pipe to add an Amazon S3 log destination. In addition to specifying the S3LogDestinationParameters for * the new log destination, you must also specify the fields in the FirehoseLogDestinationParameters object * in order to retain the Firehose stream log destination. *

*

* For more information on generating pipe log records, see Log EventBridge Pipes in the Amazon EventBridge User * Guide. *

* * @see AWS API Documentation */ @Generated("com.amazonaws:aws-java-sdk-code-generator") public class PipeLogConfigurationParameters implements Serializable, Cloneable, StructuredPojo { /** *

* The Amazon S3 logging configuration settings for the pipe. *

*/ private S3LogDestinationParameters s3LogDestination; /** *

* The Amazon Data Firehose logging configuration settings for the pipe. *

*/ private FirehoseLogDestinationParameters firehoseLogDestination; /** *

* The Amazon CloudWatch Logs logging configuration settings for the pipe. *

*/ private CloudwatchLogsLogDestinationParameters cloudwatchLogsLogDestination; /** *

* The level of logging detail to include. This applies to all log destinations for the pipe. *

*

* For more information, see Specifying * EventBridge Pipes log level in the Amazon EventBridge User Guide. *

*/ private String level; /** *

* Specify ALL to include the execution data (specifically, the payload, * awsRequest, and awsResponse fields) in the log messages for this pipe. *

*

* This applies to all log destinations for the pipe. *

*

* For more information, see Including execution data in logs in the Amazon EventBridge User Guide. *

*

* By default, execution data is not included. *

*/ private java.util.List includeExecutionData; /** *

* The Amazon S3 logging configuration settings for the pipe. *

* * @param s3LogDestination * The Amazon S3 logging configuration settings for the pipe. */ public void setS3LogDestination(S3LogDestinationParameters s3LogDestination) { this.s3LogDestination = s3LogDestination; } /** *

* The Amazon S3 logging configuration settings for the pipe. *

* * @return The Amazon S3 logging configuration settings for the pipe. */ public S3LogDestinationParameters getS3LogDestination() { return this.s3LogDestination; } /** *

* The Amazon S3 logging configuration settings for the pipe. *

* * @param s3LogDestination * The Amazon S3 logging configuration settings for the pipe. * @return Returns a reference to this object so that method calls can be chained together. */ public PipeLogConfigurationParameters withS3LogDestination(S3LogDestinationParameters s3LogDestination) { setS3LogDestination(s3LogDestination); return this; } /** *

* The Amazon Data Firehose logging configuration settings for the pipe. *

* * @param firehoseLogDestination * The Amazon Data Firehose logging configuration settings for the pipe. */ public void setFirehoseLogDestination(FirehoseLogDestinationParameters firehoseLogDestination) { this.firehoseLogDestination = firehoseLogDestination; } /** *

* The Amazon Data Firehose logging configuration settings for the pipe. *

* * @return The Amazon Data Firehose logging configuration settings for the pipe. */ public FirehoseLogDestinationParameters getFirehoseLogDestination() { return this.firehoseLogDestination; } /** *

* The Amazon Data Firehose logging configuration settings for the pipe. *

* * @param firehoseLogDestination * The Amazon Data Firehose logging configuration settings for the pipe. * @return Returns a reference to this object so that method calls can be chained together. */ public PipeLogConfigurationParameters withFirehoseLogDestination(FirehoseLogDestinationParameters firehoseLogDestination) { setFirehoseLogDestination(firehoseLogDestination); return this; } /** *

* The Amazon CloudWatch Logs logging configuration settings for the pipe. *

* * @param cloudwatchLogsLogDestination * The Amazon CloudWatch Logs logging configuration settings for the pipe. */ public void setCloudwatchLogsLogDestination(CloudwatchLogsLogDestinationParameters cloudwatchLogsLogDestination) { this.cloudwatchLogsLogDestination = cloudwatchLogsLogDestination; } /** *

* The Amazon CloudWatch Logs logging configuration settings for the pipe. *

* * @return The Amazon CloudWatch Logs logging configuration settings for the pipe. */ public CloudwatchLogsLogDestinationParameters getCloudwatchLogsLogDestination() { return this.cloudwatchLogsLogDestination; } /** *

* The Amazon CloudWatch Logs logging configuration settings for the pipe. *

* * @param cloudwatchLogsLogDestination * The Amazon CloudWatch Logs logging configuration settings for the pipe. * @return Returns a reference to this object so that method calls can be chained together. */ public PipeLogConfigurationParameters withCloudwatchLogsLogDestination(CloudwatchLogsLogDestinationParameters cloudwatchLogsLogDestination) { setCloudwatchLogsLogDestination(cloudwatchLogsLogDestination); return this; } /** *

* The level of logging detail to include. This applies to all log destinations for the pipe. *

*

* For more information, see Specifying * EventBridge Pipes log level in the Amazon EventBridge User Guide. *

* * @param level * The level of logging detail to include. This applies to all log destinations for the pipe.

*

* For more information, see Specifying EventBridge Pipes log level in the Amazon EventBridge User Guide. * @see LogLevel */ public void setLevel(String level) { this.level = level; } /** *

* The level of logging detail to include. This applies to all log destinations for the pipe. *

*

* For more information, see Specifying * EventBridge Pipes log level in the Amazon EventBridge User Guide. *

* * @return The level of logging detail to include. This applies to all log destinations for the pipe.

*

* For more information, see Specifying EventBridge Pipes log level in the Amazon EventBridge User Guide. * @see LogLevel */ public String getLevel() { return this.level; } /** *

* The level of logging detail to include. This applies to all log destinations for the pipe. *

*

* For more information, see Specifying * EventBridge Pipes log level in the Amazon EventBridge User Guide. *

* * @param level * The level of logging detail to include. This applies to all log destinations for the pipe.

*

* For more information, see Specifying EventBridge Pipes log level in the Amazon EventBridge User Guide. * @return Returns a reference to this object so that method calls can be chained together. * @see LogLevel */ public PipeLogConfigurationParameters withLevel(String level) { setLevel(level); return this; } /** *

* The level of logging detail to include. This applies to all log destinations for the pipe. *

*

* For more information, see Specifying * EventBridge Pipes log level in the Amazon EventBridge User Guide. *

* * @param level * The level of logging detail to include. This applies to all log destinations for the pipe.

*

* For more information, see Specifying EventBridge Pipes log level in the Amazon EventBridge User Guide. * @return Returns a reference to this object so that method calls can be chained together. * @see LogLevel */ public PipeLogConfigurationParameters withLevel(LogLevel level) { this.level = level.toString(); return this; } /** *

* Specify ALL to include the execution data (specifically, the payload, * awsRequest, and awsResponse fields) in the log messages for this pipe. *

*

* This applies to all log destinations for the pipe. *

*

* For more information, see Including execution data in logs in the Amazon EventBridge User Guide. *

*

* By default, execution data is not included. *

* * @return Specify ALL to include the execution data (specifically, the payload, * awsRequest, and awsResponse fields) in the log messages for this pipe.

*

* This applies to all log destinations for the pipe. *

*

* For more information, see Including execution data in logs in the Amazon EventBridge User Guide. *

*

* By default, execution data is not included. * @see IncludeExecutionDataOption */ public java.util.List getIncludeExecutionData() { return includeExecutionData; } /** *

* Specify ALL to include the execution data (specifically, the payload, * awsRequest, and awsResponse fields) in the log messages for this pipe. *

*

* This applies to all log destinations for the pipe. *

*

* For more information, see Including execution data in logs in the Amazon EventBridge User Guide. *

*

* By default, execution data is not included. *

* * @param includeExecutionData * Specify ALL to include the execution data (specifically, the payload, * awsRequest, and awsResponse fields) in the log messages for this pipe.

*

* This applies to all log destinations for the pipe. *

*

* For more information, see Including execution data in logs in the Amazon EventBridge User Guide. *

*

* By default, execution data is not included. * @see IncludeExecutionDataOption */ public void setIncludeExecutionData(java.util.Collection includeExecutionData) { if (includeExecutionData == null) { this.includeExecutionData = null; return; } this.includeExecutionData = new java.util.ArrayList(includeExecutionData); } /** *

* Specify ALL to include the execution data (specifically, the payload, * awsRequest, and awsResponse fields) in the log messages for this pipe. *

*

* This applies to all log destinations for the pipe. *

*

* For more information, see Including execution data in logs in the Amazon EventBridge User Guide. *

*

* By default, execution data is not included. *

*

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

* * @param includeExecutionData * Specify ALL to include the execution data (specifically, the payload, * awsRequest, and awsResponse fields) in the log messages for this pipe.

*

* This applies to all log destinations for the pipe. *

*

* For more information, see Including execution data in logs in the Amazon EventBridge User Guide. *

*

* By default, execution data is not included. * @return Returns a reference to this object so that method calls can be chained together. * @see IncludeExecutionDataOption */ public PipeLogConfigurationParameters withIncludeExecutionData(String... includeExecutionData) { if (this.includeExecutionData == null) { setIncludeExecutionData(new java.util.ArrayList(includeExecutionData.length)); } for (String ele : includeExecutionData) { this.includeExecutionData.add(ele); } return this; } /** *

* Specify ALL to include the execution data (specifically, the payload, * awsRequest, and awsResponse fields) in the log messages for this pipe. *

*

* This applies to all log destinations for the pipe. *

*

* For more information, see Including execution data in logs in the Amazon EventBridge User Guide. *

*

* By default, execution data is not included. *

* * @param includeExecutionData * Specify ALL to include the execution data (specifically, the payload, * awsRequest, and awsResponse fields) in the log messages for this pipe.

*

* This applies to all log destinations for the pipe. *

*

* For more information, see Including execution data in logs in the Amazon EventBridge User Guide. *

*

* By default, execution data is not included. * @return Returns a reference to this object so that method calls can be chained together. * @see IncludeExecutionDataOption */ public PipeLogConfigurationParameters withIncludeExecutionData(java.util.Collection includeExecutionData) { setIncludeExecutionData(includeExecutionData); return this; } /** *

* Specify ALL to include the execution data (specifically, the payload, * awsRequest, and awsResponse fields) in the log messages for this pipe. *

*

* This applies to all log destinations for the pipe. *

*

* For more information, see Including execution data in logs in the Amazon EventBridge User Guide. *

*

* By default, execution data is not included. *

* * @param includeExecutionData * Specify ALL to include the execution data (specifically, the payload, * awsRequest, and awsResponse fields) in the log messages for this pipe.

*

* This applies to all log destinations for the pipe. *

*

* For more information, see Including execution data in logs in the Amazon EventBridge User Guide. *

*

* By default, execution data is not included. * @return Returns a reference to this object so that method calls can be chained together. * @see IncludeExecutionDataOption */ public PipeLogConfigurationParameters withIncludeExecutionData(IncludeExecutionDataOption... includeExecutionData) { java.util.ArrayList includeExecutionDataCopy = new java.util.ArrayList(includeExecutionData.length); for (IncludeExecutionDataOption value : includeExecutionData) { includeExecutionDataCopy.add(value.toString()); } if (getIncludeExecutionData() == null) { setIncludeExecutionData(includeExecutionDataCopy); } else { getIncludeExecutionData().addAll(includeExecutionDataCopy); } 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 (getS3LogDestination() != null) sb.append("S3LogDestination: ").append(getS3LogDestination()).append(","); if (getFirehoseLogDestination() != null) sb.append("FirehoseLogDestination: ").append(getFirehoseLogDestination()).append(","); if (getCloudwatchLogsLogDestination() != null) sb.append("CloudwatchLogsLogDestination: ").append(getCloudwatchLogsLogDestination()).append(","); if (getLevel() != null) sb.append("Level: ").append(getLevel()).append(","); if (getIncludeExecutionData() != null) sb.append("IncludeExecutionData: ").append(getIncludeExecutionData()); sb.append("}"); return sb.toString(); } @Override public boolean equals(Object obj) { if (this == obj) return true; if (obj == null) return false; if (obj instanceof PipeLogConfigurationParameters == false) return false; PipeLogConfigurationParameters other = (PipeLogConfigurationParameters) obj; if (other.getS3LogDestination() == null ^ this.getS3LogDestination() == null) return false; if (other.getS3LogDestination() != null && other.getS3LogDestination().equals(this.getS3LogDestination()) == false) return false; if (other.getFirehoseLogDestination() == null ^ this.getFirehoseLogDestination() == null) return false; if (other.getFirehoseLogDestination() != null && other.getFirehoseLogDestination().equals(this.getFirehoseLogDestination()) == false) return false; if (other.getCloudwatchLogsLogDestination() == null ^ this.getCloudwatchLogsLogDestination() == null) return false; if (other.getCloudwatchLogsLogDestination() != null && other.getCloudwatchLogsLogDestination().equals(this.getCloudwatchLogsLogDestination()) == false) return false; if (other.getLevel() == null ^ this.getLevel() == null) return false; if (other.getLevel() != null && other.getLevel().equals(this.getLevel()) == false) return false; if (other.getIncludeExecutionData() == null ^ this.getIncludeExecutionData() == null) return false; if (other.getIncludeExecutionData() != null && other.getIncludeExecutionData().equals(this.getIncludeExecutionData()) == false) return false; return true; } @Override public int hashCode() { final int prime = 31; int hashCode = 1; hashCode = prime * hashCode + ((getS3LogDestination() == null) ? 0 : getS3LogDestination().hashCode()); hashCode = prime * hashCode + ((getFirehoseLogDestination() == null) ? 0 : getFirehoseLogDestination().hashCode()); hashCode = prime * hashCode + ((getCloudwatchLogsLogDestination() == null) ? 0 : getCloudwatchLogsLogDestination().hashCode()); hashCode = prime * hashCode + ((getLevel() == null) ? 0 : getLevel().hashCode()); hashCode = prime * hashCode + ((getIncludeExecutionData() == null) ? 0 : getIncludeExecutionData().hashCode()); return hashCode; } @Override public PipeLogConfigurationParameters clone() { try { return (PipeLogConfigurationParameters) super.clone(); } catch (CloneNotSupportedException e) { throw new IllegalStateException("Got a CloneNotSupportedException from Object.clone() " + "even though we're Cloneable!", e); } } @com.amazonaws.annotation.SdkInternalApi @Override public void marshall(ProtocolMarshaller protocolMarshaller) { com.amazonaws.services.pipes.model.transform.PipeLogConfigurationParametersMarshaller.getInstance().marshall(this, protocolMarshaller); } }





© 2015 - 2025 Weber Informatics LLC | Privacy Policy