/** * 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 APIGateway { namespace Model { /** *

The PATCH request to grant a temporary extension to the remaining quota of a * usage plan associated with a specified API key.

See Also:

AWS * API Reference

*/ class UpdateUsageRequest : public APIGatewayRequest { public: AWS_APIGATEWAY_API UpdateUsageRequest(); // 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 "UpdateUsage"; } AWS_APIGATEWAY_API Aws::String SerializePayload() const override; /** *

The Id of the usage plan associated with the usage data.

*/ inline const Aws::String& GetUsagePlanId() const{ return m_usagePlanId; } /** *

The Id of the usage plan associated with the usage data.

*/ inline bool UsagePlanIdHasBeenSet() const { return m_usagePlanIdHasBeenSet; } /** *

The Id of the usage plan associated with the usage data.

*/ inline void SetUsagePlanId(const Aws::String& value) { m_usagePlanIdHasBeenSet = true; m_usagePlanId = value; } /** *

The Id of the usage plan associated with the usage data.

*/ inline void SetUsagePlanId(Aws::String&& value) { m_usagePlanIdHasBeenSet = true; m_usagePlanId = std::move(value); } /** *

The Id of the usage plan associated with the usage data.

*/ inline void SetUsagePlanId(const char* value) { m_usagePlanIdHasBeenSet = true; m_usagePlanId.assign(value); } /** *

The Id of the usage plan associated with the usage data.

*/ inline UpdateUsageRequest& WithUsagePlanId(const Aws::String& value) { SetUsagePlanId(value); return *this;} /** *

The Id of the usage plan associated with the usage data.

*/ inline UpdateUsageRequest& WithUsagePlanId(Aws::String&& value) { SetUsagePlanId(std::move(value)); return *this;} /** *

The Id of the usage plan associated with the usage data.

*/ inline UpdateUsageRequest& WithUsagePlanId(const char* value) { SetUsagePlanId(value); return *this;} /** *

The identifier of the API key associated with the usage plan in which a * temporary extension is granted to the remaining quota.

*/ inline const Aws::String& GetKeyId() const{ return m_keyId; } /** *

The identifier of the API key associated with the usage plan in which a * temporary extension is granted to the remaining quota.

*/ inline bool KeyIdHasBeenSet() const { return m_keyIdHasBeenSet; } /** *

The identifier of the API key associated with the usage plan in which a * temporary extension is granted to the remaining quota.

*/ inline void SetKeyId(const Aws::String& value) { m_keyIdHasBeenSet = true; m_keyId = value; } /** *

The identifier of the API key associated with the usage plan in which a * temporary extension is granted to the remaining quota.

*/ inline void SetKeyId(Aws::String&& value) { m_keyIdHasBeenSet = true; m_keyId = std::move(value); } /** *

The identifier of the API key associated with the usage plan in which a * temporary extension is granted to the remaining quota.

*/ inline void SetKeyId(const char* value) { m_keyIdHasBeenSet = true; m_keyId.assign(value); } /** *

The identifier of the API key associated with the usage plan in which a * temporary extension is granted to the remaining quota.

*/ inline UpdateUsageRequest& WithKeyId(const Aws::String& value) { SetKeyId(value); return *this;} /** *

The identifier of the API key associated with the usage plan in which a * temporary extension is granted to the remaining quota.

*/ inline UpdateUsageRequest& WithKeyId(Aws::String&& value) { SetKeyId(std::move(value)); return *this;} /** *

The identifier of the API key associated with the usage plan in which a * temporary extension is granted to the remaining quota.

*/ inline UpdateUsageRequest& WithKeyId(const char* value) { SetKeyId(value); return *this;} /** *

For more information about supported patch operations, see Patch * Operations.

*/ inline const Aws::Vector& GetPatchOperations() const{ return m_patchOperations; } /** *

For more information about supported patch operations, see Patch * Operations.

*/ inline bool PatchOperationsHasBeenSet() const { return m_patchOperationsHasBeenSet; } /** *

For more information about supported patch operations, see Patch * Operations.

*/ inline void SetPatchOperations(const Aws::Vector& value) { m_patchOperationsHasBeenSet = true; m_patchOperations = value; } /** *

For more information about supported patch operations, see Patch * Operations.

*/ inline void SetPatchOperations(Aws::Vector&& value) { m_patchOperationsHasBeenSet = true; m_patchOperations = std::move(value); } /** *

For more information about supported patch operations, see Patch * Operations.

*/ inline UpdateUsageRequest& WithPatchOperations(const Aws::Vector& value) { SetPatchOperations(value); return *this;} /** *

For more information about supported patch operations, see Patch * Operations.

*/ inline UpdateUsageRequest& WithPatchOperations(Aws::Vector&& value) { SetPatchOperations(std::move(value)); return *this;} /** *

For more information about supported patch operations, see Patch * Operations.

*/ inline UpdateUsageRequest& AddPatchOperations(const PatchOperation& value) { m_patchOperationsHasBeenSet = true; m_patchOperations.push_back(value); return *this; } /** *

For more information about supported patch operations, see Patch * Operations.

*/ inline UpdateUsageRequest& AddPatchOperations(PatchOperation&& value) { m_patchOperationsHasBeenSet = true; m_patchOperations.push_back(std::move(value)); return *this; } private: Aws::String m_usagePlanId; bool m_usagePlanIdHasBeenSet = false; Aws::String m_keyId; bool m_keyIdHasBeenSet = false; Aws::Vector m_patchOperations; bool m_patchOperationsHasBeenSet = false; }; } // namespace Model } // namespace APIGateway } // namespace Aws