/*
* 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 iot-2015-05-28.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.IoT.Model
{
///
/// Container for the parameters to the RegisterCACertificate operation.
/// Registers a CA certificate with Amazon Web Services IoT Core. There is no limit to
/// the number of CA certificates you can register in your Amazon Web Services account.
/// You can register up to 10 CA certificates with the same CA subject field
/// per Amazon Web Services account.
///
///
///
/// Requires permission to access the RegisterCACertificate
/// action.
///
///
public partial class RegisterCACertificateRequest : AmazonIoTRequest
{
private bool? _allowAutoRegistration;
private string _caCertificate;
private CertificateMode _certificateMode;
private RegistrationConfig _registrationConfig;
private bool? _setAsActive;
private List _tags = new List();
private string _verificationCertificate;
///
/// Gets and sets the property AllowAutoRegistration.
///
/// Allows this CA certificate to be used for auto registration of device certificates.
///
///
public bool AllowAutoRegistration
{
get { return this._allowAutoRegistration.GetValueOrDefault(); }
set { this._allowAutoRegistration = value; }
}
// Check to see if AllowAutoRegistration property is set
internal bool IsSetAllowAutoRegistration()
{
return this._allowAutoRegistration.HasValue;
}
///
/// Gets and sets the property CaCertificate.
///
/// The CA certificate.
///
///
[AWSProperty(Required=true, Min=1, Max=65536)]
public string CaCertificate
{
get { return this._caCertificate; }
set { this._caCertificate = value; }
}
// Check to see if CaCertificate property is set
internal bool IsSetCaCertificate()
{
return this._caCertificate != null;
}
///
/// Gets and sets the property CertificateMode.
///
/// Describes the certificate mode in which the Certificate Authority (CA) will be registered.
/// If the verificationCertificate field is not provided, set certificateMode
/// to be SNI_ONLY. If the verificationCertificate field is
/// provided, set certificateMode to be DEFAULT. When certificateMode
/// is not provided, it defaults to DEFAULT. All the device certificates
/// that are registered using this CA will be registered in the same certificate mode
/// as the CA. For more information about certificate mode for device certificates, see
///
/// certificate mode.
///
///
public CertificateMode CertificateMode
{
get { return this._certificateMode; }
set { this._certificateMode = value; }
}
// Check to see if CertificateMode property is set
internal bool IsSetCertificateMode()
{
return this._certificateMode != null;
}
///
/// Gets and sets the property RegistrationConfig.
///
/// Information about the registration configuration.
///
///
public RegistrationConfig RegistrationConfig
{
get { return this._registrationConfig; }
set { this._registrationConfig = value; }
}
// Check to see if RegistrationConfig property is set
internal bool IsSetRegistrationConfig()
{
return this._registrationConfig != null;
}
///
/// Gets and sets the property SetAsActive.
///
/// A boolean value that specifies if the CA certificate is set to active.
///
///
///
/// Valid values: ACTIVE | INACTIVE
///
///
public bool SetAsActive
{
get { return this._setAsActive.GetValueOrDefault(); }
set { this._setAsActive = value; }
}
// Check to see if SetAsActive property is set
internal bool IsSetSetAsActive()
{
return this._setAsActive.HasValue;
}
///
/// Gets and sets the property Tags.
///
/// Metadata which can be used to manage the CA certificate.
///
///
///
/// For URI Request parameters use format: ...key1=value1&key2=value2...
///
///
///
/// For the CLI command-line parameter use format: &&tags "key1=value1&key2=value2..."
///
///
///
/// For the cli-input-json file use format: "tags": "key1=value1&key2=value2..."
///
///
///
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 VerificationCertificate.
///
/// The private key verification certificate. If certificateMode is SNI_ONLY,
/// the verificationCertificate field must be empty. If certificateMode
/// is DEFAULT or not provided, the verificationCertificate
/// field must not be empty.
///
///
[AWSProperty(Min=1, Max=65536)]
public string VerificationCertificate
{
get { return this._verificationCertificate; }
set { this._verificationCertificate = value; }
}
// Check to see if VerificationCertificate property is set
internal bool IsSetVerificationCertificate()
{
return this._verificationCertificate != null;
}
}
}