/**
* 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 StorageGateway
{
namespace Model
{
/**
* A JSON object containing the following fields:
See
* Also:
AWS
* API Reference
*/
class DeleteBandwidthRateLimitRequest : public StorageGatewayRequest
{
public:
AWS_STORAGEGATEWAY_API DeleteBandwidthRateLimitRequest();
// 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 "DeleteBandwidthRateLimit"; }
AWS_STORAGEGATEWAY_API Aws::String SerializePayload() const override;
AWS_STORAGEGATEWAY_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override;
inline const Aws::String& GetGatewayARN() const{ return m_gatewayARN; }
inline bool GatewayARNHasBeenSet() const { return m_gatewayARNHasBeenSet; }
inline void SetGatewayARN(const Aws::String& value) { m_gatewayARNHasBeenSet = true; m_gatewayARN = value; }
inline void SetGatewayARN(Aws::String&& value) { m_gatewayARNHasBeenSet = true; m_gatewayARN = std::move(value); }
inline void SetGatewayARN(const char* value) { m_gatewayARNHasBeenSet = true; m_gatewayARN.assign(value); }
inline DeleteBandwidthRateLimitRequest& WithGatewayARN(const Aws::String& value) { SetGatewayARN(value); return *this;}
inline DeleteBandwidthRateLimitRequest& WithGatewayARN(Aws::String&& value) { SetGatewayARN(std::move(value)); return *this;}
inline DeleteBandwidthRateLimitRequest& WithGatewayARN(const char* value) { SetGatewayARN(value); return *this;}
/**
* One of the BandwidthType values that indicates the gateway bandwidth rate
* limit to delete.
Valid Values: UPLOAD
|
* DOWNLOAD
| ALL
*/
inline const Aws::String& GetBandwidthType() const{ return m_bandwidthType; }
/**
* One of the BandwidthType values that indicates the gateway bandwidth rate
* limit to delete.
Valid Values: UPLOAD
|
* DOWNLOAD
| ALL
*/
inline bool BandwidthTypeHasBeenSet() const { return m_bandwidthTypeHasBeenSet; }
/**
* One of the BandwidthType values that indicates the gateway bandwidth rate
* limit to delete.
Valid Values: UPLOAD
|
* DOWNLOAD
| ALL
*/
inline void SetBandwidthType(const Aws::String& value) { m_bandwidthTypeHasBeenSet = true; m_bandwidthType = value; }
/**
* One of the BandwidthType values that indicates the gateway bandwidth rate
* limit to delete.
Valid Values: UPLOAD
|
* DOWNLOAD
| ALL
*/
inline void SetBandwidthType(Aws::String&& value) { m_bandwidthTypeHasBeenSet = true; m_bandwidthType = std::move(value); }
/**
* One of the BandwidthType values that indicates the gateway bandwidth rate
* limit to delete.
Valid Values: UPLOAD
|
* DOWNLOAD
| ALL
*/
inline void SetBandwidthType(const char* value) { m_bandwidthTypeHasBeenSet = true; m_bandwidthType.assign(value); }
/**
* One of the BandwidthType values that indicates the gateway bandwidth rate
* limit to delete.
Valid Values: UPLOAD
|
* DOWNLOAD
| ALL
*/
inline DeleteBandwidthRateLimitRequest& WithBandwidthType(const Aws::String& value) { SetBandwidthType(value); return *this;}
/**
* One of the BandwidthType values that indicates the gateway bandwidth rate
* limit to delete.
Valid Values: UPLOAD
|
* DOWNLOAD
| ALL
*/
inline DeleteBandwidthRateLimitRequest& WithBandwidthType(Aws::String&& value) { SetBandwidthType(std::move(value)); return *this;}
/**
* One of the BandwidthType values that indicates the gateway bandwidth rate
* limit to delete.
Valid Values: UPLOAD
|
* DOWNLOAD
| ALL
*/
inline DeleteBandwidthRateLimitRequest& WithBandwidthType(const char* value) { SetBandwidthType(value); return *this;}
private:
Aws::String m_gatewayARN;
bool m_gatewayARNHasBeenSet = false;
Aws::String m_bandwidthType;
bool m_bandwidthTypeHasBeenSet = false;
};
} // namespace Model
} // namespace StorageGateway
} // namespace Aws