/*
* 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 cloudhsm-2014-05-30.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.CloudHSM.Model
{
///
/// Container for the parameters to the CreateHsm operation.
/// This is documentation for AWS CloudHSM Classic. For more information, see AWS CloudHSM Classic FAQs,
/// the AWS CloudHSM
/// Classic User Guide, and the AWS
/// CloudHSM Classic API Reference.
///
///
///
/// For information about the current version of AWS CloudHSM, see AWS
/// CloudHSM, the AWS
/// CloudHSM User Guide, and the AWS
/// CloudHSM API Reference.
///
///
///
/// Creates an uninitialized HSM instance.
///
///
///
/// There is an upfront fee charged for each HSM instance that you create with the CreateHsm
/// operation. If you accidentally provision an HSM and want to request a refund, delete
/// the instance using the DeleteHsm operation, go to the AWS
/// Support Center, create a new case, and select Account and Billing Support.
///
///
///
/// It can take up to 20 minutes to create and provision an HSM. You can monitor the status
/// of the HSM with the DescribeHsm operation. The HSM is ready to be initialized
/// when the status changes to RUNNING
.
///
///
///
public partial class CreateHsmRequest : AmazonCloudHSMRequest
{
private string _clientToken;
private string _eniIp;
private string _externalId;
private string _iamRoleArn;
private string _sshKey;
private string _subnetId;
private SubscriptionType _subscriptionType;
private string _syslogIp;
///
/// Gets and sets the property ClientToken.
///
/// A user-defined token to ensure idempotence. Subsequent calls to this operation with
/// the same token will be ignored.
///
///
public string ClientToken
{
get { return this._clientToken; }
set { this._clientToken = value; }
}
// Check to see if ClientToken property is set
internal bool IsSetClientToken()
{
return this._clientToken != null;
}
///
/// Gets and sets the property EniIp.
///
/// The IP address to assign to the HSM's ENI.
///
///
///
/// If an IP address is not specified, an IP address will be randomly chosen from the
/// CIDR range of the subnet.
///
///
public string EniIp
{
get { return this._eniIp; }
set { this._eniIp = value; }
}
// Check to see if EniIp property is set
internal bool IsSetEniIp()
{
return this._eniIp != null;
}
///
/// Gets and sets the property ExternalId.
///
/// The external ID from IamRoleArn
, if present.
///
///
public string ExternalId
{
get { return this._externalId; }
set { this._externalId = value; }
}
// Check to see if ExternalId property is set
internal bool IsSetExternalId()
{
return this._externalId != null;
}
///
/// Gets and sets the property IamRoleArn.
///
/// The ARN of an IAM role to enable the AWS CloudHSM service to allocate an ENI on your
/// behalf.
///
///
[AWSProperty(Required=true)]
public string IamRoleArn
{
get { return this._iamRoleArn; }
set { this._iamRoleArn = value; }
}
// Check to see if IamRoleArn property is set
internal bool IsSetIamRoleArn()
{
return this._iamRoleArn != null;
}
///
/// Gets and sets the property SshKey.
///
/// The SSH public key to install on the HSM.
///
///
[AWSProperty(Required=true)]
public string SshKey
{
get { return this._sshKey; }
set { this._sshKey = value; }
}
// Check to see if SshKey property is set
internal bool IsSetSshKey()
{
return this._sshKey != null;
}
///
/// Gets and sets the property SubnetId.
///
/// The identifier of the subnet in your VPC in which to place the HSM.
///
///
[AWSProperty(Required=true)]
public string SubnetId
{
get { return this._subnetId; }
set { this._subnetId = value; }
}
// Check to see if SubnetId property is set
internal bool IsSetSubnetId()
{
return this._subnetId != null;
}
///
/// Gets and sets the property SubscriptionType.
///
[AWSProperty(Required=true)]
public SubscriptionType SubscriptionType
{
get { return this._subscriptionType; }
set { this._subscriptionType = value; }
}
// Check to see if SubscriptionType property is set
internal bool IsSetSubscriptionType()
{
return this._subscriptionType != null;
}
///
/// Gets and sets the property SyslogIp.
///
/// The IP address for the syslog monitoring server. The AWS CloudHSM service only supports
/// one syslog monitoring server.
///
///
public string SyslogIp
{
get { return this._syslogIp; }
set { this._syslogIp = value; }
}
// Check to see if SyslogIp property is set
internal bool IsSetSyslogIp()
{
return this._syslogIp != null;
}
}
}