amazonka-opsworks-1.3.7: Amazon OpsWorks SDK.

Copyright(c) 2013-2015 Brendan Hay
LicenseMozilla Public License, v. 2.0.
MaintainerBrendan Hay <brendan.g.hay@gmail.com>
Stabilityauto-generated
Portabilitynon-portable (GHC extensions)
Safe HaskellNone
LanguageHaskell2010

Network.AWS.OpsWorks

Contents

Description

AWS OpsWorks

Welcome to the AWS OpsWorks API Reference. This guide provides descriptions, syntax, and usage examples about AWS OpsWorks actions and data types, including common parameters and error codes.

AWS OpsWorks is an application management service that provides an integrated experience for overseeing the complete application lifecycle. For information about this product, go to the AWS OpsWorks details page.

SDKs and CLI

The most common way to use the AWS OpsWorks API is by using the AWS Command Line Interface (CLI) or by using one of the AWS SDKs to implement applications in your preferred language. For more information, see:

Endpoints

AWS OpsWorks supports only one endpoint, opsworks.us-east-1.amazonaws.com (HTTPS), so you must connect to that endpoint. You can then use the API to direct AWS OpsWorks to create stacks in any AWS Region.

Chef Versions

When you call CreateStack, CloneStack, or UpdateStack we recommend you use the ConfigurationManager parameter to specify the Chef version. The recommended value for Linux stacks, which is also the default value, is currently 11.10. Windows stacks use Chef 12.2. For more information, see Chef Versions.

You can also specify Chef 11.4 or Chef 0.9 for your Linux stack. However, Chef 0.9 has been deprecated. We do not recommend using Chef 0.9 for new stacks, and we recommend migrating your existing Chef 0.9 stacks to Chef 11.10 as soon as possible.

See: AWS API Reference

Synopsis

Service Configuration

opsWorks :: Service Source

API version '2013-02-18' of the Amazon OpsWorks SDK configuration.

Errors

Error matchers are designed for use with the functions provided by Control.Exception.Lens. This allows catching (and rethrowing) service specific errors returned by OpsWorks.

ValidationException

_ValidationException :: AsError a => Getting (First ServiceError) a ServiceError Source

Indicates that a request was invalid.

ResourceNotFoundException

_ResourceNotFoundException :: AsError a => Getting (First ServiceError) a ServiceError Source

Indicates that a resource was not found.

Waiters

Waiters poll by repeatedly sending a request until some remote success condition configured by the Wait specification is fulfilled. The Wait specification determines how many attempts should be made, in addition to delay and retry strategies.

Operations

Some AWS operations return results that are incomplete and require subsequent requests in order to obtain the entire result set. The process of sending subsequent requests to continue where a previous request left off is called pagination. For example, the ListObjects operation of Amazon S3 returns up to 1000 objects at a time, and you must send subsequent requests with the appropriate Marker in order to retrieve the next page of results.

Operations that have an AWSPager instance can transparently perform subsequent requests, correctly setting Markers and other request facets to iterate through the entire result set of a truncated API operation. Operations which support this have an additional note in the documentation.

Many operations have the ability to filter results on the server side. See the individual operation parameters for details.

DescribeRDSDBInstances

DeleteStack

UpdateStack

CreateLayer

SetLoadBasedAutoScaling

DeregisterRDSDBInstance

UnassignVolume

CreateInstance

DescribeLayers

RegisterElasticIP

DescribeAgentVersions

CreateDeployment

AssignInstance

DescribeStacks

DeleteInstance

UpdateInstance

DeregisterVolume

RebootInstance

DeleteApp

UpdateApp

UpdateRDSDBInstance

DescribeTimeBasedAutoScaling

StopStack

DescribeVolumes

DisassociateElasticIP

RegisterEcsCluster

StopInstance

RegisterVolume

SetTimeBasedAutoScaling

DescribeUserProfiles

AttachElasticLoadBalancer

DeregisterElasticIP

DeregisterEcsCluster

DescribeApps

UpdateMyUserProfile

DescribeStackSummary

DescribeInstances

DescribeDeployments

DescribeElasticIPs

GrantAccess

DeleteLayer

UpdateLayer

CreateStack

UpdateElasticIP

CreateApp

GetHostnameSuggestion

CloneStack

DescribePermissions

DetachElasticLoadBalancer

RegisterInstance

AssociateElasticIP

DescribeLoadBasedAutoScaling

DescribeStackProvisioningParameters

UnassignInstance

DescribeMyUserProfile

DeleteUserProfile

UpdateUserProfile

DescribeServiceErrors

RegisterRDSDBInstance

StartStack

CreateUserProfile

DescribeCommands

AssignVolume

DescribeElasticLoadBalancers

SetPermission

DeregisterInstance

DescribeEcsClusters

DescribeRAIdArrays

UpdateVolume

StartInstance

Types

AppAttributesKeys

AppType

Architecture

AutoScalingType

DeploymentCommandName

LayerAttributesKeys

LayerType

RootDeviceType

SourceType

StackAttributesKeys

VirtualizationType

VolumeType

AgentVersion

agentVersion :: AgentVersion Source

Creates a value of AgentVersion with the minimum fields required to make a request.

Use one of the following lenses to modify other fields as desired:

avVersion :: Lens' AgentVersion (Maybe Text) Source

The agent version.

App

data App Source

A description of the app.

See: app smart constructor.

app :: App Source

Creates a value of App with the minimum fields required to make a request.

Use one of the following lenses to modify other fields as desired:

appSSLConfiguration :: Lens' App (Maybe SSLConfiguration) Source

An SslConfiguration object with the SSL configuration.

appEnvironment :: Lens' App [EnvironmentVariable] Source

An array of EnvironmentVariable objects that specify environment variables to be associated with the app. After you deploy the app, these variables are defined on the associated app server instances. For more information, see Environment Variables.

There is no specific limit on the number of environment variables. However, the size of the associated data structure - which includes the variables' names, values, and protected flag values - cannot exceed 10 KB (10240 Bytes). This limit should accommodate most if not all use cases, but if you do exceed it, you will cause an exception (API) with an "Environment: is too large (maximum is 10KB)" message.

