/* * 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 apprunner-2020-05-15.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.AppRunner.Model { /// /// Describes an App Runner automatic scaling configuration resource. /// /// /// /// A higher MinSize increases the spread of your App Runner service over /// more Availability Zones in the Amazon Web Services Region. The tradeoff is a higher /// minimal cost. /// /// /// /// A lower MaxSize controls your cost. The tradeoff is lower responsiveness /// during peak demand. /// /// /// /// Multiple revisions of a configuration might have the same AutoScalingConfigurationName /// and different AutoScalingConfigurationRevision values. /// /// public partial class AutoScalingConfiguration { private string _autoScalingConfigurationArn; private string _autoScalingConfigurationName; private int? _autoScalingConfigurationRevision; private DateTime? _createdAt; private DateTime? _deletedAt; private bool? _latest; private int? _maxConcurrency; private int? _maxSize; private int? _minSize; private AutoScalingConfigurationStatus _status; /// /// Gets and sets the property AutoScalingConfigurationArn. /// /// The Amazon Resource Name (ARN) of this auto scaling configuration. /// /// [AWSProperty(Min=1, Max=1011)] public string AutoScalingConfigurationArn { get { return this._autoScalingConfigurationArn; } set { this._autoScalingConfigurationArn = value; } } // Check to see if AutoScalingConfigurationArn property is set internal bool IsSetAutoScalingConfigurationArn() { return this._autoScalingConfigurationArn != null; } /// /// Gets and sets the property AutoScalingConfigurationName. /// /// The customer-provided auto scaling configuration name. It can be used in multiple /// revisions of a configuration. /// /// [AWSProperty(Min=4, Max=32)] public string AutoScalingConfigurationName { get { return this._autoScalingConfigurationName; } set { this._autoScalingConfigurationName = value; } } // Check to see if AutoScalingConfigurationName property is set internal bool IsSetAutoScalingConfigurationName() { return this._autoScalingConfigurationName != null; } /// /// Gets and sets the property AutoScalingConfigurationRevision. /// /// The revision of this auto scaling configuration. It's unique among all the active /// configurations ("Status": "ACTIVE") that share the same AutoScalingConfigurationName. /// /// public int AutoScalingConfigurationRevision { get { return this._autoScalingConfigurationRevision.GetValueOrDefault(); } set { this._autoScalingConfigurationRevision = value; } } // Check to see if AutoScalingConfigurationRevision property is set internal bool IsSetAutoScalingConfigurationRevision() { return this._autoScalingConfigurationRevision.HasValue; } /// /// Gets and sets the property CreatedAt. /// /// The time when the auto scaling configuration was created. It's in Unix time stamp /// format. /// /// public DateTime CreatedAt { get { return this._createdAt.GetValueOrDefault(); } set { this._createdAt = value; } } // Check to see if CreatedAt property is set internal bool IsSetCreatedAt() { return this._createdAt.HasValue; } /// /// Gets and sets the property DeletedAt. /// /// The time when the auto scaling configuration was deleted. It's in Unix time stamp /// format. /// /// public DateTime DeletedAt { get { return this._deletedAt.GetValueOrDefault(); } set { this._deletedAt = value; } } // Check to see if DeletedAt property is set internal bool IsSetDeletedAt() { return this._deletedAt.HasValue; } /// /// Gets and sets the property Latest. /// /// It's set to true for the configuration with the highest Revision /// among all configurations that share the same AutoScalingConfigurationName. /// It's set to false otherwise. /// /// public bool Latest { get { return this._latest.GetValueOrDefault(); } set { this._latest = value; } } // Check to see if Latest property is set internal bool IsSetLatest() { return this._latest.HasValue; } /// /// Gets and sets the property MaxConcurrency. /// /// The maximum number of concurrent requests that an instance processes. If the number /// of concurrent requests exceeds this limit, App Runner scales the service up. /// /// public int MaxConcurrency { get { return this._maxConcurrency.GetValueOrDefault(); } set { this._maxConcurrency = value; } } // Check to see if MaxConcurrency property is set internal bool IsSetMaxConcurrency() { return this._maxConcurrency.HasValue; } /// /// Gets and sets the property MaxSize. /// /// The maximum number of instances that a service scales up to. At most MaxSize /// instances actively serve traffic for your service. /// /// public int MaxSize { get { return this._maxSize.GetValueOrDefault(); } set { this._maxSize = value; } } // Check to see if MaxSize property is set internal bool IsSetMaxSize() { return this._maxSize.HasValue; } /// /// Gets and sets the property MinSize. /// /// The minimum number of instances that App Runner provisions for a service. The service /// always has at least MinSize provisioned instances. Some of them actively /// serve traffic. The rest of them (provisioned and inactive instances) are a cost-effective /// compute capacity reserve and are ready to be quickly activated. You pay for memory /// usage of all the provisioned instances. You pay for CPU usage of only the active subset. /// /// /// /// App Runner temporarily doubles the number of provisioned instances during deployments, /// to maintain the same capacity for both old and new code. /// /// public int MinSize { get { return this._minSize.GetValueOrDefault(); } set { this._minSize = value; } } // Check to see if MinSize property is set internal bool IsSetMinSize() { return this._minSize.HasValue; } /// /// Gets and sets the property Status. /// /// The current state of the auto scaling configuration. If the status of a configuration /// revision is INACTIVE, it was deleted and can't be used. Inactive configuration /// revisions are permanently removed some time after they are deleted. /// /// public AutoScalingConfigurationStatus Status { get { return this._status; } set { this._status = value; } } // Check to see if Status property is set internal bool IsSetStatus() { return this._status != null; } } }