/** * 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 Utils { namespace Json { class JsonValue; class JsonView; } // namespace Json } // namespace Utils namespace EMR { namespace Model { /** *

Details for an Amazon EMR Studio, including ID, Name, VPC, and Description. * The details do not include subnets, IAM roles, security groups, or tags * associated with the Studio.

See Also:

AWS * API Reference

*/ class StudioSummary { public: AWS_EMR_API StudioSummary(); AWS_EMR_API StudioSummary(Aws::Utils::Json::JsonView jsonValue); AWS_EMR_API StudioSummary& operator=(Aws::Utils::Json::JsonView jsonValue); AWS_EMR_API Aws::Utils::Json::JsonValue Jsonize() const; /** *

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 StudioSummary& WithStudioId(const Aws::String& value) { SetStudioId(value); return *this;} /** *

The ID of the Amazon EMR Studio.

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

The ID of the Amazon EMR Studio.

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

The name of the Amazon EMR Studio.

*/ inline const Aws::String& GetName() const{ return m_name; } /** *

The name of the Amazon EMR Studio.

*/ inline bool NameHasBeenSet() const { return m_nameHasBeenSet; } /** *

The name of the Amazon EMR Studio.

*/ inline void SetName(const Aws::String& value) { m_nameHasBeenSet = true; m_name = value; } /** *

The name of the Amazon EMR Studio.

*/ inline void SetName(Aws::String&& value) { m_nameHasBeenSet = true; m_name = std::move(value); } /** *

The name of the Amazon EMR Studio.

*/ inline void SetName(const char* value) { m_nameHasBeenSet = true; m_name.assign(value); } /** *

The name of the Amazon EMR Studio.

*/ inline StudioSummary& WithName(const Aws::String& value) { SetName(value); return *this;} /** *

The name of the Amazon EMR Studio.

*/ inline StudioSummary& WithName(Aws::String&& value) { SetName(std::move(value)); return *this;} /** *

The name of the Amazon EMR Studio.

*/ inline StudioSummary& WithName(const char* value) { SetName(value); return *this;} /** *

The ID of the Virtual Private Cloud (Amazon VPC) associated with the Amazon * EMR Studio.

*/ inline const Aws::String& GetVpcId() const{ return m_vpcId; } /** *

The ID of the Virtual Private Cloud (Amazon VPC) associated with the Amazon * EMR Studio.

*/ inline bool VpcIdHasBeenSet() const { return m_vpcIdHasBeenSet; } /** *

The ID of the Virtual Private Cloud (Amazon VPC) associated with the Amazon * EMR Studio.

*/ inline void SetVpcId(const Aws::String& value) { m_vpcIdHasBeenSet = true; m_vpcId = value; } /** *

The ID of the Virtual Private Cloud (Amazon VPC) associated with the Amazon * EMR Studio.

*/ inline void SetVpcId(Aws::String&& value) { m_vpcIdHasBeenSet = true; m_vpcId = std::move(value); } /** *

The ID of the Virtual Private Cloud (Amazon VPC) associated with the Amazon * EMR Studio.

*/ inline void SetVpcId(const char* value) { m_vpcIdHasBeenSet = true; m_vpcId.assign(value); } /** *

The ID of the Virtual Private Cloud (Amazon VPC) associated with the Amazon * EMR Studio.

*/ inline StudioSummary& WithVpcId(const Aws::String& value) { SetVpcId(value); return *this;} /** *

The ID of the Virtual Private Cloud (Amazon VPC) associated with the Amazon * EMR Studio.

*/ inline StudioSummary& WithVpcId(Aws::String&& value) { SetVpcId(std::move(value)); return *this;} /** *

The ID of the Virtual Private Cloud (Amazon VPC) associated with the Amazon * EMR Studio.

*/ inline StudioSummary& WithVpcId(const char* value) { SetVpcId(value); return *this;} /** *

The detailed description of the Amazon EMR Studio.

*/ inline const Aws::String& GetDescription() const{ return m_description; } /** *

The detailed description of the Amazon EMR Studio.

*/ inline bool DescriptionHasBeenSet() const { return m_descriptionHasBeenSet; } /** *

The detailed description of the Amazon EMR Studio.

*/ inline void SetDescription(const Aws::String& value) { m_descriptionHasBeenSet = true; m_description = value; } /** *

The detailed description of the Amazon EMR Studio.

*/ inline void SetDescription(Aws::String&& value) { m_descriptionHasBeenSet = true; m_description = std::move(value); } /** *

The detailed description of the Amazon EMR Studio.

*/ inline void SetDescription(const char* value) { m_descriptionHasBeenSet = true; m_description.assign(value); } /** *

The detailed description of the Amazon EMR Studio.

*/ inline StudioSummary& WithDescription(const Aws::String& value) { SetDescription(value); return *this;} /** *

The detailed description of the Amazon EMR Studio.

*/ inline StudioSummary& WithDescription(Aws::String&& value) { SetDescription(std::move(value)); return *this;} /** *

The detailed description of the Amazon EMR Studio.

*/ inline StudioSummary& WithDescription(const char* value) { SetDescription(value); return *this;} /** *

The unique access URL of the Amazon EMR Studio.

*/ inline const Aws::String& GetUrl() const{ return m_url; } /** *

The unique access URL of the Amazon EMR Studio.

*/ inline bool UrlHasBeenSet() const { return m_urlHasBeenSet; } /** *

The unique access URL of the Amazon EMR Studio.

*/ inline void SetUrl(const Aws::String& value) { m_urlHasBeenSet = true; m_url = value; } /** *

The unique access URL of the Amazon EMR Studio.

*/ inline void SetUrl(Aws::String&& value) { m_urlHasBeenSet = true; m_url = std::move(value); } /** *

The unique access URL of the Amazon EMR Studio.

*/ inline void SetUrl(const char* value) { m_urlHasBeenSet = true; m_url.assign(value); } /** *

The unique access URL of the Amazon EMR Studio.

*/ inline StudioSummary& WithUrl(const Aws::String& value) { SetUrl(value); return *this;} /** *

The unique access URL of the Amazon EMR Studio.

*/ inline StudioSummary& WithUrl(Aws::String&& value) { SetUrl(std::move(value)); return *this;} /** *

The unique access URL of the Amazon EMR Studio.

*/ inline StudioSummary& WithUrl(const char* value) { SetUrl(value); return *this;} /** *

Specifies whether the Studio authenticates users using IAM or IAM Identity * Center.

*/ inline const AuthMode& GetAuthMode() const{ return m_authMode; } /** *

Specifies whether the Studio authenticates users using IAM or IAM Identity * Center.

*/ inline bool AuthModeHasBeenSet() const { return m_authModeHasBeenSet; } /** *

Specifies whether the Studio authenticates users using IAM or IAM Identity * Center.

*/ inline void SetAuthMode(const AuthMode& value) { m_authModeHasBeenSet = true; m_authMode = value; } /** *

Specifies whether the Studio authenticates users using IAM or IAM Identity * Center.

*/ inline void SetAuthMode(AuthMode&& value) { m_authModeHasBeenSet = true; m_authMode = std::move(value); } /** *

Specifies whether the Studio authenticates users using IAM or IAM Identity * Center.

*/ inline StudioSummary& WithAuthMode(const AuthMode& value) { SetAuthMode(value); return *this;} /** *

Specifies whether the Studio authenticates users using IAM or IAM Identity * Center.

*/ inline StudioSummary& WithAuthMode(AuthMode&& value) { SetAuthMode(std::move(value)); return *this;} /** *

The time when the Amazon EMR Studio was created.

*/ inline const Aws::Utils::DateTime& GetCreationTime() const{ return m_creationTime; } /** *

The time when the Amazon EMR Studio was created.

*/ inline bool CreationTimeHasBeenSet() const { return m_creationTimeHasBeenSet; } /** *

The time when the Amazon EMR Studio was created.

*/ inline void SetCreationTime(const Aws::Utils::DateTime& value) { m_creationTimeHasBeenSet = true; m_creationTime = value; } /** *

The time when the Amazon EMR Studio was created.

*/ inline void SetCreationTime(Aws::Utils::DateTime&& value) { m_creationTimeHasBeenSet = true; m_creationTime = std::move(value); } /** *

The time when the Amazon EMR Studio was created.

*/ inline StudioSummary& WithCreationTime(const Aws::Utils::DateTime& value) { SetCreationTime(value); return *this;} /** *

The time when the Amazon EMR Studio was created.

*/ inline StudioSummary& WithCreationTime(Aws::Utils::DateTime&& value) { SetCreationTime(std::move(value)); return *this;} private: Aws::String m_studioId; bool m_studioIdHasBeenSet = false; Aws::String m_name; bool m_nameHasBeenSet = false; Aws::String m_vpcId; bool m_vpcIdHasBeenSet = false; Aws::String m_description; bool m_descriptionHasBeenSet = false; Aws::String m_url; bool m_urlHasBeenSet = false; AuthMode m_authMode; bool m_authModeHasBeenSet = false; Aws::Utils::DateTime m_creationTime; bool m_creationTimeHasBeenSet = false; }; } // namespace Model } // namespace EMR } // namespace Aws