/*
 * 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 lambda-2015-03-31.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.Lambda.Model
{
    /// 
    /// Container for the parameters to the ListVersionsByFunction operation.
    /// Returns a list of versions,
    /// with the version-specific configuration of each. Lambda returns up to 50 versions
    /// per call.
    /// 
    public partial class ListVersionsByFunctionRequest : AmazonLambdaRequest
    {
        private string _functionName;
        private string _marker;
        private int? _maxItems;
        /// 
        /// Gets and sets the property FunctionName. 
        /// 
        /// The name of the Lambda function.
        /// 
        ///   Name formats 
        /// 
        ///  
 -  
        /// 
        ///  Function name - MyFunction.
        /// 
        ///
-  
        /// 
        ///  Function ARN - arn:aws:lambda:us-west-2:123456789012:function:MyFunction.
        /// 
        ///
-  
        /// 
        ///  Partial ARN - 123456789012:function:MyFunction.
        /// 
        ///
/// 
        /// The length constraint applies only to the full ARN. If you specify only the function
        /// name, it is limited to 64 characters in length.
        /// 
        /// 
        [AWSProperty(Required=true, Min=1, Max=170)]
        public string FunctionName
        {
            get { return this._functionName; }
            set { this._functionName = value; }
        }
        // Check to see if FunctionName property is set
        internal bool IsSetFunctionName()
        {
            return this._functionName != null;
        }
        /// 
        /// Gets and sets the property Marker. 
        /// 
        /// Specify the pagination token that's returned by a previous request to retrieve the
        /// next page of results.
        /// 
        /// 
        public string Marker
        {
            get { return this._marker; }
            set { this._marker = value; }
        }
        // Check to see if Marker property is set
        internal bool IsSetMarker()
        {
            return this._marker != null;
        }
        /// 
        /// Gets and sets the property MaxItems. 
        /// 
        /// The maximum number of versions to return. Note thatListVersionsByFunction
        /// returns a maximum of 50 items in each response, even if you set the number higher.
        /// 
        /// 
        [AWSProperty(Min=1, Max=10000)]
        public int MaxItems
        {
            get { return this._maxItems.GetValueOrDefault(); }
            set { this._maxItems = value; }
        }
        // Check to see if MaxItems property is set
        internal bool IsSetMaxItems()
        {
            return this._maxItems.HasValue; 
        }
    }
}