/*
* 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 groundstation-2019-05-23.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.GroundStation.Model
{
///
/// Container for the parameters to the CreateMissionProfile operation.
/// Creates a mission profile.
///
///
///
/// dataflowEdges
is a list of lists of strings. Each lower level list of
/// strings has two elements: a from ARN and a to ARN.
///
///
public partial class CreateMissionProfileRequest : AmazonGroundStationRequest
{
private int? _contactPostPassDurationSeconds;
private int? _contactPrePassDurationSeconds;
private List> _dataflowEdges = new List>();
private int? _minimumViableContactDurationSeconds;
private string _name;
private KmsKey _streamsKmsKey;
private string _streamsKmsRole;
private Dictionary _tags = new Dictionary();
private string _trackingConfigArn;
///
/// Gets and sets the property ContactPostPassDurationSeconds.
///
/// Amount of time after a contact ends that you’d like to receive a CloudWatch event
/// indicating the pass has finished.
///
///
[AWSProperty(Min=0, Max=21600)]
public int ContactPostPassDurationSeconds
{
get { return this._contactPostPassDurationSeconds.GetValueOrDefault(); }
set { this._contactPostPassDurationSeconds = value; }
}
// Check to see if ContactPostPassDurationSeconds property is set
internal bool IsSetContactPostPassDurationSeconds()
{
return this._contactPostPassDurationSeconds.HasValue;
}
///
/// Gets and sets the property ContactPrePassDurationSeconds.
///
/// Amount of time prior to contact start you’d like to receive a CloudWatch event indicating
/// an upcoming pass.
///
///
[AWSProperty(Min=0, Max=21600)]
public int ContactPrePassDurationSeconds
{
get { return this._contactPrePassDurationSeconds.GetValueOrDefault(); }
set { this._contactPrePassDurationSeconds = value; }
}
// Check to see if ContactPrePassDurationSeconds property is set
internal bool IsSetContactPrePassDurationSeconds()
{
return this._contactPrePassDurationSeconds.HasValue;
}
///
/// Gets and sets the property DataflowEdges.
///
/// A list of lists of ARNs. Each list of ARNs is an edge, with a from Config
/// and a to Config
.
///
///
[AWSProperty(Required=true, Min=0, Max=500)]
public List> DataflowEdges
{
get { return this._dataflowEdges; }
set { this._dataflowEdges = value; }
}
// Check to see if DataflowEdges property is set
internal bool IsSetDataflowEdges()
{
return this._dataflowEdges != null && this._dataflowEdges.Count > 0;
}
///
/// Gets and sets the property MinimumViableContactDurationSeconds.
///
/// Smallest amount of time in seconds that you’d like to see for an available contact.
/// AWS Ground Station will not present you with contacts shorter than this duration.
///
///
[AWSProperty(Required=true, Min=1, Max=21600)]
public int MinimumViableContactDurationSeconds
{
get { return this._minimumViableContactDurationSeconds.GetValueOrDefault(); }
set { this._minimumViableContactDurationSeconds = value; }
}
// Check to see if MinimumViableContactDurationSeconds property is set
internal bool IsSetMinimumViableContactDurationSeconds()
{
return this._minimumViableContactDurationSeconds.HasValue;
}
///
/// Gets and sets the property Name.
///
/// Name of a mission profile.
///
///
[AWSProperty(Required=true, Min=1, Max=256)]
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 StreamsKmsKey.
///
/// KMS key to use for encrypting streams.
///
///
public KmsKey StreamsKmsKey
{
get { return this._streamsKmsKey; }
set { this._streamsKmsKey = value; }
}
// Check to see if StreamsKmsKey property is set
internal bool IsSetStreamsKmsKey()
{
return this._streamsKmsKey != null;
}
///
/// Gets and sets the property StreamsKmsRole.
///
/// Role to use for encrypting streams with KMS key.
///
///
public string StreamsKmsRole
{
get { return this._streamsKmsRole; }
set { this._streamsKmsRole = value; }
}
// Check to see if StreamsKmsRole property is set
internal bool IsSetStreamsKmsRole()
{
return this._streamsKmsRole != null;
}
///
/// Gets and sets the property Tags.
///
/// Tags assigned to a mission profile.
///
///
public Dictionary 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 TrackingConfigArn.
///
/// ARN of a tracking Config
.
///
///
[AWSProperty(Required=true)]
public string TrackingConfigArn
{
get { return this._trackingConfigArn; }
set { this._trackingConfigArn = value; }
}
// Check to see if TrackingConfigArn property is set
internal bool IsSetTrackingConfigArn()
{
return this._trackingConfigArn != null;
}
}
}