/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include #include #include #include namespace Aws { namespace kendra { namespace Model { /** */ class AssociatePersonasToEntitiesRequest : public KendraRequest { public: AWS_KENDRA_API AssociatePersonasToEntitiesRequest(); // 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 "AssociatePersonasToEntities"; } AWS_KENDRA_API Aws::String SerializePayload() const override; AWS_KENDRA_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; /** *

The identifier of your Amazon Kendra experience.

*/ inline const Aws::String& GetId() const{ return m_id; } /** *

The identifier of your Amazon Kendra experience.

*/ inline bool IdHasBeenSet() const { return m_idHasBeenSet; } /** *

The identifier of your Amazon Kendra experience.

*/ inline void SetId(const Aws::String& value) { m_idHasBeenSet = true; m_id = value; } /** *

The identifier of your Amazon Kendra experience.

*/ inline void SetId(Aws::String&& value) { m_idHasBeenSet = true; m_id = std::move(value); } /** *

The identifier of your Amazon Kendra experience.

*/ inline void SetId(const char* value) { m_idHasBeenSet = true; m_id.assign(value); } /** *

The identifier of your Amazon Kendra experience.

*/ inline AssociatePersonasToEntitiesRequest& WithId(const Aws::String& value) { SetId(value); return *this;} /** *

The identifier of your Amazon Kendra experience.

*/ inline AssociatePersonasToEntitiesRequest& WithId(Aws::String&& value) { SetId(std::move(value)); return *this;} /** *

The identifier of your Amazon Kendra experience.

*/ inline AssociatePersonasToEntitiesRequest& WithId(const char* value) { SetId(value); return *this;} /** *

The identifier of the index for your Amazon Kendra experience.

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

The identifier of the index for your Amazon Kendra experience.

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

The identifier of the index for your Amazon Kendra experience.

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

The identifier of the index for your Amazon Kendra experience.

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

The identifier of the index for your Amazon Kendra experience.

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

The identifier of the index for your Amazon Kendra experience.

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

The identifier of the index for your Amazon Kendra experience.

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

The identifier of the index for your Amazon Kendra experience.

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

The personas that define the specific permissions of users or groups in your * IAM Identity Center identity source. The available personas or access roles are * Owner and Viewer. For more information on these * personas, see Providing * access to your search page.

*/ inline const Aws::Vector& GetPersonas() const{ return m_personas; } /** *

The personas that define the specific permissions of users or groups in your * IAM Identity Center identity source. The available personas or access roles are * Owner and Viewer. For more information on these * personas, see Providing * access to your search page.

*/ inline bool PersonasHasBeenSet() const { return m_personasHasBeenSet; } /** *

The personas that define the specific permissions of users or groups in your * IAM Identity Center identity source. The available personas or access roles are * Owner and Viewer. For more information on these * personas, see Providing * access to your search page.

*/ inline void SetPersonas(const Aws::Vector& value) { m_personasHasBeenSet = true; m_personas = value; } /** *

The personas that define the specific permissions of users or groups in your * IAM Identity Center identity source. The available personas or access roles are * Owner and Viewer. For more information on these * personas, see Providing * access to your search page.

*/ inline void SetPersonas(Aws::Vector&& value) { m_personasHasBeenSet = true; m_personas = std::move(value); } /** *

The personas that define the specific permissions of users or groups in your * IAM Identity Center identity source. The available personas or access roles are * Owner and Viewer. For more information on these * personas, see Providing * access to your search page.

*/ inline AssociatePersonasToEntitiesRequest& WithPersonas(const Aws::Vector& value) { SetPersonas(value); return *this;} /** *

The personas that define the specific permissions of users or groups in your * IAM Identity Center identity source. The available personas or access roles are * Owner and Viewer. For more information on these * personas, see Providing * access to your search page.

*/ inline AssociatePersonasToEntitiesRequest& WithPersonas(Aws::Vector&& value) { SetPersonas(std::move(value)); return *this;} /** *

The personas that define the specific permissions of users or groups in your * IAM Identity Center identity source. The available personas or access roles are * Owner and Viewer. For more information on these * personas, see Providing * access to your search page.

*/ inline AssociatePersonasToEntitiesRequest& AddPersonas(const EntityPersonaConfiguration& value) { m_personasHasBeenSet = true; m_personas.push_back(value); return *this; } /** *

The personas that define the specific permissions of users or groups in your * IAM Identity Center identity source. The available personas or access roles are * Owner and Viewer. For more information on these * personas, see Providing * access to your search page.

*/ inline AssociatePersonasToEntitiesRequest& AddPersonas(EntityPersonaConfiguration&& value) { m_personasHasBeenSet = true; m_personas.push_back(std::move(value)); return *this; } private: Aws::String m_id; bool m_idHasBeenSet = false; Aws::String m_indexId; bool m_indexIdHasBeenSet = false; Aws::Vector m_personas; bool m_personasHasBeenSet = false; }; } // namespace Model } // namespace kendra } // namespace Aws