/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include #include #include #include namespace Aws { namespace Kinesis { namespace Model { /** */ class AWS_KINESIS_API ListShardsRequest : public KinesisRequest { public: ListShardsRequest(); // 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 "ListShards"; } Aws::String SerializePayload() const override; Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; /** *

The name of the data stream whose shards you want to list.

You cannot * specify this parameter if you specify the NextToken parameter.

*/ inline const Aws::String& GetStreamName() const{ return m_streamName; } /** *

The name of the data stream whose shards you want to list.

You cannot * specify this parameter if you specify the NextToken parameter.

*/ inline bool StreamNameHasBeenSet() const { return m_streamNameHasBeenSet; } /** *

The name of the data stream whose shards you want to list.

You cannot * specify this parameter if you specify the NextToken parameter.

*/ inline void SetStreamName(const Aws::String& value) { m_streamNameHasBeenSet = true; m_streamName = value; } /** *

The name of the data stream whose shards you want to list.

You cannot * specify this parameter if you specify the NextToken parameter.

*/ inline void SetStreamName(Aws::String&& value) { m_streamNameHasBeenSet = true; m_streamName = std::move(value); } /** *

The name of the data stream whose shards you want to list.

You cannot * specify this parameter if you specify the NextToken parameter.

*/ inline void SetStreamName(const char* value) { m_streamNameHasBeenSet = true; m_streamName.assign(value); } /** *

The name of the data stream whose shards you want to list.

You cannot * specify this parameter if you specify the NextToken parameter.

*/ inline ListShardsRequest& WithStreamName(const Aws::String& value) { SetStreamName(value); return *this;} /** *

The name of the data stream whose shards you want to list.

You cannot * specify this parameter if you specify the NextToken parameter.

*/ inline ListShardsRequest& WithStreamName(Aws::String&& value) { SetStreamName(std::move(value)); return *this;} /** *

The name of the data stream whose shards you want to list.

You cannot * specify this parameter if you specify the NextToken parameter.

*/ inline ListShardsRequest& WithStreamName(const char* value) { SetStreamName(value); return *this;} /** *

When the number of shards in the data stream is greater than the default * value for the MaxResults parameter, or if you explicitly specify a * value for MaxResults that is less than the number of shards in the * data stream, the response includes a pagination token named * NextToken. You can specify this NextToken value in a * subsequent call to ListShards to list the next set of shards.

*

Don't specify StreamName or StreamCreationTimestamp * if you specify NextToken because the latter unambiguously * identifies the stream.

You can optionally specify a value for the * MaxResults parameter when you specify NextToken. If * you specify a MaxResults value that is less than the number of * shards that the operation returns if you don't specify MaxResults, * the response will contain a new NextToken value. You can use the * new NextToken value in a subsequent call to the * ListShards operation.

Tokens expire after 300 * seconds. When you obtain a value for NextToken in the response to a * call to ListShards, you have 300 seconds to use that value. If you * specify an expired token in a call to ListShards, you get * ExpiredNextTokenException.

*/ inline const Aws::String& GetNextToken() const{ return m_nextToken; } /** *

When the number of shards in the data stream is greater than the default * value for the MaxResults parameter, or if you explicitly specify a * value for MaxResults that is less than the number of shards in the * data stream, the response includes a pagination token named * NextToken. You can specify this NextToken value in a * subsequent call to ListShards to list the next set of shards.

*

Don't specify StreamName or StreamCreationTimestamp * if you specify NextToken because the latter unambiguously * identifies the stream.

You can optionally specify a value for the * MaxResults parameter when you specify NextToken. If * you specify a MaxResults value that is less than the number of * shards that the operation returns if you don't specify MaxResults, * the response will contain a new NextToken value. You can use the * new NextToken value in a subsequent call to the * ListShards operation.

Tokens expire after 300 * seconds. When you obtain a value for NextToken in the response to a * call to ListShards, you have 300 seconds to use that value. If you * specify an expired token in a call to ListShards, you get * ExpiredNextTokenException.

*/ inline bool NextTokenHasBeenSet() const { return m_nextTokenHasBeenSet; } /** *

When the number of shards in the data stream is greater than the default * value for the MaxResults parameter, or if you explicitly specify a * value for MaxResults that is less than the number of shards in the * data stream, the response includes a pagination token named * NextToken. You can specify this NextToken value in a * subsequent call to ListShards to list the next set of shards.

*

Don't specify StreamName or StreamCreationTimestamp * if you specify NextToken because the latter unambiguously * identifies the stream.

You can optionally specify a value for the * MaxResults parameter when you specify NextToken. If * you specify a MaxResults value that is less than the number of * shards that the operation returns if you don't specify MaxResults, * the response will contain a new NextToken value. You can use the * new NextToken value in a subsequent call to the * ListShards operation.

Tokens expire after 300 * seconds. When you obtain a value for NextToken in the response to a * call to ListShards, you have 300 seconds to use that value. If you * specify an expired token in a call to ListShards, you get * ExpiredNextTokenException.

*/ inline void SetNextToken(const Aws::String& value) { m_nextTokenHasBeenSet = true; m_nextToken = value; } /** *

When the number of shards in the data stream is greater than the default * value for the MaxResults parameter, or if you explicitly specify a * value for MaxResults that is less than the number of shards in the * data stream, the response includes a pagination token named * NextToken. You can specify this NextToken value in a * subsequent call to ListShards to list the next set of shards.

*

Don't specify StreamName or StreamCreationTimestamp * if you specify NextToken because the latter unambiguously * identifies the stream.

You can optionally specify a value for the * MaxResults parameter when you specify NextToken. If * you specify a MaxResults value that is less than the number of * shards that the operation returns if you don't specify MaxResults, * the response will contain a new NextToken value. You can use the * new NextToken value in a subsequent call to the * ListShards operation.

Tokens expire after 300 * seconds. When you obtain a value for NextToken in the response to a * call to ListShards, you have 300 seconds to use that value. If you * specify an expired token in a call to ListShards, you get * ExpiredNextTokenException.

*/ inline void SetNextToken(Aws::String&& value) { m_nextTokenHasBeenSet = true; m_nextToken = std::move(value); } /** *

When the number of shards in the data stream is greater than the default * value for the MaxResults parameter, or if you explicitly specify a * value for MaxResults that is less than the number of shards in the * data stream, the response includes a pagination token named * NextToken. You can specify this NextToken value in a * subsequent call to ListShards to list the next set of shards.

*

Don't specify StreamName or StreamCreationTimestamp * if you specify NextToken because the latter unambiguously * identifies the stream.

You can optionally specify a value for the * MaxResults parameter when you specify NextToken. If * you specify a MaxResults value that is less than the number of * shards that the operation returns if you don't specify MaxResults, * the response will contain a new NextToken value. You can use the * new NextToken value in a subsequent call to the * ListShards operation.

Tokens expire after 300 * seconds. When you obtain a value for NextToken in the response to a * call to ListShards, you have 300 seconds to use that value. If you * specify an expired token in a call to ListShards, you get * ExpiredNextTokenException.

*/ inline void SetNextToken(const char* value) { m_nextTokenHasBeenSet = true; m_nextToken.assign(value); } /** *

When the number of shards in the data stream is greater than the default * value for the MaxResults parameter, or if you explicitly specify a * value for MaxResults that is less than the number of shards in the * data stream, the response includes a pagination token named * NextToken. You can specify this NextToken value in a * subsequent call to ListShards to list the next set of shards.

*

Don't specify StreamName or StreamCreationTimestamp * if you specify NextToken because the latter unambiguously * identifies the stream.

You can optionally specify a value for the * MaxResults parameter when you specify NextToken. If * you specify a MaxResults value that is less than the number of * shards that the operation returns if you don't specify MaxResults, * the response will contain a new NextToken value. You can use the * new NextToken value in a subsequent call to the * ListShards operation.

Tokens expire after 300 * seconds. When you obtain a value for NextToken in the response to a * call to ListShards, you have 300 seconds to use that value. If you * specify an expired token in a call to ListShards, you get * ExpiredNextTokenException.

*/ inline ListShardsRequest& WithNextToken(const Aws::String& value) { SetNextToken(value); return *this;} /** *

When the number of shards in the data stream is greater than the default * value for the MaxResults parameter, or if you explicitly specify a * value for MaxResults that is less than the number of shards in the * data stream, the response includes a pagination token named * NextToken. You can specify this NextToken value in a * subsequent call to ListShards to list the next set of shards.

*

Don't specify StreamName or StreamCreationTimestamp * if you specify NextToken because the latter unambiguously * identifies the stream.

You can optionally specify a value for the * MaxResults parameter when you specify NextToken. If * you specify a MaxResults value that is less than the number of * shards that the operation returns if you don't specify MaxResults, * the response will contain a new NextToken value. You can use the * new NextToken value in a subsequent call to the * ListShards operation.

Tokens expire after 300 * seconds. When you obtain a value for NextToken in the response to a * call to ListShards, you have 300 seconds to use that value. If you * specify an expired token in a call to ListShards, you get * ExpiredNextTokenException.

*/ inline ListShardsRequest& WithNextToken(Aws::String&& value) { SetNextToken(std::move(value)); return *this;} /** *

When the number of shards in the data stream is greater than the default * value for the MaxResults parameter, or if you explicitly specify a * value for MaxResults that is less than the number of shards in the * data stream, the response includes a pagination token named * NextToken. You can specify this NextToken value in a * subsequent call to ListShards to list the next set of shards.

*

Don't specify StreamName or StreamCreationTimestamp * if you specify NextToken because the latter unambiguously * identifies the stream.

You can optionally specify a value for the * MaxResults parameter when you specify NextToken. If * you specify a MaxResults value that is less than the number of * shards that the operation returns if you don't specify MaxResults, * the response will contain a new NextToken value. You can use the * new NextToken value in a subsequent call to the * ListShards operation.

Tokens expire after 300 * seconds. When you obtain a value for NextToken in the response to a * call to ListShards, you have 300 seconds to use that value. If you * specify an expired token in a call to ListShards, you get * ExpiredNextTokenException.

*/ inline ListShardsRequest& WithNextToken(const char* value) { SetNextToken(value); return *this;} /** *

Specify this parameter to indicate that you want to list the shards starting * with the shard whose ID immediately follows * ExclusiveStartShardId.

If you don't specify this parameter, * the default behavior is for ListShards to list the shards starting * with the first one in the stream.

You cannot specify this parameter if * you specify NextToken.

*/ inline const Aws::String& GetExclusiveStartShardId() const{ return m_exclusiveStartShardId; } /** *

Specify this parameter to indicate that you want to list the shards starting * with the shard whose ID immediately follows * ExclusiveStartShardId.

If you don't specify this parameter, * the default behavior is for ListShards to list the shards starting * with the first one in the stream.

You cannot specify this parameter if * you specify NextToken.

*/ inline bool ExclusiveStartShardIdHasBeenSet() const { return m_exclusiveStartShardIdHasBeenSet; } /** *

Specify this parameter to indicate that you want to list the shards starting * with the shard whose ID immediately follows * ExclusiveStartShardId.

If you don't specify this parameter, * the default behavior is for ListShards to list the shards starting * with the first one in the stream.

You cannot specify this parameter if * you specify NextToken.

*/ inline void SetExclusiveStartShardId(const Aws::String& value) { m_exclusiveStartShardIdHasBeenSet = true; m_exclusiveStartShardId = value; } /** *

Specify this parameter to indicate that you want to list the shards starting * with the shard whose ID immediately follows * ExclusiveStartShardId.

If you don't specify this parameter, * the default behavior is for ListShards to list the shards starting * with the first one in the stream.

You cannot specify this parameter if * you specify NextToken.

*/ inline void SetExclusiveStartShardId(Aws::String&& value) { m_exclusiveStartShardIdHasBeenSet = true; m_exclusiveStartShardId = std::move(value); } /** *

Specify this parameter to indicate that you want to list the shards starting * with the shard whose ID immediately follows * ExclusiveStartShardId.

If you don't specify this parameter, * the default behavior is for ListShards to list the shards starting * with the first one in the stream.

You cannot specify this parameter if * you specify NextToken.

*/ inline void SetExclusiveStartShardId(const char* value) { m_exclusiveStartShardIdHasBeenSet = true; m_exclusiveStartShardId.assign(value); } /** *

Specify this parameter to indicate that you want to list the shards starting * with the shard whose ID immediately follows * ExclusiveStartShardId.

If you don't specify this parameter, * the default behavior is for ListShards to list the shards starting * with the first one in the stream.

You cannot specify this parameter if * you specify NextToken.

*/ inline ListShardsRequest& WithExclusiveStartShardId(const Aws::String& value) { SetExclusiveStartShardId(value); return *this;} /** *

Specify this parameter to indicate that you want to list the shards starting * with the shard whose ID immediately follows * ExclusiveStartShardId.

If you don't specify this parameter, * the default behavior is for ListShards to list the shards starting * with the first one in the stream.

You cannot specify this parameter if * you specify NextToken.

*/ inline ListShardsRequest& WithExclusiveStartShardId(Aws::String&& value) { SetExclusiveStartShardId(std::move(value)); return *this;} /** *

Specify this parameter to indicate that you want to list the shards starting * with the shard whose ID immediately follows * ExclusiveStartShardId.

If you don't specify this parameter, * the default behavior is for ListShards to list the shards starting * with the first one in the stream.

You cannot specify this parameter if * you specify NextToken.

*/ inline ListShardsRequest& WithExclusiveStartShardId(const char* value) { SetExclusiveStartShardId(value); return *this;} /** *

The maximum number of shards to return in a single call to * ListShards. The minimum value you can specify for this parameter is * 1, and the maximum is 10,000, which is also the default.

When the number * of shards to be listed is greater than the value of MaxResults, the * response contains a NextToken value that you can use in a * subsequent call to ListShards to list the next set of shards.

*/ inline int GetMaxResults() const{ return m_maxResults; } /** *

The maximum number of shards to return in a single call to * ListShards. The minimum value you can specify for this parameter is * 1, and the maximum is 10,000, which is also the default.

When the number * of shards to be listed is greater than the value of MaxResults, the * response contains a NextToken value that you can use in a * subsequent call to ListShards to list the next set of shards.

*/ inline bool MaxResultsHasBeenSet() const { return m_maxResultsHasBeenSet; } /** *

The maximum number of shards to return in a single call to * ListShards. The minimum value you can specify for this parameter is * 1, and the maximum is 10,000, which is also the default.

When the number * of shards to be listed is greater than the value of MaxResults, the * response contains a NextToken value that you can use in a * subsequent call to ListShards to list the next set of shards.

*/ inline void SetMaxResults(int value) { m_maxResultsHasBeenSet = true; m_maxResults = value; } /** *

The maximum number of shards to return in a single call to * ListShards. The minimum value you can specify for this parameter is * 1, and the maximum is 10,000, which is also the default.

When the number * of shards to be listed is greater than the value of MaxResults, the * response contains a NextToken value that you can use in a * subsequent call to ListShards to list the next set of shards.

*/ inline ListShardsRequest& WithMaxResults(int value) { SetMaxResults(value); return *this;} /** *

Specify this input parameter to distinguish data streams that have the same * name. For example, if you create a data stream and then delete it, and you later * create another data stream with the same name, you can use this input parameter * to specify which of the two streams you want to list the shards for.

You * cannot specify this parameter if you specify the NextToken * parameter.

*/ inline const Aws::Utils::DateTime& GetStreamCreationTimestamp() const{ return m_streamCreationTimestamp; } /** *

Specify this input parameter to distinguish data streams that have the same * name. For example, if you create a data stream and then delete it, and you later * create another data stream with the same name, you can use this input parameter * to specify which of the two streams you want to list the shards for.

You * cannot specify this parameter if you specify the NextToken * parameter.

*/ inline bool StreamCreationTimestampHasBeenSet() const { return m_streamCreationTimestampHasBeenSet; } /** *

Specify this input parameter to distinguish data streams that have the same * name. For example, if you create a data stream and then delete it, and you later * create another data stream with the same name, you can use this input parameter * to specify which of the two streams you want to list the shards for.

You * cannot specify this parameter if you specify the NextToken * parameter.

*/ inline void SetStreamCreationTimestamp(const Aws::Utils::DateTime& value) { m_streamCreationTimestampHasBeenSet = true; m_streamCreationTimestamp = value; } /** *

Specify this input parameter to distinguish data streams that have the same * name. For example, if you create a data stream and then delete it, and you later * create another data stream with the same name, you can use this input parameter * to specify which of the two streams you want to list the shards for.

You * cannot specify this parameter if you specify the NextToken * parameter.

*/ inline void SetStreamCreationTimestamp(Aws::Utils::DateTime&& value) { m_streamCreationTimestampHasBeenSet = true; m_streamCreationTimestamp = std::move(value); } /** *

Specify this input parameter to distinguish data streams that have the same * name. For example, if you create a data stream and then delete it, and you later * create another data stream with the same name, you can use this input parameter * to specify which of the two streams you want to list the shards for.

You * cannot specify this parameter if you specify the NextToken * parameter.

*/ inline ListShardsRequest& WithStreamCreationTimestamp(const Aws::Utils::DateTime& value) { SetStreamCreationTimestamp(value); return *this;} /** *

Specify this input parameter to distinguish data streams that have the same * name. For example, if you create a data stream and then delete it, and you later * create another data stream with the same name, you can use this input parameter * to specify which of the two streams you want to list the shards for.

You * cannot specify this parameter if you specify the NextToken * parameter.

*/ inline ListShardsRequest& WithStreamCreationTimestamp(Aws::Utils::DateTime&& value) { SetStreamCreationTimestamp(std::move(value)); return *this;} inline const ShardFilter& GetShardFilter() const{ return m_shardFilter; } inline bool ShardFilterHasBeenSet() const { return m_shardFilterHasBeenSet; } inline void SetShardFilter(const ShardFilter& value) { m_shardFilterHasBeenSet = true; m_shardFilter = value; } inline void SetShardFilter(ShardFilter&& value) { m_shardFilterHasBeenSet = true; m_shardFilter = std::move(value); } inline ListShardsRequest& WithShardFilter(const ShardFilter& value) { SetShardFilter(value); return *this;} inline ListShardsRequest& WithShardFilter(ShardFilter&& value) { SetShardFilter(std::move(value)); return *this;} private: Aws::String m_streamName; bool m_streamNameHasBeenSet; Aws::String m_nextToken; bool m_nextTokenHasBeenSet; Aws::String m_exclusiveStartShardId; bool m_exclusiveStartShardIdHasBeenSet; int m_maxResults; bool m_maxResultsHasBeenSet; Aws::Utils::DateTime m_streamCreationTimestamp; bool m_streamCreationTimestampHasBeenSet; ShardFilter m_shardFilter; bool m_shardFilterHasBeenSet; }; } // namespace Model } // namespace Kinesis } // namespace Aws