/*
* 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 budgets-2016-10-20.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.Budgets.Model
{
///
/// Container for the parameters to the CreateBudgetAction operation.
/// Creates a budget action.
///
public partial class CreateBudgetActionRequest : AmazonBudgetsRequest
{
private string _accountId;
private ActionThreshold _actionThreshold;
private ActionType _actionType;
private ApprovalModel _approvalModel;
private string _budgetName;
private Definition _definition;
private string _executionRoleArn;
private NotificationType _notificationType;
private List _subscribers = new List();
///
/// Gets and sets the property AccountId.
///
[AWSProperty(Required=true, Min=12, Max=12)]
public string AccountId
{
get { return this._accountId; }
set { this._accountId = value; }
}
// Check to see if AccountId property is set
internal bool IsSetAccountId()
{
return this._accountId != null;
}
///
/// Gets and sets the property ActionThreshold.
///
[AWSProperty(Required=true)]
public ActionThreshold ActionThreshold
{
get { return this._actionThreshold; }
set { this._actionThreshold = value; }
}
// Check to see if ActionThreshold property is set
internal bool IsSetActionThreshold()
{
return this._actionThreshold != null;
}
///
/// Gets and sets the property ActionType.
///
/// The type of action. This defines the type of tasks that can be carried out by this
/// action. This field also determines the format for definition.
///
///
[AWSProperty(Required=true)]
public ActionType ActionType
{
get { return this._actionType; }
set { this._actionType = value; }
}
// Check to see if ActionType property is set
internal bool IsSetActionType()
{
return this._actionType != null;
}
///
/// Gets and sets the property ApprovalModel.
///
/// This specifies if the action needs manual or automatic approval.
///
///
[AWSProperty(Required=true)]
public ApprovalModel ApprovalModel
{
get { return this._approvalModel; }
set { this._approvalModel = value; }
}
// Check to see if ApprovalModel property is set
internal bool IsSetApprovalModel()
{
return this._approvalModel != null;
}
///
/// Gets and sets the property BudgetName.
///
[AWSProperty(Required=true, Min=1, Max=100)]
public string BudgetName
{
get { return this._budgetName; }
set { this._budgetName = value; }
}
// Check to see if BudgetName property is set
internal bool IsSetBudgetName()
{
return this._budgetName != null;
}
///
/// Gets and sets the property Definition.
///
[AWSProperty(Required=true)]
public Definition Definition
{
get { return this._definition; }
set { this._definition = value; }
}
// Check to see if Definition property is set
internal bool IsSetDefinition()
{
return this._definition != null;
}
///
/// Gets and sets the property ExecutionRoleArn.
///
/// The role passed for action execution and reversion. Roles and actions must be in
/// the same account.
///
///
[AWSProperty(Required=true, Min=32, Max=618)]
public string ExecutionRoleArn
{
get { return this._executionRoleArn; }
set { this._executionRoleArn = value; }
}
// Check to see if ExecutionRoleArn property is set
internal bool IsSetExecutionRoleArn()
{
return this._executionRoleArn != null;
}
///
/// Gets and sets the property NotificationType.
///
[AWSProperty(Required=true)]
public NotificationType NotificationType
{
get { return this._notificationType; }
set { this._notificationType = value; }
}
// Check to see if NotificationType property is set
internal bool IsSetNotificationType()
{
return this._notificationType != null;
}
///
/// Gets and sets the property Subscribers.
///
[AWSProperty(Required=true, Min=1, Max=11)]
public List Subscribers
{
get { return this._subscribers; }
set { this._subscribers = value; }
}
// Check to see if Subscribers property is set
internal bool IsSetSubscribers()
{
return this._subscribers != null && this._subscribers.Count > 0;
}
}
}