/** * 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 { template class AmazonWebServiceResult; namespace Utils { namespace Json { class JsonValue; } // namespace Json } // namespace Utils namespace APIGateway { namespace Model { /** *

Represents an AWS account that is associated with API Gateway.

To view the account info, call GET on this * resource.

Error Codes

The following exception may be thrown when * the request fails.

  • UnauthorizedException
  • *
  • NotFoundException
  • TooManyRequestsException

For * detailed error code information, including the corresponding HTTP Status Codes, * see API * Gateway Error Codes

Example: Get the information about an * account.

Request
GET /account HTTP/1.1 Content-Type:
   * application/json Host: apigateway.us-east-1.amazonaws.com X-Amz-Date:
   * 20160531T184618Z Authorization: AWS4-HMAC-SHA256
   * Credential={access_key_ID}/us-east-1/apigateway/aws4_request,
   * SignedHeaders=content-type;host;x-amz-date, Signature={sig4_hash} 
*
Response

The successful response returns a 200 OK * status code and a payload similar to the following:

{ "_links": {
   * "curies": { "href":
   * "https://docs.aws.amazon.com/apigateway/latest/developerguide/account-apigateway-{rel}.html",
   * "name": "account", "templated": true }, "self": { "href": "/account" },
   * "account:update": { "href": "/account" } }, "cloudwatchRoleArn":
   * "arn:aws:iam::123456789012:role/apigAwsProxyRole", "throttleSettings": {
   * "rateLimit": 500, "burstLimit": 1000 } } 

In addition to making * the REST API call directly, you can use the AWS CLI and an AWS SDK to access * this resource.

See Also:

AWS * API Reference

*/ class AWS_APIGATEWAY_API GetAccountResult { public: GetAccountResult(); GetAccountResult(const Aws::AmazonWebServiceResult& result); GetAccountResult& operator=(const Aws::AmazonWebServiceResult& result); /** *

The ARN of an Amazon CloudWatch role for the current Account.

*/ inline const Aws::String& GetCloudwatchRoleArn() const{ return m_cloudwatchRoleArn; } /** *

The ARN of an Amazon CloudWatch role for the current Account.

*/ inline void SetCloudwatchRoleArn(const Aws::String& value) { m_cloudwatchRoleArn = value; } /** *

The ARN of an Amazon CloudWatch role for the current Account.

*/ inline void SetCloudwatchRoleArn(Aws::String&& value) { m_cloudwatchRoleArn = std::move(value); } /** *

The ARN of an Amazon CloudWatch role for the current Account.

*/ inline void SetCloudwatchRoleArn(const char* value) { m_cloudwatchRoleArn.assign(value); } /** *

The ARN of an Amazon CloudWatch role for the current Account.

*/ inline GetAccountResult& WithCloudwatchRoleArn(const Aws::String& value) { SetCloudwatchRoleArn(value); return *this;} /** *

The ARN of an Amazon CloudWatch role for the current Account.

*/ inline GetAccountResult& WithCloudwatchRoleArn(Aws::String&& value) { SetCloudwatchRoleArn(std::move(value)); return *this;} /** *

The ARN of an Amazon CloudWatch role for the current Account.

*/ inline GetAccountResult& WithCloudwatchRoleArn(const char* value) { SetCloudwatchRoleArn(value); return *this;} /** *

Specifies the API request limits configured for the current * Account.

*/ inline const ThrottleSettings& GetThrottleSettings() const{ return m_throttleSettings; } /** *

Specifies the API request limits configured for the current * Account.

*/ inline void SetThrottleSettings(const ThrottleSettings& value) { m_throttleSettings = value; } /** *

Specifies the API request limits configured for the current * Account.

*/ inline void SetThrottleSettings(ThrottleSettings&& value) { m_throttleSettings = std::move(value); } /** *

Specifies the API request limits configured for the current * Account.

*/ inline GetAccountResult& WithThrottleSettings(const ThrottleSettings& value) { SetThrottleSettings(value); return *this;} /** *

Specifies the API request limits configured for the current * Account.

*/ inline GetAccountResult& WithThrottleSettings(ThrottleSettings&& value) { SetThrottleSettings(std::move(value)); return *this;} /** *

A list of features supported for the account. When usage plans are enabled, * the features list will include an entry of "UsagePlans".

*/ inline const Aws::Vector& GetFeatures() const{ return m_features; } /** *

A list of features supported for the account. When usage plans are enabled, * the features list will include an entry of "UsagePlans".

*/ inline void SetFeatures(const Aws::Vector& value) { m_features = value; } /** *

A list of features supported for the account. When usage plans are enabled, * the features list will include an entry of "UsagePlans".

*/ inline void SetFeatures(Aws::Vector&& value) { m_features = std::move(value); } /** *

A list of features supported for the account. When usage plans are enabled, * the features list will include an entry of "UsagePlans".

*/ inline GetAccountResult& WithFeatures(const Aws::Vector& value) { SetFeatures(value); return *this;} /** *

A list of features supported for the account. When usage plans are enabled, * the features list will include an entry of "UsagePlans".

*/ inline GetAccountResult& WithFeatures(Aws::Vector&& value) { SetFeatures(std::move(value)); return *this;} /** *

A list of features supported for the account. When usage plans are enabled, * the features list will include an entry of "UsagePlans".

*/ inline GetAccountResult& AddFeatures(const Aws::String& value) { m_features.push_back(value); return *this; } /** *

A list of features supported for the account. When usage plans are enabled, * the features list will include an entry of "UsagePlans".

*/ inline GetAccountResult& AddFeatures(Aws::String&& value) { m_features.push_back(std::move(value)); return *this; } /** *

A list of features supported for the account. When usage plans are enabled, * the features list will include an entry of "UsagePlans".

*/ inline GetAccountResult& AddFeatures(const char* value) { m_features.push_back(value); return *this; } /** *

The version of the API keys used for the account.

*/ inline const Aws::String& GetApiKeyVersion() const{ return m_apiKeyVersion; } /** *

The version of the API keys used for the account.

*/ inline void SetApiKeyVersion(const Aws::String& value) { m_apiKeyVersion = value; } /** *

The version of the API keys used for the account.

*/ inline void SetApiKeyVersion(Aws::String&& value) { m_apiKeyVersion = std::move(value); } /** *

The version of the API keys used for the account.

*/ inline void SetApiKeyVersion(const char* value) { m_apiKeyVersion.assign(value); } /** *

The version of the API keys used for the account.

*/ inline GetAccountResult& WithApiKeyVersion(const Aws::String& value) { SetApiKeyVersion(value); return *this;} /** *

The version of the API keys used for the account.

*/ inline GetAccountResult& WithApiKeyVersion(Aws::String&& value) { SetApiKeyVersion(std::move(value)); return *this;} /** *

The version of the API keys used for the account.

*/ inline GetAccountResult& WithApiKeyVersion(const char* value) { SetApiKeyVersion(value); return *this;} private: Aws::String m_cloudwatchRoleArn; ThrottleSettings m_throttleSettings; Aws::Vector m_features; Aws::String m_apiKeyVersion; }; } // namespace Model } // namespace APIGateway } // namespace Aws