/** * 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 EMR { namespace Model { /** */ class UpdateStudioSessionMappingRequest : public EMRRequest { public: AWS_EMR_API UpdateStudioSessionMappingRequest(); // 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 "UpdateStudioSessionMapping"; } AWS_EMR_API Aws::String SerializePayload() const override; AWS_EMR_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; /** *

The ID of the Amazon EMR Studio.

*/ inline const Aws::String& GetStudioId() const{ return m_studioId; } /** *

The ID of the Amazon EMR Studio.

*/ inline bool StudioIdHasBeenSet() const { return m_studioIdHasBeenSet; } /** *

The ID of the Amazon EMR Studio.

*/ inline void SetStudioId(const Aws::String& value) { m_studioIdHasBeenSet = true; m_studioId = value; } /** *

The ID of the Amazon EMR Studio.

*/ inline void SetStudioId(Aws::String&& value) { m_studioIdHasBeenSet = true; m_studioId = std::move(value); } /** *

The ID of the Amazon EMR Studio.

*/ inline void SetStudioId(const char* value) { m_studioIdHasBeenSet = true; m_studioId.assign(value); } /** *

The ID of the Amazon EMR Studio.

*/ inline UpdateStudioSessionMappingRequest& WithStudioId(const Aws::String& value) { SetStudioId(value); return *this;} /** *

The ID of the Amazon EMR Studio.

*/ inline UpdateStudioSessionMappingRequest& WithStudioId(Aws::String&& value) { SetStudioId(std::move(value)); return *this;} /** *

The ID of the Amazon EMR Studio.

*/ inline UpdateStudioSessionMappingRequest& WithStudioId(const char* value) { SetStudioId(value); return *this;} /** *

The globally unique identifier (GUID) of the user or group. For more * information, see UserId * and GroupId * in the IAM Identity Center Identity Store API Reference. Either * IdentityName or IdentityId must be specified.

*/ inline const Aws::String& GetIdentityId() const{ return m_identityId; } /** *

The globally unique identifier (GUID) of the user or group. For more * information, see UserId * and GroupId * in the IAM Identity Center Identity Store API Reference. Either * IdentityName or IdentityId must be specified.

*/ inline bool IdentityIdHasBeenSet() const { return m_identityIdHasBeenSet; } /** *

The globally unique identifier (GUID) of the user or group. For more * information, see UserId * and GroupId * in the IAM Identity Center Identity Store API Reference. Either * IdentityName or IdentityId must be specified.

*/ inline void SetIdentityId(const Aws::String& value) { m_identityIdHasBeenSet = true; m_identityId = value; } /** *

The globally unique identifier (GUID) of the user or group. For more * information, see UserId * and GroupId * in the IAM Identity Center Identity Store API Reference. Either * IdentityName or IdentityId must be specified.

*/ inline void SetIdentityId(Aws::String&& value) { m_identityIdHasBeenSet = true; m_identityId = std::move(value); } /** *

The globally unique identifier (GUID) of the user or group. For more * information, see UserId * and GroupId * in the IAM Identity Center Identity Store API Reference. Either * IdentityName or IdentityId must be specified.

*/ inline void SetIdentityId(const char* value) { m_identityIdHasBeenSet = true; m_identityId.assign(value); } /** *

The globally unique identifier (GUID) of the user or group. For more * information, see UserId * and GroupId * in the IAM Identity Center Identity Store API Reference. Either * IdentityName or IdentityId must be specified.

*/ inline UpdateStudioSessionMappingRequest& WithIdentityId(const Aws::String& value) { SetIdentityId(value); return *this;} /** *

The globally unique identifier (GUID) of the user or group. For more * information, see UserId * and GroupId * in the IAM Identity Center Identity Store API Reference. Either * IdentityName or IdentityId must be specified.

*/ inline UpdateStudioSessionMappingRequest& WithIdentityId(Aws::String&& value) { SetIdentityId(std::move(value)); return *this;} /** *

The globally unique identifier (GUID) of the user or group. For more * information, see UserId * and GroupId * in the IAM Identity Center Identity Store API Reference. Either * IdentityName or IdentityId must be specified.

*/ inline UpdateStudioSessionMappingRequest& WithIdentityId(const char* value) { SetIdentityId(value); return *this;} /** *

The name of the user or group to update. For more information, see UserName * and DisplayName * in the IAM Identity Center Identity Store API Reference. Either * IdentityName or IdentityId must be specified.

*/ inline const Aws::String& GetIdentityName() const{ return m_identityName; } /** *

The name of the user or group to update. For more information, see UserName * and DisplayName * in the IAM Identity Center Identity Store API Reference. Either * IdentityName or IdentityId must be specified.

*/ inline bool IdentityNameHasBeenSet() const { return m_identityNameHasBeenSet; } /** *

The name of the user or group to update. For more information, see UserName * and DisplayName * in the IAM Identity Center Identity Store API Reference. Either * IdentityName or IdentityId must be specified.

*/ inline void SetIdentityName(const Aws::String& value) { m_identityNameHasBeenSet = true; m_identityName = value; } /** *

The name of the user or group to update. For more information, see UserName * and DisplayName * in the IAM Identity Center Identity Store API Reference. Either * IdentityName or IdentityId must be specified.

*/ inline void SetIdentityName(Aws::String&& value) { m_identityNameHasBeenSet = true; m_identityName = std::move(value); } /** *

The name of the user or group to update. For more information, see UserName * and DisplayName * in the IAM Identity Center Identity Store API Reference. Either * IdentityName or IdentityId must be specified.

*/ inline void SetIdentityName(const char* value) { m_identityNameHasBeenSet = true; m_identityName.assign(value); } /** *

The name of the user or group to update. For more information, see UserName * and DisplayName * in the IAM Identity Center Identity Store API Reference. Either * IdentityName or IdentityId must be specified.

*/ inline UpdateStudioSessionMappingRequest& WithIdentityName(const Aws::String& value) { SetIdentityName(value); return *this;} /** *

The name of the user or group to update. For more information, see UserName * and DisplayName * in the IAM Identity Center Identity Store API Reference. Either * IdentityName or IdentityId must be specified.

*/ inline UpdateStudioSessionMappingRequest& WithIdentityName(Aws::String&& value) { SetIdentityName(std::move(value)); return *this;} /** *

The name of the user or group to update. For more information, see UserName * and DisplayName * in the IAM Identity Center Identity Store API Reference. Either * IdentityName or IdentityId must be specified.

*/ inline UpdateStudioSessionMappingRequest& WithIdentityName(const char* value) { SetIdentityName(value); return *this;} /** *

Specifies whether the identity to update is a user or a group.

*/ inline const IdentityType& GetIdentityType() const{ return m_identityType; } /** *

Specifies whether the identity to update is a user or a group.

*/ inline bool IdentityTypeHasBeenSet() const { return m_identityTypeHasBeenSet; } /** *

Specifies whether the identity to update is a user or a group.

*/ inline void SetIdentityType(const IdentityType& value) { m_identityTypeHasBeenSet = true; m_identityType = value; } /** *

Specifies whether the identity to update is a user or a group.

*/ inline void SetIdentityType(IdentityType&& value) { m_identityTypeHasBeenSet = true; m_identityType = std::move(value); } /** *

Specifies whether the identity to update is a user or a group.

*/ inline UpdateStudioSessionMappingRequest& WithIdentityType(const IdentityType& value) { SetIdentityType(value); return *this;} /** *

Specifies whether the identity to update is a user or a group.

*/ inline UpdateStudioSessionMappingRequest& WithIdentityType(IdentityType&& value) { SetIdentityType(std::move(value)); return *this;} /** *

The Amazon Resource Name (ARN) of the session policy to associate with the * specified user or group.

*/ inline const Aws::String& GetSessionPolicyArn() const{ return m_sessionPolicyArn; } /** *

The Amazon Resource Name (ARN) of the session policy to associate with the * specified user or group.

*/ inline bool SessionPolicyArnHasBeenSet() const { return m_sessionPolicyArnHasBeenSet; } /** *

The Amazon Resource Name (ARN) of the session policy to associate with the * specified user or group.

*/ inline void SetSessionPolicyArn(const Aws::String& value) { m_sessionPolicyArnHasBeenSet = true; m_sessionPolicyArn = value; } /** *

The Amazon Resource Name (ARN) of the session policy to associate with the * specified user or group.

*/ inline void SetSessionPolicyArn(Aws::String&& value) { m_sessionPolicyArnHasBeenSet = true; m_sessionPolicyArn = std::move(value); } /** *

The Amazon Resource Name (ARN) of the session policy to associate with the * specified user or group.

*/ inline void SetSessionPolicyArn(const char* value) { m_sessionPolicyArnHasBeenSet = true; m_sessionPolicyArn.assign(value); } /** *

The Amazon Resource Name (ARN) of the session policy to associate with the * specified user or group.

*/ inline UpdateStudioSessionMappingRequest& WithSessionPolicyArn(const Aws::String& value) { SetSessionPolicyArn(value); return *this;} /** *

The Amazon Resource Name (ARN) of the session policy to associate with the * specified user or group.

*/ inline UpdateStudioSessionMappingRequest& WithSessionPolicyArn(Aws::String&& value) { SetSessionPolicyArn(std::move(value)); return *this;} /** *

The Amazon Resource Name (ARN) of the session policy to associate with the * specified user or group.

*/ inline UpdateStudioSessionMappingRequest& WithSessionPolicyArn(const char* value) { SetSessionPolicyArn(value); return *this;} private: Aws::String m_studioId; bool m_studioIdHasBeenSet = false; Aws::String m_identityId; bool m_identityIdHasBeenSet = false; Aws::String m_identityName; bool m_identityNameHasBeenSet = false; IdentityType m_identityType; bool m_identityTypeHasBeenSet = false; Aws::String m_sessionPolicyArn; bool m_sessionPolicyArnHasBeenSet = false; }; } // namespace Model } // namespace EMR } // namespace Aws