/*
* 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 swf-2012-01-25.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.SimpleWorkflow.Model
{
///
/// Container for the parameters to the CountOpenWorkflowExecutions operation.
/// Returns the number of open workflow executions within the given domain that meet the
/// specified filtering criteria.
///
///
///
/// This operation is eventually consistent. The results are best effort and may not exactly
/// reflect recent updates and changes.
///
///
///
/// Access Control
///
///
///
/// You can use IAM policies to control this action's access to Amazon SWF resources as
/// follows:
///
/// -
///
/// Use a
Resource
element with the domain name to limit the action to only
/// specified domains.
///
/// -
///
/// Use an
Action
element to allow or deny permission to call this action.
///
/// -
///
/// Constrain the following parameters by using a
Condition
element with
/// the appropriate keys.
///
/// -
///
///
tagFilter.tag
: String constraint. The key is swf:tagFilter.tag
.
///
/// -
///
///
typeFilter.name
: String constraint. The key is swf:typeFilter.name
.
///
/// -
///
///
typeFilter.version
: String constraint. The key is swf:typeFilter.version
.
///
///
///
/// If the caller doesn't have sufficient permissions to invoke the action, or the parameter
/// values fall outside the specified constraints, the action fails. The associated event
/// attribute's cause
parameter is set to OPERATION_NOT_PERMITTED
.
/// For details and example IAM policies, see Using
/// IAM to Manage Access to Amazon SWF Workflows in the Amazon SWF Developer Guide.
///
///
public partial class CountOpenWorkflowExecutionsRequest : AmazonSimpleWorkflowRequest
{
private string _domain;
private WorkflowExecutionFilter _executionFilter;
private ExecutionTimeFilter _startTimeFilter;
private TagFilter _tagFilter;
private WorkflowTypeFilter _typeFilter;
///
/// Gets and sets the property Domain.
///
/// The name of the domain containing the workflow executions to count.
///
///
[AWSProperty(Required=true, Min=1, Max=256)]
public string Domain
{
get { return this._domain; }
set { this._domain = value; }
}
// Check to see if Domain property is set
internal bool IsSetDomain()
{
return this._domain != null;
}
///
/// Gets and sets the property ExecutionFilter.
///
/// If specified, only workflow executions matching the WorkflowId
in the
/// filter are counted.
///
///
///
/// executionFilter
, typeFilter
and tagFilter
/// are mutually exclusive. You can specify at most one of these in a request.
///
///
///
public WorkflowExecutionFilter ExecutionFilter
{
get { return this._executionFilter; }
set { this._executionFilter = value; }
}
// Check to see if ExecutionFilter property is set
internal bool IsSetExecutionFilter()
{
return this._executionFilter != null;
}
///
/// Gets and sets the property StartTimeFilter.
///
/// Specifies the start time criteria that workflow executions must meet in order to be
/// counted.
///
///
[AWSProperty(Required=true)]
public ExecutionTimeFilter StartTimeFilter
{
get { return this._startTimeFilter; }
set { this._startTimeFilter = value; }
}
// Check to see if StartTimeFilter property is set
internal bool IsSetStartTimeFilter()
{
return this._startTimeFilter != null;
}
///
/// Gets and sets the property TagFilter.
///
/// If specified, only executions that have a tag that matches the filter are counted.
///
///
///
/// executionFilter
, typeFilter
and tagFilter
/// are mutually exclusive. You can specify at most one of these in a request.
///
///
///
public TagFilter TagFilter
{
get { return this._tagFilter; }
set { this._tagFilter = value; }
}
// Check to see if TagFilter property is set
internal bool IsSetTagFilter()
{
return this._tagFilter != null;
}
///
/// Gets and sets the property TypeFilter.
///
/// Specifies the type of the workflow executions to be counted.
///
///
///
/// executionFilter
, typeFilter
and tagFilter
/// are mutually exclusive. You can specify at most one of these in a request.
///
///
///
public WorkflowTypeFilter TypeFilter
{
get { return this._typeFilter; }
set { this._typeFilter = value; }
}
// Check to see if TypeFilter property is set
internal bool IsSetTypeFilter()
{
return this._typeFilter != null;
}
}
}