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

Request a new generated client SDK for a RestApi and Stage.

See * Also:

AWS * API Reference

*/ class GetSdkRequest : public APIGatewayRequest { public: AWS_APIGATEWAY_API GetSdkRequest(); // 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 "GetSdk"; } AWS_APIGATEWAY_API Aws::String SerializePayload() const override; AWS_APIGATEWAY_API void AddQueryStringParameters(Aws::Http::URI& uri) const override; /** *

The string identifier of the associated RestApi.

*/ inline const Aws::String& GetRestApiId() const{ return m_restApiId; } /** *

The string identifier of the associated RestApi.

*/ inline bool RestApiIdHasBeenSet() const { return m_restApiIdHasBeenSet; } /** *

The string identifier of the associated RestApi.

*/ inline void SetRestApiId(const Aws::String& value) { m_restApiIdHasBeenSet = true; m_restApiId = value; } /** *

The string identifier of the associated RestApi.

*/ inline void SetRestApiId(Aws::String&& value) { m_restApiIdHasBeenSet = true; m_restApiId = std::move(value); } /** *

The string identifier of the associated RestApi.

*/ inline void SetRestApiId(const char* value) { m_restApiIdHasBeenSet = true; m_restApiId.assign(value); } /** *

The string identifier of the associated RestApi.

*/ inline GetSdkRequest& WithRestApiId(const Aws::String& value) { SetRestApiId(value); return *this;} /** *

The string identifier of the associated RestApi.

*/ inline GetSdkRequest& WithRestApiId(Aws::String&& value) { SetRestApiId(std::move(value)); return *this;} /** *

The string identifier of the associated RestApi.

*/ inline GetSdkRequest& WithRestApiId(const char* value) { SetRestApiId(value); return *this;} /** *

The name of the Stage that the SDK will use.

*/ inline const Aws::String& GetStageName() const{ return m_stageName; } /** *

The name of the Stage that the SDK will use.

*/ inline bool StageNameHasBeenSet() const { return m_stageNameHasBeenSet; } /** *

The name of the Stage that the SDK will use.

*/ inline void SetStageName(const Aws::String& value) { m_stageNameHasBeenSet = true; m_stageName = value; } /** *

The name of the Stage that the SDK will use.

*/ inline void SetStageName(Aws::String&& value) { m_stageNameHasBeenSet = true; m_stageName = std::move(value); } /** *

The name of the Stage that the SDK will use.

*/ inline void SetStageName(const char* value) { m_stageNameHasBeenSet = true; m_stageName.assign(value); } /** *

The name of the Stage that the SDK will use.

*/ inline GetSdkRequest& WithStageName(const Aws::String& value) { SetStageName(value); return *this;} /** *

The name of the Stage that the SDK will use.

*/ inline GetSdkRequest& WithStageName(Aws::String&& value) { SetStageName(std::move(value)); return *this;} /** *

The name of the Stage that the SDK will use.

*/ inline GetSdkRequest& WithStageName(const char* value) { SetStageName(value); return *this;} /** *

The language for the generated SDK. Currently java, * javascript, android, objectivec (for * iOS), swift (for iOS), and ruby are supported.

*/ inline const Aws::String& GetSdkType() const{ return m_sdkType; } /** *

The language for the generated SDK. Currently java, * javascript, android, objectivec (for * iOS), swift (for iOS), and ruby are supported.

*/ inline bool SdkTypeHasBeenSet() const { return m_sdkTypeHasBeenSet; } /** *

The language for the generated SDK. Currently java, * javascript, android, objectivec (for * iOS), swift (for iOS), and ruby are supported.

*/ inline void SetSdkType(const Aws::String& value) { m_sdkTypeHasBeenSet = true; m_sdkType = value; } /** *

The language for the generated SDK. Currently java, * javascript, android, objectivec (for * iOS), swift (for iOS), and ruby are supported.

*/ inline void SetSdkType(Aws::String&& value) { m_sdkTypeHasBeenSet = true; m_sdkType = std::move(value); } /** *

The language for the generated SDK. Currently java, * javascript, android, objectivec (for * iOS), swift (for iOS), and ruby are supported.

*/ inline void SetSdkType(const char* value) { m_sdkTypeHasBeenSet = true; m_sdkType.assign(value); } /** *

The language for the generated SDK. Currently java, * javascript, android, objectivec (for * iOS), swift (for iOS), and ruby are supported.

*/ inline GetSdkRequest& WithSdkType(const Aws::String& value) { SetSdkType(value); return *this;} /** *

The language for the generated SDK. Currently java, * javascript, android, objectivec (for * iOS), swift (for iOS), and ruby are supported.

*/ inline GetSdkRequest& WithSdkType(Aws::String&& value) { SetSdkType(std::move(value)); return *this;} /** *

The language for the generated SDK. Currently java, * javascript, android, objectivec (for * iOS), swift (for iOS), and ruby are supported.

*/ inline GetSdkRequest& WithSdkType(const char* value) { SetSdkType(value); return *this;} /** *

A string-to-string key-value map of query parameters * sdkType-dependent properties of the SDK. For sdkType * of objectivec or swift, a parameter named * classPrefix is required. For sdkType of * android, parameters named groupId, * artifactId, artifactVersion, and * invokerPackage are required. For sdkType of * java, parameters named serviceName and * javaPackageName are required.

*/ inline const Aws::Map& GetParameters() const{ return m_parameters; } /** *

A string-to-string key-value map of query parameters * sdkType-dependent properties of the SDK. For sdkType * of objectivec or swift, a parameter named * classPrefix is required. For sdkType of * android, parameters named groupId, * artifactId, artifactVersion, and * invokerPackage are required. For sdkType of * java, parameters named serviceName and * javaPackageName are required.

*/ inline bool ParametersHasBeenSet() const { return m_parametersHasBeenSet; } /** *

A string-to-string key-value map of query parameters * sdkType-dependent properties of the SDK. For sdkType * of objectivec or swift, a parameter named * classPrefix is required. For sdkType of * android, parameters named groupId, * artifactId, artifactVersion, and * invokerPackage are required. For sdkType of * java, parameters named serviceName and * javaPackageName are required.

*/ inline void SetParameters(const Aws::Map& value) { m_parametersHasBeenSet = true; m_parameters = value; } /** *

A string-to-string key-value map of query parameters * sdkType-dependent properties of the SDK. For sdkType * of objectivec or swift, a parameter named * classPrefix is required. For sdkType of * android, parameters named groupId, * artifactId, artifactVersion, and * invokerPackage are required. For sdkType of * java, parameters named serviceName and * javaPackageName are required.

*/ inline void SetParameters(Aws::Map&& value) { m_parametersHasBeenSet = true; m_parameters = std::move(value); } /** *

A string-to-string key-value map of query parameters * sdkType-dependent properties of the SDK. For sdkType * of objectivec or swift, a parameter named * classPrefix is required. For sdkType of * android, parameters named groupId, * artifactId, artifactVersion, and * invokerPackage are required. For sdkType of * java, parameters named serviceName and * javaPackageName are required.

*/ inline GetSdkRequest& WithParameters(const Aws::Map& value) { SetParameters(value); return *this;} /** *

A string-to-string key-value map of query parameters * sdkType-dependent properties of the SDK. For sdkType * of objectivec or swift, a parameter named * classPrefix is required. For sdkType of * android, parameters named groupId, * artifactId, artifactVersion, and * invokerPackage are required. For sdkType of * java, parameters named serviceName and * javaPackageName are required.

*/ inline GetSdkRequest& WithParameters(Aws::Map&& value) { SetParameters(std::move(value)); return *this;} /** *

A string-to-string key-value map of query parameters * sdkType-dependent properties of the SDK. For sdkType * of objectivec or swift, a parameter named * classPrefix is required. For sdkType of * android, parameters named groupId, * artifactId, artifactVersion, and * invokerPackage are required. For sdkType of * java, parameters named serviceName and * javaPackageName are required.

*/ inline GetSdkRequest& AddParameters(const Aws::String& key, const Aws::String& value) { m_parametersHasBeenSet = true; m_parameters.emplace(key, value); return *this; } /** *

A string-to-string key-value map of query parameters * sdkType-dependent properties of the SDK. For sdkType * of objectivec or swift, a parameter named * classPrefix is required. For sdkType of * android, parameters named groupId, * artifactId, artifactVersion, and * invokerPackage are required. For sdkType of * java, parameters named serviceName and * javaPackageName are required.

*/ inline GetSdkRequest& AddParameters(Aws::String&& key, const Aws::String& value) { m_parametersHasBeenSet = true; m_parameters.emplace(std::move(key), value); return *this; } /** *

A string-to-string key-value map of query parameters * sdkType-dependent properties of the SDK. For sdkType * of objectivec or swift, a parameter named * classPrefix is required. For sdkType of * android, parameters named groupId, * artifactId, artifactVersion, and * invokerPackage are required. For sdkType of * java, parameters named serviceName and * javaPackageName are required.

*/ inline GetSdkRequest& AddParameters(const Aws::String& key, Aws::String&& value) { m_parametersHasBeenSet = true; m_parameters.emplace(key, std::move(value)); return *this; } /** *

A string-to-string key-value map of query parameters * sdkType-dependent properties of the SDK. For sdkType * of objectivec or swift, a parameter named * classPrefix is required. For sdkType of * android, parameters named groupId, * artifactId, artifactVersion, and * invokerPackage are required. For sdkType of * java, parameters named serviceName and * javaPackageName are required.

*/ inline GetSdkRequest& AddParameters(Aws::String&& key, Aws::String&& value) { m_parametersHasBeenSet = true; m_parameters.emplace(std::move(key), std::move(value)); return *this; } /** *

A string-to-string key-value map of query parameters * sdkType-dependent properties of the SDK. For sdkType * of objectivec or swift, a parameter named * classPrefix is required. For sdkType of * android, parameters named groupId, * artifactId, artifactVersion, and * invokerPackage are required. For sdkType of * java, parameters named serviceName and * javaPackageName are required.

*/ inline GetSdkRequest& AddParameters(const char* key, Aws::String&& value) { m_parametersHasBeenSet = true; m_parameters.emplace(key, std::move(value)); return *this; } /** *

A string-to-string key-value map of query parameters * sdkType-dependent properties of the SDK. For sdkType * of objectivec or swift, a parameter named * classPrefix is required. For sdkType of * android, parameters named groupId, * artifactId, artifactVersion, and * invokerPackage are required. For sdkType of * java, parameters named serviceName and * javaPackageName are required.

*/ inline GetSdkRequest& AddParameters(Aws::String&& key, const char* value) { m_parametersHasBeenSet = true; m_parameters.emplace(std::move(key), value); return *this; } /** *

A string-to-string key-value map of query parameters * sdkType-dependent properties of the SDK. For sdkType * of objectivec or swift, a parameter named * classPrefix is required. For sdkType of * android, parameters named groupId, * artifactId, artifactVersion, and * invokerPackage are required. For sdkType of * java, parameters named serviceName and * javaPackageName are required.

*/ inline GetSdkRequest& AddParameters(const char* key, const char* value) { m_parametersHasBeenSet = true; m_parameters.emplace(key, value); return *this; } private: Aws::String m_restApiId; bool m_restApiIdHasBeenSet = false; Aws::String m_stageName; bool m_stageNameHasBeenSet = false; Aws::String m_sdkType; bool m_sdkTypeHasBeenSet = false; Aws::Map m_parameters; bool m_parametersHasBeenSet = false; }; } // namespace Model } // namespace APIGateway } // namespace Aws