/*
* 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 opsworks-2013-02-18.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.OpsWorks.Model
{
///
/// Container for the parameters to the UpdateInstance operation.
/// Updates a specified instance.
///
///
///
/// Required Permissions: To use this action, an IAM user must have a Manage permissions
/// level for the stack, or an attached policy that explicitly grants permissions. For
/// more information on user permissions, see Managing
/// User Permissions.
///
///
public partial class UpdateInstanceRequest : AmazonOpsWorksRequest
{
private string _agentVersion;
private string _amiId;
private Architecture _architecture;
private AutoScalingType _autoScalingType;
private bool? _ebsOptimized;
private string _hostname;
private bool? _installUpdatesOnBoot;
private string _instanceId;
private string _instanceType;
private List _layerIds = new List();
private string _os;
private string _sshKeyName;
///
/// Gets and sets the property AgentVersion.
///
/// The default AWS OpsWorks Stacks agent version. You have the following options:
///
/// -
///
///
INHERIT
- Use the stack's default agent version setting.
///
/// -
///
/// version_number - Use the specified agent version. This value overrides the
/// stack's default setting. To update the agent version, you must edit the instance configuration
/// and specify a new version. AWS OpsWorks Stacks then automatically installs that version
/// on the instance.
///
///
///
/// The default setting is INHERIT
. To specify an agent version, you must
/// use the complete version number, not the abbreviated number shown on the console.
/// For a list of available agent version numbers, call DescribeAgentVersions.
///
///
///
/// AgentVersion cannot be set to Chef 12.2.
///
///
public string AgentVersion
{
get { return this._agentVersion; }
set { this._agentVersion = value; }
}
// Check to see if AgentVersion property is set
internal bool IsSetAgentVersion()
{
return this._agentVersion != null;
}
///
/// Gets and sets the property AmiId.
///
/// The ID of the AMI that was used to create the instance. The value of this parameter
/// must be the same AMI ID that the instance is already using. You cannot apply a new
/// AMI to an instance by running UpdateInstance. UpdateInstance does not work on instances
/// that are using custom AMIs.
///
///
public string AmiId
{
get { return this._amiId; }
set { this._amiId = value; }
}
// Check to see if AmiId property is set
internal bool IsSetAmiId()
{
return this._amiId != null;
}
///
/// Gets and sets the property Architecture.
///
/// The instance architecture. Instance types do not necessarily support both architectures.
/// For a list of the architectures that are supported by the different instance types,
/// see Instance
/// Families and Types.
///
///
public Architecture Architecture
{
get { return this._architecture; }
set { this._architecture = value; }
}
// Check to see if Architecture property is set
internal bool IsSetArchitecture()
{
return this._architecture != null;
}
///
/// Gets and sets the property AutoScalingType.
///
/// For load-based or time-based instances, the type. Windows stacks can use only time-based
/// instances.
///
///
public AutoScalingType AutoScalingType
{
get { return this._autoScalingType; }
set { this._autoScalingType = value; }
}
// Check to see if AutoScalingType property is set
internal bool IsSetAutoScalingType()
{
return this._autoScalingType != null;
}
///
/// Gets and sets the property EbsOptimized.
///
/// This property cannot be updated.
///
///
public bool EbsOptimized
{
get { return this._ebsOptimized.GetValueOrDefault(); }
set { this._ebsOptimized = value; }
}
// Check to see if EbsOptimized property is set
internal bool IsSetEbsOptimized()
{
return this._ebsOptimized.HasValue;
}
///
/// Gets and sets the property Hostname.
///
/// The instance host name.
///
///
public string Hostname
{
get { return this._hostname; }
set { this._hostname = value; }
}
// Check to see if Hostname property is set
internal bool IsSetHostname()
{
return this._hostname != null;
}
///
/// Gets and sets the property InstallUpdatesOnBoot.
///
/// Whether to install operating system and package updates when the instance boots. The
/// default value is true
. To control when updates are installed, set this
/// value to false
. You must then update your instances manually by using
/// CreateDeployment to run the update_dependencies
stack command
/// or by manually running yum
(Amazon Linux) or apt-get
(Ubuntu)
/// on the instances.
///
///
///
/// We strongly recommend using the default value of true
, to ensure that
/// your instances have the latest security updates.
///
///
///
public bool InstallUpdatesOnBoot
{
get { return this._installUpdatesOnBoot.GetValueOrDefault(); }
set { this._installUpdatesOnBoot = value; }
}
// Check to see if InstallUpdatesOnBoot property is set
internal bool IsSetInstallUpdatesOnBoot()
{
return this._installUpdatesOnBoot.HasValue;
}
///
/// Gets and sets the property InstanceId.
///
/// The instance ID.
///
///
[AWSProperty(Required=true)]
public string InstanceId
{
get { return this._instanceId; }
set { this._instanceId = value; }
}
// Check to see if InstanceId property is set
internal bool IsSetInstanceId()
{
return this._instanceId != null;
}
///
/// Gets and sets the property InstanceType.
///
/// The instance type, such as t2.micro
. For a list of supported instance
/// types, open the stack in the console, choose Instances, and choose + Instance.
/// The Size list contains the currently supported types. For more information,
/// see Instance
/// Families and Types. The parameter values that you use to specify the various types
/// are in the API Name column of the Available Instance Types table.
///
///
public string InstanceType
{
get { return this._instanceType; }
set { this._instanceType = value; }
}
// Check to see if InstanceType property is set
internal bool IsSetInstanceType()
{
return this._instanceType != null;
}
///
/// Gets and sets the property LayerIds.
///
/// The instance's layer IDs.
///
///
public List LayerIds
{
get { return this._layerIds; }
set { this._layerIds = value; }
}
// Check to see if LayerIds property is set
internal bool IsSetLayerIds()
{
return this._layerIds != null && this._layerIds.Count > 0;
}
///
/// Gets and sets the property Os.
///
/// The instance's operating system, which must be set to one of the following. You cannot
/// update an instance that is using a custom AMI.
///
/// -
///
/// A supported Linux operating system: An Amazon Linux version, such as
Amazon
/// Linux 2018.03
, Amazon Linux 2017.09
, Amazon Linux 2017.03
,
/// Amazon Linux 2016.09
, Amazon Linux 2016.03
, Amazon
/// Linux 2015.09
, or Amazon Linux 2015.03
.
///
/// -
///
/// A supported Ubuntu operating system, such as
Ubuntu 16.04 LTS
, Ubuntu
/// 14.04 LTS
, or Ubuntu 12.04 LTS
.
///
/// -
///
///
CentOS Linux 7
///
/// -
///
///
Red Hat Enterprise Linux 7
///
/// -
///
/// A supported Windows operating system, such as
Microsoft Windows Server 2012
/// R2 Base
, Microsoft Windows Server 2012 R2 with SQL Server Express
,
/// Microsoft Windows Server 2012 R2 with SQL Server Standard
, or Microsoft
/// Windows Server 2012 R2 with SQL Server Web
.
///
///
///
/// For more information about supported operating systems, see AWS
/// OpsWorks Stacks Operating Systems.
///
///
///
/// The default option is the current Amazon Linux version. If you set this parameter
/// to Custom
, you must use the AmiId parameter to specify the custom AMI
/// that you want to use. For more information about supported operating systems, see
/// Operating
/// Systems. For more information about how to use custom AMIs with OpsWorks, see
/// Using
/// Custom AMIs.
///
///
///
/// You can specify a different Linux operating system for the updated stack, but you
/// cannot change from Linux to Windows or Windows to Linux.
///
///
///
public string Os
{
get { return this._os; }
set { this._os = value; }
}
// Check to see if Os property is set
internal bool IsSetOs()
{
return this._os != null;
}
///
/// Gets and sets the property SshKeyName.
///
/// The instance's Amazon EC2 key name.
///
///
public string SshKeyName
{
get { return this._sshKeyName; }
set { this._sshKeyName = value; }
}
// Check to see if SshKeyName property is set
internal bool IsSetSshKeyName()
{
return this._sshKeyName != null;
}
}
}