countOpenWorkflowExecutions method
- required String domain,
- required ExecutionTimeFilter startTimeFilter,
- WorkflowExecutionFilter? executionFilter,
- TagFilter? tagFilter,
- WorkflowTypeFilter? typeFilter,
Returns the number of open workflow executions within the given domain that meet the specified filtering criteria. 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 isswf:tagFilter.tag
. -
typeFilter.name
: String constraint. The key isswf:typeFilter.name
. -
typeFilter.version
: String constraint. The key isswf:typeFilter.version
.
-
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.
May throw UnknownResourceFault. May throw OperationNotPermittedFault.
Parameter domain
:
The name of the domain containing the workflow executions to count.
Parameter startTimeFilter
:
Specifies the start time criteria that workflow executions must meet in
order to be counted.
Parameter executionFilter
:
If specified, only workflow executions matching the
WorkflowId
in the filter are counted.
Parameter tagFilter
:
If specified, only executions that have a tag that matches the filter are
counted.
Parameter typeFilter
:
Specifies the type of the workflow executions to be counted.
Implementation
Future<WorkflowExecutionCount> countOpenWorkflowExecutions({
required String domain,
required ExecutionTimeFilter startTimeFilter,
WorkflowExecutionFilter? executionFilter,
TagFilter? tagFilter,
WorkflowTypeFilter? typeFilter,
}) async {
ArgumentError.checkNotNull(domain, 'domain');
_s.validateStringLength(
'domain',
domain,
1,
256,
isRequired: true,
);
ArgumentError.checkNotNull(startTimeFilter, 'startTimeFilter');
final headers = <String, String>{
'Content-Type': 'application/x-amz-json-1.0',
'X-Amz-Target': 'SimpleWorkflowService.CountOpenWorkflowExecutions'
};
final jsonResponse = await _protocol.send(
method: 'POST',
requestUri: '/',
exceptionFnMap: _exceptionFns,
// TODO queryParams
headers: headers,
payload: {
'domain': domain,
'startTimeFilter': startTimeFilter,
if (executionFilter != null) 'executionFilter': executionFilter,
if (tagFilter != null) 'tagFilter': tagFilter,
if (typeFilter != null) 'typeFilter': typeFilter,
},
);
return WorkflowExecutionCount.fromJson(jsonResponse.body);
}