/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include The configuration for an Amazon S3 data repository linked to an Amazon FSx
* for Lustre file system with a data repository association. The configuration
* consists of an Data repository associations on Amazon File Cache
* don't use AutoImportPolicy
that defines which file events on
* the data repository are automatically imported to the file system and an
* AutoExportPolicy
that defines which file events on the file system
* are automatically exported to the data repository. File events are when files or
* directories are added, changed, or deleted on the file system or the data
* repository.S3DataRepositoryConfiguration
because they don't support
* automatic import or automatic export.See Also:
AWS
* API Reference
Specifies the type of updated objects (new, changed, deleted) that will be * automatically imported from the linked S3 bucket to your file system.
*/ inline const AutoImportPolicy& GetAutoImportPolicy() const{ return m_autoImportPolicy; } /** *Specifies the type of updated objects (new, changed, deleted) that will be * automatically imported from the linked S3 bucket to your file system.
*/ inline bool AutoImportPolicyHasBeenSet() const { return m_autoImportPolicyHasBeenSet; } /** *Specifies the type of updated objects (new, changed, deleted) that will be * automatically imported from the linked S3 bucket to your file system.
*/ inline void SetAutoImportPolicy(const AutoImportPolicy& value) { m_autoImportPolicyHasBeenSet = true; m_autoImportPolicy = value; } /** *Specifies the type of updated objects (new, changed, deleted) that will be * automatically imported from the linked S3 bucket to your file system.
*/ inline void SetAutoImportPolicy(AutoImportPolicy&& value) { m_autoImportPolicyHasBeenSet = true; m_autoImportPolicy = std::move(value); } /** *Specifies the type of updated objects (new, changed, deleted) that will be * automatically imported from the linked S3 bucket to your file system.
*/ inline S3DataRepositoryConfiguration& WithAutoImportPolicy(const AutoImportPolicy& value) { SetAutoImportPolicy(value); return *this;} /** *Specifies the type of updated objects (new, changed, deleted) that will be * automatically imported from the linked S3 bucket to your file system.
*/ inline S3DataRepositoryConfiguration& WithAutoImportPolicy(AutoImportPolicy&& value) { SetAutoImportPolicy(std::move(value)); return *this;} /** *Specifies the type of updated objects (new, changed, deleted) that will be * automatically exported from your file system to the linked S3 bucket.
*/ inline const AutoExportPolicy& GetAutoExportPolicy() const{ return m_autoExportPolicy; } /** *Specifies the type of updated objects (new, changed, deleted) that will be * automatically exported from your file system to the linked S3 bucket.
*/ inline bool AutoExportPolicyHasBeenSet() const { return m_autoExportPolicyHasBeenSet; } /** *Specifies the type of updated objects (new, changed, deleted) that will be * automatically exported from your file system to the linked S3 bucket.
*/ inline void SetAutoExportPolicy(const AutoExportPolicy& value) { m_autoExportPolicyHasBeenSet = true; m_autoExportPolicy = value; } /** *Specifies the type of updated objects (new, changed, deleted) that will be * automatically exported from your file system to the linked S3 bucket.
*/ inline void SetAutoExportPolicy(AutoExportPolicy&& value) { m_autoExportPolicyHasBeenSet = true; m_autoExportPolicy = std::move(value); } /** *Specifies the type of updated objects (new, changed, deleted) that will be * automatically exported from your file system to the linked S3 bucket.
*/ inline S3DataRepositoryConfiguration& WithAutoExportPolicy(const AutoExportPolicy& value) { SetAutoExportPolicy(value); return *this;} /** *Specifies the type of updated objects (new, changed, deleted) that will be * automatically exported from your file system to the linked S3 bucket.
*/ inline S3DataRepositoryConfiguration& WithAutoExportPolicy(AutoExportPolicy&& value) { SetAutoExportPolicy(std::move(value)); return *this;} private: AutoImportPolicy m_autoImportPolicy; bool m_autoImportPolicyHasBeenSet = false; AutoExportPolicy m_autoExportPolicy; bool m_autoExportPolicyHasBeenSet = false; }; } // namespace Model } // namespace FSx } // namespace Aws