/**
* 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 EFS
{
namespace Model
{
/**
* Describes the resource type and its ID preference for the user's Amazon Web
* Services account, in the current Amazon Web Services Region.
See
* Also:
AWS
* API Reference
*/
class ResourceIdPreference
{
public:
AWS_EFS_API ResourceIdPreference();
AWS_EFS_API ResourceIdPreference(Aws::Utils::Json::JsonView jsonValue);
AWS_EFS_API ResourceIdPreference& operator=(Aws::Utils::Json::JsonView jsonValue);
AWS_EFS_API Aws::Utils::Json::JsonValue Jsonize() const;
/**
* Identifies the EFS resource ID preference, either LONG_ID
(17
* characters) or SHORT_ID
(8 characters).
*/
inline const ResourceIdType& GetResourceIdType() const{ return m_resourceIdType; }
/**
* Identifies the EFS resource ID preference, either LONG_ID
(17
* characters) or SHORT_ID
(8 characters).
*/
inline bool ResourceIdTypeHasBeenSet() const { return m_resourceIdTypeHasBeenSet; }
/**
* Identifies the EFS resource ID preference, either LONG_ID
(17
* characters) or SHORT_ID
(8 characters).
*/
inline void SetResourceIdType(const ResourceIdType& value) { m_resourceIdTypeHasBeenSet = true; m_resourceIdType = value; }
/**
* Identifies the EFS resource ID preference, either LONG_ID
(17
* characters) or SHORT_ID
(8 characters).
*/
inline void SetResourceIdType(ResourceIdType&& value) { m_resourceIdTypeHasBeenSet = true; m_resourceIdType = std::move(value); }
/**
* Identifies the EFS resource ID preference, either LONG_ID
(17
* characters) or SHORT_ID
(8 characters).
*/
inline ResourceIdPreference& WithResourceIdType(const ResourceIdType& value) { SetResourceIdType(value); return *this;}
/**
* Identifies the EFS resource ID preference, either LONG_ID
(17
* characters) or SHORT_ID
(8 characters).
*/
inline ResourceIdPreference& WithResourceIdType(ResourceIdType&& value) { SetResourceIdType(std::move(value)); return *this;}
/**
* Identifies the Amazon EFS resources to which the ID preference setting
* applies, FILE_SYSTEM
and MOUNT_TARGET
.
*/
inline const Aws::Vector& GetResources() const{ return m_resources; }
/**
* Identifies the Amazon EFS resources to which the ID preference setting
* applies, FILE_SYSTEM
and MOUNT_TARGET
.
*/
inline bool ResourcesHasBeenSet() const { return m_resourcesHasBeenSet; }
/**
* Identifies the Amazon EFS resources to which the ID preference setting
* applies, FILE_SYSTEM
and MOUNT_TARGET
.
*/
inline void SetResources(const Aws::Vector& value) { m_resourcesHasBeenSet = true; m_resources = value; }
/**
* Identifies the Amazon EFS resources to which the ID preference setting
* applies, FILE_SYSTEM
and MOUNT_TARGET
.
*/
inline void SetResources(Aws::Vector&& value) { m_resourcesHasBeenSet = true; m_resources = std::move(value); }
/**
* Identifies the Amazon EFS resources to which the ID preference setting
* applies, FILE_SYSTEM
and MOUNT_TARGET
.
*/
inline ResourceIdPreference& WithResources(const Aws::Vector& value) { SetResources(value); return *this;}
/**
* Identifies the Amazon EFS resources to which the ID preference setting
* applies, FILE_SYSTEM
and MOUNT_TARGET
.
*/
inline ResourceIdPreference& WithResources(Aws::Vector&& value) { SetResources(std::move(value)); return *this;}
/**
* Identifies the Amazon EFS resources to which the ID preference setting
* applies, FILE_SYSTEM
and MOUNT_TARGET
.
*/
inline ResourceIdPreference& AddResources(const Resource& value) { m_resourcesHasBeenSet = true; m_resources.push_back(value); return *this; }
/**
* Identifies the Amazon EFS resources to which the ID preference setting
* applies, FILE_SYSTEM
and MOUNT_TARGET
.
*/
inline ResourceIdPreference& AddResources(Resource&& value) { m_resourcesHasBeenSet = true; m_resources.push_back(std::move(value)); return *this; }
private:
ResourceIdType m_resourceIdType;
bool m_resourceIdTypeHasBeenSet = false;
Aws::Vector m_resources;
bool m_resourcesHasBeenSet = false;
};
} // namespace Model
} // namespace EFS
} // namespace Aws