/** * 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 Utils { namespace Json { class JsonValue; class JsonView; } // namespace Json } // namespace Utils namespace AmplifyBackend { namespace Model { /** *

The resource config for the data model, configured as a part of the Amplify * project.

See Also:

AWS * API Reference

*/ class BackendAPIResourceConfig { public: AWS_AMPLIFYBACKEND_API BackendAPIResourceConfig(); AWS_AMPLIFYBACKEND_API BackendAPIResourceConfig(Aws::Utils::Json::JsonView jsonValue); AWS_AMPLIFYBACKEND_API BackendAPIResourceConfig& operator=(Aws::Utils::Json::JsonView jsonValue); AWS_AMPLIFYBACKEND_API Aws::Utils::Json::JsonValue Jsonize() const; /** *

Additional authentication methods used to interact with your data models.

*/ inline const Aws::Vector& GetAdditionalAuthTypes() const{ return m_additionalAuthTypes; } /** *

Additional authentication methods used to interact with your data models.

*/ inline bool AdditionalAuthTypesHasBeenSet() const { return m_additionalAuthTypesHasBeenSet; } /** *

Additional authentication methods used to interact with your data models.

*/ inline void SetAdditionalAuthTypes(const Aws::Vector& value) { m_additionalAuthTypesHasBeenSet = true; m_additionalAuthTypes = value; } /** *

Additional authentication methods used to interact with your data models.

*/ inline void SetAdditionalAuthTypes(Aws::Vector&& value) { m_additionalAuthTypesHasBeenSet = true; m_additionalAuthTypes = std::move(value); } /** *

Additional authentication methods used to interact with your data models.

*/ inline BackendAPIResourceConfig& WithAdditionalAuthTypes(const Aws::Vector& value) { SetAdditionalAuthTypes(value); return *this;} /** *

Additional authentication methods used to interact with your data models.

*/ inline BackendAPIResourceConfig& WithAdditionalAuthTypes(Aws::Vector&& value) { SetAdditionalAuthTypes(std::move(value)); return *this;} /** *

Additional authentication methods used to interact with your data models.

*/ inline BackendAPIResourceConfig& AddAdditionalAuthTypes(const BackendAPIAuthType& value) { m_additionalAuthTypesHasBeenSet = true; m_additionalAuthTypes.push_back(value); return *this; } /** *

Additional authentication methods used to interact with your data models.

*/ inline BackendAPIResourceConfig& AddAdditionalAuthTypes(BackendAPIAuthType&& value) { m_additionalAuthTypesHasBeenSet = true; m_additionalAuthTypes.push_back(std::move(value)); return *this; } /** *

The API name used to interact with the data model, configured as a part of * your Amplify project.

*/ inline const Aws::String& GetApiName() const{ return m_apiName; } /** *

The API name used to interact with the data model, configured as a part of * your Amplify project.

*/ inline bool ApiNameHasBeenSet() const { return m_apiNameHasBeenSet; } /** *

The API name used to interact with the data model, configured as a part of * your Amplify project.

*/ inline void SetApiName(const Aws::String& value) { m_apiNameHasBeenSet = true; m_apiName = value; } /** *

The API name used to interact with the data model, configured as a part of * your Amplify project.

*/ inline void SetApiName(Aws::String&& value) { m_apiNameHasBeenSet = true; m_apiName = std::move(value); } /** *

The API name used to interact with the data model, configured as a part of * your Amplify project.

*/ inline void SetApiName(const char* value) { m_apiNameHasBeenSet = true; m_apiName.assign(value); } /** *

The API name used to interact with the data model, configured as a part of * your Amplify project.

*/ inline BackendAPIResourceConfig& WithApiName(const Aws::String& value) { SetApiName(value); return *this;} /** *

The API name used to interact with the data model, configured as a part of * your Amplify project.

*/ inline BackendAPIResourceConfig& WithApiName(Aws::String&& value) { SetApiName(std::move(value)); return *this;} /** *

The API name used to interact with the data model, configured as a part of * your Amplify project.

*/ inline BackendAPIResourceConfig& WithApiName(const char* value) { SetApiName(value); return *this;} /** *

The conflict resolution strategy for your data stored in the data models.

*/ inline const BackendAPIConflictResolution& GetConflictResolution() const{ return m_conflictResolution; } /** *

The conflict resolution strategy for your data stored in the data models.

*/ inline bool ConflictResolutionHasBeenSet() const { return m_conflictResolutionHasBeenSet; } /** *

The conflict resolution strategy for your data stored in the data models.

*/ inline void SetConflictResolution(const BackendAPIConflictResolution& value) { m_conflictResolutionHasBeenSet = true; m_conflictResolution = value; } /** *

The conflict resolution strategy for your data stored in the data models.

*/ inline void SetConflictResolution(BackendAPIConflictResolution&& value) { m_conflictResolutionHasBeenSet = true; m_conflictResolution = std::move(value); } /** *

The conflict resolution strategy for your data stored in the data models.

*/ inline BackendAPIResourceConfig& WithConflictResolution(const BackendAPIConflictResolution& value) { SetConflictResolution(value); return *this;} /** *

The conflict resolution strategy for your data stored in the data models.

*/ inline BackendAPIResourceConfig& WithConflictResolution(BackendAPIConflictResolution&& value) { SetConflictResolution(std::move(value)); return *this;} /** *

The default authentication type for interacting with the configured data * models in your Amplify project.

*/ inline const BackendAPIAuthType& GetDefaultAuthType() const{ return m_defaultAuthType; } /** *

The default authentication type for interacting with the configured data * models in your Amplify project.

*/ inline bool DefaultAuthTypeHasBeenSet() const { return m_defaultAuthTypeHasBeenSet; } /** *

The default authentication type for interacting with the configured data * models in your Amplify project.

*/ inline void SetDefaultAuthType(const BackendAPIAuthType& value) { m_defaultAuthTypeHasBeenSet = true; m_defaultAuthType = value; } /** *

The default authentication type for interacting with the configured data * models in your Amplify project.

*/ inline void SetDefaultAuthType(BackendAPIAuthType&& value) { m_defaultAuthTypeHasBeenSet = true; m_defaultAuthType = std::move(value); } /** *

The default authentication type for interacting with the configured data * models in your Amplify project.

*/ inline BackendAPIResourceConfig& WithDefaultAuthType(const BackendAPIAuthType& value) { SetDefaultAuthType(value); return *this;} /** *

The default authentication type for interacting with the configured data * models in your Amplify project.

*/ inline BackendAPIResourceConfig& WithDefaultAuthType(BackendAPIAuthType&& value) { SetDefaultAuthType(std::move(value)); return *this;} /** *

The service used to provision and interact with the data model.

*/ inline const Aws::String& GetService() const{ return m_service; } /** *

The service used to provision and interact with the data model.

*/ inline bool ServiceHasBeenSet() const { return m_serviceHasBeenSet; } /** *

The service used to provision and interact with the data model.

*/ inline void SetService(const Aws::String& value) { m_serviceHasBeenSet = true; m_service = value; } /** *

The service used to provision and interact with the data model.

*/ inline void SetService(Aws::String&& value) { m_serviceHasBeenSet = true; m_service = std::move(value); } /** *

The service used to provision and interact with the data model.

*/ inline void SetService(const char* value) { m_serviceHasBeenSet = true; m_service.assign(value); } /** *

The service used to provision and interact with the data model.

*/ inline BackendAPIResourceConfig& WithService(const Aws::String& value) { SetService(value); return *this;} /** *

The service used to provision and interact with the data model.

*/ inline BackendAPIResourceConfig& WithService(Aws::String&& value) { SetService(std::move(value)); return *this;} /** *

The service used to provision and interact with the data model.

*/ inline BackendAPIResourceConfig& WithService(const char* value) { SetService(value); return *this;} /** *

The definition of the data model in the annotated transform of the GraphQL * schema.

*/ inline const Aws::String& GetTransformSchema() const{ return m_transformSchema; } /** *

The definition of the data model in the annotated transform of the GraphQL * schema.

*/ inline bool TransformSchemaHasBeenSet() const { return m_transformSchemaHasBeenSet; } /** *

The definition of the data model in the annotated transform of the GraphQL * schema.

*/ inline void SetTransformSchema(const Aws::String& value) { m_transformSchemaHasBeenSet = true; m_transformSchema = value; } /** *

The definition of the data model in the annotated transform of the GraphQL * schema.

*/ inline void SetTransformSchema(Aws::String&& value) { m_transformSchemaHasBeenSet = true; m_transformSchema = std::move(value); } /** *

The definition of the data model in the annotated transform of the GraphQL * schema.

*/ inline void SetTransformSchema(const char* value) { m_transformSchemaHasBeenSet = true; m_transformSchema.assign(value); } /** *

The definition of the data model in the annotated transform of the GraphQL * schema.

*/ inline BackendAPIResourceConfig& WithTransformSchema(const Aws::String& value) { SetTransformSchema(value); return *this;} /** *

The definition of the data model in the annotated transform of the GraphQL * schema.

*/ inline BackendAPIResourceConfig& WithTransformSchema(Aws::String&& value) { SetTransformSchema(std::move(value)); return *this;} /** *

The definition of the data model in the annotated transform of the GraphQL * schema.

*/ inline BackendAPIResourceConfig& WithTransformSchema(const char* value) { SetTransformSchema(value); return *this;} private: Aws::Vector m_additionalAuthTypes; bool m_additionalAuthTypesHasBeenSet = false; Aws::String m_apiName; bool m_apiNameHasBeenSet = false; BackendAPIConflictResolution m_conflictResolution; bool m_conflictResolutionHasBeenSet = false; BackendAPIAuthType m_defaultAuthType; bool m_defaultAuthTypeHasBeenSet = false; Aws::String m_service; bool m_serviceHasBeenSet = false; Aws::String m_transformSchema; bool m_transformSchemaHasBeenSet = false; }; } // namespace Model } // namespace AmplifyBackend } // namespace Aws