/**
* 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; }
inline bool RestApiIdHasBeenSet() const { return m_restApiIdHasBeenSet; }
inline void SetRestApiId(const Aws::String& value) { m_restApiIdHasBeenSet = true; m_restApiId = value; }
inline void SetRestApiId(Aws::String&& value) { m_restApiIdHasBeenSet = true; m_restApiId = std::move(value); }
inline void SetRestApiId(const char* value) { m_restApiIdHasBeenSet = true; m_restApiId.assign(value); }
inline GetSdkRequest& WithRestApiId(const Aws::String& value) { SetRestApiId(value); return *this;}
inline GetSdkRequest& WithRestApiId(Aws::String&& value) { SetRestApiId(std::move(value)); return *this;}
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; }
inline bool StageNameHasBeenSet() const { return m_stageNameHasBeenSet; }
inline void SetStageName(const Aws::String& value) { m_stageNameHasBeenSet = true; m_stageName = value; }
inline void SetStageName(Aws::String&& value) { m_stageNameHasBeenSet = true; m_stageName = std::move(value); }
inline void SetStageName(const char* value) { m_stageNameHasBeenSet = true; m_stageName.assign(value); }
inline GetSdkRequest& WithStageName(const Aws::String& value) { SetStageName(value); return *this;}
inline GetSdkRequest& WithStageName(Aws::String&& value) { SetStageName(std::move(value)); return *this;}
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; }
inline bool SdkTypeHasBeenSet() const { return m_sdkTypeHasBeenSet; }
inline void SetSdkType(const Aws::String& value) { m_sdkTypeHasBeenSet = true; m_sdkType = value; }
inline void SetSdkType(Aws::String&& value) { m_sdkTypeHasBeenSet = true; m_sdkType = std::move(value); }
inline void SetSdkType(const char* value) { m_sdkTypeHasBeenSet = true; m_sdkType.assign(value); }
inline GetSdkRequest& WithSdkType(const Aws::String& value) { SetSdkType(value); return *this;}
inline GetSdkRequest& WithSdkType(Aws::String&& value) { SetSdkType(std::move(value)); return *this;}
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; }
inline bool ParametersHasBeenSet() const { return m_parametersHasBeenSet; }
inline void SetParameters(const Aws::Map& value) { m_parametersHasBeenSet = true; m_parameters = value; }
inline void SetParameters(Aws::Map&& value) { m_parametersHasBeenSet = true; m_parameters = std::move(value); }
inline GetSdkRequest& WithParameters(const Aws::Map& value) { SetParameters(value); return *this;}
inline GetSdkRequest& WithParameters(Aws::Map&& value) { SetParameters(std::move(value)); return *this;}
inline GetSdkRequest& AddParameters(const Aws::String& key, const Aws::String& value) { m_parametersHasBeenSet = true; m_parameters.emplace(key, value); return *this; }
inline GetSdkRequest& AddParameters(Aws::String&& key, const Aws::String& value) { m_parametersHasBeenSet = true; m_parameters.emplace(std::move(key), value); return *this; }
inline GetSdkRequest& AddParameters(const Aws::String& key, Aws::String&& value) { m_parametersHasBeenSet = true; m_parameters.emplace(key, std::move(value)); return *this; }
inline GetSdkRequest& AddParameters(Aws::String&& key, Aws::String&& value) { m_parametersHasBeenSet = true; m_parameters.emplace(std::move(key), std::move(value)); return *this; }
inline GetSdkRequest& AddParameters(const char* key, Aws::String&& value) { m_parametersHasBeenSet = true; m_parameters.emplace(key, std::move(value)); return *this; }
inline GetSdkRequest& AddParameters(Aws::String&& key, const char* value) { m_parametersHasBeenSet = true; m_parameters.emplace(std::move(key), value); return *this; }
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