/** * 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 Transfer { namespace Model { /** *

Returns information related to the type of user authentication that is in use * for a file transfer protocol-enabled server's users. A server can have only one * method of authentication.

See Also:

AWS * API Reference

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

Provides the location of the service endpoint used to authenticate users.

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

Provides the location of the service endpoint used to authenticate users.

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

Provides the location of the service endpoint used to authenticate users.

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

Provides the location of the service endpoint used to authenticate users.

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

Provides the location of the service endpoint used to authenticate users.

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

Provides the location of the service endpoint used to authenticate users.

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

Provides the location of the service endpoint used to authenticate users.

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

Provides the location of the service endpoint used to authenticate users.

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

This parameter is only applicable if your IdentityProviderType * is API_GATEWAY. Provides the type of InvocationRole * used to authenticate the user account.

*/ inline const Aws::String& GetInvocationRole() const{ return m_invocationRole; } /** *

This parameter is only applicable if your IdentityProviderType * is API_GATEWAY. Provides the type of InvocationRole * used to authenticate the user account.

*/ inline bool InvocationRoleHasBeenSet() const { return m_invocationRoleHasBeenSet; } /** *

This parameter is only applicable if your IdentityProviderType * is API_GATEWAY. Provides the type of InvocationRole * used to authenticate the user account.

*/ inline void SetInvocationRole(const Aws::String& value) { m_invocationRoleHasBeenSet = true; m_invocationRole = value; } /** *

This parameter is only applicable if your IdentityProviderType * is API_GATEWAY. Provides the type of InvocationRole * used to authenticate the user account.

*/ inline void SetInvocationRole(Aws::String&& value) { m_invocationRoleHasBeenSet = true; m_invocationRole = std::move(value); } /** *

This parameter is only applicable if your IdentityProviderType * is API_GATEWAY. Provides the type of InvocationRole * used to authenticate the user account.

*/ inline void SetInvocationRole(const char* value) { m_invocationRoleHasBeenSet = true; m_invocationRole.assign(value); } /** *

This parameter is only applicable if your IdentityProviderType * is API_GATEWAY. Provides the type of InvocationRole * used to authenticate the user account.

*/ inline IdentityProviderDetails& WithInvocationRole(const Aws::String& value) { SetInvocationRole(value); return *this;} /** *

This parameter is only applicable if your IdentityProviderType * is API_GATEWAY. Provides the type of InvocationRole * used to authenticate the user account.

*/ inline IdentityProviderDetails& WithInvocationRole(Aws::String&& value) { SetInvocationRole(std::move(value)); return *this;} /** *

This parameter is only applicable if your IdentityProviderType * is API_GATEWAY. Provides the type of InvocationRole * used to authenticate the user account.

*/ inline IdentityProviderDetails& WithInvocationRole(const char* value) { SetInvocationRole(value); return *this;} /** *

The identifier of the Directory Service directory that you want to stop * sharing.

*/ inline const Aws::String& GetDirectoryId() const{ return m_directoryId; } /** *

The identifier of the Directory Service directory that you want to stop * sharing.

*/ inline bool DirectoryIdHasBeenSet() const { return m_directoryIdHasBeenSet; } /** *

The identifier of the Directory Service directory that you want to stop * sharing.

*/ inline void SetDirectoryId(const Aws::String& value) { m_directoryIdHasBeenSet = true; m_directoryId = value; } /** *

The identifier of the Directory Service directory that you want to stop * sharing.

*/ inline void SetDirectoryId(Aws::String&& value) { m_directoryIdHasBeenSet = true; m_directoryId = std::move(value); } /** *

The identifier of the Directory Service directory that you want to stop * sharing.

*/ inline void SetDirectoryId(const char* value) { m_directoryIdHasBeenSet = true; m_directoryId.assign(value); } /** *

The identifier of the Directory Service directory that you want to stop * sharing.

*/ inline IdentityProviderDetails& WithDirectoryId(const Aws::String& value) { SetDirectoryId(value); return *this;} /** *

The identifier of the Directory Service directory that you want to stop * sharing.

*/ inline IdentityProviderDetails& WithDirectoryId(Aws::String&& value) { SetDirectoryId(std::move(value)); return *this;} /** *

The identifier of the Directory Service directory that you want to stop * sharing.

*/ inline IdentityProviderDetails& WithDirectoryId(const char* value) { SetDirectoryId(value); return *this;} /** *

The ARN for a Lambda function to use for the Identity provider.

*/ inline const Aws::String& GetFunction() const{ return m_function; } /** *

The ARN for a Lambda function to use for the Identity provider.

*/ inline bool FunctionHasBeenSet() const { return m_functionHasBeenSet; } /** *

The ARN for a Lambda function to use for the Identity provider.

*/ inline void SetFunction(const Aws::String& value) { m_functionHasBeenSet = true; m_function = value; } /** *

The ARN for a Lambda function to use for the Identity provider.

*/ inline void SetFunction(Aws::String&& value) { m_functionHasBeenSet = true; m_function = std::move(value); } /** *

The ARN for a Lambda function to use for the Identity provider.

*/ inline void SetFunction(const char* value) { m_functionHasBeenSet = true; m_function.assign(value); } /** *

The ARN for a Lambda function to use for the Identity provider.

*/ inline IdentityProviderDetails& WithFunction(const Aws::String& value) { SetFunction(value); return *this;} /** *

The ARN for a Lambda function to use for the Identity provider.

*/ inline IdentityProviderDetails& WithFunction(Aws::String&& value) { SetFunction(std::move(value)); return *this;} /** *

The ARN for a Lambda function to use for the Identity provider.

*/ inline IdentityProviderDetails& WithFunction(const char* value) { SetFunction(value); return *this;} /** *

For SFTP-enabled servers, and for custom identity providers only, you * can specify whether to authenticate using a password, SSH key pair, or both.

*
  • PASSWORD - users must provide their password to * connect.

  • PUBLIC_KEY - users must provide their * private key to connect.

  • PUBLIC_KEY_OR_PASSWORD - * users can authenticate with either their password or their key. This is the * default value.

  • PUBLIC_KEY_AND_PASSWORD - users * must provide both their private key and their password to connect. The server * checks the key first, and then if the key is valid, the system prompts for a * password. If the private key provided does not match the public key that is * stored, authentication fails.

*/ inline const SftpAuthenticationMethods& GetSftpAuthenticationMethods() const{ return m_sftpAuthenticationMethods; } /** *

For SFTP-enabled servers, and for custom identity providers only, you * can specify whether to authenticate using a password, SSH key pair, or both.

*
  • PASSWORD - users must provide their password to * connect.

  • PUBLIC_KEY - users must provide their * private key to connect.

  • PUBLIC_KEY_OR_PASSWORD - * users can authenticate with either their password or their key. This is the * default value.

  • PUBLIC_KEY_AND_PASSWORD - users * must provide both their private key and their password to connect. The server * checks the key first, and then if the key is valid, the system prompts for a * password. If the private key provided does not match the public key that is * stored, authentication fails.

*/ inline bool SftpAuthenticationMethodsHasBeenSet() const { return m_sftpAuthenticationMethodsHasBeenSet; } /** *

For SFTP-enabled servers, and for custom identity providers only, you * can specify whether to authenticate using a password, SSH key pair, or both.

*
  • PASSWORD - users must provide their password to * connect.

  • PUBLIC_KEY - users must provide their * private key to connect.

  • PUBLIC_KEY_OR_PASSWORD - * users can authenticate with either their password or their key. This is the * default value.

  • PUBLIC_KEY_AND_PASSWORD - users * must provide both their private key and their password to connect. The server * checks the key first, and then if the key is valid, the system prompts for a * password. If the private key provided does not match the public key that is * stored, authentication fails.

*/ inline void SetSftpAuthenticationMethods(const SftpAuthenticationMethods& value) { m_sftpAuthenticationMethodsHasBeenSet = true; m_sftpAuthenticationMethods = value; } /** *

For SFTP-enabled servers, and for custom identity providers only, you * can specify whether to authenticate using a password, SSH key pair, or both.

*
  • PASSWORD - users must provide their password to * connect.

  • PUBLIC_KEY - users must provide their * private key to connect.

  • PUBLIC_KEY_OR_PASSWORD - * users can authenticate with either their password or their key. This is the * default value.

  • PUBLIC_KEY_AND_PASSWORD - users * must provide both their private key and their password to connect. The server * checks the key first, and then if the key is valid, the system prompts for a * password. If the private key provided does not match the public key that is * stored, authentication fails.

*/ inline void SetSftpAuthenticationMethods(SftpAuthenticationMethods&& value) { m_sftpAuthenticationMethodsHasBeenSet = true; m_sftpAuthenticationMethods = std::move(value); } /** *

For SFTP-enabled servers, and for custom identity providers only, you * can specify whether to authenticate using a password, SSH key pair, or both.

*
  • PASSWORD - users must provide their password to * connect.

  • PUBLIC_KEY - users must provide their * private key to connect.

  • PUBLIC_KEY_OR_PASSWORD - * users can authenticate with either their password or their key. This is the * default value.

  • PUBLIC_KEY_AND_PASSWORD - users * must provide both their private key and their password to connect. The server * checks the key first, and then if the key is valid, the system prompts for a * password. If the private key provided does not match the public key that is * stored, authentication fails.

*/ inline IdentityProviderDetails& WithSftpAuthenticationMethods(const SftpAuthenticationMethods& value) { SetSftpAuthenticationMethods(value); return *this;} /** *

For SFTP-enabled servers, and for custom identity providers only, you * can specify whether to authenticate using a password, SSH key pair, or both.

*
  • PASSWORD - users must provide their password to * connect.

  • PUBLIC_KEY - users must provide their * private key to connect.

  • PUBLIC_KEY_OR_PASSWORD - * users can authenticate with either their password or their key. This is the * default value.

  • PUBLIC_KEY_AND_PASSWORD - users * must provide both their private key and their password to connect. The server * checks the key first, and then if the key is valid, the system prompts for a * password. If the private key provided does not match the public key that is * stored, authentication fails.

*/ inline IdentityProviderDetails& WithSftpAuthenticationMethods(SftpAuthenticationMethods&& value) { SetSftpAuthenticationMethods(std::move(value)); return *this;} private: Aws::String m_url; bool m_urlHasBeenSet = false; Aws::String m_invocationRole; bool m_invocationRoleHasBeenSet = false; Aws::String m_directoryId; bool m_directoryIdHasBeenSet = false; Aws::String m_function; bool m_functionHasBeenSet = false; SftpAuthenticationMethods m_sftpAuthenticationMethods; bool m_sftpAuthenticationMethodsHasBeenSet = false; }; } // namespace Model } // namespace Transfer } // namespace Aws