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

The configuration of the studio component, based on component * type.

See Also:

AWS * API Reference

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

The configuration for a Directory Service for Microsoft Active Directory * studio resource.

*/ inline const ActiveDirectoryConfiguration& GetActiveDirectoryConfiguration() const{ return m_activeDirectoryConfiguration; } /** *

The configuration for a Directory Service for Microsoft Active Directory * studio resource.

*/ inline bool ActiveDirectoryConfigurationHasBeenSet() const { return m_activeDirectoryConfigurationHasBeenSet; } /** *

The configuration for a Directory Service for Microsoft Active Directory * studio resource.

*/ inline void SetActiveDirectoryConfiguration(const ActiveDirectoryConfiguration& value) { m_activeDirectoryConfigurationHasBeenSet = true; m_activeDirectoryConfiguration = value; } /** *

The configuration for a Directory Service for Microsoft Active Directory * studio resource.

*/ inline void SetActiveDirectoryConfiguration(ActiveDirectoryConfiguration&& value) { m_activeDirectoryConfigurationHasBeenSet = true; m_activeDirectoryConfiguration = std::move(value); } /** *

The configuration for a Directory Service for Microsoft Active Directory * studio resource.

*/ inline StudioComponentConfiguration& WithActiveDirectoryConfiguration(const ActiveDirectoryConfiguration& value) { SetActiveDirectoryConfiguration(value); return *this;} /** *

The configuration for a Directory Service for Microsoft Active Directory * studio resource.

*/ inline StudioComponentConfiguration& WithActiveDirectoryConfiguration(ActiveDirectoryConfiguration&& value) { SetActiveDirectoryConfiguration(std::move(value)); return *this;} /** *

The configuration for a render farm that is associated with a studio * resource.

*/ inline const ComputeFarmConfiguration& GetComputeFarmConfiguration() const{ return m_computeFarmConfiguration; } /** *

The configuration for a render farm that is associated with a studio * resource.

*/ inline bool ComputeFarmConfigurationHasBeenSet() const { return m_computeFarmConfigurationHasBeenSet; } /** *

The configuration for a render farm that is associated with a studio * resource.

*/ inline void SetComputeFarmConfiguration(const ComputeFarmConfiguration& value) { m_computeFarmConfigurationHasBeenSet = true; m_computeFarmConfiguration = value; } /** *

The configuration for a render farm that is associated with a studio * resource.

*/ inline void SetComputeFarmConfiguration(ComputeFarmConfiguration&& value) { m_computeFarmConfigurationHasBeenSet = true; m_computeFarmConfiguration = std::move(value); } /** *

The configuration for a render farm that is associated with a studio * resource.

*/ inline StudioComponentConfiguration& WithComputeFarmConfiguration(const ComputeFarmConfiguration& value) { SetComputeFarmConfiguration(value); return *this;} /** *

The configuration for a render farm that is associated with a studio * resource.

*/ inline StudioComponentConfiguration& WithComputeFarmConfiguration(ComputeFarmConfiguration&& value) { SetComputeFarmConfiguration(std::move(value)); return *this;} /** *

The configuration for a license service that is associated with a studio * resource.

*/ inline const LicenseServiceConfiguration& GetLicenseServiceConfiguration() const{ return m_licenseServiceConfiguration; } /** *

The configuration for a license service that is associated with a studio * resource.

*/ inline bool LicenseServiceConfigurationHasBeenSet() const { return m_licenseServiceConfigurationHasBeenSet; } /** *

The configuration for a license service that is associated with a studio * resource.

*/ inline void SetLicenseServiceConfiguration(const LicenseServiceConfiguration& value) { m_licenseServiceConfigurationHasBeenSet = true; m_licenseServiceConfiguration = value; } /** *

The configuration for a license service that is associated with a studio * resource.

*/ inline void SetLicenseServiceConfiguration(LicenseServiceConfiguration&& value) { m_licenseServiceConfigurationHasBeenSet = true; m_licenseServiceConfiguration = std::move(value); } /** *

The configuration for a license service that is associated with a studio * resource.

*/ inline StudioComponentConfiguration& WithLicenseServiceConfiguration(const LicenseServiceConfiguration& value) { SetLicenseServiceConfiguration(value); return *this;} /** *

The configuration for a license service that is associated with a studio * resource.

*/ inline StudioComponentConfiguration& WithLicenseServiceConfiguration(LicenseServiceConfiguration&& value) { SetLicenseServiceConfiguration(std::move(value)); return *this;} /** *

The configuration for a shared file storage system that is associated with a * studio resource.

*/ inline const SharedFileSystemConfiguration& GetSharedFileSystemConfiguration() const{ return m_sharedFileSystemConfiguration; } /** *

The configuration for a shared file storage system that is associated with a * studio resource.

*/ inline bool SharedFileSystemConfigurationHasBeenSet() const { return m_sharedFileSystemConfigurationHasBeenSet; } /** *

The configuration for a shared file storage system that is associated with a * studio resource.

*/ inline void SetSharedFileSystemConfiguration(const SharedFileSystemConfiguration& value) { m_sharedFileSystemConfigurationHasBeenSet = true; m_sharedFileSystemConfiguration = value; } /** *

The configuration for a shared file storage system that is associated with a * studio resource.

*/ inline void SetSharedFileSystemConfiguration(SharedFileSystemConfiguration&& value) { m_sharedFileSystemConfigurationHasBeenSet = true; m_sharedFileSystemConfiguration = std::move(value); } /** *

The configuration for a shared file storage system that is associated with a * studio resource.

*/ inline StudioComponentConfiguration& WithSharedFileSystemConfiguration(const SharedFileSystemConfiguration& value) { SetSharedFileSystemConfiguration(value); return *this;} /** *

The configuration for a shared file storage system that is associated with a * studio resource.

*/ inline StudioComponentConfiguration& WithSharedFileSystemConfiguration(SharedFileSystemConfiguration&& value) { SetSharedFileSystemConfiguration(std::move(value)); return *this;} private: ActiveDirectoryConfiguration m_activeDirectoryConfiguration; bool m_activeDirectoryConfigurationHasBeenSet = false; ComputeFarmConfiguration m_computeFarmConfiguration; bool m_computeFarmConfigurationHasBeenSet = false; LicenseServiceConfiguration m_licenseServiceConfiguration; bool m_licenseServiceConfigurationHasBeenSet = false; SharedFileSystemConfiguration m_sharedFileSystemConfiguration; bool m_sharedFileSystemConfigurationHasBeenSet = false; }; } // namespace Model } // namespace NimbleStudio } // namespace Aws