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

com.amazonaws.services.eventbridge.model.Rule Maven / Gradle / Ivy

Go to download

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

There is a newer version: 1.12.780
Show 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.eventbridge.model;

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

/**
 * 

* Contains information about a rule in Amazon EventBridge. *

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

* The name of the rule. *

*/ private String name; /** *

* The Amazon Resource Name (ARN) of the rule. *

*/ private String arn; /** *

* The event pattern of the rule. For more information, see Events and * Event Patterns in the Amazon EventBridge User Guide . *

*/ private String eventPattern; /** *

* The state of the rule. *

*

* Valid values include: *

*
    *
  • *

    * DISABLED: The rule is disabled. EventBridge does not match any events against the rule. *

    *
  • *
  • *

    * ENABLED: The rule is enabled. EventBridge matches events against the rule, except for Amazon * Web Services management events delivered through CloudTrail. *

    *
  • *
  • *

    * ENABLED_WITH_ALL_CLOUDTRAIL_MANAGEMENT_EVENTS: The rule is enabled for all events, including Amazon * Web Services management events delivered through CloudTrail. *

    *

    * Management events provide visibility into management operations that are performed on resources in your Amazon * Web Services account. These are also known as control plane operations. For more information, see Logging management events in the CloudTrail User Guide, and Filtering management events from Amazon Web Services services in the Amazon EventBridge User * Guide . *

    *

    * This value is only valid for rules on the default event bus or custom event buses. * It does not apply to partner * event buses. *

    *
  • *
*/ private String state; /** *

* The description of the rule. *

*/ private String description; /** *

* The scheduling expression. For example, "cron(0 20 * * ? *)", "rate(5 minutes)". For more information, see Creating an Amazon * EventBridge rule that runs on a schedule. *

*/ private String scheduleExpression; /** *

* The Amazon Resource Name (ARN) of the role that is used for target invocation. *

*

* If you're setting an event bus in another account as the target and that account granted permission to your * account through an organization instead of directly by the account ID, you must specify a RoleArn * with proper permissions in the Target structure, instead of here in this parameter. *

*/ private String roleArn; /** *

* If the rule was created on behalf of your account by an Amazon Web Services service, this field displays the * principal name of the service that created the rule. *

*/ private String managedBy; /** *

* The name or ARN of the event bus associated with the rule. If you omit this, the default event bus is used. *

*/ private String eventBusName; /** *

* The name of the rule. *

* * @param name * The name of the rule. */ public void setName(String name) { this.name = name; } /** *

* The name of the rule. *

* * @return The name of the rule. */ public String getName() { return this.name; } /** *

* The name of the rule. *

* * @param name * The name of the rule. * @return Returns a reference to this object so that method calls can be chained together. */ public Rule withName(String name) { setName(name); return this; } /** *

* The Amazon Resource Name (ARN) of the rule. *

* * @param arn * The Amazon Resource Name (ARN) of the rule. */ public void setArn(String arn) { this.arn = arn; } /** *

* The Amazon Resource Name (ARN) of the rule. *

* * @return The Amazon Resource Name (ARN) of the rule. */ public String getArn() { return this.arn; } /** *

* The Amazon Resource Name (ARN) of the rule. *

* * @param arn * The Amazon Resource Name (ARN) of the rule. * @return Returns a reference to this object so that method calls can be chained together. */ public Rule withArn(String arn) { setArn(arn); return this; } /** *

* The event pattern of the rule. For more information, see Events and * Event Patterns in the Amazon EventBridge User Guide . *

* * @param eventPattern * The event pattern of the rule. For more information, see Events * and Event Patterns in the Amazon EventBridge User Guide . */ public void setEventPattern(String eventPattern) { this.eventPattern = eventPattern; } /** *

* The event pattern of the rule. For more information, see Events and * Event Patterns in the Amazon EventBridge User Guide . *

* * @return The event pattern of the rule. For more information, see Events and Event Patterns in the Amazon EventBridge User Guide . */ public String getEventPattern() { return this.eventPattern; } /** *

* The event pattern of the rule. For more information, see Events and * Event Patterns in the Amazon EventBridge User Guide . *

* * @param eventPattern * The event pattern of the rule. For more information, see Events * and Event Patterns in the Amazon EventBridge User Guide . * @return Returns a reference to this object so that method calls can be chained together. */ public Rule withEventPattern(String eventPattern) { setEventPattern(eventPattern); return this; } /** *

* The state of the rule. *

*

* Valid values include: *

*
    *
  • *

    * DISABLED: The rule is disabled. EventBridge does not match any events against the rule. *

    *
  • *
  • *

    * ENABLED: The rule is enabled. EventBridge matches events against the rule, except for Amazon * Web Services management events delivered through CloudTrail. *

    *
  • *
  • *

    * ENABLED_WITH_ALL_CLOUDTRAIL_MANAGEMENT_EVENTS: The rule is enabled for all events, including Amazon * Web Services management events delivered through CloudTrail. *

    *

    * Management events provide visibility into management operations that are performed on resources in your Amazon * Web Services account. These are also known as control plane operations. For more information, see Logging management events in the CloudTrail User Guide, and Filtering management events from Amazon Web Services services in the Amazon EventBridge User * Guide . *

    *

    * This value is only valid for rules on the default event bus or custom event buses. * It does not apply to partner * event buses. *

    *
  • *
* * @param state * The state of the rule.

*

* Valid values include: *

*
    *
  • *

    * DISABLED: The rule is disabled. EventBridge does not match any events against the rule. *

    *
  • *
  • *

    * ENABLED: The rule is enabled. EventBridge matches events against the rule, except for * Amazon Web Services management events delivered through CloudTrail. *

    *
  • *
  • *

    * ENABLED_WITH_ALL_CLOUDTRAIL_MANAGEMENT_EVENTS: The rule is enabled for all events, including * Amazon Web Services management events delivered through CloudTrail. *

    *

    * Management events provide visibility into management operations that are performed on resources in your * Amazon Web Services account. These are also known as control plane operations. For more information, see * Logging management events in the CloudTrail User Guide, and Filtering management events from Amazon Web Services services in the Amazon EventBridge User * Guide . *

    *

    * This value is only valid for rules on the default event bus or custom event * buses. It does not apply to partner event buses. *

    *
  • * @see RuleState */ public void setState(String state) { this.state = state; } /** *

    * The state of the rule. *

    *

    * Valid values include: *

    *
      *
    • *

      * DISABLED: The rule is disabled. EventBridge does not match any events against the rule. *

      *
    • *
    • *

      * ENABLED: The rule is enabled. EventBridge matches events against the rule, except for Amazon * Web Services management events delivered through CloudTrail. *

      *
    • *
    • *

      * ENABLED_WITH_ALL_CLOUDTRAIL_MANAGEMENT_EVENTS: The rule is enabled for all events, including Amazon * Web Services management events delivered through CloudTrail. *

      *

      * Management events provide visibility into management operations that are performed on resources in your Amazon * Web Services account. These are also known as control plane operations. For more information, see Logging management events in the CloudTrail User Guide, and Filtering management events from Amazon Web Services services in the Amazon EventBridge User * Guide . *

      *

      * This value is only valid for rules on the default event bus or custom event buses. * It does not apply to partner * event buses. *

      *
    • *
    * * @return The state of the rule.

    *

    * Valid values include: *

    *
      *
    • *

      * DISABLED: The rule is disabled. EventBridge does not match any events against the rule. *

      *
    • *
    • *

      * ENABLED: The rule is enabled. EventBridge matches events against the rule, except for * Amazon Web Services management events delivered through CloudTrail. *

      *
    • *
    • *

      * ENABLED_WITH_ALL_CLOUDTRAIL_MANAGEMENT_EVENTS: The rule is enabled for all events, including * Amazon Web Services management events delivered through CloudTrail. *

      *

      * Management events provide visibility into management operations that are performed on resources in your * Amazon Web Services account. These are also known as control plane operations. For more information, see * Logging management events in the CloudTrail User Guide, and Filtering management events from Amazon Web Services services in the Amazon EventBridge User * Guide . *

      *

      * This value is only valid for rules on the default event bus or custom event * buses. It does not apply to partner event buses. *

      *
    • * @see RuleState */ public String getState() { return this.state; } /** *

      * The state of the rule. *

      *

      * Valid values include: *

      *
        *
      • *

        * DISABLED: The rule is disabled. EventBridge does not match any events against the rule. *

        *
      • *
      • *

        * ENABLED: The rule is enabled. EventBridge matches events against the rule, except for Amazon * Web Services management events delivered through CloudTrail. *

        *
      • *
      • *

        * ENABLED_WITH_ALL_CLOUDTRAIL_MANAGEMENT_EVENTS: The rule is enabled for all events, including Amazon * Web Services management events delivered through CloudTrail. *

        *

        * Management events provide visibility into management operations that are performed on resources in your Amazon * Web Services account. These are also known as control plane operations. For more information, see Logging management events in the CloudTrail User Guide, and Filtering management events from Amazon Web Services services in the Amazon EventBridge User * Guide . *

        *

        * This value is only valid for rules on the default event bus or custom event buses. * It does not apply to partner * event buses. *

        *
      • *
      * * @param state * The state of the rule.

      *

      * Valid values include: *

      *
        *
      • *

        * DISABLED: The rule is disabled. EventBridge does not match any events against the rule. *

        *
      • *
      • *

        * ENABLED: The rule is enabled. EventBridge matches events against the rule, except for * Amazon Web Services management events delivered through CloudTrail. *

        *
      • *
      • *

        * ENABLED_WITH_ALL_CLOUDTRAIL_MANAGEMENT_EVENTS: The rule is enabled for all events, including * Amazon Web Services management events delivered through CloudTrail. *

        *

        * Management events provide visibility into management operations that are performed on resources in your * Amazon Web Services account. These are also known as control plane operations. For more information, see * Logging management events in the CloudTrail User Guide, and Filtering management events from Amazon Web Services services in the Amazon EventBridge User * Guide . *

        *

        * This value is only valid for rules on the default event bus or custom event * buses. It does not apply to partner event buses. *

        *
      • * @return Returns a reference to this object so that method calls can be chained together. * @see RuleState */ public Rule withState(String state) { setState(state); return this; } /** *

        * The state of the rule. *

        *

        * Valid values include: *

        *
          *
        • *

          * DISABLED: The rule is disabled. EventBridge does not match any events against the rule. *

          *
        • *
        • *

          * ENABLED: The rule is enabled. EventBridge matches events against the rule, except for Amazon * Web Services management events delivered through CloudTrail. *

          *
        • *
        • *

          * ENABLED_WITH_ALL_CLOUDTRAIL_MANAGEMENT_EVENTS: The rule is enabled for all events, including Amazon * Web Services management events delivered through CloudTrail. *

          *

          * Management events provide visibility into management operations that are performed on resources in your Amazon * Web Services account. These are also known as control plane operations. For more information, see Logging management events in the CloudTrail User Guide, and Filtering management events from Amazon Web Services services in the Amazon EventBridge User * Guide . *

          *

          * This value is only valid for rules on the default event bus or custom event buses. * It does not apply to partner * event buses. *

          *
        • *
        * * @param state * The state of the rule.

        *

        * Valid values include: *

        *
          *
        • *

          * DISABLED: The rule is disabled. EventBridge does not match any events against the rule. *

          *
        • *
        • *

          * ENABLED: The rule is enabled. EventBridge matches events against the rule, except for * Amazon Web Services management events delivered through CloudTrail. *

          *
        • *
        • *

          * ENABLED_WITH_ALL_CLOUDTRAIL_MANAGEMENT_EVENTS: The rule is enabled for all events, including * Amazon Web Services management events delivered through CloudTrail. *

          *

          * Management events provide visibility into management operations that are performed on resources in your * Amazon Web Services account. These are also known as control plane operations. For more information, see * Logging management events in the CloudTrail User Guide, and Filtering management events from Amazon Web Services services in the Amazon EventBridge User * Guide . *

          *

          * This value is only valid for rules on the default event bus or custom event * buses. It does not apply to partner event buses. *

          *
        • * @return Returns a reference to this object so that method calls can be chained together. * @see RuleState */ public Rule withState(RuleState state) { this.state = state.toString(); return this; } /** *

          * The description of the rule. *

          * * @param description * The description of the rule. */ public void setDescription(String description) { this.description = description; } /** *

          * The description of the rule. *

          * * @return The description of the rule. */ public String getDescription() { return this.description; } /** *

          * The description of the rule. *

          * * @param description * The description of the rule. * @return Returns a reference to this object so that method calls can be chained together. */ public Rule withDescription(String description) { setDescription(description); return this; } /** *

          * The scheduling expression. For example, "cron(0 20 * * ? *)", "rate(5 minutes)". For more information, see Creating an Amazon * EventBridge rule that runs on a schedule. *

          * * @param scheduleExpression * The scheduling expression. For example, "cron(0 20 * * ? *)", "rate(5 minutes)". For more information, see * Creating * an Amazon EventBridge rule that runs on a schedule. */ public void setScheduleExpression(String scheduleExpression) { this.scheduleExpression = scheduleExpression; } /** *

          * The scheduling expression. For example, "cron(0 20 * * ? *)", "rate(5 minutes)". For more information, see Creating an Amazon * EventBridge rule that runs on a schedule. *

          * * @return The scheduling expression. For example, "cron(0 20 * * ? *)", "rate(5 minutes)". For more information, * see Creating an * Amazon EventBridge rule that runs on a schedule. */ public String getScheduleExpression() { return this.scheduleExpression; } /** *

          * The scheduling expression. For example, "cron(0 20 * * ? *)", "rate(5 minutes)". For more information, see Creating an Amazon * EventBridge rule that runs on a schedule. *

          * * @param scheduleExpression * The scheduling expression. For example, "cron(0 20 * * ? *)", "rate(5 minutes)". For more information, see * Creating * an Amazon EventBridge rule that runs on a schedule. * @return Returns a reference to this object so that method calls can be chained together. */ public Rule withScheduleExpression(String scheduleExpression) { setScheduleExpression(scheduleExpression); return this; } /** *

          * The Amazon Resource Name (ARN) of the role that is used for target invocation. *

          *

          * If you're setting an event bus in another account as the target and that account granted permission to your * account through an organization instead of directly by the account ID, you must specify a RoleArn * with proper permissions in the Target structure, instead of here in this parameter. *

          * * @param roleArn * The Amazon Resource Name (ARN) of the role that is used for target invocation.

          *

          * If you're setting an event bus in another account as the target and that account granted permission to * your account through an organization instead of directly by the account ID, you must specify a * RoleArn with proper permissions in the Target structure, instead of here in this * parameter. */ public void setRoleArn(String roleArn) { this.roleArn = roleArn; } /** *

          * The Amazon Resource Name (ARN) of the role that is used for target invocation. *

          *

          * If you're setting an event bus in another account as the target and that account granted permission to your * account through an organization instead of directly by the account ID, you must specify a RoleArn * with proper permissions in the Target structure, instead of here in this parameter. *

          * * @return The Amazon Resource Name (ARN) of the role that is used for target invocation.

          *

          * If you're setting an event bus in another account as the target and that account granted permission to * your account through an organization instead of directly by the account ID, you must specify a * RoleArn with proper permissions in the Target structure, instead of here in * this parameter. */ public String getRoleArn() { return this.roleArn; } /** *

          * The Amazon Resource Name (ARN) of the role that is used for target invocation. *

          *

          * If you're setting an event bus in another account as the target and that account granted permission to your * account through an organization instead of directly by the account ID, you must specify a RoleArn * with proper permissions in the Target structure, instead of here in this parameter. *

          * * @param roleArn * The Amazon Resource Name (ARN) of the role that is used for target invocation.

          *

          * If you're setting an event bus in another account as the target and that account granted permission to * your account through an organization instead of directly by the account ID, you must specify a * RoleArn with proper permissions in the Target structure, instead of here in this * parameter. * @return Returns a reference to this object so that method calls can be chained together. */ public Rule withRoleArn(String roleArn) { setRoleArn(roleArn); return this; } /** *

          * If the rule was created on behalf of your account by an Amazon Web Services service, this field displays the * principal name of the service that created the rule. *

          * * @param managedBy * If the rule was created on behalf of your account by an Amazon Web Services service, this field displays * the principal name of the service that created the rule. */ public void setManagedBy(String managedBy) { this.managedBy = managedBy; } /** *

          * If the rule was created on behalf of your account by an Amazon Web Services service, this field displays the * principal name of the service that created the rule. *

          * * @return If the rule was created on behalf of your account by an Amazon Web Services service, this field displays * the principal name of the service that created the rule. */ public String getManagedBy() { return this.managedBy; } /** *

          * If the rule was created on behalf of your account by an Amazon Web Services service, this field displays the * principal name of the service that created the rule. *

          * * @param managedBy * If the rule was created on behalf of your account by an Amazon Web Services service, this field displays * the principal name of the service that created the rule. * @return Returns a reference to this object so that method calls can be chained together. */ public Rule withManagedBy(String managedBy) { setManagedBy(managedBy); return this; } /** *

          * The name or ARN of the event bus associated with the rule. If you omit this, the default event bus is used. *

          * * @param eventBusName * The name or ARN of the event bus associated with the rule. If you omit this, the default event bus is * used. */ public void setEventBusName(String eventBusName) { this.eventBusName = eventBusName; } /** *

          * The name or ARN of the event bus associated with the rule. If you omit this, the default event bus is used. *

          * * @return The name or ARN of the event bus associated with the rule. If you omit this, the default event bus is * used. */ public String getEventBusName() { return this.eventBusName; } /** *

          * The name or ARN of the event bus associated with the rule. If you omit this, the default event bus is used. *

          * * @param eventBusName * The name or ARN of the event bus associated with the rule. If you omit this, the default event bus is * used. * @return Returns a reference to this object so that method calls can be chained together. */ public Rule withEventBusName(String eventBusName) { setEventBusName(eventBusName); 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 (getName() != null) sb.append("Name: ").append(getName()).append(","); if (getArn() != null) sb.append("Arn: ").append(getArn()).append(","); if (getEventPattern() != null) sb.append("EventPattern: ").append(getEventPattern()).append(","); if (getState() != null) sb.append("State: ").append(getState()).append(","); if (getDescription() != null) sb.append("Description: ").append(getDescription()).append(","); if (getScheduleExpression() != null) sb.append("ScheduleExpression: ").append(getScheduleExpression()).append(","); if (getRoleArn() != null) sb.append("RoleArn: ").append(getRoleArn()).append(","); if (getManagedBy() != null) sb.append("ManagedBy: ").append(getManagedBy()).append(","); if (getEventBusName() != null) sb.append("EventBusName: ").append(getEventBusName()); sb.append("}"); return sb.toString(); } @Override public boolean equals(Object obj) { if (this == obj) return true; if (obj == null) return false; if (obj instanceof Rule == false) return false; Rule other = (Rule) obj; if (other.getName() == null ^ this.getName() == null) return false; if (other.getName() != null && other.getName().equals(this.getName()) == false) return false; if (other.getArn() == null ^ this.getArn() == null) return false; if (other.getArn() != null && other.getArn().equals(this.getArn()) == false) return false; if (other.getEventPattern() == null ^ this.getEventPattern() == null) return false; if (other.getEventPattern() != null && other.getEventPattern().equals(this.getEventPattern()) == false) return false; if (other.getState() == null ^ this.getState() == null) return false; if (other.getState() != null && other.getState().equals(this.getState()) == false) return false; if (other.getDescription() == null ^ this.getDescription() == null) return false; if (other.getDescription() != null && other.getDescription().equals(this.getDescription()) == false) return false; if (other.getScheduleExpression() == null ^ this.getScheduleExpression() == null) return false; if (other.getScheduleExpression() != null && other.getScheduleExpression().equals(this.getScheduleExpression()) == false) return false; if (other.getRoleArn() == null ^ this.getRoleArn() == null) return false; if (other.getRoleArn() != null && other.getRoleArn().equals(this.getRoleArn()) == false) return false; if (other.getManagedBy() == null ^ this.getManagedBy() == null) return false; if (other.getManagedBy() != null && other.getManagedBy().equals(this.getManagedBy()) == false) return false; if (other.getEventBusName() == null ^ this.getEventBusName() == null) return false; if (other.getEventBusName() != null && other.getEventBusName().equals(this.getEventBusName()) == false) return false; return true; } @Override public int hashCode() { final int prime = 31; int hashCode = 1; hashCode = prime * hashCode + ((getName() == null) ? 0 : getName().hashCode()); hashCode = prime * hashCode + ((getArn() == null) ? 0 : getArn().hashCode()); hashCode = prime * hashCode + ((getEventPattern() == null) ? 0 : getEventPattern().hashCode()); hashCode = prime * hashCode + ((getState() == null) ? 0 : getState().hashCode()); hashCode = prime * hashCode + ((getDescription() == null) ? 0 : getDescription().hashCode()); hashCode = prime * hashCode + ((getScheduleExpression() == null) ? 0 : getScheduleExpression().hashCode()); hashCode = prime * hashCode + ((getRoleArn() == null) ? 0 : getRoleArn().hashCode()); hashCode = prime * hashCode + ((getManagedBy() == null) ? 0 : getManagedBy().hashCode()); hashCode = prime * hashCode + ((getEventBusName() == null) ? 0 : getEventBusName().hashCode()); return hashCode; } @Override public Rule clone() { try { return (Rule) 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.eventbridge.model.transform.RuleMarshaller.getInstance().marshall(this, protocolMarshaller); } }




© 2015 - 2025 Weber Informatics LLC | Privacy Policy