/*
* 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 quicksight-2018-04-01.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.QuickSight.Model
{
///
/// The structure of a data source.
///
public partial class DataSource
{
private List _alternateDataSourceParameters = new List();
private string _arn;
private DateTime? _createdTime;
private string _dataSourceId;
private DataSourceParameters _dataSourceParameters;
private DataSourceErrorInfo _errorInfo;
private DateTime? _lastUpdatedTime;
private string _name;
private string _secretArn;
private SslProperties _sslProperties;
private ResourceStatus _status;
private DataSourceType _type;
private VpcConnectionProperties _vpcConnectionProperties;
///
/// Gets and sets the property AlternateDataSourceParameters.
///
/// A set of alternate data source parameters that you want to share for the credentials
/// stored with this data source. The credentials are applied in tandem with the data
/// source parameters when you copy a data source by using a create or update request.
/// The API operation compares the DataSourceParameters
structure that's
/// in the request with the structures in the AlternateDataSourceParameters
/// allow list. If the structures are an exact match, the request is allowed to use the
/// credentials from this existing data source. If the AlternateDataSourceParameters
/// list is null, the Credentials
originally used with this DataSourceParameters
/// are automatically allowed.
///
///
[AWSProperty(Min=1, Max=50)]
public List AlternateDataSourceParameters
{
get { return this._alternateDataSourceParameters; }
set { this._alternateDataSourceParameters = value; }
}
// Check to see if AlternateDataSourceParameters property is set
internal bool IsSetAlternateDataSourceParameters()
{
return this._alternateDataSourceParameters != null && this._alternateDataSourceParameters.Count > 0;
}
///
/// Gets and sets the property Arn.
///
/// The Amazon Resource Name (ARN) of the data source.
///
///
public string Arn
{
get { return this._arn; }
set { this._arn = value; }
}
// Check to see if Arn property is set
internal bool IsSetArn()
{
return this._arn != null;
}
///
/// Gets and sets the property CreatedTime.
///
/// The time that this data source was created.
///
///
public DateTime CreatedTime
{
get { return this._createdTime.GetValueOrDefault(); }
set { this._createdTime = value; }
}
// Check to see if CreatedTime property is set
internal bool IsSetCreatedTime()
{
return this._createdTime.HasValue;
}
///
/// Gets and sets the property DataSourceId.
///
/// The ID of the data source. This ID is unique per Amazon Web Services Region for each
/// Amazon Web Services account.
///
///
public string DataSourceId
{
get { return this._dataSourceId; }
set { this._dataSourceId = value; }
}
// Check to see if DataSourceId property is set
internal bool IsSetDataSourceId()
{
return this._dataSourceId != null;
}
///
/// Gets and sets the property DataSourceParameters.
///
/// The parameters that Amazon QuickSight uses to connect to your underlying source. This
/// is a variant type structure. For this structure to be valid, only one of the attributes
/// can be non-null.
///
///
public DataSourceParameters DataSourceParameters
{
get { return this._dataSourceParameters; }
set { this._dataSourceParameters = value; }
}
// Check to see if DataSourceParameters property is set
internal bool IsSetDataSourceParameters()
{
return this._dataSourceParameters != null;
}
///
/// Gets and sets the property ErrorInfo.
///
/// Error information from the last update or the creation of the data source.
///
///
public DataSourceErrorInfo ErrorInfo
{
get { return this._errorInfo; }
set { this._errorInfo = value; }
}
// Check to see if ErrorInfo property is set
internal bool IsSetErrorInfo()
{
return this._errorInfo != null;
}
///
/// Gets and sets the property LastUpdatedTime.
///
/// The last time that this data source was updated.
///
///
public DateTime LastUpdatedTime
{
get { return this._lastUpdatedTime.GetValueOrDefault(); }
set { this._lastUpdatedTime = value; }
}
// Check to see if LastUpdatedTime property is set
internal bool IsSetLastUpdatedTime()
{
return this._lastUpdatedTime.HasValue;
}
///
/// Gets and sets the property Name.
///
/// A display name for the data source.
///
///
[AWSProperty(Min=1, Max=128)]
public string Name
{
get { return this._name; }
set { this._name = value; }
}
// Check to see if Name property is set
internal bool IsSetName()
{
return this._name != null;
}
///
/// Gets and sets the property SecretArn.
///
/// The Amazon Resource Name (ARN) of the secret associated with the data source in Amazon
/// Secrets Manager.
///
///
[AWSProperty(Min=1, Max=2048)]
public string SecretArn
{
get { return this._secretArn; }
set { this._secretArn = value; }
}
// Check to see if SecretArn property is set
internal bool IsSetSecretArn()
{
return this._secretArn != null;
}
///
/// Gets and sets the property SslProperties.
///
/// Secure Socket Layer (SSL) properties that apply when Amazon QuickSight connects to
/// your underlying source.
///
///
public SslProperties SslProperties
{
get { return this._sslProperties; }
set { this._sslProperties = value; }
}
// Check to see if SslProperties property is set
internal bool IsSetSslProperties()
{
return this._sslProperties != null;
}
///
/// Gets and sets the property Status.
///
/// The HTTP status of the request.
///
///
public ResourceStatus Status
{
get { return this._status; }
set { this._status = value; }
}
// Check to see if Status property is set
internal bool IsSetStatus()
{
return this._status != null;
}
///
/// Gets and sets the property Type.
///
/// The type of the data source. This type indicates which database engine the data source
/// connects to.
///
///
public DataSourceType Type
{
get { return this._type; }
set { this._type = value; }
}
// Check to see if Type property is set
internal bool IsSetType()
{
return this._type != null;
}
///
/// Gets and sets the property VpcConnectionProperties.
///
/// The VPC connection information. You need to use this parameter only when you want
/// Amazon QuickSight to use a VPC connection when connecting to your underlying source.
///
///
public VpcConnectionProperties VpcConnectionProperties
{
get { return this._vpcConnectionProperties; }
set { this._vpcConnectionProperties = value; }
}
// Check to see if VpcConnectionProperties property is set
internal bool IsSetVpcConnectionProperties()
{
return this._vpcConnectionProperties != null;
}
}
}