/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include #include namespace Aws { namespace EFS { namespace Model { /** */ class PutFileSystemPolicyRequest : public EFSRequest { public: AWS_EFS_API PutFileSystemPolicyRequest(); // Service request name is the Operation name which will send this request out, // each operation should has unique request name, so that we can get operation's name from this request. // Note: this is not true for response, multiple operations may have the same response name, // so we can not get operation's name from response. inline virtual const char* GetServiceRequestName() const override { return "PutFileSystemPolicy"; } AWS_EFS_API Aws::String SerializePayload() const override; /** *

The ID of the EFS file system that you want to create or update the * FileSystemPolicy for.

*/ inline const Aws::String& GetFileSystemId() const{ return m_fileSystemId; } /** *

The ID of the EFS file system that you want to create or update the * FileSystemPolicy for.

*/ inline bool FileSystemIdHasBeenSet() const { return m_fileSystemIdHasBeenSet; } /** *

The ID of the EFS file system that you want to create or update the * FileSystemPolicy for.

*/ inline void SetFileSystemId(const Aws::String& value) { m_fileSystemIdHasBeenSet = true; m_fileSystemId = value; } /** *

The ID of the EFS file system that you want to create or update the * FileSystemPolicy for.

*/ inline void SetFileSystemId(Aws::String&& value) { m_fileSystemIdHasBeenSet = true; m_fileSystemId = std::move(value); } /** *

The ID of the EFS file system that you want to create or update the * FileSystemPolicy for.

*/ inline void SetFileSystemId(const char* value) { m_fileSystemIdHasBeenSet = true; m_fileSystemId.assign(value); } /** *

The ID of the EFS file system that you want to create or update the * FileSystemPolicy for.

*/ inline PutFileSystemPolicyRequest& WithFileSystemId(const Aws::String& value) { SetFileSystemId(value); return *this;} /** *

The ID of the EFS file system that you want to create or update the * FileSystemPolicy for.

*/ inline PutFileSystemPolicyRequest& WithFileSystemId(Aws::String&& value) { SetFileSystemId(std::move(value)); return *this;} /** *

The ID of the EFS file system that you want to create or update the * FileSystemPolicy for.

*/ inline PutFileSystemPolicyRequest& WithFileSystemId(const char* value) { SetFileSystemId(value); return *this;} /** *

The FileSystemPolicy that you're creating. Accepts a JSON * formatted policy definition. EFS file system policies have a 20,000 character * limit. To find out more about the elements that make up a file system policy, * see EFS * Resource-based Policies.

*/ inline const Aws::String& GetPolicy() const{ return m_policy; } /** *

The FileSystemPolicy that you're creating. Accepts a JSON * formatted policy definition. EFS file system policies have a 20,000 character * limit. To find out more about the elements that make up a file system policy, * see EFS * Resource-based Policies.

*/ inline bool PolicyHasBeenSet() const { return m_policyHasBeenSet; } /** *

The FileSystemPolicy that you're creating. Accepts a JSON * formatted policy definition. EFS file system policies have a 20,000 character * limit. To find out more about the elements that make up a file system policy, * see EFS * Resource-based Policies.

*/ inline void SetPolicy(const Aws::String& value) { m_policyHasBeenSet = true; m_policy = value; } /** *

The FileSystemPolicy that you're creating. Accepts a JSON * formatted policy definition. EFS file system policies have a 20,000 character * limit. To find out more about the elements that make up a file system policy, * see EFS * Resource-based Policies.

*/ inline void SetPolicy(Aws::String&& value) { m_policyHasBeenSet = true; m_policy = std::move(value); } /** *

The FileSystemPolicy that you're creating. Accepts a JSON * formatted policy definition. EFS file system policies have a 20,000 character * limit. To find out more about the elements that make up a file system policy, * see EFS * Resource-based Policies.

*/ inline void SetPolicy(const char* value) { m_policyHasBeenSet = true; m_policy.assign(value); } /** *

The FileSystemPolicy that you're creating. Accepts a JSON * formatted policy definition. EFS file system policies have a 20,000 character * limit. To find out more about the elements that make up a file system policy, * see EFS * Resource-based Policies.

*/ inline PutFileSystemPolicyRequest& WithPolicy(const Aws::String& value) { SetPolicy(value); return *this;} /** *

The FileSystemPolicy that you're creating. Accepts a JSON * formatted policy definition. EFS file system policies have a 20,000 character * limit. To find out more about the elements that make up a file system policy, * see EFS * Resource-based Policies.

*/ inline PutFileSystemPolicyRequest& WithPolicy(Aws::String&& value) { SetPolicy(std::move(value)); return *this;} /** *

The FileSystemPolicy that you're creating. Accepts a JSON * formatted policy definition. EFS file system policies have a 20,000 character * limit. To find out more about the elements that make up a file system policy, * see EFS * Resource-based Policies.

*/ inline PutFileSystemPolicyRequest& WithPolicy(const char* value) { SetPolicy(value); return *this;} /** *

(Optional) A boolean that specifies whether or not to bypass the * FileSystemPolicy lockout safety check. The lockout safety check * determines whether the policy in the request will lock out, or prevent, the IAM * principal that is making the request from making future * PutFileSystemPolicy requests on this file system. Set * BypassPolicyLockoutSafetyCheck to True only when you * intend to prevent the IAM principal that is making the request from making * subsequent PutFileSystemPolicy requests on this file system. The * default value is False.

*/ inline bool GetBypassPolicyLockoutSafetyCheck() const{ return m_bypassPolicyLockoutSafetyCheck; } /** *

(Optional) A boolean that specifies whether or not to bypass the * FileSystemPolicy lockout safety check. The lockout safety check * determines whether the policy in the request will lock out, or prevent, the IAM * principal that is making the request from making future * PutFileSystemPolicy requests on this file system. Set * BypassPolicyLockoutSafetyCheck to True only when you * intend to prevent the IAM principal that is making the request from making * subsequent PutFileSystemPolicy requests on this file system. The * default value is False.

*/ inline bool BypassPolicyLockoutSafetyCheckHasBeenSet() const { return m_bypassPolicyLockoutSafetyCheckHasBeenSet; } /** *

(Optional) A boolean that specifies whether or not to bypass the * FileSystemPolicy lockout safety check. The lockout safety check * determines whether the policy in the request will lock out, or prevent, the IAM * principal that is making the request from making future * PutFileSystemPolicy requests on this file system. Set * BypassPolicyLockoutSafetyCheck to True only when you * intend to prevent the IAM principal that is making the request from making * subsequent PutFileSystemPolicy requests on this file system. The * default value is False.

*/ inline void SetBypassPolicyLockoutSafetyCheck(bool value) { m_bypassPolicyLockoutSafetyCheckHasBeenSet = true; m_bypassPolicyLockoutSafetyCheck = value; } /** *

(Optional) A boolean that specifies whether or not to bypass the * FileSystemPolicy lockout safety check. The lockout safety check * determines whether the policy in the request will lock out, or prevent, the IAM * principal that is making the request from making future * PutFileSystemPolicy requests on this file system. Set * BypassPolicyLockoutSafetyCheck to True only when you * intend to prevent the IAM principal that is making the request from making * subsequent PutFileSystemPolicy requests on this file system. The * default value is False.

*/ inline PutFileSystemPolicyRequest& WithBypassPolicyLockoutSafetyCheck(bool value) { SetBypassPolicyLockoutSafetyCheck(value); return *this;} private: Aws::String m_fileSystemId; bool m_fileSystemIdHasBeenSet = false; Aws::String m_policy; bool m_policyHasBeenSet = false; bool m_bypassPolicyLockoutSafetyCheck; bool m_bypassPolicyLockoutSafetyCheckHasBeenSet = false; }; } // namespace Model } // namespace EFS } // namespace Aws