// 
// Copyright (c) Microsoft and contributors.  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.
// You may obtain a copy of the License at
//   http://www.apache.org/licenses/LICENSE-2.0
// 
// Unless required by applicable law or agreed to in writing, software
// distributed under the License 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.
// 

// Warning: This code was generated by a tool.
// 
// Changes to this file may cause incorrect behavior and will be lost if the
// code is regenerated.

using System;
using System.Linq;

namespace Microsoft.WindowsAzure.Management.Compute.Models
{
    /// <summary>
    /// Parameters supplied to the Get Service Certificate operation.
    /// </summary>
    public partial class ServiceCertificateGetParameters
    {
        private string _serviceName;
        
        /// <summary>
        /// Required. The DNS prefix name of your service.
        /// </summary>
        public string ServiceName
        {
            get { return this._serviceName; }
            set { this._serviceName = value; }
        }
        
        private string _thumbprint;
        
        /// <summary>
        /// Required. The hexadecimal representation of the thumbprint.
        /// </summary>
        public string Thumbprint
        {
            get { return this._thumbprint; }
            set { this._thumbprint = value; }
        }
        
        private string _thumbprintAlgorithm;
        
        /// <summary>
        /// Required. The algorithm for the certificate's thumbprint.
        /// </summary>
        public string ThumbprintAlgorithm
        {
            get { return this._thumbprintAlgorithm; }
            set { this._thumbprintAlgorithm = value; }
        }
        
        /// <summary>
        /// Initializes a new instance of the ServiceCertificateGetParameters
        /// class.
        /// </summary>
        public ServiceCertificateGetParameters()
        {
        }
        
        /// <summary>
        /// Initializes a new instance of the ServiceCertificateGetParameters
        /// class with required arguments.
        /// </summary>
        public ServiceCertificateGetParameters(string serviceName, string thumbprintAlgorithm, string thumbprint)
            : this()
        {
            if (serviceName == null)
            {
                throw new ArgumentNullException("serviceName");
            }
            if (thumbprintAlgorithm == null)
            {
                throw new ArgumentNullException("thumbprintAlgorithm");
            }
            if (thumbprint == null)
            {
                throw new ArgumentNullException("thumbprint");
            }
            this.ServiceName = serviceName;
            this.ThumbprintAlgorithm = thumbprintAlgorithm;
            this.Thumbprint = thumbprint;
        }
    }
}
