/*
* 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 datasync-2018-11-09.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.DataSync.Model
{
///
/// Container for the parameters to the CreateLocationSmb operation.
/// Creates an endpoint for a Server Message Block (SMB) file server that DataSync can
/// use for a data transfer.
///
///
///
/// Before you begin, make sure that you understand how DataSync accesses
/// an SMB file server.
///
///
public partial class CreateLocationSmbRequest : AmazonDataSyncRequest
{
private List _agentArns = new List();
private string _domain;
private SmbMountOptions _mountOptions;
private string _password;
private string _serverHostname;
private string _subdirectory;
private List _tags = new List();
private string _user;
///
/// Gets and sets the property AgentArns.
///
/// Specifies the DataSync agent (or agents) which you want to connect to your SMB file
/// server. You specify an agent by using its Amazon Resource Name (ARN).
///
///
[AWSProperty(Required=true, Min=1, Max=4)]
public List AgentArns
{
get { return this._agentArns; }
set { this._agentArns = value; }
}
// Check to see if AgentArns property is set
internal bool IsSetAgentArns()
{
return this._agentArns != null && this._agentArns.Count > 0;
}
///
/// Gets and sets the property Domain.
///
/// Specifies the Windows domain name that your SMB file server belongs to.
///
///
///
/// For more information, see required
/// permissions for SMB locations.
///
///
[AWSProperty(Max=253)]
public string Domain
{
get { return this._domain; }
set { this._domain = value; }
}
// Check to see if Domain property is set
internal bool IsSetDomain()
{
return this._domain != null;
}
///
/// Gets and sets the property MountOptions.
///
/// Specifies the version of the SMB protocol that DataSync uses to access your SMB file
/// server.
///
///
public SmbMountOptions MountOptions
{
get { return this._mountOptions; }
set { this._mountOptions = value; }
}
// Check to see if MountOptions property is set
internal bool IsSetMountOptions()
{
return this._mountOptions != null;
}
///
/// Gets and sets the property Password.
///
/// Specifies the password of the user who can mount your SMB file server and has permission
/// to access the files and folders involved in your transfer.
///
///
///
/// For more information, see required
/// permissions for SMB locations.
///
///
[AWSProperty(Required=true, Sensitive=true, Max=104)]
public string Password
{
get { return this._password; }
set { this._password = value; }
}
// Check to see if Password property is set
internal bool IsSetPassword()
{
return this._password != null;
}
///
/// Gets and sets the property ServerHostname.
///
/// Specifies the Domain Name Service (DNS) name or IP address of the SMB file server
/// that your DataSync agent will mount.
///
///
///
/// You can't specify an IP version 6 (IPv6) address.
///
///
///
[AWSProperty(Required=true, Max=255)]
public string ServerHostname
{
get { return this._serverHostname; }
set { this._serverHostname = value; }
}
// Check to see if ServerHostname property is set
internal bool IsSetServerHostname()
{
return this._serverHostname != null;
}
///
/// Gets and sets the property Subdirectory.
///
/// Specifies the name of the share exported by your SMB file server where DataSync will
/// read or write data. You can include a subdirectory in the share path (for example,
/// /path/to/subdirectory
). Make sure that other SMB clients in your network
/// can also mount this path.
///
///
///
/// To copy all data in the specified subdirectory, DataSync must be able to mount the
/// SMB share and access all of its data. For more information, see required
/// permissions for SMB locations.
///
///
[AWSProperty(Required=true, Max=4096)]
public string Subdirectory
{
get { return this._subdirectory; }
set { this._subdirectory = value; }
}
// Check to see if Subdirectory property is set
internal bool IsSetSubdirectory()
{
return this._subdirectory != null;
}
///
/// Gets and sets the property Tags.
///
/// Specifies labels that help you categorize, filter, and search for your Amazon Web
/// Services resources. We recommend creating at least a name tag for your location.
///
///
[AWSProperty(Min=0, Max=50)]
public List Tags
{
get { return this._tags; }
set { this._tags = value; }
}
// Check to see if Tags property is set
internal bool IsSetTags()
{
return this._tags != null && this._tags.Count > 0;
}
///
/// Gets and sets the property User.
///
/// Specifies the user name that can mount your SMB file server and has permission to
/// access the files and folders involved in your transfer.
///
///
///
/// For information about choosing a user with the right level of access for your transfer,
/// see required
/// permissions for SMB locations.
///
///
[AWSProperty(Required=true, Max=104)]
public string User
{
get { return this._user; }
set { this._user = value; }
}
// Check to see if User property is set
internal bool IsSetUser()
{
return this._user != null;
}
}
}