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

Studio admins can use launch profile membership to delegate launch profile * access to studio users in the Nimble Studio portal without writing or * maintaining complex IAM policies. A launch profile member is a user association * from your studio identity source who is granted permissions to a launch * profile.

A launch profile member (type USER) provides the following * permissions to that launch profile:

  • GetLaunchProfile

  • *
  • GetLaunchProfileInitialization

  • *

    GetLaunchProfileMembers

  • GetLaunchProfileMember

  • *
  • CreateStreamingSession

  • GetLaunchProfileDetails

    *

See Also:

AWS * API Reference

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

The ID of the identity store.

*/ inline const Aws::String& GetIdentityStoreId() const{ return m_identityStoreId; } /** *

The ID of the identity store.

*/ inline bool IdentityStoreIdHasBeenSet() const { return m_identityStoreIdHasBeenSet; } /** *

The ID of the identity store.

*/ inline void SetIdentityStoreId(const Aws::String& value) { m_identityStoreIdHasBeenSet = true; m_identityStoreId = value; } /** *

The ID of the identity store.

*/ inline void SetIdentityStoreId(Aws::String&& value) { m_identityStoreIdHasBeenSet = true; m_identityStoreId = std::move(value); } /** *

The ID of the identity store.

*/ inline void SetIdentityStoreId(const char* value) { m_identityStoreIdHasBeenSet = true; m_identityStoreId.assign(value); } /** *

The ID of the identity store.

*/ inline LaunchProfileMembership& WithIdentityStoreId(const Aws::String& value) { SetIdentityStoreId(value); return *this;} /** *

The ID of the identity store.

*/ inline LaunchProfileMembership& WithIdentityStoreId(Aws::String&& value) { SetIdentityStoreId(std::move(value)); return *this;} /** *

The ID of the identity store.

*/ inline LaunchProfileMembership& WithIdentityStoreId(const char* value) { SetIdentityStoreId(value); return *this;} /** *

The persona.

*/ inline const LaunchProfilePersona& GetPersona() const{ return m_persona; } /** *

The persona.

*/ inline bool PersonaHasBeenSet() const { return m_personaHasBeenSet; } /** *

The persona.

*/ inline void SetPersona(const LaunchProfilePersona& value) { m_personaHasBeenSet = true; m_persona = value; } /** *

The persona.

*/ inline void SetPersona(LaunchProfilePersona&& value) { m_personaHasBeenSet = true; m_persona = std::move(value); } /** *

The persona.

*/ inline LaunchProfileMembership& WithPersona(const LaunchProfilePersona& value) { SetPersona(value); return *this;} /** *

The persona.

*/ inline LaunchProfileMembership& WithPersona(LaunchProfilePersona&& value) { SetPersona(std::move(value)); return *this;} /** *

The principal ID.

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

The principal ID.

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

The principal ID.

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

The principal ID.

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

The principal ID.

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

The principal ID.

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

The principal ID.

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

The principal ID.

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

The Active Directory Security Identifier for this user, if available.

*/ inline const Aws::String& GetSid() const{ return m_sid; } /** *

The Active Directory Security Identifier for this user, if available.

*/ inline bool SidHasBeenSet() const { return m_sidHasBeenSet; } /** *

The Active Directory Security Identifier for this user, if available.

*/ inline void SetSid(const Aws::String& value) { m_sidHasBeenSet = true; m_sid = value; } /** *

The Active Directory Security Identifier for this user, if available.

*/ inline void SetSid(Aws::String&& value) { m_sidHasBeenSet = true; m_sid = std::move(value); } /** *

The Active Directory Security Identifier for this user, if available.

*/ inline void SetSid(const char* value) { m_sidHasBeenSet = true; m_sid.assign(value); } /** *

The Active Directory Security Identifier for this user, if available.

*/ inline LaunchProfileMembership& WithSid(const Aws::String& value) { SetSid(value); return *this;} /** *

The Active Directory Security Identifier for this user, if available.

*/ inline LaunchProfileMembership& WithSid(Aws::String&& value) { SetSid(std::move(value)); return *this;} /** *

The Active Directory Security Identifier for this user, if available.

*/ inline LaunchProfileMembership& WithSid(const char* value) { SetSid(value); return *this;} private: Aws::String m_identityStoreId; bool m_identityStoreIdHasBeenSet = false; LaunchProfilePersona m_persona; bool m_personaHasBeenSet = false; Aws::String m_principalId; bool m_principalIdHasBeenSet = false; Aws::String m_sid; bool m_sidHasBeenSet = false; }; } // namespace Model } // namespace NimbleStudio } // namespace Aws