/** * 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 kendra { namespace Model { /** */ class DeletePrincipalMappingRequest : public KendraRequest { public: AWS_KENDRA_API DeletePrincipalMappingRequest(); // 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 "DeletePrincipalMapping"; } AWS_KENDRA_API Aws::String SerializePayload() const override; AWS_KENDRA_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; /** *

The identifier of the index you want to delete a group from.

*/ inline const Aws::String& GetIndexId() const{ return m_indexId; } /** *

The identifier of the index you want to delete a group from.

*/ inline bool IndexIdHasBeenSet() const { return m_indexIdHasBeenSet; } /** *

The identifier of the index you want to delete a group from.

*/ inline void SetIndexId(const Aws::String& value) { m_indexIdHasBeenSet = true; m_indexId = value; } /** *

The identifier of the index you want to delete a group from.

*/ inline void SetIndexId(Aws::String&& value) { m_indexIdHasBeenSet = true; m_indexId = std::move(value); } /** *

The identifier of the index you want to delete a group from.

*/ inline void SetIndexId(const char* value) { m_indexIdHasBeenSet = true; m_indexId.assign(value); } /** *

The identifier of the index you want to delete a group from.

*/ inline DeletePrincipalMappingRequest& WithIndexId(const Aws::String& value) { SetIndexId(value); return *this;} /** *

The identifier of the index you want to delete a group from.

*/ inline DeletePrincipalMappingRequest& WithIndexId(Aws::String&& value) { SetIndexId(std::move(value)); return *this;} /** *

The identifier of the index you want to delete a group from.

*/ inline DeletePrincipalMappingRequest& WithIndexId(const char* value) { SetIndexId(value); return *this;} /** *

The identifier of the data source you want to delete a group from.

A * group can be tied to multiple data sources. You can delete a group from * accessing documents in a certain data source. For example, the groups * "Research", "Engineering", and "Sales and Marketing" are all tied to the * company's documents stored in the data sources Confluence and Salesforce. You * want to delete "Research" and "Engineering" groups from Salesforce, so that * these groups cannot access customer-related documents stored in Salesforce. Only * "Sales and Marketing" should access documents in the Salesforce data source.

*/ inline const Aws::String& GetDataSourceId() const{ return m_dataSourceId; } /** *

The identifier of the data source you want to delete a group from.

A * group can be tied to multiple data sources. You can delete a group from * accessing documents in a certain data source. For example, the groups * "Research", "Engineering", and "Sales and Marketing" are all tied to the * company's documents stored in the data sources Confluence and Salesforce. You * want to delete "Research" and "Engineering" groups from Salesforce, so that * these groups cannot access customer-related documents stored in Salesforce. Only * "Sales and Marketing" should access documents in the Salesforce data source.

*/ inline bool DataSourceIdHasBeenSet() const { return m_dataSourceIdHasBeenSet; } /** *

The identifier of the data source you want to delete a group from.

A * group can be tied to multiple data sources. You can delete a group from * accessing documents in a certain data source. For example, the groups * "Research", "Engineering", and "Sales and Marketing" are all tied to the * company's documents stored in the data sources Confluence and Salesforce. You * want to delete "Research" and "Engineering" groups from Salesforce, so that * these groups cannot access customer-related documents stored in Salesforce. Only * "Sales and Marketing" should access documents in the Salesforce data source.

*/ inline void SetDataSourceId(const Aws::String& value) { m_dataSourceIdHasBeenSet = true; m_dataSourceId = value; } /** *

The identifier of the data source you want to delete a group from.

A * group can be tied to multiple data sources. You can delete a group from * accessing documents in a certain data source. For example, the groups * "Research", "Engineering", and "Sales and Marketing" are all tied to the * company's documents stored in the data sources Confluence and Salesforce. You * want to delete "Research" and "Engineering" groups from Salesforce, so that * these groups cannot access customer-related documents stored in Salesforce. Only * "Sales and Marketing" should access documents in the Salesforce data source.

*/ inline void SetDataSourceId(Aws::String&& value) { m_dataSourceIdHasBeenSet = true; m_dataSourceId = std::move(value); } /** *

The identifier of the data source you want to delete a group from.

A * group can be tied to multiple data sources. You can delete a group from * accessing documents in a certain data source. For example, the groups * "Research", "Engineering", and "Sales and Marketing" are all tied to the * company's documents stored in the data sources Confluence and Salesforce. You * want to delete "Research" and "Engineering" groups from Salesforce, so that * these groups cannot access customer-related documents stored in Salesforce. Only * "Sales and Marketing" should access documents in the Salesforce data source.

*/ inline void SetDataSourceId(const char* value) { m_dataSourceIdHasBeenSet = true; m_dataSourceId.assign(value); } /** *

The identifier of the data source you want to delete a group from.

A * group can be tied to multiple data sources. You can delete a group from * accessing documents in a certain data source. For example, the groups * "Research", "Engineering", and "Sales and Marketing" are all tied to the * company's documents stored in the data sources Confluence and Salesforce. You * want to delete "Research" and "Engineering" groups from Salesforce, so that * these groups cannot access customer-related documents stored in Salesforce. Only * "Sales and Marketing" should access documents in the Salesforce data source.

*/ inline DeletePrincipalMappingRequest& WithDataSourceId(const Aws::String& value) { SetDataSourceId(value); return *this;} /** *

The identifier of the data source you want to delete a group from.

A * group can be tied to multiple data sources. You can delete a group from * accessing documents in a certain data source. For example, the groups * "Research", "Engineering", and "Sales and Marketing" are all tied to the * company's documents stored in the data sources Confluence and Salesforce. You * want to delete "Research" and "Engineering" groups from Salesforce, so that * these groups cannot access customer-related documents stored in Salesforce. Only * "Sales and Marketing" should access documents in the Salesforce data source.

*/ inline DeletePrincipalMappingRequest& WithDataSourceId(Aws::String&& value) { SetDataSourceId(std::move(value)); return *this;} /** *

The identifier of the data source you want to delete a group from.

A * group can be tied to multiple data sources. You can delete a group from * accessing documents in a certain data source. For example, the groups * "Research", "Engineering", and "Sales and Marketing" are all tied to the * company's documents stored in the data sources Confluence and Salesforce. You * want to delete "Research" and "Engineering" groups from Salesforce, so that * these groups cannot access customer-related documents stored in Salesforce. Only * "Sales and Marketing" should access documents in the Salesforce data source.

*/ inline DeletePrincipalMappingRequest& WithDataSourceId(const char* value) { SetDataSourceId(value); return *this;} /** *

The identifier of the group you want to delete.

*/ inline const Aws::String& GetGroupId() const{ return m_groupId; } /** *

The identifier of the group you want to delete.

*/ inline bool GroupIdHasBeenSet() const { return m_groupIdHasBeenSet; } /** *

The identifier of the group you want to delete.

*/ inline void SetGroupId(const Aws::String& value) { m_groupIdHasBeenSet = true; m_groupId = value; } /** *

The identifier of the group you want to delete.

*/ inline void SetGroupId(Aws::String&& value) { m_groupIdHasBeenSet = true; m_groupId = std::move(value); } /** *

The identifier of the group you want to delete.

*/ inline void SetGroupId(const char* value) { m_groupIdHasBeenSet = true; m_groupId.assign(value); } /** *

The identifier of the group you want to delete.

*/ inline DeletePrincipalMappingRequest& WithGroupId(const Aws::String& value) { SetGroupId(value); return *this;} /** *

The identifier of the group you want to delete.

*/ inline DeletePrincipalMappingRequest& WithGroupId(Aws::String&& value) { SetGroupId(std::move(value)); return *this;} /** *

The identifier of the group you want to delete.

*/ inline DeletePrincipalMappingRequest& WithGroupId(const char* value) { SetGroupId(value); return *this;} /** *

The timestamp identifier you specify to ensure Amazon Kendra does not * override the latest DELETE action with previous actions. The * highest number ID, which is the ordering ID, is the latest action you want to * process and apply on top of other actions with lower number IDs. This prevents * previous actions with lower number IDs from possibly overriding the latest * action.

The ordering ID can be the Unix time of the last update you made * to a group members list. You would then provide this list when calling * PutPrincipalMapping. This ensures your DELETE action * for that updated group with the latest members list doesn't get overwritten by * earlier DELETE actions for the same group which are yet to be * processed.

The default ordering ID is the current Unix time in * milliseconds that the action was received by Amazon Kendra.

*/ inline long long GetOrderingId() const{ return m_orderingId; } /** *

The timestamp identifier you specify to ensure Amazon Kendra does not * override the latest DELETE action with previous actions. The * highest number ID, which is the ordering ID, is the latest action you want to * process and apply on top of other actions with lower number IDs. This prevents * previous actions with lower number IDs from possibly overriding the latest * action.

The ordering ID can be the Unix time of the last update you made * to a group members list. You would then provide this list when calling * PutPrincipalMapping. This ensures your DELETE action * for that updated group with the latest members list doesn't get overwritten by * earlier DELETE actions for the same group which are yet to be * processed.

The default ordering ID is the current Unix time in * milliseconds that the action was received by Amazon Kendra.

*/ inline bool OrderingIdHasBeenSet() const { return m_orderingIdHasBeenSet; } /** *

The timestamp identifier you specify to ensure Amazon Kendra does not * override the latest DELETE action with previous actions. The * highest number ID, which is the ordering ID, is the latest action you want to * process and apply on top of other actions with lower number IDs. This prevents * previous actions with lower number IDs from possibly overriding the latest * action.

The ordering ID can be the Unix time of the last update you made * to a group members list. You would then provide this list when calling * PutPrincipalMapping. This ensures your DELETE action * for that updated group with the latest members list doesn't get overwritten by * earlier DELETE actions for the same group which are yet to be * processed.

The default ordering ID is the current Unix time in * milliseconds that the action was received by Amazon Kendra.

*/ inline void SetOrderingId(long long value) { m_orderingIdHasBeenSet = true; m_orderingId = value; } /** *

The timestamp identifier you specify to ensure Amazon Kendra does not * override the latest DELETE action with previous actions. The * highest number ID, which is the ordering ID, is the latest action you want to * process and apply on top of other actions with lower number IDs. This prevents * previous actions with lower number IDs from possibly overriding the latest * action.

The ordering ID can be the Unix time of the last update you made * to a group members list. You would then provide this list when calling * PutPrincipalMapping. This ensures your DELETE action * for that updated group with the latest members list doesn't get overwritten by * earlier DELETE actions for the same group which are yet to be * processed.

The default ordering ID is the current Unix time in * milliseconds that the action was received by Amazon Kendra.

*/ inline DeletePrincipalMappingRequest& WithOrderingId(long long value) { SetOrderingId(value); return *this;} private: Aws::String m_indexId; bool m_indexIdHasBeenSet = false; Aws::String m_dataSourceId; bool m_dataSourceIdHasBeenSet = false; Aws::String m_groupId; bool m_groupIdHasBeenSet = false; long long m_orderingId; bool m_orderingIdHasBeenSet = false; }; } // namespace Model } // namespace kendra } // namespace Aws