/** * 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 Http { class URI; } //namespace Http namespace WorkDocs { namespace Model { /** */ class DescribeResourcePermissionsRequest : public WorkDocsRequest { public: AWS_WORKDOCS_API DescribeResourcePermissionsRequest(); // 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 "DescribeResourcePermissions"; } 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 DescribeResourcePermissionsRequest& 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 DescribeResourcePermissionsRequest& 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 DescribeResourcePermissionsRequest& 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 DescribeResourcePermissionsRequest& WithResourceId(const Aws::String& value) { SetResourceId(value); return *this;} /** *

The ID of the resource.

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

The ID of the resource.

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

The ID of the principal to filter permissions by.

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

The ID of the principal to filter permissions by.

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

The ID of the principal to filter permissions by.

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

The ID of the principal to filter permissions by.

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

The ID of the principal to filter permissions by.

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

The ID of the principal to filter permissions by.

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

The ID of the principal to filter permissions by.

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

The ID of the principal to filter permissions by.

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

The maximum number of items to return with this call.

*/ inline int GetLimit() const{ return m_limit; } /** *

The maximum number of items to return with this call.

*/ inline bool LimitHasBeenSet() const { return m_limitHasBeenSet; } /** *

The maximum number of items to return with this call.

*/ inline void SetLimit(int value) { m_limitHasBeenSet = true; m_limit = value; } /** *

The maximum number of items to return with this call.

*/ inline DescribeResourcePermissionsRequest& WithLimit(int value) { SetLimit(value); return *this;} /** *

The marker for the next set of results. (You received this marker from a * previous call)

*/ inline const Aws::String& GetMarker() const{ return m_marker; } /** *

The marker for the next set of results. (You received this marker from a * previous call)

*/ inline bool MarkerHasBeenSet() const { return m_markerHasBeenSet; } /** *

The marker for the next set of results. (You received this marker from a * previous call)

*/ inline void SetMarker(const Aws::String& value) { m_markerHasBeenSet = true; m_marker = value; } /** *

The marker for the next set of results. (You received this marker from a * previous call)

*/ inline void SetMarker(Aws::String&& value) { m_markerHasBeenSet = true; m_marker = std::move(value); } /** *

The marker for the next set of results. (You received this marker from a * previous call)

*/ inline void SetMarker(const char* value) { m_markerHasBeenSet = true; m_marker.assign(value); } /** *

The marker for the next set of results. (You received this marker from a * previous call)

*/ inline DescribeResourcePermissionsRequest& WithMarker(const Aws::String& value) { SetMarker(value); return *this;} /** *

The marker for the next set of results. (You received this marker from a * previous call)

*/ inline DescribeResourcePermissionsRequest& WithMarker(Aws::String&& value) { SetMarker(std::move(value)); return *this;} /** *

The marker for the next set of results. (You received this marker from a * previous call)

*/ inline DescribeResourcePermissionsRequest& WithMarker(const char* value) { SetMarker(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; int m_limit; bool m_limitHasBeenSet = false; Aws::String m_marker; bool m_markerHasBeenSet = false; }; } // namespace Model } // namespace WorkDocs } // namespace Aws