appEnableSSL :: Lens' App (Maybe Bool) Source

Whether to enable SSL for the app.

appCreatedAt :: Lens' App (Maybe Text) Source

When the app was created.

appShortname :: Lens' App (Maybe Text) Source

The app's short name.

appDataSources :: Lens' App [DataSource] Source

The app's data sources.

appAppSource :: Lens' App (Maybe Source) Source

A Source object that describes the app repository.

appAppId :: Lens' App (Maybe Text) Source

The app ID.

appName :: Lens' App (Maybe Text) Source

The app name.

appType :: Lens' App (Maybe AppType) Source

The app type.

appStackId :: Lens' App (Maybe Text) Source

The app stack ID.

appDomains :: Lens' App [Text] Source

The app vhost settings with multiple domains separated by commas. For example: '\'www.example.com, example.com''

appDescription :: Lens' App (Maybe Text) Source

A description of the app.

AutoScalingThresholds

data AutoScalingThresholds Source

Describes a load-based auto scaling upscaling or downscaling threshold configuration, which specifies when AWS OpsWorks starts or stops load-based instances.

See: autoScalingThresholds smart constructor.

autoScalingThresholds :: AutoScalingThresholds Source

Creates a value of AutoScalingThresholds with the minimum fields required to make a request.

Use one of the following lenses to modify other fields as desired:

astInstanceCount :: Lens' AutoScalingThresholds (Maybe Int) Source

The number of instances to add or remove when the load exceeds a threshold.

astIgnoreMetricsTime :: Lens' AutoScalingThresholds (Maybe Natural) Source

The amount of time (in minutes) after a scaling event occurs that AWS OpsWorks should ignore metrics and suppress additional scaling events. For example, AWS OpsWorks adds new instances following an upscaling event but the instances won't start reducing the load until they have been booted and configured. There is no point in raising additional scaling events during that operation, which typically takes several minutes. IgnoreMetricsTime allows you to direct AWS OpsWorks to suppress scaling events long enough to get the new instances online.

astLoadThreshold :: Lens' AutoScalingThresholds (Maybe Double) Source

The load threshold. For more information about how load is computed, see Load (computing).

astThresholdsWaitTime :: Lens' AutoScalingThresholds (Maybe Natural) Source

The amount of time, in minutes, that the load must exceed a threshold before more instances are added or removed.

astAlarms :: Lens' AutoScalingThresholds [Text] Source

Custom Cloudwatch auto scaling alarms, to be used as thresholds. This parameter takes a list of up to five alarm names, which are case sensitive and must be in the same region as the stack.

To use custom alarms, you must update your service role to allow 'cloudwatch:DescribeAlarms'. You can either have AWS OpsWorks update the role for you when you first use this feature or you can edit the role manually. For more information, see Allowing AWS OpsWorks to Act on Your Behalf.

astMemoryThreshold :: Lens' AutoScalingThresholds (Maybe Double) Source

The memory utilization threshold, as a percent of the available memory.

astCPUThreshold :: Lens' AutoScalingThresholds (Maybe Double) Source

The CPU utilization threshold, as a percent of the available CPU.

BlockDeviceMapping

blockDeviceMapping :: BlockDeviceMapping Source

Creates a value of BlockDeviceMapping with the minimum fields required to make a request.

Use one of the following lenses to modify other fields as desired:

bdmVirtualName :: Lens' BlockDeviceMapping (Maybe Text) Source

The virtual device name. For more information, see BlockDeviceMapping.

bdmNoDevice :: Lens' BlockDeviceMapping (Maybe Text) Source

Suppresses the specified device included in the AMI's block device mapping.

bdmEBS :: Lens' BlockDeviceMapping (Maybe EBSBlockDevice) Source

An EBSBlockDevice that defines how to configure an Amazon EBS volume when the instance is launched.

bdmDeviceName :: Lens' BlockDeviceMapping (Maybe Text) Source

The device name that is exposed to the instance, such as '\/dev\/sdh'. For the root device, you can use the explicit device name or you can set this parameter to ROOT_DEVICE and AWS OpsWorks will provide the correct device name.

ChefConfiguration

chefConfiguration :: ChefConfiguration Source

Creates a value of ChefConfiguration with the minimum fields required to make a request.

Use one of the following lenses to modify other fields as desired:

ccManageBerkshelf :: Lens' ChefConfiguration (Maybe Bool) Source

Whether to enable Berkshelf.

Command

command :: Command Source

Creates a value of Command with the minimum fields required to make a request.

Use one of the following lenses to modify other fields as desired:

cDeploymentId :: Lens' Command (Maybe Text) Source

The command deployment ID.

cInstanceId :: Lens' Command (Maybe Text) Source

The ID of the instance where the command was executed.

cStatus :: Lens' Command (Maybe Text) Source

The command status:

  • failed
  • successful
  • skipped
  • pending

cLogURL :: Lens' Command (Maybe Text) Source

The URL of the command log.

cCreatedAt :: Lens' Command (Maybe Text) Source

Date and time when the command was run.

cCommandId :: Lens' Command (Maybe Text) Source

The command ID.

cExitCode :: Lens' Command (Maybe Int) Source

The command exit code.

cType :: Lens' Command (Maybe Text) Source

The command type:

  • deploy
  • rollback
  • start
  • stop
  • restart
  • undeploy
  • update_dependencies
  • install_dependencies
  • update_custom_cookbooks
  • execute_recipes

cCompletedAt :: Lens' Command (Maybe Text) Source

Date when the command completed.

cAcknowledgedAt :: Lens' Command (Maybe Text) Source

Date and time when the command was acknowledged.

DataSource

dataSource :: DataSource Source

Creates a value of DataSource with the minimum fields required to make a request.

Use one of the following lenses to modify other fields as desired:

dsARN :: Lens' DataSource (Maybe Text) Source

The data source's ARN.

dsType :: Lens' DataSource (Maybe Text) Source

The data source's type, AutoSelectOpsworksMysqlInstance, OpsworksMysqlInstance, or RdsDbInstance.

Deployment

deployment :: Deployment Source

