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

com.amazonaws.services.config.model.SourceDetail 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.config.model;

import java.io.Serializable;

/**
 * 

* Provides the source and the message type that trigger AWS Config to evaluate * your AWS resources against a rule. It also provides the frequency with which * you want AWS Config to run evaluations for the rule if the trigger type is * periodic. *

*/ public class SourceDetail implements Serializable, Cloneable { /** *

* The source of the event, such as an AWS service, that triggers AWS Config * to evaluate your AWS resources. *

*/ private String eventSource; /** *

* The type of SNS message that triggers AWS Config to run an evaluation. *

*

* For evaluations that are initiated when AWS Config delivers a * configuration item change notification, you must use * ConfigurationItemChangeNotification. *

*

* For evaluations that are initiated at a frequency that you choose (for * example, every 24 hours), you must use ScheduledNotification * . *

*

* For evaluations that are initiated when AWS Config delivers a * configuration snapshot, you must use * ConfigurationSnapshotDeliveryCompleted. *

*/ private String messageType; /** *

* If the trigger type for your rule includes periodic, AWS Config runs * evaluations for the rule at a frequency that you choose. If you specify a * value for MaximumExecutionFrequency, then * MessageType must use the ScheduledNotification * value. *

*/ private String maximumExecutionFrequency; /** *

* The source of the event, such as an AWS service, that triggers AWS Config * to evaluate your AWS resources. *

* * @param eventSource * The source of the event, such as an AWS service, that triggers AWS * Config to evaluate your AWS resources. * @see EventSource */ public void setEventSource(String eventSource) { this.eventSource = eventSource; } /** *

* The source of the event, such as an AWS service, that triggers AWS Config * to evaluate your AWS resources. *

* * @return The source of the event, such as an AWS service, that triggers * AWS Config to evaluate your AWS resources. * @see EventSource */ public String getEventSource() { return this.eventSource; } /** *

* The source of the event, such as an AWS service, that triggers AWS Config * to evaluate your AWS resources. *

* * @param eventSource * The source of the event, such as an AWS service, that triggers AWS * Config to evaluate your AWS resources. * @return Returns a reference to this object so that method calls can be * chained together. * @see EventSource */ public SourceDetail withEventSource(String eventSource) { setEventSource(eventSource); return this; } /** *

* The source of the event, such as an AWS service, that triggers AWS Config * to evaluate your AWS resources. *

* * @param eventSource * The source of the event, such as an AWS service, that triggers AWS * Config to evaluate your AWS resources. * @see EventSource */ public void setEventSource(EventSource eventSource) { this.eventSource = eventSource.toString(); } /** *

* The source of the event, such as an AWS service, that triggers AWS Config * to evaluate your AWS resources. *

* * @param eventSource * The source of the event, such as an AWS service, that triggers AWS * Config to evaluate your AWS resources. * @return Returns a reference to this object so that method calls can be * chained together. * @see EventSource */ public SourceDetail withEventSource(EventSource eventSource) { setEventSource(eventSource); return this; } /** *

* The type of SNS message that triggers AWS Config to run an evaluation. *

*

* For evaluations that are initiated when AWS Config delivers a * configuration item change notification, you must use * ConfigurationItemChangeNotification. *

*

* For evaluations that are initiated at a frequency that you choose (for * example, every 24 hours), you must use ScheduledNotification * . *

*

* For evaluations that are initiated when AWS Config delivers a * configuration snapshot, you must use * ConfigurationSnapshotDeliveryCompleted. *

* * @param messageType * The type of SNS message that triggers AWS Config to run an * evaluation.

*

* For evaluations that are initiated when AWS Config delivers a * configuration item change notification, you must use * ConfigurationItemChangeNotification. *

*

* For evaluations that are initiated at a frequency that you choose * (for example, every 24 hours), you must use * ScheduledNotification. *

*

* For evaluations that are initiated when AWS Config delivers a * configuration snapshot, you must use * ConfigurationSnapshotDeliveryCompleted. * @see MessageType */ public void setMessageType(String messageType) { this.messageType = messageType; } /** *

* The type of SNS message that triggers AWS Config to run an evaluation. *

*

* For evaluations that are initiated when AWS Config delivers a * configuration item change notification, you must use * ConfigurationItemChangeNotification. *

*

* For evaluations that are initiated at a frequency that you choose (for * example, every 24 hours), you must use ScheduledNotification * . *

*

* For evaluations that are initiated when AWS Config delivers a * configuration snapshot, you must use * ConfigurationSnapshotDeliveryCompleted. *

* * @return The type of SNS message that triggers AWS Config to run an * evaluation.

*

* For evaluations that are initiated when AWS Config delivers a * configuration item change notification, you must use * ConfigurationItemChangeNotification. *

*

* For evaluations that are initiated at a frequency that you choose * (for example, every 24 hours), you must use * ScheduledNotification. *

*

* For evaluations that are initiated when AWS Config delivers a * configuration snapshot, you must use * ConfigurationSnapshotDeliveryCompleted. * @see MessageType */ public String getMessageType() { return this.messageType; } /** *

* The type of SNS message that triggers AWS Config to run an evaluation. *

*

* For evaluations that are initiated when AWS Config delivers a * configuration item change notification, you must use * ConfigurationItemChangeNotification. *

*

* For evaluations that are initiated at a frequency that you choose (for * example, every 24 hours), you must use ScheduledNotification * . *

*

* For evaluations that are initiated when AWS Config delivers a * configuration snapshot, you must use * ConfigurationSnapshotDeliveryCompleted. *

* * @param messageType * The type of SNS message that triggers AWS Config to run an * evaluation.

*

* For evaluations that are initiated when AWS Config delivers a * configuration item change notification, you must use * ConfigurationItemChangeNotification. *

*

* For evaluations that are initiated at a frequency that you choose * (for example, every 24 hours), you must use * ScheduledNotification. *

*

* For evaluations that are initiated when AWS Config delivers a * configuration snapshot, you must use * ConfigurationSnapshotDeliveryCompleted. * @return Returns a reference to this object so that method calls can be * chained together. * @see MessageType */ public SourceDetail withMessageType(String messageType) { setMessageType(messageType); return this; } /** *

* The type of SNS message that triggers AWS Config to run an evaluation. *

*

* For evaluations that are initiated when AWS Config delivers a * configuration item change notification, you must use * ConfigurationItemChangeNotification. *

*

* For evaluations that are initiated at a frequency that you choose (for * example, every 24 hours), you must use ScheduledNotification * . *

*

* For evaluations that are initiated when AWS Config delivers a * configuration snapshot, you must use * ConfigurationSnapshotDeliveryCompleted. *

* * @param messageType * The type of SNS message that triggers AWS Config to run an * evaluation.

*

* For evaluations that are initiated when AWS Config delivers a * configuration item change notification, you must use * ConfigurationItemChangeNotification. *

*

* For evaluations that are initiated at a frequency that you choose * (for example, every 24 hours), you must use * ScheduledNotification. *

*

* For evaluations that are initiated when AWS Config delivers a * configuration snapshot, you must use * ConfigurationSnapshotDeliveryCompleted. * @see MessageType */ public void setMessageType(MessageType messageType) { this.messageType = messageType.toString(); } /** *

* The type of SNS message that triggers AWS Config to run an evaluation. *

*

* For evaluations that are initiated when AWS Config delivers a * configuration item change notification, you must use * ConfigurationItemChangeNotification. *

*

* For evaluations that are initiated at a frequency that you choose (for * example, every 24 hours), you must use ScheduledNotification * . *

*

* For evaluations that are initiated when AWS Config delivers a * configuration snapshot, you must use * ConfigurationSnapshotDeliveryCompleted. *

* * @param messageType * The type of SNS message that triggers AWS Config to run an * evaluation.

*

* For evaluations that are initiated when AWS Config delivers a * configuration item change notification, you must use * ConfigurationItemChangeNotification. *

*

* For evaluations that are initiated at a frequency that you choose * (for example, every 24 hours), you must use * ScheduledNotification. *

*

* For evaluations that are initiated when AWS Config delivers a * configuration snapshot, you must use * ConfigurationSnapshotDeliveryCompleted. * @return Returns a reference to this object so that method calls can be * chained together. * @see MessageType */ public SourceDetail withMessageType(MessageType messageType) { setMessageType(messageType); return this; } /** *

* If the trigger type for your rule includes periodic, AWS Config runs * evaluations for the rule at a frequency that you choose. If you specify a * value for MaximumExecutionFrequency, then * MessageType must use the ScheduledNotification * value. *

* * @param maximumExecutionFrequency * If the trigger type for your rule includes periodic, AWS Config * runs evaluations for the rule at a frequency that you choose. If * you specify a value for MaximumExecutionFrequency, * then MessageType must use the * ScheduledNotification value. * @see MaximumExecutionFrequency */ public void setMaximumExecutionFrequency(String maximumExecutionFrequency) { this.maximumExecutionFrequency = maximumExecutionFrequency; } /** *

* If the trigger type for your rule includes periodic, AWS Config runs * evaluations for the rule at a frequency that you choose. If you specify a * value for MaximumExecutionFrequency, then * MessageType must use the ScheduledNotification * value. *

* * @return If the trigger type for your rule includes periodic, AWS Config * runs evaluations for the rule at a frequency that you choose. If * you specify a value for MaximumExecutionFrequency, * then MessageType must use the * ScheduledNotification value. * @see MaximumExecutionFrequency */ public String getMaximumExecutionFrequency() { return this.maximumExecutionFrequency; } /** *

* If the trigger type for your rule includes periodic, AWS Config runs * evaluations for the rule at a frequency that you choose. If you specify a * value for MaximumExecutionFrequency, then * MessageType must use the ScheduledNotification * value. *

* * @param maximumExecutionFrequency * If the trigger type for your rule includes periodic, AWS Config * runs evaluations for the rule at a frequency that you choose. If * you specify a value for MaximumExecutionFrequency, * then MessageType must use the * ScheduledNotification value. * @return Returns a reference to this object so that method calls can be * chained together. * @see MaximumExecutionFrequency */ public SourceDetail withMaximumExecutionFrequency( String maximumExecutionFrequency) { setMaximumExecutionFrequency(maximumExecutionFrequency); return this; } /** *

* If the trigger type for your rule includes periodic, AWS Config runs * evaluations for the rule at a frequency that you choose. If you specify a * value for MaximumExecutionFrequency, then * MessageType must use the ScheduledNotification * value. *

* * @param maximumExecutionFrequency * If the trigger type for your rule includes periodic, AWS Config * runs evaluations for the rule at a frequency that you choose. If * you specify a value for MaximumExecutionFrequency, * then MessageType must use the * ScheduledNotification value. * @see MaximumExecutionFrequency */ public void setMaximumExecutionFrequency( MaximumExecutionFrequency maximumExecutionFrequency) { this.maximumExecutionFrequency = maximumExecutionFrequency.toString(); } /** *

* If the trigger type for your rule includes periodic, AWS Config runs * evaluations for the rule at a frequency that you choose. If you specify a * value for MaximumExecutionFrequency, then * MessageType must use the ScheduledNotification * value. *

* * @param maximumExecutionFrequency * If the trigger type for your rule includes periodic, AWS Config * runs evaluations for the rule at a frequency that you choose. If * you specify a value for MaximumExecutionFrequency, * then MessageType must use the * ScheduledNotification value. * @return Returns a reference to this object so that method calls can be * chained together. * @see MaximumExecutionFrequency */ public SourceDetail withMaximumExecutionFrequency( MaximumExecutionFrequency maximumExecutionFrequency) { setMaximumExecutionFrequency(maximumExecutionFrequency); 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 (getEventSource() != null) sb.append("EventSource: " + getEventSource() + ","); if (getMessageType() != null) sb.append("MessageType: " + getMessageType() + ","); if (getMaximumExecutionFrequency() != null) sb.append("MaximumExecutionFrequency: " + getMaximumExecutionFrequency()); sb.append("}"); return sb.toString(); } @Override public boolean equals(Object obj) { if (this == obj) return true; if (obj == null) return false; if (obj instanceof SourceDetail == false) return false; SourceDetail other = (SourceDetail) obj; if (other.getEventSource() == null ^ this.getEventSource() == null) return false; if (other.getEventSource() != null && other.getEventSource().equals(this.getEventSource()) == false) return false; if (other.getMessageType() == null ^ this.getMessageType() == null) return false; if (other.getMessageType() != null && other.getMessageType().equals(this.getMessageType()) == false) return false; if (other.getMaximumExecutionFrequency() == null ^ this.getMaximumExecutionFrequency() == null) return false; if (other.getMaximumExecutionFrequency() != null && other.getMaximumExecutionFrequency().equals( this.getMaximumExecutionFrequency()) == false) return false; return true; } @Override public int hashCode() { final int prime = 31; int hashCode = 1; hashCode = prime * hashCode + ((getEventSource() == null) ? 0 : getEventSource().hashCode()); hashCode = prime * hashCode + ((getMessageType() == null) ? 0 : getMessageType().hashCode()); hashCode = prime * hashCode + ((getMaximumExecutionFrequency() == null) ? 0 : getMaximumExecutionFrequency().hashCode()); return hashCode; } @Override public SourceDetail clone() { try { return (SourceDetail) 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