/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include namespace Aws { namespace Utils { namespace Json { class JsonValue; class JsonView; } // namespace Json } // namespace Utils namespace ECS { namespace Model { /** *

The authorization configuration details for Amazon FSx for Windows File * Server file system. See FSxWindowsFileServerVolumeConfiguration * in the Amazon ECS API Reference.

For more information and the * input format, see Amazon * FSx for Windows File Server Volumes in the Amazon Elastic Container * Service Developer Guide.

See Also:

AWS * API Reference

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

The authorization credential option to use. The authorization credential * options can be provided using either the Amazon Resource Name (ARN) of an * Secrets Manager secret or SSM Parameter Store parameter. The ARN refers to the * stored credentials.

*/ inline const Aws::String& GetCredentialsParameter() const{ return m_credentialsParameter; } /** *

The authorization credential option to use. The authorization credential * options can be provided using either the Amazon Resource Name (ARN) of an * Secrets Manager secret or SSM Parameter Store parameter. The ARN refers to the * stored credentials.

*/ inline bool CredentialsParameterHasBeenSet() const { return m_credentialsParameterHasBeenSet; } /** *

The authorization credential option to use. The authorization credential * options can be provided using either the Amazon Resource Name (ARN) of an * Secrets Manager secret or SSM Parameter Store parameter. The ARN refers to the * stored credentials.

*/ inline void SetCredentialsParameter(const Aws::String& value) { m_credentialsParameterHasBeenSet = true; m_credentialsParameter = value; } /** *

The authorization credential option to use. The authorization credential * options can be provided using either the Amazon Resource Name (ARN) of an * Secrets Manager secret or SSM Parameter Store parameter. The ARN refers to the * stored credentials.

*/ inline void SetCredentialsParameter(Aws::String&& value) { m_credentialsParameterHasBeenSet = true; m_credentialsParameter = std::move(value); } /** *

The authorization credential option to use. The authorization credential * options can be provided using either the Amazon Resource Name (ARN) of an * Secrets Manager secret or SSM Parameter Store parameter. The ARN refers to the * stored credentials.

*/ inline void SetCredentialsParameter(const char* value) { m_credentialsParameterHasBeenSet = true; m_credentialsParameter.assign(value); } /** *

The authorization credential option to use. The authorization credential * options can be provided using either the Amazon Resource Name (ARN) of an * Secrets Manager secret or SSM Parameter Store parameter. The ARN refers to the * stored credentials.

*/ inline FSxWindowsFileServerAuthorizationConfig& WithCredentialsParameter(const Aws::String& value) { SetCredentialsParameter(value); return *this;} /** *

The authorization credential option to use. The authorization credential * options can be provided using either the Amazon Resource Name (ARN) of an * Secrets Manager secret or SSM Parameter Store parameter. The ARN refers to the * stored credentials.

*/ inline FSxWindowsFileServerAuthorizationConfig& WithCredentialsParameter(Aws::String&& value) { SetCredentialsParameter(std::move(value)); return *this;} /** *

The authorization credential option to use. The authorization credential * options can be provided using either the Amazon Resource Name (ARN) of an * Secrets Manager secret or SSM Parameter Store parameter. The ARN refers to the * stored credentials.

*/ inline FSxWindowsFileServerAuthorizationConfig& WithCredentialsParameter(const char* value) { SetCredentialsParameter(value); return *this;} /** *

A fully qualified domain name hosted by an Directory * Service Managed Microsoft AD (Active Directory) or self-hosted AD on Amazon * EC2.

*/ inline const Aws::String& GetDomain() const{ return m_domain; } /** *

A fully qualified domain name hosted by an Directory * Service Managed Microsoft AD (Active Directory) or self-hosted AD on Amazon * EC2.

*/ inline bool DomainHasBeenSet() const { return m_domainHasBeenSet; } /** *

A fully qualified domain name hosted by an Directory * Service Managed Microsoft AD (Active Directory) or self-hosted AD on Amazon * EC2.

*/ inline void SetDomain(const Aws::String& value) { m_domainHasBeenSet = true; m_domain = value; } /** *

A fully qualified domain name hosted by an Directory * Service Managed Microsoft AD (Active Directory) or self-hosted AD on Amazon * EC2.

*/ inline void SetDomain(Aws::String&& value) { m_domainHasBeenSet = true; m_domain = std::move(value); } /** *

A fully qualified domain name hosted by an Directory * Service Managed Microsoft AD (Active Directory) or self-hosted AD on Amazon * EC2.

*/ inline void SetDomain(const char* value) { m_domainHasBeenSet = true; m_domain.assign(value); } /** *

A fully qualified domain name hosted by an Directory * Service Managed Microsoft AD (Active Directory) or self-hosted AD on Amazon * EC2.

*/ inline FSxWindowsFileServerAuthorizationConfig& WithDomain(const Aws::String& value) { SetDomain(value); return *this;} /** *

A fully qualified domain name hosted by an Directory * Service Managed Microsoft AD (Active Directory) or self-hosted AD on Amazon * EC2.

*/ inline FSxWindowsFileServerAuthorizationConfig& WithDomain(Aws::String&& value) { SetDomain(std::move(value)); return *this;} /** *

A fully qualified domain name hosted by an Directory * Service Managed Microsoft AD (Active Directory) or self-hosted AD on Amazon * EC2.

*/ inline FSxWindowsFileServerAuthorizationConfig& WithDomain(const char* value) { SetDomain(value); return *this;} private: Aws::String m_credentialsParameter; bool m_credentialsParameterHasBeenSet = false; Aws::String m_domain; bool m_domainHasBeenSet = false; }; } // namespace Model } // namespace ECS } // namespace Aws