Creates a value of Deployment with the minimum fields required to make a request.

Use one of the following lenses to modify other fields as desired:

dStatus :: Lens' Deployment (Maybe Text) Source

The deployment status:

  • running
  • successful
  • failed

dCreatedAt :: Lens' Deployment (Maybe Text) Source

Date when the deployment was created.

dCustomJSON :: Lens' Deployment (Maybe Text) Source

A string that contains user-defined custom JSON. It can be used to override the corresponding default stack configuration attribute values for stack or to pass data to recipes. The string should be in the following format and must escape characters such as '"':

'"{\"key1\": \"value1\", \"key2\": \"value2\",...}"'

For more information on custom JSON, see Use Custom JSON to Modify the Stack Configuration Attributes.

dIAMUserARN :: Lens' Deployment (Maybe Text) Source

The user's IAM ARN.

dInstanceIds :: Lens' Deployment [Text] Source

The IDs of the target instances.

dCompletedAt :: Lens' Deployment (Maybe Text) Source

Date when the deployment completed.

dComment :: Lens' Deployment (Maybe Text) Source

A user-defined comment.

dDuration :: Lens' Deployment (Maybe Int) Source

The deployment duration.

DeploymentCommand

deploymentCommand Source

Creates a value of DeploymentCommand with the minimum fields required to make a request.

Use one of the following lenses to modify other fields as desired:

dcArgs :: Lens' DeploymentCommand (HashMap Text [Text]) Source

The arguments of those commands that take arguments. It should be set to a JSON object with the following format:

'{"arg_name1" : ["value1", "value2", ...], "arg_name2" : ["value1", "value2", ...], ...}'

The update_dependencies command takes two arguments:

  • upgrade_os_to - Specifies the desired Amazon Linux version for instances whose OS you want to upgrade, such as 'Amazon Linux 2014.09'. You must also set the allow_reboot argument to true.
  • allow_reboot - Specifies whether to allow AWS OpsWorks to reboot the instances if necessary, after installing the updates. This argument can be set to either true or false. The default value is false.

For example, to upgrade an instance to Amazon Linux 2014.09, set Args to the following.

' { "upgrade_os_to":["Amazon Linux 2014.09"], "allow_reboot":["true"] } '

dcName :: Lens' DeploymentCommand DeploymentCommandName Source

Specifies the operation. You can specify only one command.

For stacks, the following commands are available:

  • execute_recipes: Execute one or more recipes. To specify the recipes, set an Args parameter named recipes to the list of recipes to be executed. For example, to execute 'phpapp::appsetup', set Args to '{"recipes":["phpapp::appsetup"]}'.
  • install_dependencies: Install the stack's dependencies.
  • update_custom_cookbooks: Update the stack's custom cookbooks.
  • update_dependencies: Update the stack's dependencies.

The update_dependencies and install_dependencies commands are supported only for Linux instances. You can run the commands successfully on Windows instances, but they do nothing.

For apps, the following commands are available:

  • deploy: Deploy an app. Ruby on Rails apps have an optional Args parameter named migrate. Set Args to {"migrate":["true"]} to migrate the database. The default setting is {"migrate":["false"]}.
  • rollback Roll the app back to the previous version. When you update an app, AWS OpsWorks stores the previous version, up to a maximum of five versions. You can use this command to roll an app back as many as four versions.
  • start: Start the app's web or application server.
  • stop: Stop the app's web or application server.
  • restart: Restart the app's web or application server.
  • undeploy: Undeploy the app.

EBSBlockDevice

data EBSBlockDevice Source

Describes an Amazon EBS volume. This data type maps directly to the Amazon EC2 EbsBlockDevice data type.

See: ebsBlockDevice smart constructor.

ebsBlockDevice :: EBSBlockDevice Source

Creates a value of EBSBlockDevice with the minimum fields required to make a request.

Use one of the following lenses to modify other fields as desired:

ebdDeleteOnTermination :: Lens' EBSBlockDevice (Maybe Bool) Source

Whether the volume is deleted on instance termination.

ebdVolumeSize :: Lens' EBSBlockDevice (Maybe Int) Source

The volume size, in GiB. For more information, see EbsBlockDevice.

ebdIOPS :: Lens' EBSBlockDevice (Maybe Int) Source

The number of I/O operations per second (IOPS) that the volume supports. For more information, see EbsBlockDevice.

ebdVolumeType :: Lens' EBSBlockDevice (Maybe VolumeType) Source

The volume type. gp2 for General Purpose (SSD) volumes, io1 for Provisioned IOPS (SSD) volumes, and standard for Magnetic volumes.

EcsCluster

data EcsCluster Source

Describes a registered Amazon ECS cluster.

See: ecsCluster smart constructor.

ecsCluster :: EcsCluster Source

Creates a value of EcsCluster with the minimum fields required to make a request.

Use one of the following lenses to modify other fields as desired:

ecRegisteredAt :: Lens' EcsCluster (Maybe Text) Source

The time and date that the cluster was registered with the stack.

ElasticIP

elasticIP :: ElasticIP Source

Creates a value of ElasticIP with the minimum fields required to make a request.

Use one of the following lenses to modify other fields as desired:

eiInstanceId :: Lens' ElasticIP (Maybe Text) Source

The ID of the instance that the address is attached to.

eiIP :: Lens' ElasticIP (Maybe Text) Source

The IP address.

eiRegion :: Lens' ElasticIP (Maybe Text) Source

The AWS region. For more information, see Regions and Endpoints.

ElasticLoadBalancer

elasticLoadBalancer :: ElasticLoadBalancer Source

Creates a value of ElasticLoadBalancer with the minimum fields required to make a request.

Use one of the following lenses to modify other fields as desired:

elbSubnetIds :: Lens' ElasticLoadBalancer [Text] Source

A list of subnet IDs, if the stack is running in a VPC.

elbAvailabilityZones :: Lens' ElasticLoadBalancer [Text] Source

A list of Availability Zones.

elbRegion :: Lens' ElasticLoadBalancer (Maybe Text) Source

The instance's AWS region.

elbElasticLoadBalancerName :: Lens' ElasticLoadBalancer (Maybe Text) Source

