/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include Provides details about an AppSync Graph QL API, which lets you query
* multiple databases, microservices, and APIs from a single GraphQL endpoint.
* See Also:
AWS
* API Reference
The unique identifier for the API.
*/ inline const Aws::String& GetApiId() const{ return m_apiId; } /** *The unique identifier for the API.
*/ inline bool ApiIdHasBeenSet() const { return m_apiIdHasBeenSet; } /** *The unique identifier for the API.
*/ inline void SetApiId(const Aws::String& value) { m_apiIdHasBeenSet = true; m_apiId = value; } /** *The unique identifier for the API.
*/ inline void SetApiId(Aws::String&& value) { m_apiIdHasBeenSet = true; m_apiId = std::move(value); } /** *The unique identifier for the API.
*/ inline void SetApiId(const char* value) { m_apiIdHasBeenSet = true; m_apiId.assign(value); } /** *The unique identifier for the API.
*/ inline AwsAppSyncGraphQlApiDetails& WithApiId(const Aws::String& value) { SetApiId(value); return *this;} /** *The unique identifier for the API.
*/ inline AwsAppSyncGraphQlApiDetails& WithApiId(Aws::String&& value) { SetApiId(std::move(value)); return *this;} /** *The unique identifier for the API.
*/ inline AwsAppSyncGraphQlApiDetails& WithApiId(const char* value) { SetApiId(value); return *this;} /** *The unique identifier for the API.
*/ inline const Aws::String& GetId() const{ return m_id; } /** *The unique identifier for the API.
*/ inline bool IdHasBeenSet() const { return m_idHasBeenSet; } /** *The unique identifier for the API.
*/ inline void SetId(const Aws::String& value) { m_idHasBeenSet = true; m_id = value; } /** *The unique identifier for the API.
*/ inline void SetId(Aws::String&& value) { m_idHasBeenSet = true; m_id = std::move(value); } /** *The unique identifier for the API.
*/ inline void SetId(const char* value) { m_idHasBeenSet = true; m_id.assign(value); } /** *The unique identifier for the API.
*/ inline AwsAppSyncGraphQlApiDetails& WithId(const Aws::String& value) { SetId(value); return *this;} /** *The unique identifier for the API.
*/ inline AwsAppSyncGraphQlApiDetails& WithId(Aws::String&& value) { SetId(std::move(value)); return *this;} /** *The unique identifier for the API.
*/ inline AwsAppSyncGraphQlApiDetails& WithId(const char* value) { SetId(value); return *this;} /** *Specifies the authorization configuration for using an OpenID Connect * compliant service with an AppSync GraphQL API endpoint.
*/ inline const AwsAppSyncGraphQlApiOpenIdConnectConfigDetails& GetOpenIdConnectConfig() const{ return m_openIdConnectConfig; } /** *Specifies the authorization configuration for using an OpenID Connect * compliant service with an AppSync GraphQL API endpoint.
*/ inline bool OpenIdConnectConfigHasBeenSet() const { return m_openIdConnectConfigHasBeenSet; } /** *Specifies the authorization configuration for using an OpenID Connect * compliant service with an AppSync GraphQL API endpoint.
*/ inline void SetOpenIdConnectConfig(const AwsAppSyncGraphQlApiOpenIdConnectConfigDetails& value) { m_openIdConnectConfigHasBeenSet = true; m_openIdConnectConfig = value; } /** *Specifies the authorization configuration for using an OpenID Connect * compliant service with an AppSync GraphQL API endpoint.
*/ inline void SetOpenIdConnectConfig(AwsAppSyncGraphQlApiOpenIdConnectConfigDetails&& value) { m_openIdConnectConfigHasBeenSet = true; m_openIdConnectConfig = std::move(value); } /** *Specifies the authorization configuration for using an OpenID Connect * compliant service with an AppSync GraphQL API endpoint.
*/ inline AwsAppSyncGraphQlApiDetails& WithOpenIdConnectConfig(const AwsAppSyncGraphQlApiOpenIdConnectConfigDetails& value) { SetOpenIdConnectConfig(value); return *this;} /** *Specifies the authorization configuration for using an OpenID Connect * compliant service with an AppSync GraphQL API endpoint.
*/ inline AwsAppSyncGraphQlApiDetails& WithOpenIdConnectConfig(AwsAppSyncGraphQlApiOpenIdConnectConfigDetails&& value) { SetOpenIdConnectConfig(std::move(value)); return *this;} /** *The API name.
*/ inline const Aws::String& GetName() const{ return m_name; } /** *The API name.
*/ inline bool NameHasBeenSet() const { return m_nameHasBeenSet; } /** *The API name.
*/ inline void SetName(const Aws::String& value) { m_nameHasBeenSet = true; m_name = value; } /** *The API name.
*/ inline void SetName(Aws::String&& value) { m_nameHasBeenSet = true; m_name = std::move(value); } /** *The API name.
*/ inline void SetName(const char* value) { m_nameHasBeenSet = true; m_name.assign(value); } /** *The API name.
*/ inline AwsAppSyncGraphQlApiDetails& WithName(const Aws::String& value) { SetName(value); return *this;} /** *The API name.
*/ inline AwsAppSyncGraphQlApiDetails& WithName(Aws::String&& value) { SetName(std::move(value)); return *this;} /** *The API name.
*/ inline AwsAppSyncGraphQlApiDetails& WithName(const char* value) { SetName(value); return *this;} /** *Specifies the configuration for Lambda function authorization.
*/ inline const AwsAppSyncGraphQlApiLambdaAuthorizerConfigDetails& GetLambdaAuthorizerConfig() const{ return m_lambdaAuthorizerConfig; } /** *Specifies the configuration for Lambda function authorization.
*/ inline bool LambdaAuthorizerConfigHasBeenSet() const { return m_lambdaAuthorizerConfigHasBeenSet; } /** *Specifies the configuration for Lambda function authorization.
*/ inline void SetLambdaAuthorizerConfig(const AwsAppSyncGraphQlApiLambdaAuthorizerConfigDetails& value) { m_lambdaAuthorizerConfigHasBeenSet = true; m_lambdaAuthorizerConfig = value; } /** *Specifies the configuration for Lambda function authorization.
*/ inline void SetLambdaAuthorizerConfig(AwsAppSyncGraphQlApiLambdaAuthorizerConfigDetails&& value) { m_lambdaAuthorizerConfigHasBeenSet = true; m_lambdaAuthorizerConfig = std::move(value); } /** *Specifies the configuration for Lambda function authorization.
*/ inline AwsAppSyncGraphQlApiDetails& WithLambdaAuthorizerConfig(const AwsAppSyncGraphQlApiLambdaAuthorizerConfigDetails& value) { SetLambdaAuthorizerConfig(value); return *this;} /** *Specifies the configuration for Lambda function authorization.
*/ inline AwsAppSyncGraphQlApiDetails& WithLambdaAuthorizerConfig(AwsAppSyncGraphQlApiLambdaAuthorizerConfigDetails&& value) { SetLambdaAuthorizerConfig(std::move(value)); return *this;} /** *Indicates whether to use X-Ray tracing for the GraphQL API.
*/ inline bool GetXrayEnabled() const{ return m_xrayEnabled; } /** *Indicates whether to use X-Ray tracing for the GraphQL API.
*/ inline bool XrayEnabledHasBeenSet() const { return m_xrayEnabledHasBeenSet; } /** *Indicates whether to use X-Ray tracing for the GraphQL API.
*/ inline void SetXrayEnabled(bool value) { m_xrayEnabledHasBeenSet = true; m_xrayEnabled = value; } /** *Indicates whether to use X-Ray tracing for the GraphQL API.
*/ inline AwsAppSyncGraphQlApiDetails& WithXrayEnabled(bool value) { SetXrayEnabled(value); return *this;} /** *The Amazon Resource Name (ARN) of the API.
*/ inline const Aws::String& GetArn() const{ return m_arn; } /** *The Amazon Resource Name (ARN) of the API.
*/ inline bool ArnHasBeenSet() const { return m_arnHasBeenSet; } /** *The Amazon Resource Name (ARN) of the API.
*/ inline void SetArn(const Aws::String& value) { m_arnHasBeenSet = true; m_arn = value; } /** *The Amazon Resource Name (ARN) of the API.
*/ inline void SetArn(Aws::String&& value) { m_arnHasBeenSet = true; m_arn = std::move(value); } /** *The Amazon Resource Name (ARN) of the API.
*/ inline void SetArn(const char* value) { m_arnHasBeenSet = true; m_arn.assign(value); } /** *The Amazon Resource Name (ARN) of the API.
*/ inline AwsAppSyncGraphQlApiDetails& WithArn(const Aws::String& value) { SetArn(value); return *this;} /** *The Amazon Resource Name (ARN) of the API.
*/ inline AwsAppSyncGraphQlApiDetails& WithArn(Aws::String&& value) { SetArn(std::move(value)); return *this;} /** *The Amazon Resource Name (ARN) of the API.
*/ inline AwsAppSyncGraphQlApiDetails& WithArn(const char* value) { SetArn(value); return *this;} /** *The Amazon Cognito user pools configuration.
*/ inline const AwsAppSyncGraphQlApiUserPoolConfigDetails& GetUserPoolConfig() const{ return m_userPoolConfig; } /** *The Amazon Cognito user pools configuration.
*/ inline bool UserPoolConfigHasBeenSet() const { return m_userPoolConfigHasBeenSet; } /** *The Amazon Cognito user pools configuration.
*/ inline void SetUserPoolConfig(const AwsAppSyncGraphQlApiUserPoolConfigDetails& value) { m_userPoolConfigHasBeenSet = true; m_userPoolConfig = value; } /** *The Amazon Cognito user pools configuration.
*/ inline void SetUserPoolConfig(AwsAppSyncGraphQlApiUserPoolConfigDetails&& value) { m_userPoolConfigHasBeenSet = true; m_userPoolConfig = std::move(value); } /** *The Amazon Cognito user pools configuration.
*/ inline AwsAppSyncGraphQlApiDetails& WithUserPoolConfig(const AwsAppSyncGraphQlApiUserPoolConfigDetails& value) { SetUserPoolConfig(value); return *this;} /** *The Amazon Cognito user pools configuration.
*/ inline AwsAppSyncGraphQlApiDetails& WithUserPoolConfig(AwsAppSyncGraphQlApiUserPoolConfigDetails&& value) { SetUserPoolConfig(std::move(value)); return *this;} /** *The type of security configuration for your GraphQL API: API key, Identity * and Access Management (IAM), OpenID Connect (OIDC), Amazon Cognito user pools, * or Lambda.
*/ inline const Aws::String& GetAuthenticationType() const{ return m_authenticationType; } /** *The type of security configuration for your GraphQL API: API key, Identity * and Access Management (IAM), OpenID Connect (OIDC), Amazon Cognito user pools, * or Lambda.
*/ inline bool AuthenticationTypeHasBeenSet() const { return m_authenticationTypeHasBeenSet; } /** *The type of security configuration for your GraphQL API: API key, Identity * and Access Management (IAM), OpenID Connect (OIDC), Amazon Cognito user pools, * or Lambda.
*/ inline void SetAuthenticationType(const Aws::String& value) { m_authenticationTypeHasBeenSet = true; m_authenticationType = value; } /** *The type of security configuration for your GraphQL API: API key, Identity * and Access Management (IAM), OpenID Connect (OIDC), Amazon Cognito user pools, * or Lambda.
*/ inline void SetAuthenticationType(Aws::String&& value) { m_authenticationTypeHasBeenSet = true; m_authenticationType = std::move(value); } /** *The type of security configuration for your GraphQL API: API key, Identity * and Access Management (IAM), OpenID Connect (OIDC), Amazon Cognito user pools, * or Lambda.
*/ inline void SetAuthenticationType(const char* value) { m_authenticationTypeHasBeenSet = true; m_authenticationType.assign(value); } /** *The type of security configuration for your GraphQL API: API key, Identity * and Access Management (IAM), OpenID Connect (OIDC), Amazon Cognito user pools, * or Lambda.
*/ inline AwsAppSyncGraphQlApiDetails& WithAuthenticationType(const Aws::String& value) { SetAuthenticationType(value); return *this;} /** *The type of security configuration for your GraphQL API: API key, Identity * and Access Management (IAM), OpenID Connect (OIDC), Amazon Cognito user pools, * or Lambda.
*/ inline AwsAppSyncGraphQlApiDetails& WithAuthenticationType(Aws::String&& value) { SetAuthenticationType(std::move(value)); return *this;} /** *The type of security configuration for your GraphQL API: API key, Identity * and Access Management (IAM), OpenID Connect (OIDC), Amazon Cognito user pools, * or Lambda.
*/ inline AwsAppSyncGraphQlApiDetails& WithAuthenticationType(const char* value) { SetAuthenticationType(value); return *this;} /** *The Amazon CloudWatch Logs configuration.
*/ inline const AwsAppSyncGraphQlApiLogConfigDetails& GetLogConfig() const{ return m_logConfig; } /** *The Amazon CloudWatch Logs configuration.
*/ inline bool LogConfigHasBeenSet() const { return m_logConfigHasBeenSet; } /** *The Amazon CloudWatch Logs configuration.
*/ inline void SetLogConfig(const AwsAppSyncGraphQlApiLogConfigDetails& value) { m_logConfigHasBeenSet = true; m_logConfig = value; } /** *The Amazon CloudWatch Logs configuration.
*/ inline void SetLogConfig(AwsAppSyncGraphQlApiLogConfigDetails&& value) { m_logConfigHasBeenSet = true; m_logConfig = std::move(value); } /** *The Amazon CloudWatch Logs configuration.
*/ inline AwsAppSyncGraphQlApiDetails& WithLogConfig(const AwsAppSyncGraphQlApiLogConfigDetails& value) { SetLogConfig(value); return *this;} /** *The Amazon CloudWatch Logs configuration.
*/ inline AwsAppSyncGraphQlApiDetails& WithLogConfig(AwsAppSyncGraphQlApiLogConfigDetails&& value) { SetLogConfig(std::move(value)); return *this;} /** *A list of additional authentication providers for the GraphQL API.
*/ inline const Aws::VectorA list of additional authentication providers for the GraphQL API.
*/ inline bool AdditionalAuthenticationProvidersHasBeenSet() const { return m_additionalAuthenticationProvidersHasBeenSet; } /** *A list of additional authentication providers for the GraphQL API.
*/ inline void SetAdditionalAuthenticationProviders(const Aws::VectorA list of additional authentication providers for the GraphQL API.
*/ inline void SetAdditionalAuthenticationProviders(Aws::VectorA list of additional authentication providers for the GraphQL API.
*/ inline AwsAppSyncGraphQlApiDetails& WithAdditionalAuthenticationProviders(const Aws::VectorA list of additional authentication providers for the GraphQL API.
*/ inline AwsAppSyncGraphQlApiDetails& WithAdditionalAuthenticationProviders(Aws::VectorA list of additional authentication providers for the GraphQL API.
*/ inline AwsAppSyncGraphQlApiDetails& AddAdditionalAuthenticationProviders(const AwsAppSyncGraphQlApiAdditionalAuthenticationProvidersDetails& value) { m_additionalAuthenticationProvidersHasBeenSet = true; m_additionalAuthenticationProviders.push_back(value); return *this; } /** *A list of additional authentication providers for the GraphQL API.
*/ inline AwsAppSyncGraphQlApiDetails& AddAdditionalAuthenticationProviders(AwsAppSyncGraphQlApiAdditionalAuthenticationProvidersDetails&& value) { m_additionalAuthenticationProvidersHasBeenSet = true; m_additionalAuthenticationProviders.push_back(std::move(value)); return *this; } /** *The Amazon Resource Name (ARN) of the WAF web access control list (web ACL) * associated with this GraphQL API, if one exists.
*/ inline const Aws::String& GetWafWebAclArn() const{ return m_wafWebAclArn; } /** *The Amazon Resource Name (ARN) of the WAF web access control list (web ACL) * associated with this GraphQL API, if one exists.
*/ inline bool WafWebAclArnHasBeenSet() const { return m_wafWebAclArnHasBeenSet; } /** *The Amazon Resource Name (ARN) of the WAF web access control list (web ACL) * associated with this GraphQL API, if one exists.
*/ inline void SetWafWebAclArn(const Aws::String& value) { m_wafWebAclArnHasBeenSet = true; m_wafWebAclArn = value; } /** *The Amazon Resource Name (ARN) of the WAF web access control list (web ACL) * associated with this GraphQL API, if one exists.
*/ inline void SetWafWebAclArn(Aws::String&& value) { m_wafWebAclArnHasBeenSet = true; m_wafWebAclArn = std::move(value); } /** *The Amazon Resource Name (ARN) of the WAF web access control list (web ACL) * associated with this GraphQL API, if one exists.
*/ inline void SetWafWebAclArn(const char* value) { m_wafWebAclArnHasBeenSet = true; m_wafWebAclArn.assign(value); } /** *The Amazon Resource Name (ARN) of the WAF web access control list (web ACL) * associated with this GraphQL API, if one exists.
*/ inline AwsAppSyncGraphQlApiDetails& WithWafWebAclArn(const Aws::String& value) { SetWafWebAclArn(value); return *this;} /** *The Amazon Resource Name (ARN) of the WAF web access control list (web ACL) * associated with this GraphQL API, if one exists.
*/ inline AwsAppSyncGraphQlApiDetails& WithWafWebAclArn(Aws::String&& value) { SetWafWebAclArn(std::move(value)); return *this;} /** *The Amazon Resource Name (ARN) of the WAF web access control list (web ACL) * associated with this GraphQL API, if one exists.
*/ inline AwsAppSyncGraphQlApiDetails& WithWafWebAclArn(const char* value) { SetWafWebAclArn(value); return *this;} private: Aws::String m_apiId; bool m_apiIdHasBeenSet = false; Aws::String m_id; bool m_idHasBeenSet = false; AwsAppSyncGraphQlApiOpenIdConnectConfigDetails m_openIdConnectConfig; bool m_openIdConnectConfigHasBeenSet = false; Aws::String m_name; bool m_nameHasBeenSet = false; AwsAppSyncGraphQlApiLambdaAuthorizerConfigDetails m_lambdaAuthorizerConfig; bool m_lambdaAuthorizerConfigHasBeenSet = false; bool m_xrayEnabled; bool m_xrayEnabledHasBeenSet = false; Aws::String m_arn; bool m_arnHasBeenSet = false; AwsAppSyncGraphQlApiUserPoolConfigDetails m_userPoolConfig; bool m_userPoolConfigHasBeenSet = false; Aws::String m_authenticationType; bool m_authenticationTypeHasBeenSet = false; AwsAppSyncGraphQlApiLogConfigDetails m_logConfig; bool m_logConfigHasBeenSet = false; Aws::Vector