/** * 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 Http { class URI; } //namespace Http namespace WorkDocs { namespace Model { /** */ class RemoveResourcePermissionRequest : public WorkDocsRequest { public: AWS_WORKDOCS_API RemoveResourcePermissionRequest(); // 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 "RemoveResourcePermission"; } AWS_WORKDOCS_API Aws::String SerializePayload() const override; AWS_WORKDOCS_API void AddQueryStringParameters(Aws::Http::URI& uri) const override; AWS_WORKDOCS_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; /** *

Amazon WorkDocs authentication token. Not required when using Amazon Web * Services administrator credentials to access the API.

*/ inline const Aws::String& GetAuthenticationToken() const{ return m_authenticationToken; } /** *

Amazon WorkDocs authentication token. Not required when using Amazon Web * Services administrator credentials to access the API.

*/ inline bool AuthenticationTokenHasBeenSet() const { return m_authenticationTokenHasBeenSet; } /** *

Amazon WorkDocs authentication token. Not required when using Amazon Web * Services administrator credentials to access the API.

*/ inline void SetAuthenticationToken(const Aws::String& value) { m_authenticationTokenHasBeenSet = true; m_authenticationToken = value; } /** *

Amazon WorkDocs authentication token. Not required when using Amazon Web * Services administrator credentials to access the API.

*/ inline void SetAuthenticationToken(Aws::String&& value) { m_authenticationTokenHasBeenSet = true; m_authenticationToken = std::move(value); } /** *

Amazon WorkDocs authentication token. Not required when using Amazon Web * Services administrator credentials to access the API.

*/ inline void SetAuthenticationToken(const char* value) { m_authenticationTokenHasBeenSet = true; m_authenticationToken.assign(value); } /** *

Amazon WorkDocs authentication token. Not required when using Amazon Web * Services administrator credentials to access the API.

*/ inline RemoveResourcePermissionRequest& WithAuthenticationToken(const Aws::String& value) { SetAuthenticationToken(value); return *this;} /** *

Amazon WorkDocs authentication token. Not required when using Amazon Web * Services administrator credentials to access the API.

*/ inline RemoveResourcePermissionRequest& WithAuthenticationToken(Aws::String&& value) { SetAuthenticationToken(std::move(value)); return *this;} /** *

Amazon WorkDocs authentication token. Not required when using Amazon Web * Services administrator credentials to access the API.

*/ inline RemoveResourcePermissionRequest& WithAuthenticationToken(const char* value) { SetAuthenticationToken(value); return *this;} /** *

The ID of the resource.

*/ inline const Aws::String& GetResourceId() const{ return m_resourceId; } /** *

The ID of the resource.

*/ inline bool ResourceIdHasBeenSet() const { return m_resourceIdHasBeenSet; } /** *

The ID of the resource.

*/ inline void SetResourceId(const Aws::String& value) { m_resourceIdHasBeenSet = true; m_resourceId = value; } /** *

The ID of the resource.

*/ inline void SetResourceId(Aws::String&& value) { m_resourceIdHasBeenSet = true; m_resourceId = std::move(value); } /** *

The ID of the resource.

*/ inline void SetResourceId(const char* value) { m_resourceIdHasBeenSet = true; m_resourceId.assign(value); } /** *

The ID of the resource.

*/ inline RemoveResourcePermissionRequest& WithResourceId(const Aws::String& value) { SetResourceId(value); return *this;} /** *

The ID of the resource.

*/ inline RemoveResourcePermissionRequest& WithResourceId(Aws::String&& value) { SetResourceId(std::move(value)); return *this;} /** *

The ID of the resource.

*/ inline RemoveResourcePermissionRequest& WithResourceId(const char* value) { SetResourceId(value); return *this;} /** *

The principal ID of the resource.

*/ inline const Aws::String& GetPrincipalId() const{ return m_principalId; } /** *

The principal ID of the resource.

*/ inline bool PrincipalIdHasBeenSet() const { return m_principalIdHasBeenSet; } /** *

The principal ID of the resource.

*/ inline void SetPrincipalId(const Aws::String& value) { m_principalIdHasBeenSet = true; m_principalId = value; } /** *

The principal ID of the resource.

*/ inline void SetPrincipalId(Aws::String&& value) { m_principalIdHasBeenSet = true; m_principalId = std::move(value); } /** *

The principal ID of the resource.

*/ inline void SetPrincipalId(const char* value) { m_principalIdHasBeenSet = true; m_principalId.assign(value); } /** *

The principal ID of the resource.

*/ inline RemoveResourcePermissionRequest& WithPrincipalId(const Aws::String& value) { SetPrincipalId(value); return *this;} /** *

The principal ID of the resource.

*/ inline RemoveResourcePermissionRequest& WithPrincipalId(Aws::String&& value) { SetPrincipalId(std::move(value)); return *this;} /** *

The principal ID of the resource.

*/ inline RemoveResourcePermissionRequest& WithPrincipalId(const char* value) { SetPrincipalId(value); return *this;} /** *

The principal type of the resource.

*/ inline const PrincipalType& GetPrincipalType() const{ return m_principalType; } /** *

The principal type of the resource.

*/ inline bool PrincipalTypeHasBeenSet() const { return m_principalTypeHasBeenSet; } /** *

The principal type of the resource.

*/ inline void SetPrincipalType(const PrincipalType& value) { m_principalTypeHasBeenSet = true; m_principalType = value; } /** *

The principal type of the resource.

*/ inline void SetPrincipalType(PrincipalType&& value) { m_principalTypeHasBeenSet = true; m_principalType = std::move(value); } /** *

The principal type of the resource.

*/ inline RemoveResourcePermissionRequest& WithPrincipalType(const PrincipalType& value) { SetPrincipalType(value); return *this;} /** *

The principal type of the resource.

*/ inline RemoveResourcePermissionRequest& WithPrincipalType(PrincipalType&& value) { SetPrincipalType(std::move(value)); return *this;} private: Aws::String m_authenticationToken; bool m_authenticationTokenHasBeenSet = false; Aws::String m_resourceId; bool m_resourceIdHasBeenSet = false; Aws::String m_principalId; bool m_principalIdHasBeenSet = false; PrincipalType m_principalType; bool m_principalTypeHasBeenSet = false; }; } // namespace Model } // namespace WorkDocs } // namespace Aws