/*
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License").
* You may not use this file except in compliance with the License.
* A copy of the License is located at
*
* http://aws.amazon.com/apache2.0
*
* or in the "license" file accompanying this file. This file is distributed
* on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
* express or implied. See the License for the specific language governing
* permissions and limitations under the License.
*/
/*
* Do not modify this file. This file is generated from the transfer-2018-11-05.normal.json service model.
*/
using System;
using System.Collections.Generic;
using System.Xml.Serialization;
using System.Text;
using System.IO;
using System.Net;
using Amazon.Runtime;
using Amazon.Runtime.Internal;
namespace Amazon.Transfer.Model
{
///
/// Container for the parameters to the TestIdentityProvider operation.
/// If the IdentityProviderType
of a file transfer protocol-enabled server
/// is AWS_DIRECTORY_SERVICE
or API_Gateway
, tests whether your
/// identity provider is set up successfully. We highly recommend that you call this operation
/// to test your authentication method as soon as you create your server. By doing so,
/// you can troubleshoot issues with the identity provider integration to ensure that
/// your users can successfully use the service.
///
///
///
/// The ServerId
and UserName
parameters are required. The
/// ServerProtocol
, SourceIp
, and UserPassword
/// are all optional.
///
///
///
/// Note the following:
///
/// -
///
/// You cannot use
TestIdentityProvider
if the IdentityProviderType
/// of your server is SERVICE_MANAGED
.
///
/// -
///
///
TestIdentityProvider
does not work with keys: it only accepts passwords.
///
/// -
///
///
TestIdentityProvider
can test the password operation for a custom Identity
/// Provider that handles keys and passwords.
///
/// -
///
/// If you provide any incorrect values for any parameters, the
Response
/// field is empty.
///
/// -
///
/// If you provide a server ID for a server that uses service-managed users, you get
/// an error:
///
///
///
///
An error occurred (InvalidRequestException) when calling the TestIdentityProvider
/// operation: s-server-ID not configured for external auth
///
/// -
///
/// If you enter a Server ID for the
--server-id
parameter that does not
/// identify an actual Transfer server, you receive the following error:
///
///
///
/// An error occurred (ResourceNotFoundException) when calling the TestIdentityProvider
/// operation: Unknown server
.
///
///
///
/// It is possible your sever is in a different region. You can specify a region by adding
/// the following: --region region-code
, such as --region us-east-2
/// to specify a server in US East (Ohio).
///
///
///
public partial class TestIdentityProviderRequest : AmazonTransferRequest
{
private string _serverId;
private Protocol _serverProtocol;
private string _sourceIp;
private string _userName;
private string _userPassword;
///
/// Gets and sets the property ServerId.
///
/// A system-assigned identifier for a specific server. That server's user authentication
/// method is tested with a user name and password.
///
///
[AWSProperty(Required=true, Min=19, Max=19)]
public string ServerId
{
get { return this._serverId; }
set { this._serverId = value; }
}
// Check to see if ServerId property is set
internal bool IsSetServerId()
{
return this._serverId != null;
}
///
/// Gets and sets the property ServerProtocol.
///
/// The type of file transfer protocol to be tested.
///
///
///
/// The available protocols are:
///
/// -
///
/// Secure Shell (SSH) File Transfer Protocol (SFTP)
///
///
-
///
/// File Transfer Protocol Secure (FTPS)
///
///
-
///
/// File Transfer Protocol (FTP)
///
///
-
///
/// Applicability Statement 2 (AS2)
///
///
///
public Protocol ServerProtocol
{
get { return this._serverProtocol; }
set { this._serverProtocol = value; }
}
// Check to see if ServerProtocol property is set
internal bool IsSetServerProtocol()
{
return this._serverProtocol != null;
}
///
/// Gets and sets the property SourceIp.
///
/// The source IP address of the account to be tested.
///
///
[AWSProperty(Max=32)]
public string SourceIp
{
get { return this._sourceIp; }
set { this._sourceIp = value; }
}
// Check to see if SourceIp property is set
internal bool IsSetSourceIp()
{
return this._sourceIp != null;
}
///
/// Gets and sets the property UserName.
///
/// The name of the account to be tested.
///
///
[AWSProperty(Required=true, Min=3, Max=100)]
public string UserName
{
get { return this._userName; }
set { this._userName = value; }
}
// Check to see if UserName property is set
internal bool IsSetUserName()
{
return this._userName != null;
}
///
/// Gets and sets the property UserPassword.
///
/// The password of the account to be tested.
///
///
[AWSProperty(Sensitive=true, Max=1024)]
public string UserPassword
{
get { return this._userPassword; }
set { this._userPassword = value; }
}
// Check to see if UserPassword property is set
internal bool IsSetUserPassword()
{
return this._userPassword != null;
}
}
}