The Elastic Load Balancing instance's name.

elbStackId :: Lens' ElasticLoadBalancer (Maybe Text) Source

The ID of the stack that the instance is associated with.

elbEC2InstanceIds :: Lens' ElasticLoadBalancer [Text] Source

A list of the EC2 instances that the Elastic Load Balancing instance is managing traffic for.

elbLayerId :: Lens' ElasticLoadBalancer (Maybe Text) Source

The ID of the layer that the instance is attached to.

elbDNSName :: Lens' ElasticLoadBalancer (Maybe Text) Source

The instance's public DNS name.

EnvironmentVariable

environmentVariable Source

Creates a value of EnvironmentVariable with the minimum fields required to make a request.

Use one of the following lenses to modify other fields as desired:

evSecure :: Lens' EnvironmentVariable (Maybe Bool) Source

(Optional) Whether the variable's value will be returned by the DescribeApps action. To conceal an environment variable's value, set Secure to true. DescribeApps then returns '*****FILTERED*****' instead of the actual value. The default value for Secure is false.

evKey :: Lens' EnvironmentVariable Text Source

(Required) The environment variable's name, which can consist of up to 64 characters and must be specified. The name can contain upper- and lowercase letters, numbers, and underscores (_), but it must start with a letter or underscore.

evValue :: Lens' EnvironmentVariable Text Source

(Optional) The environment variable's value, which can be left empty. If you specify a value, it can contain up to 256 characters, which must all be printable.

Instance

iPrivateDNS :: Lens' Instance (Maybe Text) Source

The The instance's private DNS name.

iReportedAgentVersion :: Lens' Instance (Maybe Text) Source

The instance's reported AWS OpsWorks agent version.

iInstanceId :: Lens' Instance (Maybe Text) Source

The instance ID.

iStatus :: Lens' Instance (Maybe Text) Source

The instance status:

  • booting
  • connection_lost
  • online
  • pending
  • rebooting
  • requested
  • running_setup
  • setup_failed
  • shutting_down
  • start_failed
  • stopped
  • stopping
  • terminated
  • terminating

iPrivateIP :: Lens' Instance (Maybe Text) Source

The instance's private IP address.

iInstallUpdatesOnBoot :: Lens' Instance (Maybe Bool) Source

Whether to install operating system and package updates when the instance boots. The default value is true. If this value is set 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.

iVirtualizationType :: Lens' Instance (Maybe VirtualizationType) Source

The instance's virtualization type: paravirtual or hvm.

iInstanceProfileARN :: Lens' Instance (Maybe Text) Source

The ARN of the instance's IAM profile. For more information about IAM ARNs, see Using Identifiers.

iPlatform :: Lens' Instance (Maybe Text) Source

The instance's platform.

iHostname :: Lens' Instance (Maybe Text) Source

The instance host name.

iSSHHostRsaKeyFingerprint :: Lens' Instance (Maybe Text) Source

The SSH key's RSA fingerprint.

iSecurityGroupIds :: Lens' Instance [Text] Source

An array containing the instance security group IDs.

iEcsClusterARN :: Lens' Instance (Maybe Text) Source

For container instances, the Amazon ECS cluster's ARN.

iCreatedAt :: Lens' Instance (Maybe Text) Source

The time that the instance was created.

iEC2InstanceId :: Lens' Instance (Maybe Text) Source

The ID of the associated Amazon EC2 instance.

iSSHKeyName :: Lens' Instance (Maybe Text) Source

The instance's Amazon EC2 key-pair name.

iAgentVersion :: Lens' Instance (Maybe Text) Source

The agent version. This parameter is set to INHERIT if the instance inherits the default stack setting or to a a version number for a fixed agent version.

iRootDeviceVolumeId :: Lens' Instance (Maybe Text) Source

The root device volume ID.

iSubnetId :: Lens' Instance (Maybe Text) Source

The instance's subnet ID; applicable only if the stack is running in a VPC.

iInfrastructureClass :: Lens' Instance (Maybe Text) Source

For registered instances, the infrastructure class: ec2 or 'on-premises'.

iSSHHostDsaKeyFingerprint :: Lens' Instance (Maybe Text) Source

The SSH key's Deep Security Agent (DSA) fingerprint.

iInstanceType :: Lens' Instance (Maybe Text) Source

The instance type, such as 't2.micro'.

iEBSOptimized :: Lens' Instance (Maybe Bool) Source

Whether this is an Amazon EBS-optimized instance.

iOS :: Lens' Instance (Maybe Text) Source

The instance's operating system.

iAvailabilityZone :: Lens' Instance (Maybe Text) Source

The instance Availability Zone. For more information, see Regions and Endpoints.

iLastServiceErrorId :: Lens' Instance (Maybe Text) Source

The ID of the last service error. For more information, call DescribeServiceErrors.

iAutoScalingType :: Lens' Instance (Maybe AutoScalingType) Source

For load-based or time-based instances, the type.

iLayerIds :: Lens' Instance [Text] Source

An array containing the instance layer IDs.

iArchitecture :: Lens' Instance (Maybe Architecture) Source

The instance architecture: "i386" or "x86_64".

iPublicDNS :: Lens' Instance (Maybe Text) Source

The instance public DNS name.

iAMIId :: Lens' Instance (Maybe Text) Source

A custom AMI ID to be used to create the instance. For more information, see Instances

iPublicIP :: Lens' Instance (Maybe Text) Source

The instance public IP address.

iReportedOS :: Lens' Instance (Maybe ReportedOS) Source

For registered instances, the reported operating system.

iRegisteredBy :: Lens' Instance (Maybe Text) Source

For registered instances, who performed the registration.

iRootDeviceType :: Lens' Instance (Maybe RootDeviceType) Source

The instance's root device type. For more information, see Storage for the Root Device.

iEcsContainerInstanceARN :: Lens' Instance (Maybe Text) Source

For container instances, the instance's ARN.

iBlockDeviceMappings :: Lens' Instance [BlockDeviceMapping] Source

An array of BlockDeviceMapping objects that specify the instance's block device mappings.

InstanceIdentity

data InstanceIdentity Source

Contains a description of an Amazon EC2 instance from the Amazon EC2 metadata service. For more information, see Instance Metadata and User Data.

See: instanceIdentity smart constructor.

instanceIdentity :: InstanceIdentity Source

Creates a value of InstanceIdentity with the minimum fields required to make a request.

Use one of the following lenses to modify other fields as desired:

iiSignature :: Lens' InstanceIdentity (Maybe Text) Source

A signature that can be used to verify the document's accuracy and authenticity.

iiDocument :: Lens' InstanceIdentity (Maybe Text) Source

A JSON document that contains the metadata.

InstancesCount

icTerminating :: Lens' InstancesCount (Maybe Int) Source

The number of instances with terminating status.

icPending :: Lens' InstancesCount (Maybe Int) Source

The number of instances with pending status.

icOnline :: Lens' InstancesCount (Maybe Int) Source

The number of instances with online status.

icUnassigning :: Lens' InstancesCount (Maybe Int) Source

The number of instances in the Unassigning state.

icDeregistering :: Lens' InstancesCount (Maybe Int) Source

The number of instances in the Deregistering state.

icRunningSetup :: Lens' InstancesCount (Maybe Int) Source

The number of instances with running_setup status.

icRequested :: Lens' InstancesCount (Maybe Int) Source

The number of instances with requested status.

icBooting :: Lens' InstancesCount (Maybe Int) Source

The number of instances with booting status.

icStopped :: Lens' InstancesCount (Maybe Int) Source

The number of instances with stopped status.

icRebooting :: Lens' InstancesCount (Maybe Int) Source

The number of instances with rebooting status.

icAssigning :: Lens' InstancesCount (Maybe Int) Source

The number of instances in the Assigning state.

icShuttingDown :: Lens' InstancesCount (Maybe Int) Source

The number of instances with shutting_down status.

icSetupFailed :: Lens' InstancesCount (Maybe Int) Source

The number of instances with setup_failed status.

icConnectionLost :: Lens' InstancesCount (Maybe Int) Source

The number of instances with connection_lost status.

icTerminated :: Lens' InstancesCount (Maybe Int) Source

The number of instances with terminated status.

icStopping :: Lens' InstancesCount (Maybe Int) Source

The number of instances with stopping status.

icRegistered :: Lens' InstancesCount (Maybe Int) Source

The number of instances in the Registered state.

icStartFailed :: Lens' InstancesCount (Maybe Int) Source

The number of instances with start_failed status.

icRegistering :: Lens' InstancesCount (Maybe Int) Source

The number of instances in the Registering state.

Layer

data Layer Source

Describes a layer.

See: layer smart constructor.

lCustomInstanceProfileARN :: Lens' Layer (Maybe Text) Source

The ARN of the default IAM profile to be used for the layer's EC2 instances. For more information about IAM ARNs, see Using Identifiers.

lCustomSecurityGroupIds :: Lens' Layer [Text] Source

An array containing the layer's custom security group IDs.

lInstallUpdatesOnBoot :: Lens' Layer (Maybe Bool) Source

Whether to install operating system and package updates when the instance boots. The default value is true. If this value is set to false, you must then update your instances manually by using CreateDeployment to run the update_dependencies stack command or 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.

lLifecycleEventConfiguration :: Lens' Layer (Maybe LifecycleEventConfiguration) Source

A LifeCycleEventConfiguration object that specifies the Shutdown event configuration.

lCreatedAt :: Lens' Layer (Maybe Text) Source

Date when the layer was created.

lShortname :: Lens' Layer (Maybe Text) Source

The layer short name.

lDefaultRecipes :: Lens' Layer (Maybe Recipes) Source

Undocumented member.

lCustomRecipes :: Lens' Layer (Maybe Recipes) Source

A LayerCustomRecipes object that specifies the layer's custom recipes.

lCustomJSON :: Lens' Layer (Maybe Text) Source

A JSON formatted string containing the layer's custom stack configuration and deployment attributes.

lVolumeConfigurations :: Lens' Layer [VolumeConfiguration] Source

A VolumeConfigurations object that describes the layer's Amazon EBS volumes.

lEnableAutoHealing :: Lens' Layer (Maybe Bool) Source

Whether auto healing is disabled for the layer.

lPackages :: Lens' Layer [Text] Source

An array of Package objects that describe the layer's packages.

lAttributes :: Lens' Layer (HashMap LayerAttributesKeys Text) Source

The layer attributes.

For the HaproxyStatsPassword, MysqlRootPassword, and GangliaPassword attributes, AWS OpsWorks returns '*****FILTERED*****' instead of the actual value

For an ECS Cluster layer, AWS OpsWorks the EcsClusterArn attribute is set to the cluster's ARN.

lName :: Lens' Layer (Maybe Text) Source

The layer name.

lAutoAssignPublicIPs :: Lens' Layer (Maybe Bool) Source

For stacks that are running in a VPC, whether to automatically assign a public IP address to the layer's instances. For more information, see How to Edit a Layer.

lType :: Lens' Layer (Maybe LayerType) Source

The layer type.

lUseEBSOptimizedInstances :: Lens' Layer (Maybe Bool) Source

Whether the layer uses Amazon EBS-optimized instances.

lStackId :: Lens' Layer (Maybe Text) Source

The layer stack ID.

lLayerId :: Lens' Layer (Maybe Text) Source

The layer ID.

lDefaultSecurityGroupNames :: Lens' Layer [Text] Source

An array containing the layer's security group names.

lAutoAssignElasticIPs :: Lens' Layer (Maybe Bool) Source

Whether to automatically assign an Elastic IP address to the layer's instances. For more information, see How to Edit a Layer.

LifecycleEventConfiguration

lifecycleEventConfiguration :: LifecycleEventConfiguration Source

Creates a value of LifecycleEventConfiguration with the minimum fields required to make a request.

Use one of the following lenses to modify other fields as desired:

LoadBasedAutoScalingConfiguration

loadBasedAutoScalingConfiguration :: LoadBasedAutoScalingConfiguration Source

Creates a value of LoadBasedAutoScalingConfiguration with the minimum fields required to make a request.

Use one of the following lenses to modify other fields as desired:

lbascUpScaling :: Lens' LoadBasedAutoScalingConfiguration (Maybe AutoScalingThresholds) Source

An AutoScalingThresholds object that describes the upscaling configuration, which defines how and when AWS OpsWorks increases the number of instances.

lbascEnable :: Lens' LoadBasedAutoScalingConfiguration (Maybe Bool) Source

Whether load-based auto scaling is enabled for the layer.

lbascDownScaling :: Lens' LoadBasedAutoScalingConfiguration (Maybe AutoScalingThresholds) Source

An AutoScalingThresholds object that describes the downscaling configuration, which defines how and when AWS OpsWorks reduces the number of instances.

Permission

permission :: Permission Source

Creates a value of Permission with the minimum fields required to make a request.

Use one of the following lenses to modify other fields as desired:

pIAMUserARN :: Lens' Permission (Maybe Text) Source

The Amazon Resource Name (ARN) for an AWS Identity and Access Management (IAM) role. For more information about IAM ARNs, see Using Identifiers.

pAllowSudo :: Lens' Permission (Maybe Bool) Source

Whether the user can use sudo.

pLevel :: Lens' Permission (Maybe Text) Source

The user's permission level, which must be the following:

  • deny
  • show
  • deploy
  • manage
  • iam_only

For more information on the permissions associated with these levels, see Managing User Permissions

pAllowSSH :: Lens' Permission (Maybe Bool) Source

Whether the user can use SSH.

RAIdArray

rAIdArray :: RAIdArray Source

Creates a value of RAIdArray with the minimum fields required to make a request.

Use one of the following lenses to modify other fields as desired:

raiaSize :: Lens' RAIdArray (Maybe Int) Source

The array's size.

raiaIOPS :: Lens' RAIdArray (Maybe Int) Source

For PIOPS volumes, the IOPS per disk.

raiaCreatedAt :: Lens' RAIdArray (Maybe Text) Source

When the RAID array was created.

raiaDevice :: Lens' RAIdArray (Maybe Text) Source

The array's Linux device. For example /dev/mdadm0.

raiaNumberOfDisks :: Lens' RAIdArray (Maybe Int) Source

The number of disks in the array.

raiaAvailabilityZone :: Lens' RAIdArray (Maybe Text) Source

The array's Availability Zone. For more information, see Regions and Endpoints.

raiaName :: Lens' RAIdArray (Maybe Text) Source

The array name.

raiaVolumeType :: Lens' RAIdArray (Maybe Text) Source

The volume type, standard or PIOPS.

raiaMountPoint :: Lens' RAIdArray (Maybe Text) Source

The array's mount point.

RDSDBInstance

rdsDBInstance :: RDSDBInstance Source

Creates a value of RDSDBInstance with the minimum fields required to make a request.

Use one of the following lenses to modify other fields as desired:

rdiDBUser :: Lens' RDSDBInstance (Maybe Text) Source

The master user name.

rdiMissingOnRDS :: Lens' RDSDBInstance (Maybe Bool) Source

Set to true if AWS OpsWorks was unable to discover the Amazon RDS instance. AWS OpsWorks attempts to discover the instance only once. If this value is set to true, you must deregister the instance and then register it again.

rdiEngine :: Lens' RDSDBInstance (Maybe Text) Source

The instance's database engine.

rdiAddress :: Lens' RDSDBInstance (Maybe Text) Source

The instance's address.

rdiRegion :: Lens' RDSDBInstance (Maybe Text) Source

The instance's AWS region.

rdiStackId :: Lens' RDSDBInstance (Maybe Text) Source

The ID of the stack that the instance is registered with.

rdiDBPassword :: Lens' RDSDBInstance (Maybe Text) Source

AWS OpsWorks returns '*****FILTERED*****' instead of the actual value.

Recipes

data Recipes Source

AWS OpsWorks supports five lifecycle events: setup, configuration, deploy, undeploy, and shutdown. For each layer, AWS OpsWorks runs a set of standard recipes for each event. In addition, you can provide custom recipes for any or all layers and events. AWS OpsWorks runs custom event recipes after the standard recipes. LayerCustomRecipes specifies the custom recipes for a particular layer to be run in response to each of the five events.

To specify a recipe, use the cookbook's directory name in the repository followed by two colons and the recipe name, which is the recipe's file name without the .rb extension. For example: phpapp2::dbsetup specifies the dbsetup.rb recipe in the repository's phpapp2 folder.

See: recipes smart constructor.

recipes :: Recipes Source

Creates a value of Recipes with the minimum fields required to make a request.

Use one of the following lenses to modify other fields as desired:

rSetup :: Lens' Recipes [Text] Source

An array of custom recipe names to be run following a setup event.

rShutdown :: Lens' Recipes [Text] Source

An array of custom recipe names to be run following a shutdown event.

rUndeploy :: Lens' Recipes [Text] Source

An array of custom recipe names to be run following a undeploy event.

rConfigure :: Lens' Recipes [Text] Source

An array of custom recipe names to be run following a configure event.

rDeploy :: Lens' Recipes [Text] Source

An array of custom recipe names to be run following a deploy event.

ReportedOS

data ReportedOS Source

A registered instance's reported operating system.

See: reportedOS smart constructor.

reportedOS :: ReportedOS Source

Creates a value of ReportedOS with the minimum fields required to make a request.

Use one of the following lenses to modify other fields as desired:

roFamily :: Lens' ReportedOS (Maybe Text) Source

The operating system family.

roName :: Lens' ReportedOS (Maybe Text) Source

The operating system name.

roVersion :: Lens' ReportedOS (Maybe Text) Source

The operating system version.

SSLConfiguration

sslConfiguration Source

Creates a value of SSLConfiguration with the minimum fields required to make a request.

Use one of the following lenses to modify other fields as desired:

scChain :: Lens' SSLConfiguration (Maybe Text) Source

Optional. Can be used to specify an intermediate certificate authority key or client authentication.

scCertificate :: Lens' SSLConfiguration Text Source

The contents of the certificate's domain.crt file.

scPrivateKey :: Lens' SSLConfiguration Text Source

The private key; the contents of the certificate's domain.kex file.

SelfUserProfile

selfUserProfile :: SelfUserProfile Source

Creates a value of SelfUserProfile with the minimum fields required to make a request.

Use one of the following lenses to modify other fields as desired:

supSSHPublicKey :: Lens' SelfUserProfile (Maybe Text) Source

The user's SSH public key.

supSSHUsername :: Lens' SelfUserProfile (Maybe Text) Source

The user's SSH user name.

ServiceError'

serviceError' :: ServiceError' Source

Creates a value of ServiceError' with the minimum fields required to make a request.

Use one of the following lenses to modify other fields as desired:

seCreatedAt :: Lens' ServiceError' (Maybe Text) Source

When the error occurred.

seMessage :: Lens' ServiceError' (Maybe Text) Source

A message that describes the error.

ShutdownEventConfiguration

shutdownEventConfiguration :: ShutdownEventConfiguration Source

Creates a value of ShutdownEventConfiguration with the minimum fields required to make a request.

Use one of the following lenses to modify other fields as desired:

secExecutionTimeout :: Lens' ShutdownEventConfiguration (Maybe Int) Source

The time, in seconds, that AWS OpsWorks will wait after triggering a Shutdown event before shutting down an instance.

secDelayUntilElbConnectionsDrained :: Lens' ShutdownEventConfiguration (Maybe Bool) Source

Whether to enable Elastic Load Balancing connection draining. For more information, see Connection Draining

Source

data Source Source

Contains the information required to retrieve an app or cookbook from a repository. For more information, see Creating Apps or Custom Recipes and Cookbooks.

See: source smart constructor.

source :: Source Source

Creates a value of Source with the minimum fields required to make a request.

Use one of the following lenses to modify other fields as desired:

sURL :: Lens' Source (Maybe Text) Source

The source URL.

sUsername :: Lens' Source (Maybe Text) Source

This parameter depends on the repository type.

  • For Amazon S3 bundles, set Username to the appropriate IAM access key ID.
  • For HTTP bundles, Git repositories, and Subversion repositories, set Username to the user name.

sSSHKey :: Lens' Source (Maybe Text) Source

In requests, the repository's SSH key.

In responses, AWS OpsWorks returns '*****FILTERED*****' instead of the actual value.

sPassword :: Lens' Source (Maybe Text) Source

When included in a request, the parameter depends on the repository type.

  • For Amazon S3 bundles, set Password to the appropriate IAM secret access key.
  • For HTTP bundles and Subversion repositories, set Password to the password.

For more information on how to safely handle IAM credentials, see http://docs.aws.amazon.com/general/latest/gr/aws-access-keys-best-practices.html.

In responses, AWS OpsWorks returns '*****FILTERED*****' instead of the actual value.

sType :: Lens' Source (Maybe SourceType) Source

The repository type.

sRevision :: Lens' Source (Maybe Text) Source

The application's version. AWS OpsWorks enables you to easily deploy new versions of an application. One of the simplest approaches is to have branches or revisions in your repository that represent different versions that can potentially be deployed.

Stack

data Stack Source

Describes a stack.

See: stack smart constructor.

sDefaultInstanceProfileARN :: Lens' Stack (Maybe Text) Source

The ARN of an IAM profile that is the default profile for all of the stack's EC2 instances. For more information about IAM ARNs, see Using Identifiers.

sServiceRoleARN :: Lens' Stack (Maybe Text) Source

The stack AWS Identity and Access Management (IAM) role.

sDefaultRootDeviceType :: Lens' Stack (Maybe RootDeviceType) Source

The default root device type. This value is used by default for all instances in the stack, but you can override it when you create an instance. For more information, see Storage for the Root Device.

sARN :: Lens' Stack (Maybe Text) Source

The stack's ARN.

sCreatedAt :: Lens' Stack (Maybe Text) Source

The date when the stack was created.

sVPCId :: Lens' Stack (Maybe Text) Source

The VPC ID; applicable only if the stack is running in a VPC.

sChefConfiguration :: Lens' Stack (Maybe ChefConfiguration) Source

A ChefConfiguration object that specifies whether to enable Berkshelf and the Berkshelf version. For more information, see Create a New Stack.

sAgentVersion :: Lens' Stack (Maybe Text) Source

The agent version. This parameter is set to LATEST for auto-update. or a version number for a fixed agent version.

sDefaultSSHKeyName :: Lens' Stack (Maybe Text) Source

A default Amazon EC2 key pair for the stack's instances. You can override this value when you create or update an instance.

sCustomJSON :: Lens' Stack (Maybe Text) Source

A JSON object that contains user-defined attributes to be added to the stack configuration and deployment attributes. You can use custom JSON to override the corresponding default stack configuration attribute values or to pass data to recipes. The string should be in the following format and must escape characters such as '"':

'"{\"key1\": \"value1\", \"key2\": \"value2\",...}"'

For more information on custom JSON, see Use Custom JSON to Modify the Stack Configuration Attributes.

sDefaultAvailabilityZone :: Lens' Stack (Maybe Text) Source

The stack's default Availability Zone. For more information, see Regions and Endpoints.

sName :: Lens' Stack (Maybe Text) Source

The stack name.

sDefaultOS :: Lens' Stack (Maybe Text) Source

The stack's default operating system.

sUseOpsworksSecurityGroups :: Lens' Stack (Maybe Bool) Source

Whether the stack automatically associates the AWS OpsWorks built-in security groups with the stack's layers.

sUseCustomCookbooks :: Lens' Stack (Maybe Bool) Source

Whether the stack uses custom cookbooks.

sDefaultSubnetId :: Lens' Stack (Maybe Text) Source

The default subnet ID; applicable only if the stack is running in a VPC.

sRegion :: Lens' Stack (Maybe Text) Source

The stack AWS region, such as "us-east-1". For more information about AWS regions, see Regions and Endpoints.

sStackId :: Lens' Stack (Maybe Text) Source

The stack ID.

sHostnameTheme :: Lens' Stack (Maybe Text) Source

The stack host name theme, with spaces replaced by underscores.

StackConfigurationManager

stackConfigurationManager :: StackConfigurationManager Source

Creates a value of StackConfigurationManager with the minimum fields required to make a request.

Use one of the following lenses to modify other fields as desired:

scmName :: Lens' StackConfigurationManager (Maybe Text) Source

The name. This parameter must be set to "Chef".

scmVersion :: Lens' StackConfigurationManager (Maybe Text) Source

The Chef version. This parameter must be set to 0.9, 11.4, or 11.10. The default value is 11.4.

StackSummary

data StackSummary Source

Summarizes the number of layers, instances, and apps in a stack.

See: stackSummary smart constructor.

stackSummary :: StackSummary Source

Creates a value of StackSummary with the minimum fields required to make a request.

Use one of the following lenses to modify other fields as desired:

ssARN :: Lens' StackSummary (Maybe Text) Source

The stack's ARN.

ssAppsCount :: Lens' StackSummary (Maybe Int) Source

The number of apps.

ssLayersCount :: Lens' StackSummary (Maybe Int) Source

The number of layers.

ssInstancesCount :: Lens' StackSummary (Maybe InstancesCount) Source

An InstancesCount object with the number of instances in each status.

TemporaryCredential

data TemporaryCredential Source

Contains the data needed by RDP clients such as the Microsoft Remote Desktop Connection to log in to the instance.

See: temporaryCredential smart constructor.

temporaryCredential :: TemporaryCredential Source

Creates a value of TemporaryCredential with the minimum fields required to make a request.

Use one of the following lenses to modify other fields as desired:

tcInstanceId :: Lens' TemporaryCredential (Maybe Text) Source

The instance's AWS OpsWorks ID.

tcValidForInMinutes :: Lens' TemporaryCredential (Maybe Int) Source

The length of time (in minutes) that the grant is valid. When the grant expires, at the end of this period, the user will no longer be able to use the credentials to log in. If they are logged in at the time, they will be automatically logged out.

TimeBasedAutoScalingConfiguration

timeBasedAutoScalingConfiguration :: TimeBasedAutoScalingConfiguration Source

Creates a value of TimeBasedAutoScalingConfiguration with the minimum fields required to make a request.

Use one of the following lenses to modify other fields as desired:

UserProfile

userProfile :: UserProfile Source

Creates a value of UserProfile with the minimum fields required to make a request.

Use one of the following lenses to modify other fields as desired:

upAllowSelfManagement :: Lens' UserProfile (Maybe Bool) Source

Whether users can specify their own SSH public key through the My Settings page. For more information, see Managing User Permissions.

upSSHPublicKey :: Lens' UserProfile (Maybe Text) Source

The user's SSH public key.

upSSHUsername :: Lens' UserProfile (Maybe Text) Source

The user's SSH user name.

upIAMUserARN :: Lens' UserProfile (Maybe Text) Source

The user's IAM ARN.

upName :: Lens' UserProfile (Maybe Text) Source

The user's name.

Volume

data Volume Source

Describes an instance's Amazon EBS volume.

See: volume smart constructor.

volume :: Volume Source

Creates a value of Volume with the minimum fields required to make a request.

Use one of the following lenses to modify other fields as desired:

vInstanceId :: Lens' Volume (Maybe Text) Source

The instance ID.

vStatus :: Lens' Volume (Maybe Text) Source

The value returned by DescribeVolumes.

vSize :: Lens' Volume (Maybe Int) Source

The volume size.

vIOPS :: Lens' Volume (Maybe Int) Source

For PIOPS volumes, the IOPS per disk.

vDevice :: Lens' Volume (Maybe Text) Source

The device name.

vAvailabilityZone :: Lens' Volume (Maybe Text) Source

The volume Availability Zone. For more information, see Regions and Endpoints.

vName :: Lens' Volume (Maybe Text) Source

The volume name.

vRAIdArrayId :: Lens' Volume (Maybe Text) Source

The RAID array ID.

vVolumeId :: Lens' Volume (Maybe Text) Source

The volume ID.

vRegion :: Lens' Volume (Maybe Text) Source

The AWS region. For more information about AWS regions, see Regions and Endpoints.

vVolumeType :: Lens' Volume (Maybe Text) Source

The volume type, standard or PIOPS.

vEC2VolumeId :: Lens' Volume (Maybe Text) Source

The Amazon EC2 volume ID.

vMountPoint :: Lens' Volume (Maybe Text) Source

The volume mount point. For example "/dev/sdh".

VolumeConfiguration

volumeConfiguration Source

Creates a value of VolumeConfiguration with the minimum fields required to make a request.

Use one of the following lenses to modify other fields as desired:

vcIOPS :: Lens' VolumeConfiguration (Maybe Int) Source

For PIOPS volumes, the IOPS per disk.

vcVolumeType :: Lens' VolumeConfiguration (Maybe Text) Source

The volume type:

  • standard - Magnetic
  • io1 - Provisioned IOPS (SSD)
  • gp2 - General Purpose (SSD)

vcMountPoint :: Lens' VolumeConfiguration Text Source

The volume mount point. For example "/dev/sdh".

vcNumberOfDisks :: Lens' VolumeConfiguration Int Source

The number of disks in the volume.

WeeklyAutoScalingSchedule

data WeeklyAutoScalingSchedule Source

Describes a time-based instance's auto scaling schedule. The schedule consists of a set of key-value pairs.

  • The key is the time period (a UTC hour) and must be an integer from 0 - 23.
  • The value indicates whether the instance should be online or offline for the specified period, and must be set to "on" or "off"

The default setting for all time periods is off, so you use the following parameters primarily to specify the online periods. You don't have to explicitly specify offline periods unless you want to change an online period to an offline period.

The following example specifies that the instance should be online for four hours, from UTC 1200 - 1600. It will be off for the remainder of the day.

' { "12":"on", "13":"on", "14":"on", "15":"on" } '

See: weeklyAutoScalingSchedule smart constructor.

weeklyAutoScalingSchedule :: WeeklyAutoScalingSchedule Source

Creates a value of WeeklyAutoScalingSchedule with the minimum fields required to make a request.

Use one of the following lenses to modify other fields as desired: