/* * 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 iam-2010-05-08.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.IdentityManagement.Model { /// /// Container for the parameters to the UploadServerCertificate operation. /// Uploads a server certificate entity for the Amazon Web Services account. The server /// certificate entity includes a public key certificate, a private key, and an optional /// certificate chain, which should all be PEM-encoded. /// /// /// /// We recommend that you use Certificate Manager /// to provision, manage, and deploy your server certificates. With ACM you can request /// a certificate, deploy it to Amazon Web Services resources, and let ACM handle certificate /// renewals for you. Certificates provided by ACM are free. For more information about /// using ACM, see the Certificate /// Manager User Guide. /// /// /// /// For more information about working with server certificates, see Working /// with server certificates in the IAM User Guide. This topic includes a list /// of Amazon Web Services services that can use the server certificates that you manage /// with IAM. /// /// /// /// For information about the number of server certificates you can upload, see IAM /// and STS quotas in the IAM User Guide. /// /// /// /// Because the body of the public key certificate, private key, and the certificate chain /// can be large, you should use POST rather than GET when calling UploadServerCertificate. /// For information about setting up signatures and authorization through the API, see /// Signing /// Amazon Web Services API requests in the Amazon Web Services General Reference. /// For general information about using the Query API with IAM, see Calling /// the API by making HTTP query requests in the IAM User Guide. /// /// /// public partial class UploadServerCertificateRequest : AmazonIdentityManagementServiceRequest { private string _certificateBody; private string _certificateChain; private string _path; private string _privateKey; private string _serverCertificateName; private List _tags = new List(); /// /// Empty constructor used to set properties independently even when a simple constructor is available /// public UploadServerCertificateRequest() { } /// /// Instantiates UploadServerCertificateRequest with the parameterized properties /// /// The name for the server certificate. Do not include the path in this value. The name of the certificate cannot contain any spaces. This parameter allows (through its regex pattern) a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: _+=,.@- /// The contents of the public key certificate in PEM-encoded format. The regex pattern used to validate this parameter is a string of characters consisting of the following: /// The contents of the private key in PEM-encoded format. The regex pattern used to validate this parameter is a string of characters consisting of the following: public UploadServerCertificateRequest(string serverCertificateName, string certificateBody, string privateKey) { _serverCertificateName = serverCertificateName; _certificateBody = certificateBody; _privateKey = privateKey; } /// /// Gets and sets the property CertificateBody. /// /// The contents of the public key certificate in PEM-encoded format. /// /// /// /// The regex pattern used to validate this /// parameter is a string of characters consisting of the following: /// ///
  • /// /// Any printable ASCII character ranging from the space character (\u0020) /// through the end of the ASCII character range /// ///
  • /// /// The printable characters in the Basic Latin and Latin-1 Supplement character set (through /// \u00FF) /// ///
  • /// /// The special characters tab (\u0009), line feed (\u000A), /// and carriage return (\u000D) /// ///
///
[AWSProperty(Required=true, Min=1, Max=16384)] public string CertificateBody { get { return this._certificateBody; } set { this._certificateBody = value; } } // Check to see if CertificateBody property is set internal bool IsSetCertificateBody() { return this._certificateBody != null; } /// /// Gets and sets the property CertificateChain. /// /// The contents of the certificate chain. This is typically a concatenation of the PEM-encoded /// public key certificates of the chain. /// /// /// /// The regex pattern used to validate this /// parameter is a string of characters consisting of the following: /// ///
  • /// /// Any printable ASCII character ranging from the space character (\u0020) /// through the end of the ASCII character range /// ///
  • /// /// The printable characters in the Basic Latin and Latin-1 Supplement character set (through /// \u00FF) /// ///
  • /// /// The special characters tab (\u0009), line feed (\u000A), /// and carriage return (\u000D) /// ///
///
[AWSProperty(Min=1, Max=2097152)] public string CertificateChain { get { return this._certificateChain; } set { this._certificateChain = value; } } // Check to see if CertificateChain property is set internal bool IsSetCertificateChain() { return this._certificateChain != null; } /// /// Gets and sets the property Path. /// /// The path for the server certificate. For more information about paths, see IAM /// identifiers in the IAM User Guide. /// /// /// /// This parameter is optional. If it is not included, it defaults to a slash (/). This /// parameter allows (through its regex pattern) /// a string of characters consisting of either a forward slash (/) by itself or a string /// that must begin and end with forward slashes. In addition, it can contain any ASCII /// character from the ! (\u0021) through the DEL character (\u007F), /// including most punctuation characters, digits, and upper and lowercased letters. /// /// /// /// If you are uploading a server certificate specifically for use with Amazon CloudFront /// distributions, you must specify a path using the path parameter. The /// path must begin with /cloudfront and must include a trailing slash (for /// example, /cloudfront/test/). /// /// /// [AWSProperty(Min=1, Max=512)] public string Path { get { return this._path; } set { this._path = value; } } // Check to see if Path property is set internal bool IsSetPath() { return this._path != null; } /// /// Gets and sets the property PrivateKey. /// /// The contents of the private key in PEM-encoded format. /// /// /// /// The regex pattern used to validate this /// parameter is a string of characters consisting of the following: /// ///
  • /// /// Any printable ASCII character ranging from the space character (\u0020) /// through the end of the ASCII character range /// ///
  • /// /// The printable characters in the Basic Latin and Latin-1 Supplement character set (through /// \u00FF) /// ///
  • /// /// The special characters tab (\u0009), line feed (\u000A), /// and carriage return (\u000D) /// ///
///
[AWSProperty(Required=true, Sensitive=true, Min=1, Max=16384)] public string PrivateKey { get { return this._privateKey; } set { this._privateKey = value; } } // Check to see if PrivateKey property is set internal bool IsSetPrivateKey() { return this._privateKey != null; } /// /// Gets and sets the property ServerCertificateName. /// /// The name for the server certificate. Do not include the path in this value. The name /// of the certificate cannot contain any spaces. /// /// /// /// This parameter allows (through its regex /// pattern) a string of characters consisting of upper and lowercase alphanumeric /// characters with no spaces. You can also include any of the following characters: _+=,.@- /// /// [AWSProperty(Required=true, Min=1, Max=128)] public string ServerCertificateName { get { return this._serverCertificateName; } set { this._serverCertificateName = value; } } // Check to see if ServerCertificateName property is set internal bool IsSetServerCertificateName() { return this._serverCertificateName != null; } /// /// Gets and sets the property Tags. /// /// A list of tags that you want to attach to the new IAM server certificate resource. /// Each tag consists of a key name and an associated value. For more information about /// tagging, see Tagging /// IAM resources in the IAM User Guide. /// /// /// /// If any one of the tags is invalid or if you exceed the allowed maximum number of tags, /// then the entire request fails and the resource is not created. /// /// /// [AWSProperty(Max=50)] 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; } } }