/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include #include namespace Aws { namespace ElastiCache { namespace Model { /** *

Represents the input of a DescribeCacheEngineVersions * operation.

See Also:

AWS * API Reference

*/ class DescribeCacheEngineVersionsRequest : public ElastiCacheRequest { public: AWS_ELASTICACHE_API DescribeCacheEngineVersionsRequest(); // 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 "DescribeCacheEngineVersions"; } AWS_ELASTICACHE_API Aws::String SerializePayload() const override; protected: AWS_ELASTICACHE_API void DumpBodyToUrl(Aws::Http::URI& uri ) const override; public: /** *

The cache engine to return. Valid values: memcached | * redis

*/ inline const Aws::String& GetEngine() const{ return m_engine; } /** *

The cache engine to return. Valid values: memcached | * redis

*/ inline bool EngineHasBeenSet() const { return m_engineHasBeenSet; } /** *

The cache engine to return. Valid values: memcached | * redis

*/ inline void SetEngine(const Aws::String& value) { m_engineHasBeenSet = true; m_engine = value; } /** *

The cache engine to return. Valid values: memcached | * redis

*/ inline void SetEngine(Aws::String&& value) { m_engineHasBeenSet = true; m_engine = std::move(value); } /** *

The cache engine to return. Valid values: memcached | * redis

*/ inline void SetEngine(const char* value) { m_engineHasBeenSet = true; m_engine.assign(value); } /** *

The cache engine to return. Valid values: memcached | * redis

*/ inline DescribeCacheEngineVersionsRequest& WithEngine(const Aws::String& value) { SetEngine(value); return *this;} /** *

The cache engine to return. Valid values: memcached | * redis

*/ inline DescribeCacheEngineVersionsRequest& WithEngine(Aws::String&& value) { SetEngine(std::move(value)); return *this;} /** *

The cache engine to return. Valid values: memcached | * redis

*/ inline DescribeCacheEngineVersionsRequest& WithEngine(const char* value) { SetEngine(value); return *this;} /** *

The cache engine version to return.

Example: 1.4.14

*/ inline const Aws::String& GetEngineVersion() const{ return m_engineVersion; } /** *

The cache engine version to return.

Example: 1.4.14

*/ inline bool EngineVersionHasBeenSet() const { return m_engineVersionHasBeenSet; } /** *

The cache engine version to return.

Example: 1.4.14

*/ inline void SetEngineVersion(const Aws::String& value) { m_engineVersionHasBeenSet = true; m_engineVersion = value; } /** *

The cache engine version to return.

Example: 1.4.14

*/ inline void SetEngineVersion(Aws::String&& value) { m_engineVersionHasBeenSet = true; m_engineVersion = std::move(value); } /** *

The cache engine version to return.

Example: 1.4.14

*/ inline void SetEngineVersion(const char* value) { m_engineVersionHasBeenSet = true; m_engineVersion.assign(value); } /** *

The cache engine version to return.

Example: 1.4.14

*/ inline DescribeCacheEngineVersionsRequest& WithEngineVersion(const Aws::String& value) { SetEngineVersion(value); return *this;} /** *

The cache engine version to return.

Example: 1.4.14

*/ inline DescribeCacheEngineVersionsRequest& WithEngineVersion(Aws::String&& value) { SetEngineVersion(std::move(value)); return *this;} /** *

The cache engine version to return.

Example: 1.4.14

*/ inline DescribeCacheEngineVersionsRequest& WithEngineVersion(const char* value) { SetEngineVersion(value); return *this;} /** *

The name of a specific cache parameter group family to return details * for.

Valid values are: memcached1.4 | * memcached1.5 | memcached1.6 | redis2.6 | * redis2.8 | redis3.2 | redis4.0 | * redis5.0 | redis6.x | redis6.2 | * redis7

Constraints:

  • Must be 1 to 255 * alphanumeric characters

  • First character must be a letter

    *
  • Cannot end with a hyphen or contain two consecutive hyphens

    *
*/ inline const Aws::String& GetCacheParameterGroupFamily() const{ return m_cacheParameterGroupFamily; } /** *

The name of a specific cache parameter group family to return details * for.

Valid values are: memcached1.4 | * memcached1.5 | memcached1.6 | redis2.6 | * redis2.8 | redis3.2 | redis4.0 | * redis5.0 | redis6.x | redis6.2 | * redis7

Constraints:

  • Must be 1 to 255 * alphanumeric characters

  • First character must be a letter

    *
  • Cannot end with a hyphen or contain two consecutive hyphens

    *
*/ inline bool CacheParameterGroupFamilyHasBeenSet() const { return m_cacheParameterGroupFamilyHasBeenSet; } /** *

The name of a specific cache parameter group family to return details * for.

Valid values are: memcached1.4 | * memcached1.5 | memcached1.6 | redis2.6 | * redis2.8 | redis3.2 | redis4.0 | * redis5.0 | redis6.x | redis6.2 | * redis7

Constraints:

  • Must be 1 to 255 * alphanumeric characters

  • First character must be a letter

    *
  • Cannot end with a hyphen or contain two consecutive hyphens

    *
*/ inline void SetCacheParameterGroupFamily(const Aws::String& value) { m_cacheParameterGroupFamilyHasBeenSet = true; m_cacheParameterGroupFamily = value; } /** *

The name of a specific cache parameter group family to return details * for.

Valid values are: memcached1.4 | * memcached1.5 | memcached1.6 | redis2.6 | * redis2.8 | redis3.2 | redis4.0 | * redis5.0 | redis6.x | redis6.2 | * redis7

Constraints:

  • Must be 1 to 255 * alphanumeric characters

  • First character must be a letter

    *
  • Cannot end with a hyphen or contain two consecutive hyphens

    *
*/ inline void SetCacheParameterGroupFamily(Aws::String&& value) { m_cacheParameterGroupFamilyHasBeenSet = true; m_cacheParameterGroupFamily = std::move(value); } /** *

The name of a specific cache parameter group family to return details * for.

Valid values are: memcached1.4 | * memcached1.5 | memcached1.6 | redis2.6 | * redis2.8 | redis3.2 | redis4.0 | * redis5.0 | redis6.x | redis6.2 | * redis7

Constraints:

  • Must be 1 to 255 * alphanumeric characters

  • First character must be a letter

    *
  • Cannot end with a hyphen or contain two consecutive hyphens

    *
*/ inline void SetCacheParameterGroupFamily(const char* value) { m_cacheParameterGroupFamilyHasBeenSet = true; m_cacheParameterGroupFamily.assign(value); } /** *

The name of a specific cache parameter group family to return details * for.

Valid values are: memcached1.4 | * memcached1.5 | memcached1.6 | redis2.6 | * redis2.8 | redis3.2 | redis4.0 | * redis5.0 | redis6.x | redis6.2 | * redis7

Constraints:

  • Must be 1 to 255 * alphanumeric characters

  • First character must be a letter

    *
  • Cannot end with a hyphen or contain two consecutive hyphens

    *
*/ inline DescribeCacheEngineVersionsRequest& WithCacheParameterGroupFamily(const Aws::String& value) { SetCacheParameterGroupFamily(value); return *this;} /** *

The name of a specific cache parameter group family to return details * for.

Valid values are: memcached1.4 | * memcached1.5 | memcached1.6 | redis2.6 | * redis2.8 | redis3.2 | redis4.0 | * redis5.0 | redis6.x | redis6.2 | * redis7

Constraints:

  • Must be 1 to 255 * alphanumeric characters

  • First character must be a letter

    *
  • Cannot end with a hyphen or contain two consecutive hyphens

    *
*/ inline DescribeCacheEngineVersionsRequest& WithCacheParameterGroupFamily(Aws::String&& value) { SetCacheParameterGroupFamily(std::move(value)); return *this;} /** *

The name of a specific cache parameter group family to return details * for.

Valid values are: memcached1.4 | * memcached1.5 | memcached1.6 | redis2.6 | * redis2.8 | redis3.2 | redis4.0 | * redis5.0 | redis6.x | redis6.2 | * redis7

Constraints:

  • Must be 1 to 255 * alphanumeric characters

  • First character must be a letter

    *
  • Cannot end with a hyphen or contain two consecutive hyphens

    *
*/ inline DescribeCacheEngineVersionsRequest& WithCacheParameterGroupFamily(const char* value) { SetCacheParameterGroupFamily(value); return *this;} /** *

The maximum number of records to include in the response. If more records * exist than the specified MaxRecords value, a marker is included in * the response so that the remaining results can be retrieved.

Default: * 100

Constraints: minimum 20; maximum 100.

*/ inline int GetMaxRecords() const{ return m_maxRecords; } /** *

The maximum number of records to include in the response. If more records * exist than the specified MaxRecords value, a marker is included in * the response so that the remaining results can be retrieved.

Default: * 100

Constraints: minimum 20; maximum 100.

*/ inline bool MaxRecordsHasBeenSet() const { return m_maxRecordsHasBeenSet; } /** *

The maximum number of records to include in the response. If more records * exist than the specified MaxRecords value, a marker is included in * the response so that the remaining results can be retrieved.

Default: * 100

Constraints: minimum 20; maximum 100.

*/ inline void SetMaxRecords(int value) { m_maxRecordsHasBeenSet = true; m_maxRecords = value; } /** *

The maximum number of records to include in the response. If more records * exist than the specified MaxRecords value, a marker is included in * the response so that the remaining results can be retrieved.

Default: * 100

Constraints: minimum 20; maximum 100.

*/ inline DescribeCacheEngineVersionsRequest& WithMaxRecords(int value) { SetMaxRecords(value); return *this;} /** *

An optional marker returned from a prior request. Use this marker for * pagination of results from this operation. If this parameter is specified, the * response includes only records beyond the marker, up to the value specified by * MaxRecords.

*/ inline const Aws::String& GetMarker() const{ return m_marker; } /** *

An optional marker returned from a prior request. Use this marker for * pagination of results from this operation. If this parameter is specified, the * response includes only records beyond the marker, up to the value specified by * MaxRecords.

*/ inline bool MarkerHasBeenSet() const { return m_markerHasBeenSet; } /** *

An optional marker returned from a prior request. Use this marker for * pagination of results from this operation. If this parameter is specified, the * response includes only records beyond the marker, up to the value specified by * MaxRecords.

*/ inline void SetMarker(const Aws::String& value) { m_markerHasBeenSet = true; m_marker = value; } /** *

An optional marker returned from a prior request. Use this marker for * pagination of results from this operation. If this parameter is specified, the * response includes only records beyond the marker, up to the value specified by * MaxRecords.

*/ inline void SetMarker(Aws::String&& value) { m_markerHasBeenSet = true; m_marker = std::move(value); } /** *

An optional marker returned from a prior request. Use this marker for * pagination of results from this operation. If this parameter is specified, the * response includes only records beyond the marker, up to the value specified by * MaxRecords.

*/ inline void SetMarker(const char* value) { m_markerHasBeenSet = true; m_marker.assign(value); } /** *

An optional marker returned from a prior request. Use this marker for * pagination of results from this operation. If this parameter is specified, the * response includes only records beyond the marker, up to the value specified by * MaxRecords.

*/ inline DescribeCacheEngineVersionsRequest& WithMarker(const Aws::String& value) { SetMarker(value); return *this;} /** *

An optional marker returned from a prior request. Use this marker for * pagination of results from this operation. If this parameter is specified, the * response includes only records beyond the marker, up to the value specified by * MaxRecords.

*/ inline DescribeCacheEngineVersionsRequest& WithMarker(Aws::String&& value) { SetMarker(std::move(value)); return *this;} /** *

An optional marker returned from a prior request. Use this marker for * pagination of results from this operation. If this parameter is specified, the * response includes only records beyond the marker, up to the value specified by * MaxRecords.

*/ inline DescribeCacheEngineVersionsRequest& WithMarker(const char* value) { SetMarker(value); return *this;} /** *

If true, specifies that only the default version of the * specified engine or engine and major version combination is to be returned.

*/ inline bool GetDefaultOnly() const{ return m_defaultOnly; } /** *

If true, specifies that only the default version of the * specified engine or engine and major version combination is to be returned.

*/ inline bool DefaultOnlyHasBeenSet() const { return m_defaultOnlyHasBeenSet; } /** *

If true, specifies that only the default version of the * specified engine or engine and major version combination is to be returned.

*/ inline void SetDefaultOnly(bool value) { m_defaultOnlyHasBeenSet = true; m_defaultOnly = value; } /** *

If true, specifies that only the default version of the * specified engine or engine and major version combination is to be returned.

*/ inline DescribeCacheEngineVersionsRequest& WithDefaultOnly(bool value) { SetDefaultOnly(value); return *this;} private: Aws::String m_engine; bool m_engineHasBeenSet = false; Aws::String m_engineVersion; bool m_engineVersionHasBeenSet = false; Aws::String m_cacheParameterGroupFamily; bool m_cacheParameterGroupFamilyHasBeenSet = false; int m_maxRecords; bool m_maxRecordsHasBeenSet = false; Aws::String m_marker; bool m_markerHasBeenSet = false; bool m_defaultOnly; bool m_defaultOnlyHasBeenSet = false; }; } // namespace Model } // namespace ElastiCache } // namespace Aws