/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include #include #include #include #include #include namespace Aws { namespace SWF { namespace Model { /** */ class CountOpenWorkflowExecutionsRequest : public SWFRequest { public: AWS_SWF_API CountOpenWorkflowExecutionsRequest(); // Service request name is the Operation name which will send this request out, // each operation should has unique request name, so that we can get operation's name from this request. // Note: this is not true for response, multiple operations may have the same response name, // so we can not get operation's name from response. inline virtual const char* GetServiceRequestName() const override { return "CountOpenWorkflowExecutions"; } AWS_SWF_API Aws::String SerializePayload() const override; AWS_SWF_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; /** *

The name of the domain containing the workflow executions to count.

*/ inline const Aws::String& GetDomain() const{ return m_domain; } /** *

The name of the domain containing the workflow executions to count.

*/ inline bool DomainHasBeenSet() const { return m_domainHasBeenSet; } /** *

The name of the domain containing the workflow executions to count.

*/ inline void SetDomain(const Aws::String& value) { m_domainHasBeenSet = true; m_domain = value; } /** *

The name of the domain containing the workflow executions to count.

*/ inline void SetDomain(Aws::String&& value) { m_domainHasBeenSet = true; m_domain = std::move(value); } /** *

The name of the domain containing the workflow executions to count.

*/ inline void SetDomain(const char* value) { m_domainHasBeenSet = true; m_domain.assign(value); } /** *

The name of the domain containing the workflow executions to count.

*/ inline CountOpenWorkflowExecutionsRequest& WithDomain(const Aws::String& value) { SetDomain(value); return *this;} /** *

The name of the domain containing the workflow executions to count.

*/ inline CountOpenWorkflowExecutionsRequest& WithDomain(Aws::String&& value) { SetDomain(std::move(value)); return *this;} /** *

The name of the domain containing the workflow executions to count.

*/ inline CountOpenWorkflowExecutionsRequest& WithDomain(const char* value) { SetDomain(value); return *this;} /** *

Specifies the start time criteria that workflow executions must meet in order * to be counted.

*/ inline const ExecutionTimeFilter& GetStartTimeFilter() const{ return m_startTimeFilter; } /** *

Specifies the start time criteria that workflow executions must meet in order * to be counted.

*/ inline bool StartTimeFilterHasBeenSet() const { return m_startTimeFilterHasBeenSet; } /** *

Specifies the start time criteria that workflow executions must meet in order * to be counted.

*/ inline void SetStartTimeFilter(const ExecutionTimeFilter& value) { m_startTimeFilterHasBeenSet = true; m_startTimeFilter = value; } /** *

Specifies the start time criteria that workflow executions must meet in order * to be counted.

*/ inline void SetStartTimeFilter(ExecutionTimeFilter&& value) { m_startTimeFilterHasBeenSet = true; m_startTimeFilter = std::move(value); } /** *

Specifies the start time criteria that workflow executions must meet in order * to be counted.

*/ inline CountOpenWorkflowExecutionsRequest& WithStartTimeFilter(const ExecutionTimeFilter& value) { SetStartTimeFilter(value); return *this;} /** *

Specifies the start time criteria that workflow executions must meet in order * to be counted.

*/ inline CountOpenWorkflowExecutionsRequest& WithStartTimeFilter(ExecutionTimeFilter&& value) { SetStartTimeFilter(std::move(value)); return *this;} /** *

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.

* */ inline const WorkflowTypeFilter& GetTypeFilter() const{ return m_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.

* */ inline bool TypeFilterHasBeenSet() const { return m_typeFilterHasBeenSet; } /** *

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.

* */ inline void SetTypeFilter(const WorkflowTypeFilter& value) { m_typeFilterHasBeenSet = true; m_typeFilter = value; } /** *

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.

* */ inline void SetTypeFilter(WorkflowTypeFilter&& value) { m_typeFilterHasBeenSet = true; m_typeFilter = std::move(value); } /** *

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.

* */ inline CountOpenWorkflowExecutionsRequest& WithTypeFilter(const WorkflowTypeFilter& value) { SetTypeFilter(value); return *this;} /** *

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.

* */ inline CountOpenWorkflowExecutionsRequest& WithTypeFilter(WorkflowTypeFilter&& value) { SetTypeFilter(std::move(value)); return *this;} /** *

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.

*/ inline const TagFilter& GetTagFilter() const{ return m_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.

*/ inline bool TagFilterHasBeenSet() const { return m_tagFilterHasBeenSet; } /** *

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.

*/ inline void SetTagFilter(const TagFilter& value) { m_tagFilterHasBeenSet = true; m_tagFilter = value; } /** *

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.

*/ inline void SetTagFilter(TagFilter&& value) { m_tagFilterHasBeenSet = true; m_tagFilter = std::move(value); } /** *

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.

*/ inline CountOpenWorkflowExecutionsRequest& WithTagFilter(const TagFilter& value) { SetTagFilter(value); return *this;} /** *

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.

*/ inline CountOpenWorkflowExecutionsRequest& WithTagFilter(TagFilter&& value) { SetTagFilter(std::move(value)); return *this;} /** *

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.

*/ inline const WorkflowExecutionFilter& GetExecutionFilter() const{ return m_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.

*/ inline bool ExecutionFilterHasBeenSet() const { return m_executionFilterHasBeenSet; } /** *

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.

*/ inline void SetExecutionFilter(const WorkflowExecutionFilter& value) { m_executionFilterHasBeenSet = true; m_executionFilter = value; } /** *

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.

*/ inline void SetExecutionFilter(WorkflowExecutionFilter&& value) { m_executionFilterHasBeenSet = true; m_executionFilter = std::move(value); } /** *

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.

*/ inline CountOpenWorkflowExecutionsRequest& WithExecutionFilter(const WorkflowExecutionFilter& value) { SetExecutionFilter(value); return *this;} /** *

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.

*/ inline CountOpenWorkflowExecutionsRequest& WithExecutionFilter(WorkflowExecutionFilter&& value) { SetExecutionFilter(std::move(value)); return *this;} private: Aws::String m_domain; bool m_domainHasBeenSet = false; ExecutionTimeFilter m_startTimeFilter; bool m_startTimeFilterHasBeenSet = false; WorkflowTypeFilter m_typeFilter; bool m_typeFilterHasBeenSet = false; TagFilter m_tagFilter; bool m_tagFilterHasBeenSet = false; WorkflowExecutionFilter m_executionFilter; bool m_executionFilterHasBeenSet = false; }; } // namespace Model } // namespace SWF } // namespace Aws