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

The resource configuration for creating backend storage.

See * Also:

AWS * API Reference

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

The name of the S3 bucket.

*/ inline const Aws::String& GetBucketName() const{ return m_bucketName; } /** *

The name of the S3 bucket.

*/ inline bool BucketNameHasBeenSet() const { return m_bucketNameHasBeenSet; } /** *

The name of the S3 bucket.

*/ inline void SetBucketName(const Aws::String& value) { m_bucketNameHasBeenSet = true; m_bucketName = value; } /** *

The name of the S3 bucket.

*/ inline void SetBucketName(Aws::String&& value) { m_bucketNameHasBeenSet = true; m_bucketName = std::move(value); } /** *

The name of the S3 bucket.

*/ inline void SetBucketName(const char* value) { m_bucketNameHasBeenSet = true; m_bucketName.assign(value); } /** *

The name of the S3 bucket.

*/ inline CreateBackendStorageResourceConfig& WithBucketName(const Aws::String& value) { SetBucketName(value); return *this;} /** *

The name of the S3 bucket.

*/ inline CreateBackendStorageResourceConfig& WithBucketName(Aws::String&& value) { SetBucketName(std::move(value)); return *this;} /** *

The name of the S3 bucket.

*/ inline CreateBackendStorageResourceConfig& WithBucketName(const char* value) { SetBucketName(value); return *this;} /** *

The authorization configuration for the storage S3 bucket.

*/ inline const BackendStoragePermissions& GetPermissions() const{ return m_permissions; } /** *

The authorization configuration for the storage S3 bucket.

*/ inline bool PermissionsHasBeenSet() const { return m_permissionsHasBeenSet; } /** *

The authorization configuration for the storage S3 bucket.

*/ inline void SetPermissions(const BackendStoragePermissions& value) { m_permissionsHasBeenSet = true; m_permissions = value; } /** *

The authorization configuration for the storage S3 bucket.

*/ inline void SetPermissions(BackendStoragePermissions&& value) { m_permissionsHasBeenSet = true; m_permissions = std::move(value); } /** *

The authorization configuration for the storage S3 bucket.

*/ inline CreateBackendStorageResourceConfig& WithPermissions(const BackendStoragePermissions& value) { SetPermissions(value); return *this;} /** *

The authorization configuration for the storage S3 bucket.

*/ inline CreateBackendStorageResourceConfig& WithPermissions(BackendStoragePermissions&& value) { SetPermissions(std::move(value)); return *this;} /** *

The name of the storage service.

*/ inline const ServiceName& GetServiceName() const{ return m_serviceName; } /** *

The name of the storage service.

*/ inline bool ServiceNameHasBeenSet() const { return m_serviceNameHasBeenSet; } /** *

The name of the storage service.

*/ inline void SetServiceName(const ServiceName& value) { m_serviceNameHasBeenSet = true; m_serviceName = value; } /** *

The name of the storage service.

*/ inline void SetServiceName(ServiceName&& value) { m_serviceNameHasBeenSet = true; m_serviceName = std::move(value); } /** *

The name of the storage service.

*/ inline CreateBackendStorageResourceConfig& WithServiceName(const ServiceName& value) { SetServiceName(value); return *this;} /** *

The name of the storage service.

*/ inline CreateBackendStorageResourceConfig& WithServiceName(ServiceName&& value) { SetServiceName(std::move(value)); return *this;} private: Aws::String m_bucketName; bool m_bucketNameHasBeenSet = false; BackendStoragePermissions m_permissions; bool m_permissionsHasBeenSet = false; ServiceName m_serviceName; bool m_serviceNameHasBeenSet = false; }; } // namespace Model } // namespace AmplifyBackend } // namespace Aws