/*
* 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 comprehend-2017-11-27.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.Comprehend.Model
{
///
/// Container for the parameters to the StartTopicsDetectionJob operation.
/// Starts an asynchronous topic detection job. Use the DescribeTopicDetectionJob
/// operation to track the status of a job.
///
public partial class StartTopicsDetectionJobRequest : AmazonComprehendRequest
{
private string _clientRequestToken;
private string _dataAccessRoleArn;
private InputDataConfig _inputDataConfig;
private string _jobName;
private int? _numberOfTopics;
private OutputDataConfig _outputDataConfig;
private List _tags = new List();
private string _volumeKmsKeyId;
private VpcConfig _vpcConfig;
///
/// Gets and sets the property ClientRequestToken.
///
/// A unique identifier for the request. If you do not set the client request token, Amazon
/// Comprehend generates one.
///
///
[AWSProperty(Min=1, Max=64)]
public string ClientRequestToken
{
get { return this._clientRequestToken; }
set { this._clientRequestToken = value; }
}
// Check to see if ClientRequestToken property is set
internal bool IsSetClientRequestToken()
{
return this._clientRequestToken != null;
}
///
/// Gets and sets the property DataAccessRoleArn.
///
/// The Amazon Resource Name (ARN) of the IAM role that grants Amazon Comprehend read
/// access to your input data. For more information, see Role-based
/// permissions.
///
///
[AWSProperty(Required=true, Min=20, Max=2048)]
public string DataAccessRoleArn
{
get { return this._dataAccessRoleArn; }
set { this._dataAccessRoleArn = value; }
}
// Check to see if DataAccessRoleArn property is set
internal bool IsSetDataAccessRoleArn()
{
return this._dataAccessRoleArn != null;
}
///
/// Gets and sets the property InputDataConfig.
///
/// Specifies the format and location of the input data for the job.
///
///
[AWSProperty(Required=true)]
public InputDataConfig InputDataConfig
{
get { return this._inputDataConfig; }
set { this._inputDataConfig = value; }
}
// Check to see if InputDataConfig property is set
internal bool IsSetInputDataConfig()
{
return this._inputDataConfig != null;
}
///
/// Gets and sets the property JobName.
///
/// The identifier of the job.
///
///
[AWSProperty(Min=1, Max=256)]
public string JobName
{
get { return this._jobName; }
set { this._jobName = value; }
}
// Check to see if JobName property is set
internal bool IsSetJobName()
{
return this._jobName != null;
}
///
/// Gets and sets the property NumberOfTopics.
///
/// The number of topics to detect.
///
///
[AWSProperty(Min=1, Max=100)]
public int NumberOfTopics
{
get { return this._numberOfTopics.GetValueOrDefault(); }
set { this._numberOfTopics = value; }
}
// Check to see if NumberOfTopics property is set
internal bool IsSetNumberOfTopics()
{
return this._numberOfTopics.HasValue;
}
///
/// Gets and sets the property OutputDataConfig.
///
/// Specifies where to send the output files. The output is a compressed archive with
/// two files, topic-terms.csv
that lists the terms associated with each
/// topic, and doc-topics.csv
that lists the documents associated with each
/// topic
///
///
[AWSProperty(Required=true)]
public OutputDataConfig OutputDataConfig
{
get { return this._outputDataConfig; }
set { this._outputDataConfig = value; }
}
// Check to see if OutputDataConfig property is set
internal bool IsSetOutputDataConfig()
{
return this._outputDataConfig != null;
}
///
/// Gets and sets the property Tags.
///
/// Tags to associate with the topics detection job. A tag is a key-value pair that adds
/// metadata to a resource used by Amazon Comprehend. For example, a tag with "Sales"
/// as the key might be added to a resource to indicate its use by the sales department.
///
///
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 VolumeKmsKeyId.
///
/// ID for the Amazon Web Services Key Management Service (KMS) key that Amazon Comprehend
/// uses to encrypt data on the storage volume attached to the ML compute instance(s)
/// that process the analysis job. The VolumeKmsKeyId can be either of the following formats:
///
/// -
///
/// KMS Key ID:
"1234abcd-12ab-34cd-56ef-1234567890ab"
///
/// -
///
/// Amazon Resource Name (ARN) of a KMS Key:
"arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab"
///
///
///
///
[AWSProperty(Max=2048)]
public string VolumeKmsKeyId
{
get { return this._volumeKmsKeyId; }
set { this._volumeKmsKeyId = value; }
}
// Check to see if VolumeKmsKeyId property is set
internal bool IsSetVolumeKmsKeyId()
{
return this._volumeKmsKeyId != null;
}
///
/// Gets and sets the property VpcConfig.
///
/// Configuration parameters for an optional private Virtual Private Cloud (VPC) containing
/// the resources you are using for your topic detection job. For more information, see
/// Amazon
/// VPC.
///
///
public VpcConfig VpcConfig
{
get { return this._vpcConfig; }
set { this._vpcConfig = value; }
}
// Check to see if VpcConfig property is set
internal bool IsSetVpcConfig()
{
return this._vpcConfig != null;
}
}
}