/*
* Copyright 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.
*/
/*
* Do not modify this file. This file is generated from the events-2015-10-07.normal.json service model.
*/
using System;
using System.Collections.Generic;
using System.Xml.Serialization;
using System.Text;
using System.IO;
using System.Net;
using Amazon.Runtime;
using Amazon.Runtime.Internal;
namespace Amazon.CloudWatchEvents.Model
{
///
/// Contains information about a rule in Amazon EventBridge.
///
public partial class Rule
{
private string _arn;
private string _description;
private string _eventBusName;
private string _eventPattern;
private string _managedBy;
private string _name;
private string _roleArn;
private string _scheduleExpression;
private RuleState _state;
///
/// Gets and sets the property Arn.
///
/// The Amazon Resource Name (ARN) of the rule.
///
///
[AWSProperty(Min=1, Max=1600)]
public string Arn
{
get { return this._arn; }
set { this._arn = value; }
}
// Check to see if Arn property is set
internal bool IsSetArn()
{
return this._arn != null;
}
///
/// Gets and sets the property Description.
///
/// The description of the rule.
///
///
[AWSProperty(Max=512)]
public string Description
{
get { return this._description; }
set { this._description = value; }
}
// Check to see if Description property is set
internal bool IsSetDescription()
{
return this._description != null;
}
///
/// Gets and sets the property EventBusName.
///
/// The name or ARN of the event bus associated with the rule. If you omit this, the default
/// event bus is used.
///
///
[AWSProperty(Min=1, Max=256)]
public string EventBusName
{
get { return this._eventBusName; }
set { this._eventBusName = value; }
}
// Check to see if EventBusName property is set
internal bool IsSetEventBusName()
{
return this._eventBusName != null;
}
///
/// Gets and sets the property EventPattern.
///
/// The event pattern of the rule. For more information, see Events
/// and Event Patterns in the Amazon EventBridge User Guide.
///
///
public string EventPattern
{
get { return this._eventPattern; }
set { this._eventPattern = value; }
}
// Check to see if EventPattern property is set
internal bool IsSetEventPattern()
{
return this._eventPattern != null;
}
///
/// Gets and sets the property 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.
///
///
[AWSProperty(Min=1, Max=128)]
public string ManagedBy
{
get { return this._managedBy; }
set { this._managedBy = value; }
}
// Check to see if ManagedBy property is set
internal bool IsSetManagedBy()
{
return this._managedBy != null;
}
///
/// Gets and sets the property Name.
///
/// The name of the rule.
///
///
[AWSProperty(Min=1, Max=64)]
public string Name
{
get { return this._name; }
set { this._name = value; }
}
// Check to see if Name property is set
internal bool IsSetName()
{
return this._name != null;
}
///
/// Gets and sets the property 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.
///
///
[AWSProperty(Min=1, Max=1600)]
public string RoleArn
{
get { return this._roleArn; }
set { this._roleArn = value; }
}
// Check to see if RoleArn property is set
internal bool IsSetRoleArn()
{
return this._roleArn != null;
}
///
/// Gets and sets the property 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.
///
///
[AWSProperty(Max=256)]
public string ScheduleExpression
{
get { return this._scheduleExpression; }
set { this._scheduleExpression = value; }
}
// Check to see if ScheduleExpression property is set
internal bool IsSetScheduleExpression()
{
return this._scheduleExpression != null;
}
///
/// Gets and sets the property State.
///
/// The state of the rule.
///
///
public RuleState State
{
get { return this._state; }
set { this._state = value; }
}
// Check to see if State property is set
internal bool IsSetState()
{
return this._state != null;
}
}
}