/** * 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 Neptune { namespace Model { /** */ class DescribeOrderableDBInstanceOptionsRequest : public NeptuneRequest { public: AWS_NEPTUNE_API DescribeOrderableDBInstanceOptionsRequest(); // 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 "DescribeOrderableDBInstanceOptions"; } AWS_NEPTUNE_API Aws::String SerializePayload() const override; protected: AWS_NEPTUNE_API void DumpBodyToUrl(Aws::Http::URI& uri ) const override; public: /** *

The name of the engine to retrieve DB instance options for.

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

The name of the engine to retrieve DB instance options for.

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

The name of the engine to retrieve DB instance options for.

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

The name of the engine to retrieve DB instance options for.

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

The name of the engine to retrieve DB instance options for.

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

The name of the engine to retrieve DB instance options for.

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

The name of the engine to retrieve DB instance options for.

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

The name of the engine to retrieve DB instance options for.

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

The engine version filter value. Specify this parameter to show only the * available offerings matching the specified engine version.

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

The engine version filter value. Specify this parameter to show only the * available offerings matching the specified engine version.

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

The engine version filter value. Specify this parameter to show only the * available offerings matching the specified engine version.

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

The engine version filter value. Specify this parameter to show only the * available offerings matching the specified engine version.

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

The engine version filter value. Specify this parameter to show only the * available offerings matching the specified engine version.

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

The engine version filter value. Specify this parameter to show only the * available offerings matching the specified engine version.

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

The engine version filter value. Specify this parameter to show only the * available offerings matching the specified engine version.

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

The engine version filter value. Specify this parameter to show only the * available offerings matching the specified engine version.

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

The DB instance class filter value. Specify this parameter to show only the * available offerings matching the specified DB instance class.

*/ inline const Aws::String& GetDBInstanceClass() const{ return m_dBInstanceClass; } /** *

The DB instance class filter value. Specify this parameter to show only the * available offerings matching the specified DB instance class.

*/ inline bool DBInstanceClassHasBeenSet() const { return m_dBInstanceClassHasBeenSet; } /** *

The DB instance class filter value. Specify this parameter to show only the * available offerings matching the specified DB instance class.

*/ inline void SetDBInstanceClass(const Aws::String& value) { m_dBInstanceClassHasBeenSet = true; m_dBInstanceClass = value; } /** *

The DB instance class filter value. Specify this parameter to show only the * available offerings matching the specified DB instance class.

*/ inline void SetDBInstanceClass(Aws::String&& value) { m_dBInstanceClassHasBeenSet = true; m_dBInstanceClass = std::move(value); } /** *

The DB instance class filter value. Specify this parameter to show only the * available offerings matching the specified DB instance class.

*/ inline void SetDBInstanceClass(const char* value) { m_dBInstanceClassHasBeenSet = true; m_dBInstanceClass.assign(value); } /** *

The DB instance class filter value. Specify this parameter to show only the * available offerings matching the specified DB instance class.

*/ inline DescribeOrderableDBInstanceOptionsRequest& WithDBInstanceClass(const Aws::String& value) { SetDBInstanceClass(value); return *this;} /** *

The DB instance class filter value. Specify this parameter to show only the * available offerings matching the specified DB instance class.

*/ inline DescribeOrderableDBInstanceOptionsRequest& WithDBInstanceClass(Aws::String&& value) { SetDBInstanceClass(std::move(value)); return *this;} /** *

The DB instance class filter value. Specify this parameter to show only the * available offerings matching the specified DB instance class.

*/ inline DescribeOrderableDBInstanceOptionsRequest& WithDBInstanceClass(const char* value) { SetDBInstanceClass(value); return *this;} /** *

The license model filter value. Specify this parameter to show only the * available offerings matching the specified license model.

*/ inline const Aws::String& GetLicenseModel() const{ return m_licenseModel; } /** *

The license model filter value. Specify this parameter to show only the * available offerings matching the specified license model.

*/ inline bool LicenseModelHasBeenSet() const { return m_licenseModelHasBeenSet; } /** *

The license model filter value. Specify this parameter to show only the * available offerings matching the specified license model.

*/ inline void SetLicenseModel(const Aws::String& value) { m_licenseModelHasBeenSet = true; m_licenseModel = value; } /** *

The license model filter value. Specify this parameter to show only the * available offerings matching the specified license model.

*/ inline void SetLicenseModel(Aws::String&& value) { m_licenseModelHasBeenSet = true; m_licenseModel = std::move(value); } /** *

The license model filter value. Specify this parameter to show only the * available offerings matching the specified license model.

*/ inline void SetLicenseModel(const char* value) { m_licenseModelHasBeenSet = true; m_licenseModel.assign(value); } /** *

The license model filter value. Specify this parameter to show only the * available offerings matching the specified license model.

*/ inline DescribeOrderableDBInstanceOptionsRequest& WithLicenseModel(const Aws::String& value) { SetLicenseModel(value); return *this;} /** *

The license model filter value. Specify this parameter to show only the * available offerings matching the specified license model.

*/ inline DescribeOrderableDBInstanceOptionsRequest& WithLicenseModel(Aws::String&& value) { SetLicenseModel(std::move(value)); return *this;} /** *

The license model filter value. Specify this parameter to show only the * available offerings matching the specified license model.

*/ inline DescribeOrderableDBInstanceOptionsRequest& WithLicenseModel(const char* value) { SetLicenseModel(value); return *this;} /** *

The VPC filter value. Specify this parameter to show only the available VPC * or non-VPC offerings.

*/ inline bool GetVpc() const{ return m_vpc; } /** *

The VPC filter value. Specify this parameter to show only the available VPC * or non-VPC offerings.

*/ inline bool VpcHasBeenSet() const { return m_vpcHasBeenSet; } /** *

The VPC filter value. Specify this parameter to show only the available VPC * or non-VPC offerings.

*/ inline void SetVpc(bool value) { m_vpcHasBeenSet = true; m_vpc = value; } /** *

The VPC filter value. Specify this parameter to show only the available VPC * or non-VPC offerings.

*/ inline DescribeOrderableDBInstanceOptionsRequest& WithVpc(bool value) { SetVpc(value); return *this;} /** *

This parameter is not currently supported.

*/ inline const Aws::Vector& GetFilters() const{ return m_filters; } /** *

This parameter is not currently supported.

*/ inline bool FiltersHasBeenSet() const { return m_filtersHasBeenSet; } /** *

This parameter is not currently supported.

*/ inline void SetFilters(const Aws::Vector& value) { m_filtersHasBeenSet = true; m_filters = value; } /** *

This parameter is not currently supported.

*/ inline void SetFilters(Aws::Vector&& value) { m_filtersHasBeenSet = true; m_filters = std::move(value); } /** *

This parameter is not currently supported.

*/ inline DescribeOrderableDBInstanceOptionsRequest& WithFilters(const Aws::Vector& value) { SetFilters(value); return *this;} /** *

This parameter is not currently supported.

*/ inline DescribeOrderableDBInstanceOptionsRequest& WithFilters(Aws::Vector&& value) { SetFilters(std::move(value)); return *this;} /** *

This parameter is not currently supported.

*/ inline DescribeOrderableDBInstanceOptionsRequest& AddFilters(const Filter& value) { m_filtersHasBeenSet = true; m_filters.push_back(value); return *this; } /** *

This parameter is not currently supported.

*/ inline DescribeOrderableDBInstanceOptionsRequest& AddFilters(Filter&& value) { m_filtersHasBeenSet = true; m_filters.push_back(std::move(value)); return *this; } /** *

The maximum number of records to include in the response. If more records * exist than the specified MaxRecords value, a pagination token * called 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 pagination token * called 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 pagination token * called 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 pagination token * called a marker is included in the response so that the remaining results can be * retrieved.

Default: 100

Constraints: Minimum 20, maximum 100.

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

An optional pagination token provided by a previous * DescribeOrderableDBInstanceOptions request. 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 pagination token provided by a previous * DescribeOrderableDBInstanceOptions request. 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 pagination token provided by a previous * DescribeOrderableDBInstanceOptions request. 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 pagination token provided by a previous * DescribeOrderableDBInstanceOptions request. 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 pagination token provided by a previous * DescribeOrderableDBInstanceOptions request. 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 pagination token provided by a previous * DescribeOrderableDBInstanceOptions request. If this parameter is specified, the * response includes only records beyond the marker, up to the value specified by * MaxRecords .

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

An optional pagination token provided by a previous * DescribeOrderableDBInstanceOptions request. If this parameter is specified, the * response includes only records beyond the marker, up to the value specified by * MaxRecords .

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

An optional pagination token provided by a previous * DescribeOrderableDBInstanceOptions request. If this parameter is specified, the * response includes only records beyond the marker, up to the value specified by * MaxRecords .

*/ inline DescribeOrderableDBInstanceOptionsRequest& WithMarker(const char* value) { SetMarker(value); return *this;} private: Aws::String m_engine; bool m_engineHasBeenSet = false; Aws::String m_engineVersion; bool m_engineVersionHasBeenSet = false; Aws::String m_dBInstanceClass; bool m_dBInstanceClassHasBeenSet = false; Aws::String m_licenseModel; bool m_licenseModelHasBeenSet = false; bool m_vpc; bool m_vpcHasBeenSet = false; Aws::Vector m_filters; bool m_filtersHasBeenSet = false; int m_maxRecords; bool m_maxRecordsHasBeenSet = false; Aws::String m_marker; bool m_markerHasBeenSet = false; }; } // namespace Model } // namespace Neptune } // namespace